@font-face{font-family:Arial;src:local(Arial)}:root{--ink:#171816;--paper:#f0eee8;--stone:#c9bdab;--muted:#9e9c94;--line:#ffffff30;--ease:cubic-bezier(.19,1,.22,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--stone);outline-offset:6px}::selection{color:var(--ink);background:var(--stone)}img,video{display:block;width:100%;object-fit:cover}h1,h2,h3,h4,p{margin:0;font-weight:400}h1,h2{letter-spacing:-.055em;line-height:.94}p{line-height:1.45}button{color:inherit;border:0;background:none}header{position:fixed;top:0;left:0;width:100%;z-index:30;display:flex;justify-content:space-between;align-items:flex-start;padding:2.9vw 3vw;pointer-events:none;mix-blend-mode:difference;color:#fff}header a,header button,header nav{pointer-events:auto}.brand{width:146px;display:block}.brand svg{width:100%;height:auto}header nav{display:flex;flex-direction:column;align-items:flex-start;font-size:clamp(15px,1.3vw,23px);line-height:1.2;text-transform:uppercase}#menuToggle{display:none}.roll{display:inline-block;overflow:hidden;position:relative;line-height:1.15}.roll-inner{display:block;transition:transform .55s var(--ease)}.roll-inner:after{content:attr(data-text);position:absolute;top:100%;left:0;white-space:nowrap}.roll:hover .roll-inner{transform:translateY(-100%)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:10px}#loader,#wipe{position:fixed;inset:0;z-index:100;background:var(--stone);color:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;will-change:transform}#loader .loader-logo{width:min(55vw,650px)}.loader-logo svg{width:100%}.loader-logo path,.loader-logo line{stroke-dasharray:900;stroke-dashoffset:900;animation:draw 1.6s ease forwards}.loader-logo text{opacity:0;animation:fade .8s .5s forwards}#loader>span{font-size:12px;letter-spacing:.14em;margin-top:22px}.load-line{position:absolute;bottom:0;left:0;height:4px;width:0;background:var(--ink);animation:load 1.8s ease forwards}#wipe{transform:translateY(105%);font-size:clamp(35px,8vw,140px);letter-spacing:-.06em;border-radius:50% 50% 0 0}#wipe span{opacity:0}#cursor{position:fixed;top:0;left:0;z-index:80;width:105px;height:105px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--stone);color:var(--ink);font:italic 17px Georgia;pointer-events:none;transform:translate(-50%,-50%) scale(0);transition:scale .3s;opacity:0}.hero{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#514b42}.hero-media{position:absolute;inset:0;overflow:hidden}.hero-media>img,.hero-media>video{position:absolute;height:100%;width:100%;object-fit:cover}.hero-media iframe{position:absolute;top:50%;left:50%;width:max(100vw,177.78vh);height:max(100vh,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity 1s}.hero-media iframe.ready{opacity:1}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003 0%,#0000 35%,#0009 100%)}.hero-copy{position:absolute;z-index:2;left:3vw;bottom:13vh}.hero h1{font-size:clamp(76px,10.2vw,195px);text-transform:uppercase;line-height:.89}.hero h1 em{display:block;font:italic .95em/.95 Georgia,serif;letter-spacing:-.065em;text-transform:none;margin-bottom:.05em}.hero-bottom{position:absolute;bottom:32px;left:3vw;right:3vw;z-index:2;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase}.hero-bottom a{display:flex;gap:55px}.section{padding:8vw 3vw}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.03em}.split-intro{display:grid;grid-template-columns:1fr 3fr;gap:5vw;padding-top:9vw;padding-bottom:9vw}.split-intro h2{font-size:clamp(35px,4.25vw,80px);line-height:1.08;text-transform:uppercase;max-width:1300px}.intro-bottom{margin-top:45px;display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.intro-bottom p{max-width:480px;font-size:18px;color:#b6b5ae}.arrow-link{display:inline-flex;align-items:center;gap:40px;font-size:20px;padding-bottom:8px;border-bottom:1px solid currentColor;white-space:nowrap}.arrow-link .arrow{font-size:28px;transition:transform .45s var(--ease)}.arrow-link:hover .arrow{transform:translate(5px,-5px)}.section-line{padding-top:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:3vw}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw 3vw}.project-card{display:block;min-width:0}.project-image{aspect-ratio:1/1.05;position:relative;overflow:hidden;background:#857d6f}.project-card:nth-child(4n+2) .project-image{border-radius:7vw 7vw 0 0}.project-card:nth-child(4n+4) .project-image{border-radius:50% 50% 0 0}.project-image img{width:100%;height:100%;transition:transform 1.2s var(--ease);will-change:transform}.project-card:hover img{transform:scale(1.055)}.project-image .reveal-cover{position:absolute;inset:0;background:var(--stone);z-index:1;transform-origin:top}.project-label{padding-top:17px;text-transform:uppercase;font-size:clamp(15px,1.4vw,23px);line-height:1.2;display:flex;justify-content:space-between;gap:15px}.project-label p{font-size:12px;color:var(--muted);margin-top:7px;letter-spacing:.01em}.project-label .num{font:italic 19px Georgia}.more-work{display:flex;justify-content:space-between;align-items:flex-end;margin-top:6vw;padding-bottom:3vw;gap:3vw}.more-work h3{font-size:clamp(24px,2.7vw,50px);line-height:1.05;max-width:650px;text-transform:uppercase}.circle-link{border:1px solid #fff6;border-radius:50%;height:185px;width:185px;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:17px}.circle-link:before{position:absolute;inset:0;border-radius:50%;background:var(--stone);content:'';transform:translateY(110%);transition:transform .6s var(--ease);z-index:-1}.circle-link:hover{color:var(--ink)}.circle-link:hover:before{transform:translateY(0)}.light-section{background:var(--paper);color:var(--ink)}.light-section .section-line{border-color:#17181640}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:5vw 0 1vw;gap:4vw}.stat span{font-size:clamp(80px,11vw,210px);line-height:1;letter-spacing:-.075em}.stat em{font:italic 25px Georgia}.stat p{padding-top:20px;border-top:1px solid #17181640;margin-top:30px;font-size:13px;text-transform:uppercase}.craft-section{padding-top:10vw}.craft-section h2,.behind-title{font-size:clamp(56px,8.4vw,160px);text-transform:uppercase}.craft-section h2 em,.behind-title em{font-family:Georgia;font-weight:400}.craft-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:6vw;align-items:center}.craft-layout>img{aspect-ratio:4/5}.craft-copy .service{border-top:1px solid #17181650;padding:24px 0;display:grid;grid-template-columns:45px 1fr;gap:15px}.service span{font:italic 22px Georgia}.service h3{font-size:30px;letter-spacing:-.035em}.service p{max-width:420px;font-size:17px;margin-top:15px;color:#5b5b54}.bts-preview{position:relative;height:80vh;min-height:550px;overflow:hidden}.bts-preview video,.bts-preview>img{height:115%;position:absolute;top:-5%;object-fit:cover}.bts-preview:after{content:'';position:absolute;inset:0;background:#0005}.bts-content{position:absolute;inset:3vw;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.bts-content h2{font-size:clamp(60px,7.5vw,145px);text-transform:uppercase;max-width:1000px}.bts-content .arrow-link{align-self:flex-end}.faq{display:grid;grid-template-columns:1fr 2fr;gap:8vw}.faq h2{font-size:clamp(35px,4vw,70px)}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:22px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'＋';font-size:24px}details[open] summary:after{content:'−'}details p{max-width:650px;color:#b6b5ae;padding:22px 25px 0 0;font-size:17px}.footer{padding:7vw 3vw 20px;background:var(--stone);color:var(--ink);position:relative;overflow:hidden}.footer .topline{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer h2{font-size:clamp(65px,11vw,210px);text-transform:uppercase}.footer h2 em{font-family:Georgia;font-weight:400}.footer .circle-link{border-color:#17181666}.footer .circle-link:before{background:var(--ink)}.footer .circle-link:hover{color:var(--paper)}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4vw;margin-top:7vw;padding-top:30px;border-top:1px solid #17181660}.footer-columns h4{font-size:12px;text-transform:uppercase;margin-bottom:25px}.footer-columns a{display:table;margin-bottom:7px;font-size:18px}.footer-columns .email{font-size:clamp(16px,2.8vw,50px);letter-spacing:-.04em}.footer-bottom{border-top:1px solid #17181660;margin-top:5vw;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase}.page-top{padding:220px 3vw 5vw}.page-top h1{font-size:clamp(70px,11vw,205px);text-transform:uppercase;max-width:1550px}.page-top h1 em{font:italic 1em/.95 Georgia;letter-spacing:-.06em}.page-top .page-description{max-width:550px;font-size:20px;line-height:1.45;margin:40px 0 0 50%}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:45px}.filter{border:1px solid #fff5;border-radius:50px;padding:12px 22px;transition:background .3s,color .3s}.filter.active,.filter:hover{background:var(--stone);color:var(--ink);border-color:var(--stone)}.archive-row{border-top:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:60px 2fr 1fr 28px;align-items:center;gap:20px;transition:padding .4s,color .4s;position:relative}.archive-row:hover{padding-left:20px;color:var(--stone)}.archive-row h2{font-size:clamp(23px,3vw,52px);text-transform:uppercase;letter-spacing:-.04em}.archive-row img{position:absolute;width:220px;height:150px;right:18%;top:50%;transform:translateY(-50%) rotate(-5deg);opacity:0;pointer-events:none;z-index:2;transition:opacity .3s}.archive-row:hover img{opacity:1}.archive-row span{font-size:12px;text-transform:uppercase}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw 2vw;margin-top:50px}.person img{aspect-ratio:1;filter:grayscale(1);transition:filter .6s}.person:hover img{filter:grayscale(0)}.person h3{font-size:25px;margin-top:18px}.person p{font-size:13px;color:var(--muted);text-transform:uppercase;margin-top:6px}.project-hero{padding-top:230px}.project-hero h1{font-size:clamp(60px,9vw,170px);text-transform:uppercase;margin:0 3vw 5vw}.project-hero>img{height:85vh;min-height:400px}.project-info{display:grid;grid-template-columns:1fr 2fr;gap:10vw}.project-info h2{font-size:50px}.project-info p{font-size:22px;max-width:750px}.facts{display:flex;gap:45px;margin-top:40px;flex-wrap:wrap}.facts strong{display:block;font-size:45px;letter-spacing:-.05em;font-weight:400}.facts span{font-size:12px;text-transform:uppercase;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:3vw}.gallery-button{padding:0;position:relative;overflow:hidden}.gallery-button img{height:100%;aspect-ratio:4/3;transition:transform .8s var(--ease)}.gallery-button:hover img{transform:scale(1.035)}.gallery-button:first-child{grid-column:span 2}.gallery-button:first-child img{aspect-ratio:16/9}.image-note{font-size:11px;text-transform:uppercase;color:var(--muted);margin-top:20px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw 3vw}.video-card{padding:0;text-align:left}.video-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:#333}.video-cover img{height:100%;transition:transform .8s var(--ease)}.video-card:hover img{transform:scale(1.05)}.play{position:absolute;inset:0;display:grid;place-items:center}.play span{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--stone);color:var(--ink)}.video-card h3{font-size:24px;margin-top:18px}.video-card p{font-size:12px;color:var(--muted);margin-top:5px;text-transform:uppercase}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:12vw}.contact-aside h2{font-size:45px;margin-bottom:30px}.contact-aside a{display:block;font-size:20px;margin-bottom:15px}.contact-aside p{color:var(--muted);margin-top:40px;font-size:16px}.field{margin-bottom:32px}.field label{display:block;text-transform:uppercase;font-size:12px;margin-bottom:16px}.field input,.field textarea,.field select{width:100%;padding:14px 0;background:transparent;border:0;border-bottom:1px solid #fff5;color:var(--paper);font-size:24px;border-radius:0}.field select option{color:var(--ink)}.field textarea{resize:vertical;min-height:120px}.send{display:flex;justify-content:space-between;width:100%;background:var(--stone);color:var(--ink);padding:24px;font-size:22px}.send:hover{background:var(--paper)}.form-note{font-size:12px;color:var(--muted);margin-top:16px}.contact-result{padding:20px 0;font-size:18px}.contact-result a{text-decoration:underline}dialog{position:fixed;background:#10110ff5;color:var(--paper);border:0;width:100vw;max-width:100vw;height:100svh;max-height:100svh;padding:70px 4vw 50px;overflow:hidden}dialog::backdrop{background:#000a}#lightbox img{object-fit:contain;height:calc(100% - 35px);width:100%}.close{position:absolute;right:3vw;top:25px;font-size:18px;z-index:3}.previous,.next{position:absolute;top:50%;font-size:35px;z-index:3;background:#171816aa;border-radius:50%;width:55px;height:55px}.previous{left:2vw}.next{right:2vw}.caption{display:block;text-align:center;font-size:12px;margin-top:15px}#videoEmbed,#videoEmbed iframe{width:100%;height:100%;border:0}.char-mask{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.08}.char{display:inline-block;will-change:transform}.reveal-words .word{display:inline-block;margin-right:.22em}.empty-message{padding:40px 0;color:var(--muted)}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}@keyframes load{to{width:100%}}
@media(min-width:1800px){.brand{width:165px}}@media(max-width:900px){header{padding:24px}.brand{width:120px}header nav{font-size:15px}.hero{min-height:650px}.hero h1{font-size:12vw}.hero-copy{left:24px;bottom:18vh}.section{padding:80px 24px}.split-intro{grid-template-columns:1fr;gap:30px}.split-intro h2{font-size:40px}.intro-bottom p{font-size:16px}.project-grid{gap:65px 24px}.project-label{font-size:17px}.craft-layout{gap:30px}.stats{gap:20px}.stat span{font-size:12vw}.stat p{font-size:11px}.section-line{margin-bottom:35px}.page-top{padding:220px 24px 70px}.contact-layout{gap:45px}.footer{padding:75px 24px 20px}.circle-link{width:145px;height:145px}.footer-columns .email{font-size:25px}}
@media(max-width:600px){header{padding:20px}.brand{width:105px}#menuToggle{display:flex;gap:15px;align-items:center;font-size:16px;padding:4px 0}header nav{display:none;position:fixed;inset:0;background:var(--ink);padding:150px 25px 40px;font-size:34px;justify-content:center;gap:15px;z-index:-1}header.menu-open nav{display:flex}header.menu-open{mix-blend-mode:normal;height:100svh}header.menu-open .brand,header.menu-open #menuToggle{z-index:2}.hero{min-height:600px;height:92svh}.hero h1{font-size:15.6vw;line-height:.94}.hero-copy{left:20px;right:20px;bottom:17vh}.hero-bottom{left:20px;right:20px;font-size:10px;bottom:22px;gap:20px}.hero-bottom span:last-child{display:none}.section{padding:65px 20px}.split-intro h2{font-size:32px}.intro-bottom{flex-direction:column;align-items:flex-start;gap:30px;margin-top:30px}.intro-bottom p{font-size:16px}.project-grid{grid-template-columns:1fr;gap:48px}.project-image{aspect-ratio:1/1.05}.project-card:nth-child(4n+2) .project-image{border-radius:15vw 15vw 0 0}.project-label{font-size:20px}.more-work{margin-top:60px;align-items:center}.more-work h3{font-size:23px}.circle-link{width:125px;height:125px;font-size:14px}.stats{grid-template-columns:1fr;gap:35px;padding-top:35px}.stat span{font-size:110px}.stat p{margin-top:10px;padding-top:15px;font-size:12px}.craft-section h2,.behind-title{font-size:54px}.craft-layout{grid-template-columns:1fr;margin-top:40px;gap:40px}.craft-layout>img{aspect-ratio:4/4}.service h3{font-size:27px}.service p{font-size:16px}.bts-preview{height:650px;min-height:0}.bts-content{inset:45px 20px}.bts-content h2{font-size:54px}.bts-content .arrow-link{align-self:flex-start}.faq{grid-template-columns:1fr;gap:35px}.faq h2{font-size:38px}summary{font-size:20px}.footer{padding:65px 20px 20px}.footer .topline{align-items:flex-start;flex-direction:column}.footer h2{font-size:18vw}.footer-columns{grid-template-columns:1fr 1fr;gap:35px;margin-top:55px}.footer-columns>div:first-child{grid-column:span 2}.footer-columns .email{font-size:25px}.footer-columns a{font-size:16px}.footer-columns h4{margin-bottom:18px}.footer-bottom{margin-top:45px;gap:20px;font-size:9px;align-items:flex-end}.page-top{padding:170px 20px 45px}.page-top h1{font-size:18vw}.page-top .page-description{margin:30px 0 0;font-size:17px}.filters{gap:8px}.filter{font-size:13px;padding:10px 15px}.archive-row{grid-template-columns:30px 1fr 20px;gap:10px;padding:24px 0}.archive-row .category{display:none}.archive-row img{display:none}.archive-row h2{font-size:26px}.archive-row span{font-size:10px}.team{grid-template-columns:1fr 1fr;gap:35px 15px}.person h3{font-size:22px}.person p{font-size:10px}.project-hero{padding-top:170px}.project-hero h1{font-size:16vw;margin:0 20px 35px}.project-hero>img{height:auto;min-height:0;aspect-ratio:4/3}.project-info{grid-template-columns:1fr;gap:30px}.project-info h2{font-size:38px}.project-info p{font-size:19px}.facts{gap:30px}.facts strong{font-size:36px}.project-gallery{grid-template-columns:1fr;gap:20px}.gallery-button:first-child{grid-column:auto}.gallery-button:first-child img{aspect-ratio:4/3}.video-grid{grid-template-columns:1fr;gap:35px}.contact-layout{grid-template-columns:1fr;gap:50px}.field input,.field select,.field textarea{font-size:20px}.contact-aside h2{font-size:35px}#cursor{display:none}#loader .loader-logo{width:80vw}.arrow-link{font-size:17px;gap:25px}.footer .circle-link{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-media video,.bts-preview video{display:none}#cursor{display:none}}
[hidden]{display:none!important}
#wipe.wipe-enter{animation:wipeIn .8s cubic-bezier(.55,0,1,.45) both}
#wipe.wipe-leave{animation:wipeOut 1.4s cubic-bezier(.87,0,.13,1) both}
#loader.loader-leave{animation:loaderOut 1.4s cubic-bezier(.87,0,.13,1) both}
@keyframes wipeIn{from{transform:translateY(105%);border-radius:50% 50% 0 0}to{transform:translateY(0);border-radius:0}}
@keyframes wipeOut{from{transform:translateY(0);border-radius:0}to{transform:translateY(-105%);border-radius:0 0 50% 50%}}
@keyframes loaderOut{from{transform:translateY(0)}to{transform:translateY(-105%)}}
@media(max-width:600px){.page-top h1{font-size:15.6vw}}
/* Interaction parity audit: shared timing and motion from GH22. */
:root{--motion-primary:.5s cubic-bezier(.7,0,.3,1);--motion-slow:2s cubic-bezier(.16,1,.3,1)}
html.has-scroll-smooth{overflow:hidden;scroll-behavior:auto}.has-scroll-smooth body{overflow:hidden}.has-scroll-smooth [data-scroll-container]{min-height:100vh}.c-scrollbar{position:fixed;right:0;top:0;width:11px;height:100vh;transform-origin:center right;transition:transform .3s,opacity .3s;opacity:0;z-index:90}.has-scroll-scrolling .c-scrollbar,.has-scroll-dragging .c-scrollbar,.c-scrollbar:hover{opacity:1}.c-scrollbar_thumb{position:absolute;top:0;right:0;width:5px;background:var(--stone);opacity:.5;border-radius:10px;margin:3px;cursor:grab}.has-scroll-dragging .c-scrollbar_thumb{cursor:grabbing}
.roll{line-height:1.4;vertical-align:bottom;max-width:100%;padding-right:.05em}.roll-inner{position:relative;transform:translateY(0) rotate(.001deg);transition:transform var(--motion-primary);transition-delay:-.05s;white-space:nowrap}.roll-inner:after{content:none}.roll-alternate{position:absolute;top:0;left:0;font:italic 1.25em/1.12 Georgia,serif;letter-spacing:-.025em;white-space:nowrap;color:var(--stone);transform:translateY(140%) rotate(10deg);transition:transform var(--motion-primary);transition-delay:0s}.roll:hover .roll-inner,a:hover>.roll .roll-inner,.project-card:hover .roll-inner,.reference-cta:hover .roll-inner,.archive-tile:hover .roll-inner,.arrow-link:hover .roll-inner{transform:translateY(-140%) rotate(-10deg);transition-delay:0s}.roll:hover .roll-alternate,a:hover>.roll .roll-alternate,.project-card:hover .roll-alternate,.reference-cta:hover .roll-alternate,.archive-tile:hover .roll-alternate,.arrow-link:hover .roll-alternate{transform:translateY(0) rotate(.001deg);transition-delay:-.05s}.light-section .roll-alternate,.footer .roll-alternate{color:var(--ink)}header a[aria-current=page] .roll-inner{transform:translateY(-140%) rotate(-10deg)}header a[aria-current=page] .roll-alternate{transform:translateY(0) rotate(.001deg);color:currentColor}
.reference-cta{position:relative;display:inline-flex;gap:30px;align-items:center;font-size:clamp(19px,1.55vw,28px);line-height:1.4;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:2px;transition:color var(--motion-primary)}.reference-cta:hover{color:var(--stone)}.footer .reference-cta:hover{color:var(--ink)}.arrow-link{padding-bottom:2px;gap:30px;transition:border-color var(--motion-primary)}.arrow-link:hover{border-color:var(--stone)}.arrow-link .arrow{font-size:1em;transition:transform var(--motion-primary)}.arrow-link:hover .arrow{transform:translate(0,0)}
.project-image,.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+4) .project-image{aspect-ratio:1;border-radius:0;transition:border-radius var(--motion-primary)}.project-image img{transform:scale(1.01);filter:grayscale(0);transition:transform var(--motion-primary),filter var(--motion-primary)}.project-card:hover .project-image,.project-card:focus-visible .project-image{border-radius:50%}.project-card:hover .project-image img,.project-card:focus-visible .project-image img{transform:scale(1.05);filter:grayscale(1)}.project-image .reveal-cover{pointer-events:none}.project-label{align-items:flex-start}.project-label .roll{padding-bottom:.03em}.headline-mask{display:block;position:relative;overflow:hidden;padding:.15em .03em .12em;margin:-.15em -.03em -.12em;line-height:1.04;will-change:transform}.headline-part{display:inline-block;transform-origin:left center;will-change:transform}.hero h1 em{display:inline;line-height:1}.hero h1 .headline-mask{overflow:visible;clip-path:inset(0 -30% 0 -5%)}.hero-copy{overflow:visible}.craft-section h2 .headline-mask{overflow:visible}.page-top,.project-hero{overflow:hidden}.parallax-frame{overflow:hidden;min-width:0}.craft-layout>.parallax-frame{aspect-ratio:4/5}.parallax-frame img{width:100%;height:120%;object-fit:cover;margin-top:-10%}.project-grid{gap:6vw 3vw}.gallery-button img,.video-cover img{transition:transform var(--motion-primary),filter var(--motion-primary)}
.brand{transition:width var(--motion-primary);transform-origin:top left}header nav{transform-origin:right top;transition:transform var(--motion-primary)}header.scrolled .brand{width:102px}header.scrolled nav{transform:translateY(-16%) scale(.75)}
#wipe{border-radius:0;transform:translateY(200%);pointer-events:none;overflow:visible}#wipe:before,#wipe:after{position:absolute;content:'';inset:0;height:100%;width:100%;background:linear-gradient(to top,rgba(201,189,171,1) 0%,rgba(201,189,171,.738) 19%,rgba(201,189,171,.541) 34%,rgba(201,189,171,.382) 47%,rgba(201,189,171,.194) 65%,rgba(201,189,171,.075) 80.2%,rgba(201,189,171,.021) 91%,rgba(201,189,171,0) 100%);transform:translateY(-100%)}#wipe:after{transform:translateY(100%) rotate(180deg)}#wipe.wipe-enter{animation:referenceWipeIn .8s cubic-bezier(.55,.085,.68,.53) both}#wipe.wipe-leave{animation:referenceWipeOut .8s cubic-bezier(.25,.46,.45,.94) both}.transitioning{cursor:wait}.transitioning header,.transitioning main{pointer-events:none}@keyframes referenceWipeIn{from{transform:translateY(200%)}to{transform:translateY(0)}}@keyframes referenceWipeOut{from{transform:translateY(0)}to{transform:translateY(-200%)}}
#cursor{width:.8em;height:.8em;opacity:0;scale:1;transform:translate(-50%,-50%);font:17px Georgia,serif;overflow:hidden;white-space:nowrap;transition:width .4s cubic-bezier(.7,0,.3,1),height .4s cubic-bezier(.7,0,.3,1),opacity .2s,background .15s}#cursor.cursor-ready{opacity:1}#cursor[data-state=link]{width:.4em;height:.4em}#cursor[data-state=view]{width:6em;height:6em;font-style:italic}#cursor[data-state=view].pressed{width:8em;height:8em}#servicePreview{position:fixed;z-index:70;pointer-events:none;width:25vw;height:0;overflow:hidden;transform:translate(-50%,-50%);transition:height .6s cubic-bezier(.7,0,.3,1)}#servicePreview.active{height:25vw}#servicePreview img{width:100%;height:25vw;object-fit:cover}.service:hover h3,.service:hover p,.service:hover>span{opacity:.35}.service h3,.service p,.service>span{transition:opacity var(--motion-primary)}
.archive-grid{columns:3;column-gap:3vw}.archive-tile{display:inline-block;width:100%;break-inside:avoid;margin-bottom:3vw;vertical-align:top}.archive-image{overflow:hidden;aspect-ratio:4/5}.archive-tile:nth-child(3n+2) .archive-image{aspect-ratio:1}.archive-tile:nth-child(4n) .archive-image{aspect-ratio:4/3}.archive-image img{height:100%;transition:transform var(--motion-primary),filter var(--motion-primary)}.archive-tile:hover img{transform:scale(1.05);filter:grayscale(1)}.archive-tile>.eyebrow{color:var(--muted);margin-top:8px}.archive-tile .project-label{font-size:18px}
@media(min-width:1025px){.hero-copy{bottom:14vh}.hero h1{font-size:clamp(76px,9.8vw,195px)}}
@media(max-width:1024px){header{padding:24px;mix-blend-mode:normal;isolation:isolate;pointer-events:none}.brand{width:120px}header.scrolled .brand{width:84px}#menuToggle{display:flex;align-items:center;gap:12px;pointer-events:auto;z-index:2}header nav{display:flex;position:fixed;inset:0;width:100vw;height:100svh;background:var(--ink);transform:translateX(300%);padding:130px 30px 70px;justify-content:flex-end;align-items:flex-end;text-align:right;font-size:clamp(25px,4.5vw,48px);gap:8px;z-index:-1;transition:transform .9s cubic-bezier(.7,0,.3,1);pointer-events:none}header.scrolled nav{transform:translateX(300%)}header.menu-open nav,header.menu-open.scrolled nav{transform:translateX(0);pointer-events:auto}header nav>a{opacity:0;transform:translateY(125%) rotate(15deg);transform-origin:right bottom;transition:transform .9s cubic-bezier(.7,0,.3,1),opacity .3s}header.menu-open nav>a{opacity:1;transform:translateY(0) rotate(.001deg)}header nav>a:nth-child(1){transition-delay:.25s}header nav>a:nth-child(2){transition-delay:.2s}header nav>a:nth-child(3){transition-delay:.15s}header nav>a:nth-child(4){transition-delay:.1s}header nav>a:nth-child(5){transition-delay:.05s}header.menu-open{height:auto}header:before{content:'';position:absolute;inset:0 0 -15px;background:linear-gradient(#1718168c,#17181600);z-index:-2;pointer-events:none}#servicePreview,#cursor{display:none}.archive-grid{columns:2}.parallax-frame img{margin:0;height:100%}.hero h1 .headline-mask{clip-path:none}.craft-section h2 .headline-mask{transform:none!important}.footer .topline,.footer-columns{transform:none!important}}
@media(max-width:600px){header{padding:20px}.brand{width:105px}header.scrolled .brand{width:74px}header nav{display:flex;font-size:30px;padding:120px 25px 65px;justify-content:flex-end;align-items:flex-end}.project-image,.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+4) .project-image{aspect-ratio:1;border-radius:0}.project-grid{gap:48px}.reference-cta{font-size:17px;gap:20px}.more-work{align-items:flex-start;flex-direction:column;gap:30px}.footer .topline{gap:35px}.archive-grid{column-gap:18px}.archive-tile .project-label{font-size:12px}.archive-tile .project-label .num{display:none}.archive-tile .eyebrow{font-size:9px}.archive-tile{margin-bottom:28px}.headline-mask{line-height:1.08}.craft-layout>.parallax-frame{aspect-ratio:1}.hero h1{font-size:14.5vw}.footer h2{font-size:17vw}}
@media(hover:none){.project-card:hover .project-image{border-radius:0}.project-card:hover .project-image img{filter:none;transform:scale(1.01)}}
@media(prefers-reduced-motion:reduce){.reveal-cover{display:none}.headline-part{transform:none!important}.project-image img{transform:none!important}.archive-tile{transform:none!important;opacity:1!important}#loader{display:none}}
.project-image img{user-select:none;-webkit-user-drag:none}.project-card{user-select:none}
.image-settle{position:absolute;inset:0;will-change:transform}.image-settle img{height:100%}.archive-grid{columns:auto;position:relative;margin:0 -1.5vw}.archive-tile{width:33.333%;padding:0 1.5vw;margin:0 0 3vw;display:block}.archive-image,.archive-tile:nth-child(3n+2) .archive-image,.archive-tile:nth-child(4n) .archive-image{aspect-ratio:auto}.archive-image img{height:auto;width:100%}.archive-grid:after{content:'';display:block;clear:both}@media(max-width:1024px){.archive-tile{width:50%}}@media(max-width:600px){.archive-grid{margin:0 -9px}.archive-tile{padding:0 9px;margin-bottom:28px}}@media(prefers-reduced-motion:reduce){.image-settle{transform:none}}
/* Third audit: native media controls and robust keyboard/mobile layouts. */
.bts-preview{background:#171816 url('/assets/behind-the-build-poster.jpg') center/cover no-repeat}.bts-preview:after{pointer-events:none}.controlled-film{height:auto;min-height:0;aspect-ratio:16/9;background:#111}.controlled-film video{position:relative;inset:auto;top:auto;width:100%;height:100%;object-fit:contain;margin:0}.controlled-film:after{display:none}.controlled-film .bts-content{pointer-events:none}
#primaryNavigation[aria-hidden=true]{visibility:hidden}header.menu-open #primaryNavigation{visibility:visible}.headline-mask:focus,.letter-reveal:focus{outline:none}main:focus{outline:none}.gallery-button:focus-visible,.video-card:focus-visible{outline-offset:6px}
@media(max-width:1024px){header nav{overflow-y:auto;overscroll-behavior:contain}header:not(.menu-open) nav{transition:transform .9s cubic-bezier(.7,0,.3,1),visibility 0s .9s}header.menu-open nav{transition:transform .9s cubic-bezier(.7,0,.3,1),visibility 0s}}
@media(max-width:1024px) and (max-height:600px){header nav{padding:90px 25px 25px;gap:4px;justify-content:flex-start;font-size:clamp(20px,4vh,28px)}header nav>a{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.controlled-film video{display:block}.hero-media video{display:none}.bts-preview:not(.controlled-film) video{display:none}.service:hover h3,.service:hover p,.service:hover>span{opacity:1}#servicePreview{display:none!important}}
/* Content must stay visible if a scroll trigger is missed or cancelled. */
.project-card .reveal-cover,.project-card.is-inview .reveal-cover{transform:scale(1,0);transition:none}
.image-settle,.project-card.is-inview .image-settle{transform:scale(1);transition:none}
.headline-part{transform:none}.footer .topline,.footer-columns{transform:none!important}
/* Both typefaces share one clipped row, including anchors with layout overrides. */
.roll,.footer-columns a.roll,.contact-aside a.roll{display:inline-grid;position:relative;grid-template-columns:minmax(0,1fr);height:1.4em;line-height:1.4;max-width:100%;overflow:hidden;vertical-align:bottom;padding-right:.08em}
.roll>.roll-inner,.roll>.roll-alternate{grid-area:1/1;position:relative;inset:auto;align-self:start;white-space:nowrap}
.roll>.roll-alternate{line-height:1.12}
.footer-columns{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.footer-columns>div,.contact-aside{min-width:0}.footer-columns a.roll{width:max-content;max-width:100%;margin-bottom:7px}
.footer-columns .email.roll{font-size:clamp(19px,2.3vw,42px);display:grid;margin-bottom:16px}
.footer-columns .email .roll-alternate{font-size:1.05em;line-height:1.33}
.contact-aside a.roll{width:max-content;max-width:100%;font-size:clamp(15px,1.6vw,25px);margin-bottom:12px}
.contact-aside .roll-alternate{font-size:1.06em;line-height:1.32}
.footer .topline{gap:45px}.footer .headline-mask{padding-bottom:.18em;margin-bottom:-.18em}
.intro-running .brand{visibility:hidden}.loader-logo{pointer-events:none}.loader-logo svg{display:block;width:100%;height:auto}
/* Portraits reconstructed from the five original Our Story photographs. */
.people-section{background:var(--stone);color:var(--ink);overflow:hidden;padding-bottom:7vw}
.people-section .section-line{border-color:#17181640;margin-bottom:1vw}.people-section .eyebrow{color:#514d44}
.founder-stage{display:grid;grid-template-columns:1fr 1fr;min-height:760px;align-items:end;position:relative;border-bottom:1px solid #17181640}
.founder-copy{padding:5vw 0 4vw;position:relative;z-index:2}.founder-copy>h2{font-size:clamp(90px,12vw,210px);line-height:.85;margin:25px 0 55px;text-transform:uppercase}.founder-copy>h2 em{font-family:Georgia,serif;text-transform:none;font-weight:400}.founder-name h3{font-size:clamp(30px,3vw,52px);letter-spacing:-.04em;margin:12px 0 20px}.founder-name p{font-size:17px;line-height:1.5;color:#514d44}
.founder-portrait{position:relative;height:min(65vw,900px);min-height:650px;display:flex;align-items:end;justify-content:center;isolation:isolate}.founder-portrait img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom;z-index:1}.portrait-arch{position:absolute;inset:10% 3% 0;border:1px solid #17181640;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#e1d8ca66,#e1d8ca00);z-index:-1}.portrait-word{position:absolute;top:14%;left:1%;font:italic clamp(90px,12vw,210px)/1 Georgia,serif;color:#17181612;z-index:0;letter-spacing:-.1em}
.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5vw;margin-top:5vw}.team-member{min-width:0}.member-portrait{height:28vw;max-height:430px;min-height:260px;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #17181650}.member-portrait:before{content:'';position:absolute;inset:25% 0 0;background:#e1d8ca66;border-radius:50% 50% 0 0;z-index:-1}.member-portrait img{height:100%;width:100%;object-fit:contain;object-position:bottom;transition:transform 1s var(--ease)}.team-member:hover img{transform:scale(1.025)}.member-number{position:absolute;top:14px;left:0;font:italic 15px Georgia;color:#514d44}.member-caption{padding-top:20px}.member-caption h3{font-size:clamp(20px,1.9vw,31px);letter-spacing:-.035em}.member-caption p{font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-top:8px;color:#514d44}
@media(max-width:1024px){.founder-stage{min-height:600px}.founder-portrait{min-height:560px;height:70vw}.founder-copy>h2{font-size:12vw;margin-bottom:45px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.member-portrait{height:50vw;min-height:0;max-height:500px}.member-caption h3{font-size:28px}.contact-aside a.roll{font-size:clamp(15px,2.5vw,23px)}}
@media(max-width:600px){.footer-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-columns .email.roll{font-size:clamp(16px,5.2vw,25px)}.footer-columns .email .roll-alternate{font-size:1em;line-height:1.4}.people-section{padding-bottom:65px}.people-section .section-line{gap:20px;align-items:start}.people-section .section-line .eyebrow{font-size:10px}.founder-stage{grid-template-columns:1fr;min-height:0}.founder-copy{padding:35px 0 0}.founder-copy>h2{font-size:20vw;margin:20px 0 30px}.founder-name h3{font-size:36px;margin:8px 0 12px}.founder-name p{font-size:15px}.founder-portrait{height:123vw;min-height:0;margin-top:30px}.portrait-word{font-size:29vw}.people-grid{gap:35px 15px;margin-top:45px}.member-portrait{height:61vw}.member-caption{padding-top:13px}.member-caption h3{font-size:22px}.member-caption p{font-size:9px;line-height:1.5}.member-number{font-size:12px}.contact-aside a.roll{font-size:4.25vw}}
.footer-columns a.roll{display:grid}

.brand svg{display:block}
/* Rotating long labels can otherwise leave a sliver of the departing face. */
.roll>.roll-inner{opacity:1;transition:transform var(--motion-primary),opacity .2s ease}
.roll>.roll-alternate{opacity:0;transition:transform var(--motion-primary),opacity .2s ease}
.roll:hover>.roll-inner,a:hover>.roll>.roll-inner,.project-card:hover .roll>.roll-inner,.reference-cta:hover .roll>.roll-inner,.archive-tile:hover .roll>.roll-inner,.arrow-link:hover .roll>.roll-inner,header a[aria-current=page]>.roll-inner{opacity:0}
.roll:hover>.roll-alternate,a:hover>.roll>.roll-alternate,.project-card:hover .roll>.roll-alternate,.reference-cta:hover .roll>.roll-alternate,.archive-tile:hover .roll>.roll-alternate,.arrow-link:hover .roll>.roll-alternate,header a[aria-current=page]>.roll-alternate{opacity:1}
/* Three 10-second moving-film previews follow the pointer over the craft rows. */
#servicePreview{width:clamp(260px,27vw,500px);height:0;transform:translateY(-50%);border-radius:3px;background:var(--ink);box-shadow:0 15px 60px #0003;transition:height .55s cubic-bezier(.7,0,.3,1)}
#servicePreview.active{height:clamp(146.25px,15.1875vw,281.25px)}
#servicePreview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease}
#servicePreview video.playing{opacity:1}
@media(max-width:1024px),(hover:none),(prefers-reduced-motion:reduce){#servicePreview{display:none!important}}
/* Equal recognition for C&C's two co-founders. */
.founder-stage{grid-template-columns:.8fr 1.2fr;gap:4vw;min-height:0;padding:3vw 0 4vw;align-items:center}
.founder-copy{padding:0}.founder-copy>h2{font-size:clamp(72px,8.5vw,160px);margin:25px 0 35px}.founder-intro{font-size:17px;line-height:1.5;color:#514d44}
.founder-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2vw;align-items:end}.founder-feature{min-width:0}.founder-duo .founder-portrait{height:clamp(320px,33vw,570px);min-height:0;margin:0;border-bottom:1px solid #17181650}.founder-duo .portrait-arch{inset:15% 0 0}.founder-caption{padding-top:20px}.founder-caption h3{font-size:clamp(24px,2.2vw,38px);letter-spacing:-.04em}.founder-caption p{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#514d44;margin-top:9px}
.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1250px;margin-left:auto;margin-right:auto;gap:4vw}.people-grid .member-portrait{height:26vw;min-height:0;max-height:380px}
@media(max-width:1024px){.founder-stage{grid-template-columns:1fr;padding-top:35px;gap:35px}.founder-copy>h2{font-size:13vw;margin-bottom:25px}.founder-duo{gap:4vw}.founder-duo .founder-portrait{height:49vw;max-height:540px}.people-grid{gap:24px}.people-grid .member-portrait{height:32vw}.member-caption h3{font-size:23px}}
@media(max-width:600px){.founder-stage{padding:35px 0;gap:30px}.founder-copy>h2{font-size:20vw;margin:20px 0 25px}.founder-intro{font-size:15px}.founder-duo{gap:15px}.founder-duo .founder-portrait{height:62vw;max-height:none}.founder-caption{padding-top:13px}.founder-caption h3{font-size:22px;line-height:1.1;min-height:2.2em}.founder-caption p{font-size:9px;line-height:1.4}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 15px}.people-grid .member-portrait{height:61vw}.member-caption h3{font-size:22px}}

/* Project media: preserve complete frames and native playback controls. */
.project-film{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#171816;border-radius:2px}
.project-animation{padding-top:0}
.gallery-button{position:relative}
.gallery-visualization{display:block;position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);padding:8px 12px;background:rgba(20,22,19,.8);color:#fff;font-size:11px;line-height:1.4;letter-spacing:.04em;text-align:left;pointer-events:none}

.gallery-button.packet{align-self:start;background:var(--paper)}.gallery-button.packet img{height:auto;aspect-ratio:var(--packet-aspect,1300/1682);object-fit:contain}.gallery-button.packet:hover img{transform:none}

/* Whole-building framing at rest; restore the rounded monochrome hover treatment. */
.project-card .project-image,.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+4) .project-image{aspect-ratio:var(--cover-aspect,4/3);border-radius:0}
.project-card .project-image .image-settle{transform:none!important}
.project-card .project-image img{object-fit:contain;transform:none;filter:none}
@media(hover:hover) and (pointer:fine){.project-card:hover .project-image,.project-card:focus-visible .project-image{border-radius:50%}.project-card:hover .project-image img,.project-card:focus-visible .project-image img{transform:scale(1.05);filter:grayscale(1)}.archive-tile:hover img,.archive-tile:focus-visible img{transform:scale(1.05);filter:grayscale(1)}}
/* No visible text or portrait before its entrance animation begins. */
.motion-enabled main .letter-reveal:not(.reveal-started),.motion-enabled main .reveal-pending{opacity:0}
.motion-enabled main .reveal-pending:not(.letter-reveal):not(.project-card):not([data-count]){transform:translateY(24px)}
.founder-feature,.team-member{will-change:opacity,transform}
@media(prefers-reduced-motion:reduce){.motion-enabled main .letter-reveal:not(.reveal-started),.motion-enabled main .reveal-pending{opacity:1!important;transform:none!important}.project-card:hover .project-image,.project-card:focus-visible .project-image{border-radius:0}.project-card:hover .project-image img,.archive-tile:hover img{transform:none}}

/* Matching inset shapes interpolate from the full rectangle to a true circle. */
.project-card{container-type:inline-size}
.project-card .project-image,.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+4) .project-image{clip-path:inset(0px 0px round 0px);transition:clip-path 1.1s var(--ease)}
@media(hover:hover) and (pointer:fine){.project-card:hover .project-image,.project-card:focus-visible .project-image{border-radius:0;clip-path:inset(max(0px,calc((100% - 100% * var(--cover-ratio,1)) / 2)) max(0px,calc((100% - 100% / var(--cover-ratio,1)) / 2)) round min(50cqw,calc(50cqw / var(--cover-ratio,1))))}}
/* Keep the arch still while its person slides horizontally into the frame. */
.founder-portrait,.member-portrait{overflow:hidden}
.founder-portrait img,.member-portrait img{will-change:transform,opacity}
.motion-enabled .reveal-pending:is(.founder-feature,.team-member){transform:none!important}
.motion-enabled .reveal-pending:is(.founder-feature,.team-member) .portrait-reveal img{opacity:0;transform:translateX(-110%)}
@media(prefers-reduced-motion:reduce){.project-card .project-image,.project-card:hover .project-image,.project-card:focus-visible .project-image{clip-path:none;transition:none}.motion-enabled .reveal-pending:is(.founder-feature,.team-member) .portrait-reveal img{opacity:1;transform:none}}
