:root{--page: #ffffff;--ink: #252522;--muted: #737168;--line: #d8d4c9;--accent: #0c3942;--white: #ffffff;color:var(--ink);background:var(--page)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;overflow-x:hidden;background:var(--page);color:var(--ink);font-family:Figtree,ui-sans-serif,system-ui,sans-serif}h1,h2,h3,p{margin:0}body.menu-open{overflow:hidden}a{color:inherit}img,video{display:block;width:100%;height:100%;object-fit:cover}*,*:before,*:after{box-sizing:border-box}button{font:inherit;cursor:pointer}::selection{background:#0c39422e}.site-shell{min-height:100dvh}.skip-link{position:fixed;left:1rem;top:1rem;z-index:20;transform:translateY(-150%);background:var(--accent);color:var(--white);padding:.7rem .9rem;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;left:0;z-index:30;width:100%;background:transparent;color:var(--white);mix-blend-mode:difference}.site-header-inner{display:grid;grid-template-columns:minmax(15rem,1fr) auto minmax(15rem,1fr);align-items:center;gap:clamp(1.25rem,3vw,2.5rem);height:15vh;width:min(calc(100% - 2.5rem),1320px);margin:0 auto;padding:0;color:inherit}.logo{display:flex;align-items:center;justify-self:center;color:inherit}.logo-mark{width:clamp(5.4rem,7vw,7.25rem);height:auto}.nav-links{display:flex;justify-content:flex-start;gap:clamp(1.35rem,3.4vw,3.8rem);color:inherit}.nav-links a,.header-contact,.text-link{font-size:.88rem;font-weight:700;letter-spacing:.02em;text-decoration:none}.nav-links a,.header-contact{color:currentColor;transition:color .25s cubic-bezier(.16,1,.3,1)}.header-contact{display:inline-flex;align-items:center;justify-self:end;gap:.58rem;min-width:15rem;justify-content:flex-end;color:inherit}.nav-links a:hover,.header-contact:hover,.text-link:hover{color:currentColor}.header-contact svg,.text-link svg{transition:transform .25s cubic-bezier(.16,1,.3,1)}.header-contact:hover svg,.text-link:hover svg{transform:translate(3px)}.menu-toggle{display:none;position:relative;justify-self:end;width:2.5rem;height:2.5rem;border:0;background:transparent;color:inherit}.menu-toggle span{position:absolute;left:.45rem;width:1.55rem;height:1px;background:currentColor;transition:transform .28s cubic-bezier(.16,1,.3,1)}.menu-toggle span:first-child{top:1rem}.menu-toggle span:last-child{top:1.48rem}.menu-toggle.is-open span:first-child{transform:translateY(.24rem) rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-.24rem) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:15;display:flex;flex-direction:column;justify-content:flex-end;gap:.25rem;background:var(--page);padding:6rem 1rem 2rem;opacity:0;pointer-events:none;transition:opacity .25s cubic-bezier(.16,1,.3,1)}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu a{font-family:Outfit,Figtree,ui-sans-serif,system-ui,sans-serif;font-size:clamp(3rem,15vw,5rem);font-weight:300;line-height:.98;text-decoration:none}.hero{--hero-edge-gap: 1rem;--hero-text-gap: clamp(5rem, 10vw, 8rem);width:min(calc(100% - 2rem),1320px);margin:0 auto;padding:0 0 var(--hero-text-gap)}.hero-image{position:relative;height:calc(85vh - var(--hero-edge-gap));margin-bottom:var(--hero-edge-gap);overflow:hidden;background:#e2ded4}.hero-image:after{content:"";position:absolute;inset:auto 0 0;z-index:5;height:42%;background:linear-gradient(to top,#00000094,#00000042 44%,#0000);pointer-events:none}.hero-client-nav{position:absolute;bottom:2.5rem;left:2.5rem;display:flex;gap:clamp(2rem,5vw,6rem);width:max-content;z-index:10}.client-btn{border:none;padding:0;color:var(--white);text-decoration:none;font-size:clamp(1.2rem,2.2vw,1.85rem);font-weight:300;line-height:1.2;opacity:.85;transition:all .4s cubic-bezier(.16,1,.3,1);background:transparent;text-align:left;cursor:pointer}.client-btn:hover,.client-btn:focus-visible,.client-btn.is-active{color:var(--white);opacity:1;font-weight:500;transform:translate(4px)}.hero-image img{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:scale(1.02);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none}.hero-image img.is-loaded.is-active{opacity:1;transform:scale(1);z-index:2}.hero-image img.is-loaded:not(.is-active){z-index:1}.hero-text{display:grid;grid-template-columns:minmax(0,.62fr) minmax(16rem,.38fr);column-gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--hero-text-gap)}.hero-text .eyebrow{grid-column:1 / -1;grid-row:1;margin-bottom:.9rem}.hero-text h1,.statement h2,.section-head h2,.contact h2{font-family:Lora,Georgia,serif;font-weight:400;letter-spacing:-.01em;text-wrap:balance}.hero-text h1{grid-column:1;grid-row:2;max-width:22ch;font-size:clamp(2.1rem,4vw,4rem);line-height:1.06}.eyebrow{margin:0 0 1rem;color:var(--accent);font-size:.7rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.text-link{grid-column:2;grid-row:2;justify-self:center;align-self:center;display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--accent);padding:.82rem 1.05rem;margin-top:0;color:var(--accent);transition:background .25s cubic-bezier(.16,1,.3,1),color .25s cubic-bezier(.16,1,.3,1)}.text-link:hover{background:#0c39420f}.section-space{padding:clamp(5rem,10vw,9rem) 1rem}.statement{background:var(--accent);color:var(--white)}.statement-inner{width:min(100%,1320px);margin:0 auto;text-align:center}.statement .eyebrow{color:#fffdf894}.statement h2{max-width:26ch;margin:0 auto;font-size:clamp(2.25rem,4.3vw,4.35rem);line-height:1.06}.statement p:not(.eyebrow){max-width:34rem;margin:2rem auto 0;color:#fffdf8ad;font-size:1.05rem;line-height:1.75}.client-page-hero{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,4rem);width:min(calc(100% - 2rem),1320px);margin:0 auto;padding:0 0 clamp(5rem,10vw,8rem)}.client-page-media{height:calc(78vh - 1rem);min-height:32rem;overflow:hidden;background:#e2ded4}.client-page-media img{transition:transform .75s cubic-bezier(.16,1,.3,1)}.client-page-media:hover img{transform:scale(1.025)}.client-page-intro{display:grid;grid-template-columns:minmax(0,.62fr) minmax(16rem,.38fr);column-gap:clamp(2rem,6vw,6rem);row-gap:clamp(1.25rem,2.5vw,2rem);align-items:start}.client-page-intro h1,.client-statement h2,.client-detail-item h2,.client-detail-aside h2{font-family:Lora,Georgia,serif;font-weight:400;letter-spacing:-.01em;text-wrap:balance}.client-page-intro h1{grid-column:1 / -1;grid-row:2;max-width:22ch;font-size:clamp(2.1rem,4vw,4rem);line-height:1.06}.client-page-intro>p:not(.eyebrow){grid-column:1;grid-row:3;max-width:42ch;color:var(--muted);font-size:1.02rem;line-height:1.7}.client-page-intro .eyebrow{grid-column:1 / -1;grid-row:1;margin-bottom:0}.client-page-link{grid-column:2;grid-row:3;justify-self:end;align-self:center;display:inline-flex;margin-top:0}.client-statement{background:var(--accent);color:var(--white)}.client-statement-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(1.25rem,2.5vw,2rem);width:min(100%,720px);margin:0 auto}.client-statement .eyebrow{color:#fffdf894}.client-statement h2{max-width:none;font-size:.7rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#fffdf880;line-height:1.4}.client-body-copy{max-width:58ch;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.68;color:#fffdf8e0}.client-details{background:var(--page)}.client-detail-grid{display:grid;grid-template-columns:1fr;width:min(100%,1320px);margin:0 auto;border-top:1px solid var(--line)}.client-detail-item,.client-detail-aside{display:grid;grid-template-columns:minmax(10rem,.32fr) minmax(0,.68fr);gap:clamp(1.5rem,4vw,4rem);border-bottom:1px solid var(--line);padding:clamp(2.25rem,4vw,3.5rem) 0;align-items:start}.client-detail-item h2,.client-detail-aside h2{font-size:clamp(1.45rem,2.4vw,2.25rem);line-height:1.08}.client-detail-item p,.client-detail-aside p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.7}.client-detail-aside{align-self:auto}.section-head{width:min(100%,1320px);margin:0 auto clamp(2rem,5vw,4rem)}.section-head h2,.contact h2{max-width:26ch;font-size:clamp(2.1rem,4vw,4rem);line-height:1.06}.work-list{width:min(100%,1320px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);grid-auto-rows:clamp(18rem,27vw,26rem);gap:.85rem}.work-item{position:relative;overflow:hidden;background:#e2ded4}.work-item:first-child{grid-row:span 2}.work-item:last-child{grid-column:span 2}.work-media{height:100%;overflow:hidden;background:inherit}.work-media img,.service-image img,.video-frame video{transition:transform .75s cubic-bezier(.16,1,.3,1)}.work-item:hover .work-media img,.service-image:hover img,.video-frame:hover video{transform:scale(1.025)}.work-meta{position:absolute;left:1rem;bottom:1rem;z-index:2;max-width:min(18rem,calc(100% - 2rem));color:#fffdf8c2;font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}.work-meta:before{content:"";position:absolute;right:-1rem;bottom:-1rem;left:-1rem;z-index:-1;height:5rem;background:linear-gradient(180deg,transparent 0%,rgba(20,24,22,.58) 100%)}.client-gallery{width:min(100%,1320px);margin:0 auto;display:grid;grid-template-columns:1fr;gap:.85rem}.client-gallery-item{position:relative;overflow:hidden;aspect-ratio:16 / 10;background:#e2ded4}.client-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .75s cubic-bezier(.16,1,.3,1)}.client-gallery-item:hover img{transform:scale(1.025)}.client-gallery-meta{position:absolute;left:1rem;bottom:1rem;z-index:2;color:#fffdf8c2;font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}.service-item h3{font-size:1.08rem;font-weight:800;line-height:1.2}.services{background:var(--white)}.service-image{width:min(100%,1320px);height:clamp(22rem,48vw,38rem);margin:0 auto clamp(3rem,6vw,5rem);overflow:hidden;background:#e2ded4}.service-list{width:min(100%,1320px);margin:0 auto;border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:minmax(12rem,.34fr) minmax(0,.66fr);gap:clamp(1.5rem,4vw,4rem);border-bottom:1px solid var(--line);padding:1.75rem 0}.service-item p,.contact-links span{max-width:42rem;color:var(--muted);font-size:1rem;line-height:1.7}.walkthrough,.client-walkthrough,.client-tour{background:var(--page)}.client-tour .section-head{width:min(calc(100% - 2rem),1320px);margin:0 auto clamp(1.5rem,4vw,2.5rem)}.client-tour-frame{width:min(calc(100% - 2rem),1320px);margin:0 auto;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#0a0a0a}.client-tour-frame iframe{width:100%;height:100%;border:0;display:block}.video-frame{width:min(100%,1320px);height:clamp(24rem,58vw,46rem);margin:0 auto;overflow:hidden;background:#e2ded4}.contact{background:var(--accent);color:var(--white)}.contact-inner{width:min(calc(100% - 2rem),1320px);margin:0 auto}.contact .eyebrow{color:#fffdf894}.contact-links{display:grid;gap:.85rem;margin-top:clamp(2rem,5vw,4rem)}.contact-links a{width:fit-content;font-size:clamp(1.4rem,3vw,2.5rem);font-weight:700;line-height:1.2;text-decoration:none;transition:color .25s cubic-bezier(.16,1,.3,1)}.contact-links a:hover{color:#fffdf8b8}.contact-links span{color:#fffdf89e}.site-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;width:min(calc(100% - 2rem),1320px);margin:0 auto;padding:1.5rem 0;color:var(--muted);font-size:.78rem;font-weight:700}.footer-col{display:flex;flex-direction:column;gap:.35rem}.footer-nap{font-style:normal;text-align:right}.footer-nap a{text-decoration:none;color:inherit}.footer-nap a:hover{color:var(--ink)}.client-faq{width:min(calc(100% - 2rem),1320px);margin:0 auto}.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item>summary{list-style:none;cursor:pointer;padding:1.25rem 0;font-family:Lora,serif;font-size:1.15rem;font-weight:500;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:"+";font-family:Figtree,sans-serif;font-size:1.5rem;line-height:1;color:var(--muted);transition:transform .2s ease}.faq-item[open]>summary:after{transform:rotate(45deg)}.faq-item>p{padding:0 0 1.25rem;max-width:48rem;color:var(--muted);line-height:1.6}.service-areas{width:min(calc(100% - 2rem),1320px);margin:0 auto}.service-areas-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:3rem;align-items:start}.service-areas-inner p{color:var(--muted);line-height:1.65;max-width:38rem}.service-areas-inner p+p{margin-top:.9rem}@media (max-width: 720px){.service-areas-inner{grid-template-columns:1fr;gap:1.5rem}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}@media (max-width: 900px){.site-header-inner{grid-template-columns:1fr auto;gap:1rem}.nav-links,.header-contact{display:none}.menu-toggle{display:block}.logo{justify-self:start}.hero-text,.client-page-intro,.client-page-hero,.client-detail-grid,.client-detail-item,.client-detail-aside,.service-item{grid-template-columns:1fr}.hero-text{gap:1.5rem}.hero-text .eyebrow,.hero-text>p:not(.eyebrow),.client-page-intro .eyebrow,.client-page-intro h1,.client-page-intro>p:not(.eyebrow),.client-page-link,.text-link{grid-column:auto;grid-row:auto}.hero-text .eyebrow{margin-bottom:-.25rem}.client-page-intro{gap:1.25rem}.client-page-intro h1{max-width:22ch}.client-page-link{justify-self:start}.client-page-media{height:32rem;min-height:0}.client-detail-aside{border-top:0}.work-list{grid-auto-rows:clamp(16rem,38vw,24rem)}}@media (max-width: 560px){.site-header-inner,.hero,.site-footer{width:min(calc(100% - 1.5rem),1320px)}.hero{--hero-edge-gap: .75rem;--hero-text-gap: 4rem}.client-page-hero{width:min(calc(100% - 1.5rem),1320px);padding-bottom:4rem}.client-page-media{height:24rem;min-height:0}.hero-text h1,.statement h2,.section-head h2,.contact h2,.client-page-intro h1,.client-statement h2{font-size:clamp(2rem,9.5vw,3.15rem)}.section-space{padding-top:4.5rem;padding-bottom:4.5rem}.work-list{grid-template-columns:1fr;grid-auto-rows:22rem;gap:.7rem}.work-item:first-child,.work-item:last-child{grid-column:auto;grid-row:auto}.work-media,.service-image,.video-frame{height:20rem}.site-footer{flex-direction:column}.footer-nap{text-align:left}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
