:root{--indigo:#1F3883;--blue:#3175B1;--cyan:#47C8E3;--sage:#83B895;--peri:#8B8ECF;--ink:#1B2233;--bg:#F4F7FB;--border:#D8E0EC;
--muted:#5A6785;--ok:#4E9A68;--okd:#2F7A4E;--oksoft:#E5F2E9;--bad:#C8483A;--badsoft:#E3826F;--card:#FFFFFF}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);
background-color:var(--bg);background-image:radial-gradient(rgba(31,56,131,.05) 1px,transparent 1.2px);background-size:24px 24px}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
a{color:var(--blue)}
.cite{font-size:12.5px;color:var(--muted);white-space:nowrap}
.small{font-size:12.5px;color:var(--muted)}
.est{font-style:italic;font-weight:400}
b,strong{font-weight:650}

/* hero */
.hero{position:relative;overflow:hidden;color:#EAF0FA;
background:linear-gradient(135deg,#1F3883 0%,#172C6B 45%,#0E1B45 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.3px);background-size:22px 22px;pointer-events:none}
.hero::after{content:"";position:absolute;width:720px;height:720px;right:-220px;top:-300px;border-radius:50%;
background:radial-gradient(circle,rgba(71,200,227,.28) 0%,rgba(71,200,227,.08) 40%,transparent 70%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;padding-top:30px;padding-bottom:44px;display:flex;flex-direction:column}
.hero .logo{height:31px;width:auto;align-self:flex-start;margin-bottom:38px}
.kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);font-weight:650;margin:0 0 10px}
.hero h1{font-size:44px;line-height:1.12;margin:0 0 12px;font-weight:750;letter-spacing:-.01em;max-width:900px;color:#fff}
.hero .sub{font-size:17px;color:#BFD0EA;margin:0 0 22px}
.goal{max-width:860px;font-size:18px;line-height:1.55;color:#EAF0FA;border-left:3px solid var(--cyan);padding:4px 0 4px 16px;margin:0 0 30px}
.goal b{color:#fff}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px 18px 16px;backdrop-filter:blur(2px)}
.tile .n{font-size:44px;font-weight:750;line-height:1;color:var(--cyan);font-variant-numeric:tabular-nums}
.tile.okt .n{color:#9FD6AF}
.tile .l{font-size:15px;color:#D7E2F3;margin-top:8px}
.srcline{margin-top:18px;font-size:13px;color:#A9BCDB}
.srcline b{color:#DCE6F5}

/* sections */
section{padding:46px 0 10px}
h2{font-size:29px;line-height:1.2;color:var(--indigo);margin:0 0 6px;font-weight:750}
h2+.rule{height:4px;width:120px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--sage));margin:6px 0 14px}
h3{font-size:20px;color:var(--indigo);margin:26px 0 6px}
.basis{font-size:15px;color:var(--muted);margin:0 0 18px;max-width:900px}
p{margin:0 0 12px;max-width:920px}
.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px 24px;box-shadow:0 1px 2px rgba(27,34,51,.04),0 8px 24px rgba(31,56,131,.05)}
.panel+.panel{margin-top:18px}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14.5px;margin:0 0 10px;align-items:center}
.legend span{display:inline-flex;align-items:center;gap:7px}
.sw{display:inline-block;width:14px;height:14px;border-radius:4px}
.sw.band{background:#E5F2E9;border:1px solid #BFE0C9}
.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
svg.chart{width:100%;height:auto;display:block;font-family:inherit}
.caption{font-size:14px;color:var(--muted);margin:10px 0 0}

/* takeaways */
.tk{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tkc{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;position:relative;overflow:hidden}
.tkc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--cyan),var(--indigo))}
.tkc.good::before{background:linear-gradient(180deg,var(--sage),var(--okd))}
.tkc.bad::before{background:linear-gradient(180deg,var(--badsoft),var(--bad))}
.tkc h4{margin:0 0 8px;font-size:20px;line-height:1.25;color:var(--indigo)}
.tkc div{font-size:15.5px;color:#3A4560;line-height:1.5}

/* funnel */
.funnel{display:grid;grid-template-columns:1fr 210px;gap:22px;align-items:center}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fc{border-radius:12px;padding:12px 12px 10px;border:1.5px solid var(--border);background:#fff;position:relative;
transition:opacity .45s ease var(--d),transform .5s cubic-bezier(.3,1.4,.5,1) var(--d),filter .7s ease calc(var(--d) + 1000ms),border-color .6s ease calc(var(--d) + 1000ms),box-shadow .7s ease 1900ms,background .7s ease calc(var(--d) + 1000ms)}
.fnum{position:absolute;right:10px;top:8px;font-weight:750;color:#9AA6C0;font-size:14px}
.fname{font-weight:700;font-size:15.5px;color:var(--ink);padding-right:18px;line-height:1.25}
.futil{font-size:13px;color:var(--muted);margin:2px 0 8px}
.ftag{font-size:12.5px;font-weight:700;transition:opacity .5s ease calc(var(--d) + 1100ms)}
.fc.ok .ftag{transition-delay:2000ms}
.okt{color:var(--okd);fill:var(--okd);font-weight:700}
.dect{color:var(--bad)}
.fc.dec{filter:grayscale(.85) opacity(.62);background:#F7F8FB;border-style:dashed}
.fc.ok{border-color:var(--ok);box-shadow:0 0 0 4px rgba(78,154,104,.16),0 10px 26px rgba(47,122,78,.18);transform:translateY(-2px);background:linear-gradient(180deg,#fff,#F1F9F3)}
.fc.ok{transition:opacity .45s ease var(--d),transform .5s cubic-bezier(.3,1.4,.5,1) 1900ms,border-color .6s ease 1900ms,box-shadow .7s ease 1900ms,background .7s ease 1900ms}
html.pre-animate .funnel:not(.in) .fc{opacity:0;transform:scale(.9);filter:none;background:#fff;border-style:solid;border-color:var(--border);box-shadow:none}
html.pre-animate .funnel:not(.in) .ftag{opacity:0}
html.pre-animate .funnel.in .fc.ok{animation:okglow 2.8s ease-in-out 2.6s infinite}
@keyframes okglow{0%,100%{box-shadow:0 0 0 4px rgba(78,154,104,.16),0 10px 26px rgba(47,122,78,.18)}50%{box-shadow:0 0 0 9px rgba(78,154,104,.10),0 12px 30px rgba(47,122,78,.26)}}
.fout{text-align:center}
.fout .big{font-size:64px;font-weight:800;color:var(--okd);line-height:1}
.fout .arrow{font-size:15px;color:var(--muted);margin:6px 0}
.fout .fbox{border:2px solid var(--ok);border-radius:14px;padding:12px;background:#F1F9F3;font-weight:650;font-size:15px;color:var(--okd)}

/* map */
.insettitle{font-size:14px;font-weight:700;color:var(--indigo);margin:0 0 6px}
.mapwrap{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;align-items:start}
svg.map{width:100%;height:auto;display:block}
.nys{fill:#E3EAF6;stroke:var(--indigo);stroke-width:1.3;stroke-linejoin:round}
.nbr{fill:#F1F3F7;stroke:#B9C2D3;stroke-width:.8}
.cty{fill:none;stroke:#A9B6CF;stroke-width:.7;stroke-dasharray:3 2}
.water{fill:#EEF6FB}
.ibox{fill:rgba(71,200,227,.12);stroke:var(--blue);stroke-width:1.6;stroke-dasharray:5 3}
.ilab{font-size:15px;font-weight:750;fill:var(--indigo)}
.ilab2{font-size:13px;fill:var(--muted)}
.mlab{font-size:15px;font-weight:650;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.inset .mlab{font-size:16px}
.mreg{font-size:20px;font-weight:800;letter-spacing:.3em;fill:rgba(31,56,131,.18)}
.mnb{font-size:12px;letter-spacing:.2em;fill:#9AA6C0;font-weight:650}
.mk .mk-c{stroke:#fff;stroke-width:2.5}
.mk.ok .mk-c{fill:var(--okd)}
.mk.ok .mk-halo{fill:rgba(78,154,104,.25);stroke:var(--ok);stroke-width:1.5}
.mk.dec .mk-c{fill:var(--bad)}
.mk-t{font-size:13px;font-weight:800;fill:#fff}
.lead{stroke:#5A6785;stroke-width:1.3}
.truept{fill:var(--ink);stroke:#fff;stroke-width:1.2}
.maplegend{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px;margin:0 0 12px;align-items:center}
.dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font-weight:800;font-size:12px;border:2px solid #fff;box-shadow:0 0 0 1px #c9d2e2}
.dot.ok{background:var(--okd);box-shadow:0 0 0 4px rgba(78,154,104,.3)}
.dot.dec{background:var(--bad)}
.keylist{columns:2;column-gap:24px;font-size:14.5px;padding:0;margin:12px 0 0;list-style:none}
.keylist li{break-inside:avoid;margin:0 0 4px;display:flex;gap:8px;align-items:center}
.keylist .dot{width:22px;height:22px;font-size:11px;flex:none}

/* tables */
table{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
th,td{text-align:center;vertical-align:middle;padding:9px 10px;border-bottom:1px solid var(--border)}
th{background:#EEF2F9;color:var(--indigo);font-weight:700;font-size:13.5px;border-bottom:2px solid #C7D2E6}
td.reason{font-size:14px;max-width:260px}
tr.okrow td{background:#EFF8F2}
tr.tot td{font-weight:750;background:#F4F7FB;border-top:2px solid #C7D2E6}
td.neg{color:var(--bad);font-weight:750}
.dec-ok{color:var(--okd);font-weight:750;white-space:nowrap}
.dec-no{color:var(--bad);font-weight:650}
.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.tablewrap table.t-wide{min-width:860px}
.tablewrap table.t-mid{min-width:620px}

/* chart internals */
.grid{stroke:#E6EBF3;stroke-width:1}
.axis{stroke:#9AA6C0;stroke-width:1.2}
.parity{stroke:var(--indigo);stroke-width:1.2;stroke-dasharray:4 3}
.tick{font-size:12.5px;fill:var(--muted)}
.axt{font-size:13.5px;fill:#3A4560;font-weight:600}
.rl{font-size:14.5px;font-weight:650;fill:var(--ink)}
.rs{font-size:12px;fill:var(--muted)}
.val{font-size:13.5px;font-weight:700;fill:var(--ink)}
.val.bad{fill:var(--bad)}
.val2{font-size:12px;fill:#3A4560}
.na{font-size:11.5px;fill:#9AA6C0;font-style:italic}
.note{font-size:12px;fill:var(--muted);font-style:italic}
.colh{font-size:12.5px;fill:var(--muted);font-weight:650}
.cell{font-size:13.5px;fill:#3A4560}
.cell.hot{fill:var(--bad);font-weight:750}
.mult{font-size:12.5px;fill:var(--muted);font-weight:600}
.okband{fill:#E5F2E9;stroke:#CBE6D4}
.s-uten{fill:var(--indigo)} .s-ashp{fill:var(--cyan)} .s-gshp{fill:var(--peri)} .s-ratio{fill:var(--blue)}
.s-good{fill:var(--blue)} .s-bad{fill:var(--bad)} .s-warn{fill:var(--bad)}
.brk{fill:none;stroke:#fff;stroke-width:3}
.tl .brk{stroke:#9AA6C0;stroke-width:1.6}
.db-line{stroke:#AFC0DD;stroke-width:4;stroke-linecap:round}
.db-a{fill:#fff;stroke:var(--peri);stroke-width:3}
.db-b{fill:var(--indigo)}
.donutrow{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:center}
svg.donut{width:240px;height:240px;display:block}
.dseg{stroke-dasharray:var(--da);transition:stroke-dasharray 1s cubic-bezier(.3,.7,.2,1)}
.dc1{font-size:15px;font-weight:700;fill:var(--indigo)}
.dlist{list-style:none;padding:0;margin:0 0 12px;font-size:16px}
.dlist li{display:flex;gap:10px;align-items:center;margin:0 0 6px}
.dlist b{min-width:42px;color:var(--indigo)}

/* flow */
.fnode rect{stroke-width:1.5}
.n-dec rect{fill:#FDF0EE;stroke:var(--badsoft)}
.n-ok rect{fill:#EFF8F2;stroke:var(--ok)}
.n-mid rect{fill:#fff;stroke:#B9C6DE}
.n-pay rect{fill:#EEF2F9;stroke:var(--indigo)}
.n-state rect{fill:#E9F8FC;stroke:var(--cyan);stroke-width:2}
.fn-t{font-size:15px;font-weight:750;fill:var(--ink)}
.fn-l{font-size:13.5px;fill:#3A4560}
.colh2{font-size:12.5px;letter-spacing:.14em;font-weight:750;fill:var(--muted)}
.rib{fill:none;stroke-width:14;stroke-linecap:round;opacity:.55}
.r-dec{stroke:var(--badsoft)} .r-ok{stroke:var(--sage)}
.sf{fill:none;stroke:var(--blue);stroke-width:2;stroke-dasharray:none}
.sf-t{font-size:12.5px;fill:var(--blue);font-weight:700;font-style:italic}

/* checklist */
.cl2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.clc{background:#fff;border:1.5px solid var(--ok);border-radius:16px;padding:18px 20px;box-shadow:0 8px 22px rgba(47,122,78,.08)}
.clc h3{margin:0 0 2px;color:var(--okd)}
.clc .who{font-size:14px;color:var(--muted);margin:0 0 12px}
.cli{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-top:1px dashed var(--border)}
.cli:first-of-type{border-top:none}
svg.cb{width:22px;height:22px;flex:none;margin-top:2px}
svg.cb rect{fill:#fff;stroke:var(--ok);stroke-width:2}
.cli .t{font-size:15.5px;line-height:1.45}
.due{display:inline-block;font-size:13px;color:var(--indigo);font-weight:700;margin-left:4px}
.enroll{margin:6px 0 2px}
.enroll .bar2{height:12px;border-radius:6px;background:#EDF1F7;position:relative;overflow:hidden;margin:4px 0}
.enroll .bar2 i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.both{margin-top:18px}

/* findings */
.fgrid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fcard{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;min-width:0}
.fcard.wide{grid-column:1/-1}
svg.ic{width:48px;height:48px}
.fcard h4{margin:2px 0 6px;font-size:18px;color:var(--indigo)}
.fcard p{font-size:15.5px;margin:0 0 6px}
.mini{display:grid;grid-template-columns:210px 1fr 60px;gap:6px 10px;align-items:center;font-size:14px;margin:8px 0 2px;max-width:560px}
.mini .tr{height:16px;background:#EDF1F7;border-radius:5px;overflow:hidden}
.mini .tr i{display:block;height:100%;border-radius:5px;transform-origin:left center;transition:transform 1s cubic-bezier(.2,.7,.2,1)}

/* gaiergy view */
.gv{background:linear-gradient(135deg,#F3F2FC 0%,#EEF3FB 100%);border:1px solid #CFD2EE;border-radius:18px;padding:22px 24px;position:relative}
.gv .flag{display:inline-block;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:#5D60A8;margin-bottom:8px}
.gvi{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 0;border-top:1px solid #DADCF1}
.gvi:first-of-type{border-top:none}
.gvn{width:30px;height:30px;border-radius:50%;background:var(--peri);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.gvi h4{margin:2px 0 4px;font-size:18px;color:#34387A}
.gvi p{margin:0;font-size:15.5px}

/* timeline */
.tl-axis{stroke:var(--indigo);stroke-width:4;stroke-linecap:round;fill:none}
.tl-gap{stroke:#B9C2D3;stroke-width:2;stroke-dasharray:3 5}
.tl-gapt{font-size:12.5px;fill:var(--muted);font-style:italic}
.tl-yr{font-size:14px;font-weight:750;fill:#7F8CA8}
.tl-ytick{stroke:var(--indigo);stroke-width:2}
.tl-yband{stroke:#C7D2E6;stroke-width:2}
.tl-stem{stroke:#B9C6DE;stroke-width:1.3}
.tl-dot{stroke:#fff;stroke-width:2.5}
.tl-dot.past{fill:var(--peri)} .tl-dot.now{fill:var(--okd)} .tl-dot.next{fill:var(--cyan);stroke:var(--indigo);stroke-width:2}
.tl-range{fill:var(--peri)}
.tl-t1{font-size:14.5px;font-weight:750;fill:var(--ink)}
.tl-t1.now{fill:var(--okd);font-size:16px}
.tl-t2{font-size:13.5px;fill:#3A4560}

/* animation states. Default CSS = final, visible state. JS adds html.pre-animate only when motion is allowed. */
.bar{transform-box:fill-box;transform-origin:left center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.bar-neg{transform-origin:right center}
.pop{transform-box:fill-box;transform-origin:center;transition:transform .55s cubic-bezier(.3,1.5,.5,1),opacity .4s}
.draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s ease}
.reveal{transition:opacity .7s ease,transform .7s ease}
.drop{transform-box:fill-box;transform-origin:center bottom;transition:transform .7s cubic-bezier(.3,1.45,.5,1) var(--md,0ms),opacity .35s ease var(--md,0ms)}
.mk-ring{fill:none;stroke:var(--ok);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.cbox{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .6s ease}
.tickp{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .5s ease}
.flowdots{fill:none;stroke-linecap:round;stroke-dasharray:0 16}
html.pre-animate .obs:not(.in) .bar{transform:scaleX(0)}
html.pre-animate .obs:not(.in) .barv{transform:scaleY(0)}
html.pre-animate .obs:not(.in) .pop{transform:scale(0);opacity:0}
html.pre-animate .obs:not(.in) .draw{stroke-dashoffset:1}
html.pre-animate .obs:not(.in) .cbox,html.pre-animate .obs:not(.in) .tickp{stroke-dashoffset:1}
html.pre-animate .obs:not(.in) .dseg{stroke-dasharray:0 502.65}
html.pre-animate .obs:not(.in) .mini i{transform:scaleX(0)}
html.pre-animate .obs:not(.in) .drop{transform:translateY(-46px);opacity:0}
html.pre-animate .obs:not(.in) .fade{opacity:0}
html.pre-animate .obs:not(.in) .rise{opacity:0;transform:translateY(18px)}
html.pre-animate .reveal:not(.in){opacity:0;transform:translateY(16px)}
.fade{transition:opacity .8s ease}
.rise{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.3,1)}
html.pre-animate .obs.in .mk .mk-c{transform-box:fill-box;transform-origin:center;animation:mkpulse 3s ease-in-out calc(var(--md,0ms) + 1200ms) infinite}
html.pre-animate .obs.in .mk.ok .mk-ring{animation:halo 2.2s ease-out calc(var(--md,0ms) + 900ms) infinite}
html.pre-animate .obs.in .flowdots{animation:flowdash 1.6s linear infinite}
html.pre-animate .obs.in .flowdots.slow{animation-duration:2.6s}
html.pre-animate .obs.in .flowdots.rev{animation-direction:reverse}
html.pre-animate .obs.in .ribflow{animation:flowdash 1.4s linear 1.6s infinite}
html.pre-animate .obs.in .heatup{animation:heatup 2.4s ease-in-out infinite}
@keyframes mkpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes halo{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
@keyframes flowdash{to{stroke-dashoffset:-32}}
@keyframes heatup{0%,100%{opacity:.35;transform:translateY(4px)}50%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

footer{padding:30px 0 50px;color:var(--muted);font-size:13.5px}

/* responsive */
@media (max-width:900px){
 .tiles{grid-template-columns:repeat(2,1fr)}
 .tk{grid-template-columns:1fr 1fr}
 .funnel{grid-template-columns:minmax(0,1fr)}
 .fgrid{grid-template-columns:repeat(3,1fr)}
 .insettitle{font-size:14px;font-weight:700;color:var(--indigo);margin:0 0 6px}
.mapwrap{grid-template-columns:1fr}
 .cl2,.fgrid2{grid-template-columns:minmax(0,1fr)}
 .hero h1{font-size:34px}
}
@media (max-width:360px){.tiles{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:600px){
 .wrap{padding:0 16px}
 .hero h1{font-size:28px}
 .tile .n{font-size:34px}
 .tk{grid-template-columns:1fr}
 .fgrid{grid-template-columns:repeat(2,1fr)}
 .panel{padding:16px 14px}
 .chart-scroll svg.chart{min-width:700px}
 .donutrow{grid-template-columns:1fr}
 .keylist{columns:1}
 .mini{grid-template-columns:110px minmax(0,1fr) 48px!important;font-size:13.5px}
 .fcard{grid-template-columns:36px minmax(0,1fr);padding:16px 14px}
 svg.ic{width:36px;height:36px}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero .logo{max-width:100%}
 h2{font-size:24px}
}

/* print */
@media print{
 *{transition:none!important;animation:none!important}
 html.pre-animate .obs .bar,html.pre-animate .obs .barv,html.pre-animate .obs .pop,html.pre-animate .obs .drop,html.pre-animate .obs .rise{transform:none!important;opacity:1!important}
 html.pre-animate .obs .fade{opacity:1!important}
 html.pre-animate .obs .draw,html.pre-animate .obs .cbox,html.pre-animate .obs .tickp{stroke-dashoffset:0!important}
 html.pre-animate .obs .dseg{stroke-dasharray:var(--da)!important}
 html.pre-animate .obs .mini i{transform:none!important}
 html.pre-animate .reveal{opacity:1!important;transform:none!important}
 html.pre-animate .funnel .fc{opacity:1!important;transform:none!important}
 html.pre-animate .funnel .fc.dec{filter:grayscale(.85) opacity(.62)!important}
 html.pre-animate .funnel .ftag{opacity:1!important}
 .mk-ring{display:none}
 body{background:#fff;font-size:12pt}
 .hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .tablewrap{overflow:visible;border:none}
 .tablewrap table,table{table-layout:auto;min-width:0!important}
 .chart-scroll{overflow:visible}
 .chart-scroll svg.chart{min-width:0!important}
 .panel,.fcard,.clc,.tkc,.gvi,figure,tr{break-inside:avoid}
 h2,h3{break-after:avoid}
 section{padding-top:20px}
 .mapwrap{grid-template-columns:1.55fr 1fr!important}
 .tk{grid-template-columns:repeat(3,1fr)!important}
 .fgrid{grid-template-columns:repeat(4,1fr)!important}
 .funnel{grid-template-columns:1fr 180px!important}
 .tiles{grid-template-columns:repeat(4,1fr)!important}
}

/* ===== v2 additions: executive summary, new graphics ===== */
.hero h1{max-width:980px}
.hero .goal{max-width:900px}
.cv-cta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.cv-cta a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 16px;background:rgba(255,255,255,.06)}
.cv-cta a.pri{background:var(--cyan);border-color:var(--cyan);color:#0E1B45}
.part{margin:56px 0 0;padding:26px 0 0;border-top:2px solid var(--border)}
.part .pk{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:var(--blue);margin:0 0 4px}
.part h2{font-size:34px}
.lbl{font-style:italic;font-weight:600;color:var(--indigo);margin:0 0 14px;font-size:15.5px}
.est{font-style:italic;font-weight:400}
ul.plain{margin:0 0 12px;padding-left:20px;max-width:920px}
ul.plain li{margin:0 0 7px}
.xs-goal{font-size:18px;max-width:900px;border-left:3px solid var(--cyan);padding:2px 0 2px 16px}
.tkc .tkn{font-size:13px;font-weight:750;color:#9AA6C0;letter-spacing:.08em;margin-bottom:4px}

/* credit list with ticks */
.credit{list-style:none;margin:0;padding:0;max-width:960px}
.credit li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px dashed var(--border);font-size:16px}
.credit li:first-child{border-top:none}
.credit svg{width:26px;height:26px;margin-top:1px}
.credit .cbox{fill:#EFF8F2;stroke:var(--ok);stroke-width:2}
.credit .tickp{fill:none;stroke:var(--okd);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* scorecard (b) */
.score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sc{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;position:relative;overflow:hidden}
.sc::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--badsoft),var(--bad))}
.sc svg.ic{width:52px;height:52px}
.sc h4{margin:0 0 3px;font-size:17px;color:var(--indigo);line-height:1.3}
.sc .st{display:block;font-size:13px;font-weight:750;color:var(--bad);letter-spacing:.02em;margin:0 0 6px}
.sc .st svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.sc p{font-size:15px;margin:0;line-height:1.5}
.sc .num{position:absolute;right:12px;top:10px;font-size:13px;font-weight:750;color:#B5BFD3}

/* site problems (c) */
.sites{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sp{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:6px}
.sp .spic{height:76px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#F4F7FB,#EAF0F8);border-radius:10px;margin:0 0 4px}
.sp .spic svg{width:70px;height:70px}
.sp h4{margin:0;font-size:16.5px;color:var(--ink)}
.sp .pr{font-size:13px;font-weight:750;color:var(--bad);text-transform:none}
.sp p{font-size:14px;margin:0;line-height:1.45;color:#3A4560}

/* enrollment (d) */
.enr{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;max-width:900px}
svg.enrsvg{width:100%;height:auto;display:block}
.practice{background:linear-gradient(135deg,#EEF8F1 0%,#EEF4FB 100%);border:1px solid #CBE6D4;border-radius:16px;padding:18px 22px;margin:18px 0 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center}
.practice svg{width:64px;height:64px}
.practice p{margin:0;font-size:16px}

/* pull quotes (h) */
.pq{position:relative;margin:28px 0 8px;padding:28px 34px 24px 82px;border-radius:18px;
background:linear-gradient(135deg,#1F3883 0%,#172C6B 55%,#0E1B45 100%);color:#EAF0FA;overflow:hidden}
.pq::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.3px);background-size:20px 20px;pointer-events:none}
.pq::after{content:"\201C";position:absolute;left:20px;top:-6px;font-size:120px;line-height:1;color:var(--cyan);font-family:Georgia,"Times New Roman",serif;opacity:.9}
.pq .op{position:relative;font-size:13px;font-style:italic;color:#A9BCDB;margin:0 0 8px}
.pq blockquote{position:relative;margin:0;font-size:23px;line-height:1.45;font-weight:500;color:#fff;max-width:900px}
.pq .by{position:relative;margin:14px 0 0;font-size:15px;color:var(--cyan);font-weight:650}
.pq .by::before{content:"";display:inline-block;width:26px;height:2px;background:var(--cyan);vertical-align:middle;margin-right:10px}

/* earnings loop + ROE (e) */
.earn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:22px;align-items:center}
svg.loop{width:100%;height:auto;display:block;max-width:440px;margin:0 auto}
.lp-node{fill:#fff;stroke:var(--indigo);stroke-width:2}
.lp-node.hot{fill:#E9F8FC;stroke:var(--cyan);stroke-width:2.5}
.lp-t{font-size:14px;font-weight:750;fill:var(--ink)}
.lp-s{font-size:12px;fill:var(--muted)}
.lp-big{font-size:20px;font-weight:800;fill:var(--indigo)}
.lp-ring{fill:none;stroke:#D8E0EC;stroke-width:16}
.lp-flow{stroke:var(--cyan);stroke-width:7}
.roe-q{margin:16px 0 0;padding:14px 18px;border-left:4px solid var(--peri);background:#F3F2FC;border-radius:0 12px 12px 0;font-size:16px}
.roe-q b{color:#34387A}

/* budget vs state funds (f) */
svg.fund{width:100%;height:auto;display:block}
.fd-b{fill:var(--indigo)} .fd-w{fill:var(--blue)} .fd-s{fill:var(--sage)}
.fd-gap{fill:url(#hatch);stroke:var(--bad);stroke-width:1.5}

/* recommendations (g) */
.recs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;counter-reset:rc}
.rc{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;position:relative}
.rc .rn{position:absolute;right:14px;top:10px;font-size:30px;font-weight:800;color:#E3E9F3;line-height:1}
.rc svg{width:56px;height:56px}
.rc h4{margin:2px 0 4px;font-size:17.5px;color:var(--indigo);padding-right:34px}
.rc p{margin:0;font-size:15px}
.rc.wide{grid-column:1/-1}

/* schematic (a) */
svg.schem{width:100%;height:auto;display:block}
.sch-t{font-size:14px;font-weight:700;fill:var(--ink)}
.sch-s{font-size:12px;fill:var(--muted)}
.sch-ill{font-size:12.5px;font-style:italic;fill:var(--muted)}

/* sources */
ol.srcs{padding-left:22px;max-width:980px;font-size:14.5px}
ol.srcs li{margin:0 0 9px;overflow-wrap:anywhere}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 10px;font-size:15px}
.foot-links a{font-weight:650}
footer{background:linear-gradient(135deg,#1F3883 0%,#0E1B45 100%);color:#BFD0EA;margin-top:40px;padding:30px 0 40px}
footer a{color:var(--cyan)}
footer .prep{color:#fff;font-weight:650;margin:8px 0 0}
footer img{height:24px;width:auto;display:block;margin:0 0 14px}

@media (max-width:900px){
 .score,.recs{grid-template-columns:minmax(0,1fr)}
 .sites{grid-template-columns:repeat(2,minmax(0,1fr))}
 .earn{grid-template-columns:minmax(0,1fr)}
 .part h2{font-size:28px}
}
@media (max-width:600px){
 .pq{padding:24px 18px 20px 22px}
 .pq::after{font-size:80px;left:auto;right:12px;top:-4px;opacity:.5}
 .pq blockquote{font-size:19px}
 .sites{grid-template-columns:minmax(0,1fr)}
 .sc{grid-template-columns:40px minmax(0,1fr);padding:14px}
 .sc svg.ic{width:40px;height:40px}
 .rc{grid-template-columns:42px minmax(0,1fr)}
 .rc svg{width:42px;height:42px}
 .practice{grid-template-columns:minmax(0,1fr)}
 .chart-scroll svg.schem,.chart-scroll svg.fund{min-width:640px}
}
@media print{
 .score,.recs{grid-template-columns:repeat(2,1fr)!important}
 .sites{grid-template-columns:repeat(4,1fr)!important}
 .earn{grid-template-columns:1fr 1.25fr!important}
 .sc,.sp,.rc,.pq,.practice{break-inside:avoid}
 .cv-cta{display:none}
 footer{background:none;color:var(--ink)}
}
.heatup{transform-box:fill-box;transform-origin:center}
html.static *{transition:none!important;animation:none!important}
.roe-q .cite,ul.plain .cite{white-space:normal}
@media (max-width:600px){.cite{white-space:normal;overflow-wrap:anywhere}.caption a,.roe-q a{overflow-wrap:anywhere}}
@media (max-width:600px){.chart-scroll svg.enrsvg{min-width:640px}}
/* round 2: phone layouts */
.ph-only{display:none}
svg.phc{width:100%;height:auto;display:block;font-family:inherit}
.pl{font-size:15px;font-weight:700;fill:var(--ink)}
.ps{font-size:12.5px;fill:var(--muted)}
.pv{font-size:13.5px;font-weight:750;fill:var(--ink)}
.lp-t{font-size:17px}
.lp-s{font-size:15.5px}
.lp-big{font-size:22px}
ol.tl-ph{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid var(--indigo)}
ol.tl-ph li{position:relative;padding:6px 0 10px 8px;display:flex;flex-direction:column;font-size:15px}
ol.tl-ph li::before{content:"";position:absolute;left:-27px;top:9px;width:14px;height:14px;border-radius:50%;background:var(--cyan);border:2px solid var(--indigo)}
ol.tl-ph li.now::before{background:var(--okd);border-color:#fff;box-shadow:0 0 0 2px var(--okd)}
ol.tl-ph li.now b{color:var(--okd)}
@media (max-width:600px){
 .dt-only{display:none}
 .ph-only{display:block}
 .map .mlab{font-size:24px}
 .inset .mlab{font-size:17px}
 .map:not(.inset) .mk-c{r:18px}
 .map:not(.inset) .mk-halo,.map:not(.inset) .mk-ring{r:23px}
 .map:not(.inset) .mk-t{font-size:20px}
 .map .ilab{font-size:22px}.map .ilab2{font-size:18px}
}
@media print{.dt-only{display:block!important}.ph-only{display:none!important}}
.lp-t{font-size:18px}.lp-s{font-size:16.5px}.lp-big{font-size:21px}
svg.loop{max-width:500px}
.pl{font-size:16px}.ps{font-size:13.5px}.pv{font-size:14.5px}
ol.loop-ph{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
ol.loop-ph li{display:flex;gap:12px;align-items:center;background:#fff;border:2px solid var(--indigo);border-radius:12px;padding:9px 12px;font-size:15px;position:relative;margin:0 0 18px}
ol.loop-ph li::after{content:"";position:absolute;left:28px;bottom:-18px;width:3px;height:16px;background:var(--cyan)}
ol.loop-ph li.last{border-style:dashed;margin-bottom:0}
ol.loop-ph li.last::after{display:none}
ol.loop-ph li.hot{background:#E9F8FC;border-color:var(--cyan)}
ol.loop-ph .n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--indigo);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
ol.loop-ph i{color:var(--muted);font-style:normal;font-size:14px}
svg.phc .pl,svg.phc .ps{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}

/* Title rule (Jason, 2026-10-25): one statement per line, never wrapped together */
h1 .t1,h1 .t2{display:block;white-space:nowrap}
.hero h1{font-size:clamp(13px,3.3vw,42px)!important;max-width:none!important}

/* ===== Round 7 (2026-10-25): big graphics, one-line bullets, About pop-up ===== */
ul.b1{margin:6px 0 10px;padding-left:20px;max-width:none}
ul.b1 li{margin:2px 0;line-height:1.45}
ul.b1.cap li{font-size:14px;color:var(--muted)}
ul.b1.cap li .cite{color:var(--muted)}
ul.b1.two{columns:2;column-gap:28px}
ul.b1.two li{break-inside:avoid}
ul.b1.who li{font-size:14.5px}
.panel ul.b1,.fcard ul.b1{font-size:15px}
/* approved heroes and the 9 not advanced (kie.ai art, shared with the executive summary) */
#pilots h3{margin:18px 0 8px;color:var(--indigo)}
.aph{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.aph figure{margin:0;border:2px solid var(--ok);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 5px rgba(78,154,104,.14)}
.aph figcaption{padding:10px 14px 12px;display:flex;flex-direction:column;gap:2px;font-size:15px}
.aph figcaption b{font-size:18px;color:var(--ink)}
.okb{display:inline-flex;align-items:center;gap:6px;color:var(--okd);font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin-right:8px;vertical-align:middle}
.okb svg{width:20px;height:20px}
.kbw{position:relative;overflow:hidden;aspect-ratio:16/9;background:#E9EEF5;container-type:inline-size}
.kb{position:absolute;inset:0;transition:opacity 1.2s ease}
.kb img,.loi img,.n9i img{display:block;width:100%;height:100%;object-fit:cover}
.tag{position:absolute;font-size:11px;line-height:1.15;font-weight:700;color:#1B2233;background:rgba(255,255,255,.88);border-radius:4px;padding:2px 6px;white-space:nowrap;box-shadow:0 1px 3px rgba(27,34,51,.18)}
.kb .tag{font-size:clamp(8px,2.3cqw,14px);padding:.25em .5em}
.nine2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}
.n9{margin:0;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;border:1px dashed #B5BECD;border-radius:10px;background:#F2F4F7;padding:4px 10px 4px 4px}
.n9i{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#EEF1F5}
.n9i::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:screen;
 background:radial-gradient(circle at 30% 45%,rgba(255,214,120,.75) 0 6%,transparent 22%),radial-gradient(circle at 62% 40%,rgba(255,214,120,.7) 0 5%,transparent 20%),radial-gradient(circle at 48% 62%,rgba(255,200,100,.6) 0 7%,transparent 26%)}
.n9 figcaption{display:flex;flex-direction:column;font-size:13px;line-height:1.25;min-width:0}
.n9 figcaption b{font-size:14.5px;color:#3A4254}
.n9 figcaption span{color:var(--muted)}
.n9 figcaption em{font-style:normal;font-weight:700;color:var(--bad);font-size:12.5px}
/* scorecard: 3 large image cards + 5 big-icon rows */
.lo3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 16px}
.lo3 figure{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.lo3 figcaption{padding:10px 14px 12px}
.lo3 h4,.bigc h4,.bigt h4{margin:0 0 2px;font-size:18px;color:var(--indigo);line-height:1.25}
.lo3 .st,.bigc .st{display:block;font-size:13px;font-weight:750;color:var(--bad);letter-spacing:.02em;margin:0 0 2px}
.lo3 .st svg,.bigc .st svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.lo3 ul.b1{font-size:14px;padding-left:18px;margin:4px 0 0}
.loi{position:relative;overflow:hidden;aspect-ratio:4/3;background:#F4F7FB;container-type:inline-size}
.co2{position:absolute;transform:translate(-50%,-50%);font-size:9cqw;font-weight:850;color:#fff;letter-spacing:.02em;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.stmp,.stmp.wide{position:absolute;transform:translate(-50%,-50%) rotate(-10deg);pointer-events:none}
.stmp i{display:block;font-style:normal;font-size:8.2cqw;font-weight:900;color:#C8483A;letter-spacing:.02em;line-height:1;white-space:nowrap;
 padding:2.6cqw 3.6cqw;background:rgba(255,255,255,.92);border:1.4cqw solid #C8483A;border-radius:2.4cqw;box-shadow:0 3px 10px rgba(27,34,51,.25)}
.stmp.wide i{font-size:6.6cqw}
.bigrows{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.bigc{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 20px;position:relative;overflow:hidden}
.bigc::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--badsoft),var(--bad))}
.bigc svg.ic{width:120px;height:120px}
.bigc ul.b1{font-size:15.5px;margin:4px 0 0}
/* site and route problems, recommendations: graphic first and big */
.sites2,.recs2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bigt{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;position:relative}
.bigt .spic svg,.bigt > svg{width:120px;height:120px}
.bigt .pr{display:block;font-size:13.5px;font-weight:750;color:var(--bad);margin:0 0 2px}
.bigt ul.b1{font-size:15px;margin:4px 0 0}
.rc2 .rn{position:absolute;right:14px;top:8px;font-size:30px;font-weight:800;color:#E3E9F3;line-height:1}
.rc2:last-child{grid-column:1/-1}
.fcard{grid-template-columns:110px minmax(0,1fr);align-items:start}
.fcard > svg,.fcard svg.ic{width:110px;height:110px}
.fgrid2{grid-template-columns:minmax(0,1fr)}
.practice svg{width:110px;height:110px}
/* animation: default = final state; html.pre-animate arms it (report.js) */
.loi img{transition:transform .8s cubic-bezier(.2,.8,.3,1),opacity .6s ease}
.stmp i{transition:transform .38s cubic-bezier(.3,1.7,.5,1) 1s,opacity .15s ease 1s}
.n9i img{transition:filter 1.4s ease var(--od,900ms)}
.loi .tag,.loi .co2{transition:opacity .5s ease .6s}
html.pre-animate .obs:not(.in) .kb{opacity:0}
html.pre-animate .obs.in .kb{animation:kenburns 22s ease-in-out .2s infinite alternate}
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.09) translate(-2%,-1.5%)}}
html.pre-animate .obs:not(.in) .loi img{opacity:0;transform:translateY(28px)}
html.pre-animate .obs:not(.in) .stmp i{opacity:0;transform:scale(2.6)}
html.pre-animate .obs:not(.in) .loi .tag,html.pre-animate .obs:not(.in) .loi .co2{opacity:0}
html.pre-animate .obs:not(.in) .n9i img{filter:saturate(1.7) sepia(.35) brightness(1.15)}
html.pre-animate .obs.in .n9i::after{animation:lightsout 1.8s steps(1,end) var(--od,900ms) both}
@keyframes lightsout{0%{opacity:1}30%{opacity:.15}40%{opacity:.9}55%{opacity:.1}65%{opacity:.6}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.kb{animation:none!important;transform:none!important}}
/* About this report */
.about-row{margin:10px 0 0}
.about-btn{font:inherit;font-size:13.5px;font-weight:700;color:#EAF0FA;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 14px;cursor:pointer}
.about-btn:hover,.about-btn:focus-visible{background:rgba(71,200,227,.22);outline:2px solid var(--cyan);outline-offset:2px}
.about{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(5,9,18,.45);padding:16px}
.about[hidden]{display:none}
.about-in{position:relative;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 20px 60px rgba(5,9,18,.35);padding:18px 22px 14px;width:min(760px,100%);max-height:86vh;overflow:auto}
.about-in h3{margin:0 0 6px;color:var(--indigo);font-size:19px}
.about-x{position:absolute;right:10px;top:8px;font:inherit;font-size:18px;line-height:1;border:none;background:none;color:var(--muted);cursor:pointer;padding:6px}
.about-x:focus-visible{outline:2px solid var(--cyan)}
ul.b1.ab{font-size:14px;margin:0}
@media (max-width:860px){
 .aph,.lo3,.sites2,.recs2{grid-template-columns:minmax(0,1fr)}
 .nine2{grid-template-columns:repeat(2,minmax(0,1fr))}
 .n9{grid-template-columns:64px minmax(0,1fr);gap:6px}
 .bigc,.bigt,.fcard{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px}
 .bigc svg.ic,.bigt .spic svg,.bigt > svg,.fcard > svg,.fcard svg.ic,.practice svg{width:72px;height:72px}
 ul.b1.two{columns:1}
 .rc2:last-child{grid-column:auto}
}
@media print{
 html.pre-animate .obs .kb{opacity:1!important;animation:none!important;transform:none!important}
 html.pre-animate .obs .loi img,html.pre-animate .obs .stmp i{opacity:1!important;transform:none!important}
 html.pre-animate .obs .loi .tag,html.pre-animate .obs .loi .co2{opacity:1!important}
 html.pre-animate .obs .n9i img{filter:none!important}
 .n9i::after{display:none}
 .about-row{display:none}
 .about,.about[hidden]{display:block!important;position:static;background:none;padding:0;margin:16px 0}
 .about-in{box-shadow:none;border:1px solid var(--border);width:auto;max-height:none;padding:10px 14px}
 .about-x{display:none}
 ul.b1.ab{columns:2;column-gap:24px;font-size:11.5px}
}
/* round 7 fit: one line per bullet at desktop width */
.bigt{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:16px 20px}
.bigt .spic,.bigt > svg{justify-self:start}
.cl2{grid-template-columns:minmax(0,1fr)!important}
.cli .due{display:inline;margin-left:10px;font-size:13.5px}
.cli .due::before{content:"\00b7\00a0"}
ul.b1.two{columns:1}
.practice{grid-template-columns:110px minmax(0,1fr)!important;align-items:center}
.practice ul.b1{margin:2px 0 0}
@media (max-width:860px){.practice{grid-template-columns:72px minmax(0,1fr)!important}}
/* Phone (Jason, 2026-10-25): title stays large; each statement still starts its own line but may wrap inside itself */
@media (max-width:600px){h1 .t1,h1 .t2{white-space:normal}.hero h1{font-size:30px!important;line-height:1.15}}
