@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--header-compact);font-size:100%}:root{--gutter:max(clamp(1.25rem, -.1786rem + 3.8095vw, 5rem), (100vw - 80rem) / 2);--container:80rem;--content:calc(100vw - 2 * var(--gutter));--measure:42.5rem;--measure-s:37.5rem;--header:5.25rem;--header-compact:4rem;--type-hero:clamp(2.75rem, 1.8214rem + 3.8095vw, 5.25rem);--type-display:clamp(2.125rem, 1.6143rem + 2.0952vw, 3.5rem);--type-statement:clamp(1.5rem, 1.3143rem + .7619vw, 2rem);--type-quote:clamp(1.5rem, 1.3143rem + .7619vw, 2rem);--type-body:clamp(1rem, .9536rem + .1905vw, 1.125rem);--type-logo:clamp(1.125rem, .8464rem + 1.1429vw, 1.875rem);--type-wordmark-xl:calc(var(--content) * .136);--type-heading:2rem;--type-subheading:1.375rem;--type-nav:.9375rem;--type-small:.875rem;--type-label:.8125rem;--type-wordmark:1.0625rem;--leading-hero:1;--type-h4:1.25rem;--leading-h4:1.3;--leading-display:1.1;--leading-statement:1.2;--leading-quote:1.25;--leading-body:1.6;--leading-logo:1;--leading-heading:1.2;--leading-subheading:1.35;--leading-nav:1.4;--leading-small:1.5;--leading-label:1.4;--leading-wordmark:1.2;--leading-wordmark-xl:.86;--tracking-hero:-.03em;--tracking-display:-.015em;--tracking-statement:-.01em;--tracking-quote:-.01em;--tracking-logo:-.01em;--tracking-heading:-.01em;--tracking-subheading:-.005em;--tracking-label:.01em;--tracking-wordmark:.02em;--tracking-wordmark-xl:-.03em;--space-section:clamp(4rem, 2.8857rem + 4.5714vw, 7rem);--space-section-title-top:clamp(2.5rem, 1.7571rem + 3.0476vw, 4.5rem);--space-section-title-bottom:clamp(3rem, 2.0714rem + 3.8095vw, 5.5rem);--space-gap-xl:clamp(2rem, 1.2571rem + 3.0476vw, 4rem);--space-gap-l:clamp(1.5rem, 1.1286rem + 1.5238vw, 2.5rem);--space-gap-m:clamp(1rem, .8143rem + .7619vw, 1.5rem);--media-hero:max(30rem, min(100svh, 62.5vw));--media-break:max(18.75rem, min(80svh, 56.25vw));--media-feature:max(16.25rem, min(85svh, calc(min(100vw - 2 * var(--gutter), var(--container)) * .6)));--portrait-w:clamp(17.5rem, 15.6429rem + 7.619vw, 22.5rem);--overlay-h:100dvh}@supports not (height:100svh){:root{--media-hero:max(30rem, min(100vh, 62.5vw));--media-break:max(18.75rem, min(80vh, 56.25vw));--media-feature:max(16.25rem, min(85vh, calc(min(100vw - 2 * var(--gutter), var(--container)) * .6)));--overlay-h:100vh}}.t-hero{font-size:var(--type-hero);line-height:var(--leading-hero);letter-spacing:var(--tracking-hero);text-wrap:balance}.t-display{font-size:var(--type-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-wrap:balance}.t-statement{font-size:var(--type-statement);line-height:var(--leading-statement);letter-spacing:var(--tracking-statement);text-wrap:balance}.t-quote{font-size:var(--type-quote);line-height:var(--leading-quote);letter-spacing:var(--tracking-quote);text-wrap:balance}.t-body{font-size:var(--type-body);line-height:var(--leading-body);text-wrap:pretty}.t-logo{font-size:var(--type-logo);line-height:var(--leading-logo);letter-spacing:var(--tracking-logo)}.t-heading{font-size:var(--type-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-wrap:balance}.t-subheading{font-size:var(--type-subheading);line-height:var(--leading-subheading);letter-spacing:var(--tracking-subheading);text-wrap:balance}.t-nav{font-size:var(--type-nav);line-height:var(--leading-nav)}.t-small{font-size:var(--type-small);line-height:var(--leading-small);text-wrap:pretty}.t-label{font-size:var(--type-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label)}.t-wordmark{font-size:var(--type-wordmark);line-height:var(--leading-wordmark);letter-spacing:var(--tracking-wordmark)}.t-wordmark-xl{font-size:var(--type-wordmark-xl);line-height:var(--leading-wordmark-xl);letter-spacing:var(--tracking-wordmark-xl);text-wrap:balance}.t-quote{font-style:normal}.wrap{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-section)}.section--title{padding-block:var(--space-section-title-top) var(--space-section-title-bottom)}.bleed{width:100%}.media-hero,.media-break,.media-feature{object-fit:cover;width:100%;display:block}.media-hero{height:var(--media-hero)}.media-break{height:var(--media-break)}.media-feature{height:var(--media-feature)}.portrait{width:var(--portrait-w);aspect-ratio:3/4;object-fit:cover}.overlay{height:var(--overlay-h);overscroll-behavior:contain}.measure{max-width:var(--measure)}.measure-s{max-width:var(--measure-s)}[id]{scroll-margin-top:var(--header-compact)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@font-face{font-family:Geist;src:url(/fonts/geist-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--night:#0e0e12;--graphite:#2a2a2e;--stone-ink:#66666a;--fog:#9a9aa0;--mist:#c3cdd3;--mist-100:#e4e9ec;--sage:#b0b5aa;--bone:#ececdf;--paper:#f8f8f2;--volt:#f4ff9a;--hn:#f2d7d1;--ws:#1c3439;--vm:#f1ece3;--tm:#101820;--hn-blue:#4f6fc9;--hn-ink:#101828;--hn-text:#4a5565;--hn-muted:#6a7282;--hn-line:#e5e7eb;--hn-teal:#04a190;--hn-teal-tint:#e6f6f3;--hn-select:#c6d2f3;--ws-card:#243f45;--ws-card-deep:#15292d;--ws-gold:#e8cf8a;--ws-gold-deep:#b8933e;--vm-1:#d8b4a6;--vm-2:#b5c7b1;--vm-3:#c9b8d9;--vm-4:#e6c98a;--tm-page:#f8f9fc;--tm-line:#d6dbe6;--tm-blue:#2457d6;--tm-navy:#0f1f3d;--tm-block:#e3e8f2;--wall-top:#1a1a20;--ground:var(--paper);--surface:#fff;--plate:var(--mist-100);--ink:#141416;--secondary:var(--stone-ink);--rule:#1414161f;--deep:var(--night);--on-deep:#fff;--on-deep-muted:var(--fog);--stone:var(--bone);--font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius:2px;--k:1;--ease-out:cubic-bezier(.25, 1, .5, 1);--ease-fade:cubic-bezier(.33, 1, .68, 1);--ease-in:cubic-bezier(.3, 0, 1, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--dur-instant:calc(.1s * var(--k));--dur-fast:calc(.15s * var(--k));--dur-base:calc(.25s * var(--k));--dur-slow:calc(.35s * var(--k));--dur-page:calc(.45s * var(--k));--dur-fade:calc(.5s * var(--k));--dur-reveal:calc(.8s * var(--k));--dur-hero:calc(1.1s * var(--k));--dur-hover:var(--dur-base);--dur-ui:var(--dur-base);--rise:12px;--dur-reveal-fade:calc(.6s * var(--k));--dur-reveal-move:calc(.7s * var(--k));--dur-unmask:calc(.9s * var(--k));--stagger:60ms;color-scheme:light}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--type-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:55;background:var(--ground);position:fixed;inset:0 0 auto}h1,h2,h3,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img,svg,video{max-width:100%;display:block}:focus-visible{outline-offset:3px;outline:2px solid;transition:none!important}[hidden]{display:none!important}input:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--ground) inset;transition:background-color 600000s,color 600000s}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{padding-left:max(var(--gutter), env(safe-area-inset-left,0px));padding-right:max(var(--gutter), env(safe-area-inset-right,0px))}.t-hero,.t-display,.t-statement{font-weight:300}.t-label{color:var(--secondary);font-weight:500;display:block}.muted{color:var(--secondary)}.deep{background:var(--deep);color:var(--on-deep)}.deep .t-label,.deep .muted,.deep .side{color:var(--on-deep-muted)}.stone{background:var(--stone)}.surface{background:var(--surface)}.nw{white-space:nowrap}.u{align-items:center;gap:.35em;min-height:44px;display:inline-flex;position:relative}.u:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur-hover) var(--ease-in);background:currentColor;position:absolute;bottom:10px;left:0;right:0;transform:scaleX(0)}.u[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.arr{vertical-align:-.04em;transition:transform var(--dur-hover) var(--ease-out);margin-left:-.05em;line-height:0;display:inline-block}.ico{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;width:.9em;height:.9em;display:block;overflow:visible}.ico path{vector-effect:non-scaling-stroke}.arr .ico{width:1em;height:1em}.pill{min-height:44px;font-size:var(--type-nav);white-space:nowrap;transition:background-color var(--dur-hover) var(--ease-standard), color var(--dur-hover) var(--ease-standard), border-color var(--dur-hover) var(--ease-standard), transform var(--dur-instant) var(--ease-standard);border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:0 1.25rem;display:inline-flex}.pill:active{transform:scale(.98)}.pill.solid{background:var(--ink);color:var(--ground);border-color:var(--ink)}.deep .pill.solid{background:var(--on-deep);color:var(--deep);border-color:var(--on-deep)}.pill[disabled]{opacity:.55;cursor:progress}@media (hover:hover) and (pointer:fine){.u:hover:after{transform-origin:0;transition-timing-function:var(--ease-out);transform:scaleX(1)}.u:hover .arr,.pill:hover .arr{transform:translate(2px,-2px)}.pill:hover{background:var(--ink);color:var(--ground);border-color:var(--ink)}.pill.solid:hover{color:var(--ink);background:0 0}.deep .pill:hover{background:var(--on-deep);color:var(--deep);border-color:var(--on-deep)}.deep .pill.solid:hover{color:var(--on-deep);background:0 0}.pill:hover .arr-e{transform:translate(3px)}.chip:hover{border-color:var(--ink)}.card .media:hover img,.work-card .media:hover img{transform:scale(1)}}main#app{padding-top:var(--header);display:block}.footer{padding-block:var(--space-section) max(2rem, env(safe-area-inset-bottom,0px));gap:1.5rem;display:grid}.footer nav{flex-wrap:wrap;gap:0 1.5rem;display:flex}.footer .fine{font-size:var(--type-small);color:var(--on-deep-muted)}.stack-m{gap:var(--space-gap-m);display:grid}.stack-l{gap:var(--space-gap-l);display:grid}.head-row{gap:var(--space-gap-l);margin-bottom:var(--space-gap-xl);align-items:end;display:grid}.head-row>.pill{justify-self:start}.split{gap:var(--space-gap-l);display:grid}.side{color:var(--secondary);font-size:var(--type-small);line-height:var(--leading-small);max-width:var(--measure-s)}.prose{max-width:var(--measure);gap:1.1em;display:grid}.prose p{text-wrap:pretty}.prose h2{font-size:var(--type-subheading);font-weight:inherit;margin-top:1.2em}@media (width>=768px){.split{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.split.end{align-items:end}.head-row{grid-template-columns:minmax(0,1fr) auto}}.media{background:var(--plate);border-radius:var(--radius);position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.media.drift img{height:112%;position:absolute;top:-6%;left:0}.cap{font-size:var(--type-label);color:var(--secondary);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding-block:1rem;font-weight:500;display:flex}.break-wrap{z-index:1;background:var(--ground);position:sticky;top:0}.title-section{padding-block:var(--space-section) var(--space-gap-l)}.hero{align-content:end;gap:var(--space-gap-l);min-height:calc(100svh - var(--header));padding-block:var(--space-section);display:grid;position:relative}.hero .media{height:var(--media-feature)}.next-link{gap:var(--space-gap-l);display:grid}.next-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;display:flex}.cards{gap:var(--space-gap-xl) var(--space-gap-l);margin-top:var(--space-gap-xl);display:grid}@media (width>=768px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{align-content:start;gap:1rem;display:grid}.card .media{aspect-ratio:4/3}.card .media img{transition:transform var(--dur-hover) var(--ease-out);transform:scale(1.06)}.card .row1{align-items:baseline;gap:1rem;display:flex}.card .n{font-size:var(--type-label);color:var(--secondary);flex:none;width:2rem;font-weight:500}.card h3,.card h2{font-size:var(--type-subheading);font-weight:400;line-height:var(--leading-subheading)}.card p{font-size:var(--type-small);color:var(--secondary);padding-left:3rem}.card .meta{font-size:var(--type-label);color:var(--secondary);padding-left:3rem;font-weight:500}.chapter{padding-top:var(--space-section)}.chapter-head{margin-bottom:var(--space-gap-l);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;display:flex}.chapter-head .n{font-size:var(--type-label);color:var(--secondary);width:3rem;font-weight:500}.chapter-head h2{font-size:var(--type-display);font-weight:300;line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.photos,.prow{gap:var(--space-gap-m);display:grid}.prow .media{height:var(--media-feature)}.prow.pair .media,.prow.trio .media{aspect-ratio:3/4;height:auto}@media (width>=768px){.prow.pair{grid-template-columns:repeat(2,minmax(0,1fr))}.prow.trio{grid-template-columns:repeat(3,minmax(0,1fr))}.prow.pair .media,.prow.trio .media{aspect-ratio:auto;height:var(--media-break)}}.proj-top{flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;display:flex}.back{font-size:var(--type-nav);gap:.5em}.detail{gap:.35rem;display:grid}.details{gap:var(--space-gap-l);display:grid}@media (width>=768px){.details{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-wrap{gap:var(--space-gap-xl);display:grid}@media (width>=1280px){.form-wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.form-aside{top:calc(var(--header-compact) + 2rem);align-self:start;position:sticky}}.form{gap:var(--space-gap-xl);display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-property:opacity,color,background-color,border-color,box-shadow,visibility,fill,stroke!important;transition-duration:.15s!important;transition-delay:0s!important}}.pair{gap:var(--space-gap-l);display:grid}@media (width>=768px){.form .pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{gap:.35rem;display:grid;position:relative}.field label,.field .lab{font-size:var(--type-label);color:var(--secondary);font-weight:500}.field input,.field textarea{border:0;border-bottom:1px solid var(--rule);width:100%;font-size:var(--type-subheading);background:0 0;border-radius:0;outline:none;min-height:48px;padding:.55rem 0;font-weight:300}.field textarea{resize:vertical;min-height:8rem;font-size:var(--type-body);line-height:var(--leading-body)}.field input::placeholder,.field textarea::placeholder{color:#9a9a9a}.field:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform var(--dur-hover) var(--ease-out);pointer-events:none;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.field:has(textarea):after,.field.has-help:after{display:none}.field:focus-within:after{transform:scaleX(1)}.field:has(.chips):after{display:none}.field:focus-within label{color:var(--ink)}.field.error input,.field.error textarea{border-bottom-color:#a33a2e}.field .help{font-size:var(--type-small);color:#a33a2e}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{--chip-fade:calc(.45s * var(--k));border:1px solid var(--rule);min-height:44px;font-size:var(--type-nav);transition:background-color var(--chip-fade) var(--ease-standard), color var(--chip-fade) var(--ease-standard), border-color var(--chip-fade) var(--ease-standard), transform calc(.2s * var(--k)) var(--ease-standard);border-radius:999px;padding:0 1.1rem}.chip[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink)}.chip:active{transform:scale(.98)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.upload{border:1px dashed var(--rule);cursor:pointer;align-items:center;gap:1rem;padding:1.25rem;display:flex}.upload input{opacity:0;width:1px;height:1px;position:absolute}.consent-line{font-size:var(--type-small);color:var(--secondary)}.consent-line a{text-underline-offset:3px;text-decoration:underline}.submit-row{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.err-summary{font-size:var(--type-small);background:#f6ecea;border-left:2px solid #a33a2e;padding:.75rem 1rem}.err-summary ul{gap:.2rem;margin-top:.4rem;display:grid}.err-summary a{text-underline-offset:3px;text-decoration:underline}.sent{gap:var(--space-gap-m);padding-block:var(--space-gap-xl);justify-items:start;display:grid}.sent .tick{border:1px solid var(--ink);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.brief{gap:var(--space-gap-l)}.brief-top{gap:.75rem;display:grid}.brief-progress{grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;display:grid}.brief-progress span{background:var(--rule);height:2px;position:relative;overflow:hidden}.brief-progress span:after{content:"";background:var(--ink);transform-origin:0;transition:transform var(--dur-ui) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.brief-progress span.done:after,.brief-progress span.now:after{transform:scaleX(1)}.brief-progress span.now:after{opacity:.45}.brief-count{color:var(--secondary)}.step{gap:var(--space-gap-m);border:0;min-width:0;margin:0;padding:0;display:grid}.step .q{outline:none}.step .hint{font-size:var(--type-small);color:var(--secondary);margin-top:-.5rem}.step-body{gap:var(--space-gap-l);display:grid}.brief-nav{border-top:1px solid var(--rule);padding-top:var(--space-gap-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.brief-nav .submit-row{margin-left:auto}.brief-back{min-height:44px}.sent .tick .ico{width:20px;height:20px}@media (hover:hover) and (pointer:fine){.pill:hover .arr-e{transform:translate(3px)}}.brief-paper{background:var(--surface);border:1px solid var(--rule);gap:var(--space-gap-m);padding:clamp(1.25rem,3vw,2.25rem);display:grid}.drawer .brief-paper{background:var(--ground)}.bp-head{color:var(--secondary);border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-bottom:.75rem;display:flex}.bp-lede{font-size:var(--type-subheading);font-weight:300;line-height:var(--leading-subheading);text-wrap:pretty}.brows{border-top:1px solid var(--rule);display:grid}.brow{text-align:left;border-bottom:1px solid var(--rule);grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:baseline;gap:.75rem;width:100%;min-height:44px;padding:.8rem 0;display:grid}.brow .bval{font-size:var(--type-body);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.brow .bval.empty{color:#9a9a9a}.brow .bedit{font-size:var(--type-label);color:var(--secondary);font-weight:500}@media (width<=479.98px){.brow{grid-template-columns:minmax(0,1fr) auto}.brow .t-label{grid-column:1/-1}}@media (hover:hover) and (pointer:fine){.brow:hover .bedit{color:var(--ink);text-underline-offset:3px;text-decoration:underline}}.bp-stages{gap:.75rem;display:grid}.bp-stages ol{gap:.1rem;display:grid}.bp-stages li{color:#9a9a9a;font-size:var(--type-small);grid-template-columns:2.5rem minmax(0,1fr);padding:.45rem 0;display:grid}.bp-stages li strong{font-weight:500}.bp-stages li.on{color:var(--ink)}.bp-stages li .n{font-weight:500}.bp-stages li .d{color:var(--secondary);line-height:var(--leading-small)}.gallery{position:relative}.plan-card{gap:1.25rem;display:grid}.plan-top{align-items:center;gap:.75rem;display:flex}.plan-top .t-label{margin-right:auto}.jr{margin:0;padding:0 0 0 1.25rem;list-style:none;display:grid;position:relative}.jr:before,.jr:after{content:"";background:var(--rule);width:1px;position:absolute;top:.55rem;bottom:.55rem;left:0}.jr:after{background:var(--ink);transform-origin:top;transform:scaleY(var(--p,0));transition:transform calc(.3s * var(--k)) linear}.jr-item{text-align:left;width:100%;min-height:44px;color:color-mix(in srgb, var(--ink) 42%, var(--ground));transition:color var(--dur-hover) var(--ease-standard);grid-template-columns:2rem 1fr;align-items:baseline;gap:.5rem;padding:.55rem 0;display:grid;position:relative}.jr-n{font-size:var(--type-label);font-weight:500}.jr-t{font-size:var(--type-nav)}.jr-item.past{color:color-mix(in srgb, var(--ink) 62%, var(--ground))}.jr-item.on{color:var(--ink)}@media (hover:hover) and (pointer:fine){.jr-item:not(.on):hover{color:color-mix(in srgb, var(--ink) 70%, var(--ground))}.jr-item:not(.on):hover .jr-t{text-underline-offset:.25em;text-decoration:underline 1px}}@media (width>=1280px){.gallery.has-plan{column-gap:var(--space-gap-xl);grid-template-columns:clamp(15rem,19vw,20rem) minmax(0,1fr);display:grid}.gallery .plan{grid-column:1}.gallery .chapters{grid-column:2;min-width:0}.plan-card{top:calc(var(--header-compact) + 2rem);padding-top:var(--space-section);position:sticky}.plan-close,.plan-chip{display:none!important}}@media (width<=1279.98px){.plan{z-index:45;left:max(var(--gutter), env(safe-area-inset-left,0px));bottom:max(var(--gutter), env(safe-area-inset-bottom,0px));width:min(26rem, calc(100vw - 2 * var(--gutter)));background:var(--surface);visibility:hidden;max-height:calc(100dvh - 7rem);transition:transform var(--dur-reveal) var(--ease-out), visibility 0s linear var(--dur-reveal);padding:1.25rem;position:fixed;overflow:auto;transform:translateY(calc(100% + 3rem));box-shadow:0 24px 60px -24px #00000059,0 0 0 1px #0000000f}.plan.open{visibility:visible;transition:transform var(--dur-reveal) var(--ease-out), visibility 0s;transform:none}.plan-chip{z-index:44;left:max(var(--gutter), env(safe-area-inset-left,0px));bottom:max(var(--gutter), env(safe-area-inset-bottom,0px));background:var(--deep);min-height:44px;color:var(--on-deep);font-size:var(--type-small);opacity:0;pointer-events:none;transition:opacity var(--dur-ui) var(--ease-out), transform var(--dur-ui) var(--ease-out);border-radius:999px;align-items:center;gap:.6rem;padding:0 1.1rem 0 .95rem;font-weight:500;display:inline-flex;position:fixed;transform:translateY(1rem);box-shadow:0 12px 30px -12px #00000073}.plan-chip.show{opacity:1;pointer-events:auto;transform:none}.plan-chip .ico{width:1.1em;height:1.1em}.plan-chip .chip-room{color:var(--on-deep-muted);text-overflow:ellipsis;white-space:nowrap;max-width:11rem;font-weight:400;overflow:hidden}.plan-chip .chip-room:not(:empty):before{content:"·";margin-right:.6rem}}@media (prefers-reduced-motion:reduce){.plan,.plan.open,.plan-chip{transition-duration:.01ms!important}}.lb{z-index:87;height:var(--overlay-h);background:var(--deep);color:var(--on-deep);visibility:hidden;opacity:0;overscroll-behavior:contain;--lb-side:max(var(--space-gap-m), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));grid-template-rows:auto minmax(0,1fr) auto auto;display:grid;position:fixed;inset:0}.lb-top{min-height:var(--header-compact);margin-top:env(safe-area-inset-top,0px);padding:0 var(--lb-side);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.lb-logo{font-weight:700;font-size:var(--type-logo);letter-spacing:var(--tracking-logo);justify-self:start;line-height:1}.lb-project{color:var(--on-deep-muted);text-align:center}.lb-top .u{justify-self:end}.lb-stage{touch-action:pan-y;cursor:grab;--pad-x:calc(var(--lb-side) + 3.5rem + var(--space-gap-m));min-height:0;position:relative}.lb-stage:active{cursor:grabbing}.lb-stage img{top:var(--space-gap-m);bottom:0;left:var(--pad-x);width:calc(100% - 2 * var(--pad-x));height:calc(100% - var(--space-gap-m));object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute}.lb-meta{padding:var(--space-gap-m) var(--lb-side) 0;justify-content:space-between;align-items:end;gap:1rem;display:flex}.lb-title{letter-spacing:-.01em;align-items:baseline;gap:.9rem;min-width:0;font-size:clamp(1.25rem,.9rem + 1.2vw,2rem);font-weight:300;line-height:1.2;display:flex}.lb-mask{margin-block:-.1em;padding-block:.1em;display:block;overflow:hidden}.lb-mask>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lb-n{font-size:var(--type-label);color:var(--on-deep-muted);letter-spacing:0;font-weight:500}.lb-n:empty{display:none}.lb-count{color:var(--on-deep-muted);font-variant-numeric:tabular-nums;flex:none}.lb-thumbs{padding:var(--space-gap-m) var(--lb-side) max(var(--space-gap-m), env(safe-area-inset-bottom,0px));scrollbar-width:none;scroll-padding-inline:var(--lb-side);gap:.5rem;display:flex;overflow-x:auto}.lb-thumbs::-webkit-scrollbar{display:none}.lb-thumbs[hidden]{display:none}.lb-thumb{aspect-ratio:3/2;opacity:.4;outline-offset:2px;height:3.5rem;transition:opacity var(--dur-hover) var(--ease-standard);flex:none;position:relative}.lb-thumb img{object-fit:cover;pointer-events:none;width:100%;height:100%}.lb-thumb:after{content:"";background:var(--on-deep);height:1px;transition:transform var(--dur-hover) var(--ease-standard);position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(0)}.lb-thumb[aria-current=true]{opacity:1}.lb-thumb[aria-current=true]:after{transform:scaleX(1)}@media (hover:hover){.lb-thumb:hover{opacity:.8}}.lb-nav{width:3.5rem;height:3.5rem;color:var(--on-deep);transition:background-color var(--dur-hover) var(--ease-in), color var(--dur-hover) var(--ease-in);border:1px solid #fafafa59;border-radius:50%;place-items:center;margin-top:-3.5rem;display:grid;position:absolute;top:50%}.lb-nav[hidden]{display:none}.lb-nav.lb-prev{left:var(--lb-side)}.lb-nav.lb-next{right:var(--lb-side)}.lb-nav .ico{width:1.25rem;height:1.25rem}@media (hover:hover){.lb-nav:hover{background:var(--on-deep);color:var(--deep)}}@media (width<=767px){.lb-stage{--pad-x:var(--lb-side)}.lb-project{display:none}.lb-top{grid-template-columns:1fr auto}.lb-nav{display:none}.lb-thumb{height:3rem}}#app>.stack.stack{z-index:1;position:sticky}#app>.stack:after{content:"";z-index:3;opacity:calc(var(--veil,0) * .22);pointer-events:none;background:#000;position:absolute;inset:0}#app>section,#app>figure:not(.break-wrap){z-index:1;position:relative}#app>section:not(.deep):not(.stone):not(.surface):not(.hero),#app>figure:not(.break-wrap),#app>.gallery{background:var(--ground)}.no-ring:focus,.no-ring:focus-visible{box-shadow:none!important;outline:none!important}[tabindex="-1"]:focus:not(:focus-visible),h2[tabindex="-1"]:focus,h3[tabindex="-1"]:focus,#app:focus{outline:none}.brief-turnstile:empty{display:none}.brief-turnstile{margin-block:var(--space-gap-m) 0}.t-mono{font-family:var(--mono);font-weight:500;font-size:var(--type-label);line-height:var(--leading-label);letter-spacing:.04em;color:var(--secondary)}.deep .t-mono{color:var(--on-deep-muted)}.t-h4{font-size:var(--type-h4);line-height:var(--leading-h4);letter-spacing:-.005em;font-weight:500}.t-display,.t-statement,.t-heading{font-weight:500}.t-hero{font-weight:300}.btn{border-radius:var(--radius);min-height:44px;font-size:var(--type-small);color:var(--night);white-space:nowrap;transition:background-color var(--dur-instant) var(--ease-standard), border-color var(--dur-instant) var(--ease-standard), transform var(--dur-instant) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;gap:.5em;padding:0 1rem;line-height:1;display:inline-flex}.btn.primary{background:var(--volt)}.btn.ghost{border-color:#14141640}.deep .btn.ghost{color:var(--on-deep);border-color:#ffffff4d}.btn:active{transform:scale(.98)}.btn .arrow{transition:transform var(--dur-instant) var(--ease-standard);display:inline-block}@media (hover:hover) and (pointer:fine){.btn.primary:hover{background:#eefb7a}.btn.ghost:hover{border-color:currentColor}.btn:hover .arrow{transform:translate(3px)}}.ulink{min-height:44px;font-size:var(--type-small);align-items:center;display:inline-flex;position:relative}.ulink:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur-base) var(--ease-standard);background:currentColor;position:absolute;bottom:.6rem;left:0;right:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.ulink:hover:after,.ulink:focus-visible:after{transform-origin:0;transform:scaleX(1)}}.chip{font-size:var(--type-label);border-radius:var(--radius);white-space:nowrap;background:#14141614;padding:3px 8px;line-height:1.4;display:inline-block}.chip.volt{background:var(--volt)}.hair{background:var(--rule);border:0;height:1px;margin:0}.deep .hair{background:#ffffff1f}.bar{background:var(--ink);color:var(--fog);min-height:42px;font-size:var(--type-small);padding:.5rem var(--gutter);text-align:center;justify-content:center;align-items:center;gap:12px;display:flex}.bar .tag{background:var(--volt);color:var(--ink);border-radius:var(--radius);flex:none;padding:3px 8px;font-size:12px;font-weight:500;line-height:16px}main#app{padding-top:0}.footer{padding-block:2.5rem max(3rem, env(safe-area-inset-bottom,0px));display:block}.footer .top{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem;padding:1.5rem 0;display:grid}.footer .top .t-mono{margin-bottom:.75rem;display:block}.footer .top a{min-height:44px;color:var(--on-deep);font-size:var(--type-small);align-items:center;display:flex}.footer .bottom{font-size:var(--type-label);color:var(--on-deep-muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;padding-top:1.5rem;display:flex}.footer .bottom a{color:var(--on-deep);align-items:center;min-height:44px;display:inline-flex}@media (width>=768px){.footer .top{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.footer .top{grid-template-columns:6rem repeat(5,minmax(0,1fr))}}.js-reveal [data-reveal]{opacity:0;transform:translateY(var(--rise));transition:opacity var(--dur-reveal-fade) var(--ease-fade), transform var(--dur-reveal-move) var(--ease-out)}.js-reveal [data-reveal].in{opacity:1;transform:none}.js-reveal [data-reveal]:not(.head,.tile,[data-delay],.t-hero){opacity:1;transition:none;transform:none}.js-reveal .tile[data-reveal]{opacity:1;transform:none}.js-reveal .tile[data-reveal] .frame{transition:transform var(--dur-unmask) var(--ease-out);transform:scale(.94)}.js-reveal .tile[data-reveal] .cap{opacity:0;transition:opacity var(--dur-reveal-fade) var(--ease-fade) .15s}.js-reveal .tile[data-reveal].in .frame{transform:none}.js-reveal .tile[data-reveal].in .cap{opacity:1}@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal],.js-reveal .tile[data-reveal] .frame,.js-reveal .tile[data-reveal] .cap{opacity:1;transition:none;transform:none}}.foot-mark{width:48px;height:48px;display:block}.header{--hd-h:var(--header);z-index:50;height:var(--header);pointer-events:none;position:sticky;top:0}.header.compact{--hd-h:var(--header-compact)}.hd{pointer-events:auto;height:var(--hd-h);position:relative}.hd-bg{height:var(--header);background:var(--paper);transform-origin:top;transition:transform var(--dur-slow) var(--ease-out);position:absolute;inset:0 0 auto}.hd-bg:after{content:"";background:var(--bone);opacity:0;height:1px;transition:opacity var(--dur-base) var(--ease-standard);position:absolute;inset:auto 0 0}.compact .hd-bg{transform:scaleY(.761905)}.compact .hd-bg:after{opacity:1;transform-origin:bottom;transform:scaleY(1.3125)}.header.open .hd-bg:after{opacity:1}.hd-row{height:var(--header);transition:transform var(--dur-slow) var(--ease-out);justify-content:space-between;align-items:center;gap:1.5rem;display:flex;position:relative}.compact .hd-row{transform:translateY(calc((var(--header-compact) - var(--header)) / 2))}.header .logo{min-height:44px;color:var(--ink);flex:none;align-items:center;gap:.75rem;display:inline-flex;position:relative}.header .logo img{width:36px;height:36px;display:block}.here{font-size:var(--type-small);white-space:nowrap;opacity:0;transition:opacity var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-out);line-height:1.5;position:absolute;top:50%;left:calc(100% + .75rem);transform:translate(-6px,-50%)}.compact .here{opacity:1;transform:translateY(-50%)}.nav{transition:opacity var(--dur-base) var(--ease-standard), visibility 0s linear 0s}.compact .nav{opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-standard), visibility 0s linear var(--dur-fast)}.nav .links{align-items:center;gap:40px;margin:0;padding:0;list-style:none;display:flex}.nav .links li{align-items:center;display:flex}.nav .links li.has-tag{gap:40px}.nl{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3em;padding:0;font-size:15px;line-height:1.5;display:inline-flex;position:relative}.nl:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur-base) var(--ease-standard);background:currentColor;position:absolute;bottom:10px;left:0;right:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.nl:hover:after{transform-origin:0;transform:scaleX(1)}}.nl:focus-visible:after,.nl[aria-expanded=true]:after{transform-origin:0;transform:scaleX(1)}.plus{transition:transform var(--dur-base) var(--ease-standard);display:inline-block}[aria-expanded=true]>.plus{transform:rotate(45deg)}.ntag{background:var(--volt);color:var(--ink);white-space:nowrap;border-radius:6px;align-items:center;padding:5px 10px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.hd-end{flex:none;align-items:center;display:flex;position:relative}.menu-btn{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-standard), visibility 0s linear var(--dur-fast);background:0 0;border:0;align-items:center;gap:.35em;padding:0 .25rem;font-size:15px;line-height:1.5;display:inline-flex;position:absolute;top:50%;right:calc(100% + 1.25rem);transform:translateY(-50%)}.compact .menu-btn{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-standard) 60ms, visibility 0s linear 0s}.hd-cta{background:var(--ink);min-height:44px;color:var(--paper);white-space:nowrap;transition:background-color var(--dur-instant) var(--ease-standard);border-radius:999px;align-items:center;padding:12px 20px;font-size:15px;line-height:1.5;display:inline-flex}@media (hover:hover) and (pointer:fine){.hd-cta:hover{background:var(--graphite)}}.panel{top:var(--hd-h);max-height:calc(100dvh - var(--hd-h));overscroll-behavior:contain;background:var(--paper);border-top:1px solid var(--bone);opacity:0;transition:opacity var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-out);position:absolute;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.panel.in{opacity:1;transform:none}.panel ul{margin:0;padding:0;list-style:none}.scrim{z-index:-1;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard);background:#0e0e1233;position:fixed;inset:0}.header.open .scrim{opacity:1;pointer-events:auto}.p-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding-top:40px;padding-bottom:48px;display:grid}.p-head{border-bottom:1px solid var(--bone);color:var(--stone-ink);margin:0;padding-bottom:16px;font-size:12px;font-weight:500;line-height:1.3}.p-item{border-bottom:1px solid var(--bone);flex-direction:column;gap:4px;padding:16px 0;display:flex}.p-label{color:var(--ink);transition:color var(--dur-instant) var(--ease-standard);font-size:18px;line-height:1.5}.p-text{max-width:360px;color:var(--stone-ink);font-size:15px;line-height:1.5}@media (hover:hover) and (pointer:fine){.p-item:hover .p-label,.p-case:hover .p-case-name{color:var(--graphite);text-underline-offset:4px;text-decoration:underline 1px}}.p-card{background:var(--ink);border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;margin-top:100px;padding:24px;display:flex}.p-card-title{max-width:340px;color:var(--paper);letter-spacing:-.01em;font-size:32px;font-weight:500;line-height:1.2}.p-card-text{max-width:340px;color:var(--mist);font-size:15px;line-height:1.5}.p-card-link{color:var(--volt);font-size:15px;line-height:1.5}.p-card-link span{transition:transform var(--dur-base) var(--ease-standard);margin-left:.35em;display:inline-block}@media (hover:hover) and (pointer:fine){.p-card:hover .p-card-link span{transform:translate(3px)}}.p-strip{background:var(--bone)}.p-strip ul.wrap{padding-inline:var(--gutter);flex-wrap:wrap;gap:0 40px;padding-top:10px;padding-bottom:10px;display:flex}.p-strip a{min-height:44px;color:var(--ink);align-items:center;font-size:15px;line-height:1.5;display:inline-flex}.p-work{align-items:flex-start;gap:48px;padding-top:40px;padding-bottom:48px;display:flex}.p-cases{flex:1 1 0;min-width:0}.p-case{border-bottom:1px solid var(--bone);align-items:center;gap:24px;padding:16px 0;display:flex}.p-case-name{width:260px;color:var(--ink);letter-spacing:-.01em;flex:none;font-size:32px;font-weight:500;line-height:1.2}.p-case .p-text{flex:0 360px}.p-kind{color:var(--stone-ink);white-space:nowrap;font-size:12px;font-weight:500;line-height:1.3}.p-feature{background:var(--hn);border-radius:16px;flex-direction:column;flex:none;gap:12px;width:368px;padding:24px;display:flex}.p-feature .p-card-title{color:var(--ink);max-width:320px}.p-still{background:var(--surface);height:200px;color:var(--hn-ink);transition:transform var(--dur-base) var(--ease-out);border-radius:12px;flex-direction:column;gap:12px;padding:20px;font-size:14px;display:flex}.ps-row{justify-content:space-between;font-weight:500;display:flex}.ps-line{background:var(--hn-line);border-radius:999px;height:10px}.ps-line.short{width:60%}.ps-cta{background:var(--hn-ink);height:40px;color:var(--surface);border-radius:10px;justify-content:center;align-items:center;margin-top:auto;font-weight:500;display:flex}@media (hover:hover) and (pointer:fine){.p-feature:hover .p-still{transform:translateY(-2px)}}.m-grid{grid-template-columns:minmax(0,1fr) 368px;align-items:start;gap:48px;padding-top:32px;padding-bottom:48px;display:grid}.m-primary>li{border-bottom:1px solid var(--bone)}.m-link,.m-sub>summary{min-height:64px;color:var(--ink);font-size:var(--type-h4);letter-spacing:-.01em;cursor:pointer;align-items:center;gap:16px;padding:8px 0;font-weight:500;line-height:1.2;list-style:none;display:flex}.m-sub>summary::-webkit-details-marker{display:none}.m-sub>summary:after{content:"+";transition:transform var(--dur-base) var(--ease-standard);margin-left:auto;font-weight:400}.m-sub[open]>summary:after{transform:rotate(45deg)}.m-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:8px 0 32px;display:grid}.m-services a,.m-cases a{min-height:44px;color:var(--ink);align-items:center;font-size:18px;line-height:1.5;display:inline-flex}.m-services .p-head{border:0;padding-bottom:4px}.m-cases{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;padding:8px 0 32px;display:grid}.m-card{margin-top:8px}@media (width<=1099.98px){.nav{display:none}.menu-btn{opacity:1;visibility:visible}.p-groups,.p-work{display:none}}@media (width<=767.98px){.header{--hd-h:var(--header-compact);height:var(--header-compact)}.hd-bg{height:var(--header-compact)}.hd-bg:after{opacity:1}.compact .hd-bg,.compact .hd-row,.compact .hd-bg:after{transform:none}.hd-row{height:var(--header-compact)}.menu-btn{right:calc(100% + .5rem)}.hd-cta{padding:10px 16px}.m-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:8px}.m-services{grid-template-columns:minmax(0,1fr);gap:16px}.m-cases{grid-template-columns:minmax(0,1fr)}.p-card{margin-top:0}.p-card-title{font-size:28px}}@media (width<=379.98px){.menu-word{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}
