*{margin:0;padding:0;box-sizing:border-box}
:root{
  --a:#F97316;--ad:#EA580C;--al:#FFEDD5;--am:#FFF7ED;
  --bg:#FFFFFF;--c:#F9FAFB;--c2:#F3F4F6;
  --b:#E5E7EB;--ba:#FDBA74;
  --t:#0F172A;--t2:#334155;--t3:#64748B;--t4:#94A3B8;
  --rh:#DC2626;--rhb:#FEF2F2;--rhd:#FECACA;
  --rm:#EA580C;--rmb:#FFF7ED;--rmd:#FDBA74;
  --rl:#059669;--rlb:#ECFDF5;--rld:#A7F3D0;
  --f:'Space Grotesk',sans-serif;--m:'Space Mono',monospace;
}
body{font-family:var(--f);background:var(--bg);color:var(--t);line-height:1.72;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.pg{max-width:860px;margin:0 auto;padding:56px 40px}

/* ─── TYPOGRAPHY ─── */
h2{font-size:24px;font-weight:700;color:var(--t);margin:56px 0 8px;padding-bottom:10px;border-bottom:2px solid var(--a);opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
h2.vis{opacity:1;transform:translateY(0)}
h3{font-size:17px;font-weight:700;color:var(--t);margin:32px 0 10px}
h4{font-size:14px;font-weight:700;color:var(--t2);margin:20px 0 6px}
p{color:var(--t2);margin-bottom:14px}
p strong{color:var(--t)}
hr{border:none;border-top:1px solid var(--b);margin:40px 0}

/* ─── HEADER ─── */
.hdr{text-align:center;padding:0 0 48px;border-bottom:2px solid var(--b);margin-bottom:48px}
.hdr h1{font-size:38px;font-weight:700;color:var(--t);margin-bottom:4px;opacity:0;animation:fadeUp .8s .2s forwards}
.hdr h1 span{color:var(--a)}
.hdr .sub{font-size:14px;color:var(--t3);opacity:0;animation:fadeUp .8s .4s forwards}
.hdr .meta{font-family:var(--m);font-size:9.5px;color:var(--t4);margin-top:14px;letter-spacing:.8px;text-transform:uppercase;opacity:0;animation:fadeUp .8s .6s forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.hdr h1,.hdr .sub,.hdr .meta{transform:translateY(16px)}

/* ─── VISUAL TITLE ─── */
.vt{font-size:18px;font-weight:600;color:var(--t3);margin:28px 0 20px}

/* ─── REVEAL SYSTEM ─── */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.rv.vis{opacity:1;transform:translateY(0)}
.stag>.rv-ch{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.stag.vis>.rv-ch{opacity:1;transform:translateY(0)}

/* ─── CHAIN ─── */
.chain{display:flex;flex-direction:column;align-items:center;gap:16px;margin:20px 0 28px}
.chain-row{display:flex;align-items:center;justify-content:center;gap:0}
.cn{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:16px 18px;text-align:center;min-width:115px;opacity:0;transform:translateY(16px) scale(.95);transition:all .5s ease}
.cn.vis{opacity:1;transform:translateY(0) scale(1)}
.cn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.06);border-color:var(--ba)}
.cn .ci{font-size:22px;margin-bottom:5px;display:block}
.cn .cl2{font-size:12px;font-weight:600;color:var(--t)}
.cn .cs2{font-size:9.5px;color:var(--t3);font-family:var(--m)}
.ca{color:var(--a);font-size:16px;padding:0 7px;font-weight:700;opacity:0;transition:opacity .4s}
.ca.vis{opacity:1}
.chain-conn{position:relative;width:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding-bottom:22px}
.chain-conn .cline{width:100%;height:2px;position:relative;overflow:hidden;border-radius:2px;background:var(--b)}
.chain-conn .cline::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--b),var(--a));border-radius:2px}
.chain-conn .cdot{position:absolute;top:50%;left:-9px;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--a);box-shadow:0 0 6px var(--al);opacity:0}
.chain-conn.vis .cdot{animation:slideRight 1.6s linear infinite}
.chain-conn .clabel{font-size:7.5px;color:var(--t3);font-family:var(--m);letter-spacing:.02em;white-space:nowrap;text-align:center;line-height:1.3;opacity:0;transition:opacity .4s}
.chain-conn.vis .clabel{opacity:1}
@keyframes slideRight{0%{left:-9px;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% + 2px);opacity:0}}
.chain-bridge{display:flex;flex-direction:column;align-items:center;gap:3px;align-self:center;opacity:0;transition:opacity .5s ease}
.chain-bridge.vis{opacity:1}
.chain-bridge .cb-vert{width:2px;height:36px;position:relative;overflow:hidden;border-radius:2px;background:var(--b)}
.chain-bridge .cb-vert::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--b),var(--a));border-radius:2px}
.chain-bridge .cb-vdot{position:absolute;left:50%;top:-9px;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:var(--a);box-shadow:0 0 6px var(--al);opacity:0}
.chain-bridge.vis .cb-vdot{animation:slideDown 1.6s linear infinite .6s}
.chain-bridge .cb-arr{color:var(--a);font-size:10px;line-height:1;margin-top:-1px}
.chain-bridge .clabel{font-size:7.5px;color:var(--a);font-family:var(--m);letter-spacing:.03em;margin-top:1px}
@keyframes slideDown{0%{top:-9px;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% + 2px);opacity:0}}

