.ds{max-width:1100px;margin-inline:auto;padding:var(--space-16) var(--pad) var(--space-24);color:var(--color-fg)}.ds code{font-family:var(--font-mono)}.ds-header{margin-bottom:var(--space-20)}.ds-eyebrow{font-family:var(--font-mono);font-size:var(--text-12);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}.ds-title{font-family:var(--font-sans);font-weight:var(--fw-black);text-transform:uppercase;font-size:var(--text-hero);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter)}.ds-lead{margin-top:var(--space-6);max-width:60ch;color:var(--color-muted);font-size:var(--text-16)}.ds-lead code{color:var(--color-fg)}.ds-section{padding-top:var(--space-12);margin-top:var(--space-12);border-top:var(--border)}.ds-h2{font-family:var(--font-sans);font-weight:var(--fw-black);text-transform:uppercase;font-size:var(--text-h2);letter-spacing:var(--tracking-tight);line-height:1;margin-bottom:var(--space-10)}.ds-h2-idx{font-family:var(--font-mono);font-size:var(--text-16);color:var(--color-accent);vertical-align:super;margin-right:var(--space-2)}.ds-h3{font-family:var(--font-mono);font-size:var(--text-12);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-muted);margin:var(--space-10) 0 var(--space-6)}.ds-token{font-size:var(--text-12);color:var(--color-fg)}.ds-val{font-family:var(--font-mono);font-size:var(--text-12);color:var(--color-muted)}.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-6)}.ds-swatch{display:flex;flex-direction:column;gap:var(--space-2);border:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-1)}.ds-swatch-chip{height:72px;border-radius:var(--radius-sm);border:var(--border-subtle);background-image:linear-gradient(45deg,#2a2a2e 25%,transparent 25%),linear-gradient(-45deg,#2a2a2e 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a2e 75%),linear-gradient(-45deg,transparent 75%,#2a2a2e 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.ds-stack{display:flex;flex-direction:column;gap:var(--space-6)}.ds-font-row,.ds-type-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);border-bottom:var(--border-subtle);padding-bottom:var(--space-4)}.ds-font-sample{font-size:clamp(1.4rem,4vw,2.4rem)}.ds-type-sample{font-weight:var(--fw-black);line-height:1}.ds-font-meta{display:flex;flex-direction:column;gap:var(--space-1);text-align:right;flex-shrink:0}.ds-weights{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-6)}.ds-weight{font-size:1.6rem;border:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-bg-1);display:flex;flex-direction:column;gap:var(--space-2)}.ds-weight code{font-weight:var(--fw-regular);color:var(--color-muted)}.ds-twocol{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.ds-line{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;padding:var(--space-3) 0;border-bottom:var(--border-subtle)}.ds-mono-up{font-family:var(--font-mono);font-size:var(--text-12)}.ds-leading{padding:var(--space-3) 0;border-bottom:var(--border-subtle)}.ds-leading p{color:var(--color-muted);max-width:34ch;margin-bottom:var(--space-1)}.ds-space-row{display:flex;align-items:center;gap:var(--space-4)}.ds-space-bar{height:18px;background:var(--color-fg);border-radius:var(--radius-sm);flex-shrink:0}.ds-space-bar--accent{background:var(--color-accent);height:22px}.ds-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-6)}.ds-box-item{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.ds-box{width:100%;height:90px;background:var(--color-bg-2);border:var(--border)}.ds-box--light{background:var(--color-bg-1);border:none}.ds-kv{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border-subtle)}.ds-footer{margin-top:var(--space-20);padding-top:var(--space-8);border-top:var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-12);color:var(--color-muted)}.ds-footer a{color:var(--color-accent)}@media (max-width: 760px){.ds-twocol{grid-template-columns:1fr;gap:var(--space-8)}}:root{--color-bg: #0c0c0d;--color-bg-1: #111113;--color-bg-2: #161618;--color-fg: #f3f1ec;--color-body: #c2c0ba;--color-muted: #8c8c89;--color-muted-2: #7e7e7b;--color-accent: #5b8cff;--color-accent-ink: #0a0c14;--color-line: rgba(243, 241, 236, .12);--color-line-2: rgba(243, 241, 236, .06);--bg: var(--color-bg);--bg-1: var(--color-bg-1);--bg-2: var(--color-bg-2);--fg: var(--color-fg);--body: var(--color-body);--muted: var(--color-muted);--muted-2: var(--color-muted-2);--line: var(--color-line);--line-2: var(--color-line-2);--accent: var(--color-accent);--accent-ink: var(--color-accent-ink);--font-display: "Space Grotesk", "Archivo", sans-serif;--font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-serif: "Instrument Serif", Georgia, serif;--display: var(--font-display);--serif: var(--font-serif);--sans: var(--font-sans);--mono: var(--font-mono);--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--fw-heavy: 900;--text-12: 12px;--text-14: 14px;--text-16: 16px;--text-24: 24px;--text-32: 32px;--text-40: 40px;--text-48: 48px;--text-56: 56px;--text-64: 64px;--text-72: 72px;--text-80: 80px;--text-96: 96px;--text-base: var(--text-16);--text-hero: clamp(var(--text-40), 6vw, var(--text-96));--text-display: clamp(var(--text-24), 4.5vw, var(--text-64));--text-h2: clamp(var(--text-32), 5.2vw, var(--text-72));--text-statement: clamp(var(--text-24), 3.2vw, var(--text-48));--text-title: clamp(var(--text-24), 2.4vw, var(--text-32));--text-marquee: clamp(var(--text-12), 1.2vw, var(--text-16));--leading-tight: .9;--leading-snug: 1.18;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-tighter: -.025em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .1em;--tracking-wider: .14em;--tracking-widest: .18em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-18: 72px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--pad: clamp(20px, 4.5vw, 84px);--section-py: clamp(80px, 11vw, 180px);--gap-grid: clamp(18px, 2.4vw, 40px);--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--radius-pill: 100px;--radius-full: 9999px;--border-width: 1px;--border: var(--border-width) solid var(--color-line);--border-subtle: var(--border-width) solid var(--color-line-2);--border-strong: var(--border-width) solid var(--color-fg);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .45);--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .2s;--dur: .4s;--dur-slow: .7s;--z-base: 1;--z-card: 3;--z-nav: 8000;--z-grain: 9000;--maxw: 1600px;--nav-h: 74px}@media (min-width: 2000px){:root{--text-12: 13px;--text-14: 15px;--text-16: 17px;--text-24: 26px;--text-32: 34px;--text-40: 44px;--text-48: 52px;--text-56: 60px;--text-64: 68px;--text-72: 76px;--text-80: 84px;--text-96: 100px;--maxw: 1760px}}@media (min-width: 2560px){:root{--text-12: 14px;--text-14: 16px;--text-16: 18px;--text-24: 28px;--text-32: 36px;--text-40: 46px;--text-48: 56px;--text-56: 64px;--text-64: 72px;--text-72: 82px;--text-80: 92px;--text-96: 112px;--maxw: 1920px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--text-base);line-height:var(--leading-normal);overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}.serif-it{font-style:normal}.accent{color:var(--accent)}.nav{position:fixed;top:0;left:0;right:0;z-index:8000;display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--pad);mix-blend-mode:difference;transition:padding .4s var(--ease)}.nav.scrolled{padding-top:var(--space-4);padding-bottom:var(--space-4);mix-blend-mode:normal;background:#000;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand .mark{width:26px;height:26px;border:1.5px solid var(--fg);display:grid;place-items:center;transform:rotate(45deg)}.brand .mark span{transform:rotate(-45deg);font-family:var(--mono);font-size:var(--text-12);font-weight:700;letter-spacing:0}.brand b{font-weight:800;letter-spacing:.18em;font-size:var(--text-16);text-transform:uppercase}.nav-links{display:flex;gap:var(--space-10)}.nav-links a{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;position:relative;padding:var(--space-1) 0}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .4s var(--ease)}.nav-links a:hover:after{width:100%}.nav-cta{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:100px;color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg);background-image:linear-gradient(var(--fg),var(--fg));background-repeat:no-repeat;background-position:left center;background-size:0% 100%;transition:background-size .45s var(--ease),color .4s var(--ease)}.nav-cta .arrow{position:relative;top:-1px}.nav-cta:hover{color:var(--bg);background-size:100% 100%}.nav-burger{display:none;background:none;border:none}.nav-mobile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7900;background:#000;display:flex;flex-direction:column;justify-content:center;padding:var(--nav-h) var(--pad) var(--space-16);animation:modal-fade var(--dur) var(--ease)}.nav-mobile__links{display:flex;flex-direction:column;gap:var(--space-6)}.nav-mobile__links a{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(var(--text-32),11vw,var(--text-56));letter-spacing:-.02em;line-height:.95}@media (max-width: 1040px){.nav-links,.nav-cta{display:none}.nav-burger{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);width:30px;height:18px;cursor:pointer;padding:0}.nav-burger span{height:1.5px;background:var(--fg);width:100%;transition:transform .35s var(--ease)}.nav--open .nav-burger span:first-child{transform:translateY(2.75px) rotate(45deg)}.nav--open .nav-burger span:last-child{transform:translateY(-2.75px) rotate(-45deg)}}@media (min-width: 1041px){.nav-mobile{display:none}}.section{padding:0 var(--pad) var(--space-12);position:relative}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--space-12);margin-bottom:var(--space-12)}.section-head h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:var(--text-h2);line-height:.92;letter-spacing:-.02em}.section-idx{font-family:var(--mono);font-size:var(--text-16);color:var(--muted)}.ph{position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 1px,transparent 1px 13px),linear-gradient(160deg,#18181b,#0f0f11);display:grid;place-items:center}.ph:before,.ph:after{content:"";position:absolute;width:14px;height:14px;opacity:.5}.ph:before{top:14px;left:14px;border-top:1px solid var(--muted);border-left:1px solid var(--muted)}.ph:after{bottom:14px;right:14px;border-bottom:1px solid var(--muted);border-right:1px solid var(--muted)}.ph .ph-label{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;padding:0 var(--space-6)}.ph img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-4);background:var(--accent);color:var(--accent-ink);white-space:nowrap;font-family:var(--sans);font-weight:700;font-size:var(--text-16);line-height:24px;height:56px;box-sizing:border-box;padding:var(--space-4) var(--space-6);border:1px solid transparent;border-radius:32px;cursor:pointer;transition:transform .4s var(--ease),background .3s var(--ease)}.arrow{width:14px;height:14px;flex:none}.btn .arrow{transition:transform .4s var(--ease)}.btn:not(.btn-ghost) .arrow{position:relative;top:-1px}.btn:hover{transform:translateY(-2px)}.btn:hover .arrow{transform:translate(4px)}.card__bar .go,.to-top span{-webkit-text-stroke:.5px currentColor}.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--line);border-radius:32px}.btn-ghost:hover{border-color:var(--fg)}.btn-ghost:hover .arrow{transform:translateY(4px)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.marquee__track{animation:none!important}}.hero{min-height:100svh;display:flex;padding-top:var(--nav-h)}.hero__body{flex:1;padding:var(--space-12) var(--pad) clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-10)}.hero__idx{display:flex;justify-content:space-between;align-items:center}.hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:var(--text-hero);line-height:.9;letter-spacing:-.025em}.hero__lead{display:flex;flex-direction:column;gap:var(--space-8)}.hero__lead .btn{align-self:flex-start}.hero__sub{max-width:46ch;color:var(--body);font-size:var(--text-16)}.hero__sub strong{color:var(--fg);font-weight:600}.hero__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:100px;padding:var(--space-2) var(--space-4);color:var(--muted);transition:border-color .3s var(--ease),color .3s var(--ease)}.chip:hover{border-color:var(--fg);color:var(--fg)}#about{padding-top:var(--space-12)}#about .section-head{border-top:none;padding-top:0;margin-bottom:var(--space-6)}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:var(--space-2) 0;white-space:nowrap}.marquee__track{display:inline-flex;gap:0;animation:scrollx 28s linear infinite}.marquee__track:hover{animation-play-state:paused}.marquee span{font-weight:800;text-transform:uppercase;font-size:var(--text-marquee);letter-spacing:-.01em;padding:0 var(--space-8);display:inline-flex;align-items:center;gap:var(--space-8)}.marquee .dot{color:var(--accent)}.marquee .o{color:var(--muted)}@keyframes scrollx{to{transform:translate(-50%)}}.about-grid{display:block;--about-aside: clamp(150px, 15vw, 190px)}.about-top{display:grid;grid-template-columns:1fr var(--about-aside);gap:clamp(24px,4vw,64px);align-items:stretch}.about-portrait{margin:0;justify-self:end;align-self:stretch;position:relative;width:100%;min-height:0}.about-portrait img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0 12px 28px rgba(0,0,0,.35))}.about-portrait__ph{display:grid;place-items:center;width:100%;aspect-ratio:3 / 4;border:1px dashed var(--line);border-radius:8px;font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.about-statement{font-size:var(--text-statement);line-height:1.18;font-weight:500;letter-spacing:-.01em;text-wrap:pretty}.about-statement .serif-it{color:var(--fg)}.about-statement em{color:var(--accent);font-style:normal}.about-cols{display:grid;gap:clamp(28px,4vw,56px);margin-top:var(--space-6);grid-template-columns:1fr var(--about-aside);border-top:1px solid var(--line);padding-top:var(--space-8)}.about-cols__main{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:repeat(2,1fr)}.about-cols p{color:var(--body);font-size:var(--text-16)}.about-cols h4{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-3);color:var(--fg)}.about-meta{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)!important}.about-details{text-align:left}.about-details .about-meta{align-items:flex-start}@media (max-width: 900px){.about-cols,.about-cols__main{grid-template-columns:1fr}.about-top{grid-template-columns:1fr;justify-items:center;gap:clamp(20px,6vw,40px)}.about-portrait{justify-self:center;order:-1;width:min(240px,62vw);align-self:auto;aspect-ratio:951 / 1232}}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-grid)}.card{position:relative;overflow:hidden;cursor:pointer;background:var(--bg-1);border:1px solid var(--line-2)}.card__media{position:relative;aspect-ratio:16 / 11;overflow:hidden}.card__media .ph{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .7s var(--ease)}.card:hover .card__media .ph{transform:scale(1.06)}.card__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(8,8,9,.85),transparent 55%);opacity:0;transition:opacity .5s var(--ease)}.card:hover .card__media:after{opacity:1}.card__media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:#000;opacity:0;transition:opacity .5s var(--ease)}.card:hover .card__media:before{opacity:.2}.card__top{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-4) var(--space-6)}.card__top .idx{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.1em;color:var(--muted)}.card__top .cat{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);border:1px solid rgba(243,241,236,.22);border-radius:100px;padding:var(--space-1) var(--space-3);background:#0c0c0da8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card__tags{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.card__status{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:100px;padding:var(--space-1) var(--space-3);background:#0c0c0da8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card__status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:card-pulse 2.4s var(--ease) infinite}@keyframes card-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 5px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.card__status:before{animation:none}}.card__tldr{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:var(--space-6);transform:translateY(100%);transition:transform .55s var(--ease);border-top:2px solid var(--accent);background:linear-gradient(to top,#0a0a0bf5,#0a0a0bdb);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card:hover .card__tldr,.card.show-tldr .card__tldr{transform:translateY(0)}.card__tldr .tl{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-3)}.card__tldr p{font-size:var(--text-16);line-height:1.4;color:var(--fg);text-wrap:pretty}.card__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);border-top:1px solid var(--line-2)}.card__bar h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:var(--text-title);letter-spacing:-.01em}.card__bar .yr{font-family:var(--mono);font-size:var(--text-12);color:var(--muted)}.card__bar .go{width:38px;height:38px;border:1px solid var(--line);border-radius:100px;display:grid;place-items:center;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s}.card:hover .card__bar .go{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.card.is-soon{opacity:.5;cursor:default}.card.is-soon:hover .card__media .ph{transform:none}.card.is-soon:hover .card__media:after{opacity:0}.card.is-soon:hover .card__media:before{opacity:0}.card.is-soon .card__top .cat{border-color:var(--line);color:var(--muted)}@media (max-width: 820px){.work-grid{grid-template-columns:1fr}.card__tldr{transform:translateY(0)}.card__media:after{opacity:1}}.skills-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,6vw,90px)}.skill-list{display:grid;gap:0;border-top:1px solid var(--line)}.skill-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-6) var(--space-1);border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease),color .4s var(--ease)}.skill-row:hover{padding-left:var(--space-4)}.skill-row .n{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:var(--text-title);letter-spacing:-.01em}.skill-row:hover .n{color:var(--accent)}.skill-row .d{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right;max-width:32ch}.tools-box{border:1px solid var(--line);padding:var(--space-8);align-self:start}.tools-box h4{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-6)}.tool-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tool-tags span{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.04em;border:1px solid var(--line);border-radius:100px;padding:var(--space-2) var(--space-4);color:var(--fg);transition:background .3s,color .3s}.tool-tags span:hover{background:var(--fg);color:var(--bg)}@media (max-width: 900px){.skills-grid{grid-template-columns:1fr}}.contact{text-align:left}#contact .section-head{margin-bottom:var(--space-6)}#contact .section-head h2{font-size:var(--text-16)}.contact__big{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.025em;font-size:var(--text-display);line-height:.86}.contact__row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-10);flex-wrap:wrap;margin-top:clamp(40px,6vw,80px)}.contact__links{display:grid;gap:var(--space-4)}.contact__links a{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-16)}.contact__links a .mono{color:var(--muted)}.contact__links a:hover .lbl{color:var(--accent)}.contact__actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8500;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#080809a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:modal-fade var(--dur) var(--ease)}.modal__card{position:relative;width:100%;max-width:480px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-8) var(--space-8);animation:modal-rise var(--dur) var(--ease)}.modal__close{position:absolute;top:var(--space-4);right:var(--space-4);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-full);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.modal__close svg{width:13px;height:13px}.modal__close:hover{color:var(--fg);border-color:var(--fg)}.modal__eyebrow{display:block;font-size:var(--text-12);color:var(--muted);letter-spacing:.08em}.modal__title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:var(--text-32);line-height:1.04;margin:var(--space-3) 0 var(--space-8)}.modal__options{display:grid;gap:var(--space-4)}.modal__opt{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),background var(--dur) var(--ease)}.modal__opt:hover{border-color:var(--fg);transform:translateY(-2px)}.modal__opt--split:hover{transform:none}.modal__opt-hit{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0}.modal__copy{flex:none;font-family:var(--mono);font-size:var(--text-12);letter-spacing:.06em;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.modal__copy:hover{color:var(--fg);border-color:var(--fg)}.modal__opt-ic{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--bg-2);color:var(--accent)}.modal__opt-ic svg{width:18px;height:18px}.modal__opt-txt{display:grid;gap:2px;margin-right:auto}.modal__opt-txt b{font-size:var(--text-16);font-weight:700}.modal__opt-sub{font-size:var(--text-14);color:var(--muted)}.modal__opt .arrow{color:var(--muted);transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}.modal__opt:hover .arrow{color:var(--fg);transform:translate(3px,-3px)}.modal__opt:hover .arrow[viewBox="0 0 448 512"]{transform:translate(3px)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.modal,.modal__card{animation:none}}.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;padding:var(--space-8) var(--pad);border-top:1px solid var(--line)}.footer p{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.to-top{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;gap:var(--space-2);align-items:center}.cs-page{--accent: #840051;--accent-ink: #fbeaf3;--accent-line: #d8589f;--topo-1: #2e0028;--topo-2: #4a0c33;--topo-3: #63003c;--topo-4: #840051;--topo-5: #c85a95;--topo-6: #f0a9ce;--topo-line: rgba(216, 88, 159, .16)}.cs-page ::selection{background:var(--accent);color:var(--accent-ink)}.cs-page .topo-bg{position:relative;background-image:repeating-radial-gradient(circle at 22% 18%,transparent 0 46px,var(--topo-line) 46px 47px),repeating-radial-gradient(circle at 84% 96%,transparent 0 60px,var(--topo-line) 60px 61px)}.cs-page .topo-bg>*{position:relative;z-index:1}.cs-page .cs-nav,.cs-page .cs-nav.scrolled{mix-blend-mode:normal}.cs-page .cs-nav .brand .mark{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cs-back{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:100px;color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg);background-image:linear-gradient(var(--fg),var(--fg));background-repeat:no-repeat;background-position:left center;background-size:0% 100%;transition:background-size .45s var(--ease),color .4s var(--ease)}.cs-back:hover{color:var(--bg);background-size:100% 100%}.cs-back .ar{position:relative;top:-1px;transition:transform .4s var(--ease);-webkit-text-stroke:.5px currentColor}.cs-back:hover .ar{transform:translate(-4px)}.cs-title{padding:calc(var(--nav-h) + clamp(var(--space-8),6vw,var(--space-14))) var(--pad) clamp(var(--space-8),4vw,var(--space-12));border-bottom:1px solid var(--line)}.cs-title__kicker{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.cs-title__kicker .tag{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-line)}.cs-title__kicker .sep{width:26px;height:1px;background:var(--line)}.cs-status{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border-radius:100px;padding:var(--space-1) var(--space-3)}.cs-status__dot{width:7px;height:7px;border-radius:50%;background:var(--accent-ink);box-shadow:0 0 0 0 var(--accent-ink);animation:cs-status-pulse 2.4s var(--ease) infinite}@keyframes cs-status-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent-ink) 60%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.cs-status__dot{animation:none}}.cs-title__row{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(var(--space-6),3vw,var(--space-10))}.cs-title h1{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(var(--text-32),4.5vw,var(--text-56));line-height:.95;max-width:24ch;text-wrap:balance}.cs-title h1 .serif-it{font-weight:500;text-transform:none;color:var(--accent-line)}.cs-meta{display:grid;grid-auto-flow:column;justify-content:start;gap:clamp(var(--space-8),3vw,var(--space-12))}.cs-meta div{display:flex;flex-direction:column;gap:var(--space-1)}.cs-meta dt{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}.cs-meta dd{font-size:var(--text-14);color:var(--fg);font-weight:500}@media (max-width: 640px){.cs-meta{grid-auto-flow:row;grid-template-columns:1fr 1fr;gap:var(--space-6)}}.cs-hero__sub{margin-top:clamp(var(--space-6),3vw,var(--space-10));max-width:60ch;color:var(--muted);font-size:clamp(var(--text-16),1.5vw,var(--text-24));line-height:1.55}.cs-hero__sub strong{color:var(--fg);font-weight:600}.cs-page #overview{padding-top:clamp(var(--space-10),6vw,var(--space-20))}.cs-page .ph[data-fit=contain] img{object-fit:contain}.step-eyebrow{display:inline-flex;align-items:baseline;gap:var(--space-3);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-line);margin-bottom:var(--space-4)}.step-eyebrow .num{font-size:var(--text-12);color:var(--muted-2)}.cs-lede{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(var(--space-8),6vw,var(--space-24));align-items:start}.cs-lede h3{font-family:var(--display);font-size:var(--text-statement);line-height:1.06;letter-spacing:-.02em;font-weight:700;text-wrap:pretty}.cs-lede h3 .serif-it{font-weight:500}.cs-lede .body{display:flex;flex-direction:column;gap:var(--space-6)}.cs-lede .body p{color:var(--body);font-size:var(--text-16);line-height:1.62}.cs-lede .body p strong{color:var(--fg);font-weight:600}@media (max-width: 880px){.cs-lede{grid-template-columns:1fr;gap:var(--space-6)}}.cs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(var(--space-12),6vw,var(--space-20))}.cs-stats .stat{background:var(--bg);padding:clamp(var(--space-8),4vw,var(--space-12))}.cs-stats .stat .v{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.95;font-size:clamp(var(--text-40),5vw,var(--text-64));color:var(--fg)}.cs-stats .stat .v .u{font-size:.4em;color:var(--accent-line);margin-left:var(--space-1)}.cs-stats .stat .k{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-16);line-height:1.5;max-width:26ch}@media (max-width: 760px){.cs-stats{grid-template-columns:1fr}}.cs-quote{border-top:1px solid var(--line);padding:clamp(var(--space-14),9vw,var(--space-32)) 0;text-align:center}.cs-quote p{font-family:var(--display);font-weight:500;font-size:clamp(var(--text-32),4.4vw,var(--text-56));line-height:1.18;letter-spacing:-.01em;max-width:22ch;margin:0 auto;color:var(--fg);text-wrap:balance}.cs-quote p .serif-it{color:var(--accent-line)}.cs-quote .who{margin-top:var(--space-8);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.persona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(var(--space-4),2vw,var(--space-8));margin-top:clamp(var(--space-10),5vw,var(--space-16))}.persona{border:1px solid var(--line);background:var(--bg-1);display:flex;flex-direction:column}.persona__media{aspect-ratio:4 / 3}.persona__media .ph{width:100%;height:100%}.cs-page .persona__media .ph{background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 1px,transparent 1px 12px),linear-gradient(160deg,var(--topo-2),var(--bg))}.persona__body{padding:clamp(var(--space-6),2.4vw,var(--space-8));display:flex;flex-direction:column;gap:var(--space-4)}.persona__name{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.persona__name h4{font-family:var(--display);font-size:var(--text-24);font-weight:700;letter-spacing:-.01em}.persona__name .id{font-family:var(--mono);font-size:var(--text-12);color:var(--accent-line);letter-spacing:.14em}.persona__goal{color:var(--fg);font-size:var(--text-16);line-height:1.5}.persona__pain{color:var(--muted);font-size:var(--text-16);line-height:1.55;padding-top:var(--space-4);border-top:1px solid var(--line)}.persona__pain b{display:block;font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--space-2);color:var(--topo-5);font-weight:600}@media (max-width: 900px){.persona-grid{grid-template-columns:1fr}}.cs-insight{margin-top:clamp(var(--space-10),5vw,var(--space-16));display:flex;flex-direction:column;gap:clamp(var(--space-4),2vw,var(--space-6));padding:clamp(var(--space-8),4vw,var(--space-12));border:1px solid var(--accent-line);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}.cs-insight .mk{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-line)}.cs-insight p{font-size:clamp(var(--text-16),2vw,var(--text-24));line-height:1.4;color:var(--fg);text-wrap:pretty}.cs-insight p .serif-it{color:var(--topo-5)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(var(--space-10),4vw,var(--space-14))}.feature{background:var(--bg);padding:clamp(var(--space-6),3vw,var(--space-10));display:flex;flex-direction:column;gap:var(--space-3);min-height:160px;transition:background .4s var(--ease)}.feature:hover{background:var(--bg-2)}.feature .fi{font-family:var(--mono);font-size:var(--text-12);color:var(--accent-line);letter-spacing:.16em}.feature h4{font-family:var(--display);font-size:var(--text-24);font-weight:700;letter-spacing:-.01em;margin-top:auto}.feature p{color:var(--muted);font-size:var(--text-16);line-height:1.5}@media (max-width: 820px){.feature-grid{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.feature-grid{grid-template-columns:1fr}}.roadmap-list{list-style:none;margin:clamp(var(--space-10),4vw,var(--space-14)) 0 0;border:1px solid var(--line);border-radius:2px;overflow:hidden}.roadmap-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(var(--space-4),2vw,var(--space-8));padding:clamp(var(--space-5),2.4vw,var(--space-8)) clamp(var(--space-5),3vw,var(--space-10));border-top:1px solid var(--line);background:var(--bg);transition:background .4s var(--ease)}.roadmap-row:first-child{border-top:0}.roadmap-row:hover{background:var(--bg-2)}.roadmap-mark{font-size:var(--text-18);line-height:1;width:1.4em;text-align:center;color:var(--muted-2)}.roadmap-row.is-done .roadmap-mark{color:var(--accent-line)}.roadmap-row.is-building .roadmap-mark{color:var(--accent)}.roadmap-text h4{font-family:var(--display);font-size:var(--text-20);font-weight:600;letter-spacing:-.01em}.roadmap-row.is-planned .roadmap-text h4{color:var(--muted)}.roadmap-text p{color:var(--muted);font-size:var(--text-16);line-height:1.5;margin-top:var(--space-1);text-wrap:pretty}.roadmap-state{font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap;border:1px solid var(--line);border-radius:100px;padding:var(--space-1) var(--space-3)}.roadmap-row.is-done .roadmap-state{color:var(--accent-line);border-color:color-mix(in srgb,var(--accent-line) 40%,transparent)}.roadmap-row.is-building .roadmap-state{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}@media (max-width: 600px){.roadmap-row{grid-template-columns:auto 1fr}.roadmap-state{grid-column:2;justify-self:start}}.cs-media{margin-top:clamp(var(--space-10),4vw,var(--space-14))}.cs-media__cap{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.cs-media__cap h4{font-family:var(--display);font-size:var(--text-16);font-weight:600}.cs-media__cap span{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.cs-media .ph{width:100%;height:auto}.cs-page .cs-media .ph{background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 1px,transparent 1px 13px),linear-gradient(160deg,var(--bg-2),var(--bg))}.cs-media.is-framed .ph{display:block;aspect-ratio:auto;padding:16px}.cs-media.is-framed .ph img{position:static;display:block;width:100%;height:auto;object-fit:contain}.cs-media.is-framed .ph:before{top:8px;left:8px}.cs-media.is-framed .ph:after{bottom:8px;right:8px}.cs-media.is-framed .ph:before,.cs-media.is-framed .ph:after{z-index:1}.wire-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(var(--space-4),1.6vw,var(--space-6));margin-top:clamp(var(--space-10),4vw,var(--space-14))}.wire{display:flex;flex-direction:column;gap:var(--space-4)}.wire .ph{width:100%;height:auto;aspect-ratio:375 / 812}.wire .ph img{top:16px;right:16px;bottom:16px;left:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:cover}.wire .ph:before{top:8px;left:8px}.wire .ph:after{bottom:8px;right:8px}.wire .ph:before,.wire .ph:after{z-index:1}.cs-page .wire .ph{background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 22px),linear-gradient(160deg,var(--bg-2),var(--bg))}.wire .lab{display:flex;align-items:center;gap:var(--space-3)}.wire .v{font-family:var(--mono);font-weight:500;font-size:var(--text-12);letter-spacing:.1em;color:var(--accent-line)}.wire .t{font-size:var(--text-14);color:var(--muted)}.cs-page .wire.is-final .ph{outline:1px solid var(--accent-line);outline-offset:-1px}.wire.is-final .v{color:var(--topo-6)}@media (max-width: 820px){.wire-row{grid-template-columns:1fr 1fr}}.cs-pages{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-4),2vw,var(--space-8));margin-top:clamp(var(--space-10),5vw,var(--space-16))}.cs-pages figure{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.cs-pagecard{border:1px solid var(--line);background:var(--bg-1);aspect-ratio:4 / 3;overflow:hidden}.is-zoomable{cursor:zoom-in}.is-zoomable img{transition:filter .3s var(--ease)}.is-zoomable:hover img{filter:brightness(1.06)}.is-zoomable:focus-visible{outline:2px solid var(--accent-line);outline-offset:4px}.cs-pagecard img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.cs-pagecard .ph-label{display:grid;place-items:center;height:100%;padding:var(--space-6);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center}.cs-pages figcaption{display:flex;align-items:baseline;gap:var(--space-3)}.cs-pages figcaption .v{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.1em;color:var(--accent-line)}.cs-pages figcaption .t{font-size:var(--text-14);color:var(--muted)}@media (max-width: 720px){.cs-pages{grid-template-columns:1fr}}.cs-topo{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--topo-1),var(--bg));padding:var(--section-py) var(--pad);overflow:hidden}.cs-topo__inner{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:clamp(var(--space-8),6vw,var(--space-24));align-items:start;max-width:none}.cs-topo .step-eyebrow{grid-column:1 / -1;margin-bottom:var(--space-12);color:var(--topo-5)}.cs-topo h3{grid-column:1;font-family:var(--display);font-size:var(--text-statement);line-height:1.06;letter-spacing:-.02em;font-weight:700;text-wrap:pretty}.cs-topo h3 .serif-it{font-weight:500}.cs-topo p{grid-column:2;margin-top:0;max-width:none;color:var(--body);font-size:var(--text-16);line-height:1.62}.cs-topo p strong{color:var(--fg);font-weight:600}.cs-topo__media{grid-column:1 / -1;margin-top:clamp(var(--space-12),6vw,var(--space-18))}.cs-topo__media .ph{width:100%;height:auto;aspect-ratio:16 / 8}.cs-page .cs-topo__media .ph{background:#ffffff04}.cs-topo__screens{grid-column:1 / -1;margin-top:clamp(var(--space-12),6vw,var(--space-18));display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(var(--space-3),1.6vw,var(--space-6))}.cs-topo__screens .ph{width:100%;height:auto;aspect-ratio:375 / 812;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#ffffff04}@media (max-width: 1000px){.cs-topo__screens{grid-template-columns:repeat(3,1fr)}}@media (max-width: 560px){.cs-topo__screens{grid-template-columns:repeat(2,1fr)}}@media (max-width: 880px){.cs-topo__inner{grid-template-columns:1fr}.cs-topo .step-eyebrow,.cs-topo h3,.cs-topo p,.cs-topo__media,.cs-topo__screens{grid-column:auto}.cs-topo p{margin-top:var(--space-6)}}.ui-guide{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(var(--space-8),4vw,var(--space-14));margin-top:clamp(var(--space-10),5vw,var(--space-16));align-items:start}@media (max-width: 920px){.ui-guide{grid-template-columns:1fr}}.guide-card{border:1px solid var(--line);padding:clamp(var(--space-6),3vw,var(--space-10))}.guide-card h4{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-6)}.relief{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line)}.relief span{aspect-ratio:1 / 2.4;display:block;position:relative}.relief span:after{content:attr(data-h);position:absolute;left:50%;bottom:var(--space-2);transform:translate(-50%);writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--mono);font-size:var(--text-12);letter-spacing:.06em;color:#ffffff8c}.relief .lite:after{color:#070a18a6}.guide-card .note{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-16);line-height:1.55}.guide-type{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line);display:grid;gap:var(--space-3)}.guide-type div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.guide-type dt{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.guide-type dd{font-family:var(--display);font-size:var(--text-16);color:var(--fg)}.guide-comp{display:flex;flex-direction:column;gap:var(--space-6)}.guide-comp .row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.comp-pill{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);border-radius:100px;padding:var(--space-2) var(--space-4);color:var(--muted)}.comp-btn{background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:var(--text-14);padding:var(--space-3) var(--space-6);border-radius:12px}.comp-btn.alt{background:transparent;color:var(--fg);border:1px solid var(--line)}.comp-chip{background:var(--topo-2);color:var(--topo-6);border-radius:8px;padding:var(--space-2) var(--space-4);font-size:var(--text-14);font-weight:500}.comp-tab{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}.comp-tab span{padding:var(--space-3) var(--space-4);font-size:var(--text-14);color:var(--muted)}.comp-tab span.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.screens-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(var(--space-4),1.6vw,var(--space-6));margin-top:clamp(var(--space-10),5vw,var(--space-16))}.screens-grid .ph{width:100%;height:auto;aspect-ratio:9 / 19}.cs-page .screens-grid .ph{background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 26px),linear-gradient(160deg,var(--topo-2),var(--bg))}@media (max-width: 820px){.screens-grid{grid-template-columns:1fr 1fr}}.proto-note{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start;border:1px solid var(--line);padding:clamp(var(--space-6),3vw,var(--space-8));margin-top:clamp(var(--space-10),4vw,var(--space-14));margin-bottom:var(--space-8);background:var(--bg-1)}.proto-note .mk{font-family:var(--mono);color:var(--accent-line);font-size:var(--text-14);letter-spacing:.1em}.proto-note p{color:var(--body);font-size:var(--text-16);line-height:1.6}.proto-note p kbd{font-family:var(--mono);font-size:var(--text-12);background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:var(--space-1) var(--space-2);color:var(--fg)}.proto-link{margin:0 0 var(--space-8)}.proto-link .ar{transition:transform .4s var(--ease)}.proto-link:hover .ar{transform:translate(2px,-2px)}.cs-gallery{display:flex;flex-direction:column;gap:clamp(var(--space-12),6vw,var(--space-24));max-width:1440px;margin-inline:auto}.cs-gallery__item{margin:0}.cs-gallery__item img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-lg)}.cs-gallery__item figcaption{display:flex;align-items:baseline;gap:var(--space-4);margin-top:var(--space-4)}.cs-gallery__open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.cs-gallery__open img{transition:filter .3s var(--ease)}.cs-gallery__open:hover img{filter:brightness(1.05)}.cs-gallery__open:focus-visible{outline:2px solid var(--accent-line);outline-offset:4px;border-radius:var(--radius-lg)}.cs-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,48px);background:#080809eb;cursor:zoom-out;animation:cs-lb-in .3s var(--ease)}.cs-lightbox img{max-width:94vw;max-height:92vh;width:auto;height:auto;cursor:zoom-in;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.cs-lightbox.is-zoomed{align-items:flex-start;justify-content:center;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0;cursor:grab}.cs-lightbox.is-zoomed:active{cursor:grabbing}.cs-lightbox.is-zoomed img{max-width:none;max-height:none;width:min(96vw,1200px);height:auto;margin:0 auto;flex:none;cursor:inherit;border-radius:0;-webkit-user-select:none;user-select:none}.cs-lightbox__close{position:fixed;top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);width:44px;height:44px;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-1);color:var(--fg);border:1px solid var(--line);font-size:var(--text-16);cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}.cs-lightbox__close:hover{background:var(--bg-2);transform:scale(1.05)}@keyframes cs-lb-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.cs-lightbox{animation:none}}.cs-gallery__item figcaption .n{font-family:var(--display);font-weight:700;font-size:var(--text-24);letter-spacing:-.01em}.cs-gallery__item figcaption .s{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.proto-frame{position:relative;width:100%;aspect-ratio:16 / 10;border:1px solid var(--line);background:var(--bg-1)}.proto-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.cs-next{border-top:1px solid var(--line);padding:clamp(var(--space-16),9vw,var(--space-32)) var(--pad);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap}.cs-next .lab{font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.cs-next a.big{display:inline-flex;align-items:center;gap:var(--space-6);font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.02em;font-size:var(--text-display);line-height:1}.cs-next a.big .ar{color:var(--accent-line);transition:transform .4s var(--ease);-webkit-text-stroke:.5px currentColor}.cs-next a.big:hover .ar{transform:translate(8px,-8px)}html.has-motion.lenis{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.has-motion .section-head{border-top-color:transparent;position:relative}.has-motion .section-head:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line);transform:scaleX(var(--trace, 0));transform-origin:left}.has-motion #about .section-head:before{content:none}.has-motion .skill-row{border-bottom-color:transparent;position:relative}.has-motion .skill-row:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--line);transform:scaleX(var(--trace, 0));transform-origin:left}.mline{display:block;overflow:hidden}.mline__in{display:block}.curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8800;display:none;align-items:center;justify-content:center;background:var(--bg);border-top:1px solid var(--accent)}.curtain__label{font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,56px);letter-spacing:-.01em;text-transform:uppercase;color:var(--fg);padding:0 24px;text-align:center}.has-motion body{cursor:default}.view-badge{position:fixed;top:18px;left:18px;z-index:9500;padding:8px 14px;border-radius:100px;background:var(--accent);color:var(--bg);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity .2s var(--ease)}.view-badge.is-on{opacity:1}.has-motion .btn,.has-motion .btn .arrow{transition-duration:.3s}.has-motion .card__media .ph{transition-duration:.45s}.has-motion .card__tldr{transition-duration:.35s}.has-motion .skill-row{transition-duration:.3s}
