: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}*{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}}.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}.skills--map{grid-template-columns:minmax(0,1fr);gap:20px;padding-bottom:clamp(40px,5vw,72px)}.skills--map .skills__intro{position:relative;padding-right:160px}.skills--map .skills__word{max-width:20ch;margin-bottom:0;font-size:clamp(34px,3.8vw,60px)}.skills--map .skills__cv{position:absolute;right:0;bottom:0}.skills--map .skill-map__branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;margin:0;border:0}.skills--map .skill-map__branch{padding:24px 0 0;border-top:1px solid var(--color-border-strong)}.skills--map .skill-map__branch:before,.skills--map .skill-map__branch:after{display:none}.skills--map .skill-map__group{font-size:26px;margin-bottom:20px}.skills--map .skill-map__items{gap:10px}.skills--map .skill-map__chip{min-height:48px;padding:10px 14px;font-size:14px;line-height:1.5}@media (max-width:820px){.skills--map .skills__intro{padding-right:0}.skills--map .skills__cv{position:static;margin-top:24px}.skills--map .skill-map__branches{grid-template-columns:minmax(0,1fr);gap:28px}}.skill-map{min-width:0;padding-top:6px}.skill-map__skill>.skill-map__chip{gap:10px;border-color:color-mix(in srgb,var(--color-border-subtle) 75%,var(--skill-accent) 25%);border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 89%,var(--skill-accent) 11%) 0%,color-mix(in srgb,var(--paper) 93%,var(--skill-accent) 7%) 100%);color:var(--color-text)}.skill-map__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;color:color-mix(in srgb,var(--color-text) 65%,var(--skill-accent))}.skill-map__icon img,.skill-map__icon svg{display:block;width:22px;height:22px;object-fit:contain}.skill-map__label{min-width:0;font-weight:500}.skill-map__icon [data-skill-icon=socket-io]{filter:brightness(0) invert(var(--logo-invert))}html[data-theme=dark] .skill-map__icon [data-skill-icon=confluence],html[data-theme=dark] .skill-map__icon [data-skill-icon=jira]{filter:brightness(1.7)}.skill-map__branches{margin-left:5px;padding-bottom:2px;border-left:1px solid var(--color-border-strong)}.skill-map__branch{position:relative;padding:0 0 26px 26px}.skill-map__branch:last-child{padding-bottom:0}.skill-map__branch:before{content:'';position:absolute;left:0;top:11px;width:16px;height:1px;background:var(--color-border-strong)}.skill-map__branch:after{content:'';position:absolute;left:-4px;top:8px;width:7px;height:7px;background:var(--color-page);border:1px solid var(--color-action);border-radius:50%}.skill-map__group{margin:0 0 13px;color:var(--color-text);font:600 18px/1.25 var(--font-sans);letter-spacing:-.025em}.skill-map__items{display:flex;flex-wrap:wrap;align-items:start;gap:8px;list-style:none;margin:0;padding:0}.skill-map__items>li{min-width:0;max-width:100%}.skill-map__skill>summary{cursor:pointer;list-style:none;transition:border-color var(--duration-fast),background .3s,color var(--duration-fast)}.skill-map__skill>summary::-webkit-details-marker{display:none}.skill-map__skill>summary:hover,.skill-map__skill[open]>summary{border-color:var(--skill-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 80%,var(--skill-accent) 20%) 0%,color-mix(in srgb,var(--paper) 88%,var(--skill-accent) 12%) 100%);color:var(--color-text)}@media (hover:hover) and (pointer:fine){.js .skill-map__skill[open]:after{content:'';position:absolute;top:100%;left:0;width:100%;height:8px}.js .skill-map__skill[data-placement=above]:after{top:auto;bottom:100%}}.skill-map__sign{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;height:16px;color:var(--color-text-muted);font-size:16px;line-height:1;margin-left:4px}.skill-map__skill[open] .skill-map__sign{transform:rotate(45deg)}.skill-map__skill{--skill-accent:var(--accent);position:relative;width:max-content;max-width:100%}.skill-map__skill[open]{z-index:4}.skill-map__sources{box-sizing:border-box;font-family:var(--font-body);position:static;top:calc(100% + 8px);left:0;width:min(340px,calc(100vw - 48px));max-height:min(440px,calc(100dvh - 32px));overflow-y:auto;overscroll-behavior:contain;padding:18px;margin-top:8px;border:1px solid color-mix(in srgb,var(--color-border-strong) 78%,var(--skill-accent));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 96%,var(--skill-accent)) 0%,var(--panel-solid) 100%);box-shadow:var(--shadow-control)}.js .skill-map__sources{position:absolute;margin-top:0}.skill-map__sources>p{margin:0}.skill-map__sources>p.skill-map__experience{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--color-text-muted);font-size:13px;line-height:1.5}.skill-map__experience strong{flex-shrink:0;color:var(--color-text);font:600 23px/1.25 var(--font-sans);letter-spacing:-.035em;font-variant-numeric:tabular-nums}.skill-map__sources>p.skill-map__heading{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:var(--color-text-muted);font-size:12px;font-weight:500;line-height:1.5}.skill-map__sources>.skill-map__experience+.skill-map__heading,.skill-map__sources>ul+.skill-map__heading{margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border-subtle)}.skill-map__count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:11px;font-variant-numeric:tabular-nums}.skill-map__sources ul{list-style:none;margin:0 -8px;padding:0}.skill-map__sources li+li{margin-top:2px}.skill-map__sources a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 8px;border-radius:7px;font-size:14px;line-height:1.45;overflow-wrap:anywhere;color:var(--color-text)}.skill-map__sources a:hover,.skill-map__sources a:focus-visible{background:color-mix(in srgb,var(--color-surface) 92%,var(--skill-accent));color:var(--color-text)}.skill-map__sources a:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.skill-map__link-icon{width:16px;height:16px;flex:0 0 16px;color:var(--color-text-muted)}.skill-map__sources>p.skill-map__work-note{margin-top:14px;color:var(--color-text-muted);font-size:11px;line-height:1.5}@media (max-width:600px){.skill-map__branch{padding-left:20px}.skill-map__branch:before{width:12px}.skill-map__items{gap:7px}.skill-map__chip{padding:6px 9px;font-size:11px}.skill-map__skill[open] .skill-map__sources{position:static;width:min(340px,calc(100vw - 48px));max-height:none;margin-top:8px}}.skill-map__skill--static{display:block}.skill-map-selection:has(>[open])>.skill-map-selection__overview{display:none}.skill-map-selection__catalog{margin-top:24px}.skill-map-selection__catalog[open]{margin-top:0}.skill-map-selection__toggle{width:fit-content;min-height:44px;cursor:pointer;list-style:none}.skill-map-selection__toggle::-webkit-details-marker{display:none}.skill-map-selection__hide,.skill-map-selection__catalog[open]>summary .skill-map-selection__show{display:none}.skill-map-selection__catalog[open]>summary .skill-map-selection__hide{display:inline}.skill-map-selection__catalog[open]>.skill-map{margin-top:24px}@font-face{font-family:CV Inter;src:url('/user/themes/mert-somun/fonts/cv/Inter-Regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:CV Inter;src:url('/user/themes/mert-somun/fonts/cv/Inter-SemiBold.ttf');font-weight:600 700;font-display:swap}@font-face{font-family:CV Archivo;src:url('/user/themes/mert-somun/fonts/cv/Archivo-SemiBold.ttf');font-weight:600 700;font-display:swap}@font-face{font-family:CV Serif;src:url('/user/themes/mert-somun/fonts/cv/InstrumentSerif-Regular.ttf');font-weight:400;font-display:swap}.cv-print *{box-sizing:border-box;letter-spacing:normal;text-wrap:wrap;hyphens:none;font-variant-ligatures:none}.cv-print{margin:0;background:var(--scheme-light-stage-c);color:var(--cv-ink);font:10pt/1.33 'CV Inter',sans-serif}.cv-print h1,.cv-print h2,.cv-print h3,.cv-print p,.cv-print figure{margin:0}.cv-print a{color:inherit;text-decoration:none}.cv-print a:hover{text-decoration:underline}.cv-print a:focus-visible{outline:3px solid var(--cv-accent);outline-offset:4px}.cv-print .cvp-paper{position:relative;background:var(--cv-white);width:210mm;min-height:297mm;margin:0 auto 28px;padding:14mm 13mm 10mm;display:flex;flex-direction:column;box-shadow:0 12px 50px var(--scheme-light-surface-2)}.cv-print .cvp-masthead{display:grid;grid-template-columns:minmax(0,1fr) 53mm;gap:9mm;align-items:center;margin-bottom:8mm;position:relative}.cv-print .cvp-identity .eyebrow{font:8pt/1.3 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--cv-muted);margin-bottom:3mm}.cv-print h1{font:600 34pt/.97 'CV Archivo',sans-serif;letter-spacing:-.04em}.cv-print .cvp-role{font:600 11pt/1.25 'CV Archivo',sans-serif;margin-top:3mm}.cv-print .cvp-focus{font-size:8.7pt;line-height:1.5;color:var(--cv-accent);margin-top:1mm}.cv-print address{font-style:normal;font-size:8.1pt;line-height:1.4;min-width:0}.cv-print address p{display:flex;align-items:center;gap:2mm;margin-top:1.1mm}.cv-print address a{overflow-wrap:anywhere}.cv-print address svg{width:3mm;height:3mm;flex:none;stroke:currentColor;fill:none;stroke-width:1.5}.cv-print address p:last-child{color:var(--cv-muted)}.cv-print .cvp-columns{display:grid;grid-template-columns:minmax(0,1fr) 53mm;gap:9mm}.cv-print .cvp-primary,.cv-print .cvp-rail{min-width:0}.cv-print section+section{margin-top:4mm}.cv-print h2{display:flex;align-items:center;gap:2mm;font:600 10pt/1.3 'CV Archivo',sans-serif;letter-spacing:.055em;text-transform:uppercase;margin-bottom:2mm;break-after:avoid}.cv-print h2:after{content:'';height:.5pt;background:var(--cv-line);flex:1}.cv-print h3{font:600 10.4pt/1.25 'CV Archivo',sans-serif;break-after:avoid}.cv-print .cvp-profile p{border-left:1pt solid var(--cv-line);padding-left:3mm;font-size:9.5pt;line-height:1.4}.cv-print .cvp-meta{font-size:8.5pt;line-height:1.35;margin-top:1mm;color:var(--cv-muted);break-after:avoid}.cv-print .cvp-employer{font-size:8.5pt;color:var(--cv-ink)}.cv-print .cvp-job-title{display:flex;gap:2.5mm;align-items:center}.cv-print .cvp-job+.cvp-job{margin-top:4mm}.cv-print .cvp-job .cvp-meta{margin-top:.7mm}.cv-print .cvp-job .cvp-intro{margin-top:1.5mm}.cv-print ul{padding-left:3.4mm;margin:1.5mm 0 0}.cv-print li{padding-left:.2mm;margin-top:.65mm}.cv-print li::marker{font-size:.7em;color:var(--cv-muted)}.cv-print strong{font-weight:600}.cv-print .cvp-featured{padding-top:3mm;border-top:.7pt solid var(--cv-line)}.cv-print .cvp-featured h3{font-size:11.2pt}.cv-print .cvp-project{position:relative}.cv-print .cvp-project+.cvp-project{margin-top:6mm;padding-top:4mm;border-top:.5pt solid var(--cv-line)}.cv-print .cvp-portrait{position:relative;height:48mm;margin-top:-1mm;margin-bottom:5mm;overflow:hidden}.cv-print .cvp-portrait>img{position:relative;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;z-index:1}.cv-print .cvp-portrait>img.cvp-portrait__image--photo{transform:scale(1.3);transform-origin:center top}.cv-print .cvp-rail{font-size:8.6pt;line-height:1.4}.cv-print .cvp-rail h2{font-size:9.4pt;margin-bottom:3mm}.cv-print .cvp-rail h3{font-size:9pt}.cv-print .cvp-education article+article{margin-top:3mm}.cv-print .cvp-education p{margin-top:.7mm}.cv-print .cvp-education .cvp-meta{font-size:8pt}.cv-print .cvp-skill-group+.cvp-skill-group{margin-top:2.3mm}.cv-print .cvp-skill-group h3{font-size:8.7pt;margin-bottom:.6mm}.cv-print .cvp-skills p{font-size:8.3pt;line-height:1.4}.cv-print .cvp-rail section+section{margin-top:4mm}.cv-print .cvp-continuation{display:flex;justify-content:space-between;align-items:center;border-bottom:.6pt solid var(--cv-line);padding-bottom:4mm;margin-bottom:7mm;gap:5mm}.cv-print .cvp-continuation>p{font:600 23pt/1 'CV Archivo',sans-serif;letter-spacing:-.035em}.cv-print .cvp-continuation em{font-style:normal}.cv-print .cvp-continuation>div{font-size:8.5pt;color:var(--cv-muted)}.cv-print .cvp-continuation>div p+p{margin-top:1mm;font-size:8pt}.cv-print .cvp-additional article+article{margin-top:5mm}.cv-print .cvp-additional .cvp-meta{font-size:8pt}.cv-print .cvp-additional article>p:last-child{margin-top:2mm}.cv-print .cvp-languages p{font-size:8.5pt}.cv-print .cvp-portfolio-link{border-top:.5pt solid var(--cv-line);margin-top:6mm;padding-top:3mm;font-size:8pt}.cv-print .cvp-portfolio-link a{color:var(--cv-accent);font-weight:600}.cv-print .cvp-background{margin-top:7mm}.cv-print .cvp-signature{margin-top:7mm;padding-top:5mm;border-top:.5pt solid var(--cv-line)}.cv-print .cvp-signature>p{font:600 20pt/1.13 'CV Archivo',sans-serif;letter-spacing:-.025em}.cv-print .cvp-signature em{font:400 1.15em/1 'CV Serif',serif;color:var(--cv-accent)}.cv-print .cvp-stack{display:flex;gap:5mm;margin-top:5mm;font-size:8pt}.cv-print .cvp-stack span{display:flex;align-items:center;gap:1.5mm}.cv-print .cvp-stack img{width:5mm;height:5mm;object-fit:contain}.cv-print .cvp-first .cvp-masthead{margin-bottom:5.5mm}.cv-print .cvp-profile p{max-width:94%;margin:1.5mm auto;border-left:0;padding-left:0;text-align:center}.cv-print .cvp-primary h2{margin-left:-3mm;font-size:11.5pt;line-height:13pt;letter-spacing:.065em}.cv-print .cvp-rail h2{margin-left:-1.5mm;font-size:10.5pt;line-height:12.25pt;letter-spacing:.055em}.cv-print .cvp-experience{position:relative}.cv-print .cvp-experience:before{content:'';position:absolute;left:-3mm;top:9mm;bottom:1mm;width:.7pt;background:var(--cv-line)}.cv-print .cvp-job{position:relative}.cv-print .cvp-experience .cvp-job:before{content:'';position:absolute;left:-4mm;top:1.5mm;width:2mm;height:2mm;background:var(--cv-ink);border-radius:50%;box-shadow:0 0 0 1mm var(--cv-white)}.cv-print .cvp-job h3{font-size:11pt;line-height:13pt}.cv-print .cvp-background article{position:relative}.cv-print .cvp-background article:before{content:'';position:absolute;left:-3mm;top:1mm;bottom:1mm;width:.7pt;background:var(--cv-line)}.cv-print .cvp-featured{border-top:0;padding-top:0}.cv-print .cvp-primary h2{margin-bottom:3mm}.cv-print .cvp-paper h2{position:relative}.cv-print .cvp-paper h2:before{content:'';position:absolute;left:-2.5mm;top:50%;width:.65mm;height:3.2mm;transform:translateY(-50%);background:var(--cv-ink)}.cv-print .cvp-experience:before{top:10mm}.cv-print .cvp-job ul{list-style:disc;padding-left:3.4mm;margin-top:1.5mm}.cv-print .cvp-job li{padding-left:.2mm;margin-top:.85mm}.cv-print .cvp-job li:first-child{margin-top:0}.cv-print .cvp-experience:before{width:.5pt}.cv-print .cvp-experience .cvp-job:before{left:-3.9mm;width:1.8mm;height:1.8mm}.cv-print .cvp-job+.cvp-job{margin-top:3.3mm}.cv-print{--cv-accent:var(--scheme-light-text);--cv-ink:var(--scheme-light-text);--cv-white:var(--scheme-light-panel);--cv-muted:color-mix(in srgb,var(--cv-ink) 74%,var(--cv-white));--cv-line:color-mix(in srgb,var(--cv-ink) 19%,var(--cv-white));display:none}[data-guide-cv]{container:cv-sheet/inline-size}.sheet.sheet--cv{top:0;border:0;border-radius:0;background:var(--color-panel);container:cv-sheet/inline-size}.sheet--cv .sheet__bar{position:relative;flex:0 0 auto;flex-direction:row;align-items:center;padding:var(--space-3) var(--pad-x);border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel)}.sheet--cv .sheet__close{align-self:auto}.sheet--cv .sheet__actions{flex-shrink:0}.sheet--cv .sheet__crumb{line-height:1.15}.sheet--cv .sheet__scroll{min-height:0;flex:1 1 auto}.cvs{width:100%;max-width:var(--maxw);container:cv/inline-size;margin-inline:auto;padding:var(--space-9) clamp(var(--space-6),6vw,var(--space-10));color:var(--color-text);font:400 var(--type-body)/1.6 var(--font-body)}.cvs__layout{display:grid;gap:var(--space-7)}.cvs__sidebar,.cvs__main{min-width:0}.cvs__main>.cvs__section:first-child{margin-top:0}.cvs__identity{display:flex;align-items:center;gap:var(--space-4)}.cvs .cvs__title{font-size:clamp(32px,3vw,44px);overflow-wrap:anywhere}.cvs .cvs__role{font-size:var(--type-ui)}.cvs__identity-text{min-width:0;flex:1}.cvs__portrait-frame{width:96px;aspect-ratio:4/5;flex:none;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface)}.cvs__portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.cvs__portrait--photo{transform:scale(1.3);transform-origin:center top}.cvs__portrait--avatar{transform:scale(1.45);transform-origin:center top}.cvs__focus{margin:var(--space-3) 0 0;color:var(--color-action);font-size:var(--type-ui);font-weight:700}.cvs__location{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--type-ui)}.cvs__section{margin-top:var(--space-9);padding-top:var(--space-9);border-top:1px solid var(--color-border-subtle)}.cvs__section-heading{margin-bottom:clamp(var(--space-7),3vw,var(--space-8))}.cvs__section-heading--major h3{margin:0;font-size:clamp(36px,3.2vw,54px);line-height:1.04;letter-spacing:-.055em}.cvs__section-heading--major em{letter-spacing:-.02em}.cvs__section-heading--label{margin-bottom:var(--space-4)}.cvs__section-heading--label h3{margin:0;color:var(--color-action);font:700 var(--type-ui)/1.4 var(--font-body);letter-spacing:.02em}.cvs__sidebar .cvs__section-heading--label{text-align:center}.cvs__sidebar .cvs__section-heading--label h3{color:var(--color-text-muted);font:600 var(--type-meta)/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.cvs__xp-heading h4,.cvs .cvs__project-title{font-size:clamp(25px,2.4vw,38px);line-height:1.12;letter-spacing:-.025em}.cvs .prose{max-width:var(--content-measure)}.cvs__profile{text-align:center}.cvs__entries{display:grid;gap:var(--space-9)}.cvs__entry{min-width:0;display:grid;gap:var(--space-5);justify-items:start}.cvs__entry>*{min-width:0;max-width:100%}.cvs__entry>.meta-strip{width:100%}.cvs__project{position:relative;isolation:isolate}.cvs .cvs__project-cover{width:100%;max-width:none}.cvs__project-cover .cvs__project-title{position:relative;margin:0;max-width:var(--content-measure)}.cvs__project-image{position:absolute;z-index:-1;top:0;right:0;width:min(100%,560px);height:min(100%,300px);pointer-events:none;opacity:.14;mask-image:linear-gradient(to right,transparent,#000 40%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 45%,transparent);mask-composite:intersect}.cvs__project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}.cvs__meta .meta-strip__item{flex-wrap:wrap;min-width:0}.cvs__meta .meta-strip__value{overflow-wrap:anywhere}.cvs__skill-groups{display:grid}.cvs__skill-group{min-width:0;display:grid;grid-template-columns:190px minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-4)}.cvs__skill-group+.cvs__skill-group{border-top:1px solid var(--color-border-subtle)}.cvs__skill-group:first-child{padding-top:0}.cvs .cvs__skill-note{margin-top:var(--space-2);font-size:var(--type-ui);color:var(--color-text-muted)}.cvs .cvs__skill-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);list-style:none;padding:0;margin:0}.cvs .cvs__skill-list li{margin:0;padding:0}.cvs__skill-list li+li:before{content:"·";margin-right:var(--space-4);color:var(--color-text-muted)}.cvs__skill-group>.prose+.prose{margin-top:0}.cvs__skill-group .prose h4{font:700 var(--type-body)/1.6 var(--font-body);letter-spacing:normal}.cvs__education-heading{display:flex;align-items:center;gap:var(--space-6)}.cvs__edu{position:relative;gap:var(--space-8);padding-left:var(--space-7)}.cvs__edu:before{content:'';position:absolute;left:5px;top:var(--space-2);bottom:var(--space-2);width:1px;background:linear-gradient(var(--color-action),color-mix(in srgb,var(--color-action) 12%,transparent))}.cvs__education{position:relative;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:var(--space-6)}.cvs__education:before{content:'';position:absolute;left:calc(-1*var(--space-7));top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:var(--color-action);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-action) 14%,transparent)}.cvs__education:not(:has(.cvs__edu-logo)){grid-template-columns:minmax(0,1fr)}.cvs__education-body>*+*{margin-top:var(--space-2)}.cvs__education .cvs__meta{flex-direction:row;gap:var(--space-2) var(--space-4);padding:0;border:0}.cvs__education .meta-strip__value{color:var(--color-action)}.cvs__xp-body>*+*{margin-top:var(--space-4)}.cvs__xp-row{grid-template-columns:minmax(0,1fr)}.cvs__progress{display:none;pointer-events:none;position:absolute;top:var(--cv-rail-top,100%);bottom:var(--space-6);left:var(--cv-rail-left,0);width:1px;background:var(--color-border-subtle)}.cvs__progress span{display:block;height:100%;background:var(--color-action);transform:scaleY(0);transform-origin:top}.cvs__education-heading>div{min-width:0}.cvs__institution{margin:var(--space-2) 0 0;color:var(--color-text);font-size:var(--type-body);overflow-wrap:anywhere}.cvs__background .section-label{margin-bottom:var(--space-3)}.cvs__edu-logo{display:block;width:110px;height:50px;object-fit:contain;flex:none;filter:brightness(0) invert(var(--logo-invert))}.cvs__langs{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-8);margin:0}.cvs__langs dt{color:var(--color-text);font-weight:700}.cvs__langs dd{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.cvs__contact{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1);margin-top:var(--space-6);padding-top:var(--space-3)}.cvs__contact-row{min-width:0;justify-content:space-between;text-align:left;padding:var(--space-2) 0;border:0;border-radius:0;letter-spacing:normal}.cvs__contact-row:hover{background:0 0;transform:none}.cvs__contact-row .action__label{display:flex;flex-direction:column;gap:var(--space-1)}.cvs__contact .btn{cursor:none}.cvs__contact-label{color:var(--color-text-muted);font-size:var(--type-label)}.cvs__contact-value{color:var(--color-text);font-size:var(--type-ui);font-weight:700;overflow-wrap:anywhere}.cvs__contact-row:hover .cvs__contact-value{color:var(--color-action)}.cvs__contact .contact__pill{width:max-content;max-width:100%;white-space:nowrap;padding:var(--space-2) var(--space-3);gap:var(--space-2);font:700 var(--type-ui)/1.4 var(--font-body);letter-spacing:normal;text-transform:none;color:var(--color-action-text);background:var(--color-action);box-shadow:var(--shadow-float);transition:opacity var(--duration-fast),transform var(--duration-fast) var(--ease-standard)}.cvs__contact:hover .contact__pill:not(.is-visible){opacity:0}html:not(.js) .cvs__contact,html:not(.js) .cvs__contact *{cursor:auto}html:not(.js) .cvs__contact .contact__pill{display:none}html:not(.js) .sheet--cv{position:static;transform:none;box-shadow:none}html:not(.js) .sheet--cv .sheet__close,html:not(.js) .sheet--cv .sheet__print{display:none}@container cv-sheet (min-width:1100px){.cvs__layout{grid-template-columns:clamp(320px,26cqw,380px) minmax(0,1fr);gap:clamp(var(--space-8),5cqw,80px)}.cvs__sidebar{align-self:start}.cvs__sidebar[data-cv-sticky=true]{position:sticky;top:var(--space-6)}.js .cvs__progress{display:block}.cvs__main>.cvs__section:first-child{padding-top:0;border-top:0}}@media (max-width:899px){.cvs{padding-block:var(--space-7)}.cvs__section{margin-top:var(--space-7);padding-top:var(--space-7)}.cvs__entries{gap:var(--space-8)}}@container cv-sheet (max-width:760px){.sheet--cv .sheet__bar{padding:var(--space-3);gap:var(--space-2)}.sheet--cv .sheet__crumb{font-size:var(--type-ui)}.sheet--cv .sheet__actions>.btn{width:var(--btn-height);padding-inline:0;gap:0}.sheet--cv .sheet__actions .action__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}@container cv (max-width:480px){.cvs__portrait-frame{width:76px}.cvs__skill-group{grid-template-columns:minmax(0,1fr)}.cvs__skill-group{gap:var(--space-2)}.cvs__edu{padding-left:var(--space-6)}.cvs__education:before{left:calc(-1*var(--space-6))}.cvs__education{grid-template-columns:58px minmax(0,1fr);gap:var(--space-3)}.cvs__edu-logo{width:58px;height:38px}}html[data-motion=off] .cvs__contact .contact__pill{transition:none}@media (prefers-reduced-motion:reduce){.cvs__contact .contact__pill{transition:none}}@media print{@page{size:A4 portrait;margin:10mm 0 14mm}@page cv{size:A4 portrait;margin:10mm 0 14mm}html:has([data-cvsheet].is-open),html:not(.js):has([data-cvsheet]),body:has(>[data-cvsheet].is-open),html:not(.js) body:has(>[data-cvsheet]){width:auto !important;height:auto !important;min-height:0 !important;overflow:visible !important;background:var(--scheme-light-panel) !important}body:has(>[data-cvsheet].is-open)>:not([data-cvsheet]),html:not(.js) body:has(>[data-cvsheet])>:not([data-cvsheet]){display:none !important}body:has(>[data-cvsheet].is-open),html:not(.js) body:has(>[data-cvsheet]){page:cv}[data-cvsheet]:not(.is-open){display:none !important}[data-cvsheet].is-open,html:not(.js) [data-cvsheet]{display:block !important;position:static !important;width:auto !important;height:auto !important;min-height:0 !important;overflow:visible !important;transform:none !important;background:0 0 !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;contain:none !important;content-visibility:visible !important}[data-cvsheet]>:not(.cv-print){display:none !important}.cv-print{display:block;background:0 0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.cv-print .cvp-paper{display:block;width:auto;min-height:0;margin:0;padding:0 13mm;box-decoration-break:clone;-webkit-box-decoration-break:clone;box-shadow:none;background:0 0}.cv-print .cvp-paper+.cvp-paper{break-before:page;padding-top:4mm}.cv-print .cvp-first .cvp-masthead:before{content:'';position:absolute;left:-13mm;top:0;bottom:0;width:3.2mm;background:var(--cv-ink)}.cv-print :is(header,section,article,aside,div,h1,h2,h3,p,ul,li,address,figure){isolation:isolate}.cv-print .cvp-first .cvp-masthead{display:grid;grid-template-columns:minmax(0,1fr) 53mm 32mm;gap:6mm;margin-bottom:5.5mm}.cv-print .cvp-masthead .cvp-portrait{height:35mm;margin:0}.cv-print .cvp-profile p{max-width:none;margin:0;text-align:left}.cv-print h2{margin-bottom:1mm}.cv-print section+section{margin-top:3mm}.cv-print .cvp-job+.cvp-job{margin-top:3mm}.cv-print .cvp-job .cvp-intro{margin-top:1mm}.cv-print .cvp-job li{margin-top:.35mm}.cv-print .cvp-experience>.cvp-job:not(:last-child) .cvp-intro{margin-top:2mm}.cv-print .cvp-experience>.cvp-job:not(:last-child) li+li{margin-top:1.4mm}.cv-print .cvp-experience>.cvp-job+.cvp-job:not(:last-child){margin-top:6mm}.cv-print .cvp-details{display:grid;grid-template-columns:1fr 1.3fr .65fr;gap:7mm;margin-top:1mm;break-inside:avoid}.cv-print .cvp-details section,.cv-print .cvp-details section+section{margin-top:0}.cv-print .cvp-details .cvp-education article+article{margin-top:2mm}.cv-print .cvp-details .cvp-skill-group+.cvp-skill-group{margin-top:1.5mm}.cv-print .cvp-background{margin-top:3mm}.cv-print .cvp-project+.cvp-project{margin-top:1.5mm;padding-top:1mm}.cv-print .cvp-job{break-inside:avoid}.cv-print .cvp-identity h1{white-space:normal;letter-spacing:-.02em}.cv-print :is(h1,h3,strong,.cvp-role){word-spacing:.08em}.cv-print .cvp-project{break-inside:avoid}.cv-print .cvp-contribution{margin-top:1mm}.cv-print .cvp-stack{filter:grayscale(1)}.cv-print .cvp-additional .cvp-project+.cvp-project{border:0;padding-top:0;margin-top:5mm}.cv-print h2,.cv-print h3,.cv-print .cvp-meta{break-after:avoid;break-inside:avoid}.cv-print p,.cv-print li{orphans:2;widows:2}.cv-print li{break-inside:avoid}.cv-print .cvp-rail p,.cv-print .cvp-rail li{break-inside:avoid}.cv-print .cvp-portrait,.cv-print .cvp-skill-group,.cv-print .cvp-education article{break-inside:avoid}}.cvs__skills{container:cv-skills/inline-size;padding-bottom:0}.cvs__skills .skill-map__branches{gap:24px}.cvs__skills .skill-map__group{font-size:20px;margin-bottom:16px}.cvs__skills .skill-map__branch{padding-top:20px}.cvs__skills .skill-map__sources{position:static;width:min(340px,100cqw);max-width:100%;max-height:none;margin-top:8px}.js .cvs__skills .skill-map__skill[open] .skill-map__sources{position:absolute;max-width:none;max-height:min(440px,calc(100dvh - 32px));margin-top:0}.cvs__skills .skill-map__skill[open]:after{display:none}@container cv-skills (max-width:680px){.cvs__skills .skill-map__branches{grid-template-columns:minmax(0,1fr)}}.cv-print .cvp-skill-group{break-inside:avoid}