/* ─── CAPABILITY GRID ─── */
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 28px}
.cc{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:20px 18px;border-top:3px solid var(--a);transition:all .3s}
.cc:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.08);border-top-color:var(--ad)}
.cc .ci2{font-size:20px;margin-bottom:6px;display:block}
.cc h4{margin:0 0 4px;font-size:12.5px;font-weight:700;color:var(--t)}
.cc p{font-size:11px;color:var(--t3);margin:0;line-height:1.5}

/* ─── STAT GRID (4-col) ─── */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 28px}
.sc{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:22px 16px;text-align:center;transition:all .3s}
.sc:hover{border-color:var(--ba);box-shadow:0 4px 16px rgba(249,115,22,.07)}
.sc .sv{font-family:var(--m);font-size:24px;font-weight:700;color:var(--a)}
.sc .sl{font-size:11px;color:var(--t3);margin-top:4px;line-height:1.4}
.sc .ss{font-family:var(--m);font-size:9px;color:var(--t4);margin-top:5px;letter-spacing:.5px}

/* ─── BAR CHART ─── */
.vpanel{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:24px;margin:20px 0 28px}
.vpanel h4{margin:0 0 16px;font-size:13px;color:var(--t3);font-weight:600}
.bc{display:flex;align-items:flex-end;gap:20px;height:180px;border-bottom:1px solid var(--b);padding-bottom:2px}
.bg{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}
.br{width:50px;border-radius:5px 5px 0 0;position:relative;height:0;transition:height 1.2s cubic-bezier(.22,1,.36,1)}
.br .bv{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:9.5px;font-family:var(--m);font-weight:700;color:var(--t);white-space:nowrap;opacity:0;transition:opacity .5s .8s}
.bc.vis .br .bv{opacity:1}
.bl{font-size:10px;color:var(--t3);margin-top:9px;text-align:center;font-weight:500}
.bcagr{font-size:9px;color:var(--ad);font-family:var(--m);font-weight:700}

/* ─── LEGISLATION TIMELINE ─── */
.leg{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:20px 0 28px}
.lgi{background:var(--al);border:1px solid var(--ba);padding:18px 14px;text-align:center;position:relative;transition:all .3s}
.lgi:first-child{border-radius:10px 0 0 10px}
.lgi:last-child{border-radius:0 10px 10px 0}
.lgi:not(:last-child)::after{content:'→';position:absolute;right:-8px;top:50%;transform:translateY(-50%);color:var(--ad);font-size:14px;font-weight:700;z-index:2;background:var(--al);padding:0 2px}
.lgi:hover{background:var(--am);z-index:1}
.lgi .lyr{font-family:var(--m);font-size:9.5px;font-weight:700;color:var(--ad);letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}
.lgi h4{font-size:12px;font-weight:700;color:var(--t);margin:0 0 4px}
.lgi p{font-size:10px;color:var(--t2);margin:0;line-height:1.5}
.lgi .lstatus{display:inline-block;font-family:var(--m);font-size:8.5px;font-weight:700;padding:2px 7px;border-radius:20px;margin-top:6px;letter-spacing:.3px}
.lgi .lst-law{background:#DCFCE7;color:#166534}
.lgi .lst-active{background:#FFEDD5;color:#92400E}
.lgi .lst-pending{background:#F1F5F9;color:#475569}

/* ─── GTM STEPS ─── */
.gs{display:flex;gap:0;margin:20px 0 24px}
.gst{flex:1;background:var(--c);padding:20px 12px;text-align:center;border:1px solid var(--b);position:relative;transition:all .3s}
.gst:first-child{border-radius:10px 0 0 10px}
.gst:last-child{border-radius:0 10px 10px 0}
.gst:hover{background:var(--am);border-color:var(--ba)}
.gst .sn{font-family:var(--m);font-size:22px;font-weight:700;color:var(--a)}
.gst h4{font-size:12px;font-weight:700;color:var(--t);margin:4px 0 3px}
.gst p{font-size:9px;color:var(--t4);margin:0;line-height:1.4}
.gsta{position:absolute;right:-6px;top:50%;transform:translateY(-50%);z-index:2;color:var(--a);font-size:12px;font-weight:700}

/* ─── DONUTS ─── */
.dr{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0 28px}
.dc{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:22px 16px;text-align:center;transition:all .3s}
.dc:hover{border-color:var(--ba);box-shadow:0 4px 16px rgba(249,115,22,.06)}
.dc h4{font-size:13px;font-weight:600;color:var(--t);margin:0 0 14px}
.dc svg{display:block;margin:0 auto 14px}
.dc svg circle{transition:stroke-dashoffset 1.4s cubic-bezier(.22,1,.36,1)}
.dl{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding-left:14px}
.dli{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--t3)}
.dd{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* ─── TABLES ─── */
table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0 24px}
thead th{background:var(--c2);padding:9px 12px;text-align:left;font-weight:700;color:var(--ad);font-size:10px;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--a)}
tbody td{padding:9px 12px;border-bottom:1px solid var(--b);color:var(--t2)}
tbody tr:last-child td{border-bottom:none}
.hl td{background:var(--am);color:var(--t);font-weight:500}
.chk{color:#059669;font-weight:700}
.xm{color:var(--t4)}
.tbl-rv tbody tr{opacity:0;transform:translateX(-10px);transition:all .4s ease}
.tbl-rv.vis tbody tr{opacity:1;transform:translateX(0)}

/* ─── INSIGHTS ─── */
.ins-g{display:flex;flex-direction:column;gap:10px;margin:20px 0 28px}
.ins-c{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:16px 20px;border-left:4px solid var(--a);transition:all .3s}
.ins-c:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(249,115,22,.07)}
.ins-c .in-num{font-family:var(--m);font-size:18px;font-weight:700;color:var(--a);margin-bottom:2px;display:block}
.ins-c p{font-size:12.5px;color:var(--t2);margin:0;line-height:1.65}

/* ─── GAP GRID ─── */
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 28px}
.gc{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:20px 16px;border-left:3px solid var(--a);transition:all .3s}
.gc:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(249,115,22,.08);border-left-color:var(--ad)}
.gc .gi{font-size:18px;margin-bottom:6px;display:block}
.gc h4{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--t)}
.gc p{font-size:10.5px;color:var(--t3);margin:0;line-height:1.5}

