.cs{--cs-surface:var(--bg-raised);--cs-surface-2:var(--bg-overlay);--cs-line:var(--line);--cs-line-strong:var(--line-strong);--cs-rule:var(--lav-line);--cs-ink:var(--ink-1);--cs-ink-2:var(--ink-2);--cs-muted:var(--ink-3);--cs-accent:var(--lav);--cs-accent-2:var(--lav-bright);--cs-accent-ink:var(--on-accent);--cs-shadow:var(--shadow-lg);--cs-glow-1:#d6a24a29;--cs-glow-2:#d6a24a14;--cs-blue:#6aa8e8;--cs-aqua:#4fc79f;--cs-gold:#e9cc4f;--cs-coral:#f2836b;--cs-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--cs-sans:var(--font-sans);--cs-mono:var(--font-mono);--cs-gutter:clamp(24px, 5vw, 32px);color:var(--cs-ink);font-family:var(--cs-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:0 0}.cs,.cs *{box-sizing:border-box}.cs :focus-visible{outline:2px solid var(--cs-accent);outline-offset:3px;border-radius:2px}.feat{font-size:17px;line-height:1.65}.feat .wrap{max-width:1080px;padding-inline:var(--cs-gutter);margin:0 auto}.feat .col{max-width:720px}.feat h1,.feat h2,.feat h3{font-family:var(--cs-serif);letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.1}.feat .eyebrow{font-family:var(--cs-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--cs-accent);font-size:12px;font-weight:600}.feat .muted{color:var(--cs-muted)}.feat .lead{color:var(--cs-ink-2);font-size:1.28rem;line-height:1.55}.feat a{color:var(--cs-accent)}.feat p{margin:0 0 1.1em}.feat strong{color:var(--cs-ink);font-weight:650}.feat code,.feat .mono{font-family:var(--cs-mono);font-size:.86em}.feat .hero{border-bottom:1px solid var(--cs-line);position:relative;overflow:hidden}.feat .hero-glow{pointer-events:none;background:radial-gradient(60% 70% at 30% 0%, var(--cs-glow-1), transparent 70%), radial-gradient(45% 60% at 85% 10%, var(--cs-glow-2), transparent 70%);filter:blur(6px);height:620px;animation:18s ease-in-out infinite alternate cs-drift;position:absolute;inset:-40% -10% auto}@keyframes cs-drift{0%{transform:translate(-2%)translateY(0)}to{transform:translate(3%)translateY(2%)}}.feat .hero-inner{padding-block:92px 76px;position:relative}.feat .hero h1{margin:20px 0 0;font-size:clamp(2.7rem,6.4vw,4.9rem)}.feat .hero h1 .em{color:var(--cs-accent);font-style:italic}.feat .hero .lead{max-width:660px;margin-top:26px}.feat .hero .meta{flex-wrap:wrap;gap:10px 8px;margin-top:34px;display:flex}.feat .tag{font-family:var(--cs-mono);letter-spacing:.03em;color:var(--cs-ink-2);border:1px solid var(--cs-line-strong);background:color-mix(in srgb, var(--cs-surface) 55%, transparent);border-radius:100px;padding:6px 13px;font-size:12px}.feat .tag b{color:var(--cs-accent);font-weight:700}.feat section{border-bottom:1px solid var(--cs-line);padding-block:72px}.feat .sec-head{align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.feat .sec-num{font-family:var(--cs-mono);color:var(--cs-accent);letter-spacing:.1em;padding-top:6px;font-size:13px}.feat h2{margin:4px 0 18px;font-size:clamp(1.7rem,3.6vw,2.5rem)}.feat h3{margin:0 0 8px;font-size:1.15rem}.feat .stats{background:var(--cs-line);border:1px solid var(--cs-line);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-top:40px;display:grid;overflow:hidden}.feat .stat{background:var(--cs-surface);padding:22px 20px}.feat .stat .n{font-family:var(--cs-serif);color:var(--cs-accent);font-variant-numeric:tabular-nums;font-size:2.05rem;line-height:1}.feat .stat .l{color:var(--cs-ink-2);margin-top:9px;font-size:.82rem;line-height:1.35}.feat .pull{font-family:var(--cs-serif);color:var(--cs-ink);border-left:3px solid var(--cs-accent);margin:32px 0;padding:4px 0 4px 22px;font-size:1.5rem;line-height:1.4}.feat figure{margin:40px 0 0}.feat figure img{border:1px solid var(--cs-line);background:var(--cs-surface);border-radius:14px;width:100%;height:auto;display:block}.feat figcaption{font-family:var(--cs-mono);color:var(--cs-muted);margin-top:14px;font-size:12px;line-height:1.5}.feat .flow{flex-direction:column;gap:0;margin-top:34px;display:flex}.feat .stage{grid-template-columns:132px 1fr;gap:22px;padding:18px 0;display:grid;position:relative}.feat .stage+.stage{border-top:1px solid var(--cs-line)}.feat .stage .rail{flex-direction:column;gap:4px;display:flex}.feat .stage .idx{font-family:var(--cs-mono);color:var(--cs-muted);letter-spacing:.08em;font-size:12px}.feat .stage .who{font-family:var(--cs-mono);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.feat .who.reason{color:var(--cs-blue)}.feat .who.det{color:var(--cs-muted)}.feat .who.media{color:var(--cs-accent)}.feat .stage h3{font-family:var(--cs-sans);margin:0 0 4px;font-size:1.02rem;font-weight:650}.feat .stage p{color:var(--cs-ink-2);margin:0;font-size:.96rem}.feat .gate{font-family:var(--cs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cs-accent-ink);background:linear-gradient(180deg, var(--cs-accent-2), var(--cs-accent));vertical-align:2px;border-radius:5px;margin-left:8px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.feat .layers{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.feat .inst{border:1px solid var(--cs-line);background:var(--cs-surface);border-top:2px solid var(--c);border-radius:11px;padding:13px 14px}.feat .inst .t{font-size:.92rem;font-weight:650}.feat .inst .m{font-family:var(--cs-mono);color:var(--cs-muted);margin-top:3px;font-size:11px}.feat .inst .d{color:var(--cs-ink-2);margin-top:7px;font-size:.82rem;line-height:1.4}.feat .inst.blue{--c:var(--cs-blue)}.feat .inst.aqua{--c:var(--cs-aqua)}.feat .inst.gold{--c:var(--cs-gold)}.feat .inst.coral{--c:var(--cs-coral)}.feat .cards{grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:16px;margin-top:34px;display:grid}.feat .card{background:var(--cs-surface);border:1px solid var(--cs-line);box-shadow:var(--cs-shadow);border-radius:14px;padding:22px}.feat .card .k{font-family:var(--cs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cs-accent);font-size:11px}.feat .card h3{font-family:var(--cs-sans);margin:10px 0 8px;font-size:1.05rem;font-weight:650}.feat .card p{color:var(--cs-ink-2);margin:0;font-size:.93rem}.feat .integ{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:34px;display:grid}.feat .ig{border:1px solid var(--cs-line);background:var(--cs-surface);border-radius:12px;padding:18px}.feat .ig h3{font-family:var(--cs-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--cs-muted);margin:0 0 12px;font-size:.86rem;font-weight:650}.feat .ig ul{margin:0;padding:0;list-style:none}.feat .ig li{border-top:1px solid var(--cs-line);gap:10px;padding:7px 0;font-size:.92rem;display:flex}.feat .ig li:first-child{border-top:0}.feat .ig li .svc{color:var(--cs-ink);font-weight:600}.feat .ig li .role{color:var(--cs-muted);text-align:right;font-size:.85rem;font-family:var(--cs-mono);margin-left:auto}.feat .grid2{grid-template-columns:1fr 1fr;gap:40px;margin-top:8px;display:grid}.feat .grid2 h3{font-family:var(--cs-sans);margin:0 0 8px;font-size:1.05rem;font-weight:650}.feat .grid2 p{color:var(--cs-ink-2);font-size:.96rem}.feat .close{text-align:center;border-bottom:0;padding-block:96px 104px}.feat .close h2{max-width:780px;margin:0 auto 18px;font-size:clamp(2rem,5vw,3.2rem)}.feat .close p{max-width:620px;color:var(--cs-ink-2);margin:0 auto}.feat .close .back{font-family:var(--cs-mono);letter-spacing:.06em;color:var(--cs-accent);margin-top:34px;font-size:12px;text-decoration:none;display:inline-block}.feat .close .back:hover{color:var(--cs-accent-2)}.feat .reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(14px)}.feat .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.feat .reveal{opacity:1;transition:none;transform:none}.feat .hero-glow{animation:none}}@media (width<=640px){.feat{font-size:16px}.feat .stage{grid-template-columns:1fr;gap:8px}.feat .grid2{grid-template-columns:1fr;gap:24px}.feat .hero-inner{padding-block:64px 52px}}.tp{--tp-measure:40rem;--tp-wide:54rem;font-size:17px;line-height:1.72}.tp .wrap{width:100%;max-width:var(--tp-wide);padding-inline:var(--cs-gutter);margin:0 auto}.tp .measure{max-width:var(--tp-measure)}.tp .topbar{font-family:var(--cs-mono);letter-spacing:.04em;color:var(--cs-muted);border-bottom:1px solid var(--cs-line);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:1.4rem;font-size:.78rem;display:flex}.tp .topbar b{color:var(--cs-ink);font-weight:600}.tp .topbar .dot{color:var(--cs-accent)}.tp .hero{padding-block:5.5rem 3.2rem;position:relative;overflow:hidden}.tp .hero:before{content:"";z-index:0;background:radial-gradient(60% 60% at 50% 40%, var(--cs-glow-1), transparent 72%);pointer-events:none;width:min(760px,120%);height:560px;position:absolute;top:-14%;left:50%;transform:translate(-50%)}.tp .hero>*{z-index:1;position:relative}.tp .eyebrow{font-family:var(--cs-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--cs-accent);margin:0 0 1.3rem;font-size:.75rem}.tp h1{font-family:var(--cs-serif);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(2.9rem,8vw,5.2rem);font-weight:600;line-height:.98}.tp .tagline{font-family:var(--cs-serif);color:var(--cs-accent-2);text-wrap:balance;max-width:30ch;margin:1.1rem 0 0;font-size:clamp(1.25rem,3.4vw,1.7rem);font-style:italic;line-height:1.35}.tp .lede{color:var(--cs-ink);margin:1.8rem 0 0;font-size:1.12rem}.tp .lede .m{color:var(--cs-muted)}.tp .stats{background:var(--cs-rule);border:1px solid var(--cs-rule);border-radius:2px;grid-template-columns:repeat(4,1fr);gap:1px;margin:3rem 0 0;display:grid;overflow:hidden}.tp .stat{background:var(--cs-surface);padding:1.4rem 1.3rem}.tp .stat .n{font-family:var(--cs-mono);color:var(--cs-accent-2);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(1.5rem,4vw,2.15rem);font-weight:600;line-height:1}.tp .stat .l{color:var(--cs-muted);margin-top:.55rem;font-size:.84rem;line-height:1.4;display:block}@media (width<=760px){.tp .stats{grid-template-columns:repeat(2,1fr)}}@media (width<=460px){.tp .stats{grid-template-columns:1fr}}.tp .meta{font-family:var(--cs-mono);color:var(--cs-muted);flex-wrap:wrap;gap:.5rem 2.2rem;margin-top:1.5rem;padding:1.5rem 0 0;font-size:.78rem;display:flex}.tp .meta div{gap:.5ch;display:flex}.tp .meta span{color:var(--cs-muted);text-transform:uppercase;letter-spacing:.1em}.tp .meta b{color:var(--cs-ink);font-weight:600}.tp section.ch{border-top:1px solid var(--cs-line);padding-block:4.2rem}.tp .kicker{font-family:var(--cs-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--cs-muted);align-items:baseline;gap:.9rem;margin:0 0 1.4rem;font-size:.78rem;display:flex}.tp .kicker .idx{color:var(--cs-accent);font-weight:600}.tp .kicker .idx:after{content:"";background:var(--cs-rule);vertical-align:middle;width:2.2rem;height:1px;margin-left:.9rem;display:inline-block}.tp h2{font-family:var(--cs-serif);letter-spacing:-.01em;text-wrap:balance;margin:0 0 1.2rem;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:600;line-height:1.08}.tp p{margin:0 0 1.15rem}.tp p:last-child{margin-bottom:0}.tp .lead{font-size:1.14rem}.tp strong{color:var(--cs-ink);font-weight:650}.tp em.g{color:var(--cs-accent-2);font-style:normal}.tp code,.tp .mono{font-family:var(--cs-mono);font-size:.88em}.tp code{background:var(--cs-surface);color:var(--cs-ink);border:1px solid var(--cs-line);white-space:nowrap;border-radius:3px;padding:.12em .42em}.tp .parts{flex-direction:column;gap:2.4rem;margin-top:2.4rem;display:flex}.tp .part{grid-template-columns:8.5rem 1fr;gap:1.6rem;display:grid}.tp .part .tag{font-family:var(--cs-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--cs-accent);border-top:2px solid var(--cs-rule);padding-top:.35rem;font-size:.74rem}.tp .part h3{font-family:var(--cs-serif);margin:0 0 .6rem;font-size:1.3rem;font-weight:600;line-height:1.2}.tp .part p{color:var(--cs-ink);font-size:1.01rem}.tp .part p .m{color:var(--cs-muted)}@media (width<=620px){.tp .part{grid-template-columns:1fr;gap:.7rem}.tp .part .tag{border-top:none;padding-top:0}.tp .part .tag:before{content:"— "}}.tp .features{grid-template-columns:repeat(2,1fr);gap:1.6rem 2.2rem;margin-top:2.2rem;display:grid}.tp .feature h3{font-family:var(--cs-sans);color:var(--cs-ink);margin:0 0 .3rem;font-size:1.02rem;font-weight:650}.tp .feature h3 .k{color:var(--cs-accent);font-family:var(--cs-mono);margin-right:.5ch;font-size:.82em}.tp .feature p{color:var(--cs-muted);margin:0;font-size:.96rem}@media (width<=560px){.tp .features{grid-template-columns:1fr}}.tp .stack{flex-direction:column;gap:1.3rem;margin-top:2rem;display:flex}.tp .stackrow{grid-template-columns:8.5rem 1fr;align-items:start;gap:1.4rem;display:grid}.tp .stackrow .cat{font-family:var(--cs-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--cs-muted);padding-top:.5rem;font-size:.74rem}.tp .pills{flex-wrap:wrap;gap:.5rem;display:flex}.tp .pill{font-family:var(--cs-mono);color:var(--cs-ink);background:var(--cs-surface);border:1px solid var(--cs-rule);white-space:nowrap;border-radius:3px;padding:.34rem .7rem;font-size:.82rem}@media (width<=560px){.tp .stackrow{grid-template-columns:1fr;gap:.5rem}}.tp .pull{font-family:var(--cs-serif);letter-spacing:-.01em;color:var(--cs-ink);text-wrap:balance;margin:0;font-size:clamp(1.5rem,4vw,2.15rem);line-height:1.25}.tp .pull .g{color:var(--cs-accent-2);font-style:italic}.tp footer{border-top:1px solid var(--cs-rule);margin-top:1rem;padding-block:3rem 4rem}.tp .term{font-family:var(--cs-mono);color:var(--cs-muted);background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:4px;padding:1rem 1.15rem;font-size:.85rem;overflow-x:auto}.tp .term .p{color:var(--cs-accent)}.tp .term .c{color:var(--cs-ink)}.tp .footmeta{font-family:var(--cs-mono);color:var(--cs-muted);flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;margin-top:1.6rem;font-size:.78rem;display:flex}.tp .footmeta b{color:var(--cs-ink);font-weight:600}.tp .footmeta a b{color:inherit}.tp .back{font-family:var(--cs-mono);letter-spacing:.06em;color:var(--cs-accent);margin-top:1.6rem;font-size:.78rem;text-decoration:none;display:inline-block}.tp .back:hover{color:var(--cs-accent-2)}.tp a{color:var(--cs-accent-2);text-underline-offset:3px;text-decoration-thickness:1px}.tp a:hover{color:var(--cs-accent)}@media (prefers-reduced-motion:no-preference){.tp .rise{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards tp-rise;transform:translateY(12px)}.tp .d1{animation-delay:50ms}.tp .d2{animation-delay:.14s}.tp .d3{animation-delay:.23s}.tp .d4{animation-delay:.32s}@keyframes tp-rise{to{opacity:1;transform:none}}}
