@font-face{font-family:Grotesk;src:url(/assets/type.woff2) format('woff2');font-weight:300 700;font-display:swap}
:root{--paper:#f8f9f7;--ink:#121513;--muted:#51564f;--rule:#b2b8ae;--tone:#314b3b;--edge:clamp(18px,2.3vw,48px);--ease:cubic-bezier(.23,1,.32,1);color-scheme:light dark;font-family:Grotesk,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
@media(prefers-color-scheme:dark){:root{--paper:#151815;--ink:#f1f3ed;--rule:#5c635b;--muted:#b8c0b5;--tone:#bed7bd}}
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}body{overflow-wrap:break-word;-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a,button{touch-action:manipulation}button{border:0;background:none}h1,h2,h3{text-wrap:balance}p{line-height:1.53;max-width:62ch}html{scroll-padding-top:78px}.wrap{max-width:1750px;margin:auto;padding-inline:var(--edge)}:focus-visible{outline:3px solid var(--tone);outline-offset:4px}::selection{background:var(--ink);color:var(--paper)}.skip{position:absolute;left:1rem;top:-100px;z-index:9;background:var(--paper);padding:12px}.skip:focus{top:8px}
.mast{position:relative;z-index:4;height:68px;padding:0 var(--edge);display:grid;grid-template-columns:2fr 3fr 48px;gap:1.4vw;align-items:stretch;background:var(--paper)}.mast .brand,.mast .lang,.mast nav a{border-bottom:1px solid var(--rule);display:flex;align-items:center}.brand{display:inline-flex;align-items:center;gap:.55rem;width:auto}.brand b{font-family:Grotesk,sans-serif;font-size:1.23rem;font-weight:700;letter-spacing:.03em}.brand img{width:31px;height:31px}.mast nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4vw}.mast nav a,.lang{font-size:.8rem;letter-spacing:.045em;text-transform:uppercase;font-weight:600}.mast nav a{justify-content:space-between}.mast nav a[aria-current]{border-bottom:2px solid var(--ink)}.lang{justify-content:center}.arrow{font-family:Arial,sans-serif;display:inline-block}.line-link{display:inline-flex;align-items:center;gap:1rem;justify-content:space-between;border-bottom:1px solid currentColor;padding:.6rem 0;min-height:44px;font-size:1rem;line-height:1.25;font-weight:600}.solid{display:inline-flex;align-items:center;gap:1.6rem;min-height:48px;padding:12px 19px;color:var(--paper);background:var(--ink);border-radius:3px;font-weight:600}.solid:active,.choices button:active{transform:scale(.98)}
.story{position:relative;height:calc(172svh - 68px)}.pin{position:sticky;top:0;height:calc(100svh - 68px);min-height:440px;overflow:hidden;background:var(--paper)}.manifest{height:100%;padding:0 var(--edge);display:flex;align-items:center;position:relative}.manifest h1{font-family:Arial,'Helvetica Neue',sans-serif;font-weight:1000;letter-spacing:-.085em;line-height:.78;font-size:clamp(5.3rem,13vw,16rem);width:100%;transform:translateY(2%)}.line{display:flex;align-items:center;gap:.026em;white-space:nowrap}.first{padding-left:1vw}.second{padding-left:9vw;margin-top:.07em;gap:.13em}.aperture{display:inline-block;width:18vw;min-width:18vw;aspect-ratio:1.68}.manifest-aside{position:absolute;top:clamp(24px,6vh,78px);right:var(--edge);width:min(26vw,330px)}.manifest-aside p{font-size:clamp(.95rem,1.28vw,1.4rem);line-height:1.25;letter-spacing:-.025em}.manifest-aside .line-link{margin-top:.6rem;font-size:.88rem}.motion-media{position:absolute;inset:0;pointer-events:none;visibility:hidden;transform-origin:0 0;background:#16181a;overflow:hidden}.motion-media video{width:100%;height:100%;object-fit:cover}.motion-toggle{position:absolute;bottom:1rem;right:var(--edge);font-size:.76rem;background:var(--paper);color:var(--ink);border:1px solid var(--rule);padding:.5rem .85rem;min-height:36px;z-index:2}.no-motion .story{height:auto}.no-motion .pin{position:relative}.no-motion .aperture{background:#151719 url(/assets/hero.webp) center/cover}.no-motion .motion-media{display:none}
.index{padding-top:clamp(4rem,9vw,10rem);padding-bottom:clamp(3rem,7vw,8rem)}.index h2,.service-table>h2,.feature h2,.example h2{font-size:clamp(2.2rem,4.4vw,5rem);line-height:1;letter-spacing:-.06em}.dept-list{margin-top:3rem}.dept-list a{display:grid;grid-template-columns:1.5fr 1fr 35px;gap:20px;align-items:baseline;border-top:1px solid var(--rule);padding:clamp(1rem,2vw,2.1rem) 0}.dept-list a>span:first-child{font-size:clamp(2rem,4.2vw,4.5rem);font-weight:550;line-height:1;letter-spacing:-.06em}.dept-list small{font-size:1rem;color:var(--muted)}.dept-list .arrow{font-size:1.7rem}.feature{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:8%;padding-top:2.5rem;padding-bottom:7rem}.feature img{width:100%;aspect-ratio:1.5;object-fit:cover}.feature p,.example p{margin:1.3rem 0;font-size:1.15rem}.contact-band{border-block:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:0 var(--edge);padding:3rem 0}.contact-band p{font-size:clamp(2.3rem,5.8vw,6.3rem);line-height:1;letter-spacing:-.065em}.contact-band .line-link{font-size:1.4rem}
footer{padding:3.5rem var(--edge) 1rem}.foot-top,.foot-end,.foot-end nav{display:flex;align-items:center;justify-content:space-between;gap:1.3rem}.foot-top p{font-size:1rem;max-width:32ch}.foot-end{margin-top:3rem;border-top:1px solid var(--rule);padding-top:1rem;color:var(--muted);font-size:.82rem}.foot-end nav a{padding:.5rem 0}
.intro,.dept-intro,.legal,.intake{padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(2rem,5vw,5rem)}.intro h1,.dept-intro h1,.legal h1,.intake h1{font:700 clamp(3.8rem,8.9vw,10rem)/.94 Grotesk,sans-serif;letter-spacing:-.075em}.intro>p,.dept-intro>p{max-width:48ch;font-size:clamp(1.13rem,1.75vw,1.65rem);margin:1.6rem 0 .5rem}.dept-intro>a{font-size:.9rem;display:inline-block;margin-bottom:2.3rem}.dept-intro h2{margin-top:1.35rem;font-weight:550;font-size:clamp(1.6rem,2.6vw,3rem);letter-spacing:-.04em}.dept-intro>p{font-size:1.1rem;margin:.6rem 0}
.gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,5vw,86px) 4vw;align-items:start;padding-bottom:6rem}.plate:nth-child(even){margin-top:6vw}.plate img,.plate .plot{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}.plate>div{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0 .3rem;gap:1rem}.plate h2{font-size:clamp(1.8rem,3.2vw,3.8rem);letter-spacing:-.06em;line-height:1.05}.plate p{color:var(--muted)}.plot{background:#dde4dc;color:#193122;display:flex;flex-direction:column;justify-content:center;gap:1.2rem;padding:clamp(20px,4vw,60px);font:500 .9rem Grotesk,sans-serif}.plot figcaption{font-size:clamp(1rem,1.7vw,2rem);font-weight:650;margin-bottom:.7rem}.plot>div{display:flex;align-items:center;gap:.55rem}.plot b{height:clamp(8px,1.65vw,24px);background:#283f30}.plot span{width:3.2em}.plot em{font-style:normal;font-variant-numeric:tabular-nums}
.workbench{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.5rem,6vw,7rem);align-items:center}.workbench figure img{width:100%;aspect-ratio:1.55;object-fit:cover}.workbench h3{font-size:clamp(1.65rem,3.5vw,4rem);max-width:18ch;line-height:1.03;letter-spacing:-.055em}.workbench p{margin:1.2rem 0;max-width:42ch}.choices{display:flex;gap:.5rem;margin-top:1.3rem;flex-wrap:wrap}.choices button{color:inherit;border:1px solid var(--rule);min-height:44px;padding:.5rem 1rem}.choices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.metric-input{display:flex;gap:1.5rem}.metric-input input{width:8rem}.metric-input label{font-size:.85rem}output{display:block;font-size:2.5rem;margin-top:.5rem;font-weight:600}.film video{width:100%;max-height:72vh;background:#141517}.film figcaption{font-size:.84rem;margin-top:.6rem}.service-table{padding-top:clamp(3rem,7vw,8rem)}.service-table>h2{margin-bottom:2rem}.service-table article{border-top:1px solid var(--rule);padding:1.25rem 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.service-table h3,.legal h2{font-size:clamp(1.4rem,2.3vw,2.6rem);line-height:1.14;letter-spacing:-.04em}.example{padding-block:4rem}.example p{max-width:54ch}.intake{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start}.intake h1{font-size:clamp(3.2rem,6.3vw,6rem)}.intake>div>p{margin-top:1.4rem}.intake form{max-width:42rem}.intake label{display:block;font-weight:550;margin-bottom:1.4rem}select,input,textarea{width:100%;margin-top:.45rem;border:1px solid var(--rule);border-radius:2px;min-height:44px;background:var(--paper);padding:.7rem .8rem}textarea{resize:vertical}.consent{display:flex!important;align-items:center;gap:.7rem}.consent input{width:20px;min-height:20px;margin:0}.consent a,.legal a{text-decoration:underline;text-underline-offset:.2em}.fine{font-size:.85rem;color:var(--muted);margin:1rem 0}#draft{margin-top:1rem;padding:1.1rem;border:1px solid var(--rule)}#draft p{white-space:pre-wrap}
.legal{max-width:900px}.legal h1{font-size:clamp(2.8rem,6.5vw,5.5rem)}.legal nav{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin:2rem 0}.legal section{margin:2.4rem 0}.legal section p{margin-top:.8rem}.legal h2{font-size:1.65rem}
@media(prefers-color-scheme:dark){.brand img{filter:invert(1) brightness(1.35)}}@media(hover:hover) and (pointer:fine){.line-link:hover,.mast a:hover,.dept-list a:hover{color:var(--tone)}.arrow{transition:transform 170ms var(--ease)}a:hover .arrow{transform:translate(2px,-2px)}}@media(prefers-reduced-motion:no-preference){.line{animation:arrive .62s var(--ease) both}.second{animation-delay:60ms}@keyframes arrive{from{opacity:.45;transform:translateY(.16em)}}}
@media(max-width:760px){.mast{height:61px;grid-template-columns:auto 1fr auto;gap:12px}.mast nav{gap:10px;display:flex;justify-content:flex-end}.mast nav a,.lang{font-size:.7rem;letter-spacing:0}.brand b{font-size:.94rem}.brand img{width:22px;height:22px}.mast .brand{gap:3px}.mast nav .arrow{display:none}.lang{min-width:23px}.story{height:130svh}.pin{height:calc(100svh - 61px);min-height:440px}.manifest{align-items:flex-start;padding-top:clamp(2rem,8svh,5rem);display:grid;align-content:start;gap:2rem}.manifest h1{font-size:clamp(3.2rem,14.2vw,6.7rem);line-height:.86}.first{padding:0}.second{padding-left:7vw;position:relative}.aperture{position:absolute;width:clamp(110px,38vw,220px);min-width:0;left:0;top:calc(100% + 1.6rem)}.manifest-aside{position:static;width:100%;margin-top:clamp(78px,24vw,155px);max-width:32ch;padding-left:7vw}.motion-toggle{bottom:.6rem}.index{padding-block:4rem}.dept-list a{grid-template-columns:1fr 26px;gap:.3rem;font-size:1rem}.dept-list a small{grid-row:2}.dept-list a .arrow{grid-column:2;grid-row:1}.feature,.intake,.gallery,.workbench,.service-table article{grid-template-columns:1fr;gap:1.25rem}.plate:nth-child(even){margin:0}.gallery{gap:2.8rem}.feature{padding-bottom:4rem}.contact-band{align-items:flex-start;flex-direction:column}.foot-top,.foot-end{align-items:flex-start;flex-direction:column}.foot-end nav{flex-wrap:wrap}.service-table article{gap:.55rem}.intake{gap:2rem}.plot{min-height:190px}.dept-intro h1{font-size:clamp(3rem,11vw,5rem)}.brand{white-space:nowrap}}
.aperture{background:#171919 url(/assets/hero.webp) center/cover}
@media(prefers-reduced-motion:no-preference){.gallery a img,.feature-img img{transition:transform .35s var(--ease)}@media(hover:hover) and (pointer:fine){.gallery a:hover img,.feature-img:hover img{transform:scale(.99)}}}
.foot-social{display:flex;align-items:center;gap:1.6rem;margin-top:2.2rem}.foot-social a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--rule);font-weight:550}.foot-end{margin-top:1.5rem}.method{padding-block:clamp(3.5rem,7vw,7.5rem);border-top:1px solid var(--rule)}.method>div{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.method h2{font-size:clamp(2.4rem,5.8vw,6rem);line-height:.95;letter-spacing:-.065em}.method p{max-width:47ch;font-size:clamp(1rem,1.55vw,1.4rem)}.method ol{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:clamp(2rem,4.5vw,4rem) 0 1rem;list-style:none}.method li{border-top:1px solid var(--rule);padding-top:1rem;position:relative;font-weight:600}.method li:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--ink);border-radius:50%}.method li:last-child:before{background:var(--paper);border:1px solid var(--ink)}.method small{display:block;font-weight:400;color:var(--muted)}.motion-toggle{min-height:44px}
@media(max-width:760px){.method>div{grid-template-columns:1fr;gap:1rem}.method ol{display:block;margin:1.75rem 0 .5rem}.method li{border-top:0;border-left:1px solid var(--rule);padding:0 0 1rem 1.1rem;font-size:.96rem}.method li:before{left:-4px;top:.4em}.method li:last-child{border-color:transparent}.method li:last-child small{display:inline;margin-left:.65rem}.aperture{width:clamp(170px,57vw,300px)}.manifest-aside{margin-top:clamp(120px,36vw,185px)}.foot-end nav{gap:.7rem}}
@media(max-width:410px){.mast nav a:nth-child(2){display:none}.mast nav{justify-content:space-around}.mast .lang{min-width:34px}}
.motion-media{right:auto;bottom:auto;contain:strict}.motion-media video{object-fit:contain;background:#17191a}.nfc-object{background:#e4e4de;overflow:hidden}.nfc-object img{width:100%;aspect-ratio:2.15;object-fit:cover}.nfc-receipt{background:#eaece6;color:#1a211a;padding:clamp(1.1rem,2.4vw,2.5rem)}.nfc-receipt small{font-size:.78rem;color:#475047}.nfc-receipt b,.nfc-receipt span{display:block}.nfc-receipt b{font-size:clamp(1.6rem,3.4vw,3.7rem);line-height:1.11;letter-spacing:-.06em;margin:.4rem 0}.nfc-receipt span{font-size:.92rem}.motion-toggle:focus-visible{outline-offset:-4px}
.plate{min-width:0}.plate h2{min-width:0;overflow-wrap:anywhere}.plate .plot{min-width:0}.plot>div{min-width:0}
@media(max-width:760px){.gallery{grid-template-columns:minmax(0,1fr)}}

/* The close-up expands with its frame. In portrait, crop the empty sides of the studio. */
.motion-media{display:grid;grid-template: minmax(0,1fr) / minmax(0,1fr);place-items:center;container-type:size;background:#090a0a}
.motion-media video{width:100%;height:100%;background:transparent;object-fit:contain}
@media(max-width:760px){
  .motion-media video{max-height:100cqw;object-fit:cover}
}
/* Show both compositions in document order for a visitor who prefers stills. */
.no-motion .pin{height:auto;min-height:0}
.no-motion .manifest{height:max(440px,calc(100svh - 68px))}
.no-motion .motion-media{position:relative;inset:auto;visibility:visible;display:grid;width:100%;height:min(80svh,75vw)}
.no-motion .motion-media video{visibility:visible}
@media(max-width:760px){
  .no-motion .manifest{height:auto;min-height:min(680px,calc(100svh - 61px));padding-bottom:2rem}
  .no-motion .motion-media{height:100vw}
}
#signin h2{font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.05em;line-height:1.05;margin:0 0 1rem}
#signin p{margin-bottom:1rem}#signin p>a{text-decoration:underline;text-underline-offset:.2em}.account-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
#account-status:empty,#brief-status:empty{display:none}#account-status{margin-bottom:1.3rem}#logout{margin-top:1rem}#brief-status{margin-block:1rem}
[hidden]{display:none!important}
