:root{
--primary:#1E5BD8;--accent:#12A0D6;--dark:#1A2130;--light:#F6F8FA;--surface:#FFFFFF;--paper:#FFFFFF;--ink:#1A2130;--muted:#5E6A7E;--soft:#68758B;--price:#0E1A33;--black:#0B0F17;
--lav:#EEEAF8;--lav-ink:#3D2F6B;--mint:#E6F4EE;--mint-ink:#1F4A3A;--peach:#FBEFE6;--peach-ink:#6B3A1C;--sand:#F6F2DE;--sand-ink:#4F4416;
--line:#E3E7EE;--line-dark:#465168;--control-line:#8995A8;--focus:#1E5BD8;--hover-black:#26324A;--hover-lav:#E2DCF4;
--hero-white:#FFFFFF;--hero-secondary:#C6ECFB;--hero-muted:#E6EEFB;--hero-label:#E4F5FD;--chrome:#F1F3F7;--chrome-ink:#4E5A6F;--plate-ink:#F2F5FA;--plate-muted:#B8C3D7;
--lane-lav:#DCD5F5;--lane-peach:#F8DCC6;--lane-mint:#CDEBDD;--lane-sand:#EFE5B9;--lane-sky:#D4EEF9;--lane-sky-ink:#0F4D69;
--fh:"Manrope",-apple-system,"Avenir Next","Segoe UI Variable Display","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans CJK TC","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif;
--fb:"Outfit",-apple-system,"Avenir Next","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans CJK TC","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif;
--fm:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Mono",Menlo,Consolas,monospace;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-card:1.25rem;--text-title:2.5rem;--text-display:3.5rem;
--leading-body:1.65;--leading-heading:1.2;--leading-card:1.35;--leading-display:1.15;--leading-small:1.5;
--weight-normal:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;
--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-7:4rem;--space-8:6rem;--space-9:8.5rem;
--field-gap:.5rem;--gutter:1.5rem;--container-narrow:48rem;--container:75rem;--container-wide:77.5rem;
--radius-sm:10px;--r-ctl:10px;--r-card:20px;--r-block:32px;--radius-window:24px;--radius-hero:36px;--radius-pill:999px;
--shadow:0 1px 2px rgba(14,26,51,.04),0 12px 32px rgba(14,26,51,.06);--shadow-stage:0 2px 6px rgba(14,26,51,.08),0 40px 80px rgba(10,30,90,.28);--shadow-float:0 18px 36px rgba(10,30,90,.22);
--duration:180ms;--ease:cubic-bezier(.2,.7,.2,1);--hero-top:6rem;--hero-crumb-top:3rem;--crumb-gap:1.5rem;--sticky-top:7rem;--border-width:1px;
}
*{box-sizing:border-box}
html{background:var(--light);scroll-padding-top:var(--sticky-top)}
body{margin:0;font-family:var(--fb);font-size:var(--text-base);line-height:var(--leading-body);color:var(--ink);background:var(--light);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--fh);font-weight:var(--weight-semi);overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:-.03em}
h2{font-size:var(--text-title);line-height:var(--leading-heading);letter-spacing:-.0275em}
h3{font-size:var(--text-card);line-height:var(--leading-card);letter-spacing:-.02em}
h4{font-size:var(--text-base);line-height:var(--leading-card)}
h5,h6{font-size:var(--text-sm);line-height:var(--leading-small)}
p,li,blockquote,dt,dd,label{font-size:var(--text-base);line-height:var(--leading-body)}
small,figcaption{font-size:var(--text-xs);line-height:var(--leading-small)}
code{font-family:var(--fm);font-size:var(--text-sm);line-height:var(--leading-body)}
th,td{font-size:var(--text-sm);line-height:var(--leading-body)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
img{display:block;max-width:100%}
svg{flex-shrink:0;vertical-align:middle}
ul,ol{padding-inline-start:var(--space-3)}
a,button,input,select,textarea,summary{touch-action:manipulation}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
[hidden]{display:none!important}
.container,.wrap,.container-wide,.container-narrow{width:min(calc(100% - var(--gutter)*2),var(--container));margin-inline:auto}
.container-wide{width:min(calc(100% - var(--gutter)*2),var(--container-wide))}
.container-narrow{width:min(calc(100% - var(--gutter)*2),var(--container-narrow))}
.num,.price,output{font-family:var(--fm);font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.grid{display:grid;gap:var(--space-3);align-items:stretch}
.grid>*{min-width:0}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack{display:flex;flex-direction:column;gap:var(--space-3)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.text-center{text-align:center}
.text-muted{color:var(--muted)}
.text-small{font-size:var(--text-sm);line-height:var(--leading-small)}
.mt-2{margin-top:var(--space-2)}
.mt-3{margin-top:var(--space-3)}
.mt-5{margin-top:var(--space-5)}
.mt-7{margin-top:var(--space-7)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.c-reading{max-width:var(--container-narrow);font-size:var(--text-base);line-height:var(--leading-body)}
.c-reading :where(h2,h3){font-size:1.5rem;line-height:var(--leading-card);margin-top:var(--space-5);margin-bottom:var(--space-2)}
.c-reading :where(p,ul,ol,blockquote){margin-bottom:var(--space-3)}
.c-reading :where(a){color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.c-reading :where(code){overflow-wrap:anywhere}
.c-reading :where(blockquote){padding:var(--space-3);background:#EEEAF8;color:#3D2F6B;border-radius:var(--r-ctl)}
.reveal{opacity:1;transform:none}
.reveal[data-reveal-pending]{opacity:0;transform:translateY(20px);transition:opacity 650ms var(--ease),transform 650ms var(--ease)}
.reveal.reveal-left[data-reveal-pending]{transform:translateX(-20px)}
.reveal.reveal-right[data-reveal-pending]{transform:translateX(20px)}
@media(max-width:64rem){
.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
:root{--sticky-top:6rem}
}
@media(max-width:42rem){
:root{--gutter:1rem;--text-display:2rem;--text-title:1.875rem;--space-9:5rem;--hero-top:3rem}
.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
.grid>*{grid-column:1;width:auto;min-height:0}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.reveal[data-reveal-pending]{opacity:1;transform:none}
}
