@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Mona+Sans:ital,wdth,wght@0,75..125,200..900;1,75..125,200..900&display=swap";:root{--ink-950: #0e1622;--ink-900: #141d2b;--ink-800: #1a2332;--ink-700: #243044;--ink-600: #2f3d54;--ink-500: #475066;--ink-400: #6b7388;--ink-300: #98a0b3;--ink-200: #c7ccd6;--ink-100: #e5e7ee;--paper-50: #fffaf2;--paper-100: #fbf3e4;--paper-200: #f5ead8;--paper-300: #ecdcc4;--paper-400: #d9c6ac;--paper-500: #b29c80;--magenta-50: #fdeef3;--magenta-100: #fad0de;--magenta-200: #f3a3bd;--magenta-300: #e6739a;--magenta-400: #d44a7c;--magenta-500: #b42460;--magenta-600: #951a4f;--magenta-700: #74143e;--magenta-800: #560f2d;--magenta-900: #3a0a1f;--coral-50: #fff1ec;--coral-100: #ffd9cb;--coral-200: #ffb89d;--coral-300: #fc9472;--coral-400: #f06c48;--coral-500: #db4f29;--coral-600: #b53e1f;--coral-700: #8c2f17;--coral-800: #602010;--coral-900: #3d140a;--bg: var(--paper-50);--bg-elevated: #ffffff;--bg-sunken: var(--paper-100);--bg-inverse: var(--ink-900);--surface: #ffffff;--surface-2: var(--paper-100);--surface-3: var(--paper-200);--fg-1: var(--ink-900);--fg-2: var(--ink-700);--fg-3: var(--ink-500);--fg-4: var(--ink-400);--fg-on-accent: #ffffff;--fg-on-dark: var(--paper-100);--accent: var(--magenta-500);--accent-hover: var(--magenta-900);--accent-press: var(--magenta-700);--accent-soft: var(--magenta-50);--accent-2: var(--coral-400);--accent-2-hover: var(--coral-500);--accent-2-press: var(--coral-600);--accent-2-soft: var(--coral-50);--border-1: rgba(20, 29, 43, .08);--border-2: rgba(20, 29, 43, .14);--border-3: rgba(20, 29, 43, .22);--focus-ring: var(--magenta-500);--success: #2f8a5a;--warning: #c98a14;--danger: #b53e1f;--shadow-xs: 0 1px 2px rgba(14, 22, 34, .06);--shadow-sm: 0 2px 6px rgba(14, 22, 34, .08);--shadow-md: 0 8px 24px rgba(14, 22, 34, .1);--shadow-lg: 0 24px 60px rgba(14, 22, 34, .16);--shadow-press: inset 0 1px 2px rgba(14, 22, 34, .1);--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--s-32: 128px;--font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;--font-body: "Mona Sans", "Inter", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, monospace;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--w-black: 800;--ls-display: -.025em;--ls-h1: -.02em;--ls-h2: -.015em;--ls-body: 0em;--ls-eyebrow: .14em;--fs-display: clamp(56px, 8vw, 128px);--fs-h1: clamp(40px, 5.2vw, 72px);--fs-h2: clamp(30px, 3.4vw, 44px);--fs-h3: 28px;--fs-h4: 22px;--fs-lead: 20px;--fs-body: 17px;--fs-small: 15px;--fs-meta: 13px;--fs-eyebrow: 12px;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in-out: cubic-bezier(.7, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--dur-4: .52s}:root[data-theme=dark],:root.dark{--bg: var(--ink-950);--bg-elevated: var(--ink-900);--bg-sunken: #08101a;--bg-inverse: var(--paper-100);--surface: var(--ink-900);--surface-2: var(--ink-800);--surface-3: var(--ink-700);--fg-1: var(--paper-100);--fg-2: var(--paper-300);--fg-3: var(--ink-300);--fg-4: var(--ink-400);--fg-on-accent: #ffffff;--fg-on-dark: var(--paper-100);--accent: var(--magenta-400);--accent-hover: var(--magenta-300);--accent-press: var(--magenta-500);--accent-soft: rgba(212, 74, 124, .16);--accent-2: var(--coral-300);--accent-2-hover: var(--coral-200);--accent-2-press: var(--coral-400);--accent-2-soft: rgba(252, 148, 114, .14);--border-1: rgba(245, 234, 216, .08);--border-2: rgba(245, 234, 216, .14);--border-3: rgba(245, 234, 216, .22);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .45);--shadow-md: 0 12px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 28px 70px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light dark}body{margin:0;overflow-x:hidden;font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;color:var(--fg-1);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.display,h1.display{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--fs-display);line-height:.92;letter-spacing:var(--ls-display);color:var(--fg-1);text-wrap:balance}h1,.h1{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--fs-h1);line-height:1.02;letter-spacing:var(--ls-h1);text-wrap:balance}h2,.h2{font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--fs-h2);line-height:1.08;letter-spacing:var(--ls-h2);text-wrap:balance}h3,.h3{font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--fs-h3);line-height:1.18;letter-spacing:-.01em}h4,.h4{font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--fs-h4);line-height:1.25}p,.body{font-size:var(--fs-body);line-height:1.6;color:var(--fg-1)}.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--fg-2)}.small{font-size:var(--fs-small);line-height:1.5;color:var(--fg-2)}.meta{font-size:var(--fs-meta);line-height:1.4;color:var(--fg-3)}.eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:var(--w-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-3)}code,.code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-2);padding:.12em .35em;border-radius:var(--r-xs)}a{color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:.18em;transition:color var(--dur-1) var(--ease-out)}a:hover{color:var(--accent-hover)}::selection{background:var(--magenta-200);color:var(--ink-900)}:root[data-theme=dark] ::selection{background:var(--magenta-500);color:var(--paper-50)}.app{min-height:100vh;background:var(--bg);color:var(--fg-1);font-family:var(--font-body)}.bg-orbs{position:relative}.bg-orbs:before,.bg-orbs:after{content:"";position:fixed;border-radius:999px;filter:blur(100px);pointer-events:none;z-index:0}.bg-orbs:before{width:640px;height:640px;background:var(--accent);opacity:.12;top:-160px;left:-160px;animation:orb-a 16s var(--ease-in-out) infinite alternate}.bg-orbs:after{width:540px;height:540px;background:var(--accent-2);opacity:.1;bottom:-120px;right:-120px;animation:orb-b 20s var(--ease-in-out) infinite alternate}.bg-orbs>*{position:relative;z-index:1}@keyframes orb-a{0%{transform:translate(0) scale(1)}to{transform:translate(220px,160px) scale(1.15)}}@keyframes orb-b{0%{transform:translate(0) scale(1)}to{transform:translate(-180px,-140px) scale(1.1)}}.bg-grid{background-image:radial-gradient(circle,var(--border-1) 1.5px,transparent 1.5px);background-size:28px 28px;animation:grid-drift 8s linear infinite}@keyframes grid-drift{0%{background-position:0 0}to{background-position:28px 28px}}@property --aurora-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes aurora-spin{to{--aurora-angle: 360deg}}.bg-aurora{background:conic-gradient(from var(--aurora-angle) at 25% 35%,transparent 55%,color-mix(in srgb,var(--accent) 14%,transparent) 65%,color-mix(in srgb,var(--accent-2) 10%,transparent) 72%,transparent 82%),var(--bg);animation:aurora-spin 24s linear infinite}.container{max-width:1200px;margin:0 auto;padding:1em}@media (max-width: 768px){.container{padding:2em 1em}}.section{padding:3em 1em}.section-tight{padding:64px 0}.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-1)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:inline-flex;align-items:baseline;font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.025em;color:var(--fg-1);text-decoration:none;white-space:nowrap;cursor:pointer;transition:letter-spacing var(--dur-2) var(--ease-out)}.brand:hover{letter-spacing:-.02em;color:var(--fg-1)}.brand:hover .dot{animation:dot-pulse .6s var(--ease-spring)}.brand .dot{width:7px;height:7px;border-radius:999px;background:var(--accent);margin-left:5px;align-self:flex-end;margin-bottom:4px;animation:dot-breathe 3.6s var(--ease-in-out) infinite}@keyframes dot-breathe{0%,to{background:var(--accent);transform:scale(1)}50%{background:var(--accent-2);transform:scale(1.25)}}@keyframes dot-pulse{0%{transform:scale(1)}40%{transform:scale(1.8)}to{transform:scale(1)}}.nav-links{display:flex;gap:28px;align-items:center}.nav-hamburger{display:none;background:transparent;border:none;cursor:pointer;color:var(--fg-1);padding:6px}.nav-drawer{display:flex;flex-direction:column;gap:4px;padding:16px 20px 24px;border-top:1px solid var(--border-1);background:var(--bg);box-shadow:var(--shadow-md)}.nav-drawer a{font-size:18px;font-weight:500;color:var(--fg-2);padding:12px 0;border-bottom:1px solid var(--border-1);cursor:pointer;text-decoration:none;transition:color var(--dur-2) var(--ease-out)}.nav-drawer a:hover,.nav-drawer a.active{color:var(--accent)}@media (max-width: 680px){.nav-links-desktop{display:none}.nav-hamburger{display:flex}}.nav-links a{font-size:14px;font-weight:500;color:var(--fg-2);text-decoration:none;cursor:pointer;position:relative;transition:color var(--dur-2) var(--ease-out)}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px;transition:right var(--dur-3) var(--ease-spring)}.nav-links a:hover{color:var(--fg-1)}.nav-links a:hover:after{right:0}.nav-links a.active{color:var(--accent)}.nav-links a.active:after{right:0;background:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;padding:11px 20px;border-radius:var(--r-sm);letter-spacing:-.005em;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.btn .arr{display:inline-block;transition:transform var(--dur-2) var(--ease-out)}.btn:hover .arr{transform:translate(3px)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--fg-on-accent);background-image:linear-gradient(120deg,var(--accent) 0%,var(--accent) 50%,var(--accent-2) 110%);background-size:220% 100%;background-position:0% 0%;transition:background-position var(--dur-3) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-spring)}.btn-primary:hover{background-position:100% 0%;box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 40%,transparent);color:var(--fg-on-accent)}.btn-primary:active{background-position:100% 0%;transform:translateY(1px);box-shadow:var(--shadow-press)}@property --border-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes spin-border{to{--border-angle: 360deg}}.btn-secondary{color:var(--fg-1);border:2px solid transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(var(--border-3),var(--border-3)) border-box}.btn-secondary:hover{color:var(--accent);background:linear-gradient(var(--bg),var(--bg)) padding-box,conic-gradient(from var(--border-angle),var(--accent),var(--accent-2),var(--magenta-200),var(--accent)) border-box;animation:spin-border 2s linear infinite}.btn-secondary:active{background:linear-gradient(var(--surface-2),var(--surface-2)) padding-box,linear-gradient(var(--accent),var(--accent)) border-box}.btn-ghost{background:transparent;color:var(--fg-1);padding:10px 14px}.btn-ghost:hover{background:var(--surface-2);color:var(--fg-1)}.btn-lg{padding:14px 24px;font-size:16px}.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.tag:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 22%,transparent)}.tag-mag{background:var(--accent-soft);color:var(--magenta-700)}.tag-cor{background:var(--accent-2-soft);color:var(--coral-700)}.tag-ink{background:var(--surface-3);color:var(--fg-1)}:root[data-theme=dark] .tag-mag{color:var(--magenta-200)}:root[data-theme=dark] .tag-cor{color:var(--coral-200)}.eyebrow-accent{color:var(--accent)}.hero-display{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5.2vw,72px);line-height:1.08;letter-spacing:-.035em;color:var(--fg-1);text-wrap:balance}.hero-display em{font-style:normal;background:linear-gradient(95deg,var(--accent) 0%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;position:relative}.hero-display em:after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.12em;background:var(--accent-2-soft);z-index:-1;border-radius:4px;animation:hl-sweep 1.4s var(--ease-spring) .2s both;transform-origin:left}@keyframes hl-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-sub{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--fg-2)}.hero-meta{display:flex;gap:12px 20px;align-items:center;margin-top:36px;flex-wrap:wrap;font-family:var(--font-body);color:var(--fg-3);font-size:14px}.hero-meta .sep{color:var(--ink-300)}.hero-cta-row{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}.hero-poster{font-family:var(--font-display);font-weight:800;font-size:clamp(64px,11vw,168px);line-height:.86;letter-spacing:-.04em;text-transform:uppercase;text-wrap:balance}.hero-poster .mag{color:var(--accent)}.hero-poster .cor{color:var(--accent-2)}.hero-poster .ink{color:var(--fg-1)}.hero-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}@media (max-width: 900px){.hero-split{grid-template-columns:1fr;gap:32px}}.hero-split-img{aspect-ratio:4/5;border-radius:var(--r-lg);background:radial-gradient(circle at 30% 30%,rgba(252,148,114,.7),transparent 55%),radial-gradient(circle at 75% 75%,rgba(212,74,124,.7),transparent 55%),var(--ink-900);background-size:140% 140%;background-position:0% 0%;position:relative;overflow:hidden;border:1px solid var(--border-1);animation:hero-img-drift 14s var(--ease-in-out) infinite alternate}@keyframes hero-img-drift{0%{background-position:0% 0%}to{background-position:100% 100%}}.hero-split-img:after{content:"GB";position:absolute;bottom:24px;right:28px;font-family:var(--font-display);font-weight:800;font-size:56px;letter-spacing:-.04em;color:var(--paper-100);opacity:.85}.work-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border-1)}.work-row{display:grid;grid-template-columns:80px 1fr 200px 140px 80px;gap:24px;align-items:center;padding:24px 8px;border-bottom:1px solid var(--border-1);cursor:pointer;position:relative;min-height:100px;transition:background-color var(--dur-2) var(--ease-out),padding var(--dur-3) var(--ease-spring),border-color var(--dur-2) var(--ease-out)}.work-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2));transform:scaleY(0);transform-origin:top;transition:transform var(--dur-3) var(--ease-spring);border-radius:3px}.work-row:hover{background:var(--surface-2);padding-left:24px;padding-right:16px;border-color:transparent}.work-row:hover:before{transform:scaleY(1)}.work-row:hover .num{color:var(--accent-2)}.work-row:hover .title{color:var(--accent)}.work-row .num{font-family:var(--font-mono);font-size:13px;color:var(--fg-3);transition:color var(--dur-2) var(--ease-out)}.work-row .title{font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-.01em;color:var(--fg-1);transition:color var(--dur-2) var(--ease-out)}.work-row .role{font-family:var(--font-body);font-size:14px;color:var(--fg-3)}.work-row .year{font-family:var(--font-mono);font-size:13px;color:var(--fg-3)}.work-row .arrow{color:var(--fg-3);justify-self:end;transition:transform var(--dur-3) var(--ease-spring),color var(--dur-2) var(--ease-out)}.work-row:hover .arrow{color:var(--accent);transform:translate(8px)}@media (max-width: 768px){.work-row{grid-template-columns:40px 1fr 60px}.work-row .role,.work-row .year{display:none}}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 768px){.card-grid{grid-template-columns:1fr}}.work-card{background:var(--surface);border:1px solid var(--border-1);border-radius:var(--r-md);padding:24px;cursor:pointer;position:relative;overflow:hidden;transition:box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-3) var(--ease-spring);display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit}.work-card:after{content:"";position:absolute;inset:auto -40% -40% auto;width:60%;height:60%;border-radius:999px;background:radial-gradient(circle,var(--accent-2-soft),transparent 60%);opacity:0;transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-4) var(--ease-spring);pointer-events:none}.work-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.work-card:hover:after{opacity:1;transform:scale(1.2)}.work-card:hover .thumb{background-position:100% 100%}.work-card .thumb{aspect-ratio:16/10;border-radius:var(--r-sm);background:radial-gradient(circle at 30% 30%,rgba(252,148,114,.6),transparent 55%),radial-gradient(circle at 75% 70%,rgba(212,74,124,.6),transparent 55%),#1a2332;background-size:140% 140%;background-position:0% 0%;transition:background-position var(--dur-4) var(--ease-spring)}.work-card .ttl{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.01em;line-height:1.15;color:var(--fg-1);transition:color var(--dur-2) var(--ease-out)}.work-card:hover .ttl{color:var(--accent)}.work-card .desc{font-size:15px;color:var(--fg-2);line-height:1.5}.work-card .footer{display:flex;gap:8px;flex-wrap:wrap;padding:0;background:none;margin-top:0}.case-hero{padding:64px 1em 0}.case-title{font-family:var(--font-display);font-weight:800;font-size:clamp(42px,5.6vw,80px);line-height:.98;letter-spacing:-.03em;text-wrap:balance;color:var(--fg-1)}.case-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);margin-top:40px}.case-meta-grid>div{display:flex;flex-direction:column;gap:4px}.case-meta-grid .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}.case-meta-grid .v{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--fg-1)}@media (max-width: 768px){.case-meta-grid{grid-template-columns:repeat(2,1fr)}}.case-cover{aspect-ratio:16/9;border-radius:var(--r-lg);background:radial-gradient(circle at 25% 35%,rgba(252,148,114,.65),transparent 55%),radial-gradient(circle at 80% 70%,rgba(212,74,124,.65),transparent 55%),var(--ink-900);background-size:160% 160%;animation:cover-drift 18s var(--ease-in-out) infinite alternate;margin:40px 0 64px}.case-cover-b{aspect-ratio:21/9;border-radius:var(--r-lg);background:radial-gradient(circle at 25% 35%,rgba(252,148,114,.65),transparent 55%),radial-gradient(circle at 80% 70%,rgba(212,74,124,.65),transparent 55%),var(--ink-900);background-size:160% 160%;animation:cover-drift 18s var(--ease-in-out) infinite alternate;margin:40px 0 64px}.case-cover-c{aspect-ratio:4/3;border-radius:var(--r-lg);background:radial-gradient(circle at 25% 35%,rgba(252,148,114,.65),transparent 55%),radial-gradient(circle at 80% 70%,rgba(212,74,124,.65),transparent 55%),var(--ink-900);background-size:160% 160%;animation:cover-drift 18s var(--ease-in-out) infinite alternate;margin:40px 0 64px;max-width:560px}.case-cover-d{aspect-ratio:3/2;border-radius:var(--r-lg);background:radial-gradient(circle at 25% 35%,rgba(252,148,114,.65),transparent 55%),radial-gradient(circle at 80% 70%,rgba(212,74,124,.65),transparent 55%),var(--ink-900);background-size:160% 160%;animation:cover-drift 18s var(--ease-in-out) infinite alternate;margin:40px 0 64px;max-width:640px}@keyframes cover-drift{0%{background-position:0% 0%}to{background-position:100% 100%}}.prose{max-width:720px}.prose h2{margin:64px 0 16px}.prose p{font-size:18px;line-height:1.6;color:var(--fg-2);margin:0 0 20px}.prose ul{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:12px}.prose ul li{font-size:18px;line-height:1.6;color:var(--fg-2);padding-left:24px;position:relative}.prose ul li:before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.prose blockquote{border-left:3px solid var(--accent);padding:8px 0 8px 24px;margin:32px 0;font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.4;letter-spacing:-.01em;color:var(--fg-1)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:48px 0;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);margin:48px 0}@media (max-width: 600px){.stat-row{grid-template-columns:1fr;gap:24px}.stat .num{font-size:40px}}.stat{transition:transform var(--dur-3) var(--ease-spring);cursor:default}.stat:hover{transform:translateY(-4px)}.stat .num{font-family:var(--font-display);font-weight:700;font-size:56px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.stat .num em{font-style:normal}.stat .lbl{font-size:14px;color:var(--fg-3);margin-top:8px;transition:color var(--dur-2) var(--ease-out)}.stat:hover .lbl{color:var(--fg-1)}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:32px}}.about-portrait{aspect-ratio:4/5;border-radius:var(--r-lg);background:linear-gradient(135deg,#d44a7c80,#fc947280),var(--ink-800);background-size:180% 180%;animation:cover-drift 14s var(--ease-in-out) infinite alternate}.timeline-row{display:grid;grid-template-columns:96px 1fr;gap:32px;padding:20px 0;border-bottom:1px solid var(--border-1);position:relative;transition:padding-left var(--dur-3) var(--ease-spring)}.timeline-row:before{content:"";position:absolute;left:-8px;top:50%;width:6px;height:6px;border-radius:999px;background:var(--accent);transform:translateY(-50%) scale(0);transition:transform var(--dur-3) var(--ease-spring)}.timeline-row:hover{padding-left:16px}.timeline-row:hover:before{transform:translateY(-50%) scale(1)}.timeline-row:hover .tl-role{color:var(--accent)}.timeline-row .tl-role{transition:color var(--dur-2) var(--ease-out)}.timeline-row .yr{font-family:var(--font-mono);font-size:13px;color:var(--fg-3);padding-top:4px}.timeline-row .tl-role{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--fg-1)}.timeline-row .co{font-size:14px;color:var(--fg-3);margin-top:2px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}@media (max-width: 900px){.contact-grid{grid-template-columns:1fr;gap:32px}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-size:13px;font-weight:600;color:var(--fg-1)}.field input,.field textarea{font-family:var(--font-body);font-size:15px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--fg-1);transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.contact-info{display:flex;flex-direction:column;gap:16px}.contact-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--border-1);transition:padding-left var(--dur-3) var(--ease-spring),border-color var(--dur-2) var(--ease-out)}.contact-row:hover{padding-left:12px;border-color:var(--accent)}.contact-row .ico{color:var(--accent);transition:transform var(--dur-3) var(--ease-spring),color var(--dur-2) var(--ease-out)}.contact-row:hover .ico{transform:rotate(-8deg) scale(1.1);color:var(--accent-2)}.contact-row a{color:var(--fg-1);text-decoration:none;font-size:16px;font-weight:500;transition:color var(--dur-2) var(--ease-out)}.contact-row:hover a{color:var(--accent)}.footer{background:var(--ink-900);color:var(--paper-100);padding:80px 0 32px;margin-top:96px}.footer .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}@media (max-width: 768px){.footer .container{grid-template-columns:1fr;gap:32px}}.footer .big{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5vw,64px);letter-spacing:-.025em;line-height:.95;color:var(--paper-100)}.footer .big em{font-style:normal;background:linear-gradient(95deg,var(--magenta-300),var(--coral-300));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.footer .col h4{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta-300);margin:0 0 12px;font-family:var(--font-body)}.footer .col a{display:block;color:var(--paper-100);text-decoration:none;font-size:15px;padding:6px 0;transition:color var(--dur-2) var(--ease-out),padding-left var(--dur-3) var(--ease-spring);cursor:pointer}.footer .col a:hover{color:var(--magenta-300);padding-left:8px}.footer-bottom{margin-top:64px;padding-top:24px;border-top:1px solid rgba(245,234,216,.12);display:flex;justify-content:space-between;font-size:13px;color:var(--ink-300)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-pill);padding:4px}.theme-toggle button{border:0;background:transparent;padding:6px 10px;border-radius:var(--r-pill);font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--fg-3);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.theme-toggle button.active{background:var(--surface);color:var(--fg-1);box-shadow:var(--shadow-xs)}.page-enter{animation:pageIn var(--dur-3) var(--ease-out)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px;gap:24px;flex-wrap:wrap}.section-head h2{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,4vw,48px);letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--fg-1)}.section-head p{color:var(--fg-2);max-width:48ch;margin:0;font-size:17px;line-height:1.55}
