@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/_astro/Montserrat-Light.CPHNg_Dm.woff2)format("woff2"),url(/_astro/Montserrat-Light.D5wuBZ7D.woff)format("woff"),url(/_astro/Montserrat-Light.CYStSH7S.ttf)format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/Montserrat-Regular.CB6Ljo7d.woff2)format("woff2"),url(/_astro/Montserrat-Regular.DRoh7jzm.woff)format("woff"),url(/_astro/Montserrat-Regular.tKqXl-jQ.ttf)format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/Montserrat-Bold.Bsf7A8hH.woff2)format("woff2"),url(/_astro/Montserrat-Bold.cWG6a6a7.woff)format("woff"),url(/_astro/Montserrat-Bold.DGZhp5Ox.ttf)format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/JetBrainsMono-Regular.BQaDgvhP.woff2)format("woff2"),url(/_astro/JetBrainsMono-Regular.Dh36KTnx.ttf)format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/JetBrainsMono-Bold.D4WEaHbo.woff2)format("woff2"),url(/_astro/JetBrainsMono-Bold.DirYFTCx.ttf)format("truetype")}@font-face{font-family:Montserrat Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/Montserrat_wght_.DIiA8Ekq.woff2)format("woff2-variations"),url(/_astro/Montserrat_wght_.BMsoiBc-.ttf)format("truetype-variations")}:root{--hz-blue:#3498db;--hz-yellow:#fcd005;--hz-orange:#ff8d04;--hz-ink:#21262c;--hz-grey:#bdc3c7;--hz-white:#fff;--hz-logo-navy:#002640;--hz-blue-50:#ebf5fc;--hz-blue-100:#d3e9f8;--hz-blue-200:#a8d3f1;--hz-blue-300:#7cbdea;--hz-blue-400:#5dade2;--hz-blue-500:var(--hz-blue);--hz-blue-600:#2a86c9;--hz-blue-700:#1f6fa8;--hz-blue-800:#1a5a88;--hz-blue-900:#134466;--hz-neutral-0:var(--hz-white);--hz-neutral-50:#f4f6f7;--hz-neutral-100:#e9edef;--hz-neutral-200:#d5dbde;--hz-neutral-300:var(--hz-grey);--hz-neutral-400:#9aa3aa;--hz-neutral-500:#7b858d;--hz-neutral-600:#5b6670;--hz-neutral-700:#3e464e;--hz-neutral-800:#2a3038;--hz-neutral-900:var(--hz-ink);--hz-neutral-950:#171a1f;--hz-orange-700:#a85a00;--hz-orange-800:#8a4a00;--color-bg:var(--hz-neutral-0);--color-surface:var(--hz-neutral-50);--color-surface-raised:var(--hz-neutral-0);--color-border:var(--hz-neutral-200);--color-text:var(--hz-ink);--color-text-muted:var(--hz-neutral-600);--color-link:var(--hz-blue-700);--color-accent:var(--hz-blue);--color-on-accent:var(--hz-white);--color-button:var(--hz-blue-700);--color-on-button:var(--hz-white);--color-highlight:var(--hz-yellow);--color-warm:var(--hz-orange);--color-warm-text:var(--hz-orange-700);--color-accent-line:var(--hz-blue);--font-sans:"Montserrat", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--weight-heading:300;--weight-body:400;--weight-strong:700;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-4xl:3.5rem;--text-display:clamp(var(--text-2xl), 4.5vw, var(--text-4xl));--leading-tight:1.15;--leading-body:1.6;--tracking-caps:.12em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--content-max:72rem;--text-max:42rem;--header-height:64px;--badge-size:36px;--radius-pill:999px;--tracking-mono:.06em;--radius-sm:6px;--radius-badge:0 32% 24% 24%;--radius-button:0 11px 8px 8px;--radius-card:0 40px 28px 28px;--stroke-hairline:1px;--stroke-accent:2px;--stroke-diagram:2px;--shadow-raised:0 1px 2px #21262c0f, 0 8px 24px #21262c14;--scrim-strong:color-mix(in srgb, var(--bp-paper-deep) 90%, transparent);--scrim-soft:color-mix(in srgb, var(--bp-paper-deep) 66%, transparent);--on-scrim-muted:#ffffffe0;--bp-paper:#0e3f6b;--bp-paper-deep:#0a2f52;--bp-ink:var(--hz-white);--bp-ink-muted:#ffffffdb;--bp-grid-minor:#ffffff12;--bp-grid-major:#ffffff29;--bp-line:#ffffffd9;--bp-light-paper:var(--hz-white);--bp-light-grid-minor:#3498db1a;--bp-light-grid-major:#3498db38;--bp-light-line:var(--hz-blue-700);--bp-glow:#8cc8ff24;--bp-shade:#020c1c6b;--bp-shade-soft:#020c1c38;--bp-grid-step:16px;--bp-grid-major-step:80px;--sheet-paper:var(--hz-blue-50);--sheet-ink:var(--hz-ink);--sheet-ink-muted:var(--hz-neutral-700);--sheet-grid-minor:var(--bp-light-grid-minor);--sheet-grid-major:var(--bp-light-grid-major);--sheet-line:var(--hz-blue-700);--sheet-stamp:var(--hz-blue-700);--sheet-stamp-label:var(--hz-blue-700);--sheet-accent:var(--hz-orange);--sheet-pulse:var(--hz-blue);--sheet-accent-text:var(--hz-orange-800);--sheet-glow:#3498db1f;--sheet-shade:#ffffff8c;--sheet-shade-soft:#ffffff40;--ease-logo:cubic-bezier(.47, 0, .745, .715);--ease-standard:cubic-bezier(.2, 0, 0, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--hz-ink);--color-surface:var(--hz-neutral-800);--color-surface-raised:var(--hz-neutral-700);--color-border:var(--hz-neutral-700);--color-text:var(--hz-neutral-50);--color-text-muted:var(--hz-neutral-400);--color-link:var(--hz-blue-400);--color-accent:var(--hz-blue);--color-on-accent:var(--hz-white);--color-button:var(--hz-blue);--color-on-button:var(--hz-ink);--color-highlight:var(--hz-yellow);--color-warm:var(--hz-orange);--color-warm-text:var(--hz-orange);--color-accent-line:var(--hz-yellow);--shadow-raised:0 1px 2px #0000004d, 0 8px 24px #00000059;--sheet-paper:var(--bp-paper);--scrim-strong:#121519eb;--scrim-soft:#121519ad;--sheet-ink:var(--bp-ink);--sheet-ink-muted:var(--bp-ink-muted);--sheet-grid-minor:var(--bp-grid-minor);--sheet-grid-major:var(--bp-grid-major);--sheet-line:var(--hz-white);--sheet-stamp:var(--bp-ink);--sheet-stamp-label:var(--bp-ink-muted);--sheet-accent:var(--hz-yellow);--sheet-pulse:var(--hz-yellow);--sheet-accent-text:var(--hz-yellow);--sheet-glow:var(--bp-glow);--sheet-shade:var(--bp-shade);--sheet-shade-soft:var(--bp-shade-soft)}}:root[data-theme=dark]{--color-bg:var(--hz-ink);--color-surface:var(--hz-neutral-800);--color-surface-raised:var(--hz-neutral-700);--color-border:var(--hz-neutral-700);--color-text:var(--hz-neutral-50);--color-text-muted:var(--hz-neutral-400);--color-link:var(--hz-blue-400);--color-accent:var(--hz-blue);--color-on-accent:var(--hz-white);--color-button:var(--hz-blue);--color-on-button:var(--hz-ink);--color-highlight:var(--hz-yellow);--color-warm:var(--hz-orange);--color-warm-text:var(--hz-orange);--color-accent-line:var(--hz-yellow);--shadow-raised:0 1px 2px #0000004d, 0 8px 24px #00000059;--sheet-paper:var(--bp-paper);--scrim-strong:#121519eb;--scrim-soft:#121519ad;--sheet-ink:var(--bp-ink);--sheet-ink-muted:var(--bp-ink-muted);--sheet-grid-minor:var(--bp-grid-minor);--sheet-grid-major:var(--bp-grid-major);--sheet-line:var(--hz-white);--sheet-stamp:var(--bp-ink);--sheet-stamp-label:var(--bp-ink-muted);--sheet-accent:var(--hz-yellow);--sheet-pulse:var(--hz-yellow);--sheet-accent-text:var(--hz-yellow);--sheet-glow:var(--bp-glow);--sheet-shade:var(--bp-shade);--sheet-shade-soft:var(--bp-shade-soft)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}.btn{justify-content:center;align-items:center;gap:var(--space-2);font:var(--weight-strong) var(--text-sm) var(--font-sans);letter-spacing:.04em;padding:var(--space-3) var(--space-5);border-radius:var(--radius-button);cursor:pointer;background:var(--color-button);color:var(--color-on-button);transition:filter var(--duration-fast) var(--ease-standard);border:0;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover,.btn:focus-visible{filter:brightness(1.08);color:var(--color-on-button)}.btn--ghost{color:var(--color-link);box-shadow:inset 0 0 0 var(--stroke-hairline) var(--color-border);background:0 0}.btn--ghost:hover,.btn--ghost:focus-visible{color:var(--color-link)}.btn--small{padding:var(--space-2) var(--space-4)}.tag{font:var(--text-sm) var(--font-mono);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);border:var(--stroke-hairline) solid var(--color-border);color:var(--color-text);display:inline-block}.tag:before{content:"#";color:var(--color-warm-text)}.tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--color-surface-raised);border:var(--stroke-hairline) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-raised);color:inherit;transition:border-color var(--duration-base) var(--ease-standard);text-decoration:none;display:block}a.card:hover,a.card:focus-visible{border-color:var(--color-link)}@media (prefers-reduced-motion:reduce){.btn,.card{transition:none}}.brand__typed{line-height:var(--leading-tight);display:grid}.brand__typed b{font-family:"Montserrat Variable", var(--font-sans);letter-spacing:.17em;font-size:1.05rem;font-weight:560}.brand__typed span{font-weight:var(--weight-body);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);color:var(--color-text-muted)}.icon-btn{width:var(--badge-size);height:var(--badge-size);border-radius:var(--radius-pill);cursor:pointer;border:var(--stroke-hairline) solid var(--color-border);color:var(--color-text);background:0 0;place-items:center;padding:0;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--color-surface)}.lang{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono);padding:0 0 0 var(--tracking-mono);line-height:1}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:18px;height:18px}.theme-toggle__moon path{fill:currentColor;stroke:none}.theme-toggle__sun{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle__sun{display:block}:root:not([data-theme=light]) .theme-toggle__moon{display:none}}:root[data-theme=dark] .theme-toggle__sun{display:block}:root[data-theme=dark] .theme-toggle__moon{display:none}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.display{font-weight:var(--weight-heading);text-transform:uppercase;letter-spacing:var(--tracking-caps);line-height:var(--leading-tight);margin:0}.note{font-size:var(--text-sm);color:var(--color-text-muted)}.blueprint{--bp-light:radial-gradient(ellipse 60% 70% at 78% 20%, var(--sheet-glow), transparent 70%), linear-gradient(90deg, var(--sheet-shade), var(--sheet-shade-soft) 45%, transparent 65%, var(--sheet-shade-soft));--bp-stain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800'%3E%3Cfilter id='s' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0035 .005' numOctaves='5' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='1.8' intercept='-.4'/%3E%3CfeFuncG type='linear' slope='1.8' intercept='-.4'/%3E%3CfeFuncB type='linear' slope='1.8' intercept='-.4'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");--bp-fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");--bp-grid:linear-gradient(var(--sheet-grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--sheet-grid-major) 1px, transparent 1px), linear-gradient(var(--sheet-grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--sheet-grid-minor) 1px, transparent 1px);--bp-grid-size:var(--bp-grid-major-step) var(--bp-grid-major-step), var(--bp-grid-major-step) var(--bp-grid-major-step), var(--bp-grid-step) var(--bp-grid-step), var(--bp-grid-step) var(--bp-grid-step);isolation:isolate;background-color:var(--sheet-paper);background-image:var(--bp-light), var(--sheet-stain), var(--sheet-fiber), var(--bp-grid);background-size:100% 100%, 100% 100%, 100% 100%, 260px 260px, var(--bp-grid-size);background-blend-mode:normal, normal, var(--sheet-tex-blend), normal, normal, normal, normal;color:var(--sheet-ink);--sheet-stain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800'%3E%3Cfilter id='s' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0035 .005' numOctaves='5' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.35' intercept='.72'/%3E%3CfeFuncG type='linear' slope='.35' intercept='.72'/%3E%3CfeFuncB type='linear' slope='.35' intercept='.72'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");--sheet-fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.3' intercept='.8'/%3E%3CfeFuncG type='linear' slope='.3' intercept='.8'/%3E%3CfeFuncB type='linear' slope='.3' intercept='.8'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");--sheet-tex-blend:multiply, multiply;background-repeat:no-repeat,no-repeat,no-repeat,repeat,repeat,repeat,repeat,repeat;position:relative}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .blueprint{--sheet-stain:var(--bp-stain);--sheet-fiber:var(--bp-fiber);--sheet-tex-blend:soft-light, overlay}}:root[data-theme=dark] .blueprint{--sheet-stain:var(--bp-stain);--sheet-fiber:var(--bp-fiber);--sheet-tex-blend:soft-light, overlay}@media (width<=899px){.blueprint{--bp-light:radial-gradient(ellipse 90% 45% at 60% 15%, var(--sheet-glow), transparent 70%), linear-gradient(0deg, var(--sheet-shade), var(--sheet-shade-soft) 45%, transparent 70%)}}.blueprint.has-scene--live{background-image:var(--bp-light), var(--sheet-stain), var(--sheet-fiber);background-blend-mode:normal, normal, var(--sheet-tex-blend);background-repeat:no-repeat,no-repeat,no-repeat,repeat;background-size:100% 100%,100% 100%,100% 100%,260px 260px}:where(.blueprint)>*{z-index:1;position:relative}.stamp{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);color:var(--sheet-stamp-label);border:var(--stroke-hairline) solid currentColor;grid-template-columns:auto auto;display:inline-grid}.stamp>*{padding:var(--space-1) var(--space-3);border:.5px solid var(--sheet-stamp-label)}.stamp dt{color:var(--sheet-stamp-label)}.stamp dd{color:var(--sheet-stamp);margin:0}.toc{font-size:var(--text-sm)}.toc__title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-3)}.toc__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc__list a{column-gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text-muted);grid-template-columns:auto 1fr;line-height:1.35;text-decoration:none;display:grid}.toc__list a:hover{color:var(--color-text)}.toc__num{font-family:var(--font-mono);font-size:var(--text-xs);padding-top:2px}.toc__progress{height:var(--stroke-accent);margin-top:var(--space-2);background:var(--color-border);border-radius:var(--stroke-accent);grid-column:1/-1;position:relative}.toc__progress span{width:calc(var(--p,0) * 100%);background:var(--color-accent);border-radius:var(--stroke-accent);position:absolute;inset:0 auto 0 0}.toc__list a[aria-current=location]{color:var(--color-text);font-weight:var(--weight-strong)}.toc__list a[aria-current=location] .toc__progress span:after{content:"";border-radius:var(--stroke-accent);background:var(--hz-yellow);width:12px;height:100%;position:absolute;top:0;right:0}.toc__list a.is-read .toc__num{color:var(--color-link)}.toc__left{margin:var(--space-4) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.toc__bar{display:none}.section-title,.prose h2{font-size:var(--text-2xl);font-weight:var(--weight-heading);line-height:var(--leading-tight);padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:var(--stroke-accent) solid var(--color-accent-line)}.section-title:before,.prose h2:before{margin-bottom:var(--space-2);font:var(--weight-body) var(--text-xs) var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted);display:block}.section-title[data-label]:before{content:attr(data-label)}.card--cover{border-radius:var(--radius-card);isolation:isolate;aspect-ratio:4/3;color:var(--hz-white);padding:0;position:relative;overflow:hidden}.card--cover .card__media{z-index:-2;position:absolute;inset:0}.card--cover .card__media img{object-fit:cover;width:100%;height:100%;display:block}.card--cover:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to top, var(--scrim-strong) 0%, var(--scrim-soft) 50%, transparent 85%);position:absolute;inset:0}.card--cover .card__body{padding:var(--space-5);gap:var(--space-2);display:grid;position:absolute;inset:auto 0 0}.card--cover .eyebrow{color:var(--on-scrim-muted);margin:0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-text);font:var(--weight-body) var(--text-md) / var(--leading-body) var(--font-sans);margin:0}img,video,svg{max-width:100%}a{color:var(--color-link);text-underline-offset:3px}:focus-visible{outline:var(--stroke-accent) solid var(--color-link);outline-offset:3px}.blueprint :focus-visible{outline-color:var(--sheet-accent)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:min(100% - 2 * var(--space-4), var(--content-max));margin-inline:auto}.site-header{z-index:10;background:color-mix(in srgb, var(--color-bg) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--stroke-hairline) solid var(--color-border);position:sticky;top:0}.site-header__row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--header-height);display:flex}.brand{align-items:center;gap:max(var(--space-3), calc(var(--badge-size) / 4));color:inherit;text-decoration:none;display:flex}.brand__badge{width:var(--badge-size);height:var(--badge-size)}.brand__wordmark{width:auto;height:14px}.on-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .on-light{display:none}:root:not([data-theme=light]) .on-dark{display:inline-block}}:root[data-theme=dark] .on-light{display:none}:root[data-theme=dark] .on-dark{display:inline-block}.site-nav{align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}@media (width<=560px){.site-nav{gap:var(--space-2)}.brand__typed b{letter-spacing:var(--tracking-mono);font-size:.8rem}.icon-btn{width:32px;height:32px}.lang{padding-bottom:1px}.site-nav .btn--small{padding:var(--space-2) var(--space-3)}}html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:background-color var(--duration-slow) var(--ease-standard), color var(--duration-slow) var(--ease-standard), border-color var(--duration-slow) var(--ease-standard), fill var(--duration-slow) var(--ease-standard), stroke var(--duration-slow) var(--ease-standard), opacity var(--duration-slow) var(--ease-standard)!important}.scene-hero{align-items:flex-start;display:flex;position:relative;overflow-x:clip}.scene-hero,.scene-hero__scene,.cta{--fade-paint:var(--color-bg) 0, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 0.5%) calc(var(--fade-len) * .05), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 2.0%) calc(var(--fade-len) * .1), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 4.4%) calc(var(--fade-len) * .15), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 7.8%) calc(var(--fade-len) * .2), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 12.3%) calc(var(--fade-len) * .25), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 17.6%) calc(var(--fade-len) * .3), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 23.5%) calc(var(--fade-len) * .35), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 29.4%) calc(var(--fade-len) * .4), color-mix(in oklab, var(--color-bg), var(--sheet-paper) 35.3%) calc(var(--fade-len) * .45), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 41.2%) 97.7%, transparent) calc(var(--fade-len) * .5), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 47.1%) 91.3%, transparent) calc(var(--fade-len) * .55), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 52.9%) 81.7%, transparent) calc(var(--fade-len) * .6), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 58.8%) 69.9%, transparent) calc(var(--fade-len) * .65), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 64.7%) 56.8%, transparent) calc(var(--fade-len) * .7), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 70.6%) 43.2%, transparent) calc(var(--fade-len) * .75), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 76.5%) 30.1%, transparent) calc(var(--fade-len) * .8), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 82.4%) 18.3%, transparent) calc(var(--fade-len) * .85), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 88.2%) 8.7%, transparent) calc(var(--fade-len) * .9), color-mix(in oklab, color-mix(in oklab, var(--color-bg), var(--sheet-paper) 94.1%) 2.3%, transparent) calc(var(--fade-len) * .95), transparent var(--fade-len);--fade-mask:transparent 0, #00000004 calc(var(--fade-len) * .15), #00000012 calc(var(--fade-len) * .3), #0000002b calc(var(--fade-len) * .45), #00000052 calc(var(--fade-len) * .6), #00000087 calc(var(--fade-len) * .75), #000000c9 calc(var(--fade-len) * .9), #000 var(--fade-len)}.scene-hero:before,.cta:before{content:"";height:var(--fade-len);z-index:0;pointer-events:none;position:absolute;left:0;right:0}.scene-hero{--hero-fade:clamp(64px, 10vh, 120px);--hero-reach:0px;z-index:1;--fade-len:var(--hero-fade);padding-bottom:clamp(80px,14vh,160px)}.scene-hero:before{background:linear-gradient(to top, var(--fade-paint));bottom:0}.scene-hero__scene{-webkit-mask-image:linear-gradient(to top, var(--fade-mask));-webkit-mask-image:linear-gradient(to top, var(--fade-mask));mask-image:linear-gradient(to top, var(--fade-mask))}.scene-hero__fade{bottom:calc(-1 * var(--hero-reach));width:0;height:calc(var(--hero-fade) + var(--hero-reach));pointer-events:none;position:absolute;left:0}.scene-hero__scene{inset:0 0 calc(-1 * var(--hero-reach)) 0;z-index:0;pointer-events:none;--fade-len:calc(var(--hero-fade) + var(--hero-reach));position:absolute}.scene-hero__scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.scene-hero__text{padding-block:var(--space-6) var(--space-8);position:relative}.scene-hero__stage{height:40svh}@media (width>=900px){.scene-hero__stage{display:none}.scene-hero{align-items:stretch;height:clamp(684px,83svh,792px);min-height:0}.scene-hero__text{padding-block:var(--space-7) var(--space-8)}.scene-hero__text>*{max-width:min(46%,640px)}}.scene-hero--case{--hero-reach:clamp(240px, 45vh, 520px)}.case-layout{z-index:2;position:relative}.scene-hero--case .scene-hero__text{padding-block:var(--space-6) var(--space-7)}@media (width>=900px){.scene-hero--case .scene-hero__text{padding-block:var(--space-7)}}.scene__fallback{transition:opacity var(--duration-slow) var(--ease-standard);position:absolute}.scene__fallback--photo{inset:0 0 var(--hero-reach,0px) 0;width:100%;height:calc(100% - var(--hero-reach,0px));object-fit:cover;opacity:.3;mix-blend-mode:luminosity}.scene--live .scene__fallback{opacity:0}.cta{--cta-fade:clamp(160px, 28vh, 300px);--cta-reach:0px;--cta-lip:var(--space-9);--fade-len:calc(var(--cta-reach) + var(--cta-fade));margin-top:calc(-1 * var(--cta-reach));padding:calc(var(--fade-len) + var(--space-6)) 0 calc(var(--cta-lip) + var(--space-8))}.cta:before{background:linear-gradient(to bottom, var(--fade-paint));top:0}.cta.blueprint{--bp-light:radial-gradient(ellipse 60% calc((100% - var(--cta-reach)) * .6) at 72% calc(var(--cta-reach) + (100% - var(--cta-reach)) * .62), var(--sheet-glow), transparent 70%), linear-gradient(90deg, var(--sheet-shade), var(--sheet-shade-soft) 45%, transparent 65%, var(--sheet-shade-soft))}.cta__title{font-size:var(--text-display)}.cta__body{color:var(--sheet-ink);margin:var(--space-4) 0 var(--space-6);font-size:1.0625rem}.cta__mail{font:var(--weight-heading) clamp(var(--text-xl), 4vw, var(--text-3xl)) var(--font-sans);color:var(--sheet-ink);text-decoration-thickness:var(--stroke-hairline)}.cta__mail:hover{-webkit-text-decoration-color:var(--sheet-accent);text-decoration-color:var(--sheet-accent)}.case-layout{grid-template-columns:minmax(0,1fr);display:grid}.case-body{min-width:0}@media (width>=1100px){.case-layout{column-gap:var(--space-7);grid-template-columns:220px minmax(0,1fr)}.case-body{grid-column:2}}.prose{counter-reset:section figure;font-size:1.0625rem}.prose>:not(.figure):not(.pair){max-width:46rem}.prose>p{margin:0 0 var(--space-4)}.prose code{font-family:var(--font-mono);background:var(--color-surface);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.92em}.prose h2{counter-increment:section;scroll-margin-top:calc(var(--header-height) + var(--space-6));margin:var(--space-8) 0 var(--space-5)}.prose:lang(ru) h2:before{content:"Раздел " counter(section, decimal-leading-zero)}.prose:lang(en) h2:before{content:"Section " counter(section, decimal-leading-zero)}.callout{margin:var(--space-8) 0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:var(--stroke-accent) solid var(--color-accent-line);font-size:var(--text-lg);font-weight:var(--weight-heading)}.callout p{margin:0}.figure{margin:var(--space-6) 0;counter-increment:figure}.figure__media{border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.figure__media img,.figure__media video{width:100%;height:auto;display:block}.figure figcaption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.prose .figure figcaption:before{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--color-text);margin-right:var(--space-2)}.prose:lang(ru) .figure figcaption:before{content:"Рис. " counter(figure, decimal-leading-zero)}.prose:lang(en) .figure figcaption:before{content:"Fig. " counter(figure, decimal-leading-zero)}.case-cover{margin:var(--space-6) 0;counter-increment:none}.case-cover img{aspect-ratio:16/9;object-fit:cover}.figure--diagram .figure__media{padding:var(--space-4);background-color:var(--bp-light-paper);background-image:linear-gradient(var(--bp-light-grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--bp-light-grid-minor) 1px, transparent 1px);background-size:var(--bp-grid-step) var(--bp-grid-step);overflow-x:auto}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .figure--diagram .figure__media{background-color:var(--bp-paper);background-image:linear-gradient(var(--bp-grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--bp-grid-minor) 1px, transparent 1px)}}:root[data-theme=dark] .figure--diagram .figure__media{background-color:var(--bp-paper);background-image:linear-gradient(var(--bp-grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--bp-grid-minor) 1px, transparent 1px)}.figure--diagram .figure__media .dg{min-width:720px}.pair{gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:1fr 1fr;display:grid}.pair .figure{margin:0}.pair .figure__media{aspect-ratio:4/5}.pair .figure__media img,.pair .figure__media video{object-fit:cover;height:100%}.pair--phone .figure__media{aspect-ratio:9/16;background:var(--hz-neutral-950)}.pair--phone .figure__media img,.pair--phone .figure__media video{object-fit:contain}@media (width<=640px){.pair:not(.pair--phone){grid-template-columns:1fr}.pair:not(.pair--phone) .figure__media{aspect-ratio:auto}.pair:not(.pair--phone) .figure__media img,.pair:not(.pair--phone) .figure__media video{height:auto}}@media (width>=1100px){.toc{top:calc(var(--header-height) + var(--space-6));margin-top:var(--space-6);max-height:calc(100vh - var(--header-height) - var(--space-8));align-self:start;position:sticky;overflow:auto}}@media (width<=1099px){.toc{top:var(--header-height);z-index:5;margin-inline:calc(-1 * var(--space-4));background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--stroke-hairline) solid var(--color-border);position:sticky}.toc__bar{gap:0 var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:center;display:grid}.toc__bar-index{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.toc__bar-title{white-space:nowrap;text-overflow:ellipsis;font-weight:var(--weight-strong);overflow:hidden}.toc__bar-progress{height:var(--stroke-accent);margin-top:var(--space-2);background:var(--color-border);grid-column:1/-1;position:relative}.toc__bar-progress span{width:calc(var(--p,0) * 100%);background:var(--color-accent);position:absolute;inset:0 auto 0 0}.toc__title,.toc__list,.toc__left{display:none}.toc.is-open .toc__list{padding:0 var(--space-4) var(--space-3);display:grid}.toc.is-open .toc__left{padding:0 var(--space-4) var(--space-3);margin:0;display:block}}.cta{overflow:hidden}.cta__scene{z-index:0;-webkit-mask-image:linear-gradient(to bottom, var(--fade-mask));-webkit-mask-image:linear-gradient(to bottom, var(--fade-mask));mask-image:linear-gradient(to bottom, var(--fade-mask));position:absolute;inset:0}.cta__scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.cta__text{position:relative}.cta__fade,.cta__lip{pointer-events:none;width:0;position:absolute;left:0}.cta__fade{height:var(--fade-len);top:0}.cta__lip{height:var(--cta-lip);bottom:0}:root[data-motion=off] *,:root[data-motion=off] :before,:root[data-motion=off] :after{transition:none!important;animation:none!important}:root[data-motion=off]{scroll-behavior:auto}.debug-panel{left:var(--space-3);bottom:var(--space-3);z-index:100;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font:var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--color-text);background:var(--color-surface-raised);border:var(--stroke-hairline) solid var(--color-border);border-radius:var(--radius-button);box-shadow:var(--shadow-raised);display:flex;position:fixed}.debug-panel__fps{min-width:6ch}.debug-panel button{font:inherit;color:inherit;border:var(--stroke-hairline) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);cursor:pointer;background:0 0}.debug-panel button:hover{border-color:var(--color-link)}.scene-hero.has-scene--live{cursor:grab;touch-action:pan-y}.scene-hero.has-scene--live .scene-hero__text>:not(.scene-hero__stage){cursor:auto}:root[data-spinning],:root[data-spinning] *{cursor:grabbing!important}
