:root{--bg:#fbfbf9;--bg-alt:#f2f3f0;--surface:#fff;--text:#18212b;--muted:#5a6573;--border:#e2e5e1;--accent:#0f6b6b;--accent-strong:#0b5252;--accent-soft:#e2f1ef;--on-accent:#fff;--draft:#9a5b00;--draft-soft:#fdf0d9;--code-bg:#f4f5f2;--shadow:0 1px 2px #1018200a, 0 4px 16px #1018200f;--shadow-hover:0 2px 4px #1018200a, 0 12px 28px #1018201a;--glow:#0f6b6b17;--logo-from:#0e9e91;--logo-to:#22c3b3;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--font-body:var(--font-sans,system-ui), system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--radius:14px;--container:1120px;--narrow:760px;--gutter:clamp(16px, 4vw, 32px);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1418;--bg-alt:#131b20;--surface:#162026;--text:#e6eaed;--muted:#9aa6b0;--border:#24313a;--accent:#5fd4c4;--accent-strong:#8be3d7;--accent-soft:#15302f;--on-accent:#0b1a1a;--draft:#f2b65a;--draft-soft:#3a2a10;--code-bg:#11191e;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--shadow-hover:0 2px 4px #00000059, 0 14px 32px #0006;--glow:#5fd4c41c;--logo-from:#2fd6c7;--logo-to:#6eeee1;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1418;--bg-alt:#131b20;--surface:#162026;--text:#e6eaed;--muted:#9aa6b0;--border:#24313a;--accent:#5fd4c4;--accent-strong:#8be3d7;--accent-soft:#15302f;--on-accent:#0b1a1a;--draft:#f2b65a;--draft-soft:#3a2a10;--code-bg:#11191e;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--shadow-hover:0 2px 4px #00000059, 0 14px 32px #0006;--glow:#5fd4c41c;--logo-from:#2fd6c7;--logo-to:#6eeee1;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font-size:17px;line-height:1.65;display:flex}main{flex:1}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(2rem,4.5vw,3.1rem);font-weight:700}h2{font-size:clamp(1.45rem,2.6vw,1.9rem);font-weight:650}h3{font-size:1.2rem;font-weight:600}p{margin:0 0 1em}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-strong)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--on-accent);z-index:100;border-radius:8px;padding:.5rem 1rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.container{width:100%;max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.container.narrow{max-width:var(--container)}.container.narrow>*{max-width:var(--narrow)}.muted{color:var(--muted)}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:saturate(160%)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:74px;display:flex}.brand{color:var(--text);align-items:center;gap:.85rem;text-decoration:none;display:flex}.brand:hover{color:var(--text)}.brand-logo{flex:none;width:44px;height:auto}.brand-divider{background:var(--border);flex:none;width:1px;height:34px}.brand-text{flex-direction:column;gap:.15rem;line-height:1.15;display:flex}.brand-name{letter-spacing:-.01em;font-size:1.22rem;font-weight:650}.brand-tagline{letter-spacing:.02em;color:var(--muted);white-space:nowrap;font-size:.74rem}.site-nav{align-items:center;gap:1rem;display:flex}.site-nav ul{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav ul a{white-space:nowrap;color:var(--muted);border-radius:8px;padding:.45rem .65rem;font-size:.95rem;font-weight:500;text-decoration:none;display:block;position:relative}.site-nav ul a:hover{color:var(--text);background:var(--bg-alt)}.site-nav ul a[aria-current=page]{color:var(--text)}.nav-indicator{background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:.1rem;left:.7rem;right:.7rem}.nav-tools{align-items:center;gap:.4rem;display:flex}.lang-switch,.theme-toggle,.menu-toggle{border:1px solid var(--border);background:var(--surface);min-width:38px;height:38px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;place-items:center;padding:0 .6rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-grid}.lang-switch:hover,.theme-toggle:hover,.menu-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle .icon-moon,:root[data-theme=dark] .theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:none}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:block}}.menu-toggle{display:none}@media (width>=961px) and (width<=1130px){.brand-tagline,.brand-divider{display:none}}@media (width<=560px){.brand-tagline,.brand-divider{display:none}.brand-logo{width:38px}.brand-name{font-size:1.1rem}}@media (width<=960px){.menu-toggle{display:inline-grid}.site-nav{padding:.75rem var(--gutter) 1.25rem;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:.75rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-open .site-nav{display:flex}.site-nav ul{flex-direction:column}.site-nav ul a{padding:.7rem .75rem}.site-nav ul a[aria-current=page]{background:var(--bg-alt)}.nav-indicator{width:3px;height:auto;inset:.6rem auto .6rem 0}}.button{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);border-radius:10px;align-items:center;gap:.4rem;padding:.75rem 1.3rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.button-ghost{color:var(--accent);background:0 0}.button-ghost:hover{background:var(--accent-soft);color:var(--accent-strong)}.badge{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-draft{background:var(--draft-soft);color:var(--draft)}.meta{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-size:.85rem;font-weight:600}.lead{color:var(--muted);max-width:62ch;font-size:clamp(1.08rem,1.8vw,1.25rem)}.hero{isolation:isolate;padding:clamp(3.5rem,9vw,7rem) 0 clamp(2.5rem,6vw,4.5rem);position:relative}.hero:after{content:"";z-index:-1;background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 10%, transparent) 1px, transparent 0);pointer-events:none;background-size:28px 28px;position:absolute;inset:0;mask-image:radial-gradient(65% 85% at 75% 45%,#000 15%,#0000 75%)}.hero:before{content:"";z-index:-1;background:radial-gradient(ellipse 60% 70% at 12% 0%, var(--glow), transparent 70%), radial-gradient(ellipse 45% 55% at 92% 30%, color-mix(in srgb, var(--glow) 55%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.hero h1{max-width:20ch;font-size:clamp(2.2rem,4.6vw,3.4rem)}.accent{color:var(--accent)}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,4vw,4rem);display:grid}.hero-visual svg{width:100%;height:auto;display:block}@media (width>=1024px){.hero-visual{margin-right:calc(-1 * clamp(0px, (100vw - var(--container)) / 2, 96px))}}@media (width<=1023px){.hero-grid{grid-template-columns:minmax(0,1fr)}}.system-diagram{--diagram-edge:color-mix(in srgb, var(--muted) 45%, var(--border))}.diagram-edge{fill:none;stroke:var(--diagram-edge);stroke-width:1.5px}.diagram-node rect{fill:var(--surface);stroke:var(--border);stroke-width:1px}.diagram-core rect{fill:color-mix(in srgb, var(--accent-soft) 70%, var(--surface));stroke:var(--accent);stroke-width:1.5px}.diagram-capability rect{fill:#0000;stroke:color-mix(in srgb, var(--muted) 60%, var(--border));stroke-dasharray:5 4}.diagram-label{fill:color-mix(in srgb, var(--text) 88%, var(--muted));font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:13.5px;font-weight:600}.diagram-core .diagram-label{fill:var(--accent)}.diagram-sub{fill:var(--muted);font-family:var(--font-body);font-size:14px}.diagram-stack{display:none}@media (width<=1023px){.hero-visual{margin-top:.5rem}.hero-visual .system-diagram{display:none}.diagram-stack{gap:26px;max-width:560px;display:grid}.stack-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;position:relative}.stack-row-single{grid-template-columns:minmax(0,1fr);width:72%;margin:0 auto}.stack-row+.stack-row:before{content:"";background:color-mix(in srgb, var(--muted) 45%, var(--border));width:1.5px;height:18px;position:absolute;top:-22px;left:50%}.stack-node{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:.2rem;padding:.75rem .9rem;display:flex}.stack-node.diagram-core{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))}.stack-node.diagram-capability{background:0 0;border-style:dashed}.stack-label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:600}.diagram-core .stack-label{color:var(--accent)}.stack-sub{color:var(--muted);font-size:.82rem;line-height:1.4}}main{counter-reset:section}.section-label:before{counter-increment:section;content:counter(section, decimal-leading-zero) " / ";color:var(--muted);font-family:var(--font-mono)}.hero-tagline{color:var(--accent);margin:1.25rem 0 1.5rem;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600}.hero-intro{max-width:64ch;color:var(--muted);font-size:1.1rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:1.5rem clamp(2rem,6vw,5rem);display:grid}.split-body{color:var(--muted)}.split-body p:last-child{margin-bottom:0}@media (width<=820px){.split{grid-template-columns:1fr}}.approach-steps{counter-reset:step;max-width:420px;margin:2.25rem 0 0;padding:0;list-style:none;position:relative}.approach-steps li:not(:last-child):after{content:"";background:color-mix(in srgb, var(--accent) 35%, var(--border));width:1.5px;position:absolute;top:calc(.35rem + 32px);bottom:-.35rem;left:15px}.approach-steps li{grid-template-columns:32px minmax(0,1fr);column-gap:1rem;padding:.35rem 0 .9rem;display:grid;position:relative}.approach-steps li:before{counter-increment:step;content:counter(step, decimal-leading-zero);border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--muted);font-family:var(--font-mono);border-radius:9px;grid-row:span 2;place-items:center;font-size:.75rem;font-weight:600;display:grid}.step-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:600;line-height:1.6}.step-text{color:var(--muted);font-size:.95rem;line-height:1.45}.approach-steps li:first-child:before{border-color:var(--accent);color:var(--accent)}.approach-steps li:first-child .step-title{color:var(--accent)}.approach-steps li:last-child{padding-bottom:0}.approach-steps li:last-child:before{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.approach-steps li:last-child .step-title{color:var(--accent)}.approach-loop{border-top:1px dashed var(--border);grid-template-columns:32px minmax(0,1fr);column-gap:1rem;max-width:420px;margin:1.25rem 0 0;padding-top:1.1rem;display:grid}.approach-loop .step-title,.approach-loop .step-text{display:block}.loop-icon{border:1px dashed color-mix(in srgb, var(--accent) 60%, var(--border));width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;font-size:1rem;display:grid}.approach-loop .step-title{color:var(--muted)}.grid.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.numbered{counter-reset:item}.numbered>li{counter-increment:item}.numbered>li:before{content:counter(item, decimal-leading-zero);color:var(--accent);font-family:var(--font-mono);margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:block}.more-link{margin:1.75rem 0 0;font-weight:600}.more-link a{text-decoration:none}.article-grid{margin-top:2.5rem}.experience-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1.75rem 2.5rem;margin:2.5rem 0 0;display:grid}.experience-list div{border-left:3px solid var(--accent);padding-left:1.1rem}.experience-list dt{margin-bottom:.3rem;font-size:1.08rem;font-weight:600}.experience-list dd{color:var(--muted);margin:0}.note{max-width:70ch;color:var(--muted);margin:2.5rem 0 0;font-size:.95rem;font-style:italic}.section{padding:clamp(2.5rem,6vw,4.5rem) 0}.section-tight{padding:1rem 0 clamp(2.5rem,6vw,4rem)}.section-alt{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1.75rem;display:flex}.section-head h2{margin:0}.page-header{padding:clamp(3rem,7vw,5rem) 0 1.5rem}.has-portrait .page-header-inner{grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:2.5rem;display:grid}.portrait{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border);width:100%;height:auto;box-shadow:var(--shadow);border-radius:18px}@media (width<=640px){.has-portrait .page-header-inner{grid-template-columns:minmax(0,1fr);gap:1.5rem}.portrait{order:-1;width:132px}}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;position:relative}.card p{color:var(--muted)}.card p:last-child{margin-bottom:0}.card-title{font-size:1.2rem;font-weight:600}.article-card{flex-direction:column;gap:.75rem;display:flex}.card-arrow{color:var(--accent);margin-left:auto;font-weight:600}.article-card h3{margin:0}.article-card h3 a{color:var(--text);text-decoration:none}.article-card p{flex:1;margin:0}.stretched:after{content:"";position:absolute;inset:0}.checklist{margin:1rem 0 0;padding:0;font-size:.95rem;list-style:none}.checklist li{margin-bottom:.4rem;padding-left:1.5rem;position:relative}.checklist li:before{content:"";background:var(--accent);border-radius:2px;width:.5rem;height:.5rem;position:absolute;top:.55em;left:.2rem}.cta-band{border-radius:calc(var(--radius) + 4px);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.75rem,4vw,2.75rem);display:flex}.cta-band>div:first-child{flex:520px}.cta-band h2{margin-bottom:.75rem}.cta-band p:not(.eyebrow){color:var(--muted);max-width:64ch}.cta-band p:last-child{margin-bottom:0}.cta-band .actions{margin-top:0}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}.filters button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.9rem}.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.empty{color:var(--muted);padding:3rem 0}.expertise-headline{max-width:22ch}.lead-group .lead{margin-bottom:.75em}.area-card{flex-direction:column;display:flex}.area-text{margin-bottom:1.25rem}.area-text p{margin-bottom:.75em}.area-text p:last-child{margin-bottom:0}.area-scope{border-top:1px solid var(--border);margin-top:auto;padding-top:1.1rem}.scope-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6rem;font-size:.75rem;font-weight:600}.area-scope .checklist{margin:0}.platform-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:.75rem;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.platform-grid li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.25rem .75rem;font-size:.92rem;font-weight:500;display:flex}.platform-icon{color:var(--accent)}.platform-label{margin-top:2.5rem}.platform-label+.platform-grid{margin-top:0}.platform-grid.detailed{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.platform-grid.detailed li{text-align:left;align-items:flex-start;gap:.45rem;padding:1.25rem}.platform-grid.detailed .platform-icon{margin-bottom:.25rem}.platform-name{font-weight:600}.platform-text{color:var(--muted);font-size:.88rem;font-weight:400;line-height:1.45}.competencies{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:2.5rem;padding:1.5rem clamp(1.25rem,3vw,2rem)}.competencies dl{margin:0}.competency-row{border-top:1px solid var(--border);grid-template-columns:minmax(150px,260px) minmax(0,1fr);align-items:baseline;gap:.35rem 1.5rem;padding:.95rem 0;display:grid}.competency-row:first-child{border-top:0}.competency-row dt{font-size:1.02rem;font-weight:600}.competency-row dd{color:var(--muted);margin:0;font-size:.95rem}.competency-row.exploring dt{color:var(--muted);font-weight:500}@media (width<=560px){.competency-row{grid-template-columns:minmax(0,1fr)}}.tech-approach{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:2.5rem;padding:clamp(1.5rem,3vw,2.25rem)}.tech-approach-highlight{border-left:3px solid var(--accent);letter-spacing:-.01em;max-width:46ch;margin:0 0 1.5rem;padding-left:1.1rem;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600;line-height:1.4}.tech-approach-body{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;display:grid}.tech-approach-body p{margin:0}@media (width<=760px){.tech-approach-body{grid-template-columns:minmax(0,1fr);gap:1rem}}.ai-band{border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:calc(var(--radius) + 4px);padding:clamp(1.5rem,4vw,2.5rem)}.flow{counter-reset:flow;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.25rem;margin:1.5rem 0 2.25rem;padding:0;list-style:none;display:grid}.flow li{border:1px solid var(--border);background:var(--surface);counter-increment:flow;border-radius:12px;flex-direction:column;justify-content:center;gap:.3rem;min-height:4.75rem;padding:.85rem 1rem;font-weight:500;line-height:1.35;display:flex;position:relative}.flow li:before{content:counter(flow, decimal-leading-zero);color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.flow li:not(:last-child):after{content:"→";color:var(--accent);position:absolute;top:50%;right:-1.125rem;transform:translate(50%,-50%)}.flow li:last-child{border-color:var(--accent);color:var(--accent)}.flow-body{max-width:70ch;color:var(--muted)}@media (width<=900px){.flow{grid-template-columns:minmax(0,1fr);gap:1.5rem;max-width:420px}.flow li{min-height:0}.flow li:not(:last-child):after{content:"↓";inset:auto auto -.75rem 1.5rem;transform:translate(-50%,50%)}}.page-header-compact{padding-top:clamp(2.5rem,5vw,4rem)}.page-header-compact .lead{max-width:68ch;margin-bottom:.6em;font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.6}.page-header-compact .actions{margin-top:1.5rem}#services{margin-top:clamp(1rem,3vw,1.75rem)}.ai-priority{color:var(--text);font-weight:500}@media (width<=640px){.service-grid .card{padding:1.25rem 1.15rem}.service-grid .area-text{font-size:1rem;line-height:1.6}.service-grid .checklist{font-size:.93rem;line-height:1.5}.service-grid .checklist li{margin-bottom:.5rem}.service-grid .checklist li:before{top:.5em}}.service-grid{margin-top:1.25rem}.service-grid>li:last-child:nth-child(odd){grid-column:1/-1}@media (width>=900px){.service-grid>li:last-child:nth-child(odd) .checklist{columns:2;column-gap:2.5rem}.service-grid>li:last-child:nth-child(odd) .checklist li{break-inside:avoid}}.service-scope{margin-bottom:1.25rem}.service-scope .checklist{margin:0}.card .service-outcome{border-top:1px solid var(--border);color:var(--text);margin:auto 0 0;padding-top:1rem;font-size:.95rem}.service-outcome .scope-label{margin-bottom:.3rem;display:block}.ai-priority{border-top:1px dashed color-mix(in srgb, var(--accent) 35%, var(--border));margin:1.75rem 0 0;padding-top:1.25rem}.ai-priority .scope-label{color:var(--accent);margin-bottom:.3rem;display:block}.process{counter-reset:process;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin:2.25rem 0 0;padding:0;list-style:none;display:grid}.process li{counter-increment:process;flex-direction:column;gap:.35rem;display:flex;position:relative}.process li:before{content:counter(process, decimal-leading-zero);border:1px solid var(--accent);background:var(--surface);width:40px;height:40px;color:var(--accent);font-family:var(--font-mono);border-radius:11px;place-items:center;margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:grid}.process li:not(:last-child):after{content:"";background:color-mix(in srgb, var(--accent) 35%, var(--border));height:1.5px;position:absolute;top:20px;left:52px;right:-12px}.process-title{font-weight:600}.process-text{color:var(--muted);font-size:.95rem;line-height:1.5}.process-outro{border-top:1px solid var(--border);max-width:75ch;color:var(--muted);margin:2.25rem 0 0;padding-top:1.5rem}@media (width<=900px){.process{grid-template-columns:minmax(0,1fr);gap:0;max-width:520px}.process li{grid-template-columns:40px minmax(0,1fr);column-gap:1rem;padding-bottom:1.5rem;display:grid}.process li:before{grid-row:span 2;margin-bottom:0}.process li:not(:last-child):after{width:1.5px;height:auto;inset:44px auto 4px 19px}}.contact-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}@media (width<=900px){.contact-layout{grid-template-columns:minmax(0,1fr)}}.contact-form{gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.contact-form .eyebrow{margin:0}.card .form-intro{color:var(--muted);margin:-.6rem 0 0}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width<=560px){.form-row{grid-template-columns:minmax(0,1fr)}}.field{border:0;gap:.4rem;min-width:0;margin:0;padding:0;display:grid}.field>label,.field>legend{padding:0;font-size:.92rem;font-weight:600}.field input,.field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:10px;padding:.75rem .9rem;font-size:1rem}.field textarea{resize:vertical;min-height:9rem;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.field [aria-invalid=true]{border-color:#d9534f}.card .field-hint{color:var(--muted);margin:0;font-size:.85rem;line-height:1.5}.topic-options{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}.topic{cursor:pointer;position:relative}.topic input{opacity:0;pointer-events:none;position:absolute}.topic span{border:1px solid var(--border);background:var(--bg);color:var(--muted);transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease, background-color var(--motion-fast) ease;border-radius:999px;padding:.45rem .9rem;font-size:.9rem;display:inline-block}.topic:hover span{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--text)}.topic input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.topic input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.form-footer{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.form-footer .button{cursor:pointer;font:inherit;font-weight:600}.form-footer .button:disabled{opacity:.65;cursor:progress}.card .form-privacy{color:var(--muted);flex:240px;margin:0;font-size:.82rem;line-height:1.5}.form-status{margin:0;font-weight:500}.form-status:empty{display:none}.form-status[data-kind=ok]{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong);border-radius:10px;padding:.75rem 1rem}.form-status[data-kind=error]{color:#d9534f;border:1px solid #d9534f;border-radius:10px;padding:.75rem 1rem}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-channels{gap:1rem;display:grid}.contact-channels .eyebrow{margin:.25rem 0 0}.channel{color:var(--text);flex-direction:column;gap:.35rem;text-decoration:none;display:flex}.channel:hover{color:var(--text)}.channel-icon{color:var(--accent);margin-bottom:.35rem}.channel-title{font-weight:600}.channel-text{color:var(--muted);font-size:.92rem;line-height:1.5}.channel-link{color:var(--accent);overflow-wrap:anywhere;margin-top:.4rem;font-weight:600}.series-overview{margin-bottom:3rem}.series-overview>.eyebrow,.all-articles-title{margin:0 0 1.25rem}.series-card{scroll-margin-top:100px}.series-card .scope-label{margin-bottom:.4rem}.series-card h3{margin:0 0 .35rem;font-size:1.3rem}.series-card>p:not(.scope-label){max-width:70ch}.series-parts{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.series-parts a{border:1px solid var(--border);background:var(--bg);height:100%;color:var(--text);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:.15rem .8rem;padding:.9rem 1rem;text-decoration:none;display:grid}.series-parts a:hover{border-color:var(--accent);color:var(--text)}.series-parts .series-number{grid-row:span 2}.series-parts strong{font-weight:600}.series-parts .series-summary{grid-column:2}.article-header{padding:clamp(2.5rem,6vw,4rem) 0 2rem}.article-header .meta:first-of-type{margin:1.5rem 0 1rem}.back-link{font-size:.9rem;text-decoration:none}.hero-image img{border-radius:var(--radius);width:100%;margin-bottom:2rem;display:block}.tags{flex-wrap:wrap;gap:.5rem;padding-top:1.5rem;padding-bottom:4rem;display:flex}.article>.prose:last-child,.article>.pager:last-child,.article>.series:last-child{margin-bottom:4rem}.tag{color:var(--muted);font-size:.9rem}.article-layout{grid-template-columns:minmax(0, var(--narrow)) minmax(0, 1fr);align-items:start;gap:clamp(2.5rem,5vw,4.5rem);display:grid}.article{min-width:0}.article-aside{align-self:stretch;padding-top:clamp(2.5rem,6vw,4rem)}.aside-sticky{gap:2rem;max-width:280px;display:grid;position:sticky;top:100px}@media (width<=1100px){.article-layout{grid-template-columns:minmax(0,1fr)}.article{max-width:var(--narrow)}.article-aside{display:none}}.toc ol,.aside-series ol{margin:0;padding:0;list-style:none}.toc li{margin:0}.toc a{border-left:2px solid var(--border);color:var(--muted);padding:.35rem 0 .35rem .85rem;font-size:.86rem;line-height:1.4;text-decoration:none;display:block}.toc a:hover{color:var(--text)}.toc a[aria-current]{border-left-color:var(--accent);color:var(--accent)}.aside-series-name{color:var(--text);margin-bottom:.6rem;font-size:.92rem;font-weight:600;text-decoration:none;display:block}.aside-series li{color:var(--muted);gap:.6rem;padding:.3rem 0;font-size:.86rem;display:flex}.aside-series li a{color:var(--muted);text-decoration:none}.aside-series li a:hover{color:var(--accent)}.aside-series li [aria-current]{color:var(--text);font-weight:600}.series-eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;gap:.45rem;margin:0 0 .25rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.series-eyebrow:hover{color:var(--accent-strong)}.series{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:3rem;padding:1.5rem}.series .scope-label{margin-bottom:.35rem}.series-name{margin:0;font-size:1.15rem;font-weight:650}.series-description{color:var(--muted);margin:.3rem 0 1.1rem;font-size:.92rem}.series ol{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.series li{border:1px solid var(--border);background:var(--bg);transition:border-color var(--motion-fast) ease;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.2rem .9rem;padding:.85rem 1rem;display:grid;position:relative}.series li.current{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.series li:has(a.series-title:hover){border-color:var(--accent)}.series-number{color:var(--accent);font-family:var(--font-mono);font-size:.85rem;font-weight:600;line-height:1.6}.series-body{flex-direction:column;gap:.15rem;display:flex}.series-title{font-weight:600;line-height:1.4}a.series-title{color:var(--text);text-decoration:none}a.series-title:after{content:"";border-radius:12px;position:absolute;inset:0}.series-summary{color:var(--muted);font-size:.9rem;line-height:1.5}.pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.pager-link{border:1px solid var(--border);color:var(--text);border-radius:12px;flex-direction:column;gap:.3rem;padding:1rem 1.15rem;text-decoration:none;display:flex}.pager-link:hover{border-color:var(--accent);color:var(--text)}.pager-next{text-align:right;grid-column:2}.pager-label{color:var(--accent);font-size:.82rem;font-weight:600}.pager-title{font-weight:600;line-height:1.4}@media (width<=560px){.pager{grid-template-columns:minmax(0,1fr)}.pager-next{grid-column:1}}.prose{overflow-wrap:break-word;font-size:1.06rem}.prose>:first-child{margin-top:0}.prose h2{margin-top:2.2em}.prose h3{margin-top:1.8em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}.prose li{margin-bottom:.35em}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.5em 0;padding:.25em 1.25em}.page-prose blockquote:has(>p:only-child){color:var(--text);margin:2em 0;padding:.4em 0 .4em 1.25em;font-size:1.2rem;font-weight:500;line-height:1.5}.prose blockquote p:last-child{margin-bottom:0}.principles{gap:.9rem;margin:1.5em 0;display:grid}.principles p{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--muted);border-radius:10px;margin:0;padding:1rem 1.25rem}.principles strong{color:var(--text);margin-bottom:.2rem;display:block}.page-actions{margin-top:2.5rem}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;padding:.6em .8em}.prose :not(pre)>code{background:var(--code-bg);border:1px solid var(--border);font-family:var(--font-mono);border-radius:6px;padding:.15em .4em;font-size:.88em}.prose pre{border:1px solid var(--border);font-family:var(--font-mono);tab-size:2;border-radius:12px;margin:1.5em 0;padding:1.1em 1.25em;font-size:.88rem;line-height:1.6;overflow-x:auto}.chart{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:2em 0;padding:1.1rem 1.25rem 1rem}.chart:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chart-title{margin:0 0 .4rem;font-weight:600;line-height:1.4}.prose .chart-legend{color:var(--muted);flex-wrap:wrap;gap:.35rem 1.1rem;margin:0 0 .6rem;padding:0;font-size:.85rem;list-style:none;display:flex}.prose .chart-legend li{align-items:center;gap:.45rem;margin:0;display:inline-flex}.chart-key{border-radius:2px;width:16px;height:3px}.chart-plot{position:relative;overflow-x:auto}.chart-plot svg{width:100%;min-width:620px;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-tick,.chart-band-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.chart-axis-label{fill:var(--muted);font-size:13px}.chart-band{fill:var(--text);fill-opacity:.06}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-end,.chart-dot{stroke:var(--surface);stroke-width:2px}.chart-end-label{fill:var(--text);font-size:13px;font-weight:500}.chart-leader,.chart-crosshair{stroke:var(--muted);stroke-width:1px}.chart-hit{fill:#0000;cursor:crosshair}.chart-tooltip{border:1px solid var(--border);background:var(--surface);min-width:11rem;box-shadow:var(--shadow);pointer-events:none;border-radius:10px;padding:.5rem .7rem;font-size:.82rem;line-height:1.5;position:absolute;top:0;left:0}.chart-tooltip-head{color:var(--muted);margin-bottom:.2rem}.chart-tooltip-row{align-items:center;gap:.45rem;display:flex}.chart-tooltip-row strong{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:.8rem;font-weight:600}.chart figcaption{color:var(--muted);margin-top:.6rem;font-size:.85rem}.chart-table{margin-top:.6rem;font-size:.88rem}.chart-table summary{cursor:pointer;color:var(--accent);font-weight:500}.chart-table-scroll{max-height:320px;margin-top:.5rem;overflow:auto}.prose .chart-table table{font-variant-numeric:tabular-nums;margin:0;font-size:.85rem;display:table}.prose .chart-table th,.prose .chart-table td{text-align:right;padding:.3em .7em}.prose .chart-table thead th{background:var(--surface);position:sticky;top:0}.figure-table-scroll{overflow-x:auto}.prose .figure-table table{font-variant-numeric:tabular-nums;margin:.4rem 0 0;font-size:.82rem;display:table}.prose .figure-table th,.prose .figure-table td{text-align:right;vertical-align:bottom;white-space:nowrap;padding:.45em}.prose .figure-table thead th{white-space:normal;min-width:4.6em;font-weight:600}.prose .figure-table th:first-child{text-align:left;min-width:0}.prose .figure-table tbody th{white-space:normal;min-width:8em;font-weight:500}.figure-table-note{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.schema-axis{stroke:var(--muted);stroke-width:1.5px}.schema-arc{fill:none;stroke:var(--muted);stroke-width:1.5px}.schema-fail{fill:var(--surface);stroke:var(--text);stroke-width:2px}.schema-retry{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.schema-spike{fill:var(--draft);stroke:var(--surface);stroke-width:2px}.schema-label{fill:var(--text);font-size:14px;font-weight:600}.schema-note{fill:var(--muted);font-size:13px}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}.code-block{margin:1.5em 0;position:relative}.code-block pre{margin:0}.copy-button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;transition:opacity var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease;border-radius:6px;padding:.25rem .6rem;font-size:.78rem;position:absolute;top:.5rem;right:.5rem}.copy-button:hover,.copy-button[data-copied]{color:var(--accent);border-color:var(--accent)}@media (hover:hover) and (pointer:fine){.copy-button{opacity:0}.code-block:hover .copy-button,.copy-button:focus-visible,.copy-button[data-copied]{opacity:1}}.reading-progress{z-index:60;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.reading-progress span{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:2rem 0;font-size:.9rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-inner p{margin:0}.footer-roles{color:var(--text);font-weight:500}.footer-links{gap:1.25rem;display:flex}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover,.footer-link-button:hover{color:var(--accent)}.footer-links{flex-wrap:wrap}.footer-link-button{color:var(--muted);font:inherit;cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:0;padding:0}.consent-panel{z-index:70;border:1px solid var(--border);background:var(--surface);width:min(440px,100vw - 2.5rem);max-height:calc(100vh - 2.5rem);color:var(--text);animation:enter var(--motion-slow) var(--ease-out) both;--enter-distance:12px;border-radius:16px;padding:1.4rem;position:fixed;bottom:1.25rem;left:1.25rem;overflow-y:auto;box-shadow:0 18px 60px #00000059}.consent-heading{color:var(--accent);align-items:center;gap:.6rem;display:flex}.consent-heading h2{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.consent-message{color:var(--muted);margin:.75rem 0 1rem;font-size:.86rem;line-height:1.6}.consent-details{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;margin-bottom:1rem;padding:0 .9rem}.consent-option{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.consent-option+.consent-option{border-top:1px solid var(--border)}.consent-option strong{font-size:.88rem}.consent-option p{color:var(--muted);margin:.2rem 0 0;font-size:.78rem;line-height:1.45}.consent-always{color:var(--accent);white-space:nowrap;font-size:.78rem}.consent-actions{flex-wrap:wrap;gap:.5rem;display:flex}.consent-button{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border-radius:9px;padding:.6rem .9rem;font-size:.85rem;font-weight:600}.consent-button:hover{border-color:var(--accent)}.consent-button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.consent-button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.consent-button.text{color:var(--accent);border-color:#0000}.consent-policy{color:var(--muted);text-underline-offset:3px;margin-top:.9rem;font-size:.8rem;display:inline-block}.switch{flex:none;width:42px;height:24px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{background:color-mix(in srgb, var(--muted) 55%, var(--border));height:100%;transition:background-color var(--motion-fast) ease;border-radius:999px;display:block}.switch-track:before{content:"";width:18px;height:18px;transition:transform var(--motion-normal) var(--ease-standard);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:before{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:3px}@media (width<=560px){.consent-panel{width:calc(100vw - 1.5rem);padding:1.1rem;bottom:.75rem;left:.75rem}}.not-found [lang]+[lang]{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:2.5rem}:root{--motion-fast:.18s;--motion-normal:.22s;--motion-slow:.5s;--motion-hero:.6s;--motion-page-out:.16s;--motion-page-in:.32s;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--motion-distance:12px;--motion-stagger:70ms;--hover-lift:4px;--arrow-shift:4px}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}.nav-indicator{view-transition-name:nav-indicator}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}::view-transition-old(root){animation:page-out var(--motion-page-out) ease both}::view-transition-new(root){animation:page-in var(--motion-page-in) var(--ease-out) both}::view-transition-group(nav-indicator){animation-duration:var(--motion-page-in);animation-timing-function:var(--ease-standard)}@keyframes enter{0%{opacity:0;transform:translateY(var(--enter-distance,16px))}to{opacity:1;transform:none}}.enter{animation:enter var(--enter-duration,var(--motion-hero)) var(--ease-out) var(--enter-delay,0s) both}.enter-text{--enter-duration:.55s;--enter-distance:12px}.enter-actions{--enter-duration:.45s;--enter-distance:8px}.enter-1{--enter-delay:.1s}.enter-2{--enter-delay:.18s}.enter-3{--enter-delay:.26s}@keyframes draw{to{stroke-dashoffset:0}}@keyframes edge-settle{0%{stroke:var(--accent)}to{stroke:var(--diagram-edge)}}@keyframes core-glow{50%{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 55%, transparent))}}@keyframes node-in{0%{opacity:0}to{opacity:1}}.diagram-edge{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .7s var(--ease-out) var(--draw-delay,0s) forwards, edge-settle .9s ease calc(var(--draw-delay,0s) + 1.3s) both}.system-diagram .diagram-core{animation:node-in var(--motion-slow) var(--ease-out) var(--draw-delay,0s) both, core-glow 1.2s ease .9s}.diagram-node{animation:node-in var(--motion-slow) var(--ease-out) var(--draw-delay,0s) both}a,.button,.site-nav ul a,.lang-switch,.theme-toggle,.menu-toggle,.filters button{transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease}.motion-card{transition:transform var(--motion-normal) var(--ease-standard), border-color var(--motion-fast) ease, box-shadow var(--motion-normal) ease}.arrow{transition:transform var(--motion-fast) var(--ease-standard);display:inline-block}.arrow-back{margin-right:.3em}@media (hover:hover) and (pointer:fine){.motion-card:hover{transform:translateY(calc(var(--hover-lift) * -1));border-color:var(--accent);box-shadow:var(--shadow-hover)}a:hover .arrow,.motion-card:hover .arrow{transform:translateX(var(--arrow-shift))}a:hover .arrow-back{transform:translateX(calc(var(--arrow-shift) * -1))}}html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease, fill var(--motion-fast) ease!important}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