/* ─── RISK GRID ─── */
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 28px}
.rc{border-radius:10px;padding:20px 16px;transition:all .3s}
.rc:hover{transform:translateY(-2px)}
.rc.high{background:var(--rhb);border:1px solid var(--rhd);border-left:4px solid var(--rh)}
.rc.med{background:var(--rmb);border:1px solid var(--rmd);border-left:4px solid var(--rm)}
.rc.low{background:var(--rlb);border:1px solid var(--rld);border-left:4px solid var(--rl)}
.rc .rlvl{font-family:var(--m);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.rc.high .rlvl{color:var(--rh)}.rc.med .rlvl{color:var(--rm)}.rc.low .rlvl{color:var(--rl)}
.rc h4{font-size:12px;font-weight:700;color:var(--t);margin:0 0 4px}
.rc p{font-size:10.5px;color:var(--t2);margin:0;line-height:1.5}
.rc.high:hover{box-shadow:0 4px 12px rgba(220,38,38,.08)}
.rc.med:hover{box-shadow:0 4px 12px rgba(234,88,12,.08)}
.rc.low:hover{box-shadow:0 4px 12px rgba(5,150,105,.08)}

/* ─── CALLOUT ─── */
.callout{background:var(--al);border:1px solid var(--ba);border-left:3px solid var(--a);border-radius:0 10px 10px 0;padding:14px 18px;margin:12px 0 24px;font-size:12.5px;color:var(--t2);line-height:1.65}
.callout strong{color:var(--t)}

/* ─── FOOTER ─── */
.ftr{text-align:center;padding:36px 0 12px;border-top:2px solid var(--b);margin-top:48px;font-size:9.5px;color:var(--t4);font-family:var(--m);letter-spacing:.5px;line-height:2}

/* ─── RESPONSIVE ─── */
@media(max-width:768px){
  .sg{grid-template-columns:1fr 1fr}
  .cg,.gg,.rg{grid-template-columns:1fr 1fr}
  .dr{grid-template-columns:1fr}
  .leg{grid-template-columns:1fr 1fr}
  .lgi:not(:last-child)::after{display:none}
  .gs{flex-direction:column}.gst{border-radius:8px!important}.gsta{display:none}
  .chain-row{flex-direction:column}.ca{transform:rotate(90deg)}
  .bc{height:140px;gap:10px}
  .pg{padding:24px 16px}
}
@media print{
  .rv,.rv-ch,.cn,.ca,.chain-bridge,.chain-conn{opacity:1!important;transform:none!important}
  body *{animation:none!important}
}
@media(prefers-reduced-motion:reduce){
  .rv,.rv-ch,.cn,.ca{opacity:1!important;transform:none!important}
  body *{animation:none!important;transition:none!important}
}
