/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-tracking:initial;--tw-border-style:solid;--tw-duration:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--text-xs:.75rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components{.service-jump{z-index:10;align-items:center;gap:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);background:var(--color-paper);display:flex;position:sticky;top:76px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.service-jump{background:color-mix(in oklch, var(--color-paper) 94%, transparent)}}.service-jump{border-block:var(--rule-thin) solid var(--color-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.service-jump__label{font-family:var(--font-mono);--tw-font-weight:var(--font-weight-medium);font-size:.7rem;font-weight:var(--font-weight-medium);--tw-tracking:.12em;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);flex-shrink:0}.service-jump__track{gap:calc(var(--spacing) * 2);min-width:0;padding-block:var(--spacing);scrollbar-width:thin;display:flex;overflow-x:auto}.service-jump__track a{min-height:calc(var(--spacing) * 10);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;border-color:var(--color-line);background:var(--color-paper);color:var(--color-ink);flex-shrink:0;align-items:center;transition-duration:.2s;display:inline-flex}.service-jump__track a:hover,.service-jump__track a:focus-visible,.service-jump__track a[aria-current=true]{border-color:var(--color-action);background:var(--color-action);color:var(--color-action-ink)}.project-tools{margin-bottom:calc(var(--spacing) * 8);align-items:flex-end;gap:calc(var(--spacing) * 4);display:grid}@media (min-width:48rem){.project-tools{grid-template-columns:minmax(0,1fr) auto}}.project-filter{max-width:var(--container-xl);gap:calc(var(--spacing) * 2);display:grid}.project-filter label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.project-filter input{min-height:calc(var(--spacing) * 12);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 4);outline-style:var(--tw-outline-style);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;border-color:var(--color-line);background:var(--color-paper-deep);color:var(--color-ink);outline-width:2px;outline-color:#0000;transition-duration:.2s}.project-filter input:hover{border-color:var(--color-muted)}.project-filter input:focus-visible{border-color:var(--color-focus);outline-color:var(--color-focus);outline-offset:2px}.project-count{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin:0}@media (min-width:48rem){.project-count{text-align:right}}.project-count{color:var(--color-muted)}.project-entry[hidden]{display:none}.project-entry>b{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.project-entry:hover>b,.project-entry:focus-visible>b{transform:translate(.25rem)}.project-empty{border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 8);text-align:center;border-bottom-width:1px;border-color:var(--color-line);color:var(--color-muted)}.scroll-progress{z-index:50;height:calc(var(--spacing) * .5);transform-origin:0;width:100%;transform:scaleX(var(--scroll-progress,0));background:var(--color-cyan);pointer-events:none;position:fixed;top:0;left:0}.detail{scroll-margin-top:160px}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.resize{resize:both}.\[hostname\:port\]{hostname:port}.\[xml\:lang\]{xml:lang}}:root{--color-paper:oklch(97% .012 228);--color-paper-deep:oklch(93% .025 225);--color-ink:oklch(20% .045 251);--color-muted:oklch(48% .035 247);--color-line:oklch(84% .03 236);--color-accent:oklch(65% .17 232);--color-accent-dark:oklch(48% .18 250);--color-cyan:oklch(81% .13 205);--color-white:oklch(99.5% .005 228);--color-accent-ink:oklch(18% .04 251);--color-focus:oklch(62% .2 245);--color-panel:oklch(20% .045 251);--color-panel-ink:oklch(99.5% .005 228);--color-action:oklch(20% .045 251);--color-action-hover:oklch(48% .18 250);--color-action-ink:oklch(99.5% .005 228);--font-display:"Bricolage Grotesque", "Arial Narrow", sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", monospace;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--space-4xl:7rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:clamp(1.5rem, 2.4vw, 2.25rem);--text-2xl:clamp(2.2rem, 5vw, 4.5rem);--text-display:clamp(3.5rem, 10vw, 9rem);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-short:.18s;--dur-med:.42s;--rule-thin:1px;--radius-sm:.35rem;--radius-md:.75rem}html[data-theme=dark]{color-scheme:dark;--color-paper:oklch(16% .025 247);--color-paper-deep:oklch(21% .03 245);--color-ink:oklch(94% .012 228);--color-muted:oklch(73% .025 232);--color-line:oklch(35% .035 242);--color-accent:oklch(72% .16 225);--color-accent-dark:oklch(80% .12 216);--color-cyan:oklch(80% .13 205);--color-white:oklch(98% .006 228);--color-accent-ink:oklch(15% .035 248);--color-focus:oklch(78% .16 220);--color-panel:oklch(11% .03 248);--color-panel-ink:oklch(94% .012 228);--color-action:oklch(72% .16 225);--color-action-hover:oklch(80% .13 205);--color-action-ink:oklch(15% .035 248)}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit}button,input,textarea,select{font:inherit}::selection{background:var(--color-cyan);color:var(--color-ink)}.skip-link{top:var(--space-sm);left:var(--space-sm);z-index:99;background:var(--color-ink);color:var(--color-white);padding:var(--space-sm) var(--space-md);position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:none}.shell{width:min(1180px,100% - 2rem);margin-inline:auto}.site-header{z-index:20;background:var(--color-paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklch, var(--color-paper) 92%, transparent)}}.site-header{border-bottom:var(--rule-thin) solid var(--color-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:76px;display:flex}.brand img{width:188px}.nav-links{align-items:center;gap:var(--space-xl);padding:0 var(--space-lg);border-left:var(--rule-thin) solid var(--color-line);margin:0;list-style:none;display:flex}.nav-links a{white-space:nowrap;font-weight:650;line-height:1;text-decoration:none}.nav-links a[aria-current=page]{color:var(--color-accent-dark)}.menu-toggle{border:var(--rule-thin) solid var(--color-ink);padding:var(--space-sm);min-width:44px;min-height:44px;color:var(--color-ink);background:0 0;display:none}.button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:48px;padding:var(--space-sm) var(--space-lg);border:var(--rule-thin) solid var(--color-ink);background:var(--color-ink);color:var(--color-white);white-space:nowrap;transition:transform var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:750;line-height:1;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent-dark);transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;background:var(--color-muted);transform:none}.button--quiet{color:var(--color-ink);background:0 0}.button--quiet:hover{background:var(--color-ink);color:var(--color-white)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.hero{min-height:calc(100svh - 76px);padding-block:var(--space-xl) var(--space-3xl);align-items:end;gap:var(--space-2xl);grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);display:grid}.hero-copy{min-width:0}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-dark)}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;font-synthesis:none;letter-spacing:-.04em;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;min-width:0;margin:0;font-style:normal;line-height:1.03}h1{font-size:var(--text-display);text-transform:uppercase;max-width:9ch}h2{font-size:var(--text-2xl);text-transform:uppercase}h3{font-size:var(--text-xl)}.hero-aside{border-top:var(--rule-thin) solid var(--color-ink);padding-top:var(--space-lg);align-self:center;max-width:36ch}.hero-aside p{font-size:var(--text-lg);margin:0 0 var(--space-xl)}.hero-index{font-family:var(--font-mono);color:var(--color-muted)}.section{padding-block:var(--space-4xl);border-top:var(--rule-thin) solid var(--color-line)}.section-head{gap:var(--space-2xl);margin-bottom:var(--space-3xl);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;display:grid}.section-head p{max-width:58ch;font-size:var(--text-lg);color:var(--color-muted);margin:0}.text-link{text-underline-offset:.3em;text-decoration-thickness:var(--rule-thin);font-weight:750}.service-list{border-top:var(--rule-thin) solid var(--color-ink)}.service-row{gap:var(--space-xl);padding:var(--space-xl) 0;border-bottom:var(--rule-thin) solid var(--color-line);grid-template-columns:4rem minmax(0,1fr) minmax(0,.7fr);align-items:start;text-decoration:none;display:grid}.service-row:hover .service-name,.service-row:focus-visible .service-name{color:var(--color-accent-dark)}.service-no{font-family:var(--font-mono);color:var(--color-muted)}.service-name{font-family:var(--font-display);transition:color var(--dur-short) var(--ease-out);font-size:clamp(1.5rem,3vw,3rem);font-weight:750;line-height:1}.service-row p{color:var(--color-muted);margin:0}.work-grid{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.work-card{aspect-ratio:4/3;background:var(--color-paper-deep);grid-column:auto;min-height:0;position:relative;overflow:hidden}.work-card img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-med) var(--ease-out)}.work-card:hover img{transform:scale(1.025)}.work-card figcaption{inset:auto var(--space-md) var(--space-md);background:var(--color-paper);padding:var(--space-sm) var(--space-md);font-weight:750;position:absolute}.client-marquee{padding-block:var(--space-md);overflow:clip}.client-strip{gap:var(--space-xl);grid-auto-columns:120px;grid-auto-flow:column;align-items:center;width:max-content;animation:36s linear infinite client-marquee;display:grid}.client-strip:hover,.client-strip:focus-within{animation-play-state:paused}.client-strip img{object-fit:contain;filter:grayscale();opacity:.7;width:100%;max-height:52px;margin:auto}@keyframes client-marquee{to{transform:translateX(calc(-50% - var(--space-md)))}}.band{background:var(--color-ink);color:var(--color-white);padding-block:var(--space-4xl)}.band h2{max-width:14ch}.cta-row{gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.band .button{background:var(--color-cyan);color:var(--color-ink);border-color:var(--color-cyan)}.page-hero{padding-block:var(--space-4xl) var(--space-3xl);gap:var(--space-2xl);grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;display:grid}.page-hero h1{font-size:clamp(3rem,8vw,7rem)}.page-hero p{font-size:var(--text-lg);max-width:38ch;color:var(--color-muted)}.detail{gap:var(--space-3xl);padding-block:var(--space-3xl);border-top:var(--rule-thin) solid var(--color-line);grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);scroll-margin-top:96px;display:grid}.detail-media{min-width:0;overflow:hidden}.detail-media img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.service-jump__track a:hover,.service-jump__track a:focus-visible,.service-jump__track a[aria-current=true]{color:var(--color-action-ink)}.detail-copy h2{margin-bottom:var(--space-lg);font-size:clamp(2rem,4.5vw,4rem)}.detail-copy>p{font-size:var(--text-lg);color:var(--color-muted)}.detail-copy ul{padding-left:1.15rem}.detail-copy li{margin-block:var(--space-sm)}.story-grid{gap:var(--space-md);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);display:grid}.story-grid img{object-fit:cover;width:100%;height:100%;min-height:360px}.prose{max-width:72ch}.prose p{font-size:var(--text-lg)}.principles{border-top:var(--rule-thin) solid var(--color-ink);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.principle{padding:var(--space-xl) var(--space-xl) var(--space-xl) 0;border-bottom:var(--rule-thin) solid var(--color-line)}.principle p{color:var(--color-muted)}.contact-grid{gap:var(--space-3xl);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);display:grid}.contact-list{margin:var(--space-xl) 0;padding:0;list-style:none}.contact-list li{padding-block:var(--space-sm)}.office-map-link{margin-top:var(--space-xs);display:inline-block}.form{gap:var(--space-lg);display:grid}.field{gap:var(--space-xs);display:grid}.field label{font-weight:750}.field input,.field textarea,.field select{border:var(--rule-thin) solid var(--color-line);outline-offset:1px;background:var(--color-paper-deep);width:100%;color:var(--color-ink);border-radius:var(--radius-sm);min-height:48px;transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out);outline:2px solid #0000;padding:.85rem}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--color-muted)}.field input:disabled,.field textarea:disabled,.field select:disabled{opacity:.55;cursor:not-allowed;background:var(--color-paper-deep)}.field textarea{resize:vertical;min-height:140px}.fine{font-size:var(--text-sm);color:var(--color-muted)}.form-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-status{min-height:1.5em;font-size:var(--text-sm);margin:0;font-weight:700}.form-status:empty{display:none}.form-status[data-state=success]{color:var(--color-success,#16794a)}.form-status[data-state=error]{color:var(--color-danger,#b42318)}.site-footer{padding-block:var(--space-3xl) var(--space-xl);background:var(--color-paper-deep)}.footer-main{gap:var(--space-2xl);grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.7fr));display:grid}.footer-main h2{max-width:9ch;font-size:clamp(2rem,4vw,4rem)}.footer-nav{margin:0;padding:0;list-style:none}.footer-nav li{margin-bottom:var(--space-sm)}.footer-nav a{white-space:nowrap}.footer-bottom{justify-content:space-between;gap:var(--space-lg);border-top:var(--rule-thin) solid var(--color-line);margin-top:var(--space-2xl);padding-top:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted);display:flex}.reveal{opacity:0;transform:translateY(12px)}.reveal.is-visible{opacity:1;transition:opacity var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);transform:none}@media (max-width:760px){.nav{min-height:68px}.brand img{width:160px}.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-links{background:var(--color-paper);border-bottom:var(--rule-thin) solid var(--color-line);padding:var(--space-lg);flex-direction:column;align-items:stretch;display:none;position:absolute;top:68px;left:0;right:0}.nav-links.is-open{display:flex}.nav-links a{min-height:44px;padding-block:.6rem;display:block}.hero,.page-hero,.section-head,.detail,.contact-grid{grid-template-columns:minmax(0,1fr)}.hero{min-height:auto;padding-top:var(--space-3xl)}h1{max-width:100%;font-size:clamp(2.75rem,14vw,5rem)}.section{padding-block:var(--space-3xl)}.section-head{gap:var(--space-lg);margin-bottom:var(--space-2xl)}.service-row{gap:var(--space-md);grid-template-columns:2.5rem minmax(0,1fr)}.service-row p{grid-column:2}.work-grid{grid-template-columns:minmax(0,1fr)}.work-card,.work-card:nth-child(2n),.work-card:nth-child(3n){grid-column:auto;min-height:0}.client-strip{grid-auto-columns:96px}.detail{gap:var(--space-xl)}.story-grid,.principles,.footer-main{grid-template-columns:minmax(0,1fr)}.band h2,.footer-main h2{max-width:100%;font-size:clamp(1.9rem,8.5vw,2.65rem)}.footer-bottom{flex-direction:column}.cta-row{flex-direction:column;align-items:stretch}.cta-row .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.reveal.is-visible,.work-card img,.button{transition-duration:.01ms}.client-strip{animation:none}}.brand{align-items:center;display:inline-grid}.brand img{grid-area:1/1}.logo-dark,html[data-theme=dark] .logo-light{display:none}html[data-theme=dark] .logo-dark{display:block}.nav-actions{align-items:center;gap:var(--space-sm);display:flex}.nav-contact{padding-right:var(--space-md);border-right:var(--rule-thin) solid var(--color-line);gap:.15rem;margin-right:.15rem;display:grid}.nav-contact a{align-items:baseline;column-gap:var(--space-xs);color:var(--color-ink);white-space:nowrap;grid-template-columns:2.75rem auto;font-size:.72rem;line-height:1.2;text-decoration:none;display:grid}.nav-contact span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:.58rem}.nav-contact strong{font-weight:650}.nav-contact a:hover strong,.nav-contact a:focus-visible strong{color:var(--color-accent-dark)}.nav-cta{min-height:44px;padding-inline:var(--space-md)}.theme-toggle,.hero-motion-toggle{border:var(--rule-thin) solid var(--color-line);min-width:44px;min-height:44px;color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover,.hero-motion-toggle:hover{background:var(--color-paper-deep)}.theme-toggle:active,.hero-motion-toggle:active{transform:translateY(1px)}.theme-toggle:disabled,.hero-motion-toggle:disabled{opacity:.55;cursor:not-allowed}.theme-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.theme-icon--moon,html[data-theme=dark] .theme-icon--sun{display:none}html[data-theme=dark] .theme-icon--moon{display:block}.button{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-ink)}.button:hover{background:var(--color-action-hover);border-color:var(--color-action-hover);color:var(--color-action-ink)}.button--quiet{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.band{background:var(--color-panel);color:var(--color-panel-ink)}.band p{color:var(--color-panel-ink)}.home-hero{gap:var(--space-3xl);min-height:calc(100svh - 76px);padding-block:var(--space-2xl);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;display:grid}.home-hero__content{min-width:0}.home-hero h1{text-transform:none;letter-spacing:-.04em;max-width:10.5ch;font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.02}.home-hero__lede{max-width:56ch;margin-block:var(--space-xl);font-size:var(--text-lg);color:var(--color-muted)}.home-hero .cta-row{align-items:center}.hero-media{min-width:0;position:relative}.hero-frames{aspect-ratio:4/5;background:var(--color-paper-deep);max-height:620px;position:relative;overflow:hidden}.hero-frame{opacity:0;transition:opacity 1.1s var(--ease-in-out), transform 6.5s linear;margin:0;position:absolute;inset:0;transform:scale(1.018)}.hero-frame.is-active{z-index:1;opacity:1;transform:scale(1)}.hero-frame img{object-fit:cover;width:100%;height:100%}.hero-frame--one img{object-position:center}.hero-frame--two img{object-position:center 42%}.hero-frame--three img{object-position:center}.hero-media__caption{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);display:flex}.hero-motion-toggle{min-width:auto;min-height:36px;padding-inline:var(--space-sm);font:inherit;white-space:nowrap}.client-strip{grid-auto-flow:initial;grid-template-columns:repeat(9,minmax(0,1fr));width:auto;animation:none}.client-strip img[aria-hidden=true]{display:none}@media (max-width:980px) and (min-width:761px){.brand img{width:164px}.nav-links{gap:var(--space-lg);padding-left:var(--space-md)}.nav-cta,.nav-contact{display:none}.home-hero{gap:var(--space-2xl)}}@media (max-width:760px){.nav-actions{margin-left:auto}.nav-cta,.nav-contact{display:none}.home-hero{gap:var(--space-2xl);min-height:auto;padding-block:var(--space-3xl);grid-template-columns:minmax(0,1fr)}.home-hero h1{max-width:11ch;font-size:clamp(2.5rem,12vw,3.75rem)}.home-hero__lede{font-size:var(--text-base);margin-block:var(--space-lg)}.hero-frames{aspect-ratio:16/11;max-height:none}.hero-media__caption{align-items:center}.client-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.hero-frame{opacity:0;transition:none;transform:none}.hero-frame.is-active{opacity:1}.hero-motion-toggle{display:none}.theme-toggle,.hero-motion-toggle{transition-duration:.01ms}}body,.site-header,.site-footer,.band,.service-applications{transition:background-color .26s var(--ease-in-out), color .26s var(--ease-in-out), border-color .26s var(--ease-in-out)}.service-hero{gap:var(--space-3xl);min-height:calc(100svh - 76px);padding-block:var(--space-2xl);grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;display:grid}.service-hero__copy{min-width:0}.service-hero__copy h1{max-width:12ch;margin-block:var(--space-md) var(--space-lg);text-transform:none;letter-spacing:-.045em;font-size:clamp(2.75rem,5.6vw,5.5rem)}.service-hero__copy>p:not(.eyebrow){max-width:52ch;margin-bottom:var(--space-xl);font-size:var(--text-lg);color:var(--color-muted)}.back-link{min-height:44px;margin-bottom:var(--space-xl);white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{text-underline-offset:.3em;text-decoration:underline}.service-hero__media{background:var(--color-paper-deep);min-width:0;margin:0;overflow:hidden}.service-hero__media img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .7s var(--ease-out)}.service-hero__media:hover img{transform:scale(1.025)}.service-narrative{gap:var(--space-3xl);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;display:grid}.service-narrative h2{text-transform:none;font-size:clamp(2.25rem,4vw,4rem);position:sticky;top:104px}.capability-grid{border-top:var(--rule-thin) solid var(--color-ink);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.capability-grid article{min-height:220px;padding:var(--space-xl);border-right:var(--rule-thin) solid var(--color-line);border-bottom:var(--rule-thin) solid var(--color-line);grid-column:span 4}.capability-grid article:first-child{grid-column:span 7}.capability-grid article:nth-child(2){grid-column:span 5}.capability-grid article:nth-child(5){grid-column:span 8}.capability-grid span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-dark)}.capability-grid h3{max-width:15ch;margin-top:var(--space-2xl);font-size:var(--text-xl);line-height:1.1}.service-applications{padding-block:var(--space-4xl);background:var(--color-panel);color:var(--color-panel-ink)}.service-applications .section-head p{color:var(--color-panel-ink)}.application-list{border-top:var(--rule-thin) solid currentColor}.application-list p{padding-block:var(--space-lg);border-bottom:var(--rule-thin) solid currentColor;margin:0}@supports (color:color-mix(in lab, red, red)){.application-list p{border-bottom:var(--rule-thin) solid color-mix(in oklch, currentColor 35%, transparent)}}.application-list p{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,4rem);font-weight:600;line-height:1.05}.delivery-path{border-top:var(--rule-thin) solid var(--color-ink);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.delivery-path li{min-height:230px;padding:var(--space-xl);border-right:var(--rule-thin) solid var(--color-line);border-bottom:var(--rule-thin) solid var(--color-line);align-content:space-between;display:grid}.delivery-path strong{font-family:var(--font-display);font-size:var(--text-xl)}.delivery-path span{color:var(--color-muted)}.related-services{border-top:var(--rule-thin) solid var(--color-ink);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.related-services a{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:100px;padding:var(--space-lg);border-right:var(--rule-thin) solid var(--color-line);border-bottom:var(--rule-thin) solid var(--color-line);font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:600;text-decoration:none;display:flex}.related-services a:hover{background:var(--color-action);color:var(--color-action-ink)}.related-services span{transition:transform var(--dur-short) var(--ease-out)}.related-services a:hover span{transform:translate(4px)}@media (max-width:760px){.service-hero{gap:var(--space-2xl);min-height:auto;padding-block:var(--space-3xl);grid-template-columns:minmax(0,1fr)}.service-hero__copy h1{max-width:12ch;font-size:clamp(2.5rem,12vw,3.75rem)}.service-hero__media{order:-1}.service-hero__media img{aspect-ratio:4/3}.service-narrative{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.service-narrative h2{position:static}.capability-grid{grid-template-columns:minmax(0,1fr)}.capability-grid article,.capability-grid article:first-child,.capability-grid article:nth-child(2),.capability-grid article:nth-child(5){grid-column:auto;min-height:170px}.delivery-path,.related-services{grid-template-columns:minmax(0,1fr)}.delivery-path li{min-height:160px}.related-services a{white-space:normal}.application-list p{font-size:clamp(1.75rem,9vw,3rem)}}@media (prefers-reduced-motion:reduce){body,.site-header,.site-footer,.band,.service-applications,.service-hero__media img,.related-services a,.related-services span{transition-duration:.01ms}}.home-hero--immersive{background:var(--color-panel);width:100%;max-width:none;min-height:calc(100svh - 76px);color:var(--color-white);padding:0;display:block;position:relative;overflow:hidden}.home-hero--immersive:before{content:"";z-index:1;pointer-events:none;opacity:.13;background-image:linear-gradient(#ffffff2e 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000000b8 42%,#0000 82%);mask-image:linear-gradient(90deg,#000 0%,#000000b8 42%,#0000 82%)}.home-hero--immersive .hero-media--immersive{z-index:0;margin:0;position:absolute;inset:0}.home-hero--immersive .hero-media--immersive:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#030c19f0 0%,#030c19c7 42%,#030c192e 74%,#030c196b 100%);position:absolute;inset:0}.home-hero--immersive .hero-frames{aspect-ratio:auto;height:100%;max-height:none}.home-hero--immersive .hero-frame img{object-fit:cover;width:100%;height:100%}.home-hero--immersive .home-hero__content{z-index:2;min-height:calc(100svh - 76px);padding-block:var(--space-3xl);pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:relative}.home-hero--immersive .home-hero__content>*{pointer-events:auto}.home-hero--immersive .eyebrow{color:var(--color-cyan)}.hero-status-dot{width:.5rem;height:.5rem;margin-right:var(--space-sm);background:var(--color-cyan);border-radius:50%;display:inline-block;position:relative}.hero-status-dot:after{content:"";border-radius:inherit;background:#4bdeeb8c;animation:2.4s ease-out infinite hero-status-pulse;position:absolute;inset:0}.home-hero--immersive h1{max-width:9ch;color:var(--color-white);text-shadow:0 2px 28px #0000004d}.home-hero--immersive h1>span{color:var(--color-cyan);display:inline-block;position:relative}.home-hero--immersive h1>span:after{content:"";transform-origin:0;height:.045em;animation:hero-accent-line 1.1s .35s var(--ease-out) both;background:currentColor;position:absolute;bottom:.03em;left:.04em;right:.04em}.home-hero--immersive .home-hero__lede{max-width:52ch;color:var(--color-white)}.home-hero--immersive .button{background:var(--color-cyan);border-color:var(--color-cyan);color:var(--color-accent-ink)}.home-hero--immersive .text-link{color:var(--color-white)}.home-hero--immersive .hero-media__caption{right:max(1rem,50vw - 590px);bottom:var(--space-lg);z-index:3;color:var(--color-white);padding-top:var(--space-sm);border-top:1px solid #ffffff4d;position:absolute;left:max(1rem,50vw - 590px)}.hero-capability-rail{align-items:center;gap:clamp(var(--space-md), 3vw, var(--space-2xl));display:flex}.hero-capability-rail span{align-items:center;gap:var(--space-xs);white-space:nowrap;display:inline-flex}.hero-capability-rail b{color:var(--color-cyan);font-size:.62rem;font-weight:500}.hero-signal{top:var(--space-2xl);z-index:3;gap:var(--space-xs);min-width:230px;padding:var(--space-md);color:var(--color-white);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030c196b;border:1px solid #ffffff52;margin:0;display:grid;position:absolute;right:max(1rem,50vw - 590px)}.hero-signal:before{content:"";background:var(--color-cyan);width:42px;height:2px;position:absolute;top:-1px;left:-1px}.hero-signal__item{gap:var(--space-xs);opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);grid-area:1/1;display:grid;transform:translateY(.35rem)}.hero-signal__item.is-active{opacity:1;transform:none}.hero-signal span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-cyan);font-size:.62rem}.hero-signal strong{font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.25}.home-hero--immersive .hero-motion-toggle{color:var(--color-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030c1973;border-color:#ffffff80}@keyframes hero-status-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}@keyframes hero-accent-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.page-hero--visual{min-height:calc(100svh - 76px);padding-block:var(--space-2xl);align-items:center;gap:var(--space-3xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.page-hero--visual .page-hero__copy{min-width:0}.page-hero--visual h1{max-width:11ch;margin-block:var(--space-md) var(--space-lg);text-transform:none;font-size:clamp(2.75rem,5.3vw,5rem)}.page-hero--visual .page-hero__copy>p:not(.eyebrow){max-width:52ch;color:var(--color-muted);margin:0}.page-hero__media{background:var(--color-paper-deep);min-width:0;margin:0;overflow:hidden}.page-hero__media img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .7s var(--ease-out)}.page-hero__media:hover img{transform:scale(1.02)}.work-card__caption{inset:auto var(--space-md) var(--space-md);z-index:2;background:var(--color-paper);padding:var(--space-sm) var(--space-md);font-weight:750;position:absolute}.project-archive{border-top:var(--rule-thin) solid var(--color-ink)}.project-entry{align-items:center;gap:var(--space-lg);min-height:88px;padding:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-line);transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1fr);text-decoration:none;display:grid}.project-entry>span{display:none}.project-entry>strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.05}.project-entry>small{color:var(--color-muted)}.project-entry>b{font-size:var(--text-sm);white-space:nowrap;justify-self:end}.project-entry:hover,.project-entry:focus-visible{background:var(--color-action);color:var(--color-action-ink)}.project-entry:hover>span,.project-entry:hover>small,.project-entry:focus-visible>span,.project-entry:focus-visible>small{color:inherit}@media (max-width:760px){.home-hero--immersive{min-height:720px;padding:0}.home-hero--immersive .home-hero__content{min-height:720px;padding-block:var(--space-3xl) 7rem;justify-content:flex-end}.home-hero--immersive .hero-media--immersive:after{background:linear-gradient(#030c1940 0%,#030c1994 46%,#030c19f5 100%)}.home-hero--immersive:before{opacity:.08;background-size:48px 48px;-webkit-mask-image:linear-gradient(#0000 0%,#000 38% 100%);mask-image:linear-gradient(#0000 0%,#000 38% 100%)}.hero-signal{display:none}.home-hero--immersive .hero-frames{aspect-ratio:auto;height:100%}.home-hero--immersive h1{font-size:clamp(2.75rem,13vw,4rem)}.home-hero--immersive .hero-media__caption{bottom:var(--space-md)}.hero-capability-rail{gap:var(--space-sm)}.hero-capability-rail b{display:none}.hero-capability-rail span{font-size:.62rem}.page-hero--visual{min-height:auto;padding-block:var(--space-3xl);gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.page-hero--visual h1{font-size:clamp(2.5rem,12vw,3.75rem)}.page-hero__media img{aspect-ratio:4/3}.project-entry{gap:var(--space-sm);padding-block:var(--space-lg);grid-template-columns:minmax(0,1fr)}.project-entry>small{grid-column:1}.project-entry>b{white-space:normal;grid-column:1;justify-self:start}}@media (prefers-reduced-motion:reduce){.hero-status-dot,.home-hero--immersive h1>span:after{animation:none}.hero-signal__item{transition:none}.page-hero__media img,.project-entry{transition-duration:.01ms}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(../assets/fonts/bricolage-grotesque-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/ibm-plex-sans-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-500-latin.woff2)format("woff2")}@media (max-width:760px){.service-jump{top:68px}.detail{scroll-margin-top:148px}}@media (prefers-reduced-motion:reduce){.service-jump__track{scroll-behavior:auto}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}