:root{--black:#0e0e0d;--black2:#151514;--paper:#eae9e5;--white:#ece9e2;--grey:#8d8a83;--rule:#343431;--sans:'General Sans','Onest',Arial,sans-serif;--display:'Cabinet Grotesk','Onest',Arial,sans-serif;--serif:'Zodiak','Cormorant Garamond',Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font:400 16px/1.6 var(--sans)}::selection{background:#bcb8ae;color:var(--black)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #bdb9b1;outline-offset:4px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);color:var(--black);padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:80px;padding:0 4%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(14,14,13,.94);backdrop-filter:blur(14px);transition:background .3s,color .3s}.nav.light{background:rgba(234,233,229,.95);color:var(--black)}.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;font-size:13px;font-weight:600;line-height:1.05;letter-spacing:-.02em}.brand svg{width:26px;height:26px}.nav-links{display:flex;gap:34px;align-items:center}.nav-links a,.nav-action{font-size:12px;font-weight:600;letter-spacing:.035em}.nav-links a:hover{text-decoration:underline;text-underline-offset:6px}.nav-action{justify-self:end;border:1px solid #595954;border-radius:999px;padding:11px 18px;transition:background .25s,color .25s}.nav-action:hover{background:var(--white);color:var(--black)}.nav.light .nav-action{border-color:#aaa8a2}.nav.light .nav-action:hover{background:var(--black);color:var(--paper)}.nav-action b,.project-description b,.form-actions b{display:inline-block;vertical-align:middle;width:6px;height:6px;margin-right:10px;border-radius:50%;background:currentColor}.nav-menu,.mobile-menu{display:none}
.hero{position:relative;min-height:700px;height:100svh;max-height:920px;overflow:hidden;padding:80px 4% 0;background:#0e0e0d}.hero h1{position:absolute;z-index:2;left:4%;top:29%;margin:0;width:70%;line-height:.8}.hero-grotesk,.hero-serif{display:block}.hero-grotesk{font:800 clamp(105px,14vw,183px)/.82 var(--display);letter-spacing:-.025em;white-space:nowrap;animation:rise .9s cubic-bezier(.16,1,.3,1) both}.hero-serif{margin-left:20%;margin-top:20px;font:italic 400 clamp(60px,5.2vw,72px)/1 var(--serif);letter-spacing:-.03em;color:var(--grey);white-space:nowrap;animation:rise 1.1s .18s cubic-bezier(.16,1,.3,1) both}.hero-aside{position:absolute;z-index:3;right:4%;top:36%;width:25%;max-width:315px}.hero-aside p{margin:0 0 28px;color:#a4a19c;font-size:14px;line-height:1.75}.hero-links{border-top:1px solid #373735}.hero-links small{display:block;padding:16px 0 7px;color:#aaa7a1;font-size:10px;letter-spacing:.08em}.hero-links a{display:flex;align-items:center;gap:12px;border-bottom:1px solid #373735;padding:12px 0;font-size:17px;font-weight:600;transition:padding .25s}.hero-links a:hover{padding-left:8px}.hero-links a span{font-size:10px;color:#aaa7a1}.hero-links a i{margin-left:auto;font-style:normal}.hero-object{position:absolute;top:15%;right:12%;width:410px;height:510px;perspective:700px;transform:rotate(-12deg);opacity:.95;transition:transform .3s ease-out}.hero-object span{position:absolute;font:800 520px/.9 var(--display);letter-spacing:-.13em;user-select:none}.object-depth{left:23px;top:16px;color:#050505;text-shadow:2px 2px 0 #121212,4px 4px 0 #151515,6px 6px 0 #171717,8px 8px 0 #1a1a1a,10px 10px 0 #1c1c1c,12px 12px 0 #1f1f1f,14px 14px 0 #202020,16px 16px 0 #222,18px 18px 0 #232323,20px 20px 0 #242424}.object-face{left:0;top:0;background:linear-gradient(105deg,#0c0c0c 0%,#1a1a1a 28%,#080808 55%,#242424 68%,#090909 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(18px 26px 22px #030303)}.hero-marquee{position:absolute;bottom:0;left:0;right:0;height:104px;border-top:1px solid #242423;overflow:hidden;display:flex;align-items:center}.hero-marquee div{white-space:nowrap;font:800 51px/1 var(--display);letter-spacing:-.04em;color:#2b2b29;animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-45%)}}@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.manifesto{min-height:850px;display:grid;grid-template-columns:30% 1fr;gap:6%;padding:160px 4% 140px;background:var(--black)}.serif-small{font:italic 400 18px var(--serif);color:#aaa6a0}.manifesto-side>div{border-top:1px solid #292928;margin-top:52px;padding-top:25px;max-width:260px;display:grid;gap:6px}.manifesto-side strong{font:italic 400 72px/.95 var(--serif);color:#85817b}.manifesto-side div span{max-width:150px;font-size:13px;color:#85817b}.manifesto-main h2{max-width:870px;margin:0;font:600 clamp(37px,4.1vw,63px)/1.27 var(--sans);letter-spacing:-.045em;color:#b7b4ae}.manifesto-main p{max-width:430px;margin:80px 0 0 auto;color:#a5a29d;font-size:16px}
.projects{background:var(--paper);color:#0b0b0a;padding:130px 4% 50px;overflow:hidden}.projects-head{display:grid;grid-template-columns:23% 1fr 8%;align-items:start;gap:2%}.meta{font-size:11px;font-weight:600;letter-spacing:.09em}.projects-head .meta{margin-top:25px}.projects-head h2{margin:0;font:800 clamp(80px,10.5vw,152px)/.83 var(--display);letter-spacing:-.065em}.projects-head h2 span,.projects-head h2 em{display:block}.projects-head h2 em{margin:26px 0 0 13%;font:italic 400 clamp(55px,7.6vw,105px)/.95 var(--serif);letter-spacing:-.025em;white-space:nowrap}.count{text-align:right}.projects-body{display:grid;grid-template-columns:58% 36%;gap:6%;margin:70px 8% 80px}.project-card{display:block;transform:rotate(-2deg);transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-card:hover{transform:rotate(0) translateY(-10px)}.project-browser{background:#e1ddd4;box-shadow:0 24px 42px rgba(0,0,0,.15);padding:12px}.browser-bar{height:25px;display:flex;gap:5px;align-items:center;background:#f7f6f2;padding:0 10px}.browser-bar span{width:4px;height:4px;border-radius:50%;background:#a8a6a1}.browser-bar small{margin-left:10px;color:#555;font-size:9px}.browser-hero{position:relative;min-height:430px;overflow:hidden;background:#e8e4dc;color:#211b17}.browser-hero>div{position:relative;z-index:2;padding:45px 34px;max-width:77%}.browser-hero small{font-size:9px;letter-spacing:.1em}.browser-hero strong{display:block;margin:40px 0 20px;font:600 clamp(36px,4vw,66px)/1.05 Georgia,serif;letter-spacing:-.035em}.browser-hero strong i{font-weight:400;color:#644d3f}.browser-hero p{font-size:12px;max-width:220px}.browser-hero img{position:absolute;right:-11%;bottom:-13%;width:56%;height:110%;object-fit:cover;object-position:center;filter:brightness(.65)}.project-description{align-self:center}.project-description p{max-width:310px;border-top:1px solid #b7b4af;padding-top:18px;color:#5d5b58;font-size:16px}.project-description a{display:inline-block;margin-top:40px;border:1px solid #a9a8a2;border-radius:999px;padding:13px 18px;font-size:12px;font-weight:600;transition:background .25s,color .25s}.project-description a:hover{background:var(--black);color:var(--paper)}.project-description a span{margin-left:20px}.projects-foot{border-top:1px solid #c3c1bb;display:flex;align-items:center;justify-content:space-between;padding-top:25px;gap:20px}.projects-foot span{font-size:11px;color:#aaa7a1;letter-spacing:.07em}.projects-foot strong{font:800 34px var(--display);letter-spacing:-.03em}
.method{background:#0d0d0c;color:var(--white);padding:130px 4% 160px;min-height:900px}.method-head h2{font:800 clamp(80px,12vw,180px)/.9 var(--display);letter-spacing:-.07em;white-space:nowrap;margin:70px 0 85px}.method-head h2 em{font:italic 400 clamp(60px,9vw,120px)/1 var(--serif);color:#87847f;letter-spacing:-.05em;vertical-align:top;margin-right:25px}.method-head p{font-size:17px;color:#a9a6a0;margin:0 0 30px}.method-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #353532;border-bottom:1px solid #353532}.method-tabs button{position:relative;border:0;border-right:1px solid #353532;background:none;color:#b0ada7;text-align:left;padding:18px 10px;font-size:12px;font-weight:600}.method-tabs button:last-child{border-right:0}.method-tabs button small{font-size:10px;margin-right:15px;color:#aaa7a1}.method-tabs button.active:after{content:'';position:absolute;height:2px;background:#eeeae3;bottom:-1px;left:0;right:0}.method-tabs button:hover{color:#fff}.method-panel{display:grid;grid-template-columns:25% 1fr;gap:5%;padding-top:100px}.method-number{font:600 60px/.8 var(--sans)}.method-number span{font:italic 400 22px var(--serif);color:#7b7974}.method-panel h3{font:800 clamp(60px,8vw,110px)/1 var(--display);letter-spacing:-.06em;margin:20px 0 25px}.method-panel p{max-width:610px;color:#aaa6a0;font-size:18px}.method-panel small{display:block;margin-top:55px;color:#aaa7a1;font-size:11px;letter-spacing:.1em}
.services{padding:140px 4%;background:var(--paper);color:#0c0c0b}.services .serif-small{color:#7a7670}.services h2{margin:25px 0 70px;font:800 clamp(85px,14vw,185px)/.9 var(--display);letter-spacing:-.07em}.service-list article{border-top:1px solid #c5c3bd;padding:25px 0 30px;position:relative;transition:color .3s}.service-list article:last-child{border-bottom:1px solid #c5c3bd}.service-list article h3{font:700 clamp(37px,5.9vw,82px)/1.05 var(--sans);letter-spacing:-.06em;margin:0;color:#121210;transition:color .25s,transform .25s}.service-list article p{margin:7px 0 0;color:#595651;font-size:14px}.service-list article>span{position:absolute;right:0;top:35px;font-size:36px;opacity:0;transition:opacity .25s,transform .25s}.service-list article:hover h3{color:#85827c;transform:translateX(14px)}.service-list article:hover>span{opacity:1;transform:translate(3px,-3px)}
.about{padding:150px 4%;display:grid;grid-template-columns:28% 1fr;gap:5%;min-height:650px;background:var(--paper);color:#0c0c0b}.about .serif-small{color:#817e78}.about h2{grid-column:2;margin:0;font:600 clamp(38px,4.7vw,67px)/1.2 var(--sans);letter-spacing:-.045em}.about p{grid-column:2;max-width:650px;margin:40px 0 0;color:#5d5b55;font-size:17px}
.contact{padding:140px 4%;display:grid;grid-template-columns:54% 42%;gap:4%;min-height:720px;background:#111110;color:var(--white)}.contact-copy h2{margin:65px 0 0}.contact-copy h2 em{display:block;font:italic 400 clamp(53px,6vw,86px)/1.05 var(--serif);color:#8d8983}.contact-copy h2 a{display:inline-block;margin-top:20px;border-bottom:2px solid var(--white);font:700 clamp(33px,4.15vw,60px)/1.2 var(--sans);letter-spacing:-.05em}.contact-copy h2 a:hover{color:#aaa6a0;border-color:#aaa6a0}.contact-copy>p{max-width:350px;margin:50px 0 25px;color:#98958f}.contact-channels{display:flex;flex-wrap:wrap;gap:12px 24px;max-width:500px}.contact-channels a{font-size:15px;border-bottom:1px solid #5d5b57;padding-bottom:3px}.contact-channels a:hover{color:#fff;border-color:#fff}.contact-form{align-self:center;border:1px solid #323230;border-radius:34px;min-height:465px;padding:40px;background:#151514}.form-progress{display:flex;align-items:baseline;border-bottom:1px solid #343432;padding-bottom:20px;margin-bottom:25px}.form-progress strong{font-size:22px}.form-progress span{color:#8c8983;font:italic 15px var(--serif);margin-left:4px}.form-progress em{margin-left:auto;color:#a6a39d;font:italic 18px var(--serif)}.form-stage label{display:block;margin-bottom:21px;color:#99968e;font-size:11px;font-weight:600;letter-spacing:.07em}.form-stage input:not([type=checkbox]),.form-stage textarea{display:block;width:100%;border:0;border-bottom:1px solid #373735;border-radius:0;background:transparent;color:var(--white);margin-top:10px;padding:8px 0 14px;outline:none;resize:vertical;font:400 16px/1.5 var(--sans)}.form-stage input::placeholder,.form-stage textarea::placeholder{color:#aaa7a1}.form-stage input:focus,.form-stage textarea:focus{border-color:#d4d0c9}.consent{display:flex!important;gap:10px;align-items:start;letter-spacing:0!important;text-transform:none!important;font-weight:400!important;line-height:1.5}.consent input{width:17px;height:17px;flex:none;margin:0;accent-color:#e2ded7}.consent a{text-decoration:underline;text-underline-offset:3px}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:24px}.form-actions button{border:1px solid #5b5955;border-radius:100px;background:none;color:var(--white);padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.04em}.form-actions button:hover{background:var(--paper);color:var(--black)}.form-line{height:2px;background:#353533;margin-top:25px}.form-line span{display:block;width:100%;height:2px;background:var(--white);transform:scaleX(.3333);transform-origin:left;transition:transform .4s}.form-note{max-width:360px;color:#aaa7a1;font-size:12px;margin:18px 0 0}.form-error{color:#e7a7a7;font-size:13px}.footer{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding:80px 4% 70px;background:#0e0e0d;border-top:1px solid #262625;font-size:13px}.footer strong{font:700 36px/.95 var(--display);letter-spacing:-.04em}.footer p{max-width:220px;color:#88857f}.footer>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer div>span:first-child{color:#aaa7a1;font-size:11px;letter-spacing:.08em;margin-bottom:15px}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.legal-page{min-height:100vh}.legal-header{padding:30px 4%;border-bottom:1px solid #343432}.legal-content{max-width:800px;padding:90px 4%}.legal-content h1{font:800 clamp(60px,8vw,110px)/1 var(--display);letter-spacing:-.06em}.legal-content p{font-size:18px;color:#bbb7b0}.legal-content a{text-decoration:underline}
@media(max-width:950px){.hero h1{top:29%}.hero-grotesk{font-size:13vw}.hero-serif{font-size:10vw}.hero-aside{top:58%;right:5%;width:35%}.hero-object{right:3%;top:11%;transform:scale(.8) rotate(-12deg)}.projects-head{grid-template-columns:1fr}.projects-head h2{margin-top:30px}.projects-head .count{position:absolute;right:4%;margin-top:20px}.projects-body{margin-inline:3%}.method-head h2{font-size:11vw}.contact{grid-template-columns:1fr}.contact-form{max-width:650px;width:100%}.footer{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:700px){.nav{height:68px;padding:0 5%;grid-template-columns:1fr auto}.nav-links,.nav-action{display:none}.nav-menu{display:grid;gap:6px;align-content:center;justify-content:center;width:40px;height:40px;border:1px solid #5a5955;border-radius:50%;background:transparent;color:inherit}.nav-menu span{width:15px;height:1px;background:currentColor}.mobile-menu:not([hidden]){display:flex;position:fixed;top:68px;left:0;right:0;z-index:49;flex-direction:column;padding:18px 5% 30px;background:#191918}.mobile-menu a{padding:14px 0;border-bottom:1px solid #3c3b38;font:700 24px var(--sans)}.hero{height:720px;min-height:720px;padding:68px 5% 0}.hero h1{top:32%;left:5%;width:90%}.hero-grotesk{font-size:clamp(73px,18vw,125px);letter-spacing:-.045em}.hero-serif{font-size:clamp(50px,12vw,83px);margin-left:13%;margin-top:13px}.hero-object{transform:scale(.48) rotate(-12deg);transform-origin:top right;top:7%;right:-10%;opacity:.8}.hero-aside{top:54%;right:auto;left:5%;width:90%;max-width:none}.hero-aside p{font-size:13px;max-width:340px;margin-bottom:15px}.hero-links{max-width:330px}.hero-marquee{height:95px}.hero-marquee div{font-size:39px}.manifesto{grid-template-columns:1fr;padding:110px 5%;min-height:0;gap:80px}.manifesto-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.manifesto-side>.serif-small{grid-column:1/-1}.manifesto-side>div{margin-top:10px}.manifesto-side strong{font-size:52px}.manifesto-main h2{font-size:clamp(31px,8vw,47px)}.manifesto-main p{margin:40px 0 0}.projects{padding:100px 5% 45px}.projects-head h2{font-size:clamp(60px,13vw,95px);letter-spacing:-.055em}.projects-head h2 em{font-size:clamp(40px,8.5vw,68px);margin-left:10%;white-space:normal}.projects-head .count{right:5%;font-size:10px}.projects-body{display:block;margin:50px 0}.project-card{transform:rotate(-1deg)}.project-browser{padding:6px}.browser-hero{min-height:310px}.browser-hero>div{padding:28px 18px;max-width:85%}.browser-hero strong{font-size:35px;margin:30px 0 15px}.browser-hero img{width:55%;right:-18%}.project-description{margin-top:35px}.project-description p{max-width:100%}.project-description a{margin-top:18px}.projects-foot{display:grid;grid-template-columns:1fr auto}.projects-foot strong{grid-row:1;grid-column:1/-1;font-size:30px}.projects-foot span{font-size:10px}.method{padding:110px 5%;min-height:0}.method-head h2{white-space:normal;font-size:clamp(60px,13vw,98px);margin:55px 0}.method-head h2 em{font-size:clamp(50px,11vw,75px);display:block}.method-tabs{grid-template-columns:1fr 1fr}.method-tabs button{border-bottom:1px solid #353532}.method-panel{grid-template-columns:1fr;padding-top:70px;gap:15px}.method-panel h3{font-size:clamp(60px,12vw,85px)}.services{padding:105px 5%}.services h2{font-size:clamp(75px,17vw,125px)}.service-list article h3{font-size:clamp(34px,7vw,52px);padding-right:25px}.service-list article>span{opacity:1;font-size:24px}.service-list article p{font-size:13px}.about{grid-template-columns:1fr;padding:110px 5%;min-height:0}.about h2,.about p{grid-column:1}.about h2{font-size:clamp(34px,8vw,52px);margin-top:40px}.contact{padding:110px 5%}.contact-copy h2{margin:0}.contact-copy h2 em{font-size:clamp(52px,11vw,78px)}.contact-copy h2 a{font-size:clamp(25px,6vw,40px);overflow-wrap:anywhere}.contact-form{margin-top:50px;padding:28px;border-radius:24px}.footer{grid-template-columns:1fr 1fr;padding:70px 5%}.footer>div:first-child{grid-column:1/-1}.footer>div:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-grotesk,.hero-serif,.hero-marquee div{animation:none!important}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.manifesto-main h2 span{opacity:.25;transition:opacity .25s}
.case-hero{padding:190px 4% 130px;min-height:720px}.case-hero>p{font-size:11px;letter-spacing:.09em;color:#aaa7a1}.case-hero h1{font:800 clamp(95px,14vw,190px)/.92 var(--display);letter-spacing:-.065em;margin:60px 0 90px}.case-hero>div{display:grid;grid-template-columns:60% 30%;gap:10%;align-items:end}.case-hero em{font:italic 400 clamp(55px,7vw,96px)/1 var(--serif);color:#8d8a83}.case-hero>div p{font-size:18px;color:#aaa7a1;max-width:360px}.case-image{height:750px;overflow:hidden;background:#241d18}.case-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}.case-details{padding:140px 4%;background:var(--paper);color:var(--black);display:grid;grid-template-columns:25% 1fr;gap:6%}.case-details .serif-small{color:#726f69}.case-details h2{font:700 clamp(48px,6vw,90px)/1.1 var(--sans);letter-spacing:-.05em;max-width:800px;margin:0}.case-details p{font-size:20px;line-height:1.6;max-width:700px;color:#4e4b47;margin:45px 0}.case-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:55px}.case-tags span{border:1px solid #a5a29b;border-radius:100px;padding:7px 12px;font-size:11px;letter-spacing:.07em}.case-details a{display:inline-block;border-bottom:1px solid var(--black);padding-bottom:10px;font-size:14px;font-weight:700;letter-spacing:.03em}.case-end{background:var(--black);padding:140px 4%;display:flex;justify-content:space-between;align-items:end;gap:40px}.case-end em{font:italic 400 clamp(48px,7vw,100px)/1 var(--serif);color:#a09d97}.case-end a{border:1px solid #5d5b57;border-radius:100px;padding:13px 20px;white-space:nowrap}.case-end a:hover{background:var(--white);color:var(--black)}
@media(max-width:700px){.case-hero{padding:140px 5% 80px;min-height:0}.case-hero h1{font-size:clamp(52px,13vw,85px);margin:55px 0}.case-hero>div{grid-template-columns:1fr;gap:25px}.case-hero em{font-size:clamp(46px,10vw,70px)}.case-hero>div p{font-size:16px}.case-image{height:500px}.case-details{padding:100px 5%;grid-template-columns:1fr;gap:35px}.case-details h2{font-size:clamp(45px,10vw,65px)}.case-details p{font-size:17px}.case-end{padding:100px 5%;display:block}.case-end em{display:block;font-size:clamp(42px,10vw,65px)}.case-end a{display:inline-block;margin-top:40px}}

.case-return{display:none}@media(max-width:700px){.case-return{display:block;font-size:12px;font-weight:700;letter-spacing:.04em}}

/* The studio mark and the restrained black-on-black hero treatment. */
.brand-mark{display:block;flex:none;width:29px;height:29px;background:currentColor;-webkit-mask:url('/assets/logo-mark-primary.webp') center/contain no-repeat;mask:url('/assets/logo-mark-primary.webp') center/contain no-repeat}
.hero{isolation:isolate}
.hero h1{z-index:3}
.hero-grotesk{letter-spacing:-.02em}
.hero-serif{margin-left:12vw;margin-top:6px;font-size:clamp(78px,8.8vw,112px);line-height:1.08;letter-spacing:0}
.hero-object{top:0;right:4.5%;width:min(50vw,630px);height:min(88svh,680px);perspective:none;transform:none;opacity:1;pointer-events:none;transition:translate .8s cubic-bezier(.16,1,.3,1)}
.hero-object img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(.7);animation:sculpt-breathe 16s ease-in-out infinite;will-change:transform}
@keyframes sculpt-breathe{0%,100%{transform:translateY(4px) rotate(-1deg) scale(1)}50%{transform:translateY(-10px) rotate(1deg) scale(1.018)}}
.hero-marquee .marquee-track{display:flex;align-items:center;gap:2.2rem;width:max-content;white-space:nowrap;font:800 51px/1 var(--display);letter-spacing:-.045em;color:#2b2b29;animation:marquee-pair 28s linear infinite}
.marquee-track span{flex:none}.marquee-track em{font:italic 400 1.08em var(--serif);letter-spacing:-.04em}
@keyframes marquee-pair{to{transform:translateX(-50%)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease-in both}::view-transition-new(root){animation:page-in .32s cubic-bezier(.16,1,.3,1) both}
@keyframes page-out{to{opacity:0;filter:blur(8px)}}@keyframes page-in{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}
.site-cursor{position:fixed;z-index:90;left:0;top:0;width:40px;height:40px;border:1px solid rgba(180,180,180,.72);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s,border-color .25s;mix-blend-mode:difference}
.site-cursor:after{content:'';position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#e9e9e9;transform:translate(-50%,-50%)}
.site-cursor.visible{opacity:1}.site-cursor.over-link{transform:translate(-50%,-50%) scale(1.45);border-color:#e9e9e9}
.hero-links a{transition:transform .25s}.hero-links a:hover{padding-left:0;transform:translateX(8px)}
.hero-links small,.hero-links a span,.method-tabs button small{font-size:11px}
.browser-bar small,.browser-hero small{font-size:11px}.browser-bar{min-height:28px}
.projects-foot span{font-size:11px;color:#585751}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){body.cursor-ready,body.cursor-ready a,body.cursor-ready button{cursor:none}}
@media(max-width:950px){.hero-object{top:4%;right:-3%;width:57vw;height:66svh}.hero-serif{font-size:clamp(68px,9.3vw,100px);margin-left:10vw}}
@media(max-width:700px){.brand-mark{width:27px;height:27px}.hero h1{top:29%;width:90%}.hero-grotesk{font-size:clamp(73px,18vw,125px)}.hero-serif{font-size:clamp(47px,11.2vw,67px);margin-left:9vw;margin-top:8px;white-space:nowrap}.hero-object{top:55px;right:-34vw;width:123vw;height:450px;opacity:.82}.hero-object img{filter:brightness(.58)}.hero-aside{top:55%}.hero-marquee .marquee-track{font-size:39px}}
@media(max-width:700px){.method-panel>*{min-width:0}.method-panel h3{font-size:clamp(36px,9vw,58px);overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.hero-object img,.hero-marquee .marquee-track{animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* The hero mark is an interactive extruded scene. The image remains its fallback. */
.hero-object{display:block;padding:0;border:0;background:transparent;appearance:none;pointer-events:auto;cursor:pointer;touch-action:manipulation;isolation:isolate}
.hero-logo-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .28s ease}
.hero-object .hero-logo-fallback{position:absolute;inset:0;width:100%;height:100%;transition:opacity .28s ease,filter .2s ease}
.hero-object.webgl-ready .hero-logo-canvas{opacity:1}
.hero-object.webgl-ready .hero-logo-fallback{opacity:0;animation:none}
.hero-object:focus-visible{outline:1px solid #b9b7b2;outline-offset:-16px;border-radius:24px}
.hero-object.logo-pressed .hero-logo-fallback{filter:brightness(.85)}
.hero-object.logo-fallback-spin .hero-logo-fallback{animation:logo-fallback-spin 1.15s cubic-bezier(.16,1,.3,1) both}
@keyframes logo-fallback-spin{0%{transform:perspective(900px) rotateY(0)}55%{transform:perspective(900px) rotateY(165deg)}100%{transform:perspective(900px) rotateY(360deg)}}
.logo-play-hint{position:fixed;z-index:91;left:0;top:0;display:flex;align-items:center;gap:13px;border:1px solid #5d5c59;border-radius:100px;background:#111110;color:#ebe9e5;padding:12px 15px;font:600 11px/1 var(--sans);letter-spacing:.08em;pointer-events:none;opacity:0;transform:translate(22px,12px) scale(.94);transition:opacity .18s ease,transform .22s cubic-bezier(.16,1,.3,1)}
.logo-play-hint.visible{opacity:1;transform:translate(22px,12px) scale(1)}
.logo-play-hint svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site-cursor.over-logo{transform:translate(-50%,-50%) scale(.56);border-color:#ddd}
@media(max-width:700px){.hero-object:focus-visible{outline-offset:-8px}}
@media(prefers-reduced-motion:reduce){.hero-logo-canvas,.hero-object .hero-logo-fallback,.logo-play-hint{transition:none!important}}

/* First visit draws the studio mark, then hands the viewport to the hero. */
.page-loader{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#090908;color:#ece9e2;overflow:hidden;pointer-events:all;transform:translateY(0)}
.intro-repeat .page-loader{display:none}
.page-loader-logo{position:relative;z-index:2;display:block;width:min(145px,30vw);height:auto;overflow:visible;transform:translateY(0) scale(1);opacity:1;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .45s}
.page-loader-outline{fill:none;stroke:#ece9e2;stroke-width:1.2;stroke-linejoin:round;stroke-dasharray:5000;stroke-dashoffset:5000}
.page-loader-fill{fill:#ece9e2;fill-opacity:0;stroke:none;transition:fill-opacity .28s ease}
.page-loader.is-filled .page-loader-fill{fill-opacity:1}
.page-loader-marquee{position:absolute;left:0;right:0;bottom:12%;overflow:hidden;white-space:nowrap;opacity:.35;z-index:1}
.page-loader-track{display:inline-flex;width:max-content;white-space:nowrap;animation:loader-track 48s linear infinite}
.page-loader-track span{flex:none;font:700 17.6px/1.6 var(--display);letter-spacing:.16em}
.page-loader-count{position:absolute;right:4%;bottom:7.1%;z-index:2;font:700 38.4px/1 var(--display);white-space:nowrap;font-variant-numeric:tabular-nums}
.page-loader-count em{color:#8d8a83;font:italic 23px/1 var(--serif)}
.page-loader-curtain{position:absolute;inset:0;z-index:3;background:#0e0e0d;transform:scaleY(0);transform-origin:bottom;transition:transform .34s cubic-bezier(.76,0,.24,1);pointer-events:none}
.page-loader.is-filled .page-loader-logo{transform:scale(1.055)}
.page-loader.is-exiting .page-loader-logo{transform:translateY(-30%) scale(1.055);opacity:0}
.page-loader.is-exiting .page-loader-curtain{transform:scaleY(1)}
.page-loader.is-revealing{transform:translateY(-101%);transition:transform .55s cubic-bezier(.76,0,.24,1)}
@keyframes loader-track{to{transform:translateX(-50%)}}
.intro-js .nav{opacity:0;transform:translateY(-16px)}
.intro-js .hero-grotesk,.intro-js .hero-serif{opacity:0;transform:translateY(42px);clip-path:inset(0 0 100% 0);animation:none}
.intro-js .hero-aside,.intro-js .hero-marquee{opacity:0;transform:translateY(24px)}
.intro-reveal .nav{animation:intro-nav .7s .55s cubic-bezier(.16,1,.3,1) forwards}
.intro-reveal .hero-grotesk{animation:intro-heading 1.1s .08s cubic-bezier(.16,1,.3,1) forwards}
.intro-reveal .hero-serif{animation:intro-heading 1.05s .28s cubic-bezier(.16,1,.3,1) forwards}
.intro-reveal .hero-aside{animation:intro-detail .8s .52s cubic-bezier(.16,1,.3,1) forwards}
.intro-reveal .hero-marquee{animation:intro-detail .8s .7s cubic-bezier(.16,1,.3,1) forwards}
@keyframes intro-heading{to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes intro-detail{to{opacity:1;transform:translateY(0)}}
@keyframes intro-nav{to{opacity:1;transform:translateY(0)}}
.nav{background:rgba(14,14,13,.88)}.nav.light{background:rgba(236,233,226,.92)}
.hero h1{top:31%}.hero-grotesk{font-size:clamp(100px,13.1vw,175px)}.hero-serif{margin-left:12.5vw;margin-top:6px;color:#8d8a83}
.hero-aside{top:35.7%;right:5%;width:25%;max-width:315px}.hero-aside p{color:#8d8a83;font-size:15.2px;line-height:1.6;margin-bottom:33px}
.hero-links{border-top:1px solid #33332f}.hero-links a{font:700 18.4px/1.6 var(--display);padding:11px 0;border-color:#33332f}.hero-links a span{font:400 10px/1.6 var(--sans);color:#66645f}.hero-links a i{opacity:0;transition:opacity .2s,transform .2s}.hero-links a:hover i{opacity:1;transform:translate(2px,-2px)}
.hero-marquee{height:115px}.hero-marquee .marquee-track{font-size:64px;color:#30302e}
.manifesto{min-height:799px;padding-top:130px;padding-bottom:120px}.manifesto-main h2{font:700 clamp(38px,3.8vw,57px)/1.18 var(--display);letter-spacing:-.01em;color:#ece9e2}.manifesto-main h2 span{opacity:.23}
.projects{background:#ece9e2}.projects-head h2{font-size:clamp(80px,11.5vw,151px)}.projects-head h2 em{font-size:clamp(55px,7.4vw,100px)}
.method{padding:0;background:#090908;min-height:0}.method-head{min-height:100svh;padding:110px 4% 34px;display:flex;flex-direction:column;justify-content:space-between}.method-head-top,.method-head-bottom{display:flex;align-items:start;justify-content:space-between;gap:40px}.method-head-top p{max-width:375px;margin:0;color:#9d9a93;font-size:16px}.method-head .meta{color:#8a8882}.method-head h2{margin:0;display:flex;align-items:baseline;gap:35px;white-space:nowrap;font:800 clamp(90px,15.5vw,198px)/.72 var(--display);letter-spacing:-.065em}.method-head h2 em{font:italic 400 clamp(75px,9.5vw,124px)/.8 var(--serif);letter-spacing:-.05em;color:#8d8a83;margin:0;transform:rotate(-5deg)}.method-head h2 span{display:block}.method-head-bottom p{color:#ece9e2;font-size:20px;line-height:1.4;margin:0}.method-head-bottom p em{color:#8d8a83;font:italic 26px var(--serif)}.method-head-bottom>span{font-size:11px;letter-spacing:.12em;color:#76736e}.method-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-top:1px solid #33332f;margin:20px 0 0;padding:22px 0 0;list-style:none;color:#918e88;font-size:12px;text-transform:uppercase}.method-legend li span{font-size:10px;margin-right:14px}
.method-cards{position:relative}.method-card{position:sticky;top:0;height:100svh;min-height:650px;border-top:1px solid #2b2b29;background:#111110;overflow:hidden;display:flex;align-items:stretch;transform-origin:center top;transition:filter .35s}.method-card:nth-child(2){background:#171716}.method-card:nth-child(3){background:#111110}.method-card:nth-child(4){background:#191918}.method-card-inner{position:relative;width:100%;display:grid;grid-template-columns:16% 1fr;border-left:1px solid #292927;border-right:1px solid #292927;margin:0 4%;padding:100px 0 70px}.method-card-index{padding:0 18px;border-right:1px solid #31312e;display:flex;flex-direction:column;align-items:start;gap:7px}.method-card-index strong{font:600 47px/1 var(--sans)}.method-card-index span{font-size:10px;letter-spacing:.11em;color:#77746e}.method-card-body{align-self:center;padding-left:6%;position:relative;z-index:2}.method-card-body h3{margin:0 0 24px;font:800 clamp(65px,7.5vw,104px)/.9 var(--display);letter-spacing:-.055em}.method-card-body p{max-width:590px;color:#a9a69f;font-size:19px;line-height:1.55;margin:0}.method-card-body small{display:block;margin-top:58px;color:#797670;font-size:11px;letter-spacing:.12em}.method-card-ghost{position:absolute;right:-1%;bottom:-18%;font:800 min(49vw,650px)/.8 var(--display);letter-spacing:-.09em;color:rgba(255,255,255,.025);pointer-events:none;user-select:none}
.services{background:#ece9e2;color:#0e0e0d}.about{background:#ece9e2}.contact{background:#0e0e0d}
@media(max-width:950px){.method-head h2{font-size:13vw;gap:12px}.method-head h2 em{font-size:10vw}.method-card-inner{grid-template-columns:20% 1fr}.method-card-body h3{font-size:7.5vw}}
@media(max-width:700px){.page-loader-logo{width:min(130px,34vw)}.page-loader-marquee{bottom:12%}.page-loader-track span{font-size:13px}.page-loader-count{right:5%;bottom:6.8%;font-size:30px}.page-loader-count em{font-size:19px}.hero{height:100svh;min-height:720px;max-height:none}.hero h1{top:28%;left:5.3%}.hero-grotesk{font-size:clamp(58px,15.6vw,73px);letter-spacing:-.025em}.hero-serif{font-size:clamp(43px,12.5vw,59px);margin-left:6vw;margin-top:0}.hero-aside{top:46%;left:5.3%;right:auto;width:75%;max-width:295px}.hero-aside p{font-size:15.2px;line-height:1.6;margin-bottom:24px}.hero-links a{font-size:18.4px;padding:12px 0}.hero-links a i{opacity:0}.hero-marquee{height:126px}.hero-marquee .marquee-track{font-size:62px}.hero-object{top:76px;right:-27vw;width:123vw;height:445px;opacity:.8}.manifesto{min-height:0}.manifesto-main h2{font-size:clamp(31px,8vw,47px)}.projects-head h2{font-size:clamp(60px,13vw,95px)}.method-head{min-height:100svh;padding:100px 5% 28px}.method-head-top{display:block}.method-head-top p{margin-top:18px;max-width:310px;font-size:14px}.method-head h2{display:block;font-size:clamp(65px,15vw,100px);line-height:.85;white-space:normal}.method-head h2 em{display:block;font-size:clamp(67px,16vw,93px);margin-bottom:16px}.method-head-bottom p{font-size:18px}.method-head-bottom>span{align-self:end;font-size:9px}.method-legend{grid-template-columns:1fr 1fr;row-gap:11px;font-size:10px}.method-card{min-height:620px}.method-card-inner{margin:0 5%;padding:80px 0 60px;grid-template-columns:1fr}.method-card-index{border-right:0;border-bottom:1px solid #31312e;flex-direction:row;align-items:baseline;gap:16px;padding:0 0 25px}.method-card-index strong{font-size:42px}.method-card-body{padding:0;align-self:center}.method-card-body h3{font-size:clamp(51px,12vw,74px);overflow-wrap:anywhere}.method-card-body p{font-size:17px}.method-card-body small{margin-top:35px}.method-card-ghost{font-size:70vw;bottom:-5%}}
@media(prefers-reduced-motion:reduce){.page-loader{display:none!important}.page-loader-track,.intro-reveal .nav,.intro-reveal .hero-grotesk,.intro-reveal .hero-serif,.intro-reveal .hero-aside,.intro-reveal .hero-marquee{animation:none!important;transition:none!important}.intro-js .nav,.intro-js .hero-grotesk,.intro-js .hero-serif,.intro-js .hero-aside,.intro-js .hero-marquee{opacity:1!important;transform:none!important;clip-path:none!important}.method-card{transition:none!important}}
.method-card-body{padding-left:2%}
.services{padding:130px 4% 120px;min-height:1145px}.services>.meta{display:block;color:#77746f;font-size:12px;font-weight:500;letter-spacing:.11em}.services h2.sr-only{margin:0}.service-list{width:65%;margin-top:65px}.service-list article{padding:0;border-color:#d4d1ca}.service-list article:last-child{border-color:#d4d1ca}.service-list article a{position:relative;display:block;padding:22px 45px 19px 0;min-height:133px}.service-list article h3{font:700 clamp(48px,6vw,83px)/.98 var(--display);letter-spacing:-.045em;color:#77746f;transition:color .25s,transform .35s cubic-bezier(.16,1,.3,1)}.service-list article p{font-size:13px;line-height:1.45;color:#9a9690;max-width:340px}.service-list article a>span{position:absolute;right:0;top:40px;font-size:31px;opacity:0;transition:opacity .25s,transform .25s}.service-list article a:hover h3,.service-list article a:focus-visible h3{color:#111110;transform:translateX(14px)}.service-list article a:hover>span,.service-list article a:focus-visible>span{opacity:1;transform:translate(3px,-3px)}
.about{min-height:510px;padding:110px 4% 90px;background:#111110;color:#ece9e2;grid-template-columns:28% 1fr;gap:5%;align-content:start}.about .serif-small{color:#a29e98}.about h2{grid-column:2;font:700 clamp(28px,2.8vw,40px)/1.2 var(--sans);letter-spacing:-.04em;margin:0}.about p{grid-column:2;max-width:640px;margin:30px 0 0;color:#d6d3ce;font-size:18px;line-height:1.65}
.contact{min-height:663px;padding:80px 4% 70px;grid-template-columns:55% 41%;gap:4%;background:#111110}.contact-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #393936;border-radius:100px;padding:10px 16px;color:#9b9892;font-size:11px;letter-spacing:.12em}.contact-badge b{width:6px;height:6px;border-radius:50%;background:#ece9e2}.contact-copy h2{margin:35px 0 0}.contact-copy h2 em{font-size:clamp(55px,5.5vw,74px)}.contact-copy h2 a{font-size:clamp(38px,4.2vw,57px)}.contact-copy>p{margin-top:30px}.contact-form{background:#171716;border-color:#343431;min-height:470px;padding:39px;border-radius:34px}
@media(max-width:700px){.hero-aside{top:47%}.hero-aside p{margin-bottom:4px}.hero-links a{padding:8px 0}.method-card-body{padding:0}.services{min-height:0;padding:95px 5%}.service-list{width:100%;margin-top:55px}.service-list article a{min-height:110px;padding:22px 28px 18px 0}.service-list article h3{font-size:clamp(37px,9vw,55px)}.service-list article p{font-size:12px}.service-list article a>span{opacity:1;font-size:23px;top:29px}.about{min-height:0;padding:90px 5%;grid-template-columns:1fr}.about h2,.about p{grid-column:1}.about h2{margin-top:30px;font-size:30px}.about p{font-size:16px;line-height:1.6;margin-top:24px}.contact{padding:90px 5%;min-height:0}.contact-copy h2{margin-top:30px}.contact-copy h2 em{font-size:clamp(53px,12vw,73px)}.contact-copy h2 a{font-size:clamp(26px,6.3vw,40px)}.contact-form{padding:28px}}
.projects-body{position:relative;display:block;height:1000px;margin:60px 0 80px}.project-gallery{position:absolute;inset:0}.project-card{position:absolute;z-index:2;left:2%;top:14px;width:39%;transform:rotate(-3deg)}.project-card:hover{transform:rotate(0) translateY(-10px)}.project-browser{padding:8px}.project-tile-caption{display:flex;align-items:baseline;gap:12px;border-top:1px solid #c9c6bf;padding:18px 0 0;margin-top:19px}.project-tile-caption strong{font:700 23px var(--display);letter-spacing:-.04em}.project-tile-caption small{font-size:10px;color:#77736e}.project-tile-caption small:last-child{margin-left:auto;text-align:right}.project-tile{position:absolute;background:#d9d4cb;box-shadow:0 18px 38px rgba(0,0,0,.1);padding:8px 8px 0;transition:transform .6s cubic-bezier(.16,1,.3,1);overflow:hidden}.project-tile img{display:block;width:100%;height:calc(100% - 42px);object-fit:cover}.project-tile span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:11px 4px;font:600 10px var(--sans);letter-spacing:.07em}.project-tile--table{left:43%;top:105px;width:20%;height:375px;transform:rotate(2deg);background:#bdae9f}.project-tile--cabinet{left:68%;top:30px;width:20%;height:338px;transform:rotate(-3deg);background:#c8c2b8}.project-tile--upholstery{left:67%;top:500px;width:22%;height:326px;transform:rotate(3deg);background:#d7c6b8}.project-tile--sofa{left:29%;top:610px;width:24%;height:270px;transform:rotate(2deg);background:#d0cbc3}.project-tile--table:hover,.project-tile--cabinet:hover,.project-tile--upholstery:hover,.project-tile--sofa:hover{transform:rotate(0) translateY(-9px)}.project-description{position:absolute;left:52%;top:510px;width:26%;z-index:3}.project-description p{border-top-color:#c5c1ba}.projects-foot{min-height:80px}
@media(max-width:950px){.projects-body{height:850px}.project-card{width:48%}.project-tile--table{left:50%;width:23%}.project-tile--cabinet{left:75%;width:20%}.project-tile--upholstery{top:440px;left:70%;width:24%;height:290px}.project-tile--sofa{top:560px;left:25%;width:31%}.project-description{left:52%;top:480px;width:31%}}
@media(max-width:700px){.projects-body{height:auto;margin:50px 0 65px}.project-gallery{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px 13px}.project-card{position:relative;left:auto;top:auto;width:100%;grid-column:1/-1;transform:rotate(-1deg)}.project-browser{padding:6px}.project-tile-caption strong{font-size:20px}.project-tile-caption small:last-child{display:none}.project-tile{position:relative;left:auto;top:auto;width:100%;height:220px;transform:none;padding:5px 5px 0}.project-tile img{height:calc(100% - 32px)}.project-tile span{padding:8px 2px;font-size:8px}.project-tile--sofa{grid-column:1/-1;height:230px}.project-description{position:relative;left:auto;top:auto;width:100%;margin-top:38px}.project-description p{max-width:100%}}
.project-description{left:2%;top:620px;width:24%}
@media(max-width:950px){.project-description{left:2%;top:590px;width:22%}}
@media(max-width:700px){.project-description{left:auto;top:auto;width:100%}}
@media(max-width:700px){.browser-hero strong{font-size:28px;max-width:205px}.browser-hero img{right:-20%;width:54%;opacity:.78;mask-image:linear-gradient(90deg,transparent,black 32%)}.browser-hero p{max-width:180px}}
@media(max-width:700px){body.menu-open{overflow:hidden}.menu-open .nav,.menu-open .nav.light{background:#0e0e0d;color:#ece9e2}.nav-menu span{transition:transform .25s}.nav-menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:block;position:fixed;inset:0;top:0;z-index:49;background:#0e0e0d;color:#ece9e2;padding:49vh 5% 26px;overflow:auto;animation:menu-reveal .55s cubic-bezier(.16,1,.3,1) both}.mobile-menu-label{font:italic 18px var(--serif);color:#aaa6a0;margin:0 0 27px}.mobile-menu-links a{display:flex;align-items:baseline;gap:17px;border-bottom:1px solid #33332f;padding:8px 0 10px;font:800 clamp(34px,10vw,48px)/1 var(--display);letter-spacing:-.05em;text-transform:uppercase}.mobile-menu-links a small{font:400 10px var(--sans);color:#77746e;letter-spacing:0;min-width:12px}.mobile-menu-foot{display:flex;justify-content:space-between;gap:10px;margin-top:35px;font-size:11px;color:#85827c}.mobile-menu-foot a{border:0;padding:0;font:400 11px var(--sans);letter-spacing:0;text-transform:none;color:#ece9e2;text-decoration:underline;text-underline-offset:3px}.mobile-menu-foot span{max-width:165px}@keyframes menu-reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.mobile-menu:not([hidden]){animation:none}}
@media(max-width:700px){.contact{grid-template-columns:1fr;gap:24px}.contact-copy h2 a{max-width:100%;font-size:clamp(25px,6.15vw,36px)}.contact-form{width:100%;max-width:none;margin-top:24px}}
/* Keep small supporting text readable while preserving the muted editorial palette. */
.service-list article p{color:#68655f}.services>.meta,.project-tile-caption small{color:#65625d}.method-card-index span,.method-card-body small,.method-legend,.method-head-bottom>span,.hero-links a span{color:#918e87}.mobile-menu-links a small,.mobile-menu-foot,.form-note{color:#a6a39d}.project-description p{color:#5d5b56}

/* Studio navigation and typographic links. Dividers remain structural. */
a,a:hover,a:focus,a:visited{text-decoration:none!important}
.nav-links a:hover,.footer a:hover{opacity:.58}
.contact-copy h2 a,.contact-copy h2 a:hover,.contact-channels a,.contact-channels a:hover,.case-details a,.mobile-menu-foot a{border-bottom:0}
.contact-copy h2 a{font-size:clamp(27px,3.3vw,48px);overflow-wrap:anywhere;max-width:100%}
.contact-channels a{font-weight:600;padding-bottom:0}
.consent a,.legal-content a,.mobile-menu-foot a{text-decoration:none!important;font-weight:600}
.case-details a{border:1px solid currentColor;border-radius:100px;padding:11px 17px}
.service-list article a{padding-right:0}
.manifesto-side .studio-signature{display:inline-flex;align-items:center;gap:10px;border:0;padding:0;margin:0 0 66px;color:#85817b;max-width:none;font:600 15px/1.05 var(--sans);letter-spacing:-.02em}
.studio-signature .brand-mark{width:34px;height:34px}

/* Editorial interior pages share the existing black and paper palette. */
.inner-page{overflow-x:hidden}
.inner-page .nav{background:rgba(14,14,13,.94)}
.inner-hero{min-height:670px;padding:165px 4% 45px;display:flex;flex-direction:column;background:#0e0e0d;color:#ece9e2}
.inner-hero h1{max-width:1100px;margin:20px 0 46px;font:800 clamp(62px,9.5vw,145px)/.93 var(--display);letter-spacing:-.04em;overflow-wrap:anywhere}
.inner-hero>p{max-width:760px;margin:0 0 82px auto;color:#c7c3bc;font-size:clamp(20px,2vw,29px);line-height:1.38}
.inner-hero-foot{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #363631;padding-top:20px;margin-top:auto;color:#99968e;font-size:11px;font-weight:600;letter-spacing:.09em}
.service-intro{display:grid;grid-template-columns:25% minmax(0,1fr);gap:8%;background:#ece9e2;color:#151514;padding:145px 4% 155px}
.service-rail{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#67635d}
.service-rail span{display:block;border-top:1px solid #c9c5bd;padding-top:17px;font-weight:700}
.service-rail p{max-width:200px;margin:58px 0 0;font-size:14px;line-height:1.55;letter-spacing:0;text-transform:none}
.service-intro-copy{max-width:830px}
.service-intro h2,.section-heading h2,.service-close h2{margin:0;font:700 clamp(42px,4.7vw,70px)/1.1 var(--display);letter-spacing:-.035em}
.service-intro-copy>p{max-width:69ch;color:#484641;font-size:19px;line-height:1.68;margin:32px 0 0}
.service-intro-copy>p+p{margin-top:19px}
.service-intro-copy h3{font:700 28px/1.2 var(--display);letter-spacing:-.025em;margin:80px 0 20px}
.plain-list{list-style:none;margin:0;padding:0;max-width:710px}
.plain-list li{border-top:1px solid #c9c5bd;padding:16px 0;color:#34322f;font-size:17px;line-height:1.45}
.plain-list li:last-child{border-bottom:1px solid #c9c5bd}
.service-scope,.service-faq{background:#ece9e2;color:#141413;padding:120px 4% 140px}
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:70px}
.section-heading h2{max-width:700px}
.section-heading p{max-width:285px;color:#69655f;font-size:15px;line-height:1.5;margin:0}
.scope-list{border-top:1px solid #c9c5bd}
.scope-list article{display:grid;grid-template-columns:17% minmax(0,1fr);gap:2%;border-bottom:1px solid #c9c5bd;padding:31px 0 40px}
.scope-list article>span{color:#706c66;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.scope-list h3{font:700 clamp(28px,3vw,43px)/1.08 var(--display);letter-spacing:-.03em;margin:0 0 13px}
.scope-list p{max-width:65ch;color:#54514b;font-size:17px;line-height:1.55;margin:0}
.service-steps{background:#111110;color:#ece9e2;padding:120px 4% 145px}
.service-steps .section-heading p{color:#aaa69e}
.service-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.service-steps li{border-top:1px solid #5a5751;padding-top:22px}
.service-steps li>span{font-size:12px;color:#a7a39c;font-variant-numeric:tabular-nums}
.service-steps h3{font:700 clamp(29px,3vw,43px)/1.05 var(--display);letter-spacing:-.03em;margin:34px 0 14px}
.service-steps li p{max-width:33ch;color:#bbb7b0;font-size:16px;line-height:1.55;margin:0}
.faq-list{max-width:950px;margin-left:auto;border-top:1px solid #c9c5bd}
.faq-list details{border-bottom:1px solid #c9c5bd}
.faq-list summary{display:flex;align-items:start;justify-content:space-between;gap:25px;list-style:none;padding:26px 0;cursor:pointer;font:600 clamp(21px,2.4vw,32px)/1.25 var(--display);letter-spacing:-.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';flex:none;color:#77736c;font:400 29px/1 var(--sans)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{max-width:65ch;margin:0 0 28px;color:#56534d;font-size:17px;line-height:1.62}
.service-close{background:#0e0e0d;color:#ece9e2;padding:145px 4% 150px}
.service-close h2{max-width:980px;font-size:clamp(54px,6vw,90px)}
.service-close p{max-width:600px;color:#aaa69f;font-size:19px;line-height:1.58;margin:36px 0 50px}
.close-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.solid-link,.quiet-link{display:inline-flex;align-items:center;justify-content:center;min-height:51px;border:1px solid #a5a19b;border-radius:100px;padding:13px 24px;font-size:13px;font-weight:700;letter-spacing:.02em;transition:background .25s,color .25s,border-color .25s}
.solid-link{background:#ece9e2;border-color:#ece9e2;color:#111110}
.solid-link:hover{background:#c7c3bc;border-color:#c7c3bc}
.quiet-link:hover{background:#ece9e2;color:#111110}
.related-services{background:#e2dfd9;color:#111110;padding:100px 4% 120px}
.related-services h2{font:700 clamp(32px,3.5vw,52px)/1.1 var(--display);letter-spacing:-.03em;margin:0 0 45px}
.related-services>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:1px solid #bbb7ae}
.related-services a{display:block;border-bottom:1px solid #bbb7ae;padding:22px 0;font:600 clamp(19px,2.3vw,30px)/1.25 var(--display);letter-spacing:-.02em;transition:padding-left .25s,color .25s}
.related-services a:hover{padding-left:10px;color:#66625b}

/* Portfolio keeps the confirmed work as the subject. */
.portfolio-feature{display:grid;grid-template-columns:minmax(0,52%) minmax(0,1fr);background:#ece9e2;color:#111110}
.portfolio-feature-image{position:relative;min-height:760px;overflow:hidden;background:#28231e}
.portfolio-feature-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.84)}
.portfolio-feature-image span{position:absolute;bottom:35px;left:6%;color:#ece9e2;font-size:11px;font-weight:700;letter-spacing:.08em}
.portfolio-feature-copy{align-self:center;padding:90px 8%}
.portfolio-feature-copy>span{font-size:11px;color:#6d6963;font-weight:700;letter-spacing:.08em}
.portfolio-feature-copy h2{font:800 clamp(56px,6vw,96px)/.98 var(--display);letter-spacing:-.04em;overflow-wrap:anywhere;margin:35px 0 28px}
.portfolio-feature-copy p{font-size:17px;line-height:1.65;color:#57534e;max-width:56ch;margin:16px 0}
.portfolio-feature-copy .portfolio-lead{font-size:24px;line-height:1.38;color:#1b1a18}
.portfolio-tags{display:flex;flex-wrap:wrap;gap:8px;margin:33px 0 40px}
.portfolio-tags span{border:1px solid #c3bfb7;border-radius:100px;padding:7px 11px;color:#625e57;font-size:11px;font-weight:700;letter-spacing:.06em}
.portfolio-feature .solid-link{background:#111110;color:#ece9e2;border-color:#111110}
.portfolio-feature .solid-link:hover{background:#5b5751;border-color:#5b5751}
.portfolio-feature .quiet-link{border-color:#9b978f}
.portfolio-feature .quiet-link:hover{background:#111110;color:#ece9e2}
.portfolio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:#ece9e2;padding:16px 4% 120px}
.portfolio-gallery>div{min-width:0}
.portfolio-gallery img{display:block;width:100%;height:350px;object-fit:cover}
.portfolio-gallery span{display:block;border-top:1px solid #c4c0b8;margin-top:17px;padding-top:13px;color:#6f6b64;font-size:11px;font-weight:700;letter-spacing:.08em}

@media(max-width:950px){.inner-hero{min-height:610px}.inner-hero h1{font-size:clamp(60px,10vw,100px)}.service-intro{grid-template-columns:22% 1fr;gap:7%}.portfolio-feature{grid-template-columns:1fr}.portfolio-feature-image{min-height:560px}.portfolio-feature-copy{padding:75px 5%}.portfolio-feature-copy h2{font-size:clamp(58px,9vw,90px)}}
@media(max-width:700px){.contact-copy h2 a{font-size:clamp(20px,5.6vw,34px)}.manifesto-side .studio-signature{margin-bottom:45px}.studio-signature .brand-mark{width:29px;height:29px}.inner-hero{min-height:640px;padding:135px 5% 30px}.inner-hero h1{font-size:clamp(49px,12.5vw,76px);margin:30px 0 40px}.inner-hero>p{font-size:19px;line-height:1.5;margin:0 0 60px}.inner-hero-foot{font-size:11px}.service-intro,.service-scope,.service-steps,.service-faq,.service-close,.related-services{padding-left:5%;padding-right:5%}.service-intro{display:block;padding-top:90px;padding-bottom:105px}.service-rail{margin-bottom:55px}.service-rail p{margin-top:18px;max-width:270px}.service-intro h2,.section-heading h2{font-size:clamp(36px,8.6vw,53px)}.service-intro-copy>p{font-size:16.5px;line-height:1.65;margin-top:24px}.service-intro-copy h3{margin-top:58px;font-size:25px}.plain-list li{font-size:16px}.service-scope,.service-steps,.service-faq{padding-top:90px;padding-bottom:100px}.section-heading{display:block;margin-bottom:48px}.section-heading p{margin-top:23px;max-width:360px}.scope-list article{grid-template-columns:43px 1fr;gap:12px;padding:23px 0 28px}.scope-list h3{font-size:27px}.scope-list p{font-size:15.5px}.service-steps ol{display:block}.service-steps li{margin-top:34px}.service-steps li:first-child{margin-top:0}.service-steps h3{margin-top:16px;font-size:30px}.service-steps li p{max-width:100%}.faq-list{margin-left:0}.faq-list summary{font-size:21px;padding:24px 0}.faq-list details p{font-size:16px}.service-close{padding-top:105px;padding-bottom:110px}.service-close h2{font-size:clamp(43px,10.5vw,62px)}.service-close p{font-size:17px}.close-actions{align-items:stretch}.solid-link,.quiet-link{width:100%}.related-services{padding-top:85px;padding-bottom:95px}.related-services>div{display:block}.related-services a{font-size:22px}.portfolio-feature-image{min-height:440px}.portfolio-feature-copy{padding:75px 5% 90px}.portfolio-feature-copy h2{font-size:55px}.portfolio-feature-copy .portfolio-lead{font-size:21px}.portfolio-gallery{grid-template-columns:1fr 1fr;gap:22px 12px;padding:12px 5% 90px}.portfolio-gallery>div:first-child{grid-column:1/-1}.portfolio-gallery img{height:210px}.portfolio-gallery>div:first-child img{height:260px}.portfolio-gallery span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.related-services a,.solid-link,.quiet-link{transition:none}}

/* Keep the large sculpture inside the hero's visible bounds. */
.hero-object{top:0;right:2.5%;width:min(54vw,700px);height:min(93svh,710px)}
@media(max-width:950px){.hero-object{top:3%;right:-2%;width:60vw;height:70svh}}
@media(max-width:700px){.hero-object{top:55px;right:-32vw;width:128vw;height:clamp(450px,60svh,485px)}}

/* The italic y descender extends below its line box; let it clear the reveal mask. */
.intro-reveal .hero-serif{animation-name:intro-serif-heading}
@keyframes intro-serif-heading{to{opacity:1;transform:translateY(0);clip-path:inset(0 0 -0.28em 0)}}

/* Deter casual copying while leaving form fields editable. */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable="true"],[contenteditable=""]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img,canvas{-webkit-user-drag:none}
@media print{body{display:none!important}}
