* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
a,#site-title,.menu-link,.service-link { transition: color 400ms ease; }
a:hover,#site-title:hover,.menu-link:hover,.service-link:hover { color: #888; cursor: pointer; }
.menu-link.is-active,
.service-link.is-active { color: #888; }
body { margin:0; padding:0; min-height:100vh; min-height:100svh; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-size:2vmin; background:#eee; color:#000; }
h1 { margin:0; font-size:10vmin; font-weight:400; letter-spacing:-0.05em; line-height:0.9; }
h2 { margin:0; font-size:5vmin; font-weight:400; letter-spacing:-0.05em; line-height:0.95; }
p { margin-top:0; margin-bottom:0.5em; line-height:1.5em; font-weight:300; }
p:last-child { margin-bottom:-0.4em; }
#menu-bar { position:absolute; top:2.5em; left:2.5em; width:calc(100% - 5em); display:flex; justify-content:space-between; align-items:baseline; z-index:1000; }
#menu-links { display:flex; align-items:center; gap:1em; font-size:3vmin; }
#site-title { cursor:pointer; }
#site-content { position:fixed; left:0; width:100vw; height:100vh; height:100svh; overflow:auto; padding:2.5em; }
.view { width:100%; min-height:100%; opacity:0; }
#home-view { display:block; position:relative; }
#home-image { position:fixed; top:calc(2.7vmin + 50%); left:50%; transform:translate(-50%,-50%); width:60vw; height:70vh; background-image:url('/images/new/09.jpg'); background-size:contain; background-position:center center; background-repeat:no-repeat; }
#home-tagline { position:absolute; bottom:0; left:0; }
#services-view { padding:2.5em; }
#services-menu { display:flex; flex-direction:column; gap:1em; position:absolute; bottom:2.5em; left:2.5em; }
#services-menu .service-link { width:fit-content; }
.menu-link,.service-link { cursor:pointer; }
.service-container,.about-container { display:flex; flex-direction:row; gap:2.5em; min-height:calc(100vh - 5em); min-height:calc(100svh - 5em); justify-content:flex-end; flex-wrap:wrap; padding-top:calc(8vmin + 2em); height:calc(100vh - 10vmin - 5em); height:calc(100svh - 10vmin - 5em); }
.service-container { align-items:flex-end; }
.about-container { align-items:flex-start; }
.service-image,.about-image { width:50vw; height:100%; background-size:cover; background-position:center center; background-repeat:no-repeat; position:fixed; bottom:0; left:0; }
.service-text,.about-text { width:calc(50vw - 5.2em); }
.about-text { padding-bottom:2.5em; }
.service-text h2,.about-text h2 { margin-bottom:2vmin; }
#contact-view { display:flex; align-items:flex-end; }
#contact-text { max-width:800px; display:flex; flex-direction:column; gap:1em; }
.seo-copy { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
@media (orientation: portrait) { p { font-size:4vmin; } #menu-links { font-size:4vmin; } h2 { font-size:6vmin; } #home-image { width:90vw; height:90vh; } .service-container,.about-container { flex-direction:column; flex-wrap:nowrap; justify-content:space-between; align-items:stretch; min-height:calc(100vh - 5em); min-height:calc(100svh - 5em); height:auto; } .service-image,.about-image { width:100%; height:50vh; height:50svh; position:relative; } .service-text,.about-text { width:100%; } }