:root{--scheme-dark-text:#f7f9fc;--scheme-dark-ink:247,249,252;--scheme-dark-paper:#070a0f;--scheme-dark-stage-a:#0e1520;--scheme-dark-stage-b:#0a0f18;--scheme-dark-stage-c:#070a0f;--scheme-dark-surface:rgba(255,255,255,.05);--scheme-dark-surface-2:rgba(255,255,255,.12);--scheme-dark-panel:#111821;--scheme-dark-accent:#7ca7f2;--scheme-dark-accent-fill:#2a4a78;--scheme-dark-accent-ink:#0d0d0f;--scheme-dark-accent-hover:#93b5f4;--scheme-dark-accent-2:#5e8bdc;--scheme-dark-accent-lite:#a9c3f5;--scheme-dark-cta:#f7f9fc;--scheme-dark-cta-hover:#e6ecf4;--scheme-dark-cta-ink:#0d0d0f;--scheme-dark-status:#32d979;--scheme-dark-grid:rgba(255,255,255,.045);--scheme-dark-root:#0d0d0f;--scheme-dark-contact:#101a28;--scheme-light-text:#0d0d0f;--scheme-light-ink:13,13,15;--scheme-light-paper:#f8fafc;--scheme-light-stage-a:#f8fafc;--scheme-light-stage-b:#f1f5f9;--scheme-light-stage-c:#eef3f8;--scheme-light-surface:rgba(13,13,15,.04);--scheme-light-surface-2:rgba(13,13,15,.1);--scheme-light-panel:#fff;--scheme-light-accent:#3b6fc4;--scheme-light-accent-fill:#2a5aae;--scheme-light-accent-ink:#fff;--scheme-light-accent-hover:#2a5aae;--scheme-light-accent-2:#3b6fc4;--scheme-light-accent-lite:#5e86cc;--scheme-light-cta:#101722;--scheme-light-cta-hover:#1f2d40;--scheme-light-cta-ink:#fff;--scheme-light-status:#22c96b;--scheme-light-grid:rgba(20,28,38,.05);--scheme-light-root:#f7f9fc;--scheme-light-contact:#e4ecf6;--maxw:1560px;--pad-x:clamp(24px,5vw,80px);--content-measure:68ch;--wide-measure:980px;--font-sans:'Archivo',system-ui,sans-serif;--font-serif:'Instrument Serif',Georgia,serif;--font-body:'Inter',system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--diagram-node-radius:9px;--diagram-frame-radius:12px;--diagram-title-size:15px;--diagram-body-size:14px;--diagram-caption-size:12px;--type-meta:11px;--type-label:13px;--type-ui:15px;--type-body:clamp(16px,1.25vw,19px);--type-lead:clamp(18px,1.45vw,24px);--type-card-title:clamp(24px,2.2vw,34px);--type-section-title:clamp(38px,4.6vw,84px);--type-page-title:clamp(48px,7.3vw,112px);--button-height-compact:44px;--button-height-standard:48px;--button-height-large:56px;--button-font-size:var(--type-ui);--button-line-height:20px;--button-icon-size:20px;--button-badge-size:32px;--button-padding-compact:16px;--button-padding-standard:clamp(8px,2vw,20px);--button-padding-large:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--space-10:96px;--section-space:clamp(72px,9vw,144px);--radius-focus:6px;--radius-control:12px;--radius-panel:16px;--radius-card:20px;--radius-shell:26px;--radius-pill:999px;--duration-fast:.2s;--duration-normal:.3s;--duration-slow:.55s;--ease-standard:cubic-bezier(.22,1,.36,1);--ease-emphasis:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--theme-transition:var(--duration-slow) var(--ease-standard);--shadow-control:0 14px 34px -16px rgba(0,0,0,.35);--shadow-float:0 16px 36px -14px rgba(0,0,0,.6),0 2px 8px -3px rgba(0,0,0,.35);--shadow-overlay:0 34px 80px -22px rgba(0,0,0,.55);--year-fill:transparent;--year-stroke:1.4px color-mix(in srgb,var(--accent-lite) 62%,transparent)}:root,[data-theme=dark]{--color-code-background:color-mix(in srgb,var(--panel-solid) 82%,var(--text) 18%);--color-code-comment:#bbc3cf;--color-code-keyword:#c9a7f4;--color-code-string:#a8d8ac;--color-code-symbol:#a9c3f5;--color-code-literal:#d5b88f;--text:var(--scheme-dark-text);--ink:var(--scheme-dark-ink);--paper:var(--scheme-dark-paper);--stage-a:var(--scheme-dark-stage-a);--stage-b:var(--scheme-dark-stage-b);--stage-c:var(--scheme-dark-stage-c);--surface:var(--scheme-dark-surface);--surface-2:var(--scheme-dark-surface-2);--panel-solid:var(--scheme-dark-panel);--accent:var(--scheme-dark-accent);--accent-fill:var(--scheme-dark-accent-fill);--accent-ink:var(--scheme-dark-accent-ink);--accent-hover:var(--scheme-dark-accent-hover);--accent-hover-ink:var(--scheme-dark-accent-ink);--accent-2:var(--scheme-dark-accent-2);--accent-lite:var(--scheme-dark-accent-lite);--cta:var(--scheme-dark-cta);--cta-hover:var(--scheme-dark-cta-hover);--cta-ink:var(--scheme-dark-cta-ink);--status:var(--scheme-dark-status);--grid:var(--scheme-dark-grid);--logo-invert:1;--root-bg:var(--scheme-dark-root);--contact-bg:var(--scheme-dark-contact);--project-sheet-bg:radial-gradient(120% 90% at 80% -10%,var(--panel-solid) 0%,var(--stage-a) 48%,var(--stage-c) 100%);--project-sheet-bar-bg:color-mix(in srgb,var(--paper) 88%,transparent);--shadow-stage:0 60px 150px -50px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.055);--shadow-stage-bleed:0 0 0 1px rgba(255,255,255,.08)}[data-theme=light]{--color-code-background:var(--scheme-light-stage-b);--color-code-comment:#525866;--color-code-keyword:#663c91;--color-code-string:#24653c;--color-code-symbol:#244f91;--color-code-literal:#77502a;--text:var(--scheme-light-text);--ink:var(--scheme-light-ink);--paper:var(--scheme-light-paper);--stage-a:var(--scheme-light-stage-a);--stage-b:var(--scheme-light-stage-b);--stage-c:var(--scheme-light-stage-c);--surface:var(--scheme-light-surface);--surface-2:var(--scheme-light-surface-2);--panel-solid:var(--scheme-light-panel);--accent:var(--scheme-light-accent);--accent-fill:var(--scheme-light-accent-fill);--accent-ink:var(--scheme-light-accent-ink);--accent-hover:var(--scheme-light-accent-hover);--accent-hover-ink:var(--scheme-light-accent-ink);--accent-2:var(--scheme-light-accent-2);--accent-lite:var(--scheme-light-accent-lite);--cta:var(--scheme-light-cta);--cta-hover:var(--scheme-light-cta-hover);--cta-ink:var(--scheme-light-cta-ink);--status:var(--scheme-light-status);--grid:var(--scheme-light-grid);--logo-invert:0;--root-bg:var(--scheme-light-root);--contact-bg:var(--scheme-light-contact);--project-sheet-bg:radial-gradient(120% 90% at 80% -10%,var(--panel-solid) 0%,var(--stage-a) 48%,var(--stage-c) 100%);--project-sheet-bar-bg:color-mix(in srgb,var(--paper) 88%,transparent);--shadow-stage:0 40px 120px -70px rgba(13,13,15,.35),0 0 0 1px rgba(13,13,15,.07);--shadow-stage-bleed:0 0 0 1px rgba(13,13,15,.08)}[data-theme=dark] .hero,[data-theme=dark][data-bleed="0"] .nav__capsule{--text:var(--scheme-light-text);--ink:var(--scheme-light-ink);--paper:var(--scheme-light-paper);--stage-a:var(--scheme-light-stage-a);--stage-b:var(--scheme-light-stage-b);--stage-c:var(--scheme-light-stage-c);--surface:var(--scheme-light-surface);--surface-2:var(--scheme-light-surface-2);--panel-solid:var(--scheme-light-panel);--accent:var(--scheme-light-accent);--accent-fill:var(--scheme-light-accent-fill);--accent-ink:var(--scheme-light-accent-ink);--accent-hover:var(--scheme-light-accent-hover);--accent-hover-ink:var(--scheme-light-accent-hover);--accent-2:var(--scheme-light-accent-2);--accent-lite:var(--scheme-light-accent-lite);--cta:var(--scheme-light-cta);--cta-hover:var(--scheme-light-cta-hover);--cta-ink:var(--scheme-light-cta-ink);--status:var(--scheme-light-status);--grid:var(--scheme-light-grid);--logo-invert:0}[data-theme=light] .hero,[data-theme=light][data-bleed="0"] .nav__capsule{--text:var(--scheme-dark-text);--ink:var(--scheme-dark-ink);--paper:var(--scheme-dark-paper);--stage-a:var(--scheme-dark-stage-a);--stage-b:var(--scheme-dark-stage-b);--stage-c:var(--scheme-dark-stage-c);--surface:var(--scheme-dark-surface);--surface-2:var(--scheme-dark-surface-2);--panel-solid:var(--scheme-dark-panel);--accent:var(--scheme-dark-accent);--accent-fill:var(--scheme-dark-accent-fill);--accent-ink:var(--scheme-dark-accent-ink);--accent-hover:var(--scheme-dark-accent-hover);--accent-hover-ink:var(--scheme-dark-accent-hover);--accent-2:var(--scheme-dark-accent-2);--accent-lite:var(--scheme-dark-accent-lite);--cta:var(--scheme-dark-cta);--cta-hover:var(--scheme-dark-cta-hover);--cta-ink:var(--scheme-dark-cta-ink);--status:var(--scheme-dark-status);--grid:var(--scheme-dark-grid);--logo-invert:1}:root,[data-theme=dark] .hero,[data-theme=dark][data-bleed="0"] .nav__capsule,[data-theme=light] .hero,[data-theme=light][data-bleed="0"] .nav__capsule,[data-theme=dark] .sheet--cv,[data-theme=light] .sheet--cv,[data-theme=dark] .sheet--cv .cvs,[data-theme=light] .sheet--cv .cvs{--color-canvas:var(--root-bg);--color-page:var(--paper);--color-panel:var(--panel-solid);--color-surface:var(--surface);--color-text:var(--text);--color-text-muted:rgba(var(--ink),.62);--color-text-subtle:rgba(var(--ink),.45);--color-border-subtle:rgba(var(--ink),.1);--color-border-strong:rgba(var(--ink),.24);--color-card-edge:#000;--color-card-arrow:var(--scheme-light-cta-ink);--color-action:var(--accent);--color-action-hover:var(--accent-hover);--color-action-text:var(--accent-ink);--color-focus:var(--accent-lite);--color-positive:var(--status);--ink-70:rgba(var(--ink),.72);--ink-60:rgba(var(--ink),.6);--ink-50:rgba(var(--ink),.5);--hair:rgba(var(--ink),.1);--hair-2:rgba(var(--ink),.16)}:root,[data-theme=dark]{--diagram-preparation:#fda4af;--diagram-execution:#67e8f9;--diagram-completion:#6ee7b7;--diagram-open:#fcd34d}[data-theme=light]{--diagram-preparation:#9f1239;--diagram-execution:#0e7490;--diagram-completion:#047857;--diagram-open:#92400e}:root{--project-phase-start-fill:#c50032;--project-phase-manage-fill:#247ca5;--project-phase-analyze-fill:#007f83;--project-phase-design-fill:#8b991a;--project-phase-build-fill:#b5488e;--project-phase-advise-fill:#f18a2d;--project-phase-on-fill:#fff;--project-phase-on-light-fill:#151a12}:root,[data-theme=dark]{--project-phase-start:#ff91ac;--project-phase-manage:#70c1e8;--project-phase-analyze:#64cdcf;--project-phase-design:#bec961;--project-phase-build:#e99acd;--project-phase-advise:#ffba7c}[data-theme=light]{--project-phase-start:#b0002d;--project-phase-manage:#226e94;--project-phase-analyze:#006e72;--project-phase-design:#646f0d;--project-phase-build:#a2367d;--project-phase-advise:#a04d08}:root,[data-theme=dark]{--c4-level-1:#fbbf24;--c4-level-1-background:#44371c;--c4-level-2:#c4b5fd;--c4-level-2-background:#302a43;--c4-level-3:#6ee7b7;--c4-level-3-background:#173c35;--c4-level-4:#93c5fd;--c4-level-4-background:#1e344c;--c4-edge:#94a3b8}[data-theme=light]{--c4-level-1:#d97706;--c4-level-1-background:#fef3c7;--c4-level-2:#8b5cf6;--c4-level-2-background:#ede9fe;--c4-level-3:#059669;--c4-level-3-background:#d1fae5;--c4-level-4:#3b82f6;--c4-level-4-background:#dbeafe;--c4-edge:#64748b}.ssp-demo .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ssp-demo{--ssp-demo-inner-gutter:clamp(24px,4vw,48px);--ssp-demo-inner-width:1072px;position:relative;width:calc(100vw - (2*var(--project-story-outer-gutter)));margin-left:50%;margin-top:clamp(72px,10vw,132px);border-top:1px solid rgba(var(--ink),.2);border-bottom:1px solid rgba(var(--ink),.2);padding:clamp(48px,7vw,92px) 0 clamp(56px,8vw,108px);transform:translateX(-50%)}.ssp-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.ssp-demo svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ssp-demo__intro{display:grid;width:min(var(--ssp-demo-inner-width),calc(100% - var(--ssp-demo-inner-gutter)));grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:clamp(40px,8vw,120px);align-items:end;margin-inline:auto}.ssp-kicker,.ssp-stage-label{color:var(--accent-2);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ssp-demo h2{max-width:12ch;margin:12px 0 0;color:var(--text);font-size:clamp(42px,6vw,84px);letter-spacing:-.06em;line-height:.98}.ssp-demo__lede{margin:0;color:rgba(var(--ink),.68);font-family:var(--font-body);font-size:clamp(16px,1.45vw,20px);line-height:1.65}.ssp-demo__note{width:min(var(--project-copy-measure),calc(100% - var(--ssp-demo-inner-gutter)));max-width:none;margin:clamp(44px,6vw,74px) auto 0;border-left:3px solid var(--accent-2);padding:.25em 0 .25em clamp(20px,3vw,34px);color:rgba(var(--ink),.68);font-family:var(--font-body);font-size:clamp(14px,1.15vw,17px);line-height:1.68}.ssp-demo__note strong{color:var(--text)}.ssp-demo__status{display:grid;width:min(var(--ssp-demo-inner-width),calc(100% - var(--ssp-demo-inner-gutter)));grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:54px;margin-top:clamp(48px,7vw,82px);margin-inline:auto;border-top:1px solid rgba(var(--ink),.16);border-bottom:1px solid rgba(var(--ink),.16);color:rgba(var(--ink),.7);font-family:var(--font-body);font-size:13px;line-height:1.5}.ssp-status-dot{width:8px;height:8px;border-radius:50%;background:rgba(var(--ink),.38)}.ssp-status-dot.is-loading,.ssp-status-dot.is-running{background:var(--accent-2)}.ssp-status-dot.is-ready{background:var(--status)}.ssp-status-dot.is-fallback{background:var(--accent-lite)}.ssp-status-dot.is-failed{background:var(--text)}.ssp-demo__engine{color:rgba(var(--ink),.5);font-family:var(--font-mono);font-size:11px;text-align:right}.ssp-command,.ssp-button{display:inline-flex;align-items:center;gap:10px;min-height:42px;border:0;border-bottom:1px solid rgba(var(--ink),.32);border-radius:0;padding:4px 0;background:0 0;color:var(--text);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:700;transition:border-color .2s ease,color .2s ease,gap .2s ease}.ssp-command:hover:not(:disabled),.ssp-button:hover:not(:disabled){gap:15px;border-color:var(--accent-lite);color:var(--accent-lite)}.ssp-command:disabled,.ssp-button:disabled{cursor:not-allowed;opacity:.46}.ssp-command svg{width:15px;height:15px}.ssp-command--quiet{color:rgba(var(--ink),.58)}.ssp-control{position:relative;display:inline-flex;min-width:0}.ssp-control>button:disabled{pointer-events:none}.ssp-control.is-locked{cursor:help}.ssp-control-tooltip{position:fixed;z-index:10000;width:max-content;max-width:min(240px,calc(100vw - 20px));border:1px solid rgba(var(--ink),.16);border-radius:8px;padding:8px 10px;background:var(--panel-solid);color:var(--text);box-shadow:0 16px 36px -14px color-mix(in srgb,var(--paper) 72%,transparent);font-family:var(--font-body);font-size:12px;font-weight:600;line-height:1.35;pointer-events:none}.ssp-control-tooltip[hidden]{display:none}.ssp-demo__workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(30px,5vw,58px);border-top:1px solid rgba(var(--ink),.18)}.ssp-desktop-controls{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(var(--ink),.18);padding:20px 0}.ssp-desktop-controls__identity,.ssp-desktop-controls__actions{display:flex;align-items:center}.ssp-desktop-controls__identity{gap:12px}.ssp-desktop-controls__identity>span{display:grid;width:34px;height:34px;place-items:center;color:var(--accent-lite)}.ssp-desktop-controls__identity svg{width:22px;height:22px}.ssp-desktop-controls__identity div{display:grid;gap:3px}.ssp-desktop-controls__identity strong{color:var(--text);font-family:var(--font-body);font-size:14px}.ssp-desktop-controls__identity small{color:rgba(var(--ink),.48);font-family:var(--font-mono);font-size:10px}.ssp-desktop-controls__actions{gap:26px}.ssp-client,.ssp-events{min-width:0;padding:clamp(28px,4vw,52px) 0}.ssp-client--source{order:1;border-right:1px solid rgba(var(--ink),.18);padding-right:clamp(24px,4vw,58px)}.ssp-client--target{order:1;padding-left:clamp(24px,4vw,58px)}.ssp-events{order:2;grid-column:1/-1;border-top:1px solid rgba(var(--ink),.18);border-bottom:1px solid rgba(var(--ink),.18)}.ssp-pane__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ssp-stage-label{display:block}.ssp-stage-label b{margin-right:8px;color:var(--accent-lite);font-family:var(--font-serif);font-size:22px;font-style:italic;font-weight:400;letter-spacing:0}.ssp-pane__head h3{margin:10px 0 0;color:var(--text);font-size:clamp(24px,2.5vw,36px);letter-spacing:-.04em;line-height:1.08}.ssp-client__state,.ssp-events__online{flex:0 0 auto;color:rgba(var(--ink),.52);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}.ssp-client__role{margin:18px 0 24px;color:rgba(var(--ink),.54);font-family:var(--font-mono);font-size:11px;line-height:1.55}.ssp-client__body{min-width:0}.ssp-file-browser__label{display:block;margin-bottom:8px;color:rgba(var(--ink),.42);font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ssp-files{display:flex;gap:4px;margin:0;border-bottom:1px solid rgba(var(--ink),.14);padding:0;overflow-x:auto;list-style:none}.ssp-files li{flex:0 0 auto}.ssp-files button{display:flex;align-items:center;gap:10px;min-height:42px;border:0;border-bottom:2px solid transparent;padding:8px 12px;background:0 0;color:rgba(var(--ink),.58);cursor:pointer;font-family:var(--font-body)}.ssp-files button:hover,.ssp-files button.is-selected{border-bottom-color:var(--accent);color:var(--text)}.ssp-file__name{display:inline-flex;align-items:center;gap:7px}.ssp-file__name svg{width:14px;height:14px;color:var(--accent-lite)}.ssp-file__name code{color:inherit;font-family:var(--font-mono);font-size:11px}.ssp-file__meta{color:rgba(var(--ink),.4);font-family:var(--font-mono);font-size:10px}.ssp-file__meta small{display:none}.ssp-files__empty{padding:12px 0;color:rgba(var(--ink),.48);font-family:var(--font-body);font-size:12px}.ssp-editor{margin-top:18px;border:1px solid rgba(var(--ink),.12);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--panel-solid) 82%,var(--text) 18%)}.ssp-editor header,.ssp-editor footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;color:rgba(var(--ink),.54);font-family:var(--font-body);font-size:10px}.ssp-editor header{border-bottom:1px solid rgba(var(--ink),.1)}.ssp-editor footer{border-top:1px solid rgba(var(--ink),.1)}.ssp-editor header>span{display:inline-flex;min-width:0;align-items:center;gap:7px}.ssp-editor header svg{width:13px;height:13px;color:var(--accent-lite)}.ssp-editor header strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.ssp-editor header i{color:var(--accent-lite);font-style:normal}.ssp-editor textarea,.ssp-editor pre{display:block;width:100%;min-height:210px;margin:0;border:0;border-radius:0;padding:clamp(16px,2vw,24px);background:0 0;color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.65;overflow:auto;resize:vertical;tab-size:2;white-space:pre-wrap}.ssp-editor textarea:focus{outline:2px solid var(--accent-lite);outline-offset:-2px}.ssp-editor footer .ssp-command{min-height:34px;font-size:11px}.ssp-events .ssp-client__role{margin-bottom:18px}.ssp-terminal{border-left:1px solid rgba(var(--ink),.18);padding-left:clamp(24px,4vw,52px)}.ssp-terminal__tabs{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:12px;color:rgba(var(--ink),.48);font-family:var(--font-mono);font-size:10px}.ssp-terminal__output{max-height:310px;margin:0;padding:0;overflow:auto;color:rgba(var(--ink),.7);font-family:var(--font-mono);font-size:11px;line-height:1.65;list-style:none;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}.ssp-terminal__empty,.ssp-terminal-line,.ssp-terminal-command{margin:0 0 9px}.ssp-terminal__empty{color:rgba(var(--ink),.48)}.ssp-terminal__prompt,.ssp-terminal-command{color:var(--text)}.ssp-terminal__prompt b,.ssp-terminal-line__level{color:var(--accent-lite)}.ssp-terminal__prompt em{color:var(--accent-2);font-style:normal}.ssp-terminal-command.is-output,.ssp-terminal-line.is-success .ssp-terminal-line__level{color:var(--status)}.ssp-terminal-line__head{display:flex;min-width:0;align-items:baseline;gap:8px}.ssp-terminal-line.is-warning .ssp-terminal-line__level,.ssp-terminal-line.is-error .ssp-terminal-line__level{color:var(--text)}.ssp-terminal-line__source{min-width:0;overflow:hidden;color:rgba(var(--ink),.52);text-overflow:ellipsis;white-space:nowrap}.ssp-terminal-line p{margin:2px 0 0;padding-left:22px;color:rgba(var(--ink),.72);overflow-wrap:anywhere}.ssp-terminal-line code{color:var(--accent-lite);font:inherit}.ssp-demo__fallback,.ssp-code{width:min(var(--project-copy-measure),calc(100% - var(--ssp-demo-inner-gutter)));max-width:none;margin-inline:auto}.ssp-demo__fallback{margin-top:clamp(42px,6vw,72px)}.ssp-demo__fallback details{border-top:1px solid rgba(var(--ink),.16);border-bottom:1px solid rgba(var(--ink),.16);padding:18px 0;color:rgba(var(--ink),.68);font-family:var(--font-body);font-size:14px;line-height:1.65}.ssp-demo__fallback summary{color:var(--text);cursor:pointer;font-weight:700}.ssp-demo__fallback p{margin:14px 0 0}.ssp-code{margin-top:clamp(64px,9vw,112px)}.ssp-code__head{display:block}.ssp-code__head h3{margin:10px 0 0;color:var(--text);font-size:clamp(28px,3.4vw,48px);letter-spacing:-.045em;line-height:1.08}.ssp-code__head p{max-width:56ch;margin:18px 0 0;color:rgba(var(--ink),.62);font-family:var(--font-body);font-size:14px;line-height:1.65}.ssp-code__tabs{display:flex;gap:4px;margin-top:28px;border-bottom:1px solid rgba(var(--ink),.14);overflow-x:auto}.ssp-code__tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;padding:9px 13px;background:0 0;color:rgba(var(--ink),.55);cursor:pointer;font-family:var(--font-mono);font-size:11px}.ssp-code__tabs button:hover,.ssp-code__tabs button.is-active{border-color:var(--accent);color:var(--text)}.ssp-code__meta{display:flex;align-items:center;gap:10px;margin:15px 0 0}.ssp-code__meta code{color:var(--accent-lite);font-family:var(--font-mono);font-size:10px}.ssp-code__meta code+span{margin-right:auto;color:rgba(var(--ink),.46);font-family:var(--font-mono);font-size:10px}.ssp-button--small{min-height:34px;font-size:11px}.ssp-code__pre{max-height:360px;margin:12px 0 0;border:1px solid rgba(var(--ink),.12);border-radius:14px;padding:18px 0;background:color-mix(in srgb,var(--panel-solid) 82%,var(--text) 18%);color:rgba(var(--ink),.78);font-family:var(--font-mono);font-size:12px;line-height:1.65;overflow:auto;tab-size:2}.ssp-code__line{display:grid;grid-template-columns:42px minmax(0,1fr);min-width:max-content;padding-right:18px}.ssp-code__line.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.ssp-code__number{padding-right:12px;color:rgba(var(--ink),.3);text-align:right;user-select:none}.ssp-code__line.is-active .ssp-code__number{color:var(--accent-lite)}.ssp-code__text{white-space:pre}.ssp-code__status{margin:10px 0 0;color:rgba(var(--ink),.48);font-family:var(--font-body);font-size:11px}@media (max-width:860px){.ssp-demo__intro,.ssp-demo__workspace{grid-template-columns:1fr}.ssp-demo__lede{max-width:58ch}.ssp-client--source{order:1;border-right:0;padding-right:0}.ssp-client--target{order:3;border-top:1px solid rgba(var(--ink),.18);padding-left:0}.ssp-events{order:2;grid-column:auto}}@media (max-width:600px){.ssp-demo__intro{gap:24px}.ssp-demo h2{font-size:clamp(38px,12vw,54px)}.ssp-demo__status{grid-template-columns:auto minmax(0,1fr);padding:10px 0}.ssp-demo__engine{grid-column:2;text-align:left}.ssp-desktop-controls{align-items:flex-start;flex-direction:column}.ssp-desktop-controls__actions{width:100%;justify-content:space-between}.ssp-pane__head{align-items:flex-start;flex-direction:column}.ssp-client__state,.ssp-events__online{order:-1}.ssp-files{margin-right:calc(-1*var(--pad-x))}.ssp-editor header,.ssp-editor footer,.ssp-code__meta{align-items:flex-start;flex-direction:column}.ssp-editor header small{padding-left:20px}.ssp-terminal{border-top:1px solid rgba(var(--ink),.18);border-left:0;padding-top:20px;padding-left:0}.ssp-code__meta code+span{margin-right:0}}@media (prefers-reduced-motion:reduce){.ssp-demo *,.ssp-demo *:before,.ssp-demo *:after{animation:none !important;transition-duration:.01ms !important}}.ssp-window__titlebar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;border-bottom:1px solid rgba(var(--ink),.14);padding:7px 10px 7px 14px;background:color-mix(in srgb,var(--panel-solid) 88%,var(--accent) 12%)}.ssp-window__identity,.ssp-window__identity>span{display:flex;min-width:0;align-items:center}.ssp-window__identity{gap:9px}.ssp-window__identity>span{gap:8px}.ssp-window__identity svg{flex:0 0 auto;width:16px;height:16px;color:var(--accent-lite)}.ssp-window__identity strong,.ssp-window__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ssp-window__identity strong{color:var(--text);font-family:var(--font-body);font-size:11px}.ssp-window__identity small{color:rgba(var(--ink),.48);font-family:var(--font-mono);font-size:9px}.ssp-window__actions{position:relative;z-index:9;display:flex;flex:0 0 auto;gap:2px}.ssp-window__actions button,.ssp-file-actions button,.ssp-desktop__taskbar button,.ssp-plasma-menu button{display:inline-grid;border:0;padding:0;place-items:center;background:0 0;color:rgba(var(--ink),.62);cursor:pointer}.ssp-window__actions button{width:28px;height:28px;border-radius:6px}.ssp-window__actions button:hover,.ssp-window__actions button:focus-visible{background:rgba(var(--ink),.08);color:var(--text)}.ssp-window__actions svg{width:13px;height:13px}.ssp-file-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;border-top:1px solid rgba(var(--ink),.1);border-bottom:1px solid rgba(var(--ink),.1);padding:8px 0}.ssp-file-actions>span{display:flex;gap:12px}.ssp-file-actions code{color:rgba(var(--ink),.48);font-family:var(--font-mono);font-size:10px}.ssp-file-actions button{display:inline-flex;min-height:30px;align-items:center;gap:6px;color:rgba(var(--ink),.62);font-family:var(--font-body);font-size:10px;font-weight:700}.ssp-file-actions button:hover:not(:disabled){color:var(--accent-lite)}.ssp-file-actions button:disabled{cursor:not-allowed;opacity:.44}.ssp-file-actions svg{width:13px;height:13px}.ssp-desktop__taskbar,.ssp-plasma-menu,.ssp-window-resize{display:none}.ssp-window--dynamic{order:4;border-top:1px solid rgba(var(--ink),.18)}@media (min-width:1101px){.ssp-demo__workspace.ssp-desktop{position:relative;display:block;height:900px;border:1px solid rgba(var(--ink),.18);border-radius:18px;overflow:hidden;background:radial-gradient(80% 70% at 10% 8%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 72%),radial-gradient(58% 55% at 95% 82%,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 76%),color-mix(in srgb,var(--panel-solid) 92%,var(--stage-b) 8%);box-shadow:0 34px 90px -66px color-mix(in srgb,var(--paper) 86%,transparent)}.ssp-demo__workspace.ssp-desktop:before{position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent-lite) 18%,transparent) 0 1px,transparent 1.2px);background-size:26px 26px;content:'';opacity:.24;pointer-events:none}.ssp-desktop .ssp-desktop-controls{position:absolute;z-index:900;top:0;right:0;left:0;min-height:64px;border-bottom-color:rgba(var(--ink),.14);padding:10px 18px;background:color-mix(in srgb,var(--panel-solid) 88%,transparent);backdrop-filter:blur(18px)}.ssp-desktop .ssp-desktop-controls__actions{gap:18px}.ssp-desktop .ssp-window{position:absolute;z-index:var(--window-z,10);top:0;left:0;display:flex;width:var(--window-w);height:var(--window-h);min-width:0;max-width:none;margin:0;border:1px solid rgba(var(--ink),.22);border-radius:11px;padding:0;overflow:hidden;flex-direction:column;transform:translate3d(var(--window-x),var(--window-y),0);background:color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%);box-shadow:0 22px 60px -36px color-mix(in srgb,var(--paper) 92%,transparent)}.ssp-desktop .ssp-window.is-active-window{border-color:color-mix(in srgb,var(--accent-lite) 48%,rgba(var(--ink),.2))}.ssp-desktop .ssp-window.is-minimized{display:none}.ssp-desktop .ssp-window.is-dragging,.ssp-desktop .ssp-window.is-resizing{will-change:transform,width,height}.ssp-desktop .ssp-window__titlebar{flex:0 0 auto;cursor:grab;touch-action:none;user-select:none}.ssp-desktop .ssp-window__titlebar:active{cursor:grabbing}.ssp-desktop .ssp-window__titlebar:focus-visible{outline:2px solid var(--accent-lite);outline-offset:-2px}.ssp-desktop .ssp-window__content{min-height:0;padding:16px 18px 18px;overflow:auto;flex:1 1 auto;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}.ssp-desktop .ssp-pane__head h3{margin-top:5px;font-size:clamp(19px,1.65vw,25px)}.ssp-desktop .ssp-stage-label{font-size:9px}.ssp-desktop .ssp-stage-label b{font-size:17px}.ssp-desktop .ssp-client__role{margin:8px 0 12px;font-size:9px}.ssp-desktop .ssp-editor{margin-top:10px;border-radius:9px}.ssp-desktop .ssp-editor textarea,.ssp-desktop .ssp-editor pre{min-height:152px;padding:14px;font-size:10px}.ssp-desktop .ssp-editor header,.ssp-desktop .ssp-editor footer{padding:8px 10px;font-size:9px}.ssp-desktop .ssp-editor footer .ssp-command{min-height:28px;font-size:9px}.ssp-desktop .ssp-files button{min-height:34px;padding:6px 8px}.ssp-desktop .ssp-file__name code{font-size:9px}.ssp-desktop .ssp-file__meta{font-size:8px}.ssp-desktop .ssp-events .ssp-window__content{display:grid;grid-template-columns:minmax(210px,29%) minmax(0,1fr);grid-template-rows:auto 1fr;gap:6px 24px;overflow:hidden}.ssp-desktop .ssp-events .ssp-pane__head{grid-column:1;grid-row:1}.ssp-desktop .ssp-events .ssp-client__role{grid-column:1;grid-row:2}.ssp-desktop .ssp-terminal{grid-column:2;grid-row:1/3;min-height:0;padding-left:22px}.ssp-desktop .ssp-terminal__output{max-height:126px;font-size:9px}.ssp-desktop .ssp-terminal__tabs{padding-bottom:7px;font-size:9px}.ssp-window-resize{position:absolute;z-index:8;display:block;width:18px;height:18px;border:0;padding:0;background:0 0;opacity:0;touch-action:none}.ssp-window-resize--nw,.ssp-window-resize--sw{left:0}.ssp-window-resize--ne,.ssp-window-resize--se{right:0}.ssp-window-resize--nw,.ssp-window-resize--ne{top:0}.ssp-window-resize--sw,.ssp-window-resize--se{bottom:0}.ssp-window-resize--nw,.ssp-window-resize--se{cursor:nwse-resize}.ssp-window-resize--ne,.ssp-window-resize--sw{cursor:nesw-resize}.ssp-desktop__taskbar{position:absolute;z-index:980;right:14px;bottom:12px;left:14px;display:flex;min-height:46px;align-items:center;gap:4px;border:1px solid rgba(var(--ink),.2);border-radius:12px;padding:5px 7px;background:color-mix(in srgb,var(--panel-solid) 88%,transparent);box-shadow:0 16px 44px -30px color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(18px)}.ssp-desktop__taskbar button{display:inline-flex;min-width:38px;min-height:34px;align-items:center;gap:7px;border-radius:7px;padding:0 9px;font-family:var(--font-body);font-size:9px;font-weight:700}.ssp-desktop__taskbar button:hover,.ssp-desktop__taskbar button:focus-visible,.ssp-desktop__taskbar button.is-active{background:rgba(var(--ink),.09);color:var(--text)}.ssp-desktop__taskbar button.is-active{box-shadow:inset 0 -2px var(--accent-lite)}.ssp-desktop__taskbar svg{width:15px;height:15px}.ssp-taskbar__divider{width:1px;height:24px;margin:0 3px;background:rgba(var(--ink),.16)}.ssp-taskbar__tray{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding-left:8px;color:rgba(var(--ink),.6)}.ssp-taskbar__tray svg{width:13px;height:13px}.ssp-desktop__taskbar time{display:grid;color:var(--text);font-family:var(--font-mono);font-size:9px;line-height:1.25;text-align:right}.ssp-desktop__taskbar time small{color:rgba(var(--ink),.48);font-size:8px}.ssp-plasma-menu{position:absolute;z-index:990;bottom:66px;left:14px;display:block;width:min(300px,calc(100% - 28px));border:1px solid rgba(var(--ink),.2);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%);box-shadow:0 28px 70px -44px color-mix(in srgb,var(--paper) 96%,transparent)}.ssp-plasma-menu[hidden]{display:none}.ssp-plasma-menu input{width:100%;border:1px solid rgba(var(--ink),.2);border-radius:7px;padding:9px 10px;background:rgba(var(--ink),.04);color:var(--text);font-family:var(--font-body);font-size:11px}.ssp-plasma-menu [data-ssp-plasma-apps]{display:grid;gap:3px;margin-top:10px}.ssp-plasma-menu button{display:flex;min-height:48px;align-items:center;justify-content:flex-start;gap:11px;border-radius:7px;padding:7px 9px;text-align:left}.ssp-plasma-menu button:hover,.ssp-plasma-menu button:focus-visible{background:rgba(var(--ink),.08);color:var(--text)}.ssp-plasma-menu button svg{width:20px;height:20px;color:var(--accent-lite)}.ssp-plasma-menu button span{display:grid;gap:2px}.ssp-plasma-menu button strong{font-family:var(--font-body);font-size:11px}.ssp-plasma-menu button small{color:rgba(var(--ink),.5);font-family:var(--font-mono);font-size:8px}}@media (max-width:1100px){.ssp-window__titlebar{margin-bottom:20px;border-top:1px solid rgba(var(--ink),.14);background:0 0}.ssp-window__content{display:contents}.ssp-window__actions,.ssp-desktop__taskbar,.ssp-plasma-menu,.ssp-window-resize{display:none}}.ssp-window__toolbar,.ssp-konsole__toolbar,.ssp-window__statusbar{display:flex;align-items:center;gap:8px;color:rgba(var(--ink),.58);font-family:var(--font-body)}.ssp-window__toolbar{min-height:40px;border-bottom:1px solid rgba(var(--ink),.13);padding:5px 9px;background:color-mix(in srgb,var(--panel-solid) 94%,var(--text) 6%)}.ssp-window__navigation{display:inline-flex;flex:0 0 auto;gap:2px}.ssp-window__navigation button{display:inline-grid;width:28px;height:28px;border:0;border-radius:6px;padding:0;place-items:center;background:0 0;color:rgba(var(--ink),.44)}.ssp-window__navigation svg,.ssp-window__path svg,.ssp-window__mode svg,.ssp-dolphin-sidebar svg,.ssp-konsole__toolbar svg{width:14px;height:14px}.ssp-dolphin-sidebar svg{flex:0 0 14px}.ssp-window__path{display:flex;min-width:0;min-height:28px;align-items:center;gap:7px;border:1px solid rgba(var(--ink),.13);border-radius:6px;padding:0 9px;flex:1 1 auto;background:rgba(var(--ink),.025)}.ssp-window__path svg{flex:0 0 auto;color:var(--accent-lite)}.ssp-window__path code{overflow:hidden;color:rgba(var(--ink),.7);font-family:var(--font-mono);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ssp-window__mode{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;color:rgba(var(--ink),.54);font-size:9px;font-weight:700}.ssp-file-actions{display:inline-flex;flex:0 0 auto;gap:10px;margin:0;border:0;padding:0}.ssp-file-actions .ssp-control{display:inline-flex}.ssp-new-file input{width:112px;min-height:28px;border:1px solid rgba(var(--ink),.13);border-radius:6px;padding:4px 7px;background:rgba(var(--ink),.025);color:var(--text);font-family:var(--font-mono);font-size:10px}.ssp-new-file input:focus{border-color:var(--accent-lite);outline:1px solid var(--accent-lite)}.ssp-file-actions button{min-height:28px;font-size:10px}.ssp-client--source .ssp-window__toolbar{flex-wrap:wrap}.ssp-client--source .ssp-file-actions{width:100%;justify-content:flex-end;border-top:1px solid rgba(var(--ink),.08);padding-top:5px}.ssp-dolphin-sidebar{display:flex;min-width:0;border-right:1px solid rgba(var(--ink),.12);padding:14px 9px;flex-direction:column;gap:3px;background:color-mix(in srgb,var(--panel-solid) 96%,var(--accent) 4%)}.ssp-dolphin-sidebar strong{margin:0 8px 6px;color:rgba(var(--ink),.4);font-family:var(--font-body);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.ssp-dolphin-sidebar span{display:flex;min-height:28px;align-items:center;gap:7px;border-radius:6px;padding:5px 8px;color:rgba(var(--ink),.58);font-family:var(--font-body);font-size:10px;font-weight:600}.ssp-dolphin-sidebar span.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-lite)}.ssp-dolphin-pane{min-width:0;padding:12px;overflow:auto;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}.ssp-file-browser__summary{display:flex;min-height:25px;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(var(--ink),.12);border-bottom:0;border-radius:7px 7px 0 0;padding:4px 9px;background:rgba(var(--ink),.035);color:rgba(var(--ink),.44);font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ssp-window__statusbar{min-height:25px;justify-content:space-between;border-top:1px solid rgba(var(--ink),.12);padding:4px 10px;background:color-mix(in srgb,var(--panel-solid) 94%,var(--text) 6%);font-size:10px}.ssp-konsole__toolbar{min-height:34px;border-bottom:1px solid rgba(var(--ink),.12);padding:4px 10px;background:color-mix(in srgb,var(--panel-solid) 92%,var(--text) 8%);font-family:var(--font-mono);font-size:10px}.ssp-konsole__toolbar>span{display:inline-flex;min-height:24px;align-items:center;gap:6px;border-left:1px solid rgba(var(--ink),.12);padding-left:9px}.ssp-konsole__toolbar>span:first-child{border-left:0;padding-right:8px;padding-left:0;color:var(--text)}.ssp-konsole__toolbar i{width:6px;height:6px;border-radius:50%;background:rgba(var(--ink),.38)}.ssp-demo[data-status=ready] .ssp-konsole__toolbar i,.ssp-demo[data-status=running] .ssp-konsole__toolbar i{background:var(--status)}.ssp-flow{min-width:0}.ssp-flow ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:7px 0 0;padding:0;list-style:none}.ssp-flow li{display:grid;min-width:0;grid-template-columns:7px minmax(0,1fr);gap:5px;align-items:start;color:rgba(var(--ink),.4);font-family:var(--font-body);font-size:9px;font-weight:700}.ssp-flow li>i{width:6px;height:6px;margin-top:2px;border-radius:50%;background:rgba(var(--ink),.28)}.ssp-flow li small{display:block;margin-top:1px;overflow:hidden;color:rgba(var(--ink),.32);font-size:8px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.ssp-flow li.is-active{color:var(--accent-lite)}.ssp-flow li.is-active>i{background:var(--accent-lite);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.ssp-flow li.is-complete{color:rgba(var(--ink),.68)}.ssp-flow li.is-complete>i{background:var(--status)}.ssp-konsole__statusbar{font-family:var(--font-mono)}.ssp-konsole__toolbar b{font-weight:500}.ssp-konsole__menubar,.ssp-konsole__tabbar{display:flex;flex:0 0 auto;align-items:center;border-bottom:1px solid rgba(var(--ink),.12);background:color-mix(in srgb,var(--panel-solid) 94%,var(--text) 6%);color:rgba(var(--ink),.62);font-family:var(--font-body)}.ssp-konsole__menubar{min-height:27px;gap:1px;padding:0 7px;font-size:9px}.ssp-konsole__menubar span{padding:5px 7px;white-space:nowrap}.ssp-konsole__tabbar{min-height:31px;gap:2px;padding:3px 6px 0;font-family:var(--font-mono);font-size:9px;overflow:hidden}.ssp-konsole__tab{display:inline-flex;min-width:230px;min-height:27px;align-items:center;gap:7px;border:1px solid rgba(var(--ink),.12);border-bottom:0;border-radius:5px 5px 0 0;padding:4px 8px;background:color-mix(in srgb,var(--panel-solid) 84%,var(--text) 16%);color:var(--text)}.ssp-konsole__tab svg{width:12px;height:12px;color:var(--accent-lite)}.ssp-konsole__tab b{min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.ssp-konsole__tab i{margin-left:auto;color:rgba(var(--ink),.46);font-family:var(--font-body);font-size:12px;font-style:normal}.ssp-konsole__new-tab{display:inline-grid;width:24px;height:24px;place-items:center;color:rgba(var(--ink),.62);font-size:14px}.ssp-konsole__line-count{margin-left:auto;padding-right:5px;color:rgba(var(--ink),.46);white-space:nowrap}.ssp-events .ssp-terminal{display:flex;min-width:0;min-height:0;border:0;padding:0;flex:1 1 auto}.ssp-events .ssp-terminal__output{width:100%;height:auto;max-height:none;margin:0;padding:11px 13px 15px;flex:1 1 auto;font-size:10px;line-height:1.48}.ssp-terminal__empty{display:flex;align-items:center;gap:6px}.ssp-terminal__cursor{width:7px;height:13px;background:currentColor;animation:ssp-terminal-cursor 1.1s steps(1,end) infinite}@keyframes ssp-terminal-cursor{50%{opacity:0}}.ssp-konsole__statusbar{min-width:0;gap:14px;flex-direction:row;font-family:var(--font-mono);overflow:hidden}.ssp-konsole__activity,.ssp-konsole__metrics{display:flex;min-width:0;align-items:center;gap:8px}.ssp-konsole__activity{flex:1 1 auto}.ssp-konsole__activity>i{width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:rgba(var(--ink),.38)}.ssp-konsole__activity b{flex:0 0 auto;font-weight:600}.ssp-konsole__activity [data-ssp-last-event]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ssp-konsole__metrics{flex:0 0 auto}.ssp-konsole__metrics>span+span{border-left:1px solid rgba(var(--ink),.14);padding-left:8px}.ssp-demo[data-status=ready] .ssp-konsole__activity>i,.ssp-demo[data-status=running] .ssp-konsole__activity>i{background:var(--status)}.ssp-editor--preview pre{resize:none}.ssp-plasma-menu button[hidden]{display:none}@media (min-width:1101px){.ssp-demo__workspace.ssp-desktop{height:960px}.ssp-desktop .ssp-window__content{padding:0}.ssp-desktop .ssp-client .ssp-window__content{display:grid;grid-template-columns:92px minmax(0,1fr);overflow:hidden}.ssp-desktop .ssp-dolphin-pane .ssp-pane__head h3{font-size:19px}.ssp-desktop .ssp-dolphin-pane .ssp-client__role{margin:4px 0 8px}.ssp-desktop .ssp-files{display:block;border:1px solid rgba(var(--ink),.12);border-radius:0 0 7px 7px;overflow-x:visible}.ssp-desktop .ssp-files li+li{border-top:1px solid rgba(var(--ink),.09)}.ssp-desktop .ssp-files button{width:100%;border:0;border-left:2px solid transparent;padding:5px 7px;justify-content:space-between}.ssp-desktop .ssp-files button:hover,.ssp-desktop .ssp-files button.is-selected{border-left-color:var(--accent-lite);background:color-mix(in srgb,var(--accent) 9%,transparent)}.ssp-desktop .ssp-file__name code{font-size:10px}.ssp-desktop .ssp-file__meta{display:inline-flex;align-items:center;gap:6px;font-size:8px}.ssp-desktop .ssp-file__meta small{display:inline}.ssp-desktop .ssp-editor{margin-top:8px}.ssp-desktop .ssp-editor textarea,.ssp-desktop .ssp-editor pre{min-height:118px;font-size:11px}.ssp-desktop .ssp-editor header,.ssp-desktop .ssp-editor footer{font-size:9px}.ssp-desktop .ssp-events .ssp-window__content{display:grid;grid-template-columns:minmax(270px,34%) minmax(0,1fr);grid-template-rows:1fr;gap:0;overflow:hidden}.ssp-desktop .ssp-flow{border-right:1px solid rgba(var(--ink),.13);padding:11px 14px;overflow:hidden}.ssp-desktop .ssp-flow .ssp-pane__head,.ssp-desktop .ssp-flow .ssp-client__role{grid-column:auto;grid-row:auto}.ssp-desktop .ssp-flow .ssp-pane__head h3{font-size:18px}.ssp-desktop .ssp-terminal{grid-column:auto;grid-row:auto;padding:11px 14px}.ssp-desktop .ssp-terminal__output{max-height:162px;font-size:10px}.ssp-desktop .ssp-terminal__tabs{font-size:9px}.ssp-window-resize:focus-visible{outline:2px solid var(--accent-lite);outline-offset:-3px;opacity:1}}@media (max-width:1100px){.ssp-demo__workspace.ssp-desktop{gap:24px;border-top:0}.ssp-desktop .ssp-desktop-controls,.ssp-desktop .ssp-window{border:1px solid rgba(var(--ink),.16);border-radius:12px;padding:0;overflow:hidden;background:color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%)}.ssp-desktop .ssp-desktop-controls{padding:14px}.ssp-window__titlebar{margin-bottom:0;border-top:0;background:color-mix(in srgb,var(--panel-solid) 88%,var(--accent) 12%)}.ssp-window__content{display:grid;grid-template-columns:112px minmax(0,1fr)}.ssp-dolphin-pane{padding:18px}.ssp-events .ssp-window__content{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.ssp-events .ssp-flow,.ssp-events .ssp-terminal{padding:18px}.ssp-events .ssp-flow{border-right:1px solid rgba(var(--ink),.12)}.ssp-flow ol{grid-template-columns:1fr;gap:7px}.ssp-flow li{font-size:9px}.ssp-flow li small{font-size:8px}.ssp-window--dynamic{order:4}}@media (max-width:600px){.ssp-window__toolbar{flex-wrap:wrap}.ssp-window__navigation{display:none}.ssp-file-actions{width:100%;justify-content:space-between;border-top:1px solid rgba(var(--ink),.1);padding-top:5px}.ssp-new-file{flex:1 1 auto}.ssp-new-file input{width:100%}.ssp-file-actions button,.ssp-new-file input{min-height:44px}.ssp-window__content,.ssp-events .ssp-window__content{display:block}.ssp-dolphin-sidebar{display:flex;border-right:0;border-bottom:1px solid rgba(var(--ink),.12);padding:7px;overflow-x:auto;flex-direction:row}.ssp-dolphin-sidebar strong{display:none}.ssp-dolphin-sidebar span{flex:0 0 auto}.ssp-dolphin-pane,.ssp-events .ssp-flow,.ssp-events .ssp-terminal{padding:14px}.ssp-files{margin-right:0}.ssp-events .ssp-flow{border-right:0;border-bottom:1px solid rgba(var(--ink),.12)}.ssp-flow ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.ssp-flow li{font-size:9px}.ssp-flow li small{display:none}.ssp-konsole__toolbar{overflow-x:auto}.ssp-konsole__toolbar>span{flex:0 0 auto}.ssp-window__statusbar{align-items:flex-start;flex-direction:column}}.ssp-demo__workspace.ssp-desktop{--cachy-wallpaper:#03191c;--cachy-wallpaper-deep:#061114;--cachy-panel:rgba(8,17,21,.9);--cachy-panel-solid:#101a1e;--cachy-window:#20262b;--cachy-window-deep:#171c20;--cachy-terminal:#0a1013;--cachy-terminal-text:#d9ebe5;--cachy-wallpaper-edge:#08252a;--cachy-toolbar:#292f34;--cachy-sidebar:#242a2f;--cachy-line:rgba(226,250,244,.13);--cachy-line-strong:rgba(226,250,244,.22);--cachy-text:#edf7f4;--cachy-muted:#a8b8b4;--cachy-faint:#91a39e;--cachy-accent:#00d6a2;--cachy-accent-bright:#2ef0be;--cachy-cyan:#25c7df;--cachy-danger:#e36a72;--cachy-shadow:rgba(0,0,0,.62);--cachy-highlight-mix:#fff;--cachy-depth-mix:#000;--cachy-inset-line:rgba(255,255,255,.025);color-scheme:dark}[data-theme=light] .ssp-demo__workspace.ssp-desktop{--cachy-wallpaper:#e4f6f1;--cachy-wallpaper-deep:#f7fbfa;--cachy-wallpaper-edge:#cde8e1;--cachy-panel:rgba(248,252,251,.92);--cachy-panel-solid:#f7fbfa;--cachy-window:#f8faf9;--cachy-window-deep:#eef4f2;--cachy-terminal:#f4f8f7;--cachy-terminal-text:#17231f;--cachy-toolbar:#e8efec;--cachy-sidebar:#edf3f1;--cachy-line:rgba(20,70,58,.15);--cachy-line-strong:rgba(20,70,58,.26);--cachy-text:#14211d;--cachy-muted:#4f625c;--cachy-faint:#586c65;--cachy-accent:#007b62;--cachy-accent-bright:#006650;--cachy-cyan:#087d91;--cachy-danger:#b62f3c;--cachy-shadow:rgba(27,63,54,.22);--cachy-highlight-mix:#fff;--cachy-depth-mix:#c4d3ce;--cachy-inset-line:rgba(0,102,80,.08);color-scheme:light}.ssp-desktop__wallpaper-brand{display:none}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls,.ssp-demo__workspace.ssp-desktop .ssp-window,.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu,.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar{color:var(--cachy-text);font-family:system-ui,"Noto Sans","Segoe UI",sans-serif}.ssp-demo__workspace.ssp-desktop .ssp-window__toolbar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__toolbar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__menubar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__tabbar,.ssp-demo__workspace.ssp-desktop .ssp-window__statusbar,.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar,.ssp-demo__workspace.ssp-desktop .ssp-file-browser__summary,.ssp-demo__workspace.ssp-desktop .ssp-file-actions,.ssp-demo__workspace.ssp-desktop .ssp-command,.ssp-demo__workspace.ssp-desktop input,.ssp-demo__workspace.ssp-desktop button{font-family:system-ui,"Noto Sans","Segoe UI",sans-serif}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls{border-color:var(--cachy-line);background:var(--cachy-panel)}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity>span{width:38px;height:38px;border:1px solid color-mix(in srgb,var(--cachy-accent) 45%,transparent);border-radius:50%;background:color-mix(in srgb,var(--cachy-accent) 14%,transparent);color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity strong,.ssp-demo__workspace.ssp-desktop .ssp-window__identity strong,.ssp-demo__workspace.ssp-desktop .ssp-pane__head h3,.ssp-demo__workspace.ssp-desktop .ssp-file__name code,.ssp-demo__workspace.ssp-desktop .ssp-editor,.ssp-demo__workspace.ssp-desktop .ssp-editor textarea,.ssp-demo__workspace.ssp-desktop .ssp-editor pre,.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu button strong,.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar time{color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity small,.ssp-demo__workspace.ssp-desktop .ssp-window__identity small,.ssp-demo__workspace.ssp-desktop .ssp-client__role,.ssp-demo__workspace.ssp-desktop .ssp-file__meta,.ssp-demo__workspace.ssp-desktop .ssp-editor header small,.ssp-demo__workspace.ssp-desktop .ssp-editor footer,.ssp-demo__workspace.ssp-desktop .ssp-window__statusbar,.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu button small,.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar time small{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-command{color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-command:hover:not(:disabled),.ssp-demo__workspace.ssp-desktop .ssp-command:focus-visible{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-window{border-color:var(--cachy-line-strong);background:var(--cachy-window);box-shadow:0 22px 58px -28px var(--cachy-shadow)}.ssp-demo__workspace.ssp-desktop .ssp-window.is-active-window{border-color:color-mix(in srgb,var(--cachy-accent) 66%,var(--cachy-line-strong));box-shadow:0 0 0 1px color-mix(in srgb,var(--cachy-accent) 18%,transparent),0 26px 62px -28px var(--cachy-shadow)}.ssp-demo__workspace.ssp-desktop .ssp-window__titlebar{border-color:var(--cachy-line);background:linear-gradient(180deg,color-mix(in srgb,var(--cachy-toolbar) 88%,var(--cachy-highlight-mix) 12%),var(--cachy-toolbar))}.ssp-demo__workspace.ssp-desktop .ssp-window__identity svg{color:var(--cachy-cyan)}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-window__identity svg{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-window__actions button{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-window__actions button:hover,.ssp-demo__workspace.ssp-desktop .ssp-window__actions button:focus-visible{background:color-mix(in srgb,var(--cachy-text) 10%,transparent);color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-window__actions button[data-ssp-window-close]:hover,.ssp-demo__workspace.ssp-desktop .ssp-window__actions button[data-ssp-window-close]:focus-visible{background:color-mix(in srgb,var(--cachy-danger) 78%,transparent);color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-window__toolbar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__toolbar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__menubar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__tabbar,.ssp-demo__workspace.ssp-desktop .ssp-window__statusbar{border-color:var(--cachy-line);background:var(--cachy-toolbar);color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-window__navigation button{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-window__navigation button:hover{background:color-mix(in srgb,var(--cachy-text) 8%,transparent);color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-window__path,.ssp-demo__workspace.ssp-desktop .ssp-new-file input,.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu input{border-color:var(--cachy-line);background:var(--cachy-window-deep);color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-window__path svg,.ssp-demo__workspace.ssp-desktop .ssp-window__mode svg,.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar svg,.ssp-demo__workspace.ssp-desktop .ssp-file-actions svg,.ssp-demo__workspace.ssp-desktop .ssp-editor header svg{color:var(--cachy-cyan)}.ssp-demo__workspace.ssp-desktop .ssp-window__path code,.ssp-demo__workspace.ssp-desktop .ssp-window__mode,.ssp-demo__workspace.ssp-desktop .ssp-file-actions button{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-new-file input:focus,.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu input:focus{border-color:var(--cachy-accent);outline-color:var(--cachy-accent)}.ssp-demo__workspace.ssp-desktop .ssp-window__content,.ssp-demo__workspace.ssp-desktop .ssp-dolphin-pane{background:var(--cachy-window)}.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar{border-color:var(--cachy-line);background:var(--cachy-sidebar)}.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar strong{color:var(--cachy-faint)}.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar span{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar span.is-active{background:color-mix(in srgb,var(--cachy-accent) 17%,transparent);color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-stage-label,.ssp-demo__workspace.ssp-desktop .ssp-stage-label b,.ssp-demo__workspace.ssp-desktop .ssp-client__state,.ssp-demo__workspace.ssp-desktop .ssp-events__online{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-file-browser__summary{border-color:var(--cachy-line);background:var(--cachy-window-deep);color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-file-browser__columns{display:grid;width:102px;grid-template-columns:42px 54px;gap:6px;text-align:right}.ssp-demo__workspace.ssp-desktop .ssp-files{border-color:var(--cachy-line);background:color-mix(in srgb,var(--cachy-window) 88%,var(--cachy-depth-mix) 12%)}.ssp-demo__workspace.ssp-desktop .ssp-files li+li{border-color:var(--cachy-line)}.ssp-demo__workspace.ssp-desktop .ssp-files button:hover,.ssp-demo__workspace.ssp-desktop .ssp-files button.is-selected{background:color-mix(in srgb,var(--cachy-accent) 15%,transparent)}.ssp-demo__workspace.ssp-desktop .ssp-files button.is-selected{box-shadow:inset 2px 0 var(--cachy-accent)}.ssp-demo__workspace.ssp-desktop .ssp-editor{border-color:var(--cachy-line);background:var(--cachy-window-deep)}.ssp-demo__workspace.ssp-desktop .ssp-editor header,.ssp-demo__workspace.ssp-desktop .ssp-editor footer,.ssp-demo__workspace.ssp-desktop .ssp-terminal__tabs{border-color:var(--cachy-line);background:color-mix(in srgb,var(--cachy-toolbar) 72%,var(--cachy-depth-mix) 28%)}.ssp-demo__workspace.ssp-desktop .ssp-editor textarea,.ssp-demo__workspace.ssp-desktop .ssp-editor pre{background:var(--cachy-window-deep);caret-color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-editor [data-ssp-dirty-indicator]{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-terminal{border-color:var(--cachy-line)}.ssp-demo__workspace.ssp-desktop .ssp-terminal__output{background:var(--cachy-terminal);color:var(--cachy-terminal-text);scrollbar-color:var(--cachy-accent) transparent}.ssp-demo__workspace.ssp-desktop .ssp-konsole__tab{border-color:var(--cachy-line);border-top-color:var(--cachy-accent);background:var(--cachy-terminal);color:var(--cachy-terminal-text)}.ssp-demo__workspace.ssp-desktop .ssp-konsole__tab svg,.ssp-demo__workspace.ssp-desktop .ssp-konsole__activity b{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-konsole__menubar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__new-tab,.ssp-demo__workspace.ssp-desktop .ssp-konsole__line-count,.ssp-demo__workspace.ssp-desktop .ssp-konsole__tab i,.ssp-demo__workspace.ssp-desktop .ssp-konsole__metrics{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-terminal__empty{color:var(--cachy-faint)}.ssp-demo__workspace.ssp-desktop .ssp-terminal__time{color:var(--cachy-faint)}.ssp-demo__workspace.ssp-desktop .ssp-terminal__message strong,.ssp-demo__workspace.ssp-desktop .ssp-terminal__prompt{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-flow li{color:var(--cachy-faint)}.ssp-demo__workspace.ssp-desktop .ssp-flow li small{color:color-mix(in srgb,var(--cachy-muted) 66%,transparent)}.ssp-demo__workspace.ssp-desktop .ssp-flow li.is-active,.ssp-demo__workspace.ssp-desktop .ssp-flow li.is-complete{color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-flow li>i{background:var(--cachy-faint)}.ssp-demo__workspace.ssp-desktop .ssp-flow li.is-active>i{background:var(--cachy-accent-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--cachy-accent) 20%,transparent)}.ssp-demo__workspace.ssp-desktop .ssp-flow li.is-complete>i,.ssp-demo[data-status=ready] .ssp-demo__workspace.ssp-desktop .ssp-konsole__toolbar i,.ssp-demo[data-status=running] .ssp-demo__workspace.ssp-desktop .ssp-konsole__toolbar i,.ssp-demo[data-status=ready] .ssp-demo__workspace.ssp-desktop .ssp-konsole__activity>i,.ssp-demo[data-status=running] .ssp-demo__workspace.ssp-desktop .ssp-konsole__activity>i{background:var(--cachy-accent)}.ssp-demo__workspace.ssp-desktop .ssp-files button,.ssp-demo__workspace.ssp-desktop .ssp-editor header strong,.ssp-demo__workspace.ssp-desktop .ssp-editor textarea,.ssp-demo__workspace.ssp-desktop .ssp-editor pre,.ssp-demo__workspace.ssp-desktop .ssp-terminal__tabs,.ssp-demo__workspace.ssp-desktop .ssp-terminal__prompt,.ssp-demo__workspace.ssp-desktop .ssp-terminal-command,.ssp-demo__workspace.ssp-desktop .ssp-terminal-line p{color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-file__meta,.ssp-demo__workspace.ssp-desktop .ssp-file__meta b,.ssp-demo__workspace.ssp-desktop .ssp-terminal-line__source{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-file__meta{display:grid;width:102px;grid-template-columns:42px 54px;gap:6px;align-items:center;text-align:right}.ssp-demo__workspace.ssp-desktop .ssp-file__meta small{display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ssp-demo__workspace.ssp-desktop .ssp-terminal__prompt b,.ssp-demo__workspace.ssp-desktop .ssp-terminal-line__level,.ssp-demo__workspace.ssp-desktop .ssp-terminal-line code,.ssp-demo__workspace.ssp-desktop .ssp-terminal-command.is-output,.ssp-demo__workspace.ssp-desktop .ssp-terminal-line.is-success .ssp-terminal-line__level{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-terminal__prompt em{color:var(--cachy-cyan)}.ssp-demo__workspace.ssp-desktop .ssp-terminal-line.is-warning .ssp-terminal-line__level,.ssp-demo__workspace.ssp-desktop .ssp-terminal-line.is-error .ssp-terminal-line__level{color:var(--cachy-danger)}.ssp-demo__workspace.ssp-desktop .ssp-pane__head{align-items:center;gap:10px}.ssp-demo__workspace.ssp-desktop .ssp-pane__head>div{display:flex;min-width:0;align-items:baseline;gap:8px}.ssp-demo__workspace.ssp-desktop .ssp-pane__head h3,.ssp-demo__workspace.ssp-desktop .ssp-dolphin-pane .ssp-pane__head h3,.ssp-demo__workspace.ssp-desktop .ssp-flow .ssp-pane__head h3{margin:0;overflow:hidden;font-size:11px;font-weight:650;letter-spacing:0;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ssp-demo__workspace.ssp-desktop .ssp-stage-label{display:inline-flex;flex:0 0 auto;align-items:baseline;color:var(--cachy-accent-bright);font-size:8px;letter-spacing:.07em}.ssp-demo__workspace.ssp-desktop .ssp-stage-label b{margin-right:5px;font-family:var(--font-mono);font-size:9px;font-style:normal}.ssp-demo__workspace.ssp-desktop .ssp-client__role{margin:5px 0 8px;color:var(--cachy-muted);font-size:9px}.ssp-plasma-menu__empty{align-self:center;margin:0;padding:18px 10px;color:var(--cachy-muted);font-size:9px;text-align:center}@media (min-width:1101px){.ssp-demo__workspace.ssp-desktop{height:1010px;border-color:color-mix(in srgb,var(--cachy-accent) 24%,var(--cachy-line));background:radial-gradient(78% 90% at 2% 2%,color-mix(in srgb,var(--cachy-cyan) 22%,transparent),transparent 62%),radial-gradient(62% 74% at 98% 8%,color-mix(in srgb,var(--cachy-accent) 24%,transparent),transparent 68%),linear-gradient(145deg,var(--cachy-wallpaper) 0%,var(--cachy-wallpaper-deep) 48%,var(--cachy-wallpaper-edge) 100%);box-shadow:0 38px 90px -54px var(--cachy-shadow),inset 0 0 0 1px var(--cachy-inset-line)}.ssp-demo__workspace.ssp-desktop>.ssp-client--source{--window-x:max(24px,calc((100% - 1218px)/2));--window-y:78px;--window-w:min(600px,calc((100% - 66px)/2));--window-h:530px}.ssp-demo__workspace.ssp-desktop>.ssp-client--target{--window-x:calc(50% + 9px);--window-y:78px;--window-w:min(600px,calc((100% - 66px)/2));--window-h:530px}.ssp-demo__workspace.ssp-desktop>.ssp-events{--window-x:max(24px,calc((100% - 1040px)/2));--window-y:622px;--window-w:min(1040px,calc(100% - 48px));--window-h:324px}html:not(.js) .ssp-demo__workspace.ssp-desktop>.ssp-client--source{left:max(24px,calc((100% - 1218px)/2));transform:translate3d(0,78px,0)}html:not(.js) .ssp-demo__workspace.ssp-desktop>.ssp-client--target{left:calc(50% + 9px);transform:translate3d(0,78px,0)}html:not(.js) .ssp-demo__workspace.ssp-desktop>.ssp-events{left:50%;transform:translate3d(-50%,622px,0)}.ssp-demo__workspace.ssp-desktop:before{z-index:0;background:repeating-linear-gradient(118deg,transparent 0 22px,rgba(43,240,191,.035) 23px 24px,transparent 25px 58px),linear-gradient(118deg,transparent 0 32%,rgba(0,214,162,.11) 32.2% 33.2%,transparent 33.5% 100%),linear-gradient(62deg,transparent 0 66%,rgba(37,199,223,.08) 66.2% 67%,transparent 67.3% 100%);background-size:auto;content:'';opacity:1}.ssp-demo__workspace.ssp-desktop:after{position:absolute;z-index:0;inset:64px 0 54px;background:radial-gradient(circle at 18% 26%,rgba(46,240,190,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 81% 68%,rgba(37,199,223,.58) 0 1px,transparent 1.5px);background-size:47px 47px,61px 61px;content:'';opacity:.18;pointer-events:none}.ssp-desktop__wallpaper-brand{position:absolute;z-index:1;right:28px;bottom:72px;display:flex;align-items:center;gap:11px;color:color-mix(in srgb,var(--cachy-accent-bright) 62%,transparent);opacity:.42;pointer-events:none}.ssp-desktop__wallpaper-brand svg{width:34px;height:34px}.ssp-desktop__wallpaper-brand span{display:grid;gap:2px}.ssp-desktop__wallpaper-brand strong{font-family:system-ui,"Noto Sans","Segoe UI",sans-serif;font-size:11px;letter-spacing:.16em}.ssp-desktop__wallpaper-brand small{font-family:var(--font-mono);font-size:8px}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls{top:10px;right:12px;left:12px;min-height:52px;border:1px solid var(--cachy-line);border-radius:9px;padding:7px 12px;background:var(--cachy-panel);box-shadow:0 14px 34px -22px var(--cachy-shadow);backdrop-filter:blur(18px) saturate(125%)}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity>span{width:30px;height:30px}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity svg{width:18px;height:18px}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity strong{font-size:12px}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__identity small{font-size:8px}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__actions{gap:14px}.ssp-demo__workspace.ssp-desktop .ssp-window{border-radius:7px;background:var(--cachy-window)}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-window__content{display:flex;min-height:0;padding:0;overflow:hidden;background:var(--cachy-terminal)}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-flow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 18px;border-bottom:1px solid var(--cachy-line);padding:8px 12px;background:color-mix(in srgb,var(--cachy-toolbar) 66%,var(--cachy-depth-mix) 34%)}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-flow .ssp-client__role{display:none}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-flow ol{margin:0}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-terminal{min-height:0;border:0;padding:0}.ssp-demo__workspace.ssp-desktop .ssp-terminal__output{max-height:none;height:auto;padding:10px 13px 15px}.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar{right:0;bottom:0;left:0;min-height:42px;border-right:0;border-bottom:0;border-left:0;border-color:var(--cachy-line-strong);border-radius:0;background:var(--cachy-panel);box-shadow:0 16px 42px -24px var(--cachy-shadow);backdrop-filter:blur(20px) saturate(125%)}.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button{min-width:34px;min-height:32px;border-radius:5px;padding:0 8px;color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button>span{display:none}.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button[hidden]{display:none}.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button:hover,.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button:focus-visible,.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button.is-active{background:color-mix(in srgb,var(--cachy-text) 11%,transparent);color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-desktop__taskbar button.is-active{box-shadow:inset 0 -2px var(--cachy-accent)}.ssp-demo__workspace.ssp-desktop .ssp-taskbar__launcher{background:color-mix(in srgb,var(--cachy-accent) 14%,transparent);color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-taskbar__launcher svg{width:19px;height:19px}.ssp-demo__workspace.ssp-desktop .ssp-taskbar__divider{background:var(--cachy-line-strong)}.ssp-demo__workspace.ssp-desktop .ssp-taskbar__tray{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu{bottom:56px;left:8px;width:min(410px,calc(100% - 16px));border-color:var(--cachy-line-strong);border-radius:7px;padding:0;overflow:hidden;background:color-mix(in srgb,var(--cachy-panel-solid) 94%,transparent);box-shadow:0 30px 70px -34px var(--cachy-shadow);backdrop-filter:blur(22px) saturate(130%)}.ssp-plasma-menu__head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:13px}.ssp-plasma-menu__user{display:flex;align-items:center;gap:8px}.ssp-plasma-menu__user>svg{width:25px;height:25px;color:var(--cachy-accent-bright)}.ssp-plasma-menu__user>span{display:grid;gap:1px}.ssp-plasma-menu__user strong{color:var(--cachy-text);font-size:10px}.ssp-plasma-menu__user small{color:var(--cachy-muted);font-family:var(--font-mono);font-size:7px}.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu__head input{min-height:31px;padding-block:6px}.ssp-plasma-menu__body{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:164px;border-top:1px solid var(--cachy-line);border-bottom:1px solid var(--cachy-line)}.ssp-plasma-menu__categories{display:grid;align-content:start;gap:3px;border-right:1px solid var(--cachy-line);padding:10px 7px;background:color-mix(in srgb,var(--cachy-wallpaper) 46%,transparent)}.ssp-plasma-menu__categories span{display:flex;min-height:30px;align-items:center;gap:7px;border-radius:4px;padding:5px 7px;color:var(--cachy-muted);font-size:9px}.ssp-plasma-menu__categories span.is-active{background:color-mix(in srgb,var(--cachy-accent) 15%,transparent);color:var(--cachy-accent-bright)}.ssp-plasma-menu__categories svg{width:13px;height:13px}.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu [data-ssp-plasma-apps]{max-height:210px;gap:2px;margin:0;padding:9px;overflow-y:auto;scrollbar-color:var(--cachy-accent) transparent;scrollbar-width:thin}.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu button{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu button:hover,.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu button:focus-visible{background:color-mix(in srgb,var(--cachy-accent) 14%,transparent);color:var(--cachy-text)}.ssp-demo__workspace.ssp-desktop .ssp-plasma-menu button svg{color:var(--cachy-cyan)}.ssp-plasma-menu__footer{display:flex;min-height:34px;align-items:center;gap:14px;padding:6px 12px;color:var(--cachy-accent-bright);font-size:8px}.ssp-plasma-menu__footer small{margin-left:auto;color:var(--cachy-muted);font-family:var(--font-mono);font-size:7px}}@media (max-width:1100px){.ssp-demo__workspace.ssp-desktop{border:1px solid color-mix(in srgb,var(--cachy-accent) 24%,var(--cachy-line));border-radius:14px;padding:8px;background:radial-gradient(90% 36% at 0 0,color-mix(in srgb,var(--cachy-cyan) 16%,transparent),transparent 72%),linear-gradient(145deg,var(--cachy-wallpaper),var(--cachy-wallpaper-deep) 58%,var(--cachy-wallpaper-edge))}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls,.ssp-demo__workspace.ssp-desktop>.ssp-window{border-color:var(--cachy-line-strong);background:var(--cachy-window)}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls{background:var(--cachy-panel-solid)}.ssp-demo__workspace.ssp-desktop .ssp-window__titlebar{border-color:var(--cachy-line);background:var(--cachy-toolbar)}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-window__content{display:flex;min-height:300px;padding:0;overflow:hidden;background:var(--cachy-terminal)}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-terminal{min-height:0;border:0;padding:0}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-flow{border-color:var(--cachy-line)}}@media (max-width:600px){.ssp-demo__workspace.ssp-desktop{gap:10px;padding:6px}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-window__content{min-height:250px}.ssp-konsole__menubar{overflow:hidden}.ssp-konsole__menubar span:nth-child(n+4),.ssp-konsole__metrics [data-ssp-client-count],.ssp-konsole__metrics [data-ssp-storage-count],.ssp-konsole__metrics [data-ssp-session-state]{display:none}.ssp-konsole__tab{min-width:0;flex:1 1 auto}.ssp-konsole__line-count{display:none}.ssp-demo__workspace.ssp-desktop .ssp-files{display:block;border:1px solid var(--cachy-line);border-radius:0 0 7px 7px;overflow:hidden}.ssp-demo__workspace.ssp-desktop .ssp-files li{min-width:0}.ssp-demo__workspace.ssp-desktop .ssp-files li+li{border-top:1px solid var(--cachy-line)}.ssp-demo__workspace.ssp-desktop .ssp-files button{width:100%;min-width:0;justify-content:space-between;border:0;border-left:2px solid transparent;padding-inline:8px}.ssp-demo__workspace.ssp-desktop .ssp-files button.is-selected{border-left-color:var(--cachy-accent)}.ssp-demo__workspace.ssp-desktop .ssp-file__name{min-width:0}.ssp-demo__workspace.ssp-desktop .ssp-file__name code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:360px){.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar{overflow:visible;flex-wrap:wrap}.ssp-demo__workspace.ssp-desktop .ssp-flow ol{grid-template-columns:1fr;gap:6px}.ssp-demo__workspace.ssp-desktop .ssp-flow li small{display:inline;margin-left:5px}}.ssp-demo__workspace.ssp-desktop .ssp-command{border-color:var(--cachy-line-strong)}.ssp-demo__workspace.ssp-desktop .ssp-command:hover:not(:disabled),.ssp-demo__workspace.ssp-desktop .ssp-command:focus-visible{border-color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-file-actions{border-color:var(--cachy-line)}.ssp-demo__workspace.ssp-desktop .ssp-file-actions button:hover:not(:disabled),.ssp-demo__workspace.ssp-desktop .ssp-file-actions button:focus-visible{color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-file__name svg{color:var(--cachy-cyan)}.ssp-demo__workspace.ssp-desktop .ssp-files button.is-selected{border-bottom-color:var(--cachy-accent);border-left-color:var(--cachy-accent)}.ssp-demo__workspace.ssp-desktop .ssp-konsole__activity>i{background:var(--cachy-faint)}.ssp-demo__workspace.ssp-desktop .ssp-konsole__metrics>span+span{border-color:var(--cachy-line)}.ssp-demo__workspace.ssp-desktop .ssp-editor textarea:focus,.ssp-demo__workspace.ssp-desktop .ssp-window__titlebar:focus-visible,.ssp-demo__workspace.ssp-desktop .ssp-window-resize:focus-visible{outline-color:var(--cachy-accent-bright)}.ssp-demo__workspace.ssp-desktop .ssp-window__identity small,.ssp-demo__workspace.ssp-desktop .ssp-client__role,.ssp-demo__workspace.ssp-desktop .ssp-editor header,.ssp-demo__workspace.ssp-desktop .ssp-editor header strong,.ssp-demo__workspace.ssp-desktop .ssp-editor header small,.ssp-demo__workspace.ssp-desktop .ssp-editor footer,.ssp-demo__workspace.ssp-desktop .ssp-window__mode,.ssp-demo__workspace.ssp-desktop .ssp-konsole__menubar,.ssp-demo__workspace.ssp-desktop .ssp-konsole__tabbar{font-size:10px}.ssp-demo__workspace.ssp-desktop .ssp-editor header{color:var(--cachy-muted)}.ssp-demo__workspace.ssp-desktop .ssp-stage-label,.ssp-demo__workspace.ssp-desktop .ssp-file__meta,.ssp-demo__workspace.ssp-desktop .ssp-dolphin-sidebar strong{font-size:9px}.ssp-demo__workspace.ssp-desktop .ssp-terminal__output{font-size:11px}@media (max-width:1100px){.ssp-demo__workspace.ssp-desktop{display:grid;grid-template-columns:minmax(0,1fr)}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls{grid-column:1;order:0}.ssp-demo__workspace.ssp-desktop>.ssp-client--source{grid-column:1;order:1}.ssp-demo__workspace.ssp-desktop>.ssp-events{display:flex;block-size:clamp(280px,42vw,320px);max-block-size:320px;grid-column:1;order:2;flex-direction:column}.ssp-demo__workspace.ssp-desktop>.ssp-client--target{grid-column:1;order:3}.ssp-demo__workspace.ssp-desktop>.ssp-window--dynamic{grid-column:1;order:4}.ssp-demo__workspace.ssp-desktop>.ssp-window{width:100%;min-width:0}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-window__content{block-size:auto;min-block-size:0;max-block-size:none;overflow:hidden;flex:1 1 auto}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-terminal{block-size:100%;min-block-size:0;overflow:hidden}.ssp-demo__workspace.ssp-desktop .ssp-events .ssp-terminal__output{block-size:100%;max-block-size:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.ssp-demo__workspace.ssp-desktop .ssp-command,.ssp-demo__workspace.ssp-desktop .ssp-file-actions button,.ssp-demo__workspace.ssp-desktop .ssp-new-file input,.ssp-demo__workspace.ssp-desktop .ssp-files button{min-block-size:44px}}@media (max-width:360px){.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__actions,.ssp-demo__workspace.ssp-desktop .ssp-file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__actions>.ssp-command,.ssp-demo__workspace.ssp-desktop .ssp-file-actions>.ssp-new-file{grid-column:1/-1}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__actions .ssp-control,.ssp-demo__workspace.ssp-desktop .ssp-file-actions .ssp-control,.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__actions .ssp-command,.ssp-demo__workspace.ssp-desktop .ssp-file-actions button,.ssp-demo__workspace.ssp-desktop .ssp-new-file,.ssp-demo__workspace.ssp-desktop .ssp-new-file input{width:100%;min-width:0}.ssp-demo__workspace.ssp-desktop .ssp-desktop-controls__actions .ssp-command,.ssp-demo__workspace.ssp-desktop .ssp-file-actions button{justify-content:center;padding-inline:6px}.ssp-code__tabs{padding-right:0;overscroll-behavior-inline:contain;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}.ssp-code__tabs:after{width:28px;flex:0 0 28px;content:''}}.c4-explorer{position:relative;width:calc(100vw - (2*var(--project-story-outer-gutter)));margin-left:50%;margin-top:clamp(72px,10vw,132px);transform:translateX(-50%);--c4-map-panel:color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%)}.c4-explorer__map{display:grid;grid-template-columns:minmax(0,1fr)}.c4-explorer__canvas-wrap{position:relative;min-width:0;overflow:hidden;border:0;border-radius:0;background:0 0;box-shadow:none}.c4-map__toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.c4-explorer__levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.c4-explorer__levels button,.c4-canvas__controls button{min-height:38px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:6px;padding:8px 11px;background:0 0;color:rgba(var(--ink),.62);cursor:pointer;font-family:var(--font-mono);font-size:10px}.c4-explorer__levels button:hover,.c4-explorer__levels button.is-active,.c4-canvas__controls button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.c4-explorer__levels button:focus-visible,.c4-canvas__controls button:focus-visible{outline:2px solid var(--accent-lite);outline-offset:2px}.c4-canvas__controls{display:flex;align-items:center;gap:5px}.c4-canvas__controls span{min-width:38px;color:rgba(var(--ink),.58);font-family:var(--font-mono);font-size:9px;text-align:center}.c4-canvas__controls button:not([data-c4-zoom="reset"]){width:38px;padding-inline:0;font-size:18px}.c4-explorer__map-canvas{position:relative;min-width:0}.c4-explorer__keyboard-help{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c4-explorer__keyboard-controls{position:absolute;z-index:2;right:18px;bottom:18px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 36px);opacity:0;pointer-events:none;transform:translateY(4px)}.c4-explorer__keyboard-controls:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.c4-explorer__keyboard-controls[hidden]{display:none}.c4-explorer__keyboard-control{border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:6px;padding:7px 10px;background:color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%);color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:9px;line-height:1.25}.c4-diagram__details{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:14px clamp(14px,2vw,24px);border-top:1px solid rgba(var(--ink),.14)}.c4-diagram__details:empty{display:none}.c4-diagram__details-hint{flex:1 0 100%;margin:0 0 2px;color:rgba(var(--ink),.58);font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.c4-diagram__detail-link{min-height:36px;border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);border-radius:7px;padding:7px 10px;background:0 0;color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:10px}.c4-canvas:focus-visible,.c4-explorer__keyboard-control:focus-visible{outline:2px solid var(--accent-lite);outline-offset:-3px}.c4-canvas{display:block;width:100%;height:auto;aspect-ratio:1400/760;min-height:0;background:var(--c4-map-panel);cursor:pointer}@media (max-width:600px){.c4-map__toolbar{grid-template-columns:minmax(0,1fr)}.c4-explorer__levels{grid-template-columns:repeat(2,minmax(0,1fr))}.c4-canvas__controls{justify-content:flex-start}.c4-explorer__keyboard-controls{right:12px;bottom:12px;left:12px;justify-content:flex-start;max-width:none}}.c4-explorer__intro{max-width:760px;margin:0 auto clamp(28px,4vw,48px);text-align:center}.c4-explorer__intro .ssp-kicker{margin-bottom:12px}.c4-explorer__intro h2{margin:0;color:var(--text);font-family:var(--font-serif);font-size:clamp(36px,5vw,64px);font-weight:400;letter-spacing:-.045em;line-height:.95}.c4-explorer__intro p{max-width:620px;margin:18px auto 0;color:rgba(var(--ink),.62);font-family:var(--font-body);font-size:15px;line-height:1.6}.c4-map__toolbar-main{display:grid;min-width:0;gap:8px}.c4-explorer__flows{display:grid;grid-template-columns:auto repeat(5,minmax(0,1fr));gap:6px;align-items:center;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--accent) 16%,transparent)}.c4-explorer__flow-label{padding-inline:4px 8px;color:rgba(var(--ink),.42);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;white-space:nowrap}.c4-explorer__flows button{min-height:34px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:6px;padding:7px 9px;background:0 0;color:rgba(var(--ink),.62);cursor:pointer;font-family:var(--font-mono);font-size:9px;letter-spacing:.01em;text-align:left}.c4-explorer__flows button:hover,.c4-explorer__flows button.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.c4-explorer__flows button:focus-visible{outline:2px solid var(--accent-lite);outline-offset:2px}@media (max-width:900px){.c4-explorer__flows{grid-template-columns:repeat(3,minmax(0,1fr))}.c4-explorer__flow-label{grid-column:1/-1}}@media (max-width:600px){.c4-explorer__intro{margin-bottom:28px;text-align:left}.c4-explorer__intro p{margin-left:0}.c4-explorer__flows{grid-template-columns:repeat(2,minmax(0,1fr))}}.case--story .project-story__section .ssp-demo,.case--story .project-story__section .c4-explorer{width:100%;max-width:none;margin:24px 0 0;padding:0;transform:none}.case--story .ssp-demo__workspace{margin-top:16px}.case--story .ssp-demo__status{margin:0 0 12px;padding:10px 0}.case--story .c4-explorer__intro{margin:0 0 24px;text-align:left}.case--story .c4-explorer__intro .ssp-kicker{display:none}.case--story .c4-explorer__intro h2{font-size:clamp(27px,3vw,38px)}.case--story .c4-explorer__intro p{max-width:68ch;margin-inline:0}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--root-bg);scroll-padding-block-end:var(--mnav-reserve);scrollbar-width:thin;scrollbar-color:var(--accent) transparent}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:0 0;margin:6px 0}html::-webkit-scrollbar-thumb{background:var(--accent);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box;transition:background .25s}html::-webkit-scrollbar-thumb:hover{background:var(--accent-2,var(--accent));background-clip:content-box}body{margin:0;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;overflow-x:hidden;background:var(--root-bg);transition:background var(--theme-transition),color var(--theme-transition)}::selection{background:var(--status);color:#08120b}h1,h2,h3{font-weight:700;letter-spacing:-.055em;line-height:1;text-wrap:balance}p,li{letter-spacing:-.02em}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.skip{position:fixed;left:16px;top:-120px;z-index:200;background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.06em;padding:13px 20px;border-radius:10px;box-shadow:0 14px 34px -10px rgba(0,0,0,.7);transition:top .2s ease}.skip:focus{top:16px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent-lite);outline-offset:3px;border-radius:6px}[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}@keyframes sheen{0%{background-position:0 0}100%{background-position:200% 0}}@keyframes drift{0%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-56px,44px) scale(1)}100%{transform:translate(0,0) scale(1.05)}}@keyframes hue{0%,100%{opacity:.55}50%{opacity:.9}}@keyframes navplop{0%{transform:scale(.2);opacity:0}55%{transform:scale(1.12);opacity:1}76%{transform:scale(.95)}100%{transform:scale(1);opacity:1}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:40;background:0 0;pointer-events:none}.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent-fill),var(--accent),var(--accent-lite));transform-origin:left;will-change:width}.section{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);display:inline-block}.dot--pulse{animation:blink 2s infinite}.link{transition:color .3s}.link:hover{color:var(--accent-lite)}.w-bold{font-weight:700}.w-serif{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent-lite)}:root{--mnav-height:58px;--mnav-bottom:calc(20px + env(safe-area-inset-bottom,0px));--mnav-gap:16px;--mnav-reserve:0px}.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:center;align-items:center;gap:16px;padding:20px clamp(24px,5vw,64px);pointer-events:none}@media (min-width:1040px){.nav{top:clamp(16px,1.6vw,30px)}}.nav__capsule{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;pointer-events:auto;background:color-mix(in srgb,var(--paper) 90%,transparent);border:1px solid transparent;border-radius:26px;padding:11px 14px;transition:background .5s cubic-bezier(.22,1,.36,1)}[data-bleed="1"] .nav__capsule{border-color:rgba(var(--ink),.08);box-shadow:0 14px 34px -16px rgba(0,0,0,.35)}.nav__link{font-family:var(--font-body);font-weight:500;font-size:15px;letter-spacing:.01em;color:rgba(var(--ink),.62);padding:13px 20px;border-radius:22px;background:0 0;transition:background .25s,color .25s,transform .25s}.nav__link:hover{color:var(--text);background:var(--surface)}.nav__link.is-active{color:var(--text);background:var(--surface-2)}.nav__divider{width:1px;height:24px;background:var(--surface-2);margin:0 18px;flex:0 0 auto}.nav__tipwrap{position:relative;display:flex}.nav__toggle{width:46px;height:46px;border-radius:50%;border:0;background:0 0;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,transform .3s cubic-bezier(.34,1.56,.64,1)}.nav__toggle:hover{background:color-mix(in srgb,var(--text) 17%,transparent);transform:scale(1.1)}.nav__toggle--mobile{width:52px;height:52px;background:var(--surface-2)}.nav__ico{display:grid;place-items:center}.nav__ico svg{width:24px;height:24px}.nav__ico--moon svg{width:23px;height:23px}.nav__toggle--mobile .nav__ico svg{width:25px;height:25px}[data-theme=dark] .nav__ico--moon{display:none}[data-theme=light] .nav__ico--sun{display:none}.nav__ico--mo-off{position:relative}.nav__ico-cross{position:absolute;inset:0;margin:auto;color:var(--accent-lite)}[data-motion=on] .nav__ico--mo-off{display:none}[data-motion=off] .nav__ico--mo-on{display:none}.nav__tip{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%) translateY(-4px);white-space:nowrap;font-family:var(--font-sans);font-weight:600;font-size:13px;color:var(--text);--tipbg:color-mix(in srgb,var(--panel-solid) 84%,var(--text));background:var(--tipbg);padding:9px 13px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 16px 36px -14px rgba(0,0,0,.6),0 2px 8px -3px rgba(0,0,0,.35);z-index:5}.nav__tip:before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-bottom-color:var(--tipbg)}.nav__tipwrap:hover .nav__tip,.nav__tipwrap:has(:focus-visible) .nav__tip{opacity:1;transform:translateX(-50%) translateY(0)}.nav__mobile-toggles{display:flex;justify-content:center;gap:14px;padding:0 24px clamp(24px,6vw,34px);flex-shrink:0}.nav__mobile{display:none;pointer-events:auto}.nav__mobile-pill{position:fixed;bottom:var(--mnav-bottom);left:0;right:0;z-index:39;display:inline-flex;align-items:center;gap:18px;width:fit-content;margin-inline:auto;border:0;border-radius:var(--radius-pill);padding:16px 20px 16px 28px;background:var(--cta);color:var(--cta-ink);box-shadow:0 14px 32px -12px rgba(0,0,0,.7);cursor:pointer;font-family:var(--font-sans);font-size:22px;font-weight:700;letter-spacing:.01em;transition:opacity .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.nav__mobile-lines{display:flex;flex-direction:column;justify-content:center;gap:5px;width:26px;height:26px;padding:0 2px}.nav__mobile-lines span{height:2.5px;border-radius:2px;background:currentColor}.nav__mobile-scrim{position:fixed;inset:0;z-index:38;background:color-mix(in srgb,var(--paper) 62%,transparent);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);transition:opacity .3s ease}.nav__mobile-panel{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:40;width:min(320px,86vw);max-height:calc(100dvh - 28px - env(safe-area-inset-bottom,0px));margin-inline:auto;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--surface-2);border-radius:26px;background:color-mix(in srgb,var(--panel-solid) 80%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 34px 80px -22px rgba(0,0,0,.55);opacity:0;pointer-events:none;transform:scale(.35);transform-origin:bottom center;transition:opacity .26s ease,transform .38s cubic-bezier(.34,1.56,.64,1)}.nav__mobile-links{display:flex;flex-direction:column;align-items:center;min-height:0;overflow-y:auto;gap:clamp(12px,3.4vw,20px);padding:clamp(40px,10vw,56px) 24px clamp(28px,6vw,38px)}.nav__mobile-link{color:rgba(var(--ink),.9);font-weight:700;font-size:clamp(26px,7vw,32px);letter-spacing:.02em;transition:color .2s ease}.nav__mobile-link:hover,.nav__mobile-link.is-active{color:var(--accent-lite)}.nav__mobile-close{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-top:1px solid rgba(var(--ink),.12);padding:16px 22px;background:0 0;color:var(--text);cursor:pointer;font-family:var(--font-sans);font-size:17px;font-weight:600}.nav__mobile-close span:last-child{font-size:22px;font-weight:400;line-height:1}.nav__mobile.is-open .nav__mobile-pill,.nav__mobile[data-open="1"] .nav__mobile-pill,body.mnav-open .nav__mobile-pill{opacity:0;pointer-events:none;transform:scale(.6)}.nav__mobile.is-open .nav__mobile-scrim,.nav__mobile[data-open="1"] .nav__mobile-scrim,body.mnav-open .nav__mobile-scrim{opacity:1;pointer-events:auto}.nav__mobile.is-open .nav__mobile-panel,.nav__mobile[data-open="1"] .nav__mobile-panel,body.mnav-open .nav__mobile-panel{opacity:1;pointer-events:auto;transform:scale(1)}[data-stage]{position:relative;z-index:1;overflow-x:hidden;transform-origin:50% 12%;transition:transform .62s cubic-bezier(.22,1,.36,1),filter .62s cubic-bezier(.22,1,.36,1),border-radius .62s cubic-bezier(.22,1,.36,1)}body.sheet-open [data-stage],body.overlay-open [data-stage],[data-stage].is-dimmed{border-radius:22px;filter:brightness(.5) saturate(.85);pointer-events:none;transform:scale(.92) translateY(-1.5%)}.stage{position:relative}.card{position:relative;min-height:100svh;overflow:hidden;background:linear-gradient(135deg,var(--stage-a) 0%,var(--stage-c) 100%);transition:background var(--theme-transition)}.card--error{overflow:hidden;background:radial-gradient(760px 520px at 86% 16%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 72%),radial-gradient(680px 480px at 8% 92%,color-mix(in srgb,var(--accent-lite) 4%,transparent),transparent 74%),linear-gradient(135deg,var(--stage-a) 0%,var(--stage-c) 100%)}@media (min-width:1040px){.stage{padding:clamp(10px,1vw,18px)}.card{border-radius:26px;box-shadow:var(--shadow-stage);transition:background var(--theme-transition),box-shadow var(--theme-transition)}[data-theme=light] .card{box-shadow:var(--shadow-stage)}.card--error{min-height:calc(100svh - clamp(20px,2vw,36px))}[data-bleed="1"] .card{box-shadow:var(--shadow-stage-bleed)}}.hero{--hero-avatar-size:min(120svh,135vw);--hero-avatar-bottom:max(-28.8svh,-32.4vw);--hero-nav-safe-space:0px;--hero-ghost-bg:color-mix(in srgb,var(--panel-solid) 84%,transparent);--hero-ghost-border:color-mix(in srgb,var(--text) 26%,transparent);--hero-ghost-shadow:0 14px 32px -18px color-mix(in srgb,var(--paper) 88%,transparent);position:relative;z-index:1;min-height:100svh;overflow:hidden;padding:clamp(120px,15vh,180px) 0 0;color:var(--text);background:radial-gradient(760px 460px at 88% 12%,color-mix(in srgb,var(--accent-2) 9%,transparent),transparent 60%),linear-gradient(135deg,var(--stage-a) 0%,var(--stage-c) 100%);transition:background var(--theme-transition),color var(--theme-transition)}.hero--photo{--hero-photo-side:0}.hero__status-glow{position:absolute;z-index:0;top:32%;left:-760px;width:1520px;height:1040px;transform:translateY(-50%);pointer-events:none}.hero__status-glow stop{stop-color:var(--status);transition:stop-color var(--theme-transition)}.hero__wordmark{position:absolute;left:0;right:0;top:clamp(70px,11vh,150px);margin:0;pointer-events:none;z-index:2;display:flex;justify-content:center;align-items:baseline;gap:.22em;font-size:min(15.5vw,240px);line-height:1;white-space:nowrap}.hero__word{font-weight:600;letter-spacing:-.045em;color:var(--text);pointer-events:auto;user-select:text;cursor:text}.hero__word--first{letter-spacing:-.025em}.hero__word--last{font-weight:600;letter-spacing:-.045em}.hero__avatar{position:absolute;left:50%;bottom:var(--hero-avatar-bottom);transform:translateX(-50%);width:var(--hero-avatar-size);height:var(--hero-avatar-size);max-width:none;aspect-ratio:1;z-index:3;pointer-events:none}.hero__photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;--portrait-fade:linear-gradient(to bottom,#000 55%,rgba(0,0,0,.96) 61%,rgba(0,0,0,.78) 69%,rgba(0,0,0,.42) 78%,rgba(0,0,0,.12) 87%,transparent 96%);mask-image:var(--portrait-fade);-webkit-mask-image:var(--portrait-fade)}@media (max-width:820px),(orientation:portrait){.hero__avatar--photo{top:max(140px,18svh);bottom:auto;width:min(130vw,76svh);height:auto}}.hero__avatar--photo[data-layout]{top:auto;left:var(--hero-avatar-left,50%);bottom:var(--hero-avatar-bottom);width:var(--hero-avatar-size);height:var(--hero-avatar-size)}@media (orientation:portrait) and (max-height:700px){.hero--photo{min-height:max(100svh,680px)}}@media (orientation:landscape){.hero--photo{--hero-photo-side:1}html.js .hero--photo .hero__copy{right:auto;width:min(480px,44vw);max-width:min(480px,44vw)}}@media (max-width:1039.98px) and (orientation:landscape){html.js .hero--photo .hero__wordmark{top:clamp(64px,10svh,120px);font-size:clamp(34px,14vw,220px)}}@media (max-width:1039.98px) and (orientation:landscape) and (max-height:560px){.hero--photo{min-height:max(100svh,420px)}.hero--photo .hero__wordmark{top:24px;left:0;right:0;font-size:clamp(38px,9vw,76px)}html.js .hero--photo .hero__wordmark{top:24px;left:0;right:0;font-size:clamp(38px,9vw,76px)}.hero--photo .hero__copy{top:130px;bottom:auto;max-width:44vw}.hero--photo .hero__avatar--photo:not([data-layout]){top:110px;bottom:auto;left:75%;width:min(92svh,48vw);height:auto}}html.js .hero--photo.hero--photo-flow{padding:clamp(120px,15vh,180px) clamp(20px,4.5vw,88px) var(--mnav-reserve,0px);display:flex;flex-direction:column;align-items:center;gap:24px}html.js .hero--photo.hero--photo-flow .hero__wordmark,html.js .hero--photo.hero--photo-flow .hero__avatar,html.js .hero--photo.hero--photo-flow .hero__copy{position:relative;inset:auto;transform:none}html.js .hero--photo.hero--photo-flow .hero__wordmark{width:100%}html.js .hero--photo.hero--photo-flow .hero__avatar{width:min(100%,900px);height:auto;aspect-ratio:auto;flex:none;margin-top:calc(-1*var(--hero-flow-overlap,48px))}html.js .hero--photo.hero--photo-flow .hero__photo{width:100%;height:auto}html.js .hero--photo.hero--photo-flow .hero__copy{width:100%;max-width:480px;margin:0 auto}html.js .hero--photo.hero--photo-flow .hero__scrim{display:none}html.js .hero--photo.hero--photo-flow .hero__role{color:var(--text);text-shadow:none}html.js .hero--photo.hero--photo-flow .hero__intro{color:color-mix(in srgb,var(--text) 84%,transparent);text-shadow:none}html.js .hero--photo.hero--photo-flow .hero__direction,html.js .hero--photo.hero--photo-flow .hero__signature,html.js .hero--photo.hero--photo-flow .hero__role-serif{color:var(--accent-2);text-shadow:none}@media (min-width:1040px) and (max-height:700px){.hero--photo{min-height:max(100svh,440px)}.hero--photo .hero__wordmark{top:124px;font-size:clamp(72px,18svh,126px)}.hero--photo .hero__copy{top:calc(148px + clamp(72px,18svh,126px));bottom:auto}.hero--photo .hero__role{font-size:clamp(28px,7svh,42px)}.hero--photo .hero__direction{margin-top:8px;font-size:12px}.hero--photo .hero__intro{margin-top:8px;font-size:12px;line-height:1.4}.hero--photo .hero__actions{margin-top:14px}}.hero__rig{position:relative;width:100%;height:100%;user-select:none}.hero__frame,.hero__shirt-tone{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block;pointer-events:none;-webkit-user-drag:none;z-index:2}.hero__pose{position:absolute;inset:0;isolation:isolate}.hero__shirt-tone{display:none}.hero__tone-filters{position:absolute;width:0;height:0;pointer-events:none}@supports (mask-image:linear-gradient(black,transparent)) and (mix-blend-mode:plus-lighter){.hero__pose--toned .hero__frame{mask-image:linear-gradient(#000 56%,transparent 66%)}.hero__pose--toned .hero__shirt-tone{display:block;mask-image:linear-gradient(transparent 56%,#000 66%);mix-blend-mode:plus-lighter}}.hero__scrim{display:none}.hero__copy{position:absolute;left:clamp(20px,4.5vw,88px);bottom:max(clamp(72px,13vh,150px),var(--hero-nav-safe-space));z-index:4;max-width:min(480px,48vw)}.hero__direction{max-width:52ch;margin:12px 0 0;color:var(--accent-lite);font-family:var(--font-body);font-size:clamp(13px,1vw,15px);font-weight:700;letter-spacing:.01em;line-height:1.5}.hero__role{font-weight:700;font-size:clamp(38px,4vw,60px);line-height:1;letter-spacing:-.05em;color:var(--text);text-shadow:0 2px 18px color-mix(in srgb,var(--paper) 72%,transparent)}.hero__role-serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--accent-2)}.hero__intro{max-width:47ch;margin:16px 0 0;color:color-mix(in srgb,var(--text) 84%,transparent);font-family:var(--font-body);font-size:clamp(14px,1.15vw,17px);line-height:1.5;text-wrap:balance}.hero__signature{margin:10px 0 0;color:var(--accent-lite);font-family:var(--font-body);font-size:clamp(11px,.8vw,12px);font-weight:700;letter-spacing:.06em;line-height:1.4}.hero__actions{display:flex;gap:14px;flex-wrap:nowrap;margin-top:clamp(22px,2.4vw,30px)}@media (min-width:821px){.hero__wordmark{top:clamp(72px,9svh,120px);font-size:min(14vw,220px)}.hero__copy{left:max(clamp(20px,4.5vw,88px),calc((100% - var(--maxw))/2 + var(--pad-x)))}}@media (orientation:portrait) and (min-width:821px){.hero--photo .hero__direction,.hero--photo .hero__signature{color:var(--accent-2)}}@media (max-width:820px){.hero{--hero-avatar-size:min(205vw,92svh);--hero-avatar-bottom:0px;padding:0}.hero__wordmark{top:clamp(64px,10vh,120px);z-index:4;font-size:clamp(34px,14vw,80px);text-shadow:0 1px 12px color-mix(in srgb,var(--paper) 48%,transparent)}.hero__scrim{display:block;position:absolute;left:0;right:0;bottom:0;height:40%;z-index:3;pointer-events:none;background:linear-gradient(0deg,rgba(7,10,15,.97) 6%,rgba(7,10,15,.72) 42%,rgba(7,10,15,.1) 82%,transparent 100%)}.hero__copy{left:clamp(20px,6vw,40px);right:clamp(20px,6vw,40px);bottom:max(clamp(30px,5vh,56px),var(--hero-nav-safe-space));max-width:none}.hero__direction,.hero__signature{color:#a9c3f5;text-shadow:0 2px 14px rgba(0,0,0,.72)}.hero__role{color:#f3f1ec;text-shadow:0 2px 18px rgba(0,0,0,.72)}.hero__role-serif{color:#a9c3f5}.hero__intro{color:rgba(243,241,236,.88);text-shadow:0 2px 14px rgba(0,0,0,.72)}.hero__actions{margin-top:18px}.hero__actions .btn--cta{flex:1.45 1 0}.hero__actions .btn--ghost{flex:.75 1 0}.hero__actions .btn--cta,.hero__actions .btn--solid{background:#f7f9fc;color:#0d0d0f}.hero__actions .btn--ghost{color:#f3f1ec}}.hero--photo .hero__wordmark{z-index:2}.hero--photo .hero__scrim{display:block;position:absolute;inset:var(--hero-fade-top,48%) 0 0;height:auto;z-index:3;pointer-events:none;background:var(--stage-c);backdrop-filter:blur(clamp(8px,calc(var(--hero-avatar-size)*.018),20px));-webkit-backdrop-filter:blur(clamp(8px,calc(var(--hero-avatar-size)*.018),20px));--caption-depth:100%;--caption-fade:linear-gradient(to bottom,transparent,rgba(0,0,0,.04) calc(var(--caption-depth)*.12),rgba(0,0,0,.16) calc(var(--caption-depth)*.26),rgba(0,0,0,.4) calc(var(--caption-depth)*.42),rgba(0,0,0,.7) calc(var(--caption-depth)*.6),rgba(0,0,0,.92) calc(var(--caption-depth)*.8),#000 var(--caption-depth));mask-image:var(--caption-fade);-webkit-mask-image:var(--caption-fade)}[data-theme=dark] .hero--photo .hero__scrim{--caption-fade:linear-gradient(to bottom,transparent,rgba(0,0,0,.02) calc(var(--caption-depth)*.22),rgba(0,0,0,.08) calc(var(--caption-depth)*.40),rgba(0,0,0,.22) calc(var(--caption-depth)*.58),rgba(0,0,0,.52) calc(var(--caption-depth)*.78),rgba(0,0,0,.84) calc(var(--caption-depth)*.92),#000 var(--caption-depth))}@media (max-width:820px){.hero--photo .hero__scrim{z-index:2;top:var(--hero-backdrop-top,34%);background:var(--scheme-dark-stage-c);--caption-depth:var(--hero-backdrop-depth,300px)}}@media (max-width:420px){.hero__direction{margin-top:8px;font-size:11px;letter-spacing:.035em;line-height:1.25;text-wrap:balance}.hero__role{font-size:clamp(32px,9.8vw,38px)}.hero__intro{font-size:12px;line-height:1.35}.hero__signature{margin-top:7px;font-size:11px;letter-spacing:.025em;line-height:1.25;text-wrap:balance}}@media (orientation:portrait){.hero{--hero-avatar-size:min(320vw,92svh);--hero-avatar-bottom:0px}}@media (max-width:1039.98px){html.js .hero{--hero-nav-safe-space:max(clamp(94px,14vh,132px),calc(100% - 100svh + var(--mnav-reserve)))}}@media (max-width:1039.98px) and (orientation:landscape) and (max-height:560px){.hero{--hero-avatar-size:min(205vw,90svh);--hero-avatar-bottom:0px;padding-top:clamp(92px,20vh,120px);padding-bottom:clamp(40px,8vh,64px)}.hero__direction{margin-top:4px;font-size:11px;letter-spacing:.03em;line-height:1.2}.hero__role{font-size:clamp(27px,8vh,36px)}.hero__intro{margin-top:5px;max-width:54ch;font-size:11px;line-height:1.3}html.js .hero--photo .hero__copy{top:min(130px,calc(100svh - var(--mnav-reserve) - var(--hero-copy-height,190px) + 1px))}.hero__signature{margin-top:3px;font-size:11px;letter-spacing:.02em;line-height:1.2}.hero__actions{margin-top:7px}}.projects{--project-section-gutter:var(--pad-x);max-width:var(--maxw);margin-inline:auto;position:relative;z-index:1;padding:clamp(20px,3vw,48px) 0 clamp(12px,1.6vw,24px)}.projects__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 auto clamp(30px,3.6vw,52px);padding-inline:var(--project-section-gutter)}.projects__head>.btn,.home-articles__head>.btn{flex-shrink:0}@media (max-width:820px){.projects__head,.home-articles .home-articles__head{flex-direction:column;align-items:flex-start;gap:24px}}.projects__intro{max-width:820px}.projects__title{margin:0;font-weight:700;font-size:clamp(36px,4.6vw,80px);line-height:1;letter-spacing:-.055em;color:var(--text)}.projects__title-em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--accent-2)}.projects__lede{max-width:640px;margin:clamp(18px,2vw,24px) 0 0;font:400 clamp(16px,1.35vw,20px)/1.55 var(--font-body);color:rgba(var(--ink),.6)}.projects__grid{--card-grid-gap:clamp(12px,1vw,16px);display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--card-grid-gap);padding:0 var(--project-section-gutter) 64px}.skills{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:start;max-width:var(--maxw);margin:clamp(20px,3.5vw,52px) auto 0;padding:0 var(--pad-x)}.skills__word{margin:0 0 clamp(26px,3vw,34px);font-weight:700;font-size:clamp(38px,4.6vw,84px);line-height:1;letter-spacing:-.055em;color:var(--text)}.skills__word-em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--accent-2)}.skills__rule{height:1px;margin-bottom:30px;background:rgba(var(--ink),.16)}.skills__cv{display:inline-flex;align-items:center;gap:12px;color:var(--text);font-size:clamp(15px,1.4vw,18px);font-weight:700;letter-spacing:-.01em}.skills__cv-box{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:0;background:var(--surface-2);border-radius:14px;transition:background .25s,color .25s,transform .25s}.skills__cv-box svg{width:20px;height:20px;transition:transform .32s cubic-bezier(.16,1,.3,1)}.skills__cv:hover .skills__cv-box{background:var(--accent);color:var(--accent-ink)}.skills__cv:hover .skills__cv-box svg{transform:translate(2px,-2px)}.home-articles,.article-index,.project-index,.article-page{position:relative;z-index:1;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad-x)}.home-articles{padding-bottom:clamp(64px,6vw,88px)}.home-articles+.skills{margin-top:0}.home-articles__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:clamp(30px,3.6vw,52px)}.home-articles__head>div{max-width:780px}.home-articles__title,.article-index__title,.project-index__title{margin:0;color:var(--text);font-size:clamp(38px,4.6vw,80px);font-weight:700;letter-spacing:-.055em;line-height:1}.home-articles__title em{color:var(--accent-2);font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}.home-articles__intro,.article-index__intro,.project-index__intro{max-width:650px;margin:clamp(18px,2vw,24px) 0 0;color:rgba(var(--ink),.62);font-family:var(--font-body);font-size:clamp(16px,1.35vw,20px);line-height:1.55}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,40px)}.article-grid--home{grid-template-columns:repeat(3,minmax(0,1fr))}.article-grid>[data-reveal]{min-width:0}.article-taxonomy{display:flex;flex-wrap:wrap;gap:8px}.article-taxonomy__item{border:1px solid rgba(var(--ink),.13);border-radius:var(--radius-pill);padding:6px 10px;color:rgba(var(--ink),.68);font-family:var(--font-body);font-size:11px;font-weight:700;line-height:1;transition:border-color .2s,color .2s,background .2s}.article-taxonomy__item--category{color:var(--accent-2)}.article-taxonomy__item:hover{border-color:var(--accent-lite);background:var(--surface);color:var(--text)}.article-index,.project-index{min-height:78svh;padding-top:clamp(130px,17vh,210px);padding-bottom:clamp(80px,10vw,150px)}.article-index__head,.project-index__head{max-width:850px;margin-bottom:clamp(48px,7vw,88px)}.article-index__eyebrow{margin:0 0 20px}.article-empty,.project-empty{max-width:720px;border:1px solid rgba(var(--ink),.11);border-radius:22px;padding:clamp(34px,6vw,72px);background:color-mix(in srgb,var(--panel-solid) 92%,var(--accent) 8%)}.article-empty__label{margin:0 0 16px;color:var(--accent-2);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.article-empty h2,.project-empty h2{margin:0;color:var(--text);font-size:clamp(30px,4vw,52px);letter-spacing:-.045em;line-height:1.05}.article-empty>p:not(.article-empty__label){max-width:54ch;margin:20px 0 30px;color:rgba(var(--ink),.66);font-family:var(--font-body);line-height:1.65}.project-empty .btn{margin-top:28px}.article-page{padding-top:clamp(130px,17vh,210px);padding-bottom:clamp(80px,10vw,150px)}.article-page__head{max-width:980px}.article-page__head h1{max-width:13ch;margin:18px 0 24px;color:var(--text);font-size:clamp(48px,7.3vw,112px);font-weight:700;letter-spacing:-.065em;line-height:.92;overflow-wrap:anywhere}.article-page__excerpt{max-width:760px;margin:0 0 26px;color:rgba(var(--ink),.72);font-family:var(--font-body);font-size:clamp(19px,2vw,28px);line-height:1.5}.article-page__hero{overflow:hidden;margin:clamp(48px,7vw,90px) 0 0;border-radius:var(--radius-card);background:var(--surface-2)}.article-page__hero img{display:block;width:100%;max-height:min(72svh,820px);object-fit:cover}.article-page__layout{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:clamp(42px,7vw,110px);max-width:1180px;margin-top:clamp(58px,8vw,110px)}.article-page__layout>*{min-width:0}.article-page__aside{position:sticky;top:clamp(88px,10vw,132px);align-self:start;min-width:0}.article-page__footer-link{margin-top:clamp(64px,9vw,120px)}.home-articles__empty{margin:0;padding-block:24px;border-top:1px solid var(--color-border-strong);color:var(--color-text-muted);font:400 18px/1.6 var(--font-body)}.home-articles .home-articles__intro,.article-index .article-index__intro,.project-index .project-index__intro{font-size:clamp(18px,1.5vw,22px)}.home-articles .home-articles__title{font-size:clamp(42px,4.6vw,80px)}.article-selection{--card-grid-gap:clamp(12px,1vw,16px);display:flex;flex-wrap:wrap;gap:var(--card-grid-gap);align-items:stretch}.article-index .article-index__head,.project-index .project-index__head{max-width:none}.article-index__head>.btn,.project-index__head>.btn{margin-bottom:32px}.article-index .article-index__title,.project-index .project-index__title{font-size:clamp(42px,4.6vw,80px)}.article-index .article-index__intro,.project-index .project-index__intro{max-width:680px}.article-index__list,.project-index__list{display:flex;flex-direction:column;margin-top:clamp(48px,6vw,80px)}.project-index__group+.project-index__group{margin-top:clamp(72px,9vw,132px)}.project-index__group-title{margin:0;color:var(--text);font-size:clamp(28px,3vw,46px);letter-spacing:-.045em;line-height:1.05}.project-index__group-intro{max-width:680px;margin:16px 0 0;color:rgba(var(--ink),.62);font-family:var(--font-body);font-size:clamp(16px,1.25vw,19px);line-height:1.6}.article-page .article-page__head{max-width:1000px}.article-page .article-page__head h1{max-width:20ch;font-size:clamp(42px,5.4vw,80px);line-height:1.05;margin:36px 0 24px;text-wrap:pretty}.article-page .article-page__back{margin-bottom:0}.article-page .article-page__excerpt{font-size:clamp(20px,1.7vw,24px);line-height:1.65}.article-page .article-page__hero{margin-top:40px}.article-page .article-page__hero img{aspect-ratio:16/9}.article-page .article-page__layout{margin-top:56px}.article-page .article-sidebar{font-size:14px}.article-page .article-sidebar__label{font-size:13px;text-transform:none;letter-spacing:0}.article-page .article-sidebar__links a:not(.article-sidebar__tool),.article-page .article-sidebar__contents-item a{font-size:15px;line-height:1.5;text-transform:none;letter-spacing:0}.article-page .prose{font-size:18px;line-height:1.8}@media (max-width:900px){.home-articles .home-articles__head{flex-direction:column;align-items:flex-start;gap:24px}}.uses-page{position:relative;z-index:1;max-width:var(--maxw);min-height:78svh;margin-inline:auto;padding:clamp(110px,13vh,160px) var(--pad-x) clamp(70px,8vw,120px)}.uses-page__head{position:relative}.uses-page__heading{position:relative;z-index:1;padding:clamp(28px,3vw,46px) 0 28px}.uses-page__eyebrow,.uses-principles__head>p,.uses-empty__label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.uses-page__eyebrow{margin:0 0 22px;color:var(--accent-2)}.uses-page__title{max-width:none;margin:0;color:var(--text);font-size:clamp(52px,6.8vw,108px);font-weight:700;letter-spacing:-.075em;line-height:.82;overflow-wrap:normal}.uses-groups{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.5vw,22px);margin-top:clamp(48px,6vw,78px)}.uses-group{display:flex;min-width:0;flex-direction:column;gap:16px;padding:0}.uses-group__head{position:static;min-height:74px}.uses-group__head:before{display:block;width:32px;height:3px;margin-bottom:13px;border-radius:999px;background:var(--accent-2);content:""}.uses-group__head h2,.uses-group__head h3{max-width:none;margin:0;color:var(--text);font-family:var(--font-serif);font-size:clamp(27px,2.6vw,38px);font-style:italic;font-weight:400;letter-spacing:-.025em;line-height:.94;overflow-wrap:normal}.uses-group__cards{display:grid;grid-template-columns:1fr;gap:1px;min-width:0;overflow:hidden;border:1px solid rgba(var(--ink),.16);border-radius:16px;background:rgba(var(--ink),.12)}.uses-principles{position:relative;display:grid;grid-template-columns:minmax(250px,.58fr) minmax(0,1fr);margin-top:clamp(64px,7vw,96px);overflow:hidden;border:1px solid rgba(var(--ink),.17);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 90%,var(--accent) 10%) 0%,color-mix(in srgb,var(--paper) 91%,var(--accent-2) 9%) 100%)}.uses-principles__head{position:relative;min-height:250px;overflow:hidden;border-right:1px solid rgba(var(--ink),.17);padding:clamp(28px,3.5vw,48px)}.uses-principles__head>p{margin:0 0 15px;color:var(--accent-2)}.uses-principles__head h2{max-width:7ch;margin:0;color:var(--text);font-size:clamp(34px,4vw,54px);letter-spacing:-.06em;line-height:.95}.uses-principles__list{margin:0;padding:clamp(28px,3.5vw,48px);list-style:none}.uses-principles__list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:18px;border-top:1px solid rgba(var(--ink),.14);padding:16px 0;color:var(--text);font-family:var(--font-body);font-size:clamp(15px,1.35vw,18px);font-weight:700;line-height:1.45}.uses-principles__list li:last-child{border-bottom:1px solid rgba(var(--ink),.14)}.uses-principles__list span{align-self:start;margin-top:.56em}.uses-principles__marker{width:9px;height:9px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 13%,transparent)}.uses-page__footer{display:flex;justify-content:center;margin-top:clamp(56px,6vw,86px);padding-top:clamp(34px,5vw,60px)}.uses-page__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px}.uses-empty{max-width:720px;border:1px solid rgba(var(--ink),.11);border-radius:22px;padding:clamp(34px,6vw,72px);background:color-mix(in srgb,var(--panel-solid) 92%,var(--accent) 8%)}.uses-empty__label{margin:0 0 16px;color:var(--accent-2)}.uses-empty h2{margin:0;color:var(--text);font-size:clamp(30px,4vw,52px);letter-spacing:-.045em;line-height:1.05}.uses-empty>p:not(.uses-empty__label){max-width:54ch;margin:20px 0 0;color:rgba(var(--ink),.66);font-family:var(--font-body);line-height:1.65}html:has(.home),body:has(.home),.stage:has(.home){background:var(--contact-bg)}.home{--contact-reveal-inset:0px;--contact-reveal-height:min(clamp(700px,90svh,760px),100svh);position:relative;isolation:isolate;padding-bottom:0;background:var(--contact-bg);transition:background var(--theme-transition)}.home__surface{position:relative;z-index:1;border-radius:0 0 clamp(20px,2.2vw,34px) clamp(20px,2.2vw,34px);background:linear-gradient(135deg,var(--stage-a) 0%,var(--stage-c) 100%)}.contact{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(24px,4vw,48px);height:auto;min-height:clamp(520px,66vh,760px);width:auto;margin:0;max-width:none;overflow:clip;container-type:inline-size;padding:clamp(72px,8vh,120px) var(--pad-x) max(clamp(48px,7vh,90px),var(--mnav-reserve,0px));border-radius:0 0 26px 26px;background:var(--contact-bg);transition:background var(--theme-transition)}html.js .home[data-contact-layout=reveal]{padding-bottom:var(--contact-fitted-height,var(--contact-reveal-height))}html.js .home[data-contact-layout=reveal]>.contact{position:fixed;right:var(--contact-reveal-inset);bottom:var(--contact-reveal-inset);left:var(--contact-reveal-inset);z-index:0;width:auto;height:var(--contact-fitted-height,var(--contact-reveal-height));min-height:0}html.js .home[data-contact-layout=flow]>.contact{overflow:visible}html.js .home[data-contact-layout=flow]>.contact .contact__word{position:relative;order:2;inset:auto;width:100%;flex-shrink:0;margin:auto 0 0;text-align:right;font-size:min(22vw,240px);line-height:1.2;transform:translateY(calc(max(clamp(48px,7vh,90px),var(--mnav-reserve,0px)) + clamp(12px,1.5vw,32px) + .02em))}@media (min-width:1040px){.contact{padding-top:clamp(144px,14vh,220px)}}@media (min-width:1100px){.home{--contact-reveal-inset:clamp(10px,1vw,18px);--contact-reveal-height:min(clamp(760px,90svh,820px),calc(100svh - var(--contact-reveal-inset) - var(--contact-reveal-inset)))}.contact{min-height:clamp(760px,90vh,820px)}html.js .home[data-contact-layout=flow]>.contact .contact__word{transform:translateY(calc(max(clamp(48px,7vh,90px),var(--mnav-reserve,0px)) + clamp(28px,3vw,60px) + .02em))}}.contact__word{position:absolute;right:clamp(12px,2vw,32px);bottom:calc(-1*clamp(12px,1.5vw,32px) - .02em);z-index:0;color:transparent;font-weight:600;font-size:min(clamp(220px,30vw,520px),calc((100vw - 2*var(--pad-x) - 16px)/3.6));letter-spacing:-.04em;line-height:.8;pointer-events:auto;user-select:text;-webkit-user-select:text;touch-action:pan-y;white-space:nowrap;-webkit-text-stroke:2px color-mix(in srgb,var(--accent-lite) 38%,transparent)}@media (min-width:1100px){.contact__word{bottom:calc(-1*clamp(28px,3vw,60px) - .02em)}}.contact__inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:clamp(56px,7vw,110px);align-items:center;width:min(100%,var(--maxw));min-width:0;flex-shrink:0;margin-inline:auto}.home>.contact .contact__inner>*,.home>.contact .contact__channels,.home>.contact .contact__channel,.home>.contact .contact__channel-col{min-width:0}.home>.contact .contact__channel-col{max-width:100%}.home>.contact .contact__channel-label,.home>.contact .contact__channel-value,.home>.contact .contact__name span{max-width:100%;overflow-wrap:anywhere}.contact__name{line-height:.86;letter-spacing:-.03em;will-change:transform;transition:transform .35s cubic-bezier(.16,1,.3,1)}.contact__name span{display:block;font-size:clamp(72px,10vw,150px)}.contact__name .w-serif{font-size:clamp(76px,10.5vw,162px);background:linear-gradient(92deg,var(--text) 0%,var(--accent-lite) 55%,var(--accent) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s linear infinite}.contact__channels{position:relative;min-width:0;border-top:1px solid rgba(var(--ink),.14);cursor:default}.contact__channels,.contact__channels *{cursor:none}.contact__channel{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(var(--ink),.1);padding:clamp(16px,1.6vw,20px) 8px}.contact__channel:last-of-type{border-bottom:0}.contact__channel-col{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.contact__channel-label,.contact__channel-value{display:block;transition:color .25s ease,transform .25s ease}.contact__channel-label{color:rgba(var(--ink),.64);font-family:var(--font-body);font-size:11px;letter-spacing:.02em}.contact__channel-value{color:rgba(var(--ink),.82);font-size:clamp(18px,1.8vw,25px);font-weight:700;letter-spacing:-.01em}.contact__channel:hover .contact__channel-label{color:var(--accent-lite)}.contact__channel:hover .contact__channel-value{color:var(--text)}.contact__pill{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;border-radius:var(--radius-pill);padding:9px 15px 9px 11px;background:var(--accent);color:var(--accent-ink);text-transform:uppercase;box-shadow:0 14px 40px -12px rgba(0,0,0,.6);font-size:15px;font-weight:700;letter-spacing:.01em;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.85);transition:opacity .2s ease,transform .12s ease;white-space:nowrap}.contact__pill [data-picon]{display:grid;place-items:center;width:26px;height:26px}.contact__pill [data-picon] svg{width:17px;height:17px}.contact__channels:hover .contact__pill,.contact__pill.is-visible{opacity:1}@media (hover:none),(pointer:coarse){.contact__channels,.contact__channels *{cursor:auto !important}}html.overlay-open,body.overlay-open,html.mnav-open,body.mnav-open{overflow:hidden !important;overscroll-behavior:none}[data-scrim]{position:fixed;inset:0;z-index:60;background:rgba(3,4,6,.5);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s ease}body.sheet-open [data-scrim],body.overlay-open [data-scrim],[data-scrim].is-visible,[data-scrim][data-open="1"]{opacity:1;pointer-events:auto}.case{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(24px,5vw,64px) clamp(60px,8vw,110px)}.case--page{max-width:var(--maxw);padding-inline:var(--pad-x)}.case__num{color:var(--accent-lite);font-family:var(--font-body);font-size:13px;letter-spacing:.02em}.case__title{margin:12px 0 18px;font-size:clamp(44px,8vw,120px);font-weight:700;letter-spacing:-.055em;overflow-wrap:break-word;hyphens:auto;line-height:1;color:var(--text)}.case__one{max-width:820px;margin:0;color:var(--accent-lite);font-family:var(--font-body);font-size:clamp(22px,3vw,42px);font-style:normal;font-weight:500;line-height:1.3}.case__meta{display:flex;flex-wrap:wrap;gap:14px 48px;border-top:1px solid rgba(var(--ink),.16);border-bottom:1px solid rgba(var(--ink),.16);padding:20px 0;margin:clamp(34px,4vw,56px) 0;color:rgba(var(--ink),.6);font-family:var(--font-body);font-size:12px;letter-spacing:.06em}.case__meta-val{color:var(--text)}.case__tools{display:flex;min-width:0;align-items:center;gap:18px;margin:-28px 0 clamp(30px,4vw,46px)}.case__tools[hidden]{display:none}.case__tools-label{flex:0 0 auto;color:rgba(var(--ink),.52);font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.case__tools-list{display:flex;min-width:0;flex-wrap:wrap;gap:8px}.case__tools-list>:is(a,span){border:1px solid rgba(var(--ink),.16);border-radius:999px;padding:7px 11px;background:color-mix(in srgb,var(--panel-solid) 92%,var(--accent) 8%);color:var(--text);font-family:var(--font-body);font-size:11px;font-weight:700;line-height:1;transition:border-color .25s,color .25s,transform .25s}.case__tools-list a:hover{border-color:var(--accent-lite);color:var(--accent-lite);transform:translateY(-1px)}.case__hero{position:relative;width:100%;aspect-ratio:21/9;overflow:hidden;border:1px solid rgba(var(--ink),.1);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 88%,var(--accent) 12%),color-mix(in srgb,var(--paper) 86%,var(--accent-2) 14%))}.case__hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(var(--ink),.055) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ink),.055) 1px,transparent 1px);background-size:42px 42px}.case__hero-cap{position:absolute;inset:24px;border:1px dashed rgba(var(--ink),.22);border-radius:14px;display:grid;place-items:center;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--ink),.52)}.case__hero img{position:absolute;inset:0;z-index:1;display:none;width:100%;height:100%;object-fit:cover}.case__hero img[src]:not([src=""]){display:block}.case__hero.case__hero--contain{aspect-ratio:16/9}.case__hero--contain img{object-fit:contain}.case__hero--contain .case__hero-grid,.case__hero--contain .case__hero-cap{display:none}.case__layout{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:clamp(42px,7vw,110px);align-items:start;margin-top:clamp(54px,7vw,96px)}.case--page .case__layout{max-width:1180px}.case__layout>*{min-width:0}.case__sidebar{position:sticky;top:clamp(88px,10vw,132px);align-self:start}.case__sidebar .case__meta{display:contents;margin:0;border:0;padding:0}.case__body{min-width:0}.case__sidebar .case__tools{display:block;margin:0}.case__sidebar .case__tools-list{flex-direction:column;flex-wrap:nowrap;gap:7px;margin-top:9px}.case__sidebar .case__tools-list a:not(.article-sidebar__tool){border:0;border-radius:0;padding:0;background:0 0;font-size:13px;line-height:1.35}.case__body>.case__about:first-child{margin-top:0}.case__about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(30px,5vw,80px);margin-top:clamp(44px,6vw,80px)}.case__about-label{color:rgba(var(--ink),.6);font-family:var(--font-body);font-size:11px;letter-spacing:.02em}.case__desc{margin:0 0 24px;color:rgba(var(--ink),.85);font-family:var(--font-body);font-size:clamp(17px,1.4vw,21px);line-height:1.65}.case__descb{margin:0;color:rgba(var(--ink),.66);font-family:var(--font-body);font-size:clamp(15px,1.2vw,18px);line-height:1.7}.case__description{color:rgba(var(--ink),.76);font-family:var(--font-body);font-size:clamp(15px,1.2vw,18px);font-style:normal;line-height:1.7}.case__description>:first-child{margin-top:0}.case__description>:last-child{margin-bottom:0}.case__description p:first-child{color:rgba(var(--ink),.85);font-size:clamp(17px,1.4vw,21px);line-height:1.65}.case__description h2{margin:2.2em 0 .7em;color:var(--text);font-family:var(--font-body);font-size:clamp(20px,2vw,29px);letter-spacing:-.025em;line-height:1.2}.case__description ul{margin:1em 0 1.6em;padding-left:1.25em}.case__description li+li{margin-top:.45em}.case__description strong{color:var(--text)}.case__description code{border-radius:5px;padding:.12em .35em;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--text);overflow-wrap:anywhere;white-space:normal}.case__description a{color:inherit}.error-page{--error-page-center-offset:clamp(39px,4.5vh,50px);position:relative;z-index:1;display:grid;min-height:100svh;grid-template-columns:minmax(0,760px) minmax(420px,1fr);align-items:center;gap:clamp(24px,3vw,54px);max-width:1480px;margin:0 auto;padding:clamp(142px,17vh,190px) clamp(36px,6vw,96px) clamp(64px,8vh,100px)}.error-page__copy{position:relative;z-index:3;display:flex;min-height:414px;flex-direction:column;max-width:760px}.error-page__title{max-width:760px;margin:12px 0 18px;color:var(--text);font-size:clamp(62px,7.5vw,122px);font-weight:700;hyphens:auto;letter-spacing:-.055em;line-height:.94;overflow-wrap:break-word;text-wrap:balance}.error-page__title>span,.error-page__title>em,.error-page__message>span{display:block}.error-page__title>em{color:var(--text);font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}.error-page__message{max-width:660px;min-height:3em;margin:0;color:rgba(var(--ink),.66);font-family:var(--font-body);font-size:clamp(18px,1.45vw,24px);font-weight:400;letter-spacing:-.025em;line-height:1.5;text-wrap:pretty}.error-page__actions{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:12px;margin-top:auto}.error-page__action{margin:0}.error-page__visual{position:absolute;right:clamp(24px,4vw,64px);bottom:clamp(56px,8vh,72px);z-index:1;width:min(44vw,690px);height:min(69vh,690px);margin:0;pointer-events:none}.error-page__visual img{position:absolute;right:0;bottom:-2%;z-index:2;display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 32px 38px rgba(0,0,0,.22))}.error-page--404 .error-page__visual img{transform:translateY(7%) scale(1.08);transform-origin:right bottom}.error-page__halo{position:absolute;right:4%;bottom:7%;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 68%);filter:blur(24px)}.error-page--500 .error-page__halo{background:radial-gradient(circle,color-mix(in srgb,var(--accent-lite) 14%,transparent),color-mix(in srgb,var(--accent) 7%,transparent) 44%,transparent 70%)}@media (min-width:1040px){.error-page{min-height:calc(100svh - clamp(20px,2vw,36px))}}.case--page{padding-top:clamp(120px,16vh,190px)}.case__crumb{display:flex;gap:12px;margin-bottom:clamp(28px,4vw,44px);font-family:var(--font-body);font-size:13px;letter-spacing:.04em;color:rgba(var(--ink),.6)}.case__crumb a{color:var(--accent)}.case__crumb-sep{opacity:.4}.drag-cursor{position:fixed;top:0;left:0;z-index:50;display:flex;align-items:center;gap:9px;border-radius:var(--radius-pill);padding:9px 15px 9px 11px;background:var(--accent);color:var(--accent-ink);box-shadow:0 14px 34px -10px rgba(0,0,0,.75);font-family:var(--font-body);font-size:15px;font-weight:700;letter-spacing:.16em;opacity:0;pointer-events:none;transform:translate(16px,16px);transition:opacity .2s ease;white-space:nowrap}.drag-cursor [data-ic-drag],.drag-cursor [data-ic-open]{display:grid;place-items:center;width:26px;height:26px}.drag-cursor [data-ic-open]{display:none}.footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;max-width:var(--maxw);margin:0 auto;padding:40px var(--pad-x) 48px;border-top:1px solid rgba(var(--ink),.06);font-family:var(--font-body);font-size:11px;letter-spacing:.08em;color:rgba(var(--ink),.5)}.footer__avail{display:flex;align-items:center;gap:8px}[data-reveal]{opacity:1;transform:none}.page-fx{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:1;background:radial-gradient(120% 80% at 78% -5%,var(--stage-a) 0%,var(--stage-b) 46%,var(--stage-c) 100%);animation:page-fx-reveal .55s cubic-bezier(.16,1,.3,1) both;display:grid;place-items:center}@keyframes page-fx-reveal{from{opacity:1}to{opacity:0}}.page-fx__mark{display:flex;align-items:center;gap:12px}.page-fx__dot{width:12px;height:12px;border-radius:3px;background:var(--accent);animation:blink 1.1s infinite}.page-fx__name{color:var(--text);font-size:14px;font-weight:700;letter-spacing:.18em}html:not(.js) .page-fx,html[data-motion=off] .page-fx{display:none;opacity:0;animation:none}@media (max-width:1039.98px){html.js{--mnav-reserve:calc(var(--mnav-height) + var(--mnav-bottom) + var(--mnav-gap))}.nav{display:block;padding:0}.nav__capsule{display:none}.nav__mobile{display:block}html:not(.js) .nav__mobile-pill,html:not(.js) .nav__mobile-scrim,html:not(.js) .nav__mobile-close{display:none}html:not(.js) .nav__mobile-panel{position:static;width:min(320px,86vw);max-height:none;margin-inline:auto;opacity:1;pointer-events:auto;transform:none;overflow:visible;border:0;background:var(--panel-solid);box-shadow:0 14px 34px -16px rgba(0,0,0,.35)}html:not(.js) .nav__mobile-toggles{display:none}html.js body:not(:has(.home)) #main-content{padding-block-end:var(--mnav-reserve)}}@media (min-width:1040px){.nav__mobile{display:none}.nav__capsule{display:flex}#projecten,#skills,#artikelen,#contact{scroll-margin-top:calc(clamp(16px,1.6vw,30px) + 90px)}}@media (max-width:1039.98px){body.page--error .nav__mobile{display:none}.error-page__actions{min-height:128px}.case--page{padding-top:clamp(72px,10vh,104px)}.error-page{--error-page-center-offset:clamp(19px,2vh,22px);grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);padding-top:clamp(104px,13vh,138px)}.error-page__title{font-size:clamp(52px,7.6vw,84px)}}@media (min-width:760.01px){.error-page__visual{top:calc(50% + var(--error-page-center-offset));bottom:auto;transform:translateY(-50%)}}@media (max-width:760px){.error-page{display:flex;min-height:100svh;flex-direction:column;align-items:stretch;gap:28px;padding:94px clamp(20px,6vw,32px) 112px}.error-page__copy{width:100%}.error-page__title{margin-block:10px 15px;font-size:clamp(48px,14vw,76px);line-height:.96}.error-page__message{font-size:clamp(17px,5vw,21px)}.error-page__visual{position:relative;right:auto;bottom:auto;width:min(100%,560px);height:min(52svh,520px);align-self:center}.error-page--404 .error-page__visual img{transform:translateY(5%) scale(1.06)}}@media (min-width:760.01px) and (max-width:1039.98px) and (orientation:portrait){.error-page__visual{width:min(42vw,420px);height:auto;aspect-ratio:1}}@media (max-width:760px){.error-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(190px,32svh,280px) auto;align-content:start;gap:clamp(36px,5svh,44px);padding:clamp(40px,7svh,64px) clamp(20px,6vw,32px) 28px}.error-page__visual{grid-row:1;width:min(88vw,340px);height:100%}.error-page__visual img{object-position:center bottom}.error-page__copy{grid-row:2;min-height:0}.error-page__title{margin-block:0 12px;font-size:clamp(42px,12vw,54px)}.error-page__message{font-size:clamp(16px,4.1vw,17px)}.error-page__actions{margin-top:22px}}@media (max-width:330px){.error-page__message{min-height:6em}}@media (max-width:980px){.skills,.case__about{grid-template-columns:1fr}.skills{gap:clamp(32px,7vw,56px)}.article-page__layout,.case__layout{grid-template-columns:minmax(0,1fr);gap:clamp(34px,8vw,56px)}.article-page__aside,.case__sidebar{position:static}.article-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))}.contact__inner{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){:root{--pad-x:clamp(20px,6vw,28px)}.eyebrow,.section__label{flex-wrap:wrap}.home-articles__head{align-items:flex-start;flex-direction:column}.article-grid,.article-page__layout{grid-template-columns:minmax(0,1fr);gap:clamp(28px,7vw,44px)}.article-page__head h1{font-size:clamp(44px,15vw,72px)}.contact__channel{align-items:flex-start;flex-direction:column}.sheet{top:16px;border-radius:18px 18px 0 0}.sheet__bar{align-items:flex-start;flex-direction:column}.sheet__close{align-self:flex-end}.sheet__actions{gap:7px}.case__meta{flex-direction:column;gap:10px}.case__tools{align-items:flex-start;flex-direction:column;gap:10px;margin-top:-20px}.case__hero{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){:is(html:not(.js),html[data-motion=off]) [data-reveal]{opacity:1 !important;transform:none !important}:is(html:not(.js),html[data-motion=off]) *,:is(html:not(.js),html[data-motion=off]) *:before,:is(html:not(.js),html[data-motion=off]) *:after{scroll-behavior:auto !important}:is(html:not(.js),html[data-motion=off]) .bg__glow,:is(html:not(.js),html[data-motion=off]) .contact__name .w-serif,:is(html:not(.js),html[data-motion=off]) .contact__sheen,:is(html:not(.js),html[data-motion=off]) .dot--pulse,:is(html:not(.js),html[data-motion=off]) .page-fx__dot,:is(html:not(.js),html[data-motion=off]) .sheet__close-icon{animation:none !important}:is(html:not(.js),html[data-motion=off]) .sheet__print-paper{transform:none !important;transition:none !important}:is(html:not(.js),html[data-motion=off]) [data-stage],:is(html:not(.js),html[data-motion=off]) [data-scrim],:is(html:not(.js),html[data-motion=off]) .sheet,:is(html:not(.js),html[data-motion=off]) .project-card,:is(html:not(.js),html[data-motion=off]) .project-card__face,:is(html:not(.js),html[data-motion=off]) .project-card__media,:is(html:not(.js),html[data-motion=off]) .nav__mobile-panel,:is(html:not(.js),html[data-motion=off]) .nav__mobile-scrim,:is(html:not(.js),html[data-motion=off]) .nav__mobile-pill,:is(html:not(.js),html[data-motion=off]) .page-fx{transition-duration:.01ms !important}:is(html:not(.js),html[data-motion=off]){scroll-behavior:auto}}.card:has(.case--story){overflow:clip;background:radial-gradient(72% 34% at 88% 4%,color-mix(in srgb,var(--story-background-glow-start,var(--accent)) 11%,transparent),transparent 72%),radial-gradient(58% 30% at 4% 34%,color-mix(in srgb,var(--story-background-glow-middle,var(--accent-2)) 7%,transparent),transparent 76%),radial-gradient(46% 24% at 94% 70%,color-mix(in srgb,var(--story-background-glow-end,var(--status)) 3%,transparent),transparent 78%),linear-gradient(155deg,var(--story-background-start,var(--stage-a)) 0%,var(--story-background-middle,var(--stage-b)) 44%,var(--story-background-end,var(--stage-c)) 100%)}.case--story{--project-copy-measure:68ch;--project-story-outer-gutter:clamp(24px,4vw,64px)}.case--story .case__title{max-width:22ch;font-size:clamp(42px,6.5vw,88px)}.case--story .case__one{max-width:48ch;font-size:clamp(21px,2.3vw,31px)}.case--story .case__about{display:block;width:100%;max-width:var(--project-copy-measure);margin-inline:auto;margin-top:clamp(68px,9vw,118px)}.case--story .case__about-label{display:none}.case--story .case__description{color:rgba(var(--ink),.78);font-size:clamp(16px,1.25vw,19px);line-height:1.78;text-align:left}.case--story .case__description p{margin:0 0 1.35em}.case--story .case__description p:first-child{color:rgba(var(--ink),.82);font-size:inherit;line-height:inherit}.case--story .case__about--intro .case__description>p:first-child{max-width:68ch;margin-bottom:clamp(36px,4vw,52px);color:rgba(var(--ink),.86);font-family:var(--font-body);font-size:inherit;font-style:normal;font-weight:500;line-height:inherit}.case--story .case__description h2{margin:2.35em 0 .72em;font-family:var(--font-sans);font-size:clamp(27px,3vw,42px);letter-spacing:-.035em;line-height:1.15}.stage:has(.project-story__content){overflow:clip visible}.project-story__layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:start;margin-top:56px}.project-story__layout>*{min-width:0}.project-story__content{grid-column:2;grid-row:1}.project-story__sidebar{grid-column:1;grid-row:1}.case--story .project-story__sidebar{position:static}.project-story__sidebar .article-sidebar__section{margin:0}.project-story__sidebar .article-sidebar__value{font-size:var(--diagram-body-size)}.project-story__prose>p[id]{scroll-margin-top:128px}.case--story .project-story__sidebar .article-sidebar__links{flex-direction:row;flex-wrap:wrap;gap:6px 14px}.case--story .project-story__sidebar .article-sidebar__links a{line-height:1.5}.project-story__guide{margin:28px 0 0}.project-story__guide summary{color:rgba(var(--ink),.55);font-size:var(--diagram-caption-size);list-style:none;margin-bottom:12px}.project-story__guide summary span{display:none}.project-story__guide nav{display:grid;gap:2px}.project-story__guide a{display:block;border-left:2px solid transparent;padding:9px 0 9px 12px;color:rgba(var(--ink),.65);font-size:13px;line-height:1.45;text-decoration:none;text-transform:none;letter-spacing:normal;font-weight:500;overflow-wrap:anywhere}.project-story__guide a[aria-current]{border-left-color:var(--accent);color:var(--text)}.project-story__section{margin:0 0 48px;scroll-margin-top:140px}.case--story .project-story__prose{max-width:none}.case--story .project-story__prose>:not(.story-diagram){width:min(100%,68ch,720px);margin-inline:auto}.case--story .project-story__prose>h2,.case--story .project-story__prose>h3{scroll-margin-top:140px}.case--story .project-story__prose>h2{font-size:clamp(27px,3vw,38px)}.case--story .project-story__prose>h2:first-child{margin-top:0}.case--story .story-diagram,.story-diagram-dialog .story-diagram{max-width:none;margin:28px 0 36px;padding:0;border:0;background:0 0;color:var(--text);scroll-margin-top:140px}.story-diagram__frame{border:1px solid rgba(var(--ink),.25);border-radius:var(--diagram-frame-radius);background:var(--panel-solid)}.story-diagram__heading{display:grid;gap:5px;padding:20px 24px 0;font:500 15px/1.5 var(--font-body)}.story-diagram__level{color:var(--accent);font-size:var(--diagram-caption-size)}.story-diagram__scope{color:rgba(var(--ink),.7);font-size:var(--diagram-caption-size)}.story-diagram__legend{display:flex;flex-wrap:wrap;gap:10px 20px;padding:16px 24px 20px;color:rgba(var(--ink),.7);font:400 11px/1.5 var(--font-body)}.story-diagram__legend>span{display:inline-flex;align-items:center;gap:7px}.story-diagram__key{width:16px;height:12px;border:1px solid var(--accent);border-radius:3px}.story-diagram__key--external,.story-diagram__key--decision{border-style:dashed}.story-diagram__key--boundary{border:1px dashed rgba(var(--ink),.3);border-radius:0}.story-flow{position:relative;padding:48px 32px 24px;user-select:text}.story-flow .story-flow__nodes{display:grid;grid-template-columns:repeat(var(--flow-columns,1),minmax(0,1fr));gap:72px 112px;margin:0;padding:0;list-style:none}.story-diagram__frame .story-flow__nodes{row-gap:128px}.story-flow--linear[data-flow-columns="1"] .story-flow__nodes{max-width:36rem;margin-inline:auto;row-gap:72px}.story-flow--linear:not([data-flow-columns="1"]) .story-flow__nodes{column-gap:80px}.story-flow--linear:not([data-flow-columns="1"]) .story-flow__node{padding:12px}.story-flow--linear:not([data-flow-columns="1"]) .story-flow__edge-label{max-width:80px;padding-inline:3px}.story-flow .story-flow__node{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;padding:16px;border:1px solid var(--accent);border-radius:var(--diagram-node-radius);background:var(--panel-solid);color:var(--text);font-family:var(--font-body);font-size:var(--diagram-body-size);line-height:1.5;overflow-wrap:anywhere}.story-flow__node:is([data-variant=decision],[data-variant=external]){border-style:dashed}.story-flow .story-flow__node[data-person=true]{padding:112px 24px 24px;border:0;border-radius:0;background:0 0;text-align:center}.story-flow__node[data-person=true]:before{content:"";position:absolute;z-index:-1;inset:78px 0 0;border:2px solid var(--accent);border-radius:40px;background:var(--panel-solid)}.story-flow__person{position:absolute;top:0;left:50%;transform:translateX(-50%);width:96px;height:96px;color:var(--accent);fill:var(--panel-solid);stroke:currentColor;stroke-width:2}.story-flow__step{color:var(--accent);font-size:10px;font-weight:600}.story-flow__title{font-size:var(--diagram-title-size);line-height:1.35}.story-flow .story-flow__copy{margin:0;font:inherit}.story-flow .story-flow__protocol{margin-top:auto;padding:6px 0 0;background:0 0;border:0;color:var(--accent);font-size:11px;white-space:normal}.story-flow__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--accent)}.story-flow__lines>path{stroke:currentColor;stroke-width:1.5}.story-flow__edge-label{position:absolute;z-index:2;transform:translate(-50%,-50%);max-width:104px;padding:4px 7px;border:1px solid rgba(var(--ink),.18);border-radius:5px;background:var(--panel-solid);color:var(--accent);font-family:var(--font-body);font-size:11px;font-weight:600;line-height:1.4;text-align:center;overflow-wrap:anywhere}.story-diagram figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0 0;color:rgba(var(--ink),.6);font-family:var(--font-body);font-size:var(--diagram-caption-size);line-height:1.5;font-style:normal;text-align:left}.story-diagram figcaption>span{flex:1 1 32ch;max-width:70ch}.case--story .project-story__prose>.story-timeline{margin-block:var(--space-8)}.case--story .story-timeline{--timeline-period-width:100px;--timeline-gap:40px;text-align:left}.story-timeline .story-timeline__summary{margin:var(--space-3) 0 var(--space-6);color:var(--color-text-muted);font-size:var(--type-ui)}.story-timeline .story-timeline__list{position:relative;list-style:none;margin:0;padding:0}.story-timeline__list:before{content:'';position:absolute;top:21px;bottom:var(--space-6);left:calc(var(--timeline-period-width) + var(--timeline-gap)/2);width:1px;background:var(--color-border-strong)}.story-timeline .story-timeline__item{position:relative;display:grid;grid-template-columns:var(--timeline-period-width) minmax(0,1fr);gap:var(--timeline-gap);margin:0;padding:0 0 var(--space-7)}.story-timeline__item:before{content:'';position:absolute;top:17px;left:calc(var(--timeline-period-width) + var(--timeline-gap)/2 - 4px);width:9px;height:9px;border-radius:50%;background:var(--color-action);box-shadow:0 0 0 5px var(--color-page)}.story-timeline__period{padding-top:12px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--type-meta);line-height:1.5;text-align:right}.story-timeline__content{min-width:0}.story-timeline .story-timeline__phase{display:inline-flex;align-items:center;min-height:44px;color:var(--color-action);font-size:var(--type-ui);font-weight:400}.story-timeline__phase:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.story-timeline .story-timeline__content p{margin:var(--space-1) 0 var(--space-3);color:var(--color-text-muted);font-size:var(--type-ui);line-height:1.65}.story-timeline .story-timeline__content .story-timeline__outcome{display:grid;gap:var(--space-1);color:var(--color-text);font-size:var(--type-label)}.story-timeline__outcome>span{color:var(--color-text-muted);font-size:var(--type-meta)}.story-timeline .story-timeline__note{margin:0;color:var(--color-text-muted);font-size:var(--type-label);line-height:1.65}@media (max-width:640px){.case--story .story-timeline{--timeline-period-width:0px;--timeline-gap:24px}.story-timeline .story-timeline__item{grid-template-columns:minmax(0,1fr);gap:0;padding-left:var(--timeline-gap)}.story-timeline__period{padding-top:var(--space-2);text-align:left}}.story-comparison__lane{margin:var(--space-6)}.story-comparison .story-comparison__lane h4{margin:0 0 var(--space-3);color:var(--color-action);font-size:var(--type-ui);font-weight:400;line-height:1.5;letter-spacing:normal}.story-comparison .story-comparison__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7);margin:0;padding:0;list-style:none}.story-comparison .story-comparison__steps li{position:relative;min-width:0;margin:0;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface)}.story-comparison__title{display:block;color:var(--color-text);font-size:var(--type-ui)}.story-comparison .story-comparison__steps p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--type-label);line-height:1.6}.story-comparison__arrow{position:absolute;top:50%;right:calc(100% + var(--space-7)/2);transform:translate(50%,-50%);color:var(--color-action);font-size:var(--type-lead)}@media (max-width:640px){.story-comparison .story-comparison__steps{grid-template-columns:minmax(0,1fr)}.story-comparison__arrow{top:calc(0px - var(--space-7)/2);right:50%;transform:translate(50%,-50%) rotate(90deg)}}.story-diagram button{flex-shrink:0;min-height:44px;padding:8px 0 8px 12px;border:0;background:0 0;color:var(--text);font:inherit;cursor:pointer}.story-diagram button:hover{color:var(--accent)}.story-diagram [hidden]{display:none}.story-diagram-dialog{width:min(1440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);border:1px solid rgba(var(--ink),.3);border-radius:var(--diagram-frame-radius);padding:20px;background:var(--panel-solid);color:var(--text)}.story-diagram-dialog::backdrop{background:rgba(var(--ink),.45)}.story-diagram-dialog .story-diagram{margin:16px 0 0}.story-diagram-dialog>.sheet__close{display:flex;width:fit-content;margin-inline-start:auto;position:sticky;top:0;z-index:1}.story-diagram-dialog{border-color:var(--color-border-subtle);border-radius:var(--radius-card)}html:has(.story-diagram-dialog[open]){overflow:hidden}.project-story__guide a:focus-visible,.project-story__guide summary:focus-visible,.story-diagram button:focus-visible,.story-diagram-dialog button:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}@media (max-width:1000px){.project-story__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:32px}.project-story__content{grid-column:1;grid-row:1}.project-story__sidebar{grid-column:1;grid-row:2}.case--story .project-story__sidebar{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-height:none;overflow:visible;margin-bottom:32px;padding:0}.project-story__sidebar .article-sidebar__section{margin:0}.project-story__sidebar .article-sidebar__section:first-child,.project-story__sidebar .article-sidebar__section--approaches,.project-story__sidebar .article-sidebar__section--skills,.project-story__sidebar .case__tools,.project-story__guide{grid-column:1/-1}.case--story .project-story__sidebar .case__tools-list{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.project-story__sidebar .article-sidebar__section--approaches .article-sidebar__links{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.project-story__prose>p[id]{scroll-margin-top:32px}.project-story__guide{margin:0;border-block:1px solid rgba(var(--ink),.15)}.project-story__guide summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin:0;cursor:pointer}.project-story__guide summary span{display:inline}.project-story__guide nav{padding-bottom:12px}.project-story__guide a{min-height:44px}.project-story__section,.case--story .project-story__prose>h2,.case--story .project-story__prose>h3,.case--story .story-diagram{scroll-margin-top:32px}}.story-flow__boundary{fill:none;stroke:rgba(var(--ink),.3);stroke-dasharray:5 5}.story-flow__boundary-label{position:absolute;z-index:2;transform:translate(-50%,-50%);padding:1px 6px;background:var(--panel-solid);color:rgba(var(--ink),.7);font:500 11px/1.4 var(--font-body);text-align:center}.story-flow .story-flow__members{margin:0;padding:10px 0 0;list-style:none}.story-flow .story-flow__members li{margin:0 0 4px;padding:0}.story-flow .story-flow__members code{padding:0;background:0 0;color:var(--text);font:12px/1.5 var(--font-mono);white-space:normal}.story-flow .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[data-motion=off] .story-diagram .btn,html[data-motion=off] .story-diagram-dialog .sheet__close,html[data-motion=off] .story-diagram-dialog .sheet__close-icon{transition:none;transform:none}@media (prefers-reduced-motion:reduce){.story-diagram .btn,.story-diagram-dialog .sheet__close,.story-diagram-dialog .sheet__close-icon{transition:none;transform:none}}.case--story .story-roadmap{margin-block:var(--space-8);text-align:left}.story-roadmap__journey{position:relative;margin-block:var(--space-6)}.story-roadmap__road{position:absolute;top:0;left:0;width:100%;height:200px;overflow:hidden;fill:none}.story-roadmap__road-base{stroke:var(--color-text);stroke-width:38}.story-roadmap__road-line{stroke:var(--color-page);stroke-width:2;stroke-dasharray:14 16}.story-roadmap .story-roadmap__phases{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}.story-roadmap .story-roadmap__phase{min-width:0;margin:0;padding:100px var(--space-2) 0;text-align:center}.story-roadmap .story-roadmap__phase:nth-child(2){padding-top:0}.story-roadmap .story-roadmap__phase:nth-child(3){padding-top:120px}.story-roadmap__badge{display:grid;place-items:center;width:80px;height:80px;margin-inline:auto;border:5px solid var(--color-page);border-radius:50%;background:var(--color-action);color:var(--color-action-text)}.story-roadmap__badge svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.story-roadmap__content{margin-top:var(--space-3)}.story-roadmap .story-roadmap__label{display:inline-flex;align-items:center;min-height:44px;color:var(--color-action);font-size:var(--type-lead);font-weight:600}.story-roadmap__label:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.story-roadmap .story-roadmap__topics{list-style:none;margin:var(--space-2) 0;padding:0;color:var(--color-text-muted);font-size:var(--type-body);line-height:1.65}.story-roadmap .story-roadmap__topics li{margin:0;padding:0}.story-roadmap .story-roadmap__outcome{margin:var(--space-3) 0 0;color:var(--color-text);font-size:var(--type-ui);line-height:1.5}.story-roadmap .story-roadmap__note{margin:0;color:var(--color-text-muted);font-size:var(--type-label);line-height:1.65}@media (max-width:640px){.story-roadmap__road{display:none}.story-roadmap__journey:before{content:'';position:absolute;top:40px;bottom:40px;left:39px;border-left:2px dashed var(--color-border-strong)}.story-roadmap .story-roadmap__phases{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.story-roadmap .story-roadmap__phase:nth-child(n){display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--space-4);padding:0;text-align:left}.story-roadmap__content{margin-top:0}}.story-comparison .story-comparison__steps{gap:72px}.story-comparison .story-comparison__steps li{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--color-action);border-radius:var(--diagram-node-radius);background:var(--color-panel);color:var(--color-text);font:400 var(--diagram-body-size)/1.5 var(--font-body);overflow-wrap:anywhere}.story-comparison .story-comparison__title{font-size:var(--diagram-title-size);font-weight:700;line-height:1.35}.story-comparison .story-comparison__steps p{margin:0;color:var(--color-text);font:inherit}.story-comparison .story-comparison__arrow{right:100%;width:72px;height:0;transform:none;border-top:1.5px solid var(--color-action);font-size:0}.story-comparison__arrow:after{content:'';position:absolute;right:-1px;top:-4px;border-left:7px solid var(--color-action);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent}.case--story .story-timeline .story-diagram__heading{font-size:var(--diagram-title-size)}.case--story .story-timeline .story-timeline__summary{margin:12px 24px 24px;font-size:var(--diagram-body-size)}.story-timeline .story-timeline__list{margin:0 24px 24px}.story-timeline__content{padding:16px;border:1px solid var(--color-action);border-radius:var(--diagram-node-radius);background:var(--color-panel)}.story-timeline .story-timeline__phase{font-size:var(--diagram-title-size);font-weight:700}.story-timeline .story-timeline__content p{color:var(--color-text);font-size:var(--diagram-body-size)}.story-timeline .story-timeline__content .story-timeline__outcome{font-size:var(--diagram-body-size)}.story-timeline__list:before{background:var(--color-action)}.story-roadmap .story-roadmap__journey{margin:24px}.story-roadmap .story-roadmap__content{padding:16px;border:1px solid var(--color-action);border-radius:var(--diagram-node-radius);background:var(--color-panel)}.story-roadmap .story-roadmap__badge{border:1.5px solid var(--color-action);background:var(--color-panel);color:var(--color-action)}.story-roadmap .story-roadmap__road-base{stroke:var(--color-action);stroke-width:1.5}.story-roadmap .story-roadmap__road-line{display:none}.story-roadmap .story-roadmap__label{color:var(--color-text);font-size:var(--diagram-title-size);font-weight:700}.story-roadmap .story-roadmap__topics,.story-roadmap .story-roadmap__outcome{color:var(--color-text);font-size:var(--diagram-body-size);line-height:1.5}@media (max-width:640px){.story-comparison .story-comparison__arrow{top:-72px;right:50%;width:0;height:72px;border-top:0;border-left:1.5px solid var(--color-action)}.story-comparison__arrow:after{right:-3px;top:auto;bottom:-1px;border-top:7px solid var(--color-action);border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-bottom:0}.story-roadmap .story-roadmap__journey{margin:16px}.story-roadmap__journey:before{border-color:var(--color-action)}.story-roadmap .story-roadmap__phase:nth-child(n){grid-template-columns:64px minmax(0,1fr);gap:12px}.story-roadmap .story-roadmap__badge{width:64px;height:64px}.story-roadmap__journey:before{left:31px}}.story-current-system .story-current-system__layout{display:grid;grid-template-columns:minmax(0,1fr) 200px minmax(0,1.5fr);grid-template-rows:170px 170px;row-gap:60px;padding:40px 32px 32px}.story-current-system [data-system-node=beheerder]{grid-column:1;grid-row:1;align-self:center}.story-current-system [data-system-node=player]{grid-column:1;grid-row:2;align-self:center}.story-current-system__boundary{grid-column:3;grid-row:1/3;position:relative;align-self:center;padding:56px 16px;border:1px dashed var(--color-border-strong);border-radius:var(--diagram-frame-radius)}.story-current-system__boundary-label{position:absolute;top:12px;left:16px;right:16px;color:var(--color-text-muted);font-size:var(--diagram-caption-size)}.story-current-system .story-current-system__connections{position:relative;grid-column:2;grid-row:1/3}.story-current-system__connections svg{position:absolute;inset:0;width:100%;height:100%;color:var(--color-action);overflow:visible}.story-current-system__edge{fill:none;stroke:currentColor;stroke-width:1.5}.story-current-system__edge-label{position:absolute;left:12px;right:12px;padding:4px 7px;border:1px solid var(--color-border-subtle);border-radius:5px;background:var(--color-panel);color:var(--color-action);font:600 var(--diagram-caption-size)/1.4 var(--font-body);text-align:center}.story-current-system__edge-label:nth-of-type(1){top:55px}.story-current-system__edge-label:nth-of-type(2){top:198px}.story-current-system__edge-label:nth-of-type(3){top:342px}.story-current-system .story-current-system__relations{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}@media (max-width:800px){.story-current-system .story-current-system__layout{display:flex;flex-direction:column;gap:24px;padding:24px}.story-current-system .story-current-system__node{width:100%}.story-current-system__boundary{width:100%;padding-bottom:16px}.story-current-system .story-current-system__connections{display:none}.story-current-system .story-current-system__relations{position:static;width:auto;height:auto;margin:0 24px 24px;padding:0;overflow:visible;clip-path:none;list-style:none}.story-current-system__relations li{display:grid;gap:6px;margin:0 0 16px;font:400 var(--diagram-body-size)/1.5 var(--font-body)}.story-current-system__relations strong{color:var(--color-action);font-weight:600}}.story-gantt__scroll{margin:24px;overflow-x:auto}.story-gantt__hint{display:none}.story-gantt__scroll:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.story-gantt .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.case--story .project-story__prose .story-gantt__table{width:100%;min-width:760px;margin:0;table-layout:fixed;border-collapse:collapse;font:400 var(--diagram-body-size)/1.5 var(--font-body)}.case--story .project-story__prose .story-gantt__table :is(th,td){padding:0;border:1px solid var(--color-border-subtle);color:var(--color-text);background:0 0}.case--story .project-story__prose .story-gantt__table th:first-child{width:30%;padding:10px 12px;text-align:left;font-weight:400}.story-gantt .story-gantt__table .story-gantt__group th:first-child{font-weight:700}.story-gantt__months,.story-gantt__bar{display:block;width:100%;height:42px}.story-gantt__months{color:var(--color-text-muted);fill:currentColor;font:18px var(--font-body)}.story-gantt__bar line{stroke:var(--color-border-subtle);stroke-width:1}.story-gantt__bar rect{fill:var(--color-action);fill-opacity:.2;stroke:var(--color-action);stroke-width:1.5}.story-gantt__group .story-gantt__bar rect{fill-opacity:.8}.story-gantt__sprints{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:6px}.story-gantt__sprints span{padding:3px 0;border:1px solid var(--color-action);border-radius:4px;text-align:center;color:var(--color-action)}.story-task-board__views{display:flex;gap:24px;margin:20px 24px 0;border-bottom:1px solid var(--color-border-subtle);font-size:var(--diagram-body-size);color:var(--color-text-muted)}.story-task-board__views>*{padding-bottom:10px}.story-task-board__views strong{color:var(--color-action);border-bottom:2px solid currentColor}.story-task-board__columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px}.story-task-board__column{min-width:0}.story-task-board .story-task-board__column h4{margin:0 0 16px;color:var(--color-action);font:600 var(--diagram-title-size)/1.5 var(--font-body)}.story-task-board .story-task-board__column ul{list-style:none;margin:0;padding:0}.story-task-board .story-task-board__column li{display:grid;gap:12px;margin:0 0 12px;padding:16px;border:1px solid var(--color-action);border-radius:var(--diagram-node-radius);background:var(--color-panel);color:var(--color-text);font:400 var(--diagram-body-size)/1.5 var(--font-body);overflow-wrap:anywhere}.story-task-board__column li strong{font-weight:500}.story-task-board__column li span{color:var(--color-action);font-size:var(--diagram-caption-size)}@media (max-width:800px){.case--story .project-story__prose .story-gantt__hint{display:block;margin:16px 24px 0;color:var(--color-text-muted);font:400 var(--diagram-caption-size)/1.5 var(--font-body)}.case--story .project-story__prose .story-gantt__table th:first-child{width:150px}.story-task-board__columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.story-task-board__columns{grid-template-columns:minmax(0,1fr)}}.story-context [hidden]{display:none !important}.story-context .story-context__breadcrumbs{margin:var(--space-5) var(--space-6)}.story-context .story-context__breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:0;margin:0;list-style:none;font:500 var(--type-ui)/1.5 var(--font-body)}.story-context .story-context__breadcrumbs li{flex:0 0 auto;white-space:nowrap;word-break:normal;overflow-wrap:normal;display:inline-flex;align-items:center;gap:var(--space-3);margin:0;padding:0}.story-context .story-context__breadcrumbs li+li:before{content:'›';color:var(--color-text-muted)}.story-context .story-context__breadcrumbs a{white-space:nowrap;word-break:normal;overflow-wrap:normal;display:inline-flex;align-items:center;min-height:44px;color:var(--color-action);font:inherit;text-decoration:none}.story-context .story-context__breadcrumbs a:hover{text-decoration:underline;text-decoration-color:currentColor}.story-context .story-context__breadcrumbs a[aria-current=location]{color:var(--color-text);font-weight:600;text-decoration:none}.story-context__view{margin:var(--space-5) var(--space-6);scroll-margin-top:110px}.story-context .story-context__view h4{margin:0;color:var(--color-text);font:700 var(--type-lead)/1.4 var(--font-body)}.story-context .story-context__view>h4{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.story-context__graph{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:32px 64px;align-items:center;padding:24px 16px}.story-context .story-context__node{display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;min-width:0;min-height:120px;margin:0;padding:var(--space-4);border:1px solid var(--color-action);border-radius:var(--diagram-node-radius);background:var(--color-panel);color:var(--color-text);text-align:center;overflow-wrap:anywhere;text-decoration:none}.story-context .story-context__node strong{display:block;color:inherit;font:700 var(--diagram-title-size)/1.4 var(--font-body)}.story-context .story-context__node p{margin:var(--space-2) 0 0;color:inherit;font:400 var(--diagram-body-size)/1.5 var(--font-body)}.story-context .story-context__node[data-context-open]{border-width:2px}.story-context .story-context__node[data-context-open]:hover{background:var(--color-surface)}.story-context a:focus-visible,.story-context__view:focus-visible{outline:3px solid var(--color-action);outline-offset:5px}.story-context__kind{display:block;margin-bottom:var(--space-2);color:var(--color-text-muted);font:400 var(--type-label)/1.4 var(--font-body)}.story-context__hint{display:block;margin-top:var(--space-3);color:var(--color-action);font:600 var(--type-label)/1.5 var(--font-body)}.story-context__icon{display:block;width:28px;height:28px;margin:0 auto var(--space-2);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--color-action)}.story-context .story-context__node[data-context-node=agent]{background:var(--color-action);color:var(--color-action-text);min-height:180px}.story-context [data-context-node=agent] .story-context__kind,.story-context [data-context-node=agent] .story-context__icon{color:inherit}.story-context__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--color-action)}.story-context__lines>path{fill:none;stroke:currentColor;stroke-width:1.5}.story-context .story-context__review,.story-context .story-context__boundary{margin:var(--space-5) var(--space-6);color:var(--color-text-muted);font:400 var(--type-ui)/1.6 var(--font-body)}.story-context .story-context__review{text-align:center}.story-context[data-context-ready] .story-context__relations{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.story-context [data-context-view=overzicht] .story-context__graph [data-context-node=knowledge]{grid-area:1/1}.story-context [data-context-view=overzicht] .story-context__graph [data-context-node=jira]{grid-area:2/1}.story-context [data-context-view=overzicht] .story-context__graph [data-context-node=research]{grid-area:3/1}.story-context [data-context-view=overzicht] .story-context__graph [data-context-node=agent]{grid-area:1/2/4/3}.story-context [data-context-view=overzicht] .story-context__graph [data-context-node=output]{grid-area:1/3/4/4}.story-context [data-context-view=codeonderzoek] .story-context__graph,.story-context [data-context-view=semantisch-zoeken] .story-context__graph{grid-template-columns:repeat(4,minmax(0,1fr));gap:64px 40px}.story-context [data-context-node=cms]{grid-area:1/1}.story-context [data-context-node=player]{grid-area:2/1}.story-context [data-context-node=socket]{grid-area:3/1}.story-context [data-context-node=semantic]{grid-area:1/2/4/3}.story-context [data-context-node=codecontext]{grid-area:1/3/4/4}.story-context [data-context-node=compare]{grid-area:1/4/3/5}.story-context [data-context-node=boundaries]{grid-area:3/4}.story-context [data-context-node=files]{grid-area:1/1}.story-context [data-context-node=chunks]{grid-area:1/2}.story-context [data-context-node=embeddings]{grid-area:1/3}.story-context [data-context-node=index]{grid-area:1/4;border-radius:40%/12%}.story-context [data-context-node=question]{grid-area:2/1}.story-context [data-context-node=query]{grid-area:2/2}.story-context [data-context-node=search]{grid-area:2/3}.story-context [data-context-node=rerank]{grid-area:3/3}.story-context [data-context-node=context]{grid-area:3/2}.story-context [data-context-view=semantisch-zoeken] [data-context-node=agent]{grid-area:3/1}@media (max-width:800px){.story-context__graph,.story-context [data-context-view] .story-context__graph{display:flex;flex-direction:column;align-items:stretch;gap:48px;padding:20px}.story-context__view{margin:var(--space-4)}.story-context .story-context__breadcrumbs{margin-inline:var(--space-4)}}.story-sequence__viewport{overflow-x:auto;padding:16px 12px 0}.story-sequence__viewport:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.story-sequence__svg{display:block;width:100%;min-width:760px;height:auto;font-family:var(--font-body)}.story-sequence__participant{fill:var(--panel-solid);stroke:var(--accent);stroke-width:1.5}.story-sequence__name{fill:var(--text);text-anchor:middle;font-size:var(--diagram-title-size);font-weight:600}.story-sequence__lifeline{stroke:var(--color-border-strong);stroke-width:1.5;stroke-dasharray:6 6}.story-sequence__line,.story-sequence__arrow{fill:none;stroke:var(--accent);stroke-width:1.5}.story-sequence__fragment{fill:none;stroke:var(--color-border-strong);stroke-width:1}.story-sequence__label{fill:var(--text);text-anchor:middle;font-size:var(--diagram-body-size);paint-order:stroke;stroke:var(--panel-solid);stroke-width:6px;stroke-linejoin:round}.story-sequence__operator{fill:var(--accent);font-size:var(--diagram-caption-size);font-weight:600}.story-sequence__guard{fill:var(--text);font-size:var(--diagram-caption-size)}.story-sequence__note{margin:12px 0 0;color:var(--color-text-muted);font:400 var(--diagram-body-size)/1.65 var(--font-body)}@media (max-width:600px){.story-context .story-context__breadcrumbs{margin-inline:var(--space-4)}.story-context .story-context__breadcrumbs ol{font-size:12px;row-gap:0}}.story-uml__viewport{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:var(--space-3)}.story-uml__viewport:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.story-uml__svg{display:block;width:100%;min-width:680px;height:auto;color:var(--color-text);font-family:var(--font-body)}.story-uml__svg--activity{min-width:740px}.story-uml__box{fill:var(--color-surface);stroke:var(--color-action);stroke-width:1.5}.story-uml__line,.story-uml__open-arrow{fill:none;stroke:var(--color-text);stroke-width:1.5}.story-uml__line--dependency{stroke-dasharray:7 5}.story-uml__boundary,.story-uml__lane{fill:none;stroke:var(--color-border-strong);stroke-width:1}.story-uml__terminal{fill:var(--color-text)}.story-uml__svg text{fill:var(--color-text)}.story-uml__class-name{font-family:var(--font-mono);font-size:17px;text-anchor:middle}.story-uml__responsibility{font-size:15px}.story-uml__action,.story-uml__lane-name{font-size:17px;text-anchor:middle}.story-uml__edge-label,.story-uml__decision-label{font-size:15px;text-anchor:middle;paint-order:stroke;stroke:var(--color-surface);stroke-width:5px;stroke-linejoin:round}.page-head{max-width:var(--wide-measure)}.page-head__back{margin-bottom:clamp(36px,5vw,72px)}.page-head__eyebrow,.section-label{margin:0 0 var(--space-5);color:var(--color-action);font-family:var(--font-body);font-size:var(--type-meta);font-weight:700;letter-spacing:.11em;text-transform:uppercase}.page-head__title{max-width:14ch;margin:0;color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-page-title);font-weight:700;letter-spacing:-.065em;line-height:.92;overflow-wrap:anywhere;text-wrap:balance}.page-head--compact .page-head__title{font-size:var(--type-section-title)}.page-head__title em,.cvs__section-heading em{color:var(--accent-2);font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.025em}.page-head__intro{max-width:var(--content-measure);margin:var(--space-6) 0 0;color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--type-lead);letter-spacing:-.02em;line-height:1.6}.icon-tile{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:4px;background:var(--color-panel)}.icon-tile img{width:20px;height:20px;object-fit:contain}.action__icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.action__icon svg{display:block;width:1em;height:1em}.btn{--btn-height:var(--button-height-standard);--btn-padding-x:var(--button-padding-standard);--btn-content-size:var(--button-line-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--btn-height);max-width:100%;border:1px solid transparent;padding:calc((var(--btn-height) - var(--btn-content-size))/2 - 1px) var(--btn-padding-x);border-radius:var(--radius-pill);font:700 var(--button-font-size)/var(--button-line-height) var(--font-body);letter-spacing:.02em;text-align:center;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast) var(--ease-standard)}.btn[hidden]{display:none}.btn:hover{transform:scale(1.06)}html[data-motion=off] .btn:hover{transform:none}@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}.btn--compact{--btn-height:var(--button-height-compact);--btn-padding-x:var(--button-padding-compact)}.btn--large{--btn-height:var(--button-height-large);--btn-padding-x:var(--button-padding-large)}.action__label{min-width:0;overflow-wrap:anywhere}.btn>.action__icon{flex:0 0 auto;width:var(--button-icon-size);height:var(--button-icon-size)}.btn>.action__icon svg{width:var(--button-icon-size);height:var(--button-icon-size)}.btn--icon-end>.action__icon{order:1}.btn--icon-badge{--btn-content-size:var(--button-badge-size)}.btn--icon-badge>.action__icon{width:var(--button-badge-size);height:var(--button-badge-size);border-radius:50%;background:color-mix(in srgb,currentColor 18%,transparent)}.btn--icon-edge{padding-inline-end:var(--space-2)}.btn--cta,.btn--solid{background:var(--cta);color:var(--cta-ink)}.btn--cta:hover,.btn--solid:hover{background:var(--cta-hover)}.btn--accent{background:var(--color-action);color:var(--color-action-text)}.btn--accent:hover{background:var(--color-action-hover);color:var(--color-action-text)}.btn--ghost{border-color:var(--color-border-strong);background:0 0;color:var(--color-text)}.btn--ghost:hover{background:var(--color-surface);color:var(--color-action-hover)}.btn--link{min-height:0;border:0;border-radius:0;padding:0;background:0 0;color:var(--color-action)}.btn--link:hover{background:0 0;color:var(--color-action-hover)}.btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.hero .btn--ghost{border-color:var(--hero-ghost-border);background:var(--hero-ghost-bg);box-shadow:var(--hero-ghost-shadow);color:var(--text)}.hero .btn--ghost:hover{background:color-mix(in srgb,var(--accent) 16%,var(--hero-ghost-bg));color:var(--accent-lite)}.surface-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-panel) 94%,var(--color-action) 6%)}.meta-strip{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);border-block:1px solid var(--color-border-subtle);padding-block:var(--space-5);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--type-label);letter-spacing:.04em}.meta-strip__item{display:inline-flex;gap:var(--space-2)}.meta-strip__label{color:var(--color-text-muted);text-transform:uppercase}.meta-strip__value{color:var(--color-text);font-weight:700}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}@media (max-width:760px){.page-head__title{max-width:none}.meta-strip{flex-direction:column;gap:var(--space-3)}}.content-card{--card-edge:var(--color-card-edge);--card-border-width:1px;--card-open-size:var(--button-height-standard);flex:1 1 max(300px,calc((100% - 2*var(--card-grid-gap,16px))/3));min-width:0;max-width:100%;height:clamp(330px,34vw,520px);position:relative;display:flex;flex-direction:column;container:content-card/inline-size;overflow:hidden;isolation:isolate;border:var(--card-border-width) solid var(--card-edge);border-radius:var(--radius-card);background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%),color-mix(in srgb,var(--paper) 95%,var(--accent-2) 5%));color:var(--text);text-decoration:none;transition:border-color var(--duration-normal),box-shadow var(--duration-normal),transform var(--duration-normal)}.content-card:hover,.content-card:focus-visible{box-shadow:0 12px 40px -30px var(--accent);transform:translateY(-4px)}.content-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}.content-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--panel-solid) 8%,color-mix(in srgb,var(--panel-solid) 94%,transparent) 55%,color-mix(in srgb,var(--panel-solid) 15%,transparent) 100%);z-index:-1;pointer-events:none}.content-card__visual{position:absolute;inset:0;overflow:hidden;border-radius:calc(var(--radius-card) - var(--card-border-width));z-index:-2}.content-card__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .55s cubic-bezier(.16,1,.3,1)}.content-card:hover .content-card__image,.content-card:focus-visible .content-card__image{transform:scale(1.035)}.content-card__body{display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(28px,3vw,44px);min-width:0}.content-card__title{max-width:18ch;margin:0 0 22px;color:var(--text);font:700 clamp(30px,3.5cqw,52px)/1.05 var(--font-sans);letter-spacing:-.055em;overflow-wrap:anywhere}.content-card__open{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:var(--card-open-size);height:var(--card-open-size);border-radius:var(--radius-card) 0 calc(var(--radius-card) - var(--card-border-width)) 0;background:var(--card-edge);color:var(--color-card-arrow)}.content-card__open svg{width:24px;height:24px}@media (max-width:820px){.content-card__body{padding:24px}.content-card__title{font-size:34px}}@media (prefers-reduced-motion:reduce){.content-card,.content-card__image,.content-card__open{transition:none}}[data-motion=off] .content-card,[data-motion=off] .content-card__image,[data-motion=off] .content-card__open{transition:none}.article-card__date,.article-page__date,.article-index__eyebrow{color:var(--accent-2);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.article-sidebar{color:rgba(var(--ink),.58);font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:normal}.article-sidebar__section{min-width:0;border-top:1px solid rgba(var(--ink),.16);padding:16px 0}.article-sidebar__section:first-child{padding-top:16px}.article-sidebar__label,.article-sidebar__tool-group-label{display:block;color:var(--accent-2);font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.35}.article-sidebar__value{display:block;margin-top:8px;color:var(--text);letter-spacing:normal;line-height:1.45;overflow-wrap:anywhere;text-transform:none}.article-sidebar__links{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px;margin-top:9px}.article-sidebar__links a{max-width:100%;color:var(--text);font-size:13px;letter-spacing:normal;line-height:1.35;overflow-wrap:anywhere;text-transform:none}.skill-map__chip,.article-sidebar__links .article-sidebar__tool{display:flex;align-items:center;gap:9px;min-height:39px;width:max-content;max-width:100%;padding:6px 11px;border:1px solid var(--color-border-subtle);border-radius:7px;background:var(--color-surface);color:var(--color-text);font:400 12px/1.4 var(--font-body);overflow-wrap:normal}.article-sidebar__links a.article-sidebar__tool:hover,.article-sidebar__links a.article-sidebar__tool:focus-visible{border-color:var(--color-action);color:var(--color-action);transform:none}.skill-map__chip:focus-visible,.article-sidebar__links a.article-sidebar__tool:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.article-sidebar__links .article-sidebar__chip{gap:5px;min-height:30px;padding:4px 8px;border-radius:6px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.article-sidebar__chip .reading-external-icon,.article-sidebar__chip-icon{width:11px;height:11px;flex:0 0 11px;margin-left:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.article-page__aside-tools{display:block}.article-page__aside-tools-label{color:var(--accent-2);font-weight:700}.article-sidebar__tool-groups{display:flex;flex-direction:column;gap:16px}.article-sidebar__tool-group{display:block}.article-sidebar__tool-group-label{margin-bottom:7px}.article-page__aside-tools-list a{font-weight:400}.article-sidebar__contents-list{counter-reset:reading-section reading-subsection reading-detail;display:flex;flex-direction:column;gap:9px;margin:12px 0 0;padding:0;list-style:none}.article-sidebar__contents-item a{display:grid;grid-template-columns:minmax(3ch,max-content) minmax(0,1fr);gap:6px;color:var(--text);font-size:11px;letter-spacing:.04em;line-height:1.35;text-transform:uppercase}.article-sidebar__contents-item a>span{color:var(--accent-2);font-variant-numeric:tabular-nums}.article-sidebar__contents-item--h3{padding-left:12px}.article-sidebar__contents-item--h2{counter-increment:reading-section;counter-reset:reading-subsection reading-detail}.article-sidebar__contents-item--h3{counter-increment:reading-subsection;counter-reset:reading-detail}.article-sidebar__contents-item--h4{counter-increment:reading-detail}.article-sidebar__contents-item a:before{content:counter(reading-section,upper-roman) '.';color:var(--color-text-muted);font-variant-numeric:tabular-nums}.article-sidebar__contents-item--h3 a:before{content:counter(reading-section,upper-roman) '.' counter(reading-subsection,upper-roman)}.article-sidebar__contents-item--h4 a:before{content:counter(reading-section,upper-roman) '.' counter(reading-subsection,upper-roman) '.' counter(reading-detail,upper-roman)}.article-sidebar__contents-item--h4{padding-left:24px}.project-story__content,.article-page__layout .prose{counter-reset:story-section story-subsection story-detail}:is(.project-story__prose,.article-page__layout .prose)>h2{counter-increment:story-section;counter-reset:story-subsection story-detail}:is(.project-story__prose,.article-page__layout .prose)>h3{counter-increment:story-subsection;counter-reset:story-detail}:is(.project-story__prose,.article-page__layout .prose)>h4{counter-increment:story-detail}:is(.project-story__prose,.article-page__layout .prose)>:is(h2,h3,h4):before{margin-inline-end:.5em;color:var(--color-text-muted);font-variant-numeric:tabular-nums}:is(.project-story__prose,.article-page__layout .prose)>h2:before{content:counter(story-section,upper-roman) '.'}:is(.project-story__prose,.article-page__layout .prose)>h3:before{content:counter(story-section,upper-roman) '.' counter(story-subsection,upper-roman)}:is(.project-story__prose,.article-page__layout .prose)>h4:before{content:counter(story-section,upper-roman) '.' counter(story-subsection,upper-roman) '.' counter(story-detail,upper-roman)}.article-sidebar a:any-link,.article-sidebar summary{transition:color .25s}.article-sidebar a:any-link:hover,.article-sidebar a:any-link:focus-visible,.article-sidebar summary:hover,.article-sidebar summary:focus-visible{color:var(--accent-lite);transform:none}.article-card__backdrop--drawing{color:var(--accent);opacity:.24}.archive-card{display:block;height:auto;border:0;border-top:1px solid var(--color-border-strong);border-radius:0;background:0 0;overflow:visible;padding-block:clamp(22px,3vw,34px);color:var(--text);text-decoration:none;transition:border-color .25s,color .25s,background-color .25s}.archive-card:last-child{border-bottom:1px solid var(--color-border-strong)}.archive-card__title{margin:0;color:var(--text);font-family:var(--font-sans);font-size:clamp(26px,3vw,42px);font-weight:700;letter-spacing:-.045em;line-height:1.12;overflow-wrap:anywhere;text-wrap:pretty}.archive-card__status{max-width:70ch;margin:10px 0 0;color:var(--accent-2);font-family:var(--font-body);font-size:12px;letter-spacing:.03em;line-height:1.5}.archive-card__meta{display:flex;flex-wrap:wrap;margin-top:12px;color:rgba(var(--ink),.58);font-family:var(--font-body);font-size:12px;letter-spacing:.04em;line-height:1.4}.archive-card__meta>*+*:before{content:'·';margin-inline:12px;color:var(--accent-2)}.archive-card:hover{border-color:var(--accent-lite);background:var(--surface-2);transform:none}.archive-card:hover .archive-card__title{color:var(--accent-lite)}.archive-card:focus-visible{outline:2px solid var(--accent-lite);outline-offset:6px}@media (prefers-reduced-motion:reduce){.archive-card{transition:none}}[data-motion=off] .archive-card{transition:none}.prose{min-width:0;color:rgba(var(--ink),.78);font-family:var(--font-body);font-size:clamp(16px,1.25vw,19px);line-height:1.78;overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:0 0 1.35em}.prose h2,.prose h3,.prose h4{color:var(--text);font-family:var(--font-sans);font-weight:700;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}.prose h2{margin:2.35em 0 .72em;font-size:clamp(27px,3vw,42px)}.prose h3{margin:2em 0 .65em;font-size:clamp(22px,2.2vw,31px)}.prose h4{margin:1.8em 0 .55em;font-size:clamp(18px,1.7vw,24px)}.prose h2,.prose h3,.prose h4{scroll-margin-top:clamp(96px,12vw,150px)}.prose ul,.prose ol{margin:1.15em 0 1.6em;padding-left:1.35em}.prose li{padding-left:.2em}.prose li+li{margin-top:.42em}.prose a{color:var(--accent-2);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-2) 45%,transparent);text-decoration-thickness:1px;text-underline-offset:.18em}.prose a:hover{color:var(--accent-lite)}.prose strong{color:var(--text)}.prose blockquote{margin:2em 0;border-left:3px solid var(--accent-2);padding:.3em 0 .3em clamp(20px,3vw,34px);color:rgba(var(--ink),.72);font-family:var(--font-serif);font-size:clamp(22px,2.35vw,32px);font-style:italic;line-height:1.45}.prose blockquote>:last-child{margin-bottom:0}.prose code{border-radius:5px;padding:.12em .34em;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--text);font-family:var(--font-mono);font-size:.88em}.prose pre{max-width:100%;margin:1.8em 0;overflow-x:auto;border:1px solid rgba(var(--ink),.12);border-radius:14px;padding:clamp(18px,3vw,28px);background:var(--color-code-background);color:var(--text);line-height:1.65;tab-size:2}.prose pre code{padding:0;background:0 0;color:inherit;font-size:13px;overflow-wrap:normal;white-space:pre}.prose .hljs-comment,.prose .hljs-quote{color:var(--color-code-comment)}.prose .hljs-keyword,.prose .hljs-selector-tag,.prose .hljs-doctag{color:var(--color-code-keyword)}.prose .hljs-string,.prose .hljs-regexp,.prose .hljs-addition{color:var(--color-code-string)}.prose .hljs-title,.prose .hljs-built_in,.prose .hljs-type,.prose .hljs-selector-class,.prose .hljs-selector-id,.prose .hljs-name{color:var(--color-code-symbol)}.prose .hljs-number,.prose .hljs-literal,.prose .hljs-symbol,.prose .hljs-bullet,.prose .hljs-attr,.prose .hljs-attribute,.prose .hljs-meta,.prose .hljs-deletion{color:var(--color-code-literal)}.prose .hljs-emphasis{font-style:italic}.prose .hljs-strong{font-weight:700}.prose table{display:block;width:100%;max-width:100%;margin:2em 0;overflow-x:auto;border-collapse:collapse;font-size:.9em}.prose th,.prose td{min-width:130px;border-bottom:1px solid rgba(var(--ink),.14);padding:12px 16px;text-align:left;vertical-align:top}.prose th{color:var(--text);font-weight:700}.prose figure{margin:2.3em 0}.prose img,.prose video,.prose iframe{display:block;max-width:100%;height:auto;border-radius:12px}.prose iframe{width:100%;aspect-ratio:16/9}.prose figcaption{margin-top:10px;color:rgba(var(--ink),.56);font-size:13px;line-height:1.5}.uses-card{display:grid;grid-column:1;grid-template-columns:88px minmax(0,1fr);min-width:0;min-height:224px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 93%,var(--accent) 7%) 0%,color-mix(in srgb,var(--paper) 95%,var(--accent-2) 5%) 100%);transition:background .3s;scroll-margin-top:120px}.uses-card:only-child{grid-column:1;grid-template-columns:88px minmax(0,1fr);min-height:224px}.uses-tools__groups{display:flex;flex-direction:column;gap:clamp(42px,5vw,72px)}.uses-group.uses-tools__group{display:grid;grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}.uses-tools__group .uses-group__head{min-height:0}.uses-group__cards.uses-tools__cards{grid-template-columns:repeat(var(--uses-columns),minmax(0,1fr));gap:clamp(14px,1.5vw,22px);overflow:visible;border:0;border-radius:0;background:0 0}.uses-card.uses-tools__item,.uses-card.uses-tools__item:only-child{grid-column:auto;overflow:hidden;border:1px solid rgba(var(--ink),.16);border-radius:16px}.uses-card:hover{background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 87%,var(--accent) 13%) 0%,color-mix(in srgb,var(--paper) 91%,var(--accent-2) 9%) 100%)}.uses-card__visual{position:relative;display:grid;min-width:0;place-items:center;overflow:hidden;border-right:1px solid rgba(var(--ink),.16);background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 91%,var(--paper) 9%) 0%,color-mix(in srgb,var(--paper) 90%,var(--panel-solid) 10%) 100%)}.uses-card__logo{position:relative;z-index:2;display:block;width:auto;max-width:48%;height:auto;max-height:68px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.18));transition:transform .4s cubic-bezier(.22,1,.36,1)}.uses-card:only-child .uses-card__logo{max-width:48%;max-height:68px}.uses-card:hover .uses-card__logo{transform:translateY(-5px) rotate(-2deg) scale(1.04)}.uses-card__visual-glow{position:absolute;z-index:1;display:block;width:58%;max-width:82px;height:auto;max-height:82px;opacity:.36;filter:blur(26px) saturate(1.35);transform:scale(1.65);pointer-events:none}.uses-card:only-child .uses-card__visual-glow{width:58%;max-width:82px;max-height:82px}.uses-card__monogram{position:relative;z-index:2;color:var(--text);font-family:var(--font-mono);font-size:clamp(38px,5vw,70px);font-weight:700;letter-spacing:-.08em}.uses-card__body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:clamp(18px,1.7vw,24px)}.uses-card__body h3{margin:0 0 10px;color:var(--text);font-size:clamp(24px,2vw,30px);letter-spacing:-.05em;line-height:1;overflow-wrap:anywhere}.uses-card__body>p{margin:0 0 18px;color:rgba(var(--ink),.66);font-family:var(--font-body);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.uses-card__link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;border-bottom:1px solid rgba(var(--ink),.24);padding-bottom:6px;color:var(--text);font-family:var(--font-body);font-size:12px;font-weight:700;transition:gap .25s,border-color .25s,color .25s}.uses-card__link:hover{gap:13px;border-color:var(--accent-lite);color:var(--accent-lite)}.uses-card__projects{width:100%;margin-top:14px;border-top:1px solid rgba(var(--ink),.12);padding-top:12px;font-family:var(--font-body)}.uses-card__projects-count{display:block;margin-bottom:7px;color:rgba(var(--ink),.46);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.uses-card__projects-links{display:flex;min-width:0;flex-wrap:wrap;gap:5px 10px}.uses-card__projects-links a{color:var(--text);font-size:11px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:rgba(var(--ink),.2);text-underline-offset:3px}.uses-card__projects-links a:hover{color:var(--accent-lite);text-decoration-color:currentColor}.uses-hardware{margin-top:clamp(64px,7vw,96px)}.uses-hardware__head{display:flex;align-items:end;justify-content:space-between;gap:28px;border-top:1px solid rgba(var(--ink),.16);padding:clamp(22px,2.5vw,34px) 0}.uses-hardware__head p,.uses-hardware__head>span{font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.uses-hardware__head p{margin:0 0 10px;color:var(--accent-2)}.uses-hardware__head h2{margin:0;color:var(--text);font-family:var(--font-serif);font-size:clamp(32px,4vw,52px);font-style:italic;font-weight:400;letter-spacing:-.035em;line-height:.95}.uses-hardware__head>span{flex:0 0 auto;color:rgba(var(--ink),.48)}.uses-hardware__groups{display:flex;flex-direction:column;gap:clamp(42px,5vw,72px);margin-top:clamp(38px,4.5vw,62px)}.uses-hardware__group{min-width:0}.uses-hardware__group .uses-group__head{min-height:0}.uses-hardware__group .uses-group__head h3{max-width:none}.uses-hardware__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,22px);overflow:visible;border:0;border-radius:0;background:0 0}.uses-hardware__item,.uses-hardware__item:only-child{grid-column:auto;grid-template-columns:clamp(118px,9vw,132px) minmax(0,1fr);min-height:180px;overflow:hidden;border:1px solid rgba(var(--ink),.16);border-radius:16px}.uses-hardware__visual:after{display:none}.uses-hardware__image{position:relative;z-index:1;display:block;grid-area:1/1;width:100%;height:auto;max-height:138px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.18));object-fit:contain;transition:transform .4s cubic-bezier(.22,1,.36,1)}.uses-hardware__glow{width:86%;max-width:none;max-height:138px}.uses-hardware__item:hover .uses-hardware__image{transform:translateY(-4px) scale(1.07)}.uses-hardware__visual>span{color:rgba(var(--ink),.28);font-family:var(--font-sans);font-size:clamp(12px,1.4vw,18px);font-weight:700;letter-spacing:-.04em;writing-mode:vertical-rl}.uses-hardware__body{justify-content:center;gap:20px;padding:clamp(18px,1.7vw,24px)}.uses-hardware__body h4{margin:0;color:var(--text);font-size:clamp(16px,1.2vw,19px);letter-spacing:-.05em;line-height:1.05;overflow-wrap:anywhere}.uses-hardware__body .uses-card__link{margin-top:0}@media (max-width:1180px){.uses-card,.uses-card:only-child{grid-template-columns:104px minmax(0,1fr);min-height:210px}.uses-hardware__item,.uses-hardware__item:only-child{grid-template-columns:120px minmax(0,1fr);min-height:180px}.uses-hardware__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.uses-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 18px}.uses-group__head{min-height:62px}}@media (max-width:980px){.uses-group,.uses-principles{grid-template-columns:1fr}.uses-group__head{position:static}.uses-group__head h2,.uses-group__head h3,.uses-principles__head h2{max-width:none}.uses-principles__head{min-height:210px;border-right:0;border-bottom:1px solid rgba(var(--ink),.17)}.uses-group.uses-tools__group{grid-template-columns:1fr;gap:18px}}@media (max-width:680px){.uses-card,.uses-card:only-child{grid-column:1;grid-template-columns:84px minmax(0,1fr);min-height:205px}.uses-card:only-child .uses-card__logo,.uses-card__logo{max-width:54%;max-height:82px}.uses-card__body{padding:18px}.uses-card__body h3{font-size:clamp(24px,6vw,28px)}.uses-hardware__body h4{font-size:clamp(17px,4.6vw,19px)}.uses-hardware__item,.uses-hardware__item:only-child{grid-template-columns:104px minmax(0,1fr);min-height:180px}.uses-hardware__cards{grid-template-columns:1fr}.uses-page{padding-top:clamp(72px,10vh,104px)}.uses-groups{grid-template-columns:1fr;gap:36px;margin-top:42px}.uses-group{gap:14px;padding:0}.uses-group__head{min-height:0}.uses-group__cards{grid-template-columns:1fr}.uses-group__cards.uses-tools__cards{grid-template-columns:1fr}.uses-hardware__head{align-items:flex-start;flex-direction:column;gap:16px}.uses-principles{margin-inline:calc(-1*var(--pad-x));border-right:0;border-radius:0;border-left:0}.uses-principles__head,.uses-principles__list{padding-inline:var(--pad-x)}.uses-principles__head{min-height:150px}.uses-page__actions{width:100%;flex-direction:column}}@media (prefers-reduced-motion:reduce){html[data-motion=off] .uses-card,html[data-motion=off] .uses-card__logo,html[data-motion=off] .uses-hardware__image{transition:none}html[data-motion=off] .uses-card:hover .uses-card__logo{transform:none}html[data-motion=off] .uses-hardware__item:hover .uses-hardware__image{transform:none}}.uses-page__intro{max-width:62ch;margin:0 0 14px;color:var(--color-text);font:400 clamp(16px,1.4vw,19px)/1.6 var(--font-body)}.uses-page__skills{position:relative;margin:0 0 32px;color:var(--color-text-muted);font:400 14px/1.6 var(--font-body)}.uses-page__skills a{color:var(--color-action);text-decoration:underline;text-underline-offset:.2em}.uses-page__skills a:focus-visible,.uses-card__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.uses-tools__item{position:relative}.uses-anchor{position:absolute;top:0;left:0;width:1px;height:1px;scroll-margin-top:120px;pointer-events:none}.sheet{position:fixed;top:clamp(30px,5vh,58px);right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;overflow:hidden;color:var(--text);border-top:1px solid rgba(var(--ink),.12);border-radius:24px 24px 0 0;background:var(--project-sheet-bg);box-shadow:none;transform:translateY(101%);transition:transform .62s cubic-bezier(.22,1,.36,1);will-change:transform}.sheet[aria-hidden=true]{content-visibility:hidden;contain-intrinsic-size:100vh}.sheet[aria-hidden=false],.sheet.is-open,.sheet[data-open="1"]{transform:translateY(0)}.sheet__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;border-bottom:1px solid rgba(var(--ink),.1);padding:clamp(14px,1.6vw,20px) clamp(20px,3vw,40px);background:var(--project-sheet-bar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sheet__crumb{min-width:0;color:var(--text);font-weight:700;font-size:clamp(22px,2.4vw,34px);line-height:.86;letter-spacing:-.035em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet__bar--cv{background:color-mix(in srgb,var(--paper) 90%,transparent)}.sheet__crumb-em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent-lite)}.sheet__actions{display:flex;align-items:center;gap:10px}.sheet__actions>.btn{flex-shrink:0}.sheet__close-icon svg{transition:transform .35s var(--ease-standard)}.sheet__close:is(:hover,:focus-visible) .sheet__close-icon svg{transform:rotate(90deg)}html[data-motion=off] .sheet__close .sheet__close-icon svg{transition:none;transform:none}@media (prefers-reduced-motion:reduce){.sheet__close-icon svg{transition:none;transform:none !important}}.sheet__print-paper{transform-box:fill-box;transform-origin:center;transition:transform .35s cubic-bezier(.22,1,.36,1)}.sheet__print:hover .sheet__print-paper,.sheet__print:focus-visible .sheet__print-paper{transform:translateY(1.5px)}.sheet__scroll{position:relative;z-index:1;flex:1 1 auto;overflow-y:auto;scrollbar-color:rgba(var(--ink),.24) transparent;scrollbar-width:thin}.sheet--cv .sheet__scroll{overscroll-behavior-y:auto !important;scroll-behavior:auto !important;scroll-snap-type:none !important;touch-action:pan-y}.sheet__scroll::-webkit-scrollbar{width:9px}.sheet__scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:9px;background:rgba(var(--ink),.2);background-clip:content-box}.sheet__glow{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.sheet__glow:before{content:"";position:absolute;top:-12%;right:-6%;width:min(900px,80vw);height:min(560px,50vh);background:radial-gradient(56% 54% at 72% 34%,color-mix(in srgb,var(--accent-lite) 80%,#fff) 0%,var(--accent) 32%,var(--accent-fill) 54%,transparent 76%);opacity:.3;filter:blur(54px)}.case__detail-link{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(40px,5vw,72px);border-bottom:1px solid rgba(var(--ink),.24);padding-bottom:8px;color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:700;transition:border-color .25s,color .25s,gap .25s}.case__detail-link:hover{gap:18px;border-color:var(--accent-lite);color:var(--accent-lite)}.case__back{margin-top:clamp(50px,7vw,100px)}.reading-nav{position:fixed;z-index:30;right:18px;top:0;bottom:0;display:flex;align-items:center;max-width:calc(100% - 36px);pointer-events:none;font-family:var(--font-body)}.reading-nav[hidden],.reading-nav__panel[hidden]{display:none}.reading-nav__toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:14px 8px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-panel);color:var(--color-text);cursor:pointer;pointer-events:auto}.reading-nav__toggle[aria-expanded=true]{display:none}.reading-nav__ticks{display:flex;flex-direction:column;gap:6px;max-height:45dvh;overflow:hidden}.reading-nav__tick{display:block;width:20px;min-height:2px;background:var(--color-border-strong)}.reading-nav__tick--sub{width:12px}.reading-nav__tick.is-read{background:var(--color-text-muted)}.reading-nav__tick.is-current{width:26px;background:var(--color-action)}.reading-nav__panel{display:flex;flex-direction:column;width:440px;max-width:100%;min-width:0;max-height:min(760px,calc(100dvh - 32px));overflow:hidden;background:var(--color-panel);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-card);box-shadow:0 12px 40px rgba(var(--ink),.12);pointer-events:auto}.reading-nav__header{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;flex:none;padding:16px 24px 12px;border-bottom:1px solid var(--color-border-subtle)}.reading-nav__heading{margin:0;font:600 22px/1.3 var(--font-sans)}.reading-nav__close{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;background:0 0;color:var(--color-text);font:28px/1 var(--font-body);cursor:pointer}.reading-nav__context{grid-column:1/-1;margin:4px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.reading-nav__details-link,.reading-nav__back-link{display:inline-flex;align-items:center;justify-self:start;min-height:44px;font-size:12px;color:var(--color-action);text-decoration:underline;text-underline-offset:4px}.reading-nav__details-link{grid-column:1/-1}.reading-nav__scroll{position:relative;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 24px 24px}.reading-nav__metadata{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border-strong)}.reading-nav__about{margin:0 0 8px;font:600 17px/1.4 var(--font-sans)}.reading-nav__page-title{margin:0 0 16px;color:var(--color-text-muted);font-size:13px;line-height:1.5}.reading-nav__metadata .article-sidebar__section{display:block;margin:0;padding:14px 0}.reading-nav__metadata .article-sidebar__label{font-size:11px}.reading-nav__metadata .article-sidebar__value,.reading-nav__metadata .article-sidebar__links a{font-size:13px}.reading-nav__metadata .article-sidebar__links{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 14px}.reading-nav__metadata .article-sidebar__links a{display:inline-flex;align-items:baseline}.reading-nav__panel .article-sidebar__contents-list{gap:2px;margin:0}.reading-nav__panel .article-sidebar__contents-item a{align-items:baseline;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.5;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}[data-reading-contents] a[aria-current],.reading-nav__panel a[aria-current]{color:var(--color-action)}.reading-nav__panel a[aria-current]{background:var(--surface-2);border-left:2px solid var(--color-action)}.reading-nav :focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.reading-cover{display:flow-root;position:relative;isolation:isolate;text-align:center;padding-bottom:clamp(32px,5vw,72px)}.reading-cover>:not(.reading-cover__image){position:relative;z-index:1}.reading-cover .reading-cover__image{position:absolute;z-index:-1;inset:-40px -24px 0;width:auto;height:auto;margin:0;border:0;border-radius:0;aspect-ratio:auto;background:0 0;pointer-events:none;opacity:.6;mask-image:linear-gradient(to right,transparent,#000 24%,#000 76%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 30%,transparent 85%);mask-composite:intersect}.reading-cover__image:after{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(to bottom,transparent 5%,color-mix(in srgb,var(--color-panel) 96%,transparent) 30%,var(--color-panel) 55%)}.reading-cover .reading-cover__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}.reading-cover .case__crumb{justify-content:center}.reading-cover .case__title,.article-page .reading-cover h1{max-width:900px;margin:clamp(112px,14vw,192px) auto 24px;font-size:clamp(38px,4.7vw,68px);line-height:1.08}.reading-cover:not(.reading-cover--image) .case__title,.article-page .reading-cover:not(.reading-cover--image) h1{margin-top:48px}.reading-cover .case__one,.article-page .reading-cover .page-head__intro{max-width:665px;margin:0 auto;font-size:clamp(18px,1.8vw,22px);line-height:1.65}.reading-cover .article-page__head{margin:0 auto}.reading-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 0;margin:28px auto 0;color:var(--color-text-muted);font:14px/1.5 var(--font-body)}.reading-meta>*{display:inline-flex;align-items:baseline;white-space:nowrap}.reading-meta>*+*:before{content:'·';padding-inline:10px}.reading-meta__category{white-space:normal}.reading-external-icon{display:inline-block;width:1em;height:1em;flex:0 0 1em;margin-left:5px;vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-reading-page] .project-story__layout,[data-reading-page] .article-page__layout{display:flex;flex-direction:column;align-items:stretch;gap:32px;max-width:1060px;margin-inline:auto}[data-reading-page] .project-story__content{width:100%}[data-reading-page] .article-page__layout>:not(.article-sidebar){width:min(100%,680px);margin-inline:auto}[data-reading-page] [data-article-sidebar]{width:min(100%,680px);margin-inline:auto}[data-reading-page] [data-article-sidebar][hidden]{display:none}.article-sidebar__contents-list{counter-reset:chapter}.article-sidebar__contents-item--h2{counter-increment:chapter;margin-top:16px}.article-sidebar__contents-item--h2 a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;font-weight:600}.article-sidebar__contents-item--h2 a:before{content:counter(chapter,upper-roman) '.';color:var(--color-action);font-size:12px}.article-sidebar__contents-item--h3,.article-sidebar__contents-item--h4{position:relative;margin-left:28px;border-left:1px solid var(--color-border-subtle)}.reading-nav__panel .article-sidebar__contents-item--h3 a,.reading-nav__panel .article-sidebar__contents-item--h4 a{display:block;padding-left:20px;font-size:13px}.reading-nav__panel .article-sidebar__contents-item--h3 a:before,.reading-nav__panel .article-sidebar__contents-item--h4 a:before{content:none}.article-sidebar__contents-item--h3:before,.article-sidebar__contents-item--h4:before{content:'';position:absolute;top:20px;left:0;width:10px;border-top:1px solid var(--color-border-subtle)}.article-sidebar__contents-item--h4{margin-left:48px}@media (max-width:820px){[data-reading-page]{padding-inline:52px}.reading-nav{right:4px;max-width:calc(100% - 24px)}.reading-cover .case__title{hyphens:manual}}@media (max-width:680px){.reading-nav__panel{max-height:calc(100dvh - 24px)}.reading-nav__header{padding:14px 20px 10px}.reading-nav__scroll{padding:8px 20px 20px}.reading-cover{margin-inline:0}.reading-cover .reading-cover__image{inset-inline:-12px}.reading-meta{margin-inline:28px;font-size:12px}}@media print{.reading-nav{display:none}[data-reading-page] [data-article-sidebar][hidden]{display:block}.reading-cover__image{display:none}}.card-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 24px;color:var(--color-text-muted);font:400 15px/1.5 var(--font-body)}.card-meta>*+*:before{content:'·';margin-right:16px}