/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--font-weight-semibold:600;--font-weight-bold:700;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){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:where(:not(iframe)){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}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Manrope Variable;src:url(/fonts/manrope-latin-variable.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}@font-face{font-family:Inter Variable;src:url(/fonts/inter-latin-variable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:light;--color-primary:#171a20;--color-secondary:#111318;--color-accent:#d87550;--color-accent-strong:#a44f32;--color-background:#f5f3ee;--color-surface:#fffefa;--color-surface-muted:#eae8e1;--color-text:var(--color-primary);--color-text-muted:#666d78;--color-text-inverse:#f4f5f7;--color-divider:#deddd7;--color-divider-inverse:#ffffff1f;--paper:var(--color-background);--paper-soft:var(--color-surface-muted);--ink:var(--color-primary);--night:var(--color-secondary);--surface-dark:#181c23;--surface-raised:#202630;--muted:var(--color-text-muted);--muted-dark:#a5abb5;--text-dark:var(--color-text-inverse);--accent:var(--color-accent);--accent-deep:var(--color-accent-strong);--line:var(--color-divider);--line-dark:var(--color-divider-inverse);--white:var(--color-surface);--muted-content:#69707a;--muted-body:#535a64;--muted-contrast:#626873;--dark-muted:#b7bdc7;--dark-subtle:#9299a5;--nav-text:#c2c6ce;--nav-border:#454b55;--control-border:#cfcec8;--accent-hover:#f19470;--accent-soft:#eeb69e;--accent-hover-muted:#f0a080;--accent-light:#ee9a78;--text-muted-inverse:#a7adb7;--text-secondary-inverse:#a9afb9;--grid-line:#ffffff06;--border-width:1px;--focus-width:2px;--radius-circle:50%;--container-max:1280px;--header-height:76px;--header-height-compact:68px;--control-height:48px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--type-caption:.62rem;--type-micro:.58rem;--type-small:.78rem;--type-compact:.72rem;--type-label:.63rem;--type-body:.94rem;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-heavy:800;--line-height-copy:1.75;--line-height-body:1.7;--line-height-compact:1.6;--motion-fast:.18s;--motion-base:.2s;--shadow-card:0 16px 40px #181b1f14;--shadow-showcase:0 28px 80px #0000004d;--shadow-case-cover:0 22px 58px #12151a29;--sans:"Inter Variable", "Inter", "Avenir Next", sans-serif;--display:"Manrope Variable", "Manrope", "Avenir Next", sans-serif;--mono:"JetBrains Mono", monospace;font-family:var(--sans);background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;scroll-behavior:smooth}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--accent-soft);color:var(--ink)}.shell{width:min(100% - 64px, var(--container-max));margin-inline:auto}.skip-link{z-index:100;padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--night);font-weight:var(--font-weight-bold);position:fixed;top:16px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:4px}.site-header{z-index:30;border-bottom:var(--border-width) solid var(--line-dark);color:var(--text-dark);backdrop-filter:blur(14px);background:#111318f5;position:sticky;top:0}.header-inner{height:var(--header-height);justify-content:space-between;align-items:center;display:flex;position:relative}.wordmark{align-items:center;gap:var(--space-3);display:inline-flex}.wordmark-mark,.footer-wordmark{font-family:var(--display);font-size:1.35rem;font-weight:var(--font-weight-heavy);letter-spacing:-.1em}.wordmark-mark span,.footer-wordmark span{color:var(--accent)}.wordmark-name{color:#d5d7dc;font-size:var(--type-small);font-weight:var(--font-weight-semibold);letter-spacing:.015em}.primary-nav{color:var(--nav-text);align-items:center;gap:clamp(18px,2.7vw,38px);font-size:.8rem;display:flex}.primary-nav>a:not(.nav-cta){transition:color var(--motion-fast) ease}.primary-nav>a:hover,.primary-nav>a[aria-current=page]{color:var(--text-dark)}.nav-cta{align-items:center;gap:var(--space-2);border:var(--border-width) solid var(--nav-border);color:var(--text-dark);transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease;padding:10px 14px;display:inline-flex}.nav-cta:hover{border-color:var(--accent);background:#d875501a}.menu-toggle{border:var(--border-width) solid var(--nav-border);color:var(--text-dark);cursor:pointer;background:0 0;display:none}.menu-close-icon{display:none}.eyebrow,.mono-label,.section-index{font-family:var(--mono);letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:.66rem}.eyebrow{color:var(--muted-dark);align-items:center;gap:10px;display:flex}.eyebrow:before{content:"";background:var(--accent);width:20px;height:1px}.eyebrow-dark{color:var(--dark-muted)}.section-index{color:var(--accent-deep);align-items:center;gap:10px;display:flex}.section-index:before{content:"";background:currentColor;width:18px;height:1px}.hero-shell{isolation:isolate;background:var(--night);color:var(--text-dark);position:relative;overflow:hidden}.hero-shell:before{z-index:-1;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);content:"";background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 82%);mask-image:linear-gradient(90deg,#000,#0000 82%)}.hero-glow{z-index:-1;border-radius:var(--radius-circle);filter:blur(60px);background:#334a6a38;width:580px;height:580px;position:absolute;top:-270px;right:-90px}.hero-layout{align-items:center;gap:clamp(var(--space-12), 7vw, 100px);grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);padding-top:clamp(68px,8vw,112px);padding-bottom:clamp(56px,6vw,86px);display:grid}.hero-copy h1{max-width:760px;margin:22px 0 var(--space-5);font-family:var(--display);font-size:clamp(3.35rem,6vw,6.4rem);font-weight:var(--font-weight-semibold);letter-spacing:-.075em;line-height:.99}.hero-copy h1 span{color:#eda082}.hero-intro{color:#b6bbc4;max-width:590px;margin:0;font-size:clamp(1rem,1.25vw,1.13rem);line-height:1.8}.hero-actions{flex-wrap:wrap;gap:11px;margin-top:28px;display:flex}.button{min-height:var(--control-height);border:var(--border-width) solid var(--accent);background:var(--accent);color:#181a1e;font-size:var(--type-small);font-weight:var(--font-weight-bold);transition:transform var(--motion-fast) ease, background var(--motion-fast) ease, border-color var(--motion-fast) ease;justify-content:center;align-items:center;gap:10px;padding:0 17px;display:inline-flex}.button:hover{border-color:var(--accent-hover);background:var(--accent-hover);transform:translateY(-2px)}.button-outline-dark{color:var(--text-dark);background:0 0;border-color:#555c67}.button-outline-dark:hover{background:#ffffff0f;border-color:#929aa7}.button-light{border-color:var(--paper);background:var(--paper);color:var(--ink)}.button-light:hover{background:#fff;border-color:#fff}.hero-focus{gap:var(--space-2) 18px;margin-top:var(--space-8);color:var(--dark-subtle);font-family:var(--mono);flex-wrap:wrap;font-size:.64rem;display:flex}.hero-focus span+span:before{width:4px;height:4px;margin:0 var(--space-4) 2px 0;border-radius:var(--radius-circle);background:var(--accent);content:"";display:inline-block}.hero-showcase{border:var(--border-width) solid #323943;min-width:0;box-shadow:var(--shadow-showcase);background:#181c23e0;margin:0;padding:10px}.showcase-topbar,.showcase-caption{justify-content:space-between;align-items:center;gap:var(--space-3);color:#aeb4be;font-family:var(--mono);font-size:.61rem;display:flex}.showcase-topbar{min-height:34px;padding:0 var(--space-1) 9px}.showcase-topbar>span:first-child{align-items:center;gap:var(--space-2);display:inline-flex}.status-dot{border-radius:var(--radius-circle);background:#84c499;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #84c4991f}.showcase-image{aspect-ratio:1.88;background:#0d1014;display:block;position:relative;overflow:hidden}.showcase-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.showcase-image:hover img{transform:scale(1.02)}.showcase-caption-copy{gap:var(--space-1);display:grid}.showcase-caption-copy strong{color:#e7e9ed;font-family:var(--display);font-size:.79rem;font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.showcase-caption-copy small{color:#9097a2;font-size:.56rem}.showcase-view-link{color:#e7a083;font-size:var(--type-caption);align-items:center;gap:6px;display:inline-flex}.showcase-caption{min-height:47px;padding:10px var(--space-1) 2px;color:#888f9a;font-size:.57rem}.hero-bottomline{justify-content:space-between;align-items:center;gap:var(--space-5);border-top:var(--border-width) solid var(--line-dark);color:var(--dark-subtle);padding:15px 0 18px;display:flex}.hero-bottomline .mono-label{font-size:var(--type-micro)}.hero-bottomline a{align-items:center;gap:var(--space-2);color:#d9dce1;font-size:var(--type-compact);display:inline-flex}.section{padding:clamp(70px,8vw,112px) 0}.project-section{background:var(--paper)}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.section-heading h2,.page-heading h1{font-family:var(--display);font-size:clamp(2.7rem,5.4vw,5.1rem);font-weight:var(--font-weight-semibold);letter-spacing:-.072em;margin:13px 0 0;line-height:1.02}.section-intro{max-width:470px;color:var(--muted);font-size:var(--type-body);line-height:var(--line-height-copy);margin:0 0 3px}.filter-row{gap:var(--space-2);flex-wrap:wrap;margin:0 0 28px;display:flex}.filter-button{border:var(--border-width) solid var(--control-border);color:#5d636d;cursor:pointer;min-height:36px;transition:var(--motion-fast) ease;background:0 0;padding:0 13px;font-size:.69rem}.filter-button:hover,.filter-button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.project-card{border:var(--border-width) solid #dddcd5;background:var(--white);min-width:0;transition:border-color var(--motion-base) ease, transform var(--motion-base) ease, box-shadow var(--motion-base) ease;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-card);border-color:#c7c5bd;transform:translateY(-3px)}.project-card[hidden]{display:none}.project-image-link{aspect-ratio:1.88;background:var(--ink);display:block;position:relative;overflow:hidden}.project-cover{object-fit:cover;width:100%;height:100%;transition:transform .42s cubic-bezier(.2,.65,.2,1)}.project-card:hover .project-cover{transform:scale(1.025)}.project-cover-empty{padding:var(--space-6);color:#fff;font-family:var(--display);text-align:center;place-items:center;font-size:2rem;display:grid}.project-image-label{padding:6px var(--space-2);border:var(--border-width) solid #ffffff3d;color:#fff;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#111318c2;font-size:.55rem;position:absolute;top:13px;left:13px}.project-image-arrow{background:var(--paper);width:36px;height:36px;color:var(--ink);transition:transform var(--motion-base) ease;place-items:center;display:grid;position:absolute;bottom:13px;right:13px}.project-card:hover .project-image-arrow{transform:rotate(45deg)}.project-card-body{padding:17px 19px 18px}.project-meta{color:var(--muted-content);font-family:var(--mono);letter-spacing:.015em;text-transform:uppercase;justify-content:space-between;gap:10px;font-size:.57rem;display:flex}.status-indicator{align-items:center;gap:7px;display:inline-flex}.status-indicator:before{border-radius:var(--radius-circle);background:var(--accent);content:"";flex:0 0 5px;width:5px;height:5px}.project-card h3{margin:var(--space-3) 0 6px;font-family:var(--display);letter-spacing:-.05em;font-size:1.34rem;font-weight:650}.project-card h3 a:hover{color:var(--accent-deep)}.project-summary{max-width:64ch;color:var(--muted-contrast);font-size:.83rem;line-height:var(--line-height-compact)5;margin:0}.project-card-bottom{justify-content:space-between;align-items:end;gap:14px;margin-top:13px;display:flex}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tags span,.tag{padding:5px var(--space-2);border:var(--border-width) solid var(--line);color:#646b76;font-size:.61rem}.card-read-more{color:#393e46;flex:none;align-items:center;gap:5px;font-size:.7rem;font-weight:650;display:inline-flex}.card-read-more:hover{color:var(--accent-deep)}.project-count{color:#767c85;font-family:var(--mono);margin:19px 0 0;font-size:.61rem}.empty-state{color:var(--muted);text-align:center;border:1px dashed #c9c8c2;padding:38px}.capabilities-section{background:var(--surface-dark);color:var(--text-dark)}.section-heading-light .section-index{color:var(--accent-light)}.section-heading-light h2{color:var(--text-dark)}.section-heading-light .section-intro{color:var(--text-muted-inverse)}.capability-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.capability-card{border:var(--border-width) solid #343b46;background:linear-gradient(145deg,#1c212a,#171b22);min-height:165px;padding:18px}.capability-card-head{justify-content:space-between;align-items:center;display:flex}.capability-number{color:#f09572;font-family:var(--mono);font-size:.65rem}.capability-symbol{color:#8d95a1;font-size:1rem}.capability-card h3{margin:23px 0 var(--space-2);font-family:var(--display);font-size:1.01rem;font-weight:var(--font-weight-semibold);letter-spacing:-.025em}.capability-card p{color:#a8aeb8;max-width:35ch;font-size:var(--type-small);line-height:var(--line-height-compact);margin:0}.stack-strip{margin-top:var(--space-6);padding-top:var(--space-5);border-top:var(--border-width) solid var(--line-dark);grid-template-columns:220px 1fr;align-items:center;gap:18px;display:grid}.stack-strip .mono-label{color:#a4aab4;font-size:var(--type-micro)}.stack-chips{flex-wrap:wrap;gap:7px;display:flex}.stack-chips span{padding:6px var(--space-2);border:var(--border-width) solid #3b424d;color:var(--nav-text);font-size:var(--type-caption)}.approach-section{background:var(--paper-soft)}.approach-layout{gap:clamp(var(--space-10), 9vw, 125px);grid-template-columns:.85fr 1.15fr;display:grid}.approach-heading h2{max-width:600px;font-family:var(--display);letter-spacing:-.07em;margin:15px 0 0;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.04}.text-link{align-items:center;gap:var(--space-2);color:#3e454e;margin-top:17px;font-size:.79rem;font-weight:650;display:inline-flex}.text-link:hover{color:var(--accent-deep)}.approach-steps{border-top:var(--border-width) solid var(--control-border)}.approach-steps article{border-bottom:var(--border-width) solid var(--control-border);grid-template-columns:48px 1fr;gap:13px;padding:17px 0;display:grid}.approach-steps article>span{color:var(--accent-deep);font-family:var(--mono);padding-top:2px;font-size:.64rem}.approach-steps h3{font-family:var(--display);margin:0 0 6px;font-size:.98rem;font-weight:650}.approach-steps p{color:#656c76;max-width:58ch;font-size:.82rem;line-height:var(--line-height-compact);margin:0}.about-band{background:var(--surface-raised);color:var(--text-dark)}.about-band-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(35px,8vw,100px);padding-top:clamp(62px,7vw,92px);padding-bottom:clamp(62px,7vw,92px);display:grid}.about-band .section-index{color:var(--accent-light)}.about-band h2{font-family:var(--display);letter-spacing:-.075em;margin:14px 0 0;font-size:clamp(2.5rem,5.5vw,5rem);line-height:1}.about-band-inner>div:last-child p{max-width:48ch;margin:0 0 var(--space-5);color:var(--dark-muted);font-size:.95rem;line-height:var(--line-height-copy)}.contact-band{background:var(--accent);color:#211b19;padding:clamp(62px,8vw,105px) 0}.contact-band-inner{justify-content:space-between;align-items:end;gap:28px;display:flex}.contact-band .section-index{color:#543426}.contact-band h2{font-family:var(--display);font-size:clamp(2.6rem,6vw,5.7rem);font-weight:var(--font-weight-semibold);letter-spacing:-.08em;margin:13px 0 9px;line-height:.98}.contact-band p:not(.section-index){color:#4a342c;margin:0;font-size:.88rem}.site-footer{background:var(--night);color:var(--text-dark)}.footer-main{grid-template-columns:1.45fr .72fr .9fr .82fr;gap:clamp(25px,4vw,55px);padding-top:58px;padding-bottom:56px;display:grid}.footer-identity{max-width:360px}.footer-wordmark{font-size:1.6rem;display:inline-block}.footer-identity h2{margin:18px 0 var(--space-3);font-family:var(--display);letter-spacing:-.05em;font-size:1.55rem;line-height:1.12}.footer-identity p{max-width:42ch;color:var(--text-muted-inverse);font-size:var(--type-small);line-height:var(--line-height-body);margin:0}.footer-email{color:#e9a184;align-items:center;gap:6px;margin-top:18px;font-size:.75rem;display:inline-flex}.footer-column h2{margin:var(--space-1) 0 17px;color:#eef0f3;font-family:var(--mono);font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;font-weight:400}.footer-column ul{gap:11px;margin:0;padding:0;list-style:none;display:grid}.footer-column li,.footer-column a{color:var(--text-secondary-inverse);font-size:.73rem;line-height:1.45}.footer-column a:hover,.footer-bottom a:hover{color:var(--accent-hover-muted)}.footer-expertise{color:var(--text-secondary-inverse)}.footer-bottom{padding-top:var(--space-4);border-top:var(--border-width) solid var(--line-dark);color:var(--dark-subtle);font-family:var(--mono);font-size:var(--type-micro);justify-content:space-between;align-items:center;gap:18px;padding-bottom:17px;display:flex}.footer-bottom-links{flex-wrap:wrap;align-items:center;gap:19px;display:flex}.footer-bottom-links a{align-items:center;gap:var(--space-1);display:inline-flex}.page-hero{padding:clamp(62px,8vw,104px) 0 47px}.page-heading{max-width:940px}.page-heading h1{font-size:clamp(3rem,7vw,6.5rem)}.page-lead{max-width:740px;color:var(--muted-contrast);margin:19px 0 0;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.8}.prose{max-width:760px;color:var(--muted-body);font-size:var(--type-body);line-height:1.85}.prose p{margin:0 0 1.2em}.prose h2{color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:2.2em 0 .65em;font-size:clamp(1.55rem,2.8vw,2.1rem);line-height:1.15}.prose h3{color:var(--ink);margin:1.8em 0 .5em;font-size:1.12rem}.prose ul{padding-left:1.2rem}.prose li{margin:.4em 0;padding-left:.35rem}.prose a{color:var(--accent-deep);text-underline-offset:3px;text-decoration:underline}.prose strong{color:var(--ink)}.about-columns{grid-template-columns:.6fr 1.4fr;gap:clamp(38px,8vw,115px);padding-bottom:92px;display:grid}.about-aside{border:var(--border-width) solid var(--line);background:#ffffff6b;align-self:start;padding:19px}.about-aside .mono-label{color:var(--accent-deep);margin-bottom:9px;display:block}.about-aside p{margin:0 0 var(--space-6);color:var(--muted-contrast);font-size:.82rem;line-height:var(--line-height-compact)5}.about-aside p:last-child{margin-bottom:0}.expertise-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px;display:grid}.expertise-card{border:var(--border-width) solid var(--line);background:var(--white);padding:17px}.expertise-card h3{font-family:var(--display);margin:0 0 7px;font-size:.9rem}.expertise-card p{color:var(--muted-content);font-size:.75rem;line-height:var(--line-height-compact);margin:0}.resume-note{max-width:850px;padding:18px var(--space-5);border-left:2px solid var(--accent);background:var(--paper-soft);color:var(--muted-body);font-size:.87rem;line-height:var(--line-height-body)}.resume-section{max-width:940px;padding:var(--space-2) 0 92px}.resume-section h2{font-family:var(--display);letter-spacing:-.045em;margin:38px 0 14px;font-size:1.55rem}.resume-skills{gap:var(--space-2);flex-wrap:wrap;display:flex}.resume-skills span{padding:var(--space-2) 10px;border:var(--border-width) solid #d3d2cc;color:#525963;font-size:var(--type-compact);background:#faf9f5}.contact-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;padding:13px 0 100px;display:grid}.contact-card{min-height:150px;padding:var(--space-5);border:var(--border-width) solid var(--line);background:var(--white);transition:border-color var(--motion-fast) ease, transform var(--motion-fast) ease;flex-direction:column;justify-content:space-between;display:flex}.contact-card:hover{border-color:var(--accent);transform:translateY(-2px)}.contact-card span{color:var(--muted-content);font-family:var(--mono);font-size:var(--type-caption);text-transform:uppercase}.contact-card strong{overflow-wrap:anywhere;font-family:var(--display);font-size:clamp(1.05rem,2.2vw,1.45rem);font-weight:var(--font-weight-semibold)}.contact-card svg{color:var(--accent-deep)}.not-found{text-align:center;place-items:center;min-height:64vh;display:grid}.not-found-inner{max-width:620px;padding:var(--space-10) 0}.not-found h1{font-family:var(--display);letter-spacing:-.09em;margin:15px 0;font-size:clamp(4.2rem,12vw,9rem);line-height:.9}.not-found p{max-width:48ch;color:var(--muted);line-height:var(--line-height-body);margin:0 auto 23px}.case-hero{background:radial-gradient(ellipse at 88% 10%, #3549663d, transparent 42%), var(--night);color:var(--text-dark);padding:clamp(50px,7vw,82px) 0 72px}.case-heading{max-width:1280px}.case-back{color:var(--dark-muted);font-size:var(--type-compact);align-items:center;gap:7px;margin-bottom:35px;display:inline-flex}.case-back:hover{color:var(--accent-hover-muted)}.case-topline{justify-content:space-between;align-items:center;gap:var(--space-5);color:#b2b8c2;font-family:var(--mono);font-size:var(--type-caption);text-transform:uppercase;display:flex}.case-hero h1{max-width:1100px;font-family:var(--display);font-size:clamp(3.4rem,8.2vw,7.7rem);font-weight:var(--font-weight-semibold);letter-spacing:-.085em;margin:22px 0 15px;line-height:.94}.case-summary{color:#b9bec7;max-width:760px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:var(--line-height-copy);margin:0}.case-category-row{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.case-category-row span{border:var(--border-width) solid #454c57;color:#c7cbd2;font-size:var(--type-label);padding:6px 9px}.case-cover{z-index:1;border:var(--border-width) solid #313844;box-shadow:var(--shadow-case-cover);background:#101318;margin-top:-36px;margin-bottom:0;position:relative;overflow:hidden}.case-cover img{aspect-ratio:1.88;object-fit:cover;width:100%;height:auto}.case-cover figcaption{color:#8f96a1;font-family:var(--mono);font-size:var(--type-micro);padding:9px 13px}.case-layout{padding-top:var(--space-12);grid-template-columns:minmax(0,1fr) 260px;gap:clamp(35px,7vw,95px);padding-bottom:88px;display:grid}.case-main{min-width:0}.case-overview{border-top:var(--border-width) solid var(--line);border-bottom:var(--border-width) solid var(--line);margin-bottom:38px;padding:18px 0 21px}.case-overview .section-index{margin-bottom:17px}.case-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;display:grid}.case-facts dt{color:#727984;font-family:var(--mono);font-size:var(--type-micro);text-transform:uppercase;margin-bottom:7px}.case-facts dd{color:#272c33;margin:0;font-size:.76rem;line-height:1.5}.case-sidebar{border:var(--border-width) solid var(--line);background:#eeece6;align-self:start;gap:25px;padding:19px;display:grid;position:sticky;top:105px}.case-sidebar .section-index{font-size:var(--type-micro);margin-bottom:11px}.case-tag-list{flex-wrap:wrap;gap:6px;display:flex}.case-tag-list span{padding:6px var(--space-2);border:var(--border-width) solid #d6d4ce;color:#545b65;font-size:var(--type-label)}.case-sidebar-link{border-top:var(--border-width) solid #d3d1cb;color:#404751;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;font-size:.7rem;display:flex}.case-sidebar-link:hover{color:var(--accent-deep)}.case-contributions{margin-top:30px}.case-contributions h2,.gallery-heading h2{font-family:var(--display);letter-spacing:-.05em;font-size:1.65rem}.case-contributions ul{color:var(--muted-body);line-height:var(--line-height-copy);padding-left:1.1rem}.case-gallery-section{margin-top:45px}.gallery-heading h2{margin:11px 0 17px}.case-gallery{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-gallery figure{border:var(--border-width) solid var(--line);background:var(--white);min-width:0;margin:0}.case-gallery figure:first-child:nth-last-child(3){grid-row:span 2}.case-gallery img{aspect-ratio:1.88;object-fit:cover;background:var(--ink);width:100%;height:auto}.case-gallery figcaption{padding:var(--space-2) 10px;color:var(--muted-content);font-size:.65rem;line-height:1.5}.case-links{gap:var(--space-5);flex-wrap:wrap;margin-top:25px;display:flex}.related-projects{background:var(--paper-soft);padding:68px 0 88px}.related-projects .section-heading{align-items:end}.related-projects .section-heading h2{margin:var(--space-3) 0 0;font-family:var(--display);letter-spacing:-.07em;font-size:clamp(2.3rem,4vw,3.7rem)}@media (width<=980px){.shell{width:min(100% - 48px,1280px)}.primary-nav{gap:17px}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(330px,.88fr);gap:34px}.hero-copy h1{font-size:clamp(3.1rem,7vw,5rem)}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-identity{grid-column:1/-1;max-width:600px}.case-layout{grid-template-columns:minmax(0,1fr) 220px;gap:30px}}@media (width<=820px){.header-inner{height:var(--header-height-compact)}.menu-toggle{justify-content:center;align-items:center;width:42px;height:40px;display:inline-flex}.menu-toggle[aria-expanded=true] .menu-open-icon{display:none}.menu-toggle[aria-expanded=true] .menu-close-icon{display:block}.primary-nav{padding:10px var(--space-6) 19px;border-bottom:var(--border-width) solid #3a414c;background:#15181e;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:-24px;right:-24px;box-shadow:0 20px 35px #00000040}.primary-nav.is-open{display:flex}.primary-nav>a:not(.nav-cta){padding:var(--space-3) 2px}.nav-cta{margin-top:var(--space-2);justify-content:center}.hero-layout{padding-top:var(--space-16);grid-template-columns:1fr;gap:42px}.hero-copy{max-width:760px}.hero-copy h1{max-width:730px;font-size:clamp(3.5rem,9vw,6.1rem)}.hero-showcase{max-width:720px}.hero-bottomline{flex-direction:column;align-items:start;gap:10px}.section-heading{flex-direction:column;align-items:start;gap:14px}.section-intro{max-width:620px}.project-grid{gap:var(--space-4)}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-strip{grid-template-columns:1fr;gap:11px}.approach-layout{grid-template-columns:1fr;gap:34px}.about-band-inner{grid-template-columns:1fr;gap:22px}.case-layout{grid-template-columns:1fr}.case-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.case-sidebar-link{grid-column:1/-1}}@media (width<=600px){.shell{width:min(100% - 36px,1280px)}.wordmark-name{font-size:var(--type-compact)}.hero-layout{padding-top:var(--space-12);gap:var(--space-8);padding-bottom:42px}.hero-copy h1{font-size:clamp(3rem,13vw,4.5rem)}.hero-intro{font-size:var(--type-body)}.hero-actions{flex-direction:column;align-items:stretch;max-width:260px}.hero-actions .button{justify-content:space-between}.hero-focus{gap:var(--space-2) 13px;font-size:.57rem}.hero-focus span+span:before{margin-right:10px}.hero-showcase{padding:7px}.showcase-topbar{font-size:.52rem}.showcase-caption{align-items:start;font-size:.49rem}.showcase-view-link{font-size:.52rem}.hero-bottomline{padding:var(--space-3) 0 14px}.hero-bottomline .mono-label{font-size:.52rem}.section{padding:63px 0}.section-heading h2,.page-heading h1{font-size:clamp(2.55rem,12vw,4.2rem)}.section-intro{font-size:.84rem}.filter-row{padding:0 0 var(--space-2);scrollbar-width:thin;flex-wrap:nowrap;margin-right:-18px;overflow-x:auto}.filter-button{flex:none;min-height:35px;font-size:.64rem}.project-grid{grid-template-columns:1fr;gap:14px}.project-card-body{padding:15px}.project-card h3{font-size:1.23rem}.project-summary{font-size:.79rem}.project-card-bottom{flex-direction:column;align-items:start}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:145px}.stack-strip .mono-label{line-height:var(--line-height-compact)}.about-band-inner{padding-top:58px;padding-bottom:58px}.contact-band-inner{flex-direction:column;align-items:start}.contact-band h2{font-size:clamp(2.65rem,12vw,4rem)}.footer-main{gap:var(--space-8) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));padding-top:42px;padding-bottom:38px}.footer-identity{grid-column:1/-1}.footer-column h2{margin-bottom:var(--space-3)}.footer-column ul{gap:9px}.footer-column li,.footer-column a{font-size:.67rem}.footer-bottom{align-items:start;gap:var(--space-3);flex-direction:column}.footer-bottom-links{gap:10px 15px;font-size:.55rem}.page-hero{padding:53px 0 34px}.about-columns{gap:var(--space-6);grid-template-columns:1fr;padding-bottom:66px}.expertise-grid{grid-template-columns:1fr}.resume-section{padding-bottom:68px}.contact-grid{grid-template-columns:1fr;padding-bottom:70px}.contact-card{min-height:132px}.case-hero{padding:43px 0 57px}.case-back{margin-bottom:27px}.case-topline{flex-direction:column;align-items:start;gap:9px}.case-hero h1{font-size:clamp(3.1rem,14vw,5rem)}.case-summary{font-size:.95rem}.case-cover{margin-top:-28px}.case-cover img{aspect-ratio:1.55;object-fit:contain}.case-layout{padding-top:31px;padding-bottom:66px}.case-facts{gap:17px var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.case-sidebar{grid-template-columns:1fr}.case-sidebar-link{grid-column:auto}.case-gallery{grid-template-columns:1fr}.case-gallery figure:first-child:nth-last-child(3){grid-row:auto}.related-projects{padding:55px 0 65px}.related-projects .section-heading{gap:var(--space-2)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.mobile-bottom-nav[data-astro-cid-e4rjqvxj]{display:none}@media (width<=820px){body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.mobile-bottom-nav[data-astro-cid-e4rjqvxj]{z-index:40;padding:6px 10px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line-dark);color:var(--dark-muted);backdrop-filter:blur(14px);background:#111318fa;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav[data-astro-cid-e4rjqvxj] a[data-astro-cid-e4rjqvxj]{min-width:0;min-height:48px;color:inherit;transition:color var(--motion-fast) ease;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.56rem;line-height:1;display:flex;position:relative}.mobile-bottom-nav[data-astro-cid-e4rjqvxj] a[data-astro-cid-e4rjqvxj][aria-current=page]{color:var(--accent-light)}.mobile-bottom-nav[data-astro-cid-e4rjqvxj] a[data-astro-cid-e4rjqvxj][aria-current=page]:before{content:"";background:currentColor;width:21px;height:2px;position:absolute;top:-6px}.mobile-bottom-nav[data-astro-cid-e4rjqvxj] a[data-astro-cid-e4rjqvxj]:focus-visible{outline-offset:-2px}}
