:root{--brand:#0a2d5e;--brand-deep:#061d3d;--brand-hover:#0e3a72;--brand-lit:#1456a0;--brand-tint:#e7eef7;--accent:#c8a24b;--accent-hover:#d4b365;--accent-tint:#f3ead4;--accent-ink:#061d3d;--paper:#fff;--surface:#f7f3ec;--surface-2:#efe9dd;--ink:#16263d;--body:#43536a;--muted:#7b8798;--line:#e6e3da;--line-dark:#ffffff29;--foot-bg:#05172f;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Fira Code", Menlo, monospace;--h1-size:clamp(40px, 6vw, 76px);--h1-weight:800;--h1-leading:1.02;--h1-tracking:-.035em;--h2-size:clamp(30px, 4.2vw, 50px);--h2-weight:800;--h2-leading:1.05;--h2-tracking:-.03em;--h3-size:clamp(20px, 2vw, 23px);--h3-weight:700;--h3-leading:1.2;--h3-tracking:-.01em;--lede-size:clamp(17px, 1.4vw, 19px);--lede-leading:1.65;--body-size:17px;--body-leading:1.6;--eyebrow-size:13px;--eyebrow-weight:700;--eyebrow-tracking:.18em;--eyebrow-transform:uppercase;--eyebrow-rule:30px;--stat-size:clamp(32px, 3.6vw, 50px);--stat-weight:500;--r-sm:8px;--r:14px;--r-lg:22px;--r-pill:999px;--border-w:1px;--shadow-sm:0 2px 10px #0a2d5e0f;--shadow:0 18px 40px -18px #0a2d5e47;--shadow-lg:0 40px 80px -30px #061d3d73;--shadow-accent:0 10px 24px -10px #c8a24bb3;--maxw:1220px;--gut:clamp(20px, 5vw, 64px);--section-pad:clamp(56px, 8vw, 110px);--ease-out:cubic-bezier(.2, .7, .3, 1);--t-fast:.18s;--t-base:.25s;--t-slow:.5s;--vt-exit:.15s;--vt-enter:.21s;--vt-move:.4s;--vt-morph:.4s;--vt-travel:60px}
[data-colorway=navy]{--brand:#0a2d5e;--brand-deep:#061d3d;--brand-hover:#0e3a72;--brand-lit:#1456a0;--brand-tint:#e7eef7;--accent:#c8a24b;--accent-hover:#d4b365;--accent-tint:#f3ead4;--accent-ink:#061d3d;--paper:#fff;--surface:#f7f3ec;--surface-2:#efe9dd;--ink:#16263d;--body:#43536a;--muted:#7b8798;--line:#e6e3da;--foot-bg:#05172f}[data-colorway=ink]{--brand:#1a1a1a;--brand-deep:#0d0d0d;--brand-hover:#333;--brand-lit:#4a4a4a;--brand-tint:#f0f0ef;--accent:#8a7f6d;--accent-hover:#a19683;--accent-tint:#f2efe9;--accent-ink:#fff;--paper:#fff;--surface:#f6f5f3;--surface-2:#e9e7e3;--ink:#121212;--body:#3f3f3f;--muted:#7a7a7a;--line:#e2e0dc;--foot-bg:#0d0d0d}[data-colorway=forest]{--brand:#14452f;--brand-deep:#0b2d1e;--brand-hover:#1c5b3e;--brand-lit:#2f7d55;--brand-tint:#e3efe8;--accent:#b08d3f;--accent-hover:#c4a055;--accent-tint:#f2ead6;--accent-ink:#0b2d1e;--paper:#fff;--surface:#f4f6f2;--surface-2:#e6ebe3;--ink:#16241d;--body:#41544a;--muted:#7a8b81;--line:#dee5da;--foot-bg:#08251a}[data-colorway=clay]{--brand:#8c4527;--brand-deep:#5c2c19;--brand-hover:#a5542f;--brand-lit:#c26b3c;--brand-tint:#f7e8e0;--accent:#4a7c6f;--accent-hover:#5c9184;--accent-tint:#e0ede9;--accent-ink:#fff;--paper:#fff;--surface:#faf4ee;--surface-2:#f0e5da;--ink:#2e1d15;--body:#5a463c;--muted:#94827a;--line:#e9ddd2;--foot-bg:#4a2314}[data-colorway=plum]{--brand:#4a2352;--brand-deep:#2e1434;--brand-hover:#5f2f69;--brand-lit:#814491;--brand-tint:#f0e6f2;--accent:#c47a92;--accent-hover:#d491a6;--accent-tint:#f7e8ed;--accent-ink:#2e1434;--paper:#fff;--surface:#f9f5f8;--surface-2:#efe6ed;--ink:#241528;--body:#4f3f53;--muted:#8a7a8d;--line:#e6dce6;--foot-bg:#241028}[data-colorway=ocean]{--brand:#0d4a5c;--brand-deep:#062f3b;--brand-hover:#14647b;--brand-lit:#1c8ba6;--brand-tint:#e0f0f4;--accent:#e07a5f;--accent-hover:#ea9077;--accent-tint:#fbe8e2;--accent-ink:#062f3b;--paper:#fff;--surface:#f2f8f9;--surface-2:#e2eef1;--ink:#10262d;--body:#3d545c;--muted:#7794a0;--line:#d9e7ea;--foot-bg:#042630}[data-colorway=ember]{--brand:#2b2b2e;--brand-deep:#18181a;--brand-hover:#3f3f44;--brand-lit:#5c5c63;--brand-tint:#ededef;--accent:#d9662b;--accent-hover:#e77e46;--accent-tint:#fbe9dd;--accent-ink:#18181a;--paper:#fff;--surface:#f6f5f4;--surface-2:#e8e6e3;--ink:#1c1c1e;--body:#47474d;--muted:#82828a;--line:#e3e1de;--foot-bg:#131315}[data-colorway=sage]{--brand:#4a5d50;--brand-deep:#2c3a31;--brand-hover:#5d7264;--brand-lit:#7a9182;--brand-tint:#eaefeb;--accent:#bfa06a;--accent-hover:#cfb381;--accent-tint:#f4ecdd;--accent-ink:#2c3a31;--paper:#fff;--surface:#f6f7f4;--surface-2:#e9ebe5;--ink:#1f2a23;--body:#4b574f;--muted:#869088;--line:#e1e5dd;--foot-bg:#26332b}[data-colorway=rose]{--brand:#7d2140;--brand-deep:#521228;--brand-hover:#962b50;--brand-lit:#b8496f;--brand-tint:#f8e5eb;--accent:#c9a227;--accent-hover:#dab545;--accent-tint:#f8f0d8;--accent-ink:#521228;--paper:#fff;--surface:#fbf5f6;--surface-2:#f2e4e8;--ink:#2b141b;--body:#574149;--muted:#8f7b81;--line:#ebdbe0;--foot-bg:#430f20}[data-colorway=slate]{--brand:#3a4a5c;--brand-deep:#222e3a;--brand-hover:#4c6076;--brand-lit:#6b829b;--brand-tint:#e8edf2;--accent:#d99b30;--accent-hover:#e5ae4e;--accent-tint:#faeed6;--accent-ink:#222e3a;--paper:#fff;--surface:#f5f7f9;--surface-2:#e6eaef;--ink:#1b242e;--body:#45525f;--muted:#7e8b99;--line:#dfe4ea;--foot-bg:#1c2630}[data-colorway=sand]{--brand:#6b5334;--brand-deep:#453320;--brand-hover:#85683f;--brand-lit:#a3844f;--brand-tint:#f2ead9;--accent:#3f6b63;--accent-hover:#4f8479;--accent-tint:#dfece9;--accent-ink:#fff;--paper:#fff;--surface:#faf6ef;--surface-2:#efe7d9;--ink:#2a2114;--body:#554836;--muted:#8d8069;--line:#e8dfcd;--foot-bg:#3a2a17}[data-colorway=mint]{--brand:#1d5a52;--brand-deep:#0f3b35;--brand-hover:#2a7a6f;--brand-lit:#3d9d8f;--brand-tint:#e0f2ee;--accent:#1e3a5f;--accent-hover:#2d5183;--accent-tint:#e2e9f2;--accent-ink:#fff;--paper:#fff;--surface:#f2f9f7;--surface-2:#e0eeea;--ink:#122b27;--body:#3f544f;--muted:#7a938d;--line:#d8e8e4;--foot-bg:#0c322d}
:root{--stack-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--stack-serif:Georgia, "Times New Roman", "Songti SC", "Noto Serif SC", "Source Han Serif SC", serif;--stack-mono:"SF Mono", "Fira Code", "JetBrains Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--stack-grotesk:"Helvetica Neue", Helvetica, Arial, "Inter", "PingFang SC", "Noto Sans SC", sans-serif}[data-template=editorial]{--font-display:var(--stack-sans);--font-sans:var(--stack-sans)}[data-template=minimal]{--font-display:var(--stack-sans);--font-sans:var(--stack-sans);--h1-size:clamp(32px, 4vw, 52px);--h1-weight:600;--h1-tracking:-.025em;--h2-size:clamp(24px, 2.8vw, 34px);--h2-weight:600;--h3-size:clamp(17px, 1.5vw, 19px);--body-size:16px;--lede-size:clamp(16px, 1.2vw, 18px);--eyebrow-rule:0px;--eyebrow-tracking:.12em;--eyebrow-weight:600;--r-sm:4px;--r:6px;--r-lg:8px;--shadow-sm:none;--shadow:0 1px 2px #0000000d;--shadow-lg:0 8px 24px -12px #0000002e;--shadow-accent:none;--maxw:940px;--section-pad:clamp(48px, 6vw, 88px)}[data-template=warm]{--font-display:var(--stack-serif);--font-sans:var(--stack-sans);--h1-size:clamp(38px, 5.4vw, 66px);--h1-weight:600;--h1-leading:1.08;--h1-tracking:-.02em;--h2-weight:600;--h2-leading:1.15;--h3-weight:600;--lede-leading:1.75;--body-leading:1.72;--eyebrow-transform:none;--eyebrow-tracking:.06em;--r-sm:12px;--r:20px;--r-lg:32px;--maxw:1120px;--section-pad:clamp(64px, 9vw, 128px)}[data-template=bold]{--font-display:var(--stack-grotesk);--font-sans:var(--stack-sans);--h1-size:clamp(52px, 9vw, 132px);--h1-weight:900;--h1-leading:.92;--h1-tracking:-.05em;--h2-size:clamp(36px, 6vw, 76px);--h2-weight:900;--h2-leading:.98;--h2-tracking:-.045em;--h3-size:clamp(21px, 2.2vw, 26px);--h3-weight:800;--stat-size:clamp(44px, 6vw, 88px);--stat-weight:900;--eyebrow-weight:800;--r-sm:6px;--r:10px;--r-lg:14px;--section-pad:clamp(72px, 10vw, 148px)}[data-template=mono]{--font-display:var(--stack-mono);--font-sans:var(--stack-mono);--h1-size:clamp(30px, 4.4vw, 56px);--h1-weight:700;--h1-leading:1.14;--h1-tracking:-.02em;--h2-size:clamp(24px, 3vw, 38px);--h2-weight:700;--h2-tracking:-.015em;--h3-size:18px;--h3-weight:700;--body-size:15px;--body-leading:1.7;--lede-size:clamp(15px, 1.2vw, 17px);--eyebrow-size:12px;--eyebrow-tracking:.14em;--eyebrow-rule:16px;--stat-weight:700;--r-sm:2px;--r:3px;--r-lg:4px;--r-pill:4px;--shadow-sm:none;--shadow:0 2px 0 0 var(--line);--shadow-lg:0 4px 0 0 var(--line);--shadow-accent:none;--maxw:1040px}[data-template=swiss]{--font-display:var(--stack-grotesk);--font-sans:var(--stack-grotesk);--h1-size:clamp(42px, 6.4vw, 84px);--h1-weight:700;--h1-leading:.98;--h1-tracking:-.04em;--h2-size:clamp(28px, 4vw, 48px);--h2-weight:700;--h2-tracking:-.035em;--h3-weight:700;--body-size:16px;--body-leading:1.5;--eyebrow-rule:0px;--eyebrow-tracking:.1em;--r-sm:0px;--r:0px;--r-lg:0px;--r-pill:0px;--shadow-sm:none;--shadow:none;--shadow-lg:none;--shadow-accent:none;--maxw:1280px;--section-pad:clamp(56px, 7vw, 104px)}[data-template=brutalist]{--font-display:var(--stack-grotesk);--font-sans:var(--stack-mono);--h1-size:clamp(44px, 7.5vw, 104px);--h1-weight:900;--h1-leading:.94;--h1-tracking:-.04em;--h2-size:clamp(30px, 4.6vw, 58px);--h2-weight:900;--h3-weight:800;--body-size:16px;--eyebrow-weight:800;--eyebrow-tracking:.2em;--eyebrow-rule:0px;--r-sm:0px;--r:0px;--r-lg:0px;--r-pill:0px;--border-w:2px;--shadow-sm:none;--shadow:6px 6px 0 0 var(--ink);--shadow-lg:10px 10px 0 0 var(--ink);--shadow-accent:6px 6px 0 0 var(--ink);--maxw:1180px}[data-template=glass]{--font-display:var(--stack-sans);--font-sans:var(--stack-sans);--h1-weight:700;--h1-tracking:-.03em;--h2-weight:700;--r-sm:14px;--r:22px;--r-lg:34px;--shadow-sm:0 2px 16px #0000000d;--shadow:0 20px 50px -20px #00000038;--shadow-lg:0 44px 90px -34px #00000059;--card-bg:color-mix(in srgb, var(--paper) 62%, transparent);--card-blur:14px;--card-border:color-mix(in srgb, var(--ink) 10%, transparent);--section-pad:clamp(64px, 9vw, 124px)}[data-template=compact]{--font-display:var(--stack-sans);--font-sans:var(--stack-sans);--h1-size:clamp(30px, 3.8vw, 48px);--h1-weight:700;--h1-leading:1.1;--h2-size:clamp(22px, 2.4vw, 30px);--h2-weight:700;--h2-leading:1.2;--h3-size:17px;--body-size:15px;--body-leading:1.55;--lede-size:16px;--lede-leading:1.55;--eyebrow-size:11px;--eyebrow-rule:18px;--stat-size:clamp(26px, 2.6vw, 36px);--r-sm:5px;--r:8px;--r-lg:12px;--maxw:1100px;--section-pad:clamp(32px, 4vw, 60px)}[data-template=stack]{--font-display:var(--stack-serif);--font-sans:var(--stack-sans);--h1-size:clamp(44px, 7vw, 92px);--h1-weight:500;--h1-leading:1.04;--h1-tracking:-.025em;--h2-size:clamp(32px, 5vw, 62px);--h2-weight:500;--h2-leading:1.1;--h3-weight:600;--lede-size:clamp(18px, 1.7vw, 22px);--lede-leading:1.7;--eyebrow-transform:uppercase;--eyebrow-tracking:.22em;--r-sm:6px;--r:10px;--r-lg:16px;--maxw:1160px;--section-pad:clamp(96px, 14vw, 200px)}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h,84px) + 16px);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);font-size:var(--body-size);line-height:var(--body-leading);color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gut);margin-inline:auto}.site-main{display:block}.section{padding-block:var(--section-pad);background:var(--paper);color:var(--body);position:relative}.section[data-theme=light]{background:var(--paper);color:var(--body)}.section[data-theme=surface]{background:var(--surface);color:var(--body)}.section[data-theme=accent]{background:var(--accent-tint);color:var(--body)}.section[data-theme=dark]{background:var(--brand-deep);color:#ffffffdb}.section[data-spacing=compact]{padding-block:clamp(36px,5vw,64px)}.section[data-spacing=normal]{padding-block:var(--section-pad)}.section[data-spacing=large]{padding-block:clamp(80px,11vw,150px)}.section[data-align=center]{text-align:center}.section[data-align=center] .lede{margin-inline:auto}.section-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.section-bg img{object-fit:cover;width:100%;height:100%}.section[data-overlay=light] .section-bg:after,.section[data-overlay=medium] .section-bg:after,.section[data-overlay=heavy] .section-bg:after{content:"";background:var(--brand-deep);position:absolute;inset:0}.section[data-overlay=light] .section-bg:after{opacity:.35}.section[data-overlay=medium] .section-bg:after{opacity:.6}.section[data-overlay=heavy] .section-bg:after{opacity:.82}.section[data-bg]>.wrap{z-index:1;position:relative}h1,h2,h3,h4{color:var(--ink);font-family:var(--font-display);margin:0}h1{font-size:var(--h1-size);font-weight:var(--h1-weight);line-height:var(--h1-leading);letter-spacing:var(--h1-tracking);text-wrap:balance}h2{font-size:var(--h2-size);font-weight:var(--h2-weight);line-height:var(--h2-leading);letter-spacing:var(--h2-tracking);text-wrap:balance}h3{font-size:var(--h3-size);font-weight:var(--h3-weight);line-height:var(--h3-leading);letter-spacing:var(--h3-tracking);text-wrap:balance}p{text-wrap:pretty;margin:0 0 1em}p:last-child{margin-bottom:0}.lede{font-size:var(--lede-size);line-height:var(--lede-leading);color:var(--body);text-wrap:pretty;max-width:62ch}.hl{color:var(--accent);font-style:normal}.eyebrow{font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:var(--eyebrow-transform);color:var(--accent);align-items:center;gap:12px;margin:0 0 18px;display:inline-flex}.eyebrow:before{content:"";width:var(--eyebrow-rule);background:var(--accent);height:2px;display:inline-block}.section[data-align=center] .eyebrow{justify-content:center}.section[data-align=center] .eyebrow:after{content:"";width:var(--eyebrow-rule);background:var(--accent);height:2px;display:inline-block}.kicker{font-size:var(--kicker-size,12px);font-weight:var(--kicker-weight,800);letter-spacing:var(--kicker-tracking,.12em);text-transform:uppercase;color:var(--muted)}.section-head{max-width:72ch;margin-bottom:clamp(28px,4vw,48px)}.section[data-align=center] .section-head{margin-inline:auto}.btn{border-radius:var(--r-pill);transition:transform var(--t-fast), box-shadow var(--t-base), background var(--t-base), color var(--t-base);border:none;align-items:center;gap:9px;padding:14px 26px;font-size:15px;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-accent)}.btn-accent:hover{background:var(--accent-hover)}.btn-brand{background:var(--brand);color:#fff}.btn-brand:hover{background:var(--brand-hover)}.btn-ghost{color:var(--ink);border:1.5px solid color-mix(in srgb, var(--ink) 30%, transparent);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.section[data-theme=dark] .btn-ghost{color:#fff;border-color:#ffffff8c}.section[data-theme=dark] .btn-ghost:hover{color:var(--brand);background:#fff;border-color:#fff}.btn-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.section[data-align=center] .btn-row{justify-content:center}.link-more{color:var(--brand-lit);transition:gap var(--t-base) var(--ease-out), color var(--t-base);align-items:center;gap:8px;font-weight:700;display:inline-flex}.link-more:hover{color:var(--accent);gap:13px}.card{background:var(--card-bg,var(--paper));-webkit-backdrop-filter:var(--card-blur,none) saturate(1.2);backdrop-filter:var(--card-blur,none) saturate(1.2);border:var(--border-w) solid var(--card-border,var(--line));border-radius:var(--r);box-shadow:var(--shadow-sm);transition:transform var(--t-base) var(--ease-out), box-shadow var(--t-base);padding:clamp(20px,2.4vw,30px);position:relative}.card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.card-link:after{content:"";position:absolute;inset:0}.card-title{margin-bottom:8px}.card-meta{color:var(--muted);margin-bottom:12px;font-size:13px}.grid{gap:clamp(16px,2vw,26px);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.section[data-theme=dark] h1,.section[data-theme=dark] h2,.section[data-theme=dark] h3,.section[data-theme=dark] h4{color:#fff}.section[data-theme=dark] .lede{color:#fffc}.section[data-theme=dark] .card{border-color:var(--line-dark);box-shadow:none;background:#ffffff0d}.section[data-theme=dark] .card-meta,.section[data-theme=dark] .kicker{color:#fff9}.section[data-theme=dark] .link-more{color:var(--accent)}.hero{align-items:center;gap:clamp(28px,4vw,56px);display:grid}.hero[data-has-portrait=true]{grid-template-columns:1.35fr .65fr}.section[data-image-position=left] .hero[data-has-portrait=true]{grid-template-columns:.65fr 1.35fr}.section[data-image-position=left] .hero[data-has-portrait=true] .hero-portrait{order:-1}@media (max-width:860px){.hero[data-has-portrait=true]{grid-template-columns:1fr}}.hero-portrait{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.hero-meta{border-top:var(--border-w) solid var(--line-dark);letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding-top:20px;font-size:12px;font-weight:700;display:flex}.rotor{color:var(--accent);font-weight:inherit;display:inline-block}.rotor-word{will-change:transform, opacity;transition:transform .35s var(--ease-out), opacity .35s var(--ease-out);display:inline-block}.stat-value{font-family:var(--font-display);font-size:var(--stat-size);font-weight:var(--stat-weight);color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.stat-value .unit{color:var(--accent)}.stat-label{color:var(--muted);margin-top:10px;font-size:14px}.section[data-theme=dark] .stat-value{color:#fff}.exp-row{border-bottom:var(--border-w) solid var(--line);transition:background var(--t-base);grid-template-columns:190px 1fr auto;align-items:baseline;gap:20px;padding:22px 12px;display:grid}.exp-row:hover{background:var(--surface)}.exp-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}@media (max-width:780px){.exp-row{grid-template-columns:1fr;gap:6px}}.section[data-theme=dark] .exp-row{border-color:var(--line-dark)}.section[data-theme=dark] .exp-row:hover{background:#ffffff0a}.proj{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,56px);display:grid}.proj[data-has-cover=false]{grid-template-columns:1fr}.proj:nth-child(2n) .proj-media{order:2}@media (max-width:860px){.proj{grid-template-columns:1fr}.proj:nth-child(2n) .proj-media{order:0}}.proj-media{border-radius:var(--r-lg);box-shadow:var(--shadow);aspect-ratio:4/3;overflow:hidden}.proj-media img{object-fit:cover;width:100%;height:100%;transition:transform var(--t-slow) var(--ease-out)}.proj:hover .proj-media img{transform:scale(1.04)}.exp-company{align-items:center;gap:8px;display:flex}.exp-logo{object-fit:contain;border-radius:4px;flex:none;width:20px;height:20px}.image-slot{box-shadow:none;text-align:center;color:var(--muted);background:color-mix(in srgb, var(--brand) 6%, var(--paper));border:1px dashed color-mix(in srgb, var(--brand) 28%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;display:flex}.image-slot-mark{opacity:.5}.image-slot-label{font-size:.82rem;font-weight:600}.image-slot-hint{opacity:.75;font-size:.72rem}.gallery{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.gallery img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);width:100%}.gallery-slot{aspect-ratio:1;border-radius:var(--r-sm)}.quote{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;max-width:22ch;font-size:clamp(24px,3.4vw,40px);font-weight:500;line-height:1.28}.section[data-align=center] .quote{margin-inline:auto}.section[data-theme=dark] .quote{color:#fff}.quote-cite{color:var(--muted);margin-top:20px;font-size:14px}.tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tag{border-radius:var(--r-pill);background:var(--surface-2);color:var(--body);padding:5px 11px;font-size:12px;font-weight:600}.section[data-theme=dark] .tag{color:#ffffffd1;background:#ffffff17}.site-footer{background:var(--foot-bg);color:#ffffff9e;padding-block:clamp(44px,6vw,76px);font-size:14px}.site-footer a:hover{color:var(--accent)}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 32px;display:flex}.footer-credit{color:#ffffff61;transition:color var(--t-base);font-size:12px}.footer-credit:hover{color:#ffffffb3}.skeleton-bar{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--tone,#e9e9e9) 0%, var(--tone-lit,#f4f4f4) 50%, var(--tone,#e9e9e9) 100%);background-size:300% 100%;animation:1.6s ease-in-out infinite skeleton-sheen}@keyframes skeleton-sheen{0%{background-position:150% 0}to{background-position:-150% 0}}
.masthead{z-index:60;background:color-mix(in srgb, var(--paper) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--border-w) solid var(--line);transition:box-shadow var(--t-base), background var(--t-base), height var(--t-base);position:sticky;top:0}.masthead .wrap{height:var(--nav-h,84px);transition:height var(--t-base) var(--ease-out);align-items:center;gap:28px;display:flex}.nav-brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:12px;font-weight:800;display:inline-flex}.nav-brand-tile{width:var(--nav-tile,42px);height:var(--nav-tile,42px);border-radius:calc(var(--r) - 3px);background:var(--brand);color:#fff;transition:width var(--t-base), height var(--t-base);flex:none;place-items:center;font-size:15px;display:grid;overflow:hidden}.nav-brand-tile img{object-fit:cover;width:100%;height:100%}.nav{align-items:center;gap:4px;margin-left:auto;display:flex}.nav>a{color:var(--ink);border-radius:var(--r-sm);transition:color var(--t-fast);padding:10px 14px;font-size:15px;font-weight:700;position:relative}.nav>a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform var(--t-base) var(--ease-out);position:absolute;inset:auto 14px 4px;transform:scaleX(0)}.nav>a:hover:after,.nav>a[aria-current=page]:after,.nav>a[data-section=true]:after{transform:scaleX(1)}.nav>a.nav-cta{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-pill);margin-left:8px;padding:11px 20px}.nav>a.nav-cta:after{display:none}.nav>a.nav-cta:hover{background:var(--accent-hover)}.nav-meta{border-left:var(--border-w) solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:14px;margin-left:4px;padding-left:18px;font-size:13px;display:flex}.nav-burger{display:none}[data-nav=centered] .masthead .wrap{grid-template-columns:1fr auto 1fr;gap:20px;display:grid}[data-nav=centered] .nav-brand{grid-column:2;justify-self:center}[data-nav=centered] .nav{grid-area:1/1;justify-content:flex-start;margin-left:0}[data-nav=centered] .nav-meta{border-left:none;grid-area:1/3;justify-self:end;padding-left:0}[data-nav=floating] .masthead{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;position:fixed;inset:16px 0 auto}[data-nav=floating] .masthead .wrap{width:min(100% - 2 * var(--gut), var(--maxw));border-radius:var(--r-pill);background:color-mix(in srgb, var(--paper) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);border:var(--border-w) solid color-mix(in srgb, var(--ink) 8%, transparent);height:auto;box-shadow:var(--shadow);margin-inline:auto;padding:10px 14px 10px 18px}[data-nav=floating] .nav-brand-tile{--nav-tile:34px}[data-nav=floating] .site-main{padding-top:92px}@supports (animation-timeline:scroll(root)){@media (prefers-reduced-motion:no-preference){[data-nav=condense] .masthead .wrap{animation:linear both nav-condense;animation-timeline:scroll(root);animation-range:0 220px}[data-nav=condense] .nav-brand-tile{animation:linear both nav-tile-shrink;animation-timeline:scroll(root);animation-range:0 220px}}}@keyframes nav-condense{0%{height:92px}to{height:58px}}@keyframes nav-tile-shrink{0%{width:42px;height:42px}to{width:28px;height:28px}}@supports not (animation-timeline:scroll(root)){[data-nav=condense] .masthead .wrap{--nav-h:68px}}@media (min-width:1100px){[data-nav=sidebar] .masthead{border-bottom:none;border-right:var(--border-w) solid var(--line);background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;width:232px;position:fixed;inset:0 auto 0 0}[data-nav=sidebar] .masthead .wrap{flex-direction:column;align-items:flex-start;gap:32px;width:100%;height:100%;padding:36px 26px}[data-nav=sidebar] .nav{flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-left:0}[data-nav=sidebar] .nav>a{width:100%;padding:9px 0}[data-nav=sidebar] .nav>a:after{width:26px;inset:auto auto 2px 0}[data-nav=sidebar] .nav-meta{border-left:none;border-top:var(--border-w) solid var(--line);flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-top:auto;padding-top:18px;padding-left:0}[data-nav=sidebar] .site-main,[data-nav=sidebar] .site-footer{margin-left:232px}[data-nav=sidebar] .masthead{view-transition-name:site-header}}@media (max-width:900px){.nav,.nav-meta{display:none}.nav-burger{border:var(--border-w) solid var(--line);border-radius:var(--r-sm);width:44px;height:44px;color:var(--ink);background:0 0;place-items:center;margin-left:auto;display:grid}[data-nav=floating] .site-main{padding-top:84px}}.mobile-menu{z-index:80;background:var(--brand-deep);color:#fff;padding:96px var(--gut) 48px;flex-direction:column;gap:6px;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-menu a{letter-spacing:-.03em;color:#fff;padding:6px 0;font-size:clamp(34px,9vw,56px);font-weight:800}.mobile-menu a.sub{opacity:.72;padding-left:18px;font-size:20px;font-weight:600}.mobile-menu-close{top:26px;right:var(--gut);border:var(--border-w) solid var(--line-dark);border-radius:var(--r-sm);color:#fff;background:0 0;place-items:center;width:44px;height:44px;display:grid;position:absolute}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-motion]:not([data-motion=none]) .section .wrap>:not(.no-rv){animation:linear both reveal-rise;animation-timeline:view();animation-range:entry 4% cover 30%}[data-motion]:not([data-motion=none]) .section .wrap>:nth-child(2){animation-range:entry 8% cover 34%}[data-motion]:not([data-motion=none]) .section .wrap>:nth-child(3){animation-range:entry 12% cover 38%}[data-motion]:not([data-motion=none]) .section .wrap>:nth-child(n+4){animation-range:entry 16% cover 42%}[data-motion=rise] .section .wrap>:not(.no-rv){animation-name:reveal-rise}[data-motion=fade] .section .wrap>:not(.no-rv){animation-name:reveal-fade}[data-motion=wipe] .section .wrap>:not(.no-rv){animation-name:reveal-wipe}[data-motion=blur] .section .wrap>:not(.no-rv){animation-name:reveal-blur}[data-motion=scale] .section .wrap>:not(.no-rv){animation-name:reveal-scale}[data-motion=slide] .section .wrap>:nth-child(odd):not(.no-rv){animation-name:reveal-slide-left}[data-motion=slide] .section .wrap>:nth-child(2n):not(.no-rv){animation-name:reveal-slide-right}[data-motion]:not([data-motion=none]) .gallery img,[data-motion]:not([data-motion=none]) .media-reveal img{animation:linear both reveal-wipe;animation-timeline:view();animation-range:entry 10% cover 45%}}}@keyframes reveal-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes reveal-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes reveal-blur{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur()}}@keyframes reveal-scale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes reveal-slide-left{0%{opacity:0;transform:translate(-34px)}to{opacity:1;transform:none}}@keyframes reveal-slide-right{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:none}}@supports (animation-timeline:scroll(root)){@media (prefers-reduced-motion:no-preference){[data-effect-scroll-progress] .masthead:after{content:"";background:var(--accent);transform-origin:0;height:2px;animation:linear both scroll-progress;animation-timeline:scroll(root);position:absolute;inset:auto 0 -1px;transform:scaleX(0)}}}@keyframes scroll-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-effect-parallax] .section[data-bg] .section-bg{animation:linear both parallax-drift;animation-timeline:view();animation-range:cover}}}@keyframes parallax-drift{0%{transform:translateY(-6%)scale(1.12)}to{transform:translateY(6%)scale(1.12)}}[data-effect-sticky-stack] .stack-item{position:sticky;top:clamp(72px,12vh,132px)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-effect-sticky-stack] .stack-item{animation:linear both stack-recede;animation-timeline:view();animation-range:exit}}}@keyframes stack-recede{to{opacity:.55;transform:scale(.93)}}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{gap:var(--marquee-gap,48px);width:max-content;display:flex}.marquee-track .tags{flex-wrap:nowrap;margin-top:0}@media (prefers-reduced-motion:no-preference){[data-effect-marquee] .marquee-track{animation:marquee-scroll var(--marquee-duration,32s) linear infinite}[data-effect-marquee] .marquee:hover .marquee-track{animation-play-state:paused}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translateX(calc(-50% - var(--marquee-gap,48px) / 2))}}[data-effect-magnetic] .magnetic{transform:translate(var(--mx,0px), var(--my,0px));transition:transform var(--t-base) var(--ease-out)}[data-effect-magnetic] .magnetic:active{transition-duration:var(--t-fast)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.skeleton-bar,[data-effect-sticky-stack] .stack-item{animation:none!important}}@supports not (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-motion]:not([data-motion=none]) .will-reveal{opacity:0;transform:translateY(26px)}[data-motion=fade] .will-reveal{transform:none}[data-motion=blur] .will-reveal{filter:blur(10px);transform:none}[data-motion=scale] .will-reveal{transform:scale(.94)}[data-motion=slide] .will-reveal:nth-child(odd){transform:translate(-34px)}[data-motion=slide] .will-reveal:nth-child(2n){transform:translate(34px)}[data-motion]:not([data-motion=none]) .is-revealed{opacity:1;filter:none;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out), filter .6s var(--ease-out);transform:none}}}
