:root{--bg: #161826;--bg-raised: #232532;--bg-elevated: #2b2d3b;--bg-inset: #12141f;--bg-scrim: rgba(22, 24, 38, .82);--line: rgba(233, 233, 237, .1);--line-strong: rgba(233, 233, 237, .16);--line-accent: rgba(145, 132, 217, .42);--text: #e9e9ed;--text-dim: rgba(233, 233, 237, .7);--text-mute: rgba(233, 233, 237, .62);--text-faint: rgba(233, 233, 237, .56);--text-inverse: #161826;--accent: #9184d9;--accent-2: #a7a1db;--accent-bright: #b5abfc;--accent-soft: rgba(145, 132, 217, .14);--accent-glow: rgba(145, 132, 217, .22);--neutral-100: #f3f5fe;--neutral-200: #e4e7f5;--neutral-300: #cfd3e5;--neutral-400: #b2b6ca;--neutral-500: #9397ab;--neutral-600: #75798c;--neutral-700: #595d6c;--neutral-800: #3f424d;--neutral-900: #292b31;--accent-100: #f5f4ff;--accent-200: #e7e5fe;--accent-300: #d2cefd;--accent-400: #b5abfc;--accent-500: #968ae0;--accent-600: #796cbf;--accent-700: #5d5294;--accent-800: #423a6a;--accent-900: #2b2741;--ok: #7bd88f;--warn: #e0a750;--danger: #e2716a;--ok-soft: rgba(123, 216, 143, .12);--warn-soft: rgba(224, 167, 80, .12);--danger-soft: rgba(226, 113, 106, .12);--font-display: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--weight-display: 500;--step--2: .656rem;--step--1: .75rem;--step-0: .9375rem;--step-1: 1.0625rem;--step-2: 1.1875rem;--step-3: 1.5625rem;--step-4: 2rem;--step-5: 2.625rem;--step-6: 3.375rem;--leading-tight: 1.05;--leading-snug: 1.2;--leading-body: 1.65;--tracking-wide: .1em;--tracking-tight: -.03em;--sp-1: 2.8px;--sp-2: 5.6px;--sp-3: 8.4px;--sp-4: 11.2px;--sp-5: 14px;--sp-6: 16.8px;--sp-7: 19.6px;--sp-8: 22.4px;--sp-band: 92px;--sp-band-sm: 64px;--radius-sm: 4px;--radius: 8px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 0 0 1px var(--neutral-800);--shadow: 0 0 0 1px var(--neutral-700), 0 6px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 0 0 1px var(--neutral-500), 0 16px 40px rgba(0, 0, 0, .65);--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.2, .7, .3, 1);--dur-fast: .14s;--dur: .26s;--dur-slow: .6s;--container: 1180px;--container-narrow: 980px;--gutter: clamp(1.25rem, 4vw, 1.75rem);--nav-h: 64px}:root[data-theme=light]{--bg: #f7f7fb;--bg-raised: #ffffff;--bg-elevated: #ffffff;--bg-inset: #ececf3;--bg-scrim: rgba(247, 247, 251, .85);--line: rgba(22, 24, 38, .1);--line-strong: rgba(22, 24, 38, .18);--line-accent: rgba(93, 82, 148, .38);--text: #1b1d2b;--text-dim: rgba(27, 29, 43, .72);--text-mute: rgba(27, 29, 43, .64);--text-faint: rgba(27, 29, 43, .58);--text-inverse: #ffffff;--accent: #5d5294;--accent-2: #796cbf;--accent-bright: #423a6a;--accent-soft: rgba(93, 82, 148, .1);--accent-glow: rgba(93, 82, 148, .18);--neutral-100: #292b31;--neutral-800: #e4e7f5;--accent-100: #2b2741;--accent-800: #e7e5fe;--shadow-sm: 0 0 0 1px rgba(22, 24, 38, .1);--shadow: 0 0 0 1px rgba(22, 24, 38, .1), 0 6px 18px rgba(22, 24, 38, .08);--shadow-lg: 0 0 0 1px rgba(22, 24, 38, .14), 0 16px 40px rgba(22, 24, 38, .12)}@media(max-width:900px){:root{--step-4: 1.75rem;--step-5: 2.125rem;--step-6: 2.5rem;--sp-band: 60px;--sp-band-sm: 44px}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}section[id],[id]>.container{scroll-margin-top:calc(var(--nav-h) + var(--sp-4))}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-display);line-height:var(--leading-snug);letter-spacing:-.015em;margin:0}p{margin:0}img{display:block;max-width:100%}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-bright)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-soft)}@keyframes noc-dash{to{stroke-dashoffset:-40}}@keyframes noc-pulse{0%,to{opacity:.35}50%{opacity:1}}.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease-out)}.reveal[data-shown=true]{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}[data-flow],.pulse-dot{animation:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--sp-band)}.section-inset{background:var(--bg-inset)}.eyebrow{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-2)}.section-title{font-size:clamp(1.75rem,3.2vw,var(--step-4));letter-spacing:var(--tracking-tight);margin-bottom:var(--sp-8);text-wrap:pretty}.band-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end;justify-content:space-between;margin-bottom:var(--sp-6)}.band-head .section-title{margin-bottom:0}.band-note{font-size:var(--step--1);max-width:36ch;color:var(--text-mute)}.band-lede{font-size:.906rem;line-height:var(--leading-body);max-width:60ch;color:var(--text-mute);margin-bottom:var(--sp-8)}.micro-label{font-size:var(--step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint);margin-bottom:5px}.micro-label.accent{color:var(--accent)}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8)}.split-centre{align-items:center}.split-about{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--sp-8);align-items:start}.split-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--sp-8);align-items:start}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:var(--sp-4)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:var(--sp-4)}.muted{color:var(--text-mute)}.empty-state{color:var(--text-mute);font-size:var(--step--1)}.stack{display:grid}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.mt-6,.section-cta{margin-top:var(--sp-6)}.rule{height:1px;border:0;background:linear-gradient(to right,transparent,var(--line-strong) 48px,var(--line-strong) calc(100% - 48px),transparent)}.skip-link{position:absolute;left:-9999px;padding:var(--sp-3) var(--sp-4);background:var(--bg-raised);z-index:100}.skip-link:focus{left:var(--sp-4);top:var(--sp-4)}.loading{min-height:100vh;display:grid;place-items:center;color:var(--text-mute);font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-transform:uppercase}@media(max-width:900px){.split-2,.split-about,.split-contact{grid-template-columns:1fr;gap:var(--sp-6)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.5rem .9rem;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;font-family:var(--font-display);font-weight:var(--weight-display);font-size:.875rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:.4rem .75rem;font-size:var(--step--1)}.btn-lg{padding:.7rem 1.25rem;font-size:.94rem}.btn-block{width:100%}.btn-primary{color:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-soft);color:var(--accent)}.btn-primary:active{background:color-mix(in srgb,var(--accent) 22%,transparent)}.btn-secondary{border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover{background:#e9e9ed12;color:var(--text)}.btn-ghost{color:var(--accent);padding-inline:.2rem}.btn-ghost:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6);border-radius:var(--radius);background:var(--bg-raised);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease)}.card:hover{box-shadow:var(--shadow)}.card-kicker{font-size:var(--step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent)}.card-title{font-size:1.0625rem;line-height:1.2}.card-body{font-size:.8125rem;line-height:var(--leading-body);color:var(--text-dim)}.card-detail{font-size:.844rem;line-height:1.7;color:var(--text-dim)}.card-cta{align-self:flex-start;margin-top:auto;padding-top:var(--sp-2)}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;align-items:center;padding:3px 10px;border:1px solid transparent;border-radius:6px;font-size:var(--step--2);letter-spacing:.02em}.tag-neutral{background:var(--neutral-800);color:var(--neutral-100)}.tag-accent{background:var(--accent-800);color:var(--accent-100)}.tag-outline{border-color:var(--accent);color:var(--accent)}.nav{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--bg-scrim);transition:box-shadow var(--dur) var(--ease)}.nav[data-stuck=true]{box-shadow:0 1px 0 var(--line)}.nav-inner{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--nav-h)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--text);text-decoration:none}.brand-text{display:flex;flex-direction:column;line-height:1;min-width:0}.brand-word{font-family:var(--font-display);font-weight:var(--weight-display);font-size:.95rem;letter-spacing:-.01em;white-space:nowrap}.brand-kicker{font-size:.53rem;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);margin-top:3px}.brand-mark{display:block;flex:none;color:var(--text)}.brand-mark svg{width:100%;height:100%;display:block}.nav-links{display:flex;align-items:center;gap:var(--sp-5)}.nav-link{font-size:var(--step--1);color:var(--text-dim);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.nav-link:hover,.nav-link[data-active=true]{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:var(--sp-3);flex:none}.nav-actions .btn{white-space:nowrap}.nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer}@media(max-width:900px){.nav-links{display:none;position:absolute;inset-inline:0;top:100%;flex-direction:column;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--gutter);background:var(--bg-raised);box-shadow:0 1px 0 var(--line)}.nav[data-open=true] .nav-links{display:flex}.nav-toggle{display:inline-flex}.nav-link{font-size:var(--step-0)}}@media(max-width:520px){.brand-word{font-size:.82rem}.brand-kicker{font-size:.48rem}.nav-actions .btn-sm{padding:.35rem .55rem;font-size:var(--step--2)}}.hero{padding-block:76px var(--sp-band-sm)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-8);align-items:center}.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--accent-900);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent);font-size:var(--step--1);color:var(--accent-200);margin-bottom:var(--sp-6)}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block;animation:noc-pulse 3s ease-in-out infinite}.hero-title{font-size:clamp(2.375rem,4.2vw,3.375rem);line-height:1.04;letter-spacing:var(--tracking-tight);margin-bottom:var(--sp-4);text-wrap:pretty}.hero-lede{font-size:var(--step-1);line-height:1.6;max-width:52ch;color:var(--text-dim);margin-bottom:var(--sp-3)}.hero-intro{font-size:.906rem;line-height:1.65;max-width:54ch;color:var(--text-mute);margin-bottom:var(--sp-6)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.hero-flow{position:relative}.hero-flow-glow{position:absolute;top:8%;right:12%;bottom:8%;left:12%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),transparent 68%);filter:blur(36px)}.hero-flow svg{position:relative;width:100%;height:auto;font-family:var(--font-sans)}.flow-col{fill:var(--text-faint)}.flow-box{stroke:color-mix(in srgb,var(--text) 26%,transparent);stroke-width:1.2}.flow-label{fill:var(--text-mute)}.flow-caption{fill:var(--text-dim)}.flow-line{stroke:var(--accent);stroke-width:1.4;opacity:.85}.flow-node{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:1.3}.flow-node-title{fill:var(--accent-200)}.flow-cylinder{stroke:color-mix(in srgb,var(--text) 34%,transparent);stroke-width:1.3}.flow-frame{stroke:var(--accent);stroke-width:1.3;fill:none}.flow-bars{fill:var(--accent);opacity:.8}[data-flow]{stroke-dasharray:5 5;animation:noc-dash 2.4s linear infinite}.stat-band{border-block:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 45%,transparent)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:var(--sp-4);padding-block:26px}.stat-value{font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.25rem;line-height:1.1;letter-spacing:-.02em}.stat-label{font-size:var(--step--1);color:var(--text-mute);margin-top:4px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-flow{display:none}.hero-title{font-size:clamp(2rem,8vw,2.75rem)}}.problem-lede{font-size:.906rem;line-height:1.7;color:var(--text-mute);max-width:46ch}.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;align-content:start;padding-top:var(--sp-6)}.pain{font-size:.844rem;color:var(--text-dim)}.resolution{margin-top:var(--sp-8);padding:var(--sp-8) var(--sp-6);border-radius:var(--radius-lg);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 11%,var(--bg-raised)),var(--bg-raised));box-shadow:var(--shadow-sm)}.resolution-title{font-size:clamp(1.375rem,2.4vw,1.8125rem);letter-spacing:-.02em;margin-bottom:var(--sp-3)}.resolution-body{max-width:72ch;font-size:var(--step-0);line-height:1.7;color:var(--text-dim)}@media(max-width:620px){.pain-grid{grid-template-columns:1fr}}.service-icon{color:var(--accent)}.arch-figure{margin:var(--sp-7) 0 var(--sp-6)}.arch-figure .df-hint{text-align:center}.layer-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--sp-5)}.layer-tab{padding:6px 13px;font:inherit;font-size:var(--step--1);color:var(--text-dim);background:transparent;border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.layer-tab:hover{color:var(--text);border-color:var(--line-strong)}.layer-tab.is-active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.layer-detail{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--sp-8);padding:var(--sp-8);align-items:start}.layer-detail-main,.layer-detail-side{display:grid;gap:var(--sp-4);align-content:start}.layer-title{font-size:1.5rem;letter-spacing:-.02em}.layer-copy{font-size:.875rem;line-height:1.7;color:var(--text-dim)}.layer-risk{padding:var(--sp-4) var(--sp-5);border-radius:var(--radius);background:var(--bg-inset);box-shadow:inset 2px 0 0 var(--accent)}.dash-list{display:grid;gap:8px}.dash-list li{position:relative;padding-left:1.4em;font-size:.844rem;line-height:1.6;color:var(--text-dim)}.dash-list li:before{content:"—";position:absolute;left:0;color:var(--accent)}@media(max-width:900px){.layer-detail{grid-template-columns:1fr;gap:var(--sp-6)}}.stack-card{gap:var(--sp-3)}.stack-label{font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent)}.notes-band{border-block:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 40%,transparent);padding-block:var(--sp-band-sm)}.notes-band .btn{margin-top:var(--sp-3)}.about-body{display:grid;gap:var(--sp-4);max-width:60ch}.about-body p{font-size:.969rem;line-height:1.75;color:var(--text-dim)}.about-body p:first-child{color:color-mix(in srgb,var(--text) 82%,transparent)}.about-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}.meta-card{gap:0}.meta-row{display:flex;justify-content:space-between;gap:var(--sp-4);padding:11px 0;box-shadow:0 1px color-mix(in srgb,var(--text) 8%,transparent)}.meta-row:last-child{box-shadow:none}.meta-label{font-size:var(--step--1);color:var(--text-mute)}.meta-value{font-size:.844rem;text-align:right}.timeline{display:grid;gap:var(--sp-5)}.timeline-entry{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-6)}.timeline-period{font-size:var(--step--1);color:var(--accent)}.timeline-role{font-size:1.0625rem;letter-spacing:-.02em}.timeline-org{margin-top:3px;font-size:var(--step--1);color:var(--text-mute)}.timeline-summary{margin-top:var(--sp-3);font-size:.844rem;line-height:var(--leading-body);color:var(--text-dim);max-width:72ch}@media(max-width:720px){.timeline-entry{grid-template-columns:1fr;gap:var(--sp-2)}}.engagement{padding:var(--sp-8)}.engagement-title{font-size:1.3125rem;letter-spacing:-.02em}.engagement-meta{margin-top:auto;padding-top:var(--sp-4);font-size:var(--step--1);color:var(--text-faint)}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:var(--sp-4)}.process-step{padding-top:var(--sp-6);box-shadow:inset 0 1px color-mix(in srgb,var(--accent) var(--rule, 40%),transparent)}.process-num{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step--1);line-height:1;color:var(--accent);letter-spacing:var(--tracking-wide)}.process-title{font-size:1.125rem;margin:10px 0 6px}.why{padding-block:var(--sp-6);box-shadow:inset 0 1px color-mix(in srgb,var(--text) 12%,transparent)}.why-title{font-size:1.0625rem;margin-bottom:7px}.contact-lede{font-size:.906rem;line-height:1.7;color:var(--text-mute);max-width:40ch}.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:var(--sp-6)}.contact-links .btn{justify-content:flex-start;gap:10px}.call-card{margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line-strong);display:grid;gap:4px;justify-items:start}.call-title{font-size:.8125rem}.call-note{font-size:var(--step--1);color:var(--text-mute);margin-bottom:var(--sp-2)}.contact-form{gap:var(--sp-4);padding:var(--sp-6)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.field{display:grid;gap:5px}.field>span{font-size:var(--step--1);color:var(--text-dim)}.input{width:100%;min-height:38px;padding:8px 11px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-inset);color:var(--text);caret-color:var(--accent);font:inherit;font-size:.875rem}.input:hover{border-color:var(--text-mute)}.input:focus-visible{border-color:var(--accent);outline-offset:0}textarea.input{min-height:110px;resize:vertical}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-error{font-size:var(--step--1);color:var(--danger)}.form-note{font-size:var(--step--2);color:var(--text-faint)}.contact-sent{align-items:flex-start}.sent-title{font-size:1.5625rem;letter-spacing:-.02em}@media(max-width:620px){.field-row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--line);padding-block:32px}.footer-inner{display:flex;flex-wrap:wrap;gap:var(--sp-6);justify-content:space-between}.footer-note{max-width:46ch;font-size:var(--step--1);color:var(--text-mute);line-height:var(--leading-body)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.footer-links a{font-size:var(--step--1);color:var(--text-dim);text-decoration:none}.footer-links a:hover{color:var(--accent)}.footer-legal{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--step--2);color:var(--text-faint)}.footer-legal a{color:var(--text-faint);text-decoration:none}.footer-legal a:hover{color:var(--accent)}.page-head{padding-top:72px;padding-bottom:var(--sp-8)}.page-title{font-size:clamp(2.125rem,4.6vw,3.375rem);line-height:1.05;letter-spacing:var(--tracking-tight);max-width:18ch;text-wrap:pretty}.lede{font-size:var(--step-1);line-height:1.65;color:var(--text-dim);max-width:56ch}.back-link{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-mute);text-decoration:none;margin-bottom:var(--sp-5)}.back-link:hover{color:var(--accent)}.notes-head{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-8);align-items:start}.notes-head-meta{margin-top:var(--sp-5);font-size:var(--step--1);color:var(--text-faint)}.notes-search{display:grid;gap:var(--sp-5)}.note-count{margin-top:8px;font-size:var(--step--1);color:var(--text-faint)}.note-start{display:grid;gap:var(--sp-3);justify-items:start;padding:var(--sp-6);border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line-accent)}.note-start-title{font-size:var(--step-2);letter-spacing:-.02em}.note-start-title a{color:var(--text);text-decoration:none}.note-start-title a:hover{color:var(--accent)}.note-path{display:grid;gap:var(--sp-8)}.note-group{display:grid;gap:var(--sp-4)}.note-group-title{font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.note-rows{display:grid}.note-row{display:grid;grid-template-columns:40px 1fr auto;gap:var(--sp-4);align-items:start;padding:var(--sp-5) var(--sp-4);border-radius:var(--radius);color:inherit;text-decoration:none;transition:background var(--dur-fast) var(--ease)}a.note-row:hover{background:var(--bg-raised);color:inherit}a.note-row:hover .note-row-title{color:var(--accent)}.note-row.is-pending{opacity:.55}.note-row-num{font-family:var(--font-display);font-size:var(--step--1);color:var(--text-faint);padding-top:3px}.note-row-main{display:grid;gap:5px}.note-row-title{font-size:var(--step-2);letter-spacing:-.02em;line-height:1.25}.note-row-excerpt{font-size:.844rem;line-height:1.6;color:var(--text-mute);max-width:74ch}.note-row-meta{font-size:var(--step--1);color:var(--text-faint)}.note-row-icon{color:var(--accent);align-self:center;opacity:0;transition:opacity var(--dur-fast) var(--ease)}a.note-row:hover .note-row-icon{opacity:1}.note-article .container{max-width:var(--container)}.note-header{max-width:68ch;margin-bottom:var(--sp-8)}.note-header .note-count{margin-top:var(--sp-5)}.note-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-8);align-items:start}.note-layout[data-toc=true]{grid-template-columns:200px minmax(0,1fr)}.note-layout:only-child,.note-body{min-width:0}.note-toc{position:sticky;top:calc(var(--nav-h) + var(--sp-6));display:grid;gap:var(--sp-3);padding-right:var(--sp-4);border-right:1px solid var(--line)}.note-toc ul{display:grid;gap:var(--sp-3)}.note-toc a{font-size:var(--step--1);line-height:1.4;color:var(--text-mute);text-decoration:none}.note-toc a:hover{color:var(--accent)}.note-cta{margin-top:var(--sp-8);padding:var(--sp-7);border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line)}.note-cta-title{font-size:var(--step-2);margin-bottom:var(--sp-3)}.note-pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-7)}.note-pager-link{display:grid;gap:6px;padding:var(--sp-5);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.875rem;line-height:1.4;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--dur-fast) var(--ease)}.note-pager-link:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.note-pager-link.is-next{text-align:right}.prose-table-scroll{overflow-x:auto}.prose-table{width:100%;border-collapse:collapse;font-size:.844rem;min-width:420px}.prose-table th,.prose-table td{text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}.prose-table th{font-weight:500;color:var(--text);font-size:var(--step--1);letter-spacing:.02em}.prose-table td{color:var(--text-dim)}.prose-table tr:last-child td{border-bottom:0}.prose-img{display:block;width:100%;height:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-inset)}.prose-figure{margin:var(--sp-4) 0;padding:var(--sp-6) var(--sp-5) var(--sp-4);border-radius:var(--radius-lg);background:var(--bg-inset);box-shadow:inset 0 0 0 1px var(--line)}.prose-figure figcaption{margin-top:var(--sp-4);font-size:var(--step--1);text-align:center;color:var(--text-faint)}.prose ol{display:grid;gap:var(--sp-2);counter-reset:prose-ol}.prose ol li{position:relative;padding-left:1.8em;color:var(--text-dim);line-height:var(--leading-body)}.prose ol li:before{counter-increment:prose-ol;content:counter(prose-ol) ".";position:absolute;left:0;color:var(--accent)}.prose h2,.prose h3{scroll-margin-top:calc(var(--nav-h) + var(--sp-6))}@media(max-width:900px){.notes-head{grid-template-columns:1fr;gap:var(--sp-6)}.note-layout,.note-layout[data-toc=true]{grid-template-columns:minmax(0,1fr)}.note-toc{position:static;border-right:0;padding:var(--sp-5);border-radius:var(--radius);background:var(--bg-raised)}.note-row{grid-template-columns:32px 1fr;padding:var(--sp-4) var(--sp-2)}.note-row-icon{display:none}.note-pager{grid-template-columns:1fr}.note-pager-link.is-next{text-align:left}}.cs-meta .meta-value{text-align:left}.cs-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-6);margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--line)}.cs-block{display:grid;grid-template-columns:170px 1fr;gap:var(--sp-8);align-items:start;padding-block:var(--sp-8)}.cs-label{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cs-body{display:grid;gap:var(--sp-4);max-width:70ch}.cs-body p{font-size:var(--step-0);line-height:1.75;color:var(--text-dim)}.cs-steps{display:grid;gap:var(--sp-4)}.cs-step{display:flex;gap:var(--sp-4)}.cs-step-num{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step--1);color:var(--accent);min-width:26px;padding-top:2px}.cs-step h4{font-size:var(--step-0);margin-bottom:4px}.cs-step p{font-size:.875rem;line-height:1.7;color:var(--text-mute);max-width:56ch}.cs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4)}.cs-stat{padding:var(--sp-6);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line-strong)}.cs-stat-value{font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.625rem;line-height:1.15;letter-spacing:-.03em}.cs-stat-label{margin-top:8px;font-size:var(--step--1);color:var(--text-mute)}.stage-row{display:flex;align-items:stretch;gap:10px;margin-bottom:var(--sp-5)}.stage-btn{flex:1;min-width:0;padding:15px 8px;cursor:pointer;text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--text-mute);font:inherit;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step--1);line-height:1.3;transition:all var(--dur-fast) var(--ease)}.stage-btn:hover{color:var(--text)}.stage-btn.is-active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.stage-detail{padding:var(--sp-6);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 55%,transparent)}.stage-title{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:var(--sp-2)}.stage-what{font-size:.906rem;line-height:1.7;color:var(--text-dim);max-width:66ch}.stage-why{margin-top:var(--sp-3);font-size:.844rem;line-height:1.7;color:var(--text-mute);max-width:66ch}.cs-cta{padding:var(--sp-8);border-radius:var(--radius-lg);background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 13%,var(--bg-raised)),var(--bg-raised))}.cs-next{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-6);border-radius:var(--radius);text-decoration:none;color:inherit;box-shadow:inset 0 0 0 1px var(--line-strong)}.cs-next:hover{box-shadow:inset 0 0 0 1px var(--accent);color:inherit}@media(max-width:900px){.cs-block{grid-template-columns:1fr;gap:var(--sp-3)}.stage-row{flex-direction:column}}.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}.logo-preview{display:grid;place-items:center;min-height:150px;border-radius:var(--radius);background:var(--bg-inset);color:var(--text)}.logo-name{font-size:1.0625rem;letter-spacing:-.02em}.logo-note{font-size:var(--step--1);line-height:1.6;color:var(--text-mute)}.prose{max-width:68ch;display:grid;gap:var(--sp-4)}.prose p{font-size:var(--step-0);line-height:1.75;color:var(--text-dim)}.prose h2{font-size:1.5625rem;letter-spacing:-.02em;margin-top:var(--sp-5)}.prose h3{font-size:1.1875rem;letter-spacing:-.02em;margin-top:var(--sp-4)}.prose ul{display:grid;gap:var(--sp-2)}.prose li{position:relative;padding-left:1.5em;color:var(--text-dim);line-height:var(--leading-body)}.prose li:before{content:"—";position:absolute;left:0;color:var(--accent)}.prose strong{color:var(--text);font-weight:600}.prose code{font-family:var(--font-mono);font-size:.85em;padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-inset)}.prose pre{padding:var(--sp-4);border-radius:var(--radius);background:var(--bg-inset);overflow-x:auto;font-family:var(--font-mono);font-size:var(--step--1)}.prose blockquote{margin:0;padding-left:var(--sp-4);border-left:2px solid var(--accent);color:var(--text-dim)}.df-scroll,.work-flow,.cs-figure,.prose-figure,.prose,.note-body,.prose-table-scroll,.code-block{min-width:0;max-width:100%}.df-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.df-scroll::-webkit-scrollbar{height:6px}.df-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}.df{display:block;width:100%;height:auto;font-family:var(--font-sans)}.df-shape{fill:color-mix(in srgb,var(--bg-raised) 88%,transparent);stroke:var(--line-strong);stroke-width:1.1}.df-shape-cap{fill:color-mix(in srgb,var(--bg-elevated) 92%,transparent)}.df-node-label{fill:var(--text);font-size:11.5px;font-weight:500}.df-node-sub{fill:var(--text-mute);font-size:9.5px}.df-group-shape{fill:none;stroke:var(--line);stroke-width:1.1;stroke-dasharray:3 3}.df-group-label{fill:var(--text-faint);font-size:8.5px;letter-spacing:.12em}.df-item{fill:color-mix(in srgb,var(--bg-raised) 80%,transparent);stroke:var(--line);stroke-width:1}.df-item-label{fill:var(--text-dim);font-size:10px}.df-link{stroke:var(--accent);stroke-width:1.2;fill:none;opacity:.5}.df-arrowhead{fill:var(--accent);opacity:.75}.df-platform rect{fill:color-mix(in srgb,var(--accent) 7%,transparent);stroke:var(--line-accent);stroke-width:1;stroke-dasharray:4 4}.df-platform text{fill:var(--text-mute);font-size:10px;letter-spacing:.02em}.df-stage.is-clickable,.df-group.is-clickable{cursor:pointer}.df-stage.is-clickable .df-shape,.df-group.is-clickable .df-group-shape,.df-group.is-clickable .df-item{transition:fill var(--dur-fast) var(--ease),stroke var(--dur-fast) var(--ease)}.df-stage.is-clickable:hover .df-shape,.df-group.is-clickable:hover .df-group-shape{stroke:var(--accent-2)}.df-group.is-clickable:hover .df-item{stroke:var(--line-accent)}.df-stage.is-active .df-shape,.df-group.is-active .df-group-shape{stroke:var(--accent);stroke-width:1.6;stroke-dasharray:none;fill:color-mix(in srgb,var(--accent) 14%,var(--bg-raised))}.df-group.is-active .df-group-shape{fill:color-mix(in srgb,var(--accent) 7%,transparent)}.df-group.is-active .df-item{stroke:var(--line-accent)}.df-stage.is-active .df-shape-cap{fill:color-mix(in srgb,var(--accent) 26%,var(--bg-elevated))}.df-stage.is-active .df-node-label,.df-group.is-active .df-group-label{fill:var(--text)}.df-stage:focus-visible,.df-group:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.df-hint{margin-top:var(--sp-3);font-size:var(--step--2);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}@media(min-width:760px){.df-hint[data-scroll-only=true]{display:none}}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;padding:4px 10px;font-size:var(--step--1);line-height:1.35;border-radius:var(--radius-pill);border:1px solid transparent}.chip-neutral{background:var(--bg-inset);color:var(--text-dim);border-color:var(--line)}.chip-accent{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-300);border-color:var(--line-accent)}.work-list{display:grid;gap:var(--sp-8)}.work-row{display:grid;gap:var(--sp-6);padding:var(--sp-8) 0 calc(var(--sp-8) * 1.6);border-top:1px solid var(--line)}.work-row:first-child{border-top:0;padding-top:var(--sp-4)}.work-head{display:grid;grid-template-columns:1fr auto;gap:var(--sp-6);align-items:start}.work-head-main{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-5);align-items:start}.work-index{font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.5rem;line-height:1;letter-spacing:-.03em;color:var(--accent);opacity:.55;padding-top:2px}.work-badges{margin-bottom:var(--sp-3)}.work-title{font-size:clamp(1.375rem,2.6vw,1.875rem);letter-spacing:-.025em}.work-title a{color:inherit;text-decoration:none}.work-title a:hover{color:var(--accent)}.work-tagline{margin-top:var(--sp-3);font-size:var(--step-1);line-height:1.6;color:var(--text-dim);max-width:60ch}.work-meta{display:grid;gap:var(--sp-4);margin:0;min-width:180px;max-width:260px}.work-meta dt{font-size:var(--step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint)}.work-meta dd{margin:4px 0 0;font-size:var(--step--1);line-height:1.5;color:var(--text-dim)}.work-flow{margin:0;padding:var(--sp-7) var(--sp-6) var(--sp-5);border-radius:var(--radius-lg);background:var(--bg-inset);box-shadow:inset 0 0 0 1px var(--line)}.work-flow .df-hint{text-align:center;margin-top:var(--sp-4)}.work-psr{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-6)}.work-psr .micro-label{margin-bottom:var(--sp-2)}.work-foot{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:center;justify-content:space-between}.work-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}@media(max-width:860px){.work-head{grid-template-columns:1fr}.work-head-main{grid-template-columns:1fr;gap:var(--sp-3)}.work-index{font-size:1.125rem}.work-meta{display:flex;flex-wrap:wrap;gap:var(--sp-6);max-width:none}.work-flow{padding:var(--sp-5) var(--sp-4)}}.cs-container{max-width:var(--container-narrow)}.cs-block-wide{grid-template-columns:1fr;gap:var(--sp-5)}.cs-arch{display:grid;gap:var(--sp-5)}.cs-figure{margin:0;padding:var(--sp-7) var(--sp-6) var(--sp-5);border-radius:var(--radius-lg);background:var(--bg-inset);box-shadow:inset 0 0 0 1px var(--line)}.cs-figure .df-hint{text-align:center;margin-top:var(--sp-4)}.cs-subhead{font-size:var(--step-2);letter-spacing:-.02em;margin-top:var(--sp-4)}.cs-callout{padding:var(--sp-4) var(--sp-5);border-radius:var(--radius);background:var(--bg-inset);box-shadow:inset 2px 0 0 var(--accent);font-size:.875rem!important;line-height:1.7}.cs-quote{margin:0;padding-left:var(--sp-5);border-left:2px solid var(--accent)}.cs-quote p{font-size:var(--step-1)!important;color:var(--text)!important}.code-block{border-radius:var(--radius);background:var(--bg-inset);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.code-block-head{padding:7px var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint)}.code-block pre{margin:0;padding:var(--sp-5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--step--1);line-height:1.7;color:var(--text-dim)}.code-block code{background:none;padding:0;font-size:inherit}.ad-scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.ad-scroll:focus-visible,.df-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.ad-scroll::-webkit-scrollbar{height:6px}.ad-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}.ad{display:block;width:100%;height:auto;font-family:var(--font-sans)}.ad-node-label{fill:var(--text);font-size:11.5px;font-weight:500}.ad-node-sub{fill:var(--text-mute);font-size:9.5px}.ad-group{fill:none;stroke:var(--line-strong);stroke-width:1.1;stroke-dasharray:4 4}.ad-group-label{fill:var(--text-faint);font-size:8.5px;letter-spacing:.14em}.ad-link{fill:none;stroke:var(--text-mute);stroke-width:1.3}.ad-link.is-dashed{stroke:var(--accent);stroke-dasharray:5 4;opacity:.8}.ad-head{fill:var(--text-mute)}.ad-link-plate{fill:var(--bg-inset)}.ad-link-label{fill:var(--text-dim);font-size:9.5px}.ad-note{fill:var(--text-mute);font-size:10px;font-style:italic}.ad-platform rect{fill:color-mix(in srgb,var(--accent) 7%,transparent);stroke:var(--line-accent);stroke-width:1;stroke-dasharray:4 4}.ad-platform text{fill:var(--text-mute);font-size:10px}.ad-image{display:block;width:100%;height:auto;border-radius:var(--radius)}.ad-hint[data-scroll-only=true]{display:none}@media(max-width:900px){.ad-hint[data-scroll-only=true]{display:block}}.ad-hint{margin-top:var(--sp-4);font-size:var(--step--2);letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--text-faint)}.work-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-5);padding:var(--sp-7) var(--sp-6);border-radius:var(--radius-lg);background:var(--bg-inset);box-shadow:inset 0 0 0 1px var(--line)}.work-highlight-title{font-size:var(--step-0);margin-bottom:var(--sp-2)}.comp-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}.comp{display:grid;gap:var(--sp-3);align-content:start;padding:var(--sp-6);border-radius:var(--radius);background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line)}.comp-name{font-size:var(--step-0);letter-spacing:-.01em}.comp-what{font-size:.844rem!important;line-height:1.65;color:var(--text-dim)!important}.comp-why{font-size:.812rem!important;line-height:1.65;color:var(--text-mute)!important}.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 var(--sp-8);margin:0;border-top:1px solid var(--line)}.glance-row{display:grid;grid-template-columns:148px 1fr;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);align-items:baseline}.glance-row dt{font-size:var(--step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint)}.glance-row dd{margin:0;font-size:.875rem;line-height:1.6;color:var(--text-dim)}@media(max-width:620px){.glance-row{grid-template-columns:1fr;gap:var(--sp-2)}}.topic-list{display:grid;gap:var(--sp-7)}.topic-card{display:grid;gap:var(--sp-5);padding:var(--sp-7) 0;border-top:1px solid var(--line)}.topic-card:first-child{border-top:0;padding-top:var(--sp-3)}.topic-head{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-5);align-items:start}.topic-index{font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.375rem;line-height:1;letter-spacing:-.03em;color:var(--accent);opacity:.55;padding-top:4px}.topic-title{font-size:clamp(1.25rem,2.2vw,1.625rem);letter-spacing:-.025em}.topic-title a{color:inherit;text-decoration:none}.topic-title a:hover{color:var(--accent)}.topic-blurb{margin-top:var(--sp-3);font-size:.906rem;line-height:1.65;color:var(--text-dim);max-width:68ch}.topic-count{font-size:var(--step--1);color:var(--text-faint);white-space:nowrap;padding-top:6px}.topic-chips{display:flex;flex-wrap:wrap;gap:6px}.topic-chips a{text-decoration:none;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.topic-chips a.chip-neutral:hover{border-color:var(--line-accent);color:var(--text)}.topic-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}@media(max-width:720px){.topic-head{grid-template-columns:auto 1fr}.topic-count{grid-column:2;padding-top:0}}.crumbs{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--step--1);margin-bottom:var(--sp-6)}.crumbs a{color:var(--text-mute);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs span{color:var(--text-faint)}.related{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--line)}.related-list{display:grid;gap:var(--sp-2);margin-top:var(--sp-4)}.related-list a{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.906rem;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--dur-fast) var(--ease)}.related-list a:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.related-list svg{color:var(--accent);flex:none}@media(pointer:coarse){.btn,.layer-tab,.nav-link,.note-pager-link,.contact-links .btn{min-height:44px}.btn,.layer-tab{display:inline-flex;align-items:center;justify-content:center}.btn-sm{padding-block:.6rem}.btn-ghost,.card-cta{min-height:44px;padding-block:.55rem}.crumbs a,.note-toc a,.footer-links a{display:inline-block;padding-block:.4rem}}:root,:root[data-theme=light]{--bg: #f7f8f6;--bg-raised: #ffffff;--bg-elevated: #ffffff;--bg-inset: #eef3f1;--bg-scrim: rgba(247,248,246,.94);--line: #dce5e1;--line-strong: #c6d5d0;--line-accent: #9dc7ba;--text: #142b35;--text-dim: #405760;--text-mute: #536970;--text-faint: #526970;--text-inverse: #ffffff;--accent: #16695e;--accent-2: #258374;--accent-bright: #0f5149;--accent-soft: #e0f0eb;--accent-glow: rgba(35,130,113,.12);--pf-hero-start: #fbfcfa;--pf-hero-end: #f0f5f2;--pf-muted: #f1f5f2;--pf-soft: #eff4f1;--pf-contact: #e7f0eb;--pf-footer: #eef3f1;--pf-card-tint: #eaf5ef;--pf-card-border: #c9e2d6;--pf-notes: #12333b;--pf-notes-text: #ffffff;--pf-notes-muted: #b7d5cd;--pf-on-accent: #ffffff;--pf-shadow-color: rgba(20,43,53,.09);--neutral-100: #19323b;--neutral-800: #edf2f0;--accent-100: #15584f;--accent-300: #16695e;--accent-800: #e1f2ec;--weight-display: 650;--step--2: .72rem;--step--1: .82rem;--step-0: 1rem;--step-1: 1.13rem;--step-4: 2.4rem;--step-5: 3.25rem;--step-6: 4.5rem;--sp-band: 110px;--sp-band-sm: 72px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(20,43,53,.06), 0 0 0 1px var(--line);--shadow: 0 14px 36px rgba(20,43,53,.09), 0 0 0 1px var(--line);--shadow-lg: 0 24px 60px rgba(20,43,53,.13);--container: 1240px;--gutter: clamp(1.25rem, 5vw, 3rem);--nav-h: 76px}body{background:var(--bg);color:var(--text)}h1,h2,h3,h4{letter-spacing:-.035em}a{color:var(--accent)}.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.14em;margin-bottom:18px}.section-title{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.12;max-width:18ch}.btn{font-weight:650;border-radius:9px;gap:14px}.btn-lg{min-height:50px;padding:.8rem 1.35rem}.btn-primary{color:var(--pf-on-accent);background:var(--accent);border-color:var(--accent)}.btn-primary:hover{color:var(--pf-on-accent);background:var(--accent-bright);border-color:var(--accent-bright);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-secondary{background:var(--bg-raised);border-color:var(--line-strong)}.btn-secondary:hover{background:var(--bg-inset);border-color:var(--accent);color:var(--accent)}.btn-ghost:hover{color:var(--accent-bright)}.tag{border-radius:999px}.nav{background:var(--bg-scrim);border-bottom:1px solid var(--line)}.nav[data-stuck=true]{box-shadow:0 8px 24px var(--pf-shadow-color)}.nav-inner{gap:3rem}.brand{gap:12px}.brand-mark{color:var(--text)}.brand-word{font-size:1rem;font-weight:750;letter-spacing:-.03em}.brand-kicker{font-size:.61rem;letter-spacing:.15em;color:var(--accent);margin-top:5px}.nav-links{gap:clamp(1rem,2vw,2rem)}.nav-link{font-size:.86rem;font-weight:600;color:var(--text-dim)}.nav-actions .btn{background:var(--accent);color:var(--pf-on-accent);border-color:var(--accent);padding:.65rem 1rem}.nav-actions .btn:hover{background:var(--accent-bright);color:var(--pf-on-accent)}.nav-toggle{width:42px;height:42px}.footer{background:var(--pf-footer);padding-block:62px 26px}.footer-inner{align-items:start}.footer-note{font-size:.92rem;margin-top:12px}.footer-links{max-width:560px;column-gap:26px;row-gap:16px}.footer-links a{font-size:.88rem;font-weight:600}.footer-legal{font-size:.75rem;margin-top:64px;padding-top:24px}.page-head{background:var(--pf-soft);padding-block:90px 62px}.page-title{font-size:clamp(2.5rem,5vw,4.8rem);max-width:17ch}.lede{font-size:1.1rem}.card{background:var(--bg-raised)}.work-row{border-color:var(--line)}.work-flow,.cs-figure{background:var(--bg-inset)}.ad-node-label,.df-node-label{fill:var(--text)}.ad-node-sub,.df-node-sub{fill:var(--text-mute)}.portfolio-home{overflow:clip}.portfolio-section{padding-block:clamp(80px,9vw,138px)}.portfolio-heading{font-size:clamp(2.35rem,4.2vw,4.35rem);line-height:1.08;letter-spacing:-.055em;max-width:16ch;font-weight:680}.portfolio-section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.portfolio-section-head>p{width:min(100%,350px);color:var(--text-dim);font-size:1.03rem;line-height:1.65}.portfolio-support{color:var(--text-dim);max-width:40ch;line-height:1.75;margin-top:27px}.portfolio-hero{background:linear-gradient(135deg,var(--pf-hero-start) 5%,var(--pf-hero-end) 100%)}.portfolio-hero-grid{min-height:640px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(370px,.88fr);align-items:center;gap:clamp(45px,6vw,90px);padding-block:82px 75px}.portfolio-overline{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:.78rem;font-weight:720;letter-spacing:.13em;text-transform:uppercase;margin-bottom:28px}.availability-dot,.visual-outcome-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.portfolio-hero h1{font-size:clamp(3.25rem,5.7vw,6.1rem);line-height:1.035;letter-spacing:-.07em;max-width:12.7ch;font-weight:690}.portfolio-hero h1 em{color:var(--accent);font-style:normal}.portfolio-hero-lede{max-width:54ch;margin-top:30px;font-size:clamp(1.06rem,1.35vw,1.22rem);line-height:1.7;color:var(--text-dim)}.portfolio-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.portfolio-hero-meta{margin-top:39px;font-size:.81rem;color:var(--text-mute);font-weight:550}.portfolio-hero-meta span{padding-inline:7px;color:var(--line-strong)}.portfolio-hero-visual{position:relative;background:var(--bg-raised);padding:30px 32px 26px;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);transform:rotate(1deg)}.portfolio-hero-visual:before{content:"";position:absolute;top:12px;right:-13px;bottom:-13px;left:12px;border:1px solid var(--line-strong);border-radius:22px;z-index:-1}.visual-topline{display:flex;justify-content:space-between;color:var(--text-faint);font-size:.68rem;font-weight:750;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:19px}.visual-flow{padding:24px 0 26px}.visual-step{display:grid;grid-template-columns:28px 56px 1fr;gap:16px;align-items:center;padding:12px 0}.visual-step-num{font-size:.72rem;color:var(--text-faint);font-weight:700}.visual-step-icon{display:grid;place-items:center;width:56px;height:56px;color:var(--accent);background:var(--pf-card-tint);border:1px solid var(--pf-card-border);border-radius:13px}.visual-step strong{display:block;font-size:1.08rem}.visual-step small{display:block;margin-top:4px;font-size:.79rem;color:var(--text-mute)}.visual-connector{height:24px;width:1px;border-left:1px dashed var(--line-accent);margin-left:72px}.visual-outcome{display:flex;align-items:center;gap:11px;color:var(--accent);background:var(--pf-card-tint);padding:16px 19px;border-radius:10px;font-size:.88rem;font-weight:700}.visual-outcome-dot{width:7px;height:7px;box-shadow:none}.portfolio-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line-strong);padding-block:26px 33px}.portfolio-proof>div{display:grid;gap:3px}.portfolio-proof strong{font-size:1.05rem;letter-spacing:-.025em}.portfolio-proof span{font-size:.77rem;color:var(--text-mute)}.portfolio-intro{background:var(--bg-raised)}.portfolio-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,150px)}.portfolio-intro-body{max-width:55ch;color:var(--text-dim);line-height:1.8}.portfolio-intro-body p+p{margin-top:18px}.portfolio-intro-body .portfolio-lead{color:var(--text);font-size:1.35rem;font-weight:600;line-height:1.5}.portfolio-inline-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}.portfolio-inline-actions a,.portfolio-text-link{font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.portfolio-services{background:var(--pf-muted)}.portfolio-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portfolio-service{display:flex;flex-direction:column;min-height:295px;padding:28px;background:var(--bg-raised);border:1px solid var(--line);border-radius:15px;transition:transform .25s ease,box-shadow .25s ease}.portfolio-service:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.portfolio-service-top{display:flex;align-items:start;justify-content:space-between;color:var(--accent)}.portfolio-service-top span{color:var(--text-faint);font-size:.8rem;font-weight:650}.portfolio-service h3{margin-top:35px;font-size:1.24rem}.portfolio-service>p{margin-top:11px;font-size:.9rem;line-height:1.65;color:var(--text-dim)}.portfolio-service-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:auto;padding-top:22px;font-size:.73rem;color:var(--text-mute)}.portfolio-service-bottom a{display:grid;place-items:center;flex:none;width:31px;height:31px;color:var(--accent);text-decoration:none;border:1px solid var(--line);border-radius:50%;font-size:1.1rem}.portfolio-service-bottom a:hover{background:var(--accent);color:var(--pf-on-accent)}.portfolio-projects{background:var(--bg-raised)}.portfolio-case-list{border-top:1px solid var(--line-strong)}.portfolio-case{display:grid;grid-template-columns:145px 1fr;gap:25px;padding:46px 0;border-bottom:1px solid var(--line-strong)}.portfolio-case-index{color:var(--accent);font-size:1.1rem;font-weight:700}.portfolio-case-index span{display:block;margin-top:8px;color:var(--text-faint);font-size:.73rem;font-weight:600}.portfolio-case-content{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,85px)}.portfolio-case h3{font-size:clamp(1.7rem,2.4vw,2.45rem);line-height:1.18;max-width:20ch}.portfolio-case-tagline{margin:16px 0 24px;color:var(--text-dim);line-height:1.65;max-width:40ch}.portfolio-case-details{display:grid;grid-template-columns:1fr 1fr;gap:23px 30px}.portfolio-case-details b{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--accent);margin-bottom:8px}.portfolio-case-details p{color:var(--text-dim);font-size:.85rem;line-height:1.6}.portfolio-case-result{background:var(--pf-card-tint);padding:15px;border-radius:10px;margin:-15px}.portfolio-case-stack p{font-size:.78rem}.portfolio-all-work{margin-top:32px}.portfolio-skills{background:var(--pf-soft)}.portfolio-skills-grid,.portfolio-experience-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(65px,9vw,150px)}.portfolio-skill-list{border-top:1px solid var(--line-strong)}.portfolio-skill-row{display:grid;grid-template-columns:155px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line-strong)}.portfolio-skill-row h3{font-size:.87rem;letter-spacing:-.01em}.portfolio-skill-row p{color:var(--text-dim);font-size:.87rem;line-height:1.65}.portfolio-experience{background:var(--bg-raised)}.portfolio-timeline{border-top:1px solid var(--line-strong)}.portfolio-timeline article{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line-strong)}.portfolio-timeline article>span{color:var(--accent);font-size:.8rem;font-weight:700}.portfolio-timeline h3{font-size:1.18rem}.portfolio-timeline-org{color:var(--text);font-size:.85rem;margin-top:3px}.portfolio-timeline article div p:last-child{color:var(--text-dim);font-size:.87rem;line-height:1.65;margin-top:11px}.portfolio-approach{background:var(--bg)}.portfolio-process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.portfolio-process-grid>div{padding-top:20px;border-top:2px solid var(--accent)}.portfolio-process-grid span{color:var(--accent);font-size:.76rem;font-weight:700}.portfolio-process-grid h3{font-size:1.05rem;margin-top:19px}.portfolio-process-grid p{color:var(--text-dim);font-size:.82rem;line-height:1.6;margin-top:8px}.portfolio-home #contact{background:var(--pf-contact)}.portfolio-home #contact .split-contact{grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,110px)}.portfolio-home #contact .section-title{font-size:clamp(2.4rem,4vw,4rem);line-height:1.1;max-width:14ch}.portfolio-home #contact .contact-lede{font-size:1.05rem;line-height:1.7}.portfolio-home #contact .contact-links{margin-top:35px;align-items:start}.portfolio-home #contact .contact-links .btn{border:0;padding:5px 0;background:none;color:var(--accent)}.portfolio-home #contact .contact-links .btn:hover{text-decoration:underline}.contact-form{padding:32px;box-shadow:var(--shadow)}.field>span{font-size:.8rem;font-weight:650;color:var(--text)}.input{min-height:44px;background:var(--bg-raised);border-color:var(--line-strong);padding:10px 12px}.contact-form .btn-block{min-height:48px}.portfolio-notes{background:var(--pf-notes);color:var(--pf-notes-text);padding-block:55px}.portfolio-notes .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.portfolio-notes .eyebrow{color:var(--pf-notes-muted);margin-bottom:10px}.portfolio-notes h2{font-size:clamp(1.45rem,2.6vw,2.45rem);max-width:26ch}.portfolio-notes a{color:var(--pf-notes-text);font-weight:700;text-decoration:none;border-bottom:1px solid var(--pf-notes-muted);white-space:nowrap}@media(max-width:1050px){.portfolio-hero-grid{grid-template-columns:1fr .85fr;gap:35px}.portfolio-hero h1{font-size:clamp(3.2rem,6vw,5rem)}.portfolio-service-grid{grid-template-columns:repeat(2,1fr)}.portfolio-process-grid{grid-template-columns:repeat(3,1fr)}.portfolio-case{grid-template-columns:80px 1fr}.portfolio-case-content{grid-template-columns:1fr;gap:25px}}@media(max-width:900px){.nav-links{padding:22px var(--gutter);gap:20px;border-bottom:1px solid var(--line)}.portfolio-hero-grid{grid-template-columns:1fr;min-height:0}.portfolio-hero h1{max-width:14ch}.portfolio-hero-visual{width:min(100%,580px);transform:none}.portfolio-proof{grid-template-columns:repeat(2,1fr);row-gap:22px}.portfolio-intro-grid,.portfolio-skills-grid,.portfolio-experience-grid{grid-template-columns:1fr;gap:40px}.portfolio-home #contact .split-contact{grid-template-columns:1fr}.portfolio-section-head{display:block}.portfolio-section-head>p{margin-top:20px}}@media(max-width:620px){:root,:root[data-theme=light]{--sp-band: 72px;--nav-h: 66px}.nav-inner{gap:8px}.brand-mark{width:28px!important;height:28px!important}.brand-word{font-size:.79rem}.brand-kicker{font-size:.5rem}.nav-actions{gap:8px}.nav-actions .btn{font-size:.72rem;padding:.55rem .65rem}.portfolio-hero-grid{padding-block:65px 55px}.portfolio-hero h1{font-size:clamp(2.75rem,11vw,4rem)}.portfolio-hero-lede{margin-top:22px;font-size:1rem}.portfolio-hero-visual{padding:22px}.portfolio-proof{gap:22px 16px;padding-block:22px}.portfolio-proof strong{font-size:.88rem}.portfolio-proof span{font-size:.68rem}.portfolio-heading{font-size:clamp(2.2rem,9vw,3.2rem)}.portfolio-service-grid{grid-template-columns:1fr}.portfolio-service{min-height:270px}.portfolio-case{grid-template-columns:1fr;gap:16px;padding:36px 0}.portfolio-case-index span{display:inline;margin-left:8px}.portfolio-case-details{grid-template-columns:1fr;gap:18px}.portfolio-case-result{margin:0}.portfolio-skill-row{grid-template-columns:1fr;gap:5px}.portfolio-timeline article{grid-template-columns:1fr;gap:8px}.portfolio-process-grid{grid-template-columns:1fr 1fr}.portfolio-notes .container{display:block}.portfolio-notes a{display:inline-block;margin-top:24px}.contact-form{padding:22px}.footer-links{margin-top:25px}}@media(max-width:400px){.portfolio-actions .btn{width:100%}.portfolio-process-grid{grid-template-columns:1fr}}
