:root{--ink:#181613;--paper:#e9e4da;--cream:#f9f3e8;--gold:#c4a57a;--faint:#ada398;--line:#ffffff29;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;font-family:var(--sans);color:var(--cream);background:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,.panel-copy h3,.footer-invite{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(4rem,7.5vw,9rem);line-height:.96}em{font-family:var(--serif);font-weight:400}p{font-size:1rem;line-height:1.7}.eyebrow{font-size:.75rem;font-weight:450;letter-spacing:.14em;line-height:1.7}.section-space{padding:100px 6vw}.section-label{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:85px}.section-label>span:last-child{text-align:right}.section-label>.text-link{padding-top:0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;font-size:.875rem;border-bottom:1px solid;padding:12px 0}.text-link>span{font-size:1.5rem;transition:transform .3s}.text-link:hover>span{transform:translate(4px,-4px)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--cream);color:var(--ink);padding:15px}.skip:focus{top:20px}
.header{height:125px;position:absolute;z-index:15;top:0;left:0;right:0;display:flex;align-items:center;gap:50px;padding:15px 5vw;border-bottom:1px solid #ffffff26}.brand{display:block;flex-shrink:0;width:96px;height:96px}.brand img{object-fit:contain}.header-location{font-size:.75rem;letter-spacing:.13em;line-height:1.8;color:#e6d9c9}.header nav{margin-left:auto;display:flex;align-items:center;gap:40px}.header nav>a{font-size:.875rem;padding:14px 0}.header nav>a:hover{color:var(--gold)}.contact-link{border-bottom:1px solid #ffffff70;display:inline-flex;align-items:center;gap:38px}.contact-link>span{font-size:1.35rem}
.hero{height:100svh;min-height:700px;position:relative}.hero-sticky{height:100svh;min-height:700px;position:relative;overflow:hidden;background:var(--ink)}.hero-art,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-art{overflow:hidden;will-change:clip-path}.hero-panorama{object-position:60% 50%;transform:scale(1.045);will-change:transform}.hero-shade{background:linear-gradient(90deg,#15110d85 0%,#15110d10 66%),linear-gradient(0deg,#15110d8c 0%,transparent 32%,transparent 78%,#15110d65 100%);pointer-events:none}.hero-grid{display:flex;justify-content:space-between;margin:0 5vw;opacity:.24;pointer-events:none}.hero-grid i{height:100%;width:1px;background:#fff3}.hero-copy{position:absolute;left:6vw;top:27%;will-change:transform,opacity}.hero-copy>.eyebrow{display:flex;align-items:center;gap:16px;font-size:.75rem;margin-bottom:23px}.line{width:34px;height:1px;background:#bba78d}.hero-copy h1{font-size:clamp(6rem,11.9vw,13.5rem);line-height:.88;letter-spacing:-.046em}.title-line{display:block;overflow:hidden;padding:0 .04em .14em 0;margin-bottom:-.09em}.title-line>span{display:block}.hero-copy h1 em{color:#ecd5b3}.hero-description{display:flex;align-items:start;gap:26px;margin-top:38px}.short-line{width:48px;height:1px;background:var(--gold);margin-top:12px}.hero-description p{font-size:1rem;line-height:1.55;color:#f0e7da}.hero-bottom{position:absolute;left:6vw;right:6vw;bottom:40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.scroll-invite{display:flex;align-items:center;gap:18px;font-size:.75rem;line-height:1.6;letter-spacing:.12em}.scroll-invite small{font-size:.75rem;letter-spacing:.07em;color:#c7bba9}.scroll-circle{display:grid;place-items:center;width:65px;height:65px;border:1px solid #f4e4cf80;border-radius:50%;font-size:1.5rem;transition:background .3s,transform .3s}.scroll-invite:hover .scroll-circle{background:#ffffff20;transform:translateY(4px)}.cover-credit{border-left:1px solid #ffffff55;padding-left:20px;margin-left:auto}.cover-credit p{font-size:.75rem;opacity:.75}.hero-edition{font-size:.75rem;letter-spacing:.18em;writing-mode:vertical-rl;position:absolute;right:0;bottom:170px}.hero-after{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:clamp(4rem,8vw,10rem);line-height:1.05;letter-spacing:-.035em;opacity:0;visibility:hidden;pointer-events:none;text-align:center;text-shadow:0 2px 30px #0005}.hero-after em{color:#edd7b8}.enhanced .hero{height:185svh}.enhanced .hero-sticky{position:sticky;top:0}.enhanced .title-line>span{animation:rise 1.3s cubic-bezier(.18,.65,.22,1) both}.enhanced .title-line:nth-child(2)>span{animation-delay:.15s}.enhanced .entrance{animation:appear 1.3s ease .3s both}.enhanced .header{animation:appear 1.2s ease both}@keyframes rise{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes appear{from{opacity:0}to{opacity:1}}
.philosophy{position:relative;padding-top:90px;padding-bottom:145px;background:var(--ink);border-bottom:1px solid var(--line)}.philosophy .section-label{color:#b8ab99}.philosophy-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:8vw;align-items:center}.detail-composition{height:510px;position:relative}.detail-image{position:absolute;overflow:hidden}.detail-one{width:68%;height:85%;left:0;top:0;transform:rotate(-5deg)}.detail-two{width:45%;height:62%;right:0;bottom:-15px;transform:rotate(7deg);box-shadow:0 15px 55px #0007;border:7px solid var(--ink)}.detail-image img{transition:transform 1s}.detail-composition:hover img{transform:scale(1.04)}.detail-coordinate{position:absolute;bottom:-42px;left:10px;font-size:.75rem;letter-spacing:.13em;color:var(--gold)}.philosophy-copy h2{font-size:clamp(3.8rem,6.5vw,8rem);margin-bottom:35px}.philosophy-copy h2 em{color:var(--gold)}.philosophy-copy p{color:#b8b0a6;max-width:420px;margin-bottom:20px}.philosophy-copy .text-link{margin-top:12px}
.work{background:var(--paper);color:var(--ink)}.work-heading{padding-bottom:65px}.work-heading .section-label{color:#6f6150;margin-bottom:40px}.work-title-row{display:flex;align-items:end;justify-content:space-between;gap:40px}.work-title-row h2{font-size:clamp(5rem,10vw,12rem);line-height:.9}.work-title-row h2 em{color:#8f6f4a}.work-title-row>p{margin-bottom:15px;color:#665a4c}.work-scroll-note{max-width:190px;margin-bottom:20px;text-align:right;font-size:.75rem;color:#6f6150}.work-scroll-note>span{display:block;font-size:2rem}.project-panel{position:relative;display:flex;height:calc(100svh - 78px);min-height:640px;overflow:hidden}.panel-copy{width:43%;padding:65px 5vw;display:flex;align-items:start;flex-direction:column;justify-content:center;position:relative;z-index:2}.panel-copy>.eyebrow{color:#6f6150;margin-bottom:45px}.panel-copy>.eyebrow b{font-weight:400;margin-right:16px;color:inherit}.panel-copy h3{font-size:clamp(5rem,9.2vw,11rem);line-height:.91;margin-bottom:32px}.panel-copy h3 em{color:#8f6f4a}.panel-copy p{color:#665a4c;margin-bottom:35px}.round-link{display:flex;gap:30px;align-items:center;font-size:.875rem;max-width:100%}.round-link i{display:grid;place-items:center;border:1px solid #8e8068;width:48px;height:48px;flex-shrink:0;border-radius:50%;font-style:normal;font-size:1.5rem;transition:background .3s,transform .3s}.round-link:hover i{background:#b4956b33;transform:rotate(45deg)}.panel-image{width:57%;height:100%;position:relative;overflow:hidden}.panel-image>img{object-position:center 55%;width:100%;height:100%}.image-label{position:absolute;bottom:30px;right:30px;color:white;text-shadow:0 1px 10px black}.panel-exterior .panel-image{position:absolute;inset:0;width:100%}.panel-exterior .panel-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#191b19bc,transparent 80%)}.panel-exterior .panel-image img{object-position:center 47%}.panel-exterior .panel-copy{color:var(--cream);width:55%}.panel-exterior .panel-copy p,.panel-exterior .panel-copy>.eyebrow{color:#ede8de}.panel-exterior .panel-copy h3 em{color:#e3d7c3}.panel-exterior .round-link i{border-color:#f4ead9aa}.panel-character{background:#29231e;color:var(--cream)}.panel-character .panel-copy{width:55%}.panel-character .panel-copy h3{font-size:clamp(4.5rem,7.6vw,9rem)}.panel-character .panel-copy h3 em{color:var(--gold)}.panel-character .panel-copy p,.panel-character .panel-copy>.eyebrow{color:#c1b7aa}.character-frame{width:45%;padding:4vh 6vw 4vh 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.character-frame .panel-image{width:100%;max-width:361px;height:min(65vh,640px)}.character-frame>.eyebrow{color:#ac9e8b;font-size:.75rem;text-align:center}.collection-nav{display:none;align-items:center;justify-content:space-between;padding:0 5vw;height:78px;border-top:1px solid #44352133;background:var(--paper)}.project-steps{display:flex;gap:12px}.project-steps button{border:0;background:none;padding:12px 8px;display:flex;align-items:center;gap:13px;cursor:pointer;font-size:.875rem;min-height:44px}.project-steps i{width:50px;height:1px;background:#30251b36;display:block;position:relative}.project-steps i:after{content:'';position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:#775536;transition:transform .4s}.project-steps button[aria-pressed=true] i:after{transform:scaleX(1)}.project-steps button[aria-pressed=true]{color:#885c2d}
.clients{background:#141310;padding-bottom:120px}.clients .section-label{color:#ad9e8a}.clients-intro{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:75px}.clients-intro h2{font-size:clamp(5rem,8vw,10rem)}.clients-intro h2 em{color:var(--gold)}.clients-intro p{color:#ab9f90;margin-bottom:15px;padding-right:6vw}.client-list>a{position:relative;display:flex;align-items:center;gap:45px;min-height:112px;padding:23px 0;border-top:1px solid #ffffff25;transition:padding .45s,color .3s,background .4s}.client-list>a:last-child{border-bottom:1px solid #ffffff25}.client-no{font-size:.75rem;color:#92846f;align-self:center}.client-name{font-family:var(--serif);font-size:clamp(2.1rem,4vw,5rem);letter-spacing:-.025em;line-height:1.2}.client-name em{color:#b7a58b;font-size:.65em;margin-left:10px}.client-action{margin-left:auto;font-size:.75rem;letter-spacing:.07em;color:#a9977b;transition:transform .4s}.client-list>a:hover,.client-list>a:focus-visible{padding-left:20px;color:#e6cda7;background:linear-gradient(90deg,#b68d5915,transparent)}.client-list>a:hover .client-action{transform:translateX(-15px)}
.studio{background:var(--paper);color:var(--ink);padding-bottom:120px}.studio .section-label{color:#756754}.studio-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;align-items:end;margin-bottom:75px}.studio-heading h2{font-size:clamp(5rem,9vw,11rem)}.studio-heading h2 em{color:#8c6f4c}.studio-heading>div{max-width:420px}.studio-heading p{color:#665c50}.studio-heading .education{font-size:.75rem;letter-spacing:.1em;line-height:1.9;margin-top:30px;color:#8e7453}.founders{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:stretch}.founder{min-width:0;display:flex;flex-direction:column}.founder-meta{flex:1}.portrait{aspect-ratio:4/4.7;position:relative;overflow:hidden;background:#242320}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c0b09aa,transparent 45%);pointer-events:none}.portrait img{filter:grayscale(1);object-position:center 35%;transition:transform 1s}.portrait:hover img{transform:scale(1.035)}.founder-meta{padding-top:22px;border-bottom:1px solid #5c463d40;padding-bottom:24px}.founder-meta h3{font-size:1.25rem;font-weight:450;margin-bottom:8px}.founder-meta>.eyebrow{color:#76634d;font-size:.75rem;letter-spacing:.08em}
footer{position:relative;isolation:isolate;background:var(--ink);overflow:hidden}.footer-image{position:absolute;inset:0;z-index:-2}.footer-image img{object-position:65% 50%;filter:saturate(.6)}footer:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#14110ee6,#14110e66 48%,#14110ef0)}.footer-content{padding-bottom:35px}.footer-content .section-label{color:#d3c2aa}.footer-invite{font-size:clamp(6rem,15vw,18rem);line-height:.88;display:block;position:relative;border-bottom:1px solid #ffffff3b;padding-bottom:70px;letter-spacing:-.04em}.footer-invite>span,.footer-invite>em{display:block}.footer-invite>em{color:#ddc3a0}.footer-invite>i{position:absolute;right:3vw;top:30%;font-family:Arial,sans-serif;font-style:normal;font-size:.38em;font-weight:300;transition:transform .4s}.footer-invite:hover>i{transform:translate(12px,-12px)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:40px 0}.footer-bottom p{font-size:.875rem;color:#d9cbb8}.footer-bottom .brand{width:104px;height:104px}.back-top{font-size:.75rem;letter-spacing:.1em;display:inline-flex;align-items:center;min-height:44px}.colophon{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff24;padding-top:24px;font-size:.75rem;color:#bcad99;letter-spacing:.03em}.page-progress{position:fixed;bottom:0;left:0;right:0;height:2px;z-index:20;pointer-events:none}.page-progress>span{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}.word-reveal{transition:filter .1s}
@media(min-width:901px){.enhanced .collection-track{height:300svh}.enhanced .collection-sticky{position:sticky;top:0;overflow:hidden;height:100svh;min-height:670px}.enhanced .collection-rail{display:flex;width:300%;height:calc(100% - 78px);will-change:transform}.enhanced .project-panel{width:33.333333%;height:100%;min-height:0;flex-shrink:0}.enhanced .collection-nav{display:flex}.enhanced .project-panel:focus-within{outline:none}}
@media(max-width:1100px){.header{gap:25px}.header nav{gap:28px}.philosophy-layout{gap:5vw}.detail-composition{height:430px}.philosophy-copy h2{font-size:6.5vw}.panel-copy{padding:45px 5vw}.panel-copy>.eyebrow{margin-bottom:30px}.panel-copy h3{font-size:9vw}.round-link{gap:15px}.work-scroll-note{display:none}.clients-intro p{padding-right:0}}
@media(max-width:900px){.header{height:100px;padding:10px 5vw}.brand{width:80px;height:80px}.header-location{display:none}.hero,.hero-sticky{min-height:650px}.hero-copy{top:29%}.hero-copy h1{font-size:15vw}.hero-panorama{object-position:62% 50%}.hero-copy>.eyebrow{font-size:.75rem}.section-space{padding:75px 6vw}.section-label{margin-bottom:60px}.section-label>span:last-child{max-width:240px}.philosophy-layout{grid-template-columns:1fr 1.1fr}.detail-composition{height:350px}.philosophy-copy h2{font-size:7vw}.philosophy-copy p{font-size:.9375rem}.philosophy{padding-bottom:105px}.work-title-row h2{font-size:13vw}.work-title-row>p{font-size:.9375rem}.project-panel{height:700px;min-height:0}.panel-copy h3{font-size:9vw}.panel-copy{padding:35px 5vw}.panel-copy>.eyebrow{font-size:.75rem}.panel-copy p{font-size:.9375rem}.panel-character .panel-copy h3{font-size:8vw}.character-frame{padding-right:5vw}.character-frame .panel-image{height:500px}.clients-intro h2{font-size:11vw}.client-list>a{gap:25px;min-height:100px}.client-action{font-size:.75rem}.client-name{font-size:5vw}.studio-heading{gap:6vw}.studio-heading h2{font-size:10vw}.founders{gap:5vw}.founder-meta h3{font-size:1.125rem}.founder-meta>.eyebrow{font-size:.75rem}.footer-bottom{flex-wrap:wrap;justify-content:start;gap:30px}.footer-bottom>*{flex-basis:40%}.footer-bottom .brand{flex-basis:auto;margin-right:calc(40% - 104px)}.footer-bottom .text-link{flex-basis:auto}.back-top{margin-left:auto}}
@media(max-width:600px){html{scroll-padding-top:0}.header{height:92px;padding:8px 5vw}.brand{width:73px;height:73px}.header nav{gap:20px}.header nav>a{font-size:.8125rem}.header nav>a:nth-child(2){display:none}.contact-link{gap:12px}.hero,.hero-sticky{min-height:620px}.enhanced .hero{height:165svh}.hero-art{inset:0}.hero-panorama{object-position:61% 50%}.hero-shade{background:linear-gradient(90deg,#17110b80,#17110b05),linear-gradient(0deg,#14100bba,transparent 65%,#14100b55)}.hero-grid{margin:0 6vw}.hero-copy{left:7vw;top:31%;right:5vw}.hero-copy h1{font-size:clamp(5.2rem,19vw,7.2rem);letter-spacing:-.045em;line-height:.89}.hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.09em;gap:10px;margin-bottom:25px}.hero-copy>.eyebrow .line{width:15px}.hero-description{margin-top:32px;gap:18px}.hero-description p{font-size:.9375rem}.short-line{width:28px}.hero-bottom{left:7vw;right:7vw;bottom:27px;gap:20px}.scroll-invite{font-size:.75rem;gap:12px;letter-spacing:.08em}.scroll-circle{width:47px;height:47px}.scroll-invite small{display:none}.cover-credit{padding-left:12px}.cover-credit .eyebrow{font-size:.75rem;letter-spacing:.06em}.cover-credit p{font-size:.75rem;max-width:115px;line-height:1.4;margin-top:5px}.hero-edition{display:none}.hero-after{font-size:clamp(3.2rem,12vw,4.6rem);padding:20px}.section-space{padding:60px 7vw}.section-label{align-items:start;gap:25px;margin-bottom:45px}.section-label .eyebrow{font-size:.75rem;letter-spacing:.08em}.section-label>span:last-child{max-width:155px}.philosophy .section-label>span:last-child{display:none}.philosophy-layout{display:flex;flex-direction:column;gap:65px;align-items:stretch}.detail-composition{height:330px;width:90%;margin-top:15px}.detail-one{width:66%;height:90%}.detail-two{width:49%;height:70%;right:0}.detail-coordinate{font-size:.75rem;bottom:-30px}.philosophy-copy h2{font-size:clamp(3.4rem,12vw,4.6rem);margin-bottom:26px}.philosophy-copy p{font-size:1rem}.philosophy-copy .text-link{margin-top:5px}.work-heading{padding-bottom:40px}.work-heading .section-label{align-items:center}.work-heading .section-label .eyebrow{max-width:135px}.text-link{font-size:.875rem;gap:22px}.work-title-row{display:block}.work-title-row h2{font-size:clamp(4.6rem,17vw,6.8rem)}.work-title-row>p{margin-top:25px;margin-bottom:0;font-size:1rem}.work-title-row>p br{display:none}.work-title-row>p br:after{content:' '}.project-panel{height:auto;display:flex;flex-direction:column;min-height:0;overflow:visible}.project-panel .panel-image{width:100%;height:auto;aspect-ratio:4/5;order:0}.project-panel .panel-copy{width:100%;padding:35px 7vw 50px;order:1;display:block}.panel-copy>.eyebrow{display:block;margin-bottom:20px}.panel-copy h3,.panel-character .panel-copy h3{font-size:clamp(4rem,15vw,6rem);line-height:.96;margin-bottom:24px}.panel-copy p{font-size:1rem;margin-bottom:25px}.panel-copy p br{display:none}.panel-copy p br:after{content:' '}.round-link{justify-content:space-between;width:100%;max-width:320px}.panel-exterior .panel-image{position:relative;inset:auto;aspect-ratio:4/5}.panel-exterior .panel-image:after{display:none}.panel-exterior{background:#302b25}.panel-exterior .panel-copy h3 em{color:#d1b084}.panel-character .character-frame{width:100%;padding:45px 12vw 15px;order:0;gap:16px}.character-frame .panel-image{width:100%;height:auto;aspect-ratio:361/640;max-height:none}.character-frame>.eyebrow{font-size:.75rem}.image-label{font-size:.75rem;bottom:20px;right:20px}.clients .section-label>span:last-child{display:none}.clients-intro{display:block;margin-bottom:40px}.clients-intro h2{font-size:clamp(4.5rem,15vw,6rem)}.clients-intro p{font-size:1rem;margin-top:30px}.client-list>a{min-height:95px;gap:20px;padding:20px 0}.client-name{font-size:clamp(1.8rem,6.5vw,2.5rem);line-height:1.1}.client-name em{font-size:.65em;display:block;margin-left:0;margin-top:5px}.client-action{font-size:0}.client-action:after{content:'↗';font-size:1.2rem}.client-list>a:hover{padding-left:8px}.client-list>a:hover .client-action{transform:none}.client-no{font-size:.75rem}.studio .section-label>span:last-child{max-width:125px}.studio-heading{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.studio-heading h2{font-size:clamp(4.5rem,15vw,6rem)}.studio-heading p{font-size:1rem}.studio-heading .education{margin-top:25px;font-size:.75rem}.founders{grid-template-columns:1fr 1fr;gap:5vw}.portrait{aspect-ratio:4/4.5}.founder-meta{padding-top:16px;padding-bottom:18px}.founder-meta h3{font-size:1rem;margin-bottom:6px}.founder-meta>.eyebrow{font-size:.6875rem;letter-spacing:.06em}.footer-content .section-label>span:last-child{max-width:140px}.footer-invite{font-size:clamp(5rem,18vw,7rem);padding-bottom:45px;line-height:.95}.footer-invite>i{right:0;top:48%;font-size:.45em}.footer-bottom{margin:30px 0;gap:20px 25px}.footer-bottom .brand{width:86px;height:86px;margin-right:5vw}.footer-bottom p{flex-basis:auto;font-size:.8125rem}.footer-bottom .text-link{font-size:.875rem;gap:22px}.back-top{font-size:.75rem}.colophon{font-size:.75rem;line-height:1.6}.colophon>span:last-child{max-width:140px;text-align:right}.footer-content{padding-bottom:30px}}
@media(max-width:370px){.header nav{gap:15px}.header nav>a{font-size:.75rem}.hero-copy h1{font-size:5.2rem}.hero-copy>.eyebrow{letter-spacing:.015em}.hero-copy>.eyebrow .line{display:none}.scroll-invite{max-width:145px}.hero-bottom{gap:10px}.cover-credit{padding-left:10px}.cover-credit .eyebrow{font-size:.75rem;letter-spacing:0}.footer-bottom .brand{margin-right:0}.footer-bottom p{font-size:.8125rem}.back-top{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.enhanced .hero{height:100svh}.hero-sticky{position:relative!important}.hero-art{clip-path:none!important}.hero-panorama{transform:none!important}.hero-copy{opacity:1!important;visibility:visible!important;transform:none!important}.hero-bottom{opacity:1!important;visibility:visible!important}.hero-after{display:none}.collection-track{height:auto!important}.collection-sticky{height:auto!important;position:relative!important}.collection-rail{display:block!important;width:auto!important;height:auto!important;transform:none!important}.project-panel{width:100%!important;height:700px!important}.collection-nav{display:none!important}.detail-composition{transform:none!important}.word-reveal{filter:none!important}.portrait{transform:none!important}.page-progress{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:600px){.project-panel{height:auto!important}}

@media(min-width:901px){.enhanced .collection-sticky{min-height:0}}
@media(min-width:901px) and (max-height:700px){.project-panel .panel-copy{padding-top:30px;padding-bottom:30px}.panel-copy h3{font-size:clamp(4.5rem,8vw,6.7rem);margin-bottom:22px}.panel-copy>.eyebrow{margin-bottom:22px}.panel-copy p{margin-bottom:22px}.hero-sticky,.hero{min-height:620px}.hero-copy h1{font-size:clamp(5rem,10.8vw,8.5rem)}.hero-description{margin-top:25px}}
@media(max-width:600px){.panel-copy p br,.work-title-row>p br{display:initial}}
@media(max-width:370px){.hero-copy h1{font-size:4.7rem}}

/* The villa is a single scroll-controlled camera journey. */
.clients .client-name{font-family:var(--sans);font-size:clamp(1.65rem,3vw,3rem);font-weight:400;letter-spacing:-.025em;line-height:1.2}
.clients .client-name em{font-family:var(--sans);display:block;font-size:.875rem;font-style:normal;font-weight:400;letter-spacing:.025em;color:var(--gold);margin:8px 0 0}
.clients .client-list>a{min-height:112px;gap:28px}
.clients .client-action{font-size:.75rem;letter-spacing:.06em;white-space:nowrap}
@media(max-width:600px){.clients .client-list>a{gap:18px;min-height:100px}.clients .client-action{font-size:0}.clients .client-name em{font-size:.8125rem}.clients .client-name{overflow-wrap:anywhere}}
.cinematic.hero,.cinematic .hero-sticky{min-height:540px}
.enhanced .cinematic.hero{height:1000svh}
.journey-loading{position:absolute;top:120px;left:6vw;font-size:.8125rem;padding:9px 14px;background:#181613c9;color:var(--cream);border:1px solid #ffffff30}
.journey-loading[hidden]{display:none}
.cinematic .hero-art{inset:0;clip-path:none;will-change:auto}
.cinematic .hero-panorama{transform:none;object-position:center;will-change:auto}
.villa-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.villa-canvas.ready{opacity:1}
.cinematic .hero-shade{background:linear-gradient(180deg,#0d0b0970,transparent 23%,transparent 48%,#0c0a097a 86%,#0c0a09a8);pointer-events:none}
.cinematic .header{height:108px;padding:10px 4.5vw;border:0;gap:30px;mix-blend-mode:screen;animation:none}
.cinematic .header .brand{width:85px;height:85px}
.cinematic .header-location{font-size:.75rem}
.cinematic .hero-copy{top:auto;bottom:155px;left:6vw;right:12vw;text-shadow:0 2px 30px #0005}
.cinematic .hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.18em;margin-bottom:24px}
.cinematic .hero-copy h1{font-size:clamp(4.7rem,7.8vw,8.7rem);line-height:.91}
.cinematic .title-line>span{animation:none}
.journey-enter{display:inline-flex;gap:50px;align-items:center;padding:16px 0 8px;border-bottom:1px solid #ffffff70;font-size:.875rem;margin-top:18px}
.journey-enter span{font-size:1.2rem;transition:transform .3s}
.journey-enter:hover span{transform:translateY(4px)}
.journey-caption{position:absolute;left:6vw;bottom:158px;opacity:0;visibility:hidden;pointer-events:none;text-shadow:0 2px 30px #0007}
.journey-caption>.eyebrow{display:block;letter-spacing:.18em;margin-bottom:20px}
.journey-caption p{font-family:var(--serif);font-size:clamp(4rem,6.7vw,7.8rem);letter-spacing:-.035em;line-height:.98}
.journey-caption em{color:#ebd7ba}
.journey-passage{bottom:25%;left:8vw}
.journey-side{position:absolute;right:4.5vw;top:38%;display:flex;flex-direction:column;align-items:center;gap:20px;font-size:.75rem;letter-spacing:.14em}
.journey-side>i{height:115px;width:1px;background:#ffffff40;position:relative}
.journey-side b{position:absolute;inset:0;background:#f4e7d4;transform:scaleY(0);transform-origin:top}
.journey-side>span:last-child{writing-mode:vertical-rl;font-size:.75rem}
.journey-bottom{position:absolute;left:6vw;right:6vw;bottom:46px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.journey-controls{display:none;gap:24px;width:min(480px,55%)}
.enhanced .journey-controls{display:flex}
.journey-controls button{border:0;background:transparent;padding:14px 0;position:relative;flex:1;text-align:left;cursor:pointer;font-size:.875rem;color:#e0d8cc;min-height:48px}
.journey-controls button>span{font-size:.75rem;margin-right:12px;color:#c9bba8}
.journey-controls button>i{position:absolute;bottom:0;left:0;right:0;height:1px;background:#ffffff40;overflow:hidden}
.journey-controls button b{display:block;width:100%;height:100%;background:var(--cream);transform:scaleX(0);transform-origin:left}
.journey-controls button[aria-pressed=true]{color:white}
.journey-controls button:hover{color:#f1cf9a}
.journey-skip{margin-left:auto;font-size:.875rem;display:flex;gap:35px;align-items:center;min-height:44px}
.journey-skip>span{font-size:1.4rem}
.film-unavailable .cinematic.hero{height:100svh}
.film-unavailable .journey-controls,.film-unavailable .journey-side{display:none}
@media(max-width:900px){
 .cinematic .header{height:92px}.cinematic .header .brand{height:75px;width:75px}
 .cinematic .hero-copy h1{font-size:clamp(4.5rem,10vw,7rem)}
 .journey-side{right:5vw}.journey-bottom{gap:30px}.journey-controls{width:58%;gap:16px}
 .journey-skip{gap:15px}.journey-controls button>span{margin-right:6px}
}
@media(max-width:600px){
 .enhanced .cinematic.hero{height:850svh}
 .cinematic .hero-sticky{height:100svh;min-height:560px}
 .cinematic .header{padding:8px 5vw}.cinematic .header .brand{width:68px;height:68px}
 .cinematic .hero-copy{left:7vw;right:10vw;bottom:185px}
 .cinematic .hero-copy h1{font-size:clamp(3.8rem,15vw,5.5rem)}
 .cinematic .hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.07em;margin-bottom:20px}
 .journey-enter{font-size:.875rem;margin-top:12px;padding-top:12px}
 .journey-side{right:6vw;top:24%;gap:12px}.journey-side>i{height:60px}.journey-side>span:last-child{display:none}
 .journey-caption{left:7vw;right:7vw;bottom:185px}.journey-caption p{font-size:clamp(3.6rem,13vw,5rem)}
 .journey-caption>.eyebrow{font-size:.75rem;letter-spacing:.1em}.journey-passage{bottom:30%}
 .journey-bottom{left:7vw;right:7vw;bottom:42px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .journey-controls{width:100%;gap:20px}.journey-controls button{font-size:.875rem}
 .journey-skip{font-size:.8125rem;min-height:36px;margin-left:0;justify-content:space-between}
 }
@media(max-height:650px) and (min-width:601px){
 .cinematic .hero-copy,.journey-caption{bottom:120px}.cinematic .hero-copy h1{font-size:4.8rem}
 .cinematic .hero-copy>.eyebrow{margin-bottom:16px}.journey-enter{margin-top:0}
 .journey-caption p{font-size:4.8rem}.journey-bottom{bottom:34px}
}
@media(prefers-reduced-motion:reduce){
 .enhanced .cinematic.hero,.cinematic.hero{height:100svh}
 .villa-canvas,.journey-side,.journey-controls,.enhanced .journey-controls,.journey-caption{display:none}
 .cinematic .hero-copy{opacity:1!important;visibility:visible!important;transform:none!important}
}

/* ---- Design brief ------------------------------------------------- */
.brief [hidden]{display:none!important}
.brief{background:var(--cream);color:var(--ink);padding-bottom:110px}
.brief .section-label{color:#7a6d5e}
.brief-intro{max-width:680px}
.brief-intro h2{font-family:var(--serif);font-size:clamp(3.4rem,7vw,6.5rem);line-height:.98;letter-spacing:-.03em;margin:0 0 26px}
.brief-intro h2 em{color:#8c6f4c}
.brief-intro p{color:#5f5648;font-size:1rem;line-height:1.65;margin:0 0 34px;max-width:52ch}
.brief-open{font-family:var(--sans);font-size:.875rem;letter-spacing:.06em;color:var(--ink);background:none;
  border:1px solid #1816134d;border-radius:0;padding:16px 28px;display:inline-flex;align-items:center;gap:16px;
  cursor:pointer;transition:background .35s,color .35s,border-color .35s}
.brief-open:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.brief-open[aria-expanded=true]>span{transform:rotate(180deg)}
.brief-open>span{transition:transform .35s}

.brief-panel{margin-top:60px;border-top:1px solid #18161326;padding-top:34px}
.brief-progress{display:flex;gap:18px;list-style:none;margin:0 0 46px;padding:0;flex-wrap:wrap}
.brief-progress li{flex:1 1 130px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#9a8e7e;
  border-top:1px solid #18161326;padding-top:12px;transition:color .3s,border-color .3s}
.brief-progress li span{color:inherit;margin-right:6px}
.brief-progress li.is-done{color:#6f6357;border-top-color:#1816134d}
.brief-progress li.is-current{color:var(--ink);border-top-color:var(--ink)}

.brief-step{border:0;margin:0;padding:0;min-width:0}
.brief-step legend{padding:0;font-size:.75rem;letter-spacing:.1em;color:#8c7f6f}
.brief-step h3{font-family:var(--serif);font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.05;letter-spacing:-.025em;
  margin:14px 0 14px;outline:none}
.brief-lede{color:#5f5648;font-size:.9375rem;line-height:1.65;margin:0 0 38px;max-width:60ch}

.brief-field{margin-bottom:38px}
.brief-label{display:block;font-size:.8125rem;letter-spacing:.02em;color:#3d362c;margin-bottom:14px;font-weight:500}
.brief-label i{font-style:normal;color:#8c7f6f;font-weight:400}
.brief-options{display:flex;flex-wrap:wrap;gap:12px}
.brief-opt{position:relative;display:inline-flex;align-items:center;gap:10px;border:1px solid #18161330;
  padding:13px 20px;font-size:.875rem;cursor:pointer;transition:border-color .25s,background .25s;min-height:48px}
.brief-opt:hover{border-color:#18161366}
.brief-opt input{position:absolute;opacity:0;width:0;height:0}
.brief-opt span{position:relative;padding-left:24px;line-height:1.35}
.brief-opt span:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:14px;height:14px;
  border:1px solid #18161366;border-radius:50%;transition:border-color .2s,background .2s}
.brief-opt input[type=checkbox]+span:before{border-radius:2px}
.brief-opt input:checked+span:before{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 3px var(--cream)}
.brief-opt:has(input:checked){border-color:var(--ink);background:#1816130a}
.brief-opt:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.brief-opt:has(input:disabled){opacity:.4;cursor:not-allowed}

.brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.brief-text{display:block;min-width:0}
.brief-text input,.brief-text textarea,.brief-text select{width:100%;box-sizing:border-box;font:inherit;font-size:.9375rem;
  color:var(--ink);background:#fffdf9;border:1px solid #18161330;padding:14px 16px;border-radius:0;
  transition:border-color .25s}
.brief-text textarea{resize:vertical;line-height:1.6}
.brief-text input:focus,.brief-text textarea:focus,.brief-text select:focus{outline:none;border-color:var(--ink)}
.brief-text ::placeholder{color:#a2988a}
.brief-hint{font-size:.75rem;color:#8c7f6f;margin:9px 0 0;line-height:1.55;display:block}
.brief-count{font-size:.75rem;letter-spacing:.06em;color:#8c7f6f;margin:14px 0 0}
.brief-error{font-size:.8125rem;color:#9c4a32;margin:14px 0 0}

.brief-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.brief-card{position:relative;display:flex;flex-direction:column;border:1px solid #18161326;padding:0 0 14px;
  cursor:pointer;overflow:hidden;transition:border-color .25s,background .25s}
.brief-card:hover{border-color:#18161366}
.brief-card input{position:absolute;opacity:0;width:0;height:0}
.brief-card-img{display:block;aspect-ratio:3/4;overflow:hidden;background:#ddd5c8}
.brief-card-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25)}
.brief-card-script{display:grid;place-items:center;align-content:center;aspect-ratio:3/4;font-family:var(--serif);
  font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;text-align:center;color:#6f6357;background:#efe7db}
.brief-card-script em{color:#8c6f4c}
.brief-card-title{display:block;font-size:.875rem;font-weight:500;margin:14px 14px 4px;padding-left:22px;position:relative;line-height:1.3}
.brief-card-title:before{content:'';position:absolute;left:0;top:2px;width:14px;height:14px;border:1px solid #18161366;
  border-radius:50%;transition:border-color .2s,background .2s}
.brief-card input:checked+.brief-card-title:before{border-color:var(--ink);background:var(--ink);
  box-shadow:inset 0 0 0 3px var(--cream)}
.brief-card:has(input:checked){border-color:var(--ink);background:#1816130a}
.brief-card:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.brief-card-note{display:block;font-size:.8125rem;color:#6f6357;line-height:1.55;margin:0 14px;padding-left:22px}
.brief-card-plain{grid-column:1/-1;flex-direction:row;align-items:center;padding:0 18px 0 0;gap:4px}
.brief-card-plain .brief-card-script{aspect-ratio:auto;width:min(38%,300px);flex:none;min-height:104px;font-size:clamp(1.3rem,2.2vw,1.9rem)}
.brief-card-plain .brief-card-title{margin:0 0 0 22px}

.brief-nav{display:flex;gap:14px;align-items:center;margin-top:44px;flex-wrap:wrap}
.brief-nav button{font-family:var(--sans);font-size:.875rem;letter-spacing:.05em;padding:15px 30px;cursor:pointer;
  border-radius:0;min-height:48px;transition:background .3s,color .3s,border-color .3s}
.brief-next,.brief-submit{background:var(--ink);color:var(--cream);border:1px solid var(--ink);margin-left:auto}
.brief-next:hover,.brief-submit:hover{background:#2d2921}
.brief-back{background:none;color:#5f5648;border:1px solid #18161333}
.brief-back:hover{border-color:var(--ink);color:var(--ink)}
.brief-privacy{font-size:.75rem;color:#8c7f6f;line-height:1.6;margin:30px 0 0;max-width:70ch}

.brief-result{outline:none}
.brief-prepared{font-size:.75rem;letter-spacing:.1em;color:#8c7f6f;margin:0 0 18px}
.brief-result-title{font-family:var(--serif);font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:1;letter-spacing:-.03em;
  margin:0 0 22px}
.brief-summary{font-size:1rem;line-height:1.7;color:#4a4237;margin:0 0 40px;max-width:64ch;
  border-left:2px solid var(--gold);padding-left:22px}
.brief-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:0 0 46px}
.brief-facts>div{border-top:1px solid #18161326;padding:16px 0}
.brief-facts dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#8c7f6f;margin-bottom:7px}
.brief-facts dd{margin:0;font-size:.9375rem;line-height:1.55;color:var(--ink)}
.brief-conversation{border-top:1px solid #18161326;padding-top:34px}
.brief-conversation h4{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:400;margin:0 0 14px;
  letter-spacing:-.02em}
.brief-conversation>p{color:#5f5648;font-size:.9375rem;margin:0 0 18px}
.brief-conversation ul{margin:0 0 26px;padding-left:20px;color:#4a4237;font-size:.9375rem;line-height:1.85}
.brief-note{font-size:.875rem;line-height:1.7;color:#5f5648;background:#efe7db;padding:20px 22px;margin:0;max-width:78ch}
.brief-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:38px 0 0}
.brief-actions button,.brief-talk{font-family:var(--sans);font-size:.8125rem;letter-spacing:.05em;padding:14px 22px;
  border:1px solid #18161333;background:none;color:var(--ink);cursor:pointer;min-height:48px;display:inline-flex;
  align-items:center;gap:10px;transition:background .3s,color .3s,border-color .3s}
.brief-actions button:hover,.brief-talk:hover{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.brief-actions button:disabled{opacity:.6;cursor:default}
.brief-talk{margin-left:auto;border-color:var(--ink)}
.brief-foot{font-size:.75rem;color:#8c7f6f;margin:30px 0 0}
.brief-actions button.brief-email{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.brief-actions button.brief-email:hover{background:#2d2921;border-color:#2d2921;color:var(--cream)}
.brief-sendnote{font-size:.8125rem;color:#5f5648;line-height:1.6;margin:20px 0 0;max-width:70ch}
.brief-sendnote a{color:var(--ink);border-bottom:1px solid #18161359}

@media(max-width:1100px){
  .brief-cards{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .brief-cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  .brief-panel{margin-top:44px}
  .brief-progress{gap:10px;margin-bottom:36px}
  .brief-progress li{flex:1 1 40%;font-size:.6875rem;letter-spacing:.06em}
  .brief-grid{grid-template-columns:1fr}
  .brief-cards{grid-template-columns:1fr 1fr;gap:12px}
  .brief-card-plain .brief-card-script{width:44%;min-height:88px}
  .brief-card-plain .brief-card-title{margin-left:16px}
  .brief-options{gap:10px}
  .brief-opt{width:100%;padding:13px 16px}
  .brief-facts{grid-template-columns:1fr;gap:0}
  .brief-nav button{flex:1 1 100%;margin-left:0}
  .brief-actions button,.brief-talk{flex:1 1 100%;justify-content:space-between;margin-left:0}
}

@media print{
  html.brief-ready body>*:not(main),
  html.brief-ready main>*:not(.brief),
  html.brief-ready .brief>*:not(.brief-panel),
  html.brief-ready .brief-panel>*:not(.brief-result),
  html.brief-ready .brief-actions,
  html.brief-ready .page-progress{display:none!important}
  html.brief-ready,html.brief-ready body,html.brief-ready .brief{background:#fff!important;color:#000!important}
  html.brief-ready .brief{padding:0!important}
  html.brief-ready .brief-note{background:#f2f2f2!important}
}
