
:root{--ink:#0b1b3a;--blue:#12408f;--cyan:#1fa7e8;--paper:#f5f7fb;--card:#ffffff;--line:#d5dcea;--mute:#4b5876;--ok:#0b7a52;--okbg:#e2f5ec;--sim:#7a4d00;--simbg:#fdf0d8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 "Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,h4{font-family:"Bricolage Grotesque","Instrument Sans",system-ui,sans-serif;line-height:1.08;margin:0;letter-spacing:-.015em}
a{color:var(--blue)}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:4px}
.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}.skip:focus{left:0}
.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.55rem;font:800 1.35rem/1 "Bricolage Grotesque",sans-serif;color:var(--ink);text-decoration:none}
.top nav{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.top nav a{text-decoration:none;color:var(--ink);font-weight:500}.top nav a:hover{color:var(--blue)}
.btn{display:inline-block;background:var(--blue);color:#fff!important;text-decoration:none;font-weight:600;padding:.8rem 1.35rem;border-radius:8px;border:2px solid var(--blue);transition:background .15s,border-color .15s}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)!important;border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff!important}
.btn.small{padding:.45rem .95rem;font-size:.95rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.hero{padding:clamp(2.5rem,7vw,5.5rem) 0 clamp(2.5rem,6vw,4.5rem)}
.hgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero h1{font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:800;max-width:15ch}
.lead{font-size:1.2rem;color:var(--mute);max-width:46ch;margin:1.2rem 0 0}
.entry{margin:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.2rem 1rem;box-shadow:0 1px 0 var(--line)}
.entry figcaption{font:700 1rem "Bricolage Grotesque",sans-serif;margin-bottom:.7rem}
.entry table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.95rem}
.entry th{font-weight:500;color:var(--mute);text-align:left;font-size:.85rem;padding:.3rem .4rem;border-bottom:1px solid var(--line)}
.entry td{padding:.55rem .4rem;border-bottom:1px solid var(--line)}
.entry .n{text-align:right;white-space:nowrap}
.entry tfoot td{border:0;padding-top:.8rem;font-weight:600}
.ok{display:inline-block;background:var(--okbg);color:var(--ok);padding:.2rem .6rem;border-radius:999px;font-weight:600}
.cap{font-size:.9rem;color:var(--mute);margin:.8rem 0 0;line-height:1.5}
.entry tbody tr{animation:post .5s ease both;animation-delay:calc(var(--d)*.45s + .3s)}
.entry .ok{animation:bal .5s ease both;animation-delay:2.4s}
@keyframes post{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes bal{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.band{background:var(--ink);color:#fff}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2rem 0}
.facts p{margin:0;color:#c9d4ea;font-size:1rem}.facts strong{display:block;color:#fff;font:700 1.15rem "Bricolage Grotesque",sans-serif;margin-bottom:.2rem}
.feat,.how{padding:clamp(3rem,7vw,5rem) 0 0}
.feat h2,.how h2,.closing h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800}
.sub{color:var(--mute);max-width:62ch;margin:.7rem 0 0}
.grp{margin-top:2.4rem}.grp h3{font-size:1.2rem;font-weight:700;padding-bottom:.6rem;border-bottom:2px solid var(--ink);margin-bottom:1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.card{display:flex;flex-direction:column;gap:.55rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.15rem 1.2rem;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--cyan);transform:translateY(-2px);color:var(--ink)}
.card h4{font-size:1.2rem;font-weight:700}.card p{margin:0;color:var(--mute);font-size:.98rem;line-height:1.5;flex:1}
.tag{align-self:flex-start;font-size:.82rem;font-weight:600;padding:.15rem .6rem;border-radius:999px}
.tag.live{background:var(--okbg);color:var(--ok)}.tag.sim{background:var(--simbg);color:var(--sim)}
.hgrid2{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;margin-top:1.4rem}.hgrid2 p{max-width:56ch;margin:0 0 1rem}
.stack{list-style:none;margin:0;padding:0;border-left:3px solid var(--cyan)}.stack li{padding:.55rem 0 .55rem 1.1rem;font-weight:500}
.closing{margin-top:clamp(3rem,7vw,5rem);background:var(--card);border-top:1px solid var(--line);padding:clamp(2.5rem,6vw,4rem) 0}.closing p{max-width:56ch;color:var(--mute);margin:.8rem 0 0}.closing .btn{margin-top:1.4rem}
.fpage{padding:2rem 0 clamp(3rem,7vw,5rem)}.crumb{font-size:.92rem;color:var(--mute);margin:0 0 1.4rem}
.fpage h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;max-width:20ch}
.fgrid{display:grid;grid-template-columns:1.4fr .8fr;gap:2.4rem;margin-top:2.2rem;align-items:start}
.fgrid h2{font-size:1.4rem;font-weight:700;margin-bottom:1rem}
.does{margin:0;padding:0;list-style:none}.does li{padding:.8rem 0;border-top:1px solid var(--line);max-width:62ch}.does li:last-child{border-bottom:1px solid var(--line)}
.guard{background:var(--ink);color:#fff;border-radius:12px;padding:1.4rem}.guard h2{color:#fff}.guard p{margin:0;color:#d6e0f3}
.more{margin-top:3.2rem}.more h2{font-size:1.2rem;margin-bottom:1rem}.next{margin:1.4rem 0 0;font-weight:600}
.foot{background:var(--ink);color:#c9d4ea;padding:2.6rem 0 2rem;margin-top:0}.foot a{color:#fff}.foot .brand{color:#fff}
.fcols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}.foot h3{font-size:1rem;color:#fff;margin-bottom:.7rem}.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:.3rem 0}.foot p{margin:.7rem 0 0}
.wa a{display:inline-flex;align-items:center;gap:.5rem}.team{margin-top:3rem}.team h2{font-size:1.6rem;margin-bottom:1.2rem}.tgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.tgrid li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem}.tgrid h3{font-size:1.15rem;margin-top:.8rem}.tgrid p{margin:.35rem 0 0;font-size:.96rem;color:var(--mute);line-height:1.5}.tgrid .role{color:var(--blue);font-weight:600}.av{width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font:700 1.05rem "Bricolage Grotesque",sans-serif}.fine{border-top:1px solid #2a3b61;margin-top:2rem!important;padding-top:1rem;font-size:.9rem}
@media (max-width:860px){.hgrid,.hgrid2,.fgrid{grid-template-columns:1fr}.facts{grid-template-columns:1fr;gap:1.2rem}.fcols{grid-template-columns:1fr 1fr}.top{position:static}}
@media (max-width:520px){.fcols{grid-template-columns:1fr}.top nav{gap:.9rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entry tbody tr,.entry .ok{animation:none}.card{transition:none}.card:hover{transform:none}}
