@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1rz-p1o6z-sit.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.2jdm38iyutowj.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.3ez0azjih7ypa.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.2p5o-04xn4ahk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.175rzww1hghhr.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-ext-wght-normal.2j4htzlmj3gcc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-wght-normal.1zh-elm7yw814.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-symbols2-wght-normal.0j0zjzdqzpnyk.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-vietnamese-wght-normal.1t_5gnvplukf1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-ext-wght-normal.41xmsrsmrahbg.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-wght-normal.29txv0wq9-da0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#fafafa;--surface:#f0f0f1;--raised:#fff;--ink:#18181b;--ink-2:#3f3f46;--muted:#5d5d66;--line:#e4e4e7;--line-strong:#cfcfd4;--accent:#e8572a;--accent-ink:#b63c14;--good:#1d7a46;--bad:#b42318;--header-bg:#fafafadb;--radius:12px;--radius-sm:8px;--ease:cubic-bezier(.22, 1, .36, 1);--sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0c0c0e;--surface:#17171b;--raised:#131316;--ink:#f2f2f3;--ink-2:#d4d4d8;--muted:#a1a1aa;--line:#26262b;--line-strong:#3a3a41;--accent:#ff6a3d;--accent-ink:#ff8a63;--good:#4ade80;--bad:#ff8a80;--header-bg:#0c0c0ed1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0c0c0e;--surface:#17171b;--raised:#131316;--ink:#f2f2f3;--ink-2:#d4d4d8;--muted:#a1a1aa;--line:#26262b;--line-strong:#3a3a41;--accent:#ff6a3d;--accent-ink:#ff8a63;--good:#4ade80;--bad:#ff8a80;--header-bg:#0c0c0ed1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01";margin:0}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.15}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}ul,ol{margin:0;padding:0}dl,dd,figure{margin:0}table{border-collapse:collapse}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:30;background:var(--ink);color:var(--bg);border-radius:999px;padding:10px 16px;font-weight:500;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}.mono{font-family:var(--mono);font-size:.8125rem}.shell{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}main.shell{min-height:60vh}.lede,.hero-lede,.page-intro p,.case-summary{color:var(--muted);max-width:46ch;font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.5}.fine-print,.note{color:var(--muted);max-width:68ch;font-size:.875rem}.text-link{align-items:center;gap:6px;font-size:.9375rem;font-weight:500;display:inline-flex}.text-link svg{transition:transform .2s var(--ease)}.text-link:hover svg{transform:translate(3px)}.inline-link,.prose a:not(.button),.text-link-underline{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:text-decoration-color .15s}.inline-link:hover,.prose a:not(.button):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--bg);white-space:nowrap;transition:transform .12s var(--ease), background-color .15s, border-color .15s, color .15s;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.9375rem;font-weight:500;display:inline-flex}.button:hover{background:color-mix(in oklch, var(--ink) 86%, var(--bg))}.button:active{transform:scale(.97)}.button-secondary{color:var(--ink);border-color:var(--line-strong);background:0 0}.button-secondary:hover{background:var(--surface);border-color:var(--line-strong)}.icon-button{width:40px;height:40px;color:var(--ink);transition:background-color .15s, transform .12s var(--ease);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface)}.icon-button:active{transform:scale(.94)}.site-header{z-index:20;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:32px;height:64px;display:flex}.wordmark{letter-spacing:-.01em;font-size:1rem;font-weight:600}.desktop-nav{gap:28px;margin-left:auto;display:flex}.desktop-nav a{color:var(--muted);font-size:.9375rem;transition:color .15s}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--ink)}.header-actions{align-items:center;gap:4px;display:flex}.menu-toggle{display:none}.theme-toggle{position:relative}.theme-toggle svg{transition:opacity .2s var(--ease), transform .2s var(--ease), filter .2s var(--ease);position:absolute}.theme-sun,:root[data-theme=dark] .theme-moon{opacity:0;filter:blur(3px);transform:scale(.7)}:root[data-theme=dark] .theme-sun{opacity:1;filter:none;transform:none}.site-header:has(.mobile-nav){background:var(--bg);-webkit-backdrop-filter:none;box-shadow:0 24px 48px -24px #0000002e}.mobile-nav{animation:drop-in .2s var(--ease);flex-direction:column;padding-bottom:16px;display:flex}.mobile-nav a{letter-spacing:-.02em;border-top:1px solid var(--line);color:var(--muted);padding:14px 0;font-size:1.375rem;font-weight:600}.mobile-nav a[aria-current=page]{color:var(--ink)}@media (max-width:760px){.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:inline-grid}}.page-intro{gap:16px;padding-block:clamp(56px,9vw,96px) 40px;display:grid}.page-intro h1{letter-spacing:-.04em;font-size:clamp(2.5rem,6vw,4rem);line-height:1.02}.page-intro .actions{margin-top:12px}.section{padding-block:clamp(48px,7vw,80px) 0}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.section-heading h2{font-size:clamp(1.375rem,2.2vw,1.625rem)}.hero{padding-block:clamp(56px,9vw,96px) clamp(8px,2vw,16px)}.hero h1{letter-spacing:-.055em;font-size:clamp(3rem,8.5vw,6.5rem);line-height:.95}.hero-copy{gap:20px;display:grid}.hero-lede{max-width:34ch;color:var(--ink-2)}.hero .actions{margin-top:8px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,48px) clamp(20px,3vw,32px);display:grid}.card-link{display:block}.cover{aspect-ratio:16/10;border-radius:var(--radius);background:var(--surface);display:block;position:relative;overflow:hidden}.cover:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000f}:root[data-theme=dark] .cover:after{box-shadow:inset 0 0 0 1px #ffffff0f}.cover>img{object-fit:cover;object-position:top center}.cover>img,.cover .capture-viewport{transition:transform .6s var(--ease)}.card-link:hover .cover>img,.card-link:hover .cover .capture-viewport{transform:scale(1.025)}.card-text{gap:2px;margin-top:14px;display:grid}.card-title{letter-spacing:-.01em;align-items:center;gap:6px;font-size:1.0625rem;font-weight:600;display:inline-flex}.card-title svg{color:var(--muted);transition:transform .2s var(--ease), color .2s}.card-link:hover .card-title svg{color:var(--ink);transform:translate(2px,-2px)}.card-meta{color:var(--muted);font-size:.9375rem}.card-grid+.fine-print{margin-top:40px}@media (max-width:760px){.card-grid{grid-template-columns:1fr}}.capture-viewport{display:block;position:absolute;inset:0;overflow:hidden;container-type:size}.capture-crop{width:max(100cqw, calc(100cqh * var(--capture-ratio)));height:max(100cqh, calc(100cqw / var(--capture-ratio)));display:block;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.capture-contain .capture-crop{width:min(100cqw, calc(100cqh * var(--capture-ratio)));height:min(100cqh, calc(100cqw / var(--capture-ratio)))}.capture-crop img{object-fit:fill}.cover .capture-crop{top:0;transform:translate(-50%)}.product-list{border-bottom:1px solid var(--line);list-style:none}.product-list li{border-top:1px solid var(--line)}.product-row{grid-template-columns:120px 180px minmax(0,1fr) 24px;align-items:center;gap:24px;padding-block:16px;display:grid}.product-row .cover{border-radius:var(--radius-sm)}.product-name{letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}.product-summary{color:var(--muted);max-width:60ch;font-size:.9375rem}.product-row>svg{color:var(--muted);transition:transform .2s var(--ease), color .2s}.product-row:hover>svg{color:var(--ink);transform:translate(2px,-2px)}@media (max-width:760px){.product-row{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:4px 16px}.product-row .cover{grid-row:span 2}.product-row>svg{display:none}}.timeline{border-bottom:1px solid var(--line);list-style:none}.timeline li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 7rem;gap:24px;padding-block:14px;display:grid}.timeline-company{font-weight:500}.timeline-role{color:var(--muted)}.timeline-dates{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.9375rem}@media (max-width:640px){.timeline li{grid-template-columns:minmax(0,1fr) 6rem;gap:0 16px}.timeline-role{grid-row:2}}.filters,.preview-modes{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.filters button,.preview-modes button{border:1px solid var(--line-strong);min-height:36px;color:var(--muted);background:0 0;border-radius:999px;padding:0 16px;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s,border-color .15s}.filters button:hover,.preview-modes button:hover{color:var(--ink)}.filters button[aria-pressed=true],.preview-modes button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.preview-modes{margin-bottom:0}.back-link{color:var(--muted);align-items:center;gap:6px;margin-top:32px;font-size:.9375rem;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--ink)}.case-header{gap:16px;padding-block:32px 40px;display:grid}.case-client{color:var(--muted);font-size:.9375rem}.case-header h1{letter-spacing:-.045em;max-width:18ch;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.02}.case-summary{max-width:52ch}.case-facts{border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr;gap:24px 32px;padding-block:20px 40px;display:grid}.case-facts dt{color:var(--muted);margin-bottom:6px;font-size:.8125rem}.case-facts dd{color:var(--ink-2);font-size:.9375rem}.case-related{color:var(--muted);margin-top:16px;font-size:.9375rem}.case-related a{color:var(--ink)}@media (max-width:760px){.case-facts{grid-template-columns:1fr}}.preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.preview-links{flex-wrap:wrap;gap:10px;display:flex}.preview-note{color:var(--muted);font-size:.875rem}.live-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.live-preview-bar{border-bottom:1px solid var(--line);color:var(--muted);font-size:.8125rem;font-family:var(--mono);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 16px;display:flex}.live-preview-bar button{background:0 0;border:0;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.live-preview-bar button:hover{background:var(--bg)}.live-preview iframe{background:#fff;border:0;width:100%;height:clamp(520px,75dvh,840px);display:block}.live-preview>.preview-note{border-top:1px solid var(--line);padding:12px 16px}.showcase-screen{border-radius:var(--radius);background:var(--surface);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.showcase-screen.showcase-portrait{width:min(100%,360px);margin-inline:auto}.showcase-screen video,.lightbox-image video{object-fit:contain;width:100%;height:100%;display:block}.showcase-expand{background:var(--bg);width:40px;height:40px;color:var(--ink);opacity:0;transition:opacity .2s var(--ease), transform .2s var(--ease);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:12px;right:12px;transform:translateY(4px)}.showcase-screen:hover .showcase-expand,.showcase-screen:focus-visible .showcase-expand{opacity:1;transform:none}.showcase-caption{margin-top:12px}.showcase-caption p{color:var(--muted);font-size:.875rem}.showcase-thumbnails{scrollbar-width:thin;gap:10px;margin-top:16px;padding:4px;display:flex;overflow-x:auto}.showcase-thumbnails button{border-radius:var(--radius-sm);background:var(--surface);opacity:.55;border:0;flex-shrink:0;width:112px;height:70px;padding:0;transition:opacity .15s;position:relative;overflow:hidden}.showcase-thumbnails button:hover{opacity:.85}.showcase-thumbnails button[aria-pressed=true]{opacity:1;outline:2px solid var(--ink);outline-offset:2px}.thumb-badge{background:var(--bg);border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:500;position:absolute;bottom:6px;left:6px}.media-lightbox{width:min(1400px, calc(72dvh * var(--viewer-ratio) + 32px));border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);max-width:96vw;max-height:94dvh;color:var(--ink);padding:16px}.media-lightbox.media-lightbox-portrait{width:min(94vw, calc(66dvh * var(--viewer-ratio) + 32px))}.media-lightbox::backdrop{background:#08080ac7}.media-lightbox[open]{animation:lightbox-in .22s var(--ease)}.lightbox-toolbar,.lightbox-bottom{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:.875rem;display:flex}.lightbox-toolbar button,.lightbox-bottom button{border:1px solid var(--line);min-width:40px;min-height:40px;color:var(--ink);background:0 0;border-radius:999px;place-items:center;display:grid}.lightbox-image{width:100%;aspect-ratio:var(--viewer-ratio);border-radius:var(--radius-sm);margin:12px 0;position:relative;overflow:hidden}.lightbox-bottom p{text-align:center}.prose{max-width:68ch}.case-study .prose{margin-top:clamp(48px,7vw,72px)}.prose section+section{margin-top:48px}.prose h2{margin-bottom:14px;font-size:1.375rem}.prose h3{margin-bottom:6px;font-size:1.0625rem}.prose p+p{margin-top:12px}.prose p{color:var(--ink-2)}.prose .fine-print{color:var(--muted)}.prose ul{color:var(--ink-2);gap:10px;padding-left:1.1em;display:grid}.prose li::marker{color:var(--muted)}.prose .actions{margin-top:24px}.narrow{max-width:720px;padding-bottom:24px}.narrow h2{margin-top:40px}.decision{margin-top:24px}.story{gap:24px;margin-bottom:32px;display:grid}.flow{border-radius:var(--radius);background:var(--surface);padding:20px}.flow figcaption{margin-bottom:16px;font-weight:600}.flow ol{counter-reset:step;gap:14px;list-style:none;display:grid}.flow li{counter-increment:step;grid-template-columns:24px 1fr;gap:2px 12px;display:grid}.flow li:before{content:counter(step);font-family:var(--mono);color:var(--muted);grid-row:span 2;font-size:.8125rem;line-height:1.6}.flow li strong{font-weight:500}.flow li span{color:var(--muted);font-size:.9375rem}.story-notes{gap:20px;display:grid}.story-notes dt{margin-bottom:4px;font-weight:600}.story-notes dd{color:var(--ink-2)}.next-project{border-top:1px solid var(--line);gap:4px;margin-top:clamp(64px,9vw,96px);padding-top:28px;display:grid}.next-project span{color:var(--muted);font-size:.9375rem}.next-project strong{letter-spacing:-.035em;align-items:center;gap:12px;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;display:inline-flex}.next-project svg{transition:transform .25s var(--ease)}.next-project:hover svg{transform:translate(6px)}.about-hero{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,72px);padding-block:clamp(56px,9vw,96px) 8px;display:grid}.about-portrait{aspect-ratio:1;border-radius:var(--radius);background:var(--surface);width:200px;height:auto}.about-hero>div{gap:16px;max-width:62ch;display:grid}.about-hero h1{letter-spacing:-.04em;margin-bottom:4px;font-size:clamp(2.5rem,6vw,4rem);line-height:1.02}.about-hero .lede{max-width:none;color:var(--ink-2)}.about-hero>div>p:not(.lede){color:var(--muted)}.about-hero .actions{margin-top:8px}.about-links{color:var(--muted);flex-wrap:wrap;gap:8px 24px;font-size:.9375rem;list-style:none;display:flex}.about-links a{align-items:center;gap:4px;transition:color .15s;display:inline-flex}.about-links a:hover{color:var(--ink)}.positions{border-bottom:1px solid var(--line)}.position{border-top:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);gap:8px 32px;padding-block:28px;display:grid}.position-dates{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.position h3{font-size:1.125rem}.position-role{color:var(--muted);margin-top:2px}.position ul{color:var(--ink-2);gap:8px;max-width:70ch;margin-top:14px;padding-left:1.1em;font-size:.9375rem;display:grid}.position li::marker{color:var(--muted)}.earlier-heading{color:var(--muted);letter-spacing:0;margin:40px 0 12px;font-size:.9375rem;font-weight:500}.skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;display:grid}.skills dt{margin-bottom:4px;font-weight:600}.skills dd{color:var(--muted);font-size:.9375rem}@media (max-width:760px){.about-hero{grid-template-columns:1fr}.about-portrait{width:112px}.position,.skills{grid-template-columns:1fr}}.try-work-screen{border-radius:var(--radius);background:var(--surface);position:relative;overflow:hidden}.try-work-screen>.capture-viewport{animation:fade-in .3s var(--ease)}.try-work-screen iframe{background:#fff;border:0;width:100%;height:100%;display:block}.try-work-preview.is-live .try-work-screen{height:clamp(560px,75dvh,820px)}.try-work-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.try-work-controls p{color:var(--muted)}.try-work-controls strong{color:var(--ink);font-weight:600}.guide-section{gap:24px;display:grid}.guide-intro{gap:8px;display:grid}.guide-intro h2{font-size:clamp(1.375rem,2.2vw,1.625rem)}.guide-intro p{color:var(--muted);max-width:56ch}.guide-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:48px;display:grid}.guide-side{color:var(--muted);gap:12px;font-size:.9375rem;display:grid}.guide-side .text-link{color:var(--ink)}@media (max-width:960px){.guide-layout{grid-template-columns:1fr}}.guide-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--raised);max-width:860px;overflow:hidden}.guide-panel-top{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:12px 20px;font-size:.875rem;font-weight:500;display:flex}.guide-conversation{gap:16px;padding:24px 20px;display:grid}.guide-welcome{gap:6px;display:grid}.guide-welcome h2{font-size:1.25rem}.guide-welcome p{color:var(--muted);font-size:.9375rem}.suggestions{flex-wrap:wrap;gap:8px;display:flex}.suggestion{border:1px solid var(--line-strong);text-align:left;background:0 0;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-size:.875rem;transition:background-color .15s;display:inline-flex}.suggestion:hover{background:var(--surface)}.suggestion svg{color:var(--muted)}.question-bubble{border-radius:var(--radius);background:var(--surface);justify-self:end;max-width:80%;padding:10px 16px}.loading-row{color:var(--muted);align-items:center;gap:8px;font-size:.9375rem;display:flex}.loading-row svg{animation:1s linear infinite spin}.state-notice{color:var(--muted);font-size:.875rem}.error-notice{color:var(--bad);font-size:.9375rem}.answer-intro{margin-block:8px;font-size:1.0625rem}.answer-evidence{display:grid}.answer-evidence article{border-top:1px solid var(--line);gap:8px;padding-block:14px;display:grid}.answer-evidence p{color:var(--ink-2);font-size:.9375rem}.source-chip{color:var(--muted);font-size:.75rem;font-family:var(--mono);justify-self:start;align-items:center;gap:4px;display:inline-flex}.source-chip:hover{color:var(--ink)}.answer-actions{flex-wrap:wrap;gap:8px 20px;padding-top:8px;font-size:.9375rem;font-weight:500;display:flex}.guide-reset{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-size:.875rem;text-decoration:underline}.guide-form{border-top:1px solid var(--line);gap:10px;padding:16px 20px 20px;display:grid}.guide-input-wrap{align-items:flex-end;gap:8px;display:flex}.guide-input-wrap textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:52px;color:var(--ink);flex:1;padding:12px 14px;line-height:1.5}.guide-input-wrap textarea::placeholder{color:var(--muted)}.guide-input-wrap .button{flex-shrink:0;width:48px;min-height:48px;padding:0}.answer-projects{gap:12px;margin-top:8px;display:grid}.answer-projects h3{font-size:1rem}.answer-project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.answer-project-card{gap:4px;display:grid}.answer-project-image{border-radius:var(--radius-sm);background:var(--surface);width:100%;max-height:200px;margin-bottom:6px;display:block;position:relative;overflow:hidden}.answer-project-title{align-items:center;gap:6px;font-weight:600;display:inline-flex}.answer-project-category{color:var(--muted);font-size:.875rem}.technical-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(56px,8vw,88px)}.technical-details>summary,.accordion summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding-block:20px;list-style:none;display:flex}.technical-details>summary::-webkit-details-marker{display:none}.accordion summary::-webkit-details-marker{display:none}.technical-details>summary h2{font-size:1.125rem}.technical-details>summary p{color:var(--muted);margin-top:2px;font-size:.9375rem}.details-icon{flex-shrink:0;width:14px;height:14px;position:relative}.details-icon:before,.details-icon:after{content:"";width:14px;height:2px;transition:transform .2s var(--ease);background:currentColor;border-radius:2px;position:absolute;top:6px;left:0}.details-icon:after{transform:rotate(90deg)}details[open]>summary .details-icon:after{transform:rotate(0)}.lab-spacer{max-width:980px;padding-bottom:40px}.lab-spacer h2{margin-bottom:12px;font-size:1.25rem}.lab-spacer h3{margin:20px 0 8px;font-size:1rem}.lab-method-intro{color:var(--muted);max-width:68ch;margin-bottom:16px}.architecture{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-block:16px;display:grid}.architecture>div{border-radius:var(--radius-sm);background:var(--surface);padding:16px}.architecture h3{margin:0 0 4px;font-size:.9375rem}.architecture p{color:var(--muted);font-size:.875rem}.test-results{width:100%;margin-block:16px;font-size:.875rem}.test-results th,.test-results td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px 10px 0}.test-results thead th{color:var(--muted);font-weight:500}.test-results tbody th{font-weight:500;font-family:var(--mono);white-space:nowrap;font-size:.8125rem}.test-results td{color:var(--ink-2)}.test-results .passed{color:var(--good);font-weight:500}.test-results .failed{color:var(--bad);font-weight:500}.evaluation-history{color:var(--muted);margin-top:12px;font-size:.875rem}.evaluation-history summary{cursor:pointer;color:var(--ink);font-weight:500}.evaluation-history p,.evaluation-history ul{margin-top:10px}.evaluation-history ul{gap:6px;padding-left:1.1em;display:grid}.paired-code{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.code-block{border-radius:var(--radius-sm);background:var(--surface);max-height:420px;font:.75rem/1.6 var(--mono);white-space:pre;margin:0;padding:16px;overflow:auto}@media (max-width:640px){.test-results{display:block;overflow-x:auto}}.accordion{border-bottom:1px solid var(--line)}.accordion details{border-top:1px solid var(--line)}.accordion summary h3{font-size:1.125rem}.accordion-body{gap:14px;max-width:68ch;padding-bottom:28px;display:grid}.accordion-body>p:first-child{color:var(--ink-2)}.example{border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);padding:16px;font-size:.9375rem}.example strong{color:var(--ink);font-weight:600}.contact-list{border-bottom:1px solid var(--line);list-style:none}.contact-list li{border-top:1px solid var(--line)}.contact-list a{grid-template-columns:140px minmax(0,1fr) 24px;align-items:center;gap:16px;padding-block:22px;display:grid}.contact-list span{color:var(--muted);font-size:.9375rem}.contact-list strong{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500}.contact-list svg{color:var(--muted);transition:transform .2s var(--ease), color .2s}.contact-list a:hover svg{color:var(--ink);transform:translate(2px,-2px)}@media (max-width:640px){.contact-list a{grid-template-columns:minmax(0,1fr) 24px;gap:2px 12px}.contact-list span{grid-column:1/-1}}.record-list{border-bottom:1px solid var(--line);max-width:900px;margin-top:40px;display:grid}.record-item{border-top:1px solid var(--line);gap:8px;padding-block:18px;display:grid}.record-id{font-family:var(--mono);color:var(--muted);font-size:.75rem}.record-item p{color:var(--ink-2)}.record-source{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:.8125rem;display:flex}.record-source a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.document-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--raised);gap:14px;padding:28px;display:grid}.form-field{gap:6px;display:grid}.form-field label{font-size:.875rem;font-weight:500}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:44px;color:var(--ink);padding:10px 12px}.studio-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:24px;display:grid}.studio-list{gap:12px;list-style:none;display:grid}.studio-card{border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:18px;display:grid}.status-pill{background:var(--surface);border-radius:999px;justify-self:start;padding:2px 10px;font-size:.75rem;font-weight:500}.empty-state{color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:24px}.inline-buttons,.download-row{flex-wrap:wrap;gap:10px;display:flex}.site-footer{border-top:1px solid var(--line);margin-top:clamp(72px,10vw,112px);padding-block:clamp(48px,7vw,72px) 28px}.footer-cta{gap:16px;display:grid}.footer-cta h2{letter-spacing:-.03em;color:var(--muted);font-size:clamp(1.5rem,3vw,2rem);font-weight:500}.footer-email{letter-spacing:-.045em;overflow-wrap:anywhere;justify-self:start;align-items:center;gap:10px;font-size:clamp(1.75rem,5vw,3.25rem);font-weight:600;line-height:1.1;display:inline-flex}.footer-email svg{color:var(--accent);transition:transform .25s var(--ease);flex-shrink:0}.footer-email:hover svg{transform:translate(3px,-3px)}.footer-bottom{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(48px,7vw,72px);font-size:.875rem;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:8px 20px;display:flex}.footer-bottom a{transition:color .15s}.footer-bottom a:hover{color:var(--ink)}@keyframes enter{0%{opacity:0;filter:blur(4px);transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0}}@keyframes drop-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes lightbox-in{0%{opacity:0;transform:scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}.enter{animation:enter .7s var(--ease) both;animation-delay:calc(var(--i,0) * 80ms)}.reveal-ready{opacity:0;filter:blur(4px);transition:opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease);transform:translateY(12px)}.reveal-ready.has-entered{opacity:1;filter:none;transform:none}.card-grid>.reveal-ready:nth-child(2n){transition-delay:80ms}.product-list>.reveal-ready:nth-child(2){transition-delay:60ms}.product-list>.reveal-ready:nth-child(3){transition-delay:.12s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-ready{opacity:1;filter:none;transform:none}}@media print{.site-header,.site-footer,.skip-link,.actions,.filters{display:none}body{color:#000;background:#fff}}
