:root{--navy:#1a2b4a;--blue:#2563eb;--amber:#d97706;--green:#059669;--purple:#7c3aed;--indigo:#4f46e5;--red:#dc2626;--teal:#0891b2;--bg:#f8f7f4;--surface:#fff;--border:#00000014;--border2:#00000024;--text:#1a2b4a;--muted:#64748b;--faint:#94a3b8;--font-display:"DM Serif Display",serif;--font-body:"DM Sans",sans-serif;--font-ui:"Sora",sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.3rem}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:1180px;margin:0 auto;padding:0 32px}.page-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:56px 0 44px}.page-hero .kicker{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;font-size:.68rem;font-weight:600}.page-hero .deck{color:var(--muted);max-width:620px;margin-top:14px;font-size:1rem;line-height:1.75}.section{padding:64px 0}.section+.section{border-top:1px solid var(--border)}.section-label{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.65rem;font-weight:600}.section-title{margin-bottom:12px}.section-intro{color:var(--muted);max-width:680px;margin-bottom:40px;font-size:.95rem;line-height:1.8}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.card-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.card-grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.card-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tl-wrap{position:relative}.tl-wrap:before{content:"";background:var(--border2);width:1px;position:absolute;top:0;bottom:0;left:90px}.tl-item{grid-template-columns:90px 1px 1fr;gap:0;display:grid}.tl-yr{text-align:right;font-family:var(--font-display);color:var(--muted);padding:24px 16px 20px 0;font-size:1rem}.tl-yr.hi{color:var(--navy)}.tl-spine{justify-content:center;display:flex;position:relative}.tl-node{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-node.major{border-color:var(--navy);background:var(--navy);width:13px;height:13px;top:24px}.tl-node.blue{border-color:var(--blue);background:var(--blue)}.tl-node.amber{border-color:var(--amber);background:var(--amber)}.tl-node.green{border-color:var(--green);background:var(--green)}.tl-node.purple{border-color:var(--purple);background:var(--purple)}.tl-body{border-bottom:1px solid var(--border);padding:16px 0 16px 28px}.tl-item:last-child .tl-body{border-bottom:none}.tag{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;border-radius:4px;margin-bottom:6px;padding:3px 8px;font-size:.6rem;font-weight:600;display:inline-block}.tag-gray{color:var(--muted);border:1px solid var(--border);background:#f1f5f9}.tag-blue{color:var(--blue);background:#eff6ff;border:1px solid #2563eb33}.tag-amber{color:var(--amber);background:#fffbeb;border:1px solid #d9770640}.tag-green{color:var(--green);background:#ecfdf5;border:1px solid #05966933}.tag-red{color:var(--red);background:#fef2f2;border:1px solid #dc262633}.tag-purple{color:var(--purple);background:#f5f3ff;border:1px solid #7c3aed33}.tag-navy{color:var(--navy);background:#eff3ff;border:1px solid #1a2b4a33}.tl-title{font-family:var(--font-display);margin-bottom:6px;font-size:1.1rem}.tl-body p{color:var(--muted);max-width:600px;font-size:.88rem;line-height:1.75}.stat-grid{flex-wrap:wrap;gap:32px;margin-top:24px;display:flex}.stat-item .num{font-family:var(--font-display);color:var(--navy);font-size:2rem;line-height:1}.stat-item .lbl{color:var(--muted);font-size:.75rem;font-family:var(--font-ui);letter-spacing:.06em;margin-top:4px}.info-table{border-collapse:collapse;width:100%;font-size:.88rem}.info-table th{text-align:left;font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border2);padding:10px 16px;font-size:.65rem;font-weight:600}.info-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 16px}.info-table tr:last-child td{border-bottom:none}.info-table tr:hover td{background:#fafafa}.pullquote{border-left:3px solid var(--amber);margin:28px 0;padding:4px 0 4px 24px}.pullquote p{font-family:var(--font-display);color:var(--text);max-width:600px;font-size:1.1rem;font-style:italic;line-height:1.5}.pullquote cite{font-size:.75rem;font-family:var(--font-ui);color:var(--muted);margin-top:6px;font-style:normal;display:block}.compare-grid{background:var(--border);border:1px solid var(--border);border-radius:10px;gap:1px;display:grid;overflow:hidden}.compare-col{background:var(--surface);padding:22px}.compare-col-title{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-size:.65rem;font-weight:600}.compare-col ul{flex-direction:column;gap:7px;list-style:none;display:flex}.compare-col li{color:var(--muted);padding-left:14px;font-size:.82rem;line-height:1.5;position:relative}.compare-col li:before{content:"—";color:var(--faint);position:absolute;left:0}footer{border-top:1px solid var(--border);background:var(--surface);margin-top:auto;padding:24px 0}footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}footer .foot-note{color:var(--muted);font-size:.75rem}footer .foot-brand{font-family:var(--font-ui);color:var(--navy);letter-spacing:.08em;font-size:.75rem;font-weight:600}@keyframes barwave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.35)}}@keyframes nodepulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes netmove{0%{opacity:0;left:0}10%{opacity:1}90%{opacity:1}to{opacity:0;left:calc(100% - 10px)}}@keyframes driftfly{0%{transform:translate(0)}25%{transform:translate(3px,-5px)}50%{transform:translate(-3px,4px)}75%{transform:translate(5px,2px)}to{transform:translate(0)}}@keyframes robwalk{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes robnod{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes qspin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes agirot{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes agipulse{0%,to{opacity:.2}50%{opacity:.7}}@keyframes tlpop{0%,80%,to{transform:scale(1)}40%{transform:scale(1.7)}}@keyframes barfill{0%,to{opacity:.35}50%{opacity:1}}@keyframes rackblink{0%,to{opacity:.25}50%{opacity:1}}@keyframes memgrow{0%,to{opacity:.35}50%{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{stroke-dashoffset:300px}to{stroke-dashoffset:0}}.fade-up{animation:.5s ease-out both fadeUp}@media (width<=900px){.card-grid-3,.card-grid-4{grid-template-columns:1fr 1fr}.compare-grid{grid-template-columns:1fr}}@media (width<=640px){.container{padding:0 16px}.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}.tl-wrap:before{left:60px}.tl-item{grid-template-columns:60px 1px 1fr}.tl-yr{font-size:.8rem}}
