@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-italic.woff2') format('woff2');font-style:italic;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/fonts/plex-mono.woff2') format('woff2');font-display:swap}
:root{--ink:#1a1c19;--night:#141612;--paper:#f3f0e8;--stone:#d8d3c9;--orange:#d15a14;--blush:#ffa76c;--muted:#62645d;--line:rgba(28,30,24,.24);--soft:#c2c3b7;--dark-line:rgba(243,240,232,.22);--pad:clamp(23px,4.4vw,88px);--ease:cubic-bezier(.16,1,.3,1);--max:1820px;font-family:DM,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
body,figure,h1,h2,h3,p,ol,ul{margin:0}
body{font-size:clamp(16px,1.16vw,20px);line-height:1.48}
img,canvas{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{border:0;background:none;color:inherit;cursor:pointer}
button:disabled{cursor:default}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #ad4e1d;outline-offset:5px}
.black :focus-visible,.nav :focus-visible,.home-hero :focus-visible{outline-color:var(--blush)}
::selection{color:var(--ink);background:var(--blush)}
em{font-family:Instrument,Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.035em}
.bounds,.nav-inner{width:min(100%,var(--max));padding-inline:var(--pad);margin-inline:auto}
.mono,.kicker,.hero-edge,.instrument-caption,.plate-id,.plate-foot small,.list-index,.note-art>span,.case-figures figcaption,.foot-base,.minor{font:400 11px/1.45 Plex,'Courier New',monospace;letter-spacing:.045em}
.mono,.kicker,.instrument-caption,.plate-id,.plate-foot small,.note-art>span,.case-figures figcaption,.minor{text-transform:uppercase}
.kicker{display:flex;align-items:center;gap:12px;line-height:1.6}
.kicker i{width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}
.kicker b{font-weight:400;opacity:.5}
.kicker span{white-space:nowrap}
.black .kicker i,.home-hero .kicker i{background:var(--blush)}
.skip{position:fixed;left:16px;top:12px;z-index:100;background:var(--paper);padding:12px 20px;transform:translateY(-160%)}
.skip:focus{transform:none}
.nav{background:var(--night);color:var(--paper);position:relative;z-index:10}
.nav-inner{display:flex;align-items:center;gap:clamp(24px,4vw,70px);height:80px;position:relative}
.nav-inner:after{content:"";position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:1px;background:var(--dark-line)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand img:first-child{width:30px;height:31px}
.brand img:last-child{width:clamp(111px,10vw,166px);height:auto}
.desktop-nav{display:flex;align-items:center;gap:clamp(22px,2.2vw,40px)}
.desktop-nav a,.nav-cta,.menu-toggle{font-size:14px;line-height:1;font-weight:500}
.desktop-nav a{display:flex;align-items:center;min-height:44px}
.desktop-nav a span,.text-link span,.foot-links a,.email,.copy{position:relative}
.desktop-nav a span:after,.text-link span:after,.foot-links a:after,.email:after,.copy:after{content:"";position:absolute;left:0;bottom:-4px;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease)}
.desktop-nav a:hover span:after,.desktop-nav a[aria-current] span:after,.text-link:hover span:after,.foot-links a:hover:after,.email:hover:after,.copy:hover:after{transform:scaleX(1)}
.nav-cta,.solid{border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:43px;padding:10px 19px;background:var(--paper);color:var(--ink);transition:background .35s,transform .35s var(--ease)}
.nav-cta:hover,.solid:hover{background:var(--blush)}
.nav-cta .arrow{width:14px;height:14px}
.arrow{flex:none;vertical-align:middle;transition:transform .4s var(--ease)}
.a-down{rotate:135deg}.a-left{rotate:225deg}.a-right{rotate:45deg}
.nav-cta:hover .arrow,.text-link:hover .arrow,.note-card:hover h3 .arrow{transform:translate(2px,-2px)}
.menu-toggle{display:none}
#mobile-menu{background:var(--night);color:var(--paper);padding:14px var(--pad) 26px;border-bottom:1px solid var(--dark-line)}
#mobile-menu a{display:flex;align-items:center;gap:18px;font:500 32px/1.25 Bricolage,sans-serif;border-bottom:1px solid var(--dark-line);padding:12px 0}
#mobile-menu small{font:11px Plex,monospace;color:var(--blush)}#mobile-menu .arrow{margin-left:auto}
.home-hero{background:var(--night);color:var(--paper);overflow:clip;position:relative}
.home-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 44%,#30281c 0%,#1c1d16 27%,transparent 60%);opacity:.68;pointer-events:none}
.hero-frame{min-height:clamp(505px,calc(85svh - 80px),910px);display:grid;grid-template-columns:1.05fr 1fr;align-items:center;position:relative}
.hero-copy{position:relative;z-index:2;align-self:center;padding:54px 0 64px;pointer-events:none}
.hero-copy a{pointer-events:auto}
.hero-title,.display,.subhead,.service-title,.reading h2,.note-card h3,.outcomes h3,.detail-rows h3,.people h3,.next-block a,.plate-name{font-family:Bricolage,Arial,sans-serif;font-weight:500;letter-spacing:-.058em;line-height:.98;font-optical-sizing:auto}
.hero-title{font-size:clamp(64px,7.35vw,146px);line-height:1.02;margin:clamp(38px,4vw,72px) -14vw 0 0;position:relative;width:max-content;max-width:85vw;z-index:1}
.clip{display:block;overflow:hidden;padding:.03em .08em .09em 0;margin-bottom:-.07em}
.clip>*{display:block}
.hero-title em{font-size:1.24em;line-height:.93;color:var(--blush);padding-left:.25em}
.hero-intro{margin-top:clamp(24px,3.4vw,54px);max-width:34ch}
.hero-intro p{font-size:clamp(16px,1.35vw,23px);line-height:1.42;color:#d9dbce;text-wrap:pretty}
.explore{margin-top:27px;display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500}
.button-disc,.plate-button,.list-arrow,.gallery-arrows button,.instrument-caption button{display:inline-grid;place-items:center;width:43px;height:43px;border:1px solid var(--dark-line);border-radius:50%;transition:background .35s,color .35s,transform .5s var(--ease)}
.button-disc{color:var(--blush);border-color:#696a5e}
.explore:hover .button-disc{background:var(--blush);color:var(--ink);transform:translateY(3px)}
.instrument{position:relative;align-self:stretch;min-width:0;display:flex;align-items:center;justify-content:center}
.instrument-stage{width:min(59vw,920px);aspect-ratio:1;position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);pointer-events:none}
.instrument-stage canvas,.orbit-poster{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}
.instrument-stage canvas{opacity:0}.instrument-stage.live canvas{opacity:1}.instrument-stage.live .orbit-poster{visibility:hidden}
.instrument-caption{display:flex;align-items:center;gap:14px;position:absolute;bottom:22px;right:0;color:#c8c7b8;font-size:10px;z-index:2}
.instrument-caption>span{display:flex;align-items:center;gap:6px}
.instrument-caption i{display:inline-block;width:22px;height:1px;background:#969384}
.instrument-caption button{width:34px;height:34px;color:var(--paper);font-family:Arial;background:transparent}
.instrument-caption input{appearance:none;width:62px;height:24px;cursor:ew-resize;background:transparent}
.instrument-caption input::-webkit-slider-runnable-track{height:8px;background:repeating-linear-gradient(90deg,#939184 0 1px,transparent 1px 5px);border-bottom:1px solid #79786c}
.instrument-caption input::-webkit-slider-thumb{appearance:none;width:6px;height:13px;background:var(--blush);margin-top:-3px;border-radius:1px}
.instrument-caption input::-moz-range-track{height:1px;background:#aaa}.instrument-caption input::-moz-range-thumb{height:12px;width:5px;background:var(--blush)}
.hero-edge{display:flex;justify-content:space-between;align-items:center;position:relative;padding-block:17px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.hero-edge:before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:var(--dark-line)}
.hero-edge i{font-style:normal;color:#848678;margin:0 9px}.scroll-hint{display:flex;gap:10px;align-items:center}
.scroll-hint i{width:5px;height:5px;border-radius:50%;background:var(--blush);margin:0}
.display{font-size:clamp(57px,7.5vw,145px);text-wrap:balance}
.display em{font-size:1.08em}
.subhead{font-size:clamp(38px,4.25vw,79px);line-height:1.04;text-wrap:balance}
.section{padding-block:clamp(75px,8vw,155px)}.compact{padding-top:clamp(38px,4vw,80px)}
.paper{background:var(--paper)}.black{background:var(--ink);color:var(--paper);--line:var(--dark-line)}.stone{background:var(--stone)}
.lead,.reading>p{font-size:clamp(18px,1.55vw,26px);line-height:1.48;letter-spacing:-.018em;text-wrap:pretty}
.section-split,.heading-row,.mast-row,.service-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:5vw}
.section-split,.heading-row{margin:28px 0 clamp(40px,4vw,72px)}
.section-split .lead,.mast-row .lead{max-width:36ch}
.black .lead,.black .detail-rows p,.black .sticky-title p{color:#c8cbc1}
.text-link{font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:12px;min-height:44px}
.text-link .arrow{width:15px;height:15px}
.gallery-section{position:relative;background:var(--paper);padding-block:60px 65px;--progress:0}
.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:24px}
.gallery-heading h2{margin-top:15px;font-size:clamp(52px,6vw,110px)}
.gallery-tools,.gallery-arrows{display:flex;align-items:center;gap:18px}.gallery-arrows{gap:7px;display:none}
.gallery-arrows button{border-color:var(--line);width:39px;height:39px}.gallery-arrows button .arrow{width:15px}
.gallery-arrows button:hover:enabled{background:var(--ink);color:var(--paper)}.gallery-arrows button:disabled{opacity:.36}
.gallery-track,.work-index{display:grid;gap:48px;padding-inline:var(--pad)}
.gallery-track{max-width:var(--max);margin:auto}
.work-card{display:block;min-width:0}
.plate{height:clamp(235px,37vw,600px);position:relative;overflow:hidden;isolation:isolate;background:#3d3024;color:#fffaf1}
.plate img,.plate-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plate img{transform:scale(var(--plate-scale,1.02));transition:transform 1s var(--ease)}
.work-card:hover .plate img{transform:scale(1.055)}
.plate-shade{background:linear-gradient(0deg,rgba(14,12,9,.62),transparent 62%),linear-gradient(145deg,rgba(10,10,9,.45),transparent 36%)}
.plate-id,.plate-name,.plate-button{position:absolute;z-index:1}
.plate-id{top:clamp(18px,2vw,36px);left:clamp(18px,2vw,36px);font-size:10px}
.plate-name{left:clamp(18px,2vw,36px);bottom:clamp(18px,2vw,36px);font-size:clamp(48px,6.5vw,116px);line-height:.85}
.case-shiruku .plate-name{font-family:Instrument,Georgia,serif;font-style:italic;letter-spacing:-.04em;font-size:clamp(60px,8.3vw,145px)}
.case-shiruku .plate img,.case-shiruku>.case-bg{view-transition-name:shiruku-photo}
.case-ribeye .plate img,.case-ribeye>.case-bg{view-transition-name:ribeye-photo}
.case-blue-print .plate img,.case-blue-print>.case-bg{view-transition-name:blue-print-photo}
.plate-button{right:clamp(18px,2vw,36px);bottom:clamp(18px,2vw,36px);border-color:#c2b9a6;color:var(--paper);backdrop-filter:blur(6px)}
.work-card:hover .plate-button{background:var(--paper);color:var(--ink);transform:rotate(45deg)}
.plate-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0 2px;font-size:clamp(14px,1.1vw,19px)}
.plate-foot small{font-size:10px;color:#55574f}
.gallery-baseline{display:none}
.pinned.gallery-section{padding:0}
.pinned .gallery-sticky{position:sticky;top:0;height:100svh;display:flex;justify-content:center;flex-direction:column;overflow:clip}
.pinned .gallery-arrows{display:flex}
.pinned .gallery-window{overflow:clip;padding-block:4px;margin-top:-4px}
.pinned .gallery-track{display:flex;width:max-content;max-width:none;gap:2.5vw;margin:0;will-change:transform}
.pinned .work-card{width:min(72vw,1220px)}
.pinned .plate{height:clamp(215px,51svh,710px)}
.pinned .gallery-baseline{display:flex;align-items:center;gap:20px;margin-top:22px}
.gallery-baseline a{font-size:11px;color:var(--muted)}
.progress-line{height:1px;flex:1;background:var(--line);position:relative}
.progress-line i{display:block;width:33.333%;height:2px;background:var(--orange);transform:translateX(calc(var(--progress) * 200%))}
.services-list a{display:grid;grid-template-columns:52px 1.35fr .8fr 44px;gap:18px;align-items:center;border-top:1px solid var(--line);padding:clamp(22px,2.1vw,38px) 0;transition:color .35s}
.services-list a:last-child{border-bottom:1px solid var(--line)}
.discipline-swatch{display:none}
@media(min-width:1000px) and (hover:hover){
 .services-list a{grid-template-columns:52px minmax(0,1.28fr) clamp(65px,8vw,140px) minmax(0,.65fr) 44px}
 .discipline-swatch{position:relative;display:block;height:1px}
 .discipline-swatch img{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-38%) rotate(-5deg) scale(.86);opacity:0;transition:transform .48s var(--ease),opacity .35s}
 .services-list a:is(:hover,:focus-visible) .discipline-swatch img{transform:translateY(-50%) rotate(0) scale(1);opacity:1}
}
.list-index{color:var(--blush)}.service-title{font-size:clamp(28px,3.2vw,58px);letter-spacing:-.04em}
.list-desc{font-size:14px;color:#c4c7ba}
.list-arrow{width:38px;height:38px}.list-arrow svg{width:15px}
.services-list a:hover{color:var(--blush)}.services-list a:hover .list-arrow{background:var(--blush);color:var(--ink);transform:rotate(45deg)}
.studio-band{display:grid;grid-template-columns:1.1fr 1fr;background:#dcd7cb}
.studio-art{overflow:hidden;min-height:clamp(360px,41vw,720px)}
.studio-art img{width:100%;height:100%;object-fit:cover;object-position:56% center}
.studio-band-copy{padding:clamp(44px,7vw,135px) var(--pad);align-self:center}
.studio-band .display{font-size:clamp(49px,5.6vw,99px);margin-block:32px}
.studio-band-copy p{max-width:33ch}.studio-band-copy .text-link{margin-top:22px}
.notes-grid,.people,.outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,50px)}
.note-art,.article-art{overflow:hidden;position:relative}
.note-art img,.article-art img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease)}
.note-art{aspect-ratio:1.55;background:#ddd3bd}
.note-art>span{position:absolute;left:16px;bottom:13px;font-size:10px}
.print-1>span{color:var(--paper)}
.note-card:hover .note-art img{transform:scale(1.05) rotate(.8deg)}
.note-meta{display:flex;align-items:center;gap:10px;color:#55574f;margin:19px 0 10px;font-size:10px}
.note-meta i{width:16px;height:1px;background:currentColor}
.note-card h3,.people h3,.outcomes h3,.detail-rows h3{font-size:clamp(25px,2.4vw,42px);line-height:1.08;letter-spacing:-.035em}
.note-card h3{max-width:22ch}.note-card h3 .arrow{width:.48em;height:.48em;vertical-align:baseline}
.footer{background:var(--orange);color:#131810}
.foot-ask{padding-top:clamp(52px,6vw,110px);border-bottom:1px solid #743509;padding-bottom:clamp(36px,4vw,75px)}
.footer .kicker i{background:var(--ink)}
.foot-invite{display:flex;align-items:center;gap:2.7vw;letter-spacing:-.07em;font:500 clamp(60px,12vw,220px)/1 Bricolage,sans-serif;letter-spacing:-.07em;margin-top:25px}
.foot-invite span{margin-left:auto;width:clamp(56px,8vw,140px);height:clamp(56px,8vw,140px);border:1px solid #773a16;border-radius:100%;display:grid;place-items:center;transition:transform .55s var(--ease),background .4s}
.foot-invite span svg{width:43%;height:43%}.foot-invite:hover span{transform:rotate(45deg);background:var(--blush)}
.foot-content{display:grid;grid-template-columns:1.3fr .65fr 1fr;gap:25px;padding:47px 0 62px}
.foot-content p{margin-top:15px;line-height:1.4}
.foot-links{display:flex;align-items:flex-start;flex-direction:column;gap:8px}
.foot-content .email{display:block;width:max-content;margin-top:12px;font-size:clamp(16px,1.6vw,29px);letter-spacing:-.035em}
.foot-word{width:100%;height:auto}
.foot-base{padding:24px 0 18px;margin-top:24px;border-top:1px solid #88410f;display:flex;gap:30px;align-items:center;justify-content:space-between}
.foot-base button,.foot-base a{min-height:35px;display:inline-flex;align-items:center}
.foot-base button{margin-left:auto}
.mast,.service-hero{background:var(--night);color:var(--paper);padding:clamp(54px,7vw,137px) 0 clamp(55px,6vw,115px)}
.mast-row{margin-top:clamp(34px,4vw,78px)}.mast-row em,.service-hero .kicker,.mast .kicker{color:var(--blush)}
.mast-row h1{max-width:13ch}.mast-row .lead{color:#c9cbbe}
.work-index{padding-block:clamp(36px,5vw,90px);gap:clamp(48px,6vw,100px)}
.work-index .work-card:nth-child(2){width:82%;justify-self:end}
.work-index .work-card:nth-child(3){width:87%}
.work-index .plate{height:auto;aspect-ratio:2.2}
.text-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw;align-items:start}
.reading{max-width:740px}.reading .subhead{margin-bottom:25px}
.reading p,.detail-rows p,.outcomes p,.faq p,.sticky-title p{line-height:1.55;text-wrap:pretty}
.reading>section+section{margin-top:48px}
.reading h2{font-size:clamp(31px,3.3vw,59px);line-height:1.1;margin-bottom:18px}
.case-open{position:relative;color:white;background:var(--ink);isolation:isolate}
.case-bg,.case-open:after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.case-open:after{content:"";background:linear-gradient(0deg,#15160deb,transparent 80%),linear-gradient(115deg,#17150d8a,transparent 75%)}
.case-open>.bounds{min-height:clamp(420px,69svh,880px);display:flex;flex-direction:column;justify-content:space-between;padding-block:30px 50px}
.back{font-size:14px;display:inline-flex;align-items:center;min-height:40px;align-self:flex-start}
.back:hover{text-decoration:underline;text-underline-offset:4px}
.case-open h1{font:500 clamp(80px,12vw,220px)/.95 Bricolage,sans-serif;letter-spacing:-.065em;margin:20px 0}
.case-open p{font-size:clamp(20px,2.2vw,38px)}.minor{margin-top:20px}
.case-figures figure{background:var(--stone);padding:clamp(18px,3vw,54px)}
.case-figures img{width:100%;object-fit:contain}
.case-figures figcaption{margin-top:16px;font-size:10px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:2vw;align-items:start;padding-bottom:clamp(55px,6vw,110px)}
.next-block{padding:55px 0;background:var(--ink);color:var(--paper)}
.next-block a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;font-size:clamp(50px,6vw,108px)}
.next-block a .arrow{width:.55em;height:.55em}.next-block a:hover{color:var(--blush)}
.service-hero{padding-top:24px}.service-hero .kicker{margin-top:45px}
.service-hero h1{max-width:17ch;margin:24px 0 32px;font-size:clamp(61px,7.4vw,130px)}
.service-intro p{max-width:53ch}.service-intro a{color:var(--blush);white-space:nowrap}
.service-cover{display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:5vw}
.service-cover .service-intro{align-items:flex-start;flex-direction:column;gap:18px}
.service-cover h1{font-size:clamp(56px,6.5vw,117px)}
.service-plate{max-width:550px;width:100%;justify-self:end;padding-top:45px}
.service-plate img{width:100%;height:auto}.service-plate figcaption{padding:13px 0;color:#c4c6b9;font-size:10px}
.method details{border-top:1px solid var(--line)}.method details:last-child{border-bottom:1px solid var(--line)}
.method summary{display:flex;align-items:center;gap:18px;list-style:none;padding:21px 0;cursor:pointer;font:500 clamp(24px,2.35vw,44px)/1.1 Bricolage,sans-serif;letter-spacing:-.035em}
.method summary::-webkit-details-marker{display:none}.method small{font:11px Plex,monospace}
.method summary span{margin-left:auto;font:400 23px DM,sans-serif}.method details[open] summary span{rotate:45deg}.method p{padding:0 0 26px 32px;max-width:55ch}
.outcomes{padding-bottom:clamp(55px,6vw,105px)}.outcomes article{border-top:1px solid var(--line);padding-top:18px}
.outcomes h3,.detail-rows h3{margin:15px 0}.outcomes p{color:#51534c}
.detail-rows{padding:0;list-style:none}.detail-rows li{display:grid;grid-template-columns:34px 1fr;gap:20px;padding:22px 0 30px;border-top:1px solid var(--line)}
.detail-rows h3{margin:0 0 12px}.detail-rows .mono{padding-top:6px}
.sticky-title{position:sticky;top:50px}.sticky-title .subhead,.text-layout>.subhead,.text-layout>div>.kicker+.subhead{margin:24px 0 20px}
.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:23px}.faq details[open] summary span{rotate:45deg}.faq p{padding-top:12px;color:#484a44}.faq .text-link{margin-top:22px}
.studio-wide{height:clamp(260px,42vw,760px);overflow:hidden}.studio-wide img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}
.people figure img{width:100%;aspect-ratio:1/1.07;object-fit:cover}.people h3{margin:17px 0 7px}
.people p{font-size:14px;color:var(--soft)}.article-mast{padding-block:28px clamp(50px,6vw,110px);border-bottom:1px solid var(--line)}
.article-open{display:grid;align-items:center;grid-template-columns:1.2fr .8fr;gap:7vw;margin-top:42px}
.article-open h1{font-size:clamp(55px,6.3vw,112px);margin:25px 0;max-width:16ch}
.article-art{aspect-ratio:1/1.06}.byline{display:block;margin-top:28px;color:var(--muted)}
.toc{align-self:stretch}.toc .kicker{margin-bottom:22px}.toc a{display:block;padding:8px 0;font-size:14px}
.toc a:hover{text-decoration:underline}.next-block a.next-article{font-size:clamp(35px,4.8vw,88px)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-block:clamp(62px,7vw,130px)}
.contact-sticky{position:sticky;top:50px}.contact h1{font-size:clamp(84px,10vw,175px);margin:30px 0}.contact .lead{max-width:32ch}.contact .text-link{margin-top:18px}
#brief{background:#e8e5da;padding:clamp(24px,4vw,64px)}.form-top{margin-bottom:30px}
#brief label{display:block;font-size:15px;font-weight:500;margin-block:22px}
#brief input,#brief select,#brief textarea{display:block;width:100%;margin-top:7px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #a8a89d;padding:8px 0 10px;border-radius:0;font-size:16px}
#brief textarea{resize:vertical}#brief input::placeholder,#brief textarea::placeholder{color:#65675d}
.form-hint{font-size:14px;color:#52564b;margin-bottom:20px}.form-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.solid{font-size:15px;background:var(--ink);color:var(--paper)}.solid:hover{color:var(--ink)}
.copy{font-size:14px;padding:5px 0}#form-status{font-size:14px;margin-top:12px}.notfound{display:flex;gap:24px;padding-block:60px}
@keyframes enter-line{from{transform:translateY(106%) rotate(1deg)}to{transform:none}}
@media(prefers-reduced-motion:no-preference){
 html:not(.quiet) .hero-title .clip>*{animation:enter-line 1s var(--ease) both}
 html:not(.quiet) .hero-title .clip:nth-child(2)>*{animation-delay:.12s}
 html:not(.quiet) .reveal.ready{opacity:.2;transform:translateY(20px);transition:transform .85s var(--ease),opacity .8s ease}
 html:not(.quiet) .reveal.ready.in{transform:none;opacity:1}
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation-duration:.21s}::view-transition-new(root){animation-duration:.37s}
 ::view-transition-group(shiruku-photo),::view-transition-group(ribeye-photo),::view-transition-group(blue-print-photo){animation-duration:.68s;animation-timing-function:cubic-bezier(.25,.77,.24,1)}
 @supports(animation-timeline:view()){
  html:not(.quiet) .studio-art img{animation:studio-camera linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes studio-camera{from{transform:scale(1.12) translateY(2%)}to{transform:scale(1.05) translateY(-1%)}}
 }
}
html.quiet *,html.quiet *:before,html.quiet *:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.quiet::view-transition-old(root),html.quiet::view-transition-new(root){animation:none}
html.quiet::view-transition-group(*){animation-duration:0s}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:900px){
 .desktop-nav{gap:18px}.nav-inner{gap:24px;height:70px}
 .hero-title{font-size:7.8vw}.hero-frame{min-height:clamp(480px,74svh,700px)}
 .services-list a{grid-template-columns:32px 1.2fr .8fr 38px;gap:14px}
 .plate-foot{align-items:flex-start}.plate-foot small{white-space:nowrap}
 .text-layout,.article-open{gap:5vw}
}
@media(max-width:720px){
 :root{--pad:clamp(20px,5.1vw,35px)}
 .nav-inner{height:65px;gap:14px}.brand{gap:8px}.brand img:first-child{width:25px;height:27px}.brand img:last-child{width:110px}
 .desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px}
 .menu-toggle i{display:block;width:19px;height:8px;border-block:1px solid currentColor}.menu-toggle[aria-expanded=true] i{height:1px;transform:rotate(-32deg)}
 .hero-frame{display:flex;flex-direction:column;align-items:stretch;min-height:0}
 .hero-copy{align-self:stretch;padding:43px 0 0}.hero-copy>.kicker{font-size:9px;gap:8px}
 .hero-title{font-size:clamp(53px,11.7vw,84px);line-height:1.02;max-width:100%;margin:28px 0 0}.hero-title em{font-size:1.18em;padding-left:.25em}
 .hero-intro{margin-top:20px;max-width:33ch}.hero-intro p{font-size:16px;line-height:1.4}
 .explore{margin-top:17px;font-size:13px}.button-disc{width:34px;height:34px}.button-disc .arrow{width:15px}
 .instrument{height:clamp(235px,61vw,370px);margin:0 calc(-1 * var(--pad));align-self:auto}
 .instrument-stage{width:min(95vw,500px);top:48%;left:56%}
 .instrument-caption{right:var(--pad);bottom:9px;font-size:8px;gap:7px}.instrument-caption i{width:13px}.instrument-caption button{width:29px;height:29px}
 .hero-edge{padding-block:13px;font-size:8px}.hero-edge i{margin:0 4px}
 .display{font-size:clamp(49px,10vw,76px)}
 .gallery-section{padding-block:46px}.gallery-heading{gap:12px;align-items:flex-end;margin-bottom:22px}
 .gallery-heading h2{font-size:clamp(37px,8.3vw,58px);margin-top:14px}.gallery-tools>.text-link{font-size:12px;gap:3px}
 .gallery-track{gap:30px}.plate{height:auto;aspect-ratio:1.45}
 .plate-foot{display:grid;gap:4px;padding-top:10px}.plate-id{font-size:8px}.plate-button{width:34px;height:34px}.plate-button svg{width:14px}
 .section{padding-block:58px}.compact{padding-block:34px 52px}.heading-row,.section-split,.mast-row,.service-intro{align-items:flex-start;flex-direction:column;gap:22px}
 .heading-row{margin:20px 0 26px}.section-split{margin:23px 0 33px}.section-split .lead,.mast-row .lead{max-width:40ch}
 .services-list a{grid-template-columns:22px 1fr 31px;column-gap:10px;row-gap:6px;padding:19px 0}
 .list-index{font-size:9px}.service-title{font-size:clamp(23px,5.55vw,36px)}.list-desc{grid-column:2;font-size:12px}
 .list-arrow{grid-column:3;grid-row:1/3;width:30px;height:30px}.list-arrow svg{width:12px}
 .studio-band{grid-template-columns:1fr}.studio-art{min-height:0;aspect-ratio:1.75}.studio-band-copy{padding:40px var(--pad) 48px}.studio-band .display{margin:21px 0 18px}
 .notes-grid,.people,.outcomes,.text-layout,.article-open,.contact,.pair{grid-template-columns:1fr}
 .notes-grid{gap:33px}.note-meta{margin:13px 0 7px}.note-card h3{font-size:30px}
 .foot-ask{padding-top:39px;padding-bottom:28px}.foot-invite{margin-top:20px;font-size:clamp(52px,13.1vw,88px)}
 .foot-invite span{width:44px;height:44px}.foot-content{grid-template-columns:1fr .72fr;gap:28px;padding:32px 0}.foot-content>div:last-child{grid-column:1/-1}
 .foot-symbol{width:36px;height:37px}.foot-content p,.foot-links a{font-size:14px}.foot-base{font-size:9px;gap:12px;padding:12px 0;margin-top:15px}
 .mast{padding-block:49px}.mast-row{margin-top:27px}.work-index .work-card:nth-child(n){width:100%}.work-index .plate{aspect-ratio:1.3}
 .text-layout{gap:26px}.case-open>.bounds{min-height:420px;padding-block:15px 30px}.case-open h1{font-size:clamp(70px,17vw,110px)}
 .case-figures{padding-inline:var(--pad)}.case-figures figure{padding:14px}.pair{gap:20px}.next-block{padding:40px 0}
 .outcomes{gap:24px}.outcomes h3{margin:9px 0}.outcomes article{padding-top:14px}
 .sticky-title,.contact-sticky{position:static}.service-hero .kicker{margin-top:29px}.service-hero h1{font-size:clamp(46px,9vw,73px)}
 .detail-rows li{grid-template-columns:24px 1fr;gap:14px}.people{gap:32px}.people img{max-height:460px}.people figure{max-width:500px}
 .article-open{margin-top:25px;gap:32px}.article-art{aspect-ratio:2}.article-open h1{font-size:clamp(46px,9.5vw,74px)}
 .contact{gap:30px}.contact h1{font-size:83px;margin:22px 0}.contact h1 br{display:none}.contact h1 em:before{content:' '}
 .contact-sticky .text-link{margin-top:8px}#brief{padding:23px}.toc{border-bottom:1px solid var(--line);padding-bottom:18px}
 .service-cover{grid-template-columns:1fr;gap:24px}.service-cover h1{font-size:clamp(45px,9vw,70px)}
 .service-plate{padding-top:0;max-width:none}.service-plate img{max-height:190px;width:100%;object-fit:contain;background:#20231c}
 .instrument-caption input{width:43px}.method summary{gap:12px}
}
.hero-title,.display,.subhead{letter-spacing:-.045em}
@media(max-width:355px){.hero-title{font-size:11.25vw}.hero-edge{letter-spacing:0}.gallery-tools>.text-link{font-size:11px}}
@media(min-width:721px) and (max-height:570px){.pinned .gallery-heading h2{font-size:43px}.pinned .gallery-heading{margin-bottom:12px}.pinned .gallery-baseline{margin-top:10px}}
