:root{--navy:#1a2b4a;--blue:#2563eb;--amber:#d97706;--red:#dc2626;--green:#059669;--purple:#7c3aed;--teal:#0891b2;--bg:#f8f7f4;--surface:#fff;--border:#00000014;--border2:#00000021;--text:#1e293b;--muted:#64748b;--faint:#94a3b8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.65}h1,h2,h3,h4{font-family:DM Serif Display,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.4rem,2.5vw,2rem)}h3{font-size:1.25rem}a{color:inherit;text-decoration:none}em{color:var(--blue);font-style:italic}strong{font-weight:600}.page-wrap{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 28px}.section{padding:64px 0}.section+.section{border-top:1px solid var(--border)}.kicker{letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;font-family:Sora,sans-serif;font-size:.65rem;font-weight:700}.deck{color:var(--muted);max-width:640px;margin-top:12px;font-size:.97rem;line-height:1.8}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.tl-wrap{position:relative}.tl-wrap:before{content:"";background:var(--border2);width:1px;position:absolute;top:0;bottom:0;left:84px}.tl-row{grid-template-columns:84px 1px 1fr;display:grid}.tl-yr{text-align:right;color:var(--muted);padding:24px 14px 20px 0;font-family:DM Serif Display,serif;font-size:.95rem}.tl-yr.hi{color:var(--navy)}.tl-spine{justify-content:center;display:flex;position:relative}.tl-dot{border:2px solid var(--border2);background:var(--surface);z-index:1;border-radius:50%;width:10px;height:10px;position:absolute;top:26px;transform:translate(-50%)}.tl-dot.n{border-color:var(--navy);background:var(--navy)}.tl-dot.b{border-color:var(--blue);background:var(--blue)}.tl-dot.r{border-color:var(--red);background:var(--red)}.tl-dot.a{border-color:var(--amber);background:var(--amber)}.tl-dot.g{border-color:var(--green);background:var(--green)}.tl-dot.p{border-color:var(--purple);background:var(--purple)}.tl-body{border-bottom:1px solid var(--border);padding:14px 0 14px 26px}.tl-row:last-child .tl-body{border-bottom:none}.tl-title{color:var(--navy);margin-bottom:5px;font-family:DM Serif Display,serif;font-size:1.05rem}.tl-body p{color:var(--muted);max-width:580px;font-size:.87rem;line-height:1.75}.tag{letter-spacing:.12em;text-transform:uppercase;border-radius:4px;margin-bottom:5px;padding:3px 8px;font-family:Sora,sans-serif;font-size:.58rem;font-weight:700;display:inline-block}.tag-r{color:var(--red);background:#fef2f2;border:1px solid #dc262633}.tag-b{color:var(--blue);background:#eff6ff;border:1px solid #2563eb33}.tag-a{color:var(--amber);background:#fffbeb;border:1px solid #d9770640}.tag-g{color:var(--green);background:#ecfdf5;border:1px solid #05966933}.tag-p{color:var(--purple);background:#f5f3ff;border:1px solid #7c3aed33}.tag-n{color:var(--navy);background:#eff3ff;border:1px solid #1a2b4a33}.alert{border-radius:10px;margin:20px 0;padding:20px 22px}.alert-r{background:#fef2f2;border:1px solid #dc26262e}.alert-a{background:#fffbeb;border:1px solid #d9770633}.alert-b{background:#eff6ff;border:1px solid #2563eb26}.alert-g{background:#ecfdf5;border:1px solid #05966926}.info-table{border-collapse:collapse;width:100%;font-size:.86rem}.info-table th{text-align:left;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border2);padding:9px 14px;font-family:Sora,sans-serif;font-size:.6rem;font-weight:700}.info-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 14px}.info-table tr:hover td{background:#fafafa}.pullq{border-left:3px solid var(--amber);margin:22px 0;padding:2px 0 2px 20px}.pullq p{color:var(--text);max-width:580px;font-family:DM Serif Display,serif;font-size:1.05rem;font-style:italic;line-height:1.5}.pullq cite{color:var(--muted);margin-top:5px;font-family:Sora,sans-serif;font-size:.72rem;font-style:normal;display:block}footer{border-top:1px solid var(--border);background:var(--surface);margin-top:auto;padding:22px 0}footer .fi{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}footer .fn{color:var(--muted);font-size:.73rem}footer .fb2{color:var(--navy);font-family:Sora,sans-serif;font-size:.73rem;font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}@keyframes drift{0%{transform:translate(0)}25%{transform:translate(4px,-5px)}50%{transform:translate(-3px,4px)}75%{transform:translate(5px,2px)}to{transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flow{0%{opacity:0;left:0}10%{opacity:1}90%{opacity:1}to{opacity:0;left:calc(100% - 10px)}}@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes grow{0%{width:0}}.fade-in{animation:.5s ease-out both fadeUp}@media (width<=900px){.grid3{grid-template-columns:1fr 1fr}}@media (width<=640px){.container{padding:0 16px}.grid2,.grid3{grid-template-columns:1fr}.tl-wrap:before{left:58px}.tl-row{grid-template-columns:58px 1px 1fr}}
