@font-face{font-family:Commissioner;src:url('/assets/fonts/commissioner.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Public Sans';src:url('/assets/fonts/public-sans.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{
  color-scheme:light;
  --paper:oklch(96.8% .006 252);--surface:oklch(99% .003 252);--ink:oklch(17% .016 260);--muted:oklch(47% .023 260);--border:oklch(86% .013 252);--accent:oklch(52.6% .224 262);--accent-hover:oklch(45% .215 262);--on-accent:oklch(99% .003 252);
  --space-compact:4px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--space-3xl:96px;
  --text-caption:.75rem;--text-small:.875rem;--text-body:1rem;--text-lead:1.125rem;--text-display:clamp(3rem,4.9vw,5.5rem);
  --font-display:Commissioner,sans-serif;--font-body:'Public Sans',sans-serif;--radius:4px;--feedback:160ms;--ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button svg,a svg{display:block;flex-shrink:0}::selection{background:var(--accent);color:var(--on-accent)}[hidden]{display:none!important}
.skip-link{position:fixed;left:var(--space-md);top:var(--space-sm);transform:translateY(-180%);padding:var(--space-sm) var(--space-md);z-index:10;background:var(--ink);color:var(--paper)}.skip-link:focus{transform:none}
.page-shell{max-width:1920px;margin-inline:auto;padding-inline:clamp(24px,4.45vw,96px)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:120px;border-bottom:1px solid var(--border);position:relative;z-index:2}
.wordmark{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--text-body);line-height:1.12;font-weight:600;letter-spacing:-.025em;flex-shrink:0}.brand-symbol{color:var(--accent);transition:transform var(--feedback) var(--ease)}.wordmark:hover .brand-symbol{transform:rotate(90deg)}.wordmark-period{color:var(--accent)}.header-note{font-size:var(--text-small);color:var(--muted)}.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:48px;font-size:var(--text-small);font-weight:600}.header-contact:hover{text-decoration:underline;text-underline-offset:6px}
.hero{display:grid;grid-template-columns:1fr 1.16fr;gap:0;align-items:center;min-height:min(790px,calc(100svh - 230px));padding-block:var(--space-lg);position:relative}
.hero-copy{position:relative;z-index:1;padding-block:var(--space-lg);pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{margin:0 0 var(--space-lg);color:var(--muted);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
h1{font-family:var(--font-display);font-size:var(--text-display);font-variation-settings:normal;line-height:1.1;letter-spacing:-.045em;word-spacing:normal;font-weight:600;margin:0;white-space:nowrap}.word-fit{display:inline-block;position:relative;padding-inline:var(--space-xs);margin-inline:calc(-1 * var(--space-xs));isolation:isolate}.fit-corner{position:absolute;width:16px;height:16px;border-color:var(--accent);border-style:solid;opacity:.8}.fit-corner-top{right:-8px;top:8px;border-width:1px 1px 0 0}.fit-corner-bottom{left:-8px;bottom:0;border-width:0 0 1px 1px}
.hero-description{font-size:var(--text-lead);line-height:1.6;letter-spacing:-.025em;color:var(--muted);margin:var(--space-lg) 0;max-width:440px}.project-link{width:fit-content;min-height:56px;display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-xs) var(--space-md);background:var(--accent);color:var(--on-accent);font-size:var(--text-small);font-weight:600;border-radius:var(--radius);transition:background var(--feedback),box-shadow var(--feedback)}.project-link:hover{background:var(--accent-hover)}.project-link:active{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--ink) 20%,transparent)}.button-icon{border-left:1px solid color-mix(in oklch,var(--on-accent) 30%,transparent);height:24px;padding-left:var(--space-sm);display:grid;align-items:center}.button-icon svg{transition:transform var(--feedback) var(--ease)}.project-link:hover .button-icon svg{transform:translateX(3px)}.email-address{font-size:var(--text-caption);color:var(--muted);display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-xs)}.email-address:hover{text-decoration:underline;text-underline-offset:4px}
.visual-column{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin-left:-6%;margin-right:-4%}.scene-label{position:absolute;top:var(--space-md);right:var(--space-md);font-size:var(--text-caption);color:var(--muted);display:flex;align-items:center;gap:var(--space-xs);z-index:1}.mini-module{height:10px;width:10px;border:2px solid var(--accent);border-top-width:4px;border-right-width:4px;display:block}
.scene{position:relative;aspect-ratio:1.03;width:100%;min-height:400px;max-height:710px;touch-action:pan-y;isolation:isolate}.assembly-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;opacity:0;transition:opacity 400ms}.scene.is-ready .assembly-canvas{opacity:1}.scene-fallback{position:absolute;width:100%;height:100%;inset:0;opacity:1;transition:opacity 400ms}.scene.is-ready .scene-fallback{opacity:0;pointer-events:none}.scene-annotation{position:absolute;font-size:var(--text-caption);line-height:1.3;color:var(--muted);pointer-events:none;display:flex;gap:var(--space-xs);align-items:center;z-index:1;transition:opacity 240ms}.annotation-upper{top:30%;right:1%}.annotation-lower{bottom:23%;left:4%;flex-direction:row-reverse}.annotation-line{height:1px;width:32px;background:var(--border)}
.scene-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-inline:var(--space-lg) var(--space-md);position:relative;z-index:1;min-height:48px;margin-top:calc(-1 * var(--space-sm))}.scene-caption{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--space-sm);row-gap:var(--space-xs);font-size:var(--text-caption);color:var(--muted);max-width:260px;flex:1}.caption-index{font-variant-numeric:tabular-nums;color:var(--ink);font-size:var(--text-caption)}.sequence-progress{height:1px;background:var(--border);grid-column:2;overflow:hidden}.sequence-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.site-footer{border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--space-xl);padding-block:var(--space-md);min-height:112px;font-size:var(--text-caption);line-height:1.6}.site-footer p{margin:0}.site-footer p span{color:var(--muted)}.footer-rule{height:1px;background:var(--border);width:64px}.footer-scope{margin-left:auto!important;text-align:right}
@media(min-width:1600px){.hero{min-height:800px}.visual-column{margin-left:-4%}.scene{max-height:800px}.hero-copy{padding-left:var(--space-sm)}}
@media(max-width:1100px){:root{--text-display:clamp(2.75rem,4.9vw,4.5rem)}.page-shell{padding-inline:var(--space-lg)}.header-note{display:none}.hero{grid-template-columns:1fr 1.05fr;min-height:650px}.hero-description{font-size:var(--text-body);max-width:360px}.scene{min-height:400px}.scene-label{right:var(--space-sm);top:var(--space-xl)}.scene-annotation{display:none}.scene-caption{max-width:200px;column-gap:var(--space-xs)}.caption-index{display:none}.scene-caption{grid-template-columns:1fr}.sequence-progress{grid-column:1}.scene-footer{padding-inline:var(--space-md) 0}.hero-copy{padding-block:var(--space-xl)}}
@media(max-width:760px){.page-shell{padding-inline:var(--space-md)}.site-header{min-height:96px;gap:var(--space-sm)}.wordmark{font-size:var(--text-small);gap:var(--space-xs)}.brand-symbol{height:28px;width:28px}.header-contact{font-size:var(--text-caption);gap:var(--space-xs)}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:var(--space-xl);padding-bottom:var(--space-lg);min-height:0}.hero-copy{padding:0}.eyebrow{margin-bottom:var(--space-md);font-size:var(--text-caption)}h1{font-size:clamp(2.125rem,8.9vw,4.25rem);line-height:1.1;letter-spacing:-.04em}.hero-description{margin-block:var(--space-md);max-width:400px}.project-link{min-height:56px}.visual-column{margin:var(--space-sm) calc(-1 * var(--space-md)) 0;align-self:stretch}.scene{aspect-ratio:1.12;min-height:0;max-height:640px}.scene-label{right:var(--space-md);top:var(--space-sm)}.scene-footer{margin-top:0;padding-inline:var(--space-md);min-height:56px}.scene-caption{max-width:260px}.caption-index{display:inline}.scene-caption{grid-template-columns:auto 1fr}.sequence-progress{grid-column:2}.site-footer{min-height:96px;gap:var(--space-sm)}.footer-rule{display:none}.desktop-break{display:none}.hero-description br{display:none}}
@media(max-width:390px){.page-shell{padding-inline:var(--space-sm)}.visual-column{margin-inline:calc(-1 * var(--space-sm))}.wordmark{font-size:var(--text-caption)}.site-header{gap:var(--space-xs)}.scene-label{right:var(--space-sm)}.scene-caption{column-gap:var(--space-xs)}.caption-index{display:none}.scene-caption{grid-template-columns:1fr}.sequence-progress{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0ms!important;animation-duration:0ms!important}.wordmark:hover .brand-symbol,.project-link:hover .button-icon svg{transform:none}.fit-corner{opacity:.6}}
