  :root{
    color-scheme:light; --hdr:53px;
    --afh-dark:#030712; --afh-ink:#020617; --afh-ink-soft:#111827; --afh-slate:#374151; --afh-muted:#6B7280;
    --afh-white:#FFFFFF; --afh-bg-soft:#F7FAF7; --afh-border:#E5E7EB; --afh-border-strong:#DADDE1;
    --afh-gold:#FFB707; --afh-gold-hover:#E0A000; --afh-green:#0D5F43; --afh-green-hover:#267256;
    --afh-mint:#E6EFEC; --afh-blue:#3B82F6; --afh-brown:#7C2D12;
    --stage:#B26A2B; --stage-bg:#FBF1E3; --redirect:#7C2D12; --redirect-bg:#F7ECE7;
    --invest:#0D5F43; --invest-bg:#E9F2ED;
    --shadow:0 1px 2px rgba(3,7,18,.05),0 10px 30px rgba(3,7,18,.06);
    --shadow-sm:0 1px 2px rgba(3,7,18,.06); --shadow-lg:0 26px 70px rgba(0,0,0,.30);
    --r:12px; --rl:16px; --safe-b:env(safe-area-inset-bottom,0px);
  }
  *{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
  html,body{margin:0; background:var(--afh-bg-soft);}
  html{-webkit-text-size-adjust:100%}
  body{font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--afh-ink); background:var(--afh-bg-soft); -webkit-font-smoothing:antialiased; font-size:14px; line-height:1.5; overscroll-behavior-y:none;}
  .serif{font-family:"Spectral",Georgia,serif;}
  button{font-family:inherit}
  img,svg{max-width:100%}
  a{color:inherit}

  /* TOP BAR */
  .topbar{display:flex; align-items:center; gap:10px; padding:11px 16px; padding-top:calc(11px + env(safe-area-inset-top,0px)); background:var(--afh-dark); color:#E8EDF5; position:sticky; top:0; z-index:50;}
  .brand{display:flex; align-items:baseline; gap:8px; font-family:"Spectral",serif; min-width:0; flex:1 1 auto; overflow:hidden;}
  .brand b{font-weight:700; letter-spacing:.01em; font-size:17px; color:#fff; white-space:nowrap; flex:0 0 auto;}
  .brand span{font-weight:600; font-size:13.5px; color:var(--afh-gold); white-space:nowrap; flex:0 1 auto; overflow:hidden; text-overflow:ellipsis;}
  .brand em{font-style:normal; font-weight:500; font-size:12px; color:#9AA4B2; white-space:nowrap; margin-left:2px; overflow:hidden; text-overflow:ellipsis; min-width:0;}
  .tourbtn{display:inline-flex; align-items:center; gap:6px; font:inherit; font-weight:600; font-size:12px; background:rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.22); border-radius:8px; padding:8px 12px; cursor:pointer; transition:.18s; white-space:nowrap; flex:0 0 auto;}
  .tourbtn:hover{background:rgba(255,255,255,.2);}
  .tourbtn svg{width:14px;height:14px; flex:0 0 auto}
  @media(max-width:640px){ .brand em{display:none} .tourbtn .tlabel{display:none} .tourbtn{padding:9px 10px} }
  @media(max-width:360px){ .brand b{font-size:15.5px} .brand span{font-size:12.5px} }

  /* CO-BRAND + CONCEPT NOTICE */
  .cobrand{display:flex; align-items:center; justify-content:space-between; gap:10px 16px; flex-wrap:wrap; padding:9px 16px; background:var(--afh-white); border-bottom:1px solid var(--afh-border);}
  .cobrand .prep{display:flex; align-items:center; gap:10px; min-width:0;}
  .cobrand .pl{font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--afh-muted); font-weight:700; white-space:nowrap;}
  .cobrand .auda{height:26px; width:auto; display:block;}
  .cobrand .disc{font-size:11px; color:var(--redirect); font-weight:600; text-align:right;}
  @media(max-width:640px){ .cobrand{justify-content:center; text-align:center; padding:8px 14px;} .cobrand .disc{width:100%; text-align:center;} }
  .foot-cobrand{display:flex; align-items:center; justify-content:center; gap:10px; margin-top:16px;}
  .foot-cobrand span{font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--afh-muted); font-weight:700;}
  .foot-cobrand img{height:30px; width:auto; display:block;}

  /* TAB STRIP (mobile section nav) */
  .tabstrip{display:none;}
  @media(max-width:899px){
    .tabstrip{display:flex; gap:6px; overflow-x:auto; padding:9px 12px; background:var(--afh-white); border-bottom:1px solid var(--afh-border); position:sticky; top:calc(var(--hdr) + env(safe-area-inset-top,0px)); z-index:45; scrollbar-width:none;}
    .tabstrip::-webkit-scrollbar{display:none}
    .tabstrip a{flex:0 0 auto; font-size:12.5px; font-weight:600; color:var(--afh-slate); background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:999px; padding:7px 13px; white-space:nowrap; text-decoration:none; cursor:pointer; transition:.14s}
    .tabstrip a[aria-current="true"]{background:var(--afh-green); color:#fff; border-color:var(--afh-green)}
    .tabstrip .grp{flex:0 0 auto; align-self:center; width:1px; height:20px; background:var(--afh-border); margin:0 2px}
  }

  /* SHELL */
  .shell{display:block;}
  .rail{display:none;}
  main{padding:18px 15px 40px; max-width:100%;}
  .page-head{margin-bottom:16px;}
  .eyebrow{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--afh-green); font-weight:700;}
  .page-head h1{font-family:"Spectral",serif; font-weight:600; font-size:23px; margin:5px 0 6px; letter-spacing:-.01em; line-height:1.16; color:var(--afh-ink);}
  .page-head p{margin:0; color:var(--afh-slate); font-size:13.5px; max-width:76ch;}
  .page-head .powered{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;font-weight:600;color:var(--afh-muted)}
  .page-head .powered b{color:var(--afh-green)}
  .view{display:none;}
  .view.active{display:block; animation:fade .3s ease;}
  @keyframes fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}
  .sec-lab{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--afh-muted); font-weight:700; margin:22px 0 10px;}
  .illus-note{font-size:11px;color:var(--afh-muted);font-style:italic;margin:10px 0 0}

  /* EXEC / HERO BAND */
  .exec{position:relative; overflow:hidden; background:var(--afh-dark); color:#E8EDF5; border-radius:var(--rl); padding:20px; margin-bottom:16px; box-shadow:var(--shadow);}
  .exec::after{content:""; position:absolute; right:-50px; top:-50px; width:220px; height:220px; background:radial-gradient(circle,rgba(255,183,7,.16),transparent 70%); pointer-events:none;}
  .exec .lab{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--afh-gold); font-weight:700;}
  .exec .big{font-family:"Spectral",serif; font-weight:600; font-size:34px; line-height:1.05; margin:8px 0 2px; color:#fff;}
  .exec .sub{font-size:12.5px; color:#AEB7C4; max-width:62ch;}
  .exec .foot{font-size:10.5px;color:#8A94A3;margin-top:11px;font-style:italic;max-width:64ch}
  .exec .splits{display:grid; grid-template-columns:1fr 1fr 1fr; gap:9px; margin-top:15px;}
  .split{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:11px 12px;}
  .split .n{font-family:"Spectral",serif; font-size:19px; font-weight:600; color:#fff;}
  .split .t{font-size:11px; color:#AEB7C4; margin-top:1px; line-height:1.3;}
  .split.invest .n{color:#6FD3A8} .split.stage .n{color:#F0B65A} .split.redirect .n{color:#E39B86}

  /* CARDS */
  .card{background:var(--afh-white); border:1px solid var(--afh-border); border-radius:var(--rl); box-shadow:var(--shadow-sm); margin-bottom:16px;}
  .card-h{padding:14px 16px 0; display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
  .card-h h3{font-family:"Spectral",serif; font-weight:600; font-size:15.5px; margin:0; color:var(--afh-ink);}
  .card-h p{margin:3px 0 0; font-size:12px; color:var(--afh-muted);}
  .card-h .tagi{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--afh-muted);background:var(--afh-bg-soft);border:1px solid var(--afh-border);padding:3px 8px;border-radius:6px;white-space:nowrap;flex:0 0 auto}
  .card-b{padding:14px 16px 16px;}
  .linkrow{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--afh-green);cursor:pointer;margin-top:12px}
  .linkrow svg{width:14px;height:14px}

  /* PROGRESS */
  .prog{display:flex; flex-direction:column; gap:13px;}
  .prow .pr-top{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px;}
  .prow .pr-k{font-size:13px; font-weight:600; color:var(--afh-ink-soft);}
  .prow .pr-v{font-family:"Spectral",serif; font-size:14px; font-weight:600;}
  .track{height:9px; background:var(--afh-mint); border-radius:6px; overflow:hidden;}
  .track i{display:block; height:100%; border-radius:6px; width:0; transition:width .9s cubic-bezier(.2,.7,.2,1);}
  .lvl-hi i{background:var(--invest)} .lvl-hi .pr-v{color:var(--invest)}
  .lvl-mid i{background:var(--stage)} .lvl-mid .pr-v{color:var(--stage)}
  .lvl-lo i{background:var(--redirect)} .lvl-lo .pr-v{color:var(--redirect)}

  /* KPI */
  .kpis{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .kpi{background:var(--afh-white); border:1px solid var(--afh-border); border-radius:12px; padding:13px 14px;}
  .kpi .n{font-family:"Spectral",serif; font-weight:600; font-size:22px; color:var(--afh-ink);}
  .kpi .l{font-size:11.5px; color:var(--afh-muted); margin-top:2px; line-height:1.3;}

  /* GAPS + INSIGHTS */
  .gaps{display:flex; flex-wrap:wrap; gap:8px;}
  .gap{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--redirect); background:var(--redirect-bg); border:1px solid #EAD5CC; border-radius:999px; padding:6px 11px;}
  .gap svg{width:12px;height:12px;stroke-width:2.4}
  .insight{display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:start; padding:12px 0; border-bottom:1px solid var(--afh-border);}
  .insight:last-child{border-bottom:0}
  .insight .ai{width:28px;height:28px;border-radius:8px;background:var(--afh-dark);color:var(--afh-gold);display:grid;place-items:center;flex:0 0 auto;font-weight:700;font-size:11px; margin-top:1px}
  .insight .it{font-size:12.5px;color:var(--afh-slate);line-height:1.45}
  .insight .it b{color:var(--afh-ink-soft)}
  .insight .flag{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--afh-green);margin-bottom:2px}
  .whitelist{display:flex;flex-direction:column}
  .wrow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--afh-border)}
  .wrow:last-child{border-bottom:0}
  .wrow .wt{font-size:13px;font-weight:600;color:var(--afh-ink-soft)}
  .wrow .ws{font-size:11.5px;color:var(--afh-muted);margin-top:1px}
  .wrow .wtag{font-size:10.5px;font-weight:700;color:var(--afh-green);background:var(--invest-bg);padding:4px 9px;border-radius:999px;white-space:nowrap}

  /* MEMBER STATES */
  .mtools{display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin:6px 0 12px;}
  .mtools .fb{font:inherit; font-size:12px; font-weight:600; color:var(--afh-slate); background:var(--afh-white); border:1px solid var(--afh-border-strong); border-radius:999px; padding:6px 12px; cursor:pointer;}
  .mtools .fb[aria-pressed="true"]{background:var(--afh-ink-soft); color:#fff; border-color:var(--afh-ink-soft);}
  .mtools .hint{margin-left:auto; font-size:11px; color:var(--afh-muted);}
  .mgrid{display:grid; grid-template-columns:1fr; gap:10px;}
  .mcard{background:var(--afh-white); border:1px solid var(--afh-border); border-radius:var(--r); padding:13px 14px; cursor:pointer; transition:.15s; display:grid; grid-template-columns:34px 1fr auto; gap:12px; align-items:center;}
  .mcard:hover{box-shadow:var(--shadow); border-color:var(--afh-border-strong);}
  .mrank{width:34px;height:34px;border-radius:9px;background:var(--afh-mint);color:var(--afh-green);display:grid;place-items:center;font-family:"Spectral",serif;font-weight:600;font-size:15px}
  .mname{font-size:14px;font-weight:600;color:var(--afh-ink-soft)}
  .msub{font-size:11.5px;color:var(--afh-muted);margin-top:1px}
  .mscore{text-align:right;white-space:nowrap}
  .mscore .sv{font-family:"Spectral",serif;font-weight:600;font-size:17px;color:var(--afh-ink)}
  .mscore .yoy{font-size:11px;font-weight:600}
  .yoy.up{color:var(--invest)} .yoy.down{color:var(--redirect)} .yoy.flat{color:var(--afh-muted)}
  .mbar{grid-column:1/-1;height:6px;background:var(--afh-mint);border-radius:4px;overflow:hidden;margin-top:2px}
  .mbar i{display:block;height:100%;background:var(--afh-green);border-radius:4px}

  /* NATIONAL DASHBOARD */
  .nat-hd{display:flex;align-items:center;gap:12px;margin-bottom:12px}
  .nat-hd .flag{width:44px;height:44px;border-radius:11px;background:var(--afh-mint);color:var(--afh-green);display:grid;place-items:center;font-family:"Spectral",serif;font-weight:600;font-size:18px;flex:0 0 auto}
  .nat-hd .nm{font-family:"Spectral",serif;font-weight:600;font-size:19px;color:var(--afh-ink);line-height:1.15}
  .nat-hd .rg{font-size:12px;color:var(--afh-muted)}
  .nat-score{margin-left:auto;text-align:right}
  .nat-score .v{font-family:"Spectral",serif;font-weight:600;font-size:24px;color:var(--afh-green)}
  .nat-score .l{font-size:10px;color:var(--afh-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:700}
  .nat-policy{font-size:12.5px;color:var(--afh-slate);background:var(--afh-bg-soft);border:1px solid var(--afh-border);border-radius:10px;padding:10px 12px;margin-bottom:13px;line-height:1.45}
  .nat-policy b{color:var(--afh-ink-soft)}
  .nat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}
  .stat{background:var(--afh-white);border:1px solid var(--afh-border);border-radius:10px;padding:10px 12px}
  .stat .sv{font-family:"Spectral",serif;font-weight:600;font-size:17px;color:var(--afh-ink)}
  .stat .sl{font-size:10.5px;color:var(--afh-muted);margin-top:1px;line-height:1.25}
  .stat .st{font-size:10px;font-weight:600;margin-top:3px}
  .stat .st.up{color:var(--invest)} .stat .st.warn{color:var(--stage)}
  .tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
  .ttag{font-size:11px;font-weight:600;padding:4px 9px;border-radius:7px}
  .ttag.s{color:var(--invest);background:var(--invest-bg)} .ttag.w{color:var(--redirect);background:var(--redirect-bg)}
  .eco-row{display:flex;justify-content:space-between;gap:8px;text-align:center;margin-top:4px}
  .eco{flex:1;background:var(--afh-bg-soft);border:1px solid var(--afh-border);border-radius:10px;padding:9px 4px}
  .eco .n{font-family:"Spectral",serif;font-weight:600;font-size:16px;color:var(--afh-green)}
  .eco .l{font-size:9.5px;color:var(--afh-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-top:1px}

  /* IMPLEMENTATION rows */
  .rows{display:flex; flex-direction:column; gap:10px;}
  .row{background:var(--afh-white); border:1px solid var(--afh-border); border-left:4px solid var(--line-c,var(--afh-border-strong)); border-radius:var(--r); overflow:hidden; transition:.15s;}
  .row.invest{--line-c:var(--invest)} .row.stage{--line-c:var(--stage)} .row.redirect{--line-c:var(--redirect)}
  .row.hi{--line-c:var(--invest)} .row.mid{--line-c:var(--stage)} .row.lo{--line-c:var(--redirect)}
  .row:hover{box-shadow:var(--shadow);}
  .row-head{display:grid; grid-template-columns:1fr auto; gap:10px; padding:13px 14px; cursor:pointer; align-items:start;}
  .row .pr{font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--afh-green); font-weight:700; margin-bottom:3px;}
  .row .ttl{font-family:"Spectral",serif; font-weight:600; font-size:15px; color:var(--afh-ink); line-height:1.25;}
  .row .drv{font-size:12px; color:var(--afh-slate); margin-top:4px; line-height:1.4;}
  .row .rt{text-align:right; white-space:nowrap;}
  .row .spend{font-family:"Spectral",serif; font-weight:600; font-size:16px; color:var(--afh-ink);}
  .row .spend small{display:block; font-family:"Inter"; font-weight:500; font-size:10px; color:var(--afh-muted); letter-spacing:.02em;}
  .row .pct{font-family:"Spectral",serif;font-weight:600;font-size:18px}
  .row.hi .pct{color:var(--invest)} .row.mid .pct{color:var(--stage)} .row.lo .pct{color:var(--redirect)}
  .status{display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; margin-top:7px;}
  .status.invest,.status.hi{color:var(--invest); background:var(--invest-bg)} .status.stage,.status.mid{color:var(--stage); background:var(--stage-bg)} .status.redirect,.status.lo{color:var(--redirect); background:var(--redirect-bg)}
  .status .dot{width:6px; height:6px; border-radius:50%; background:currentColor}
  .minibar{height:7px;background:var(--afh-mint);border-radius:5px;overflow:hidden;margin-top:9px}
  .minibar i{display:block;height:100%;border-radius:5px}
  .hi .minibar i{background:var(--invest)} .mid .minibar i{background:var(--stage)} .lo .minibar i{background:var(--redirect)}
  .chips{display:flex; gap:6px; flex-wrap:wrap; margin-top:9px;}
  .chip{font-size:10.5px; font-weight:600; padding:3px 8px; border-radius:6px; background:var(--afh-bg-soft); color:var(--afh-slate); border:1px solid var(--afh-border);}
  .chip.grade{color:var(--afh-green); border-color:#CFE3D9; background:#EEF6F1}
  .row-body{display:none; padding:0 14px 14px; border-top:1px dashed var(--afh-border);}
  .row.open .row-body{display:block; animation:fade .25s ease;}
  .rb-lab{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--afh-muted); font-weight:700; margin:13px 0 7px;}
  .action-box{background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:10px; padding:11px 12px; font-size:13px; color:var(--afh-slate); line-height:1.5;}
  .action-box b{color:var(--afh-ink);}
  .action-box.warn{background:var(--redirect-bg);border-color:#EAD5CC}
  .action-box.rec{background:var(--invest-bg);border-color:#CFE3D9}
  .milestone{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:6px 0}
  .msdot{width:15px;height:15px;border-radius:50%;margin-top:1px;flex:0 0 auto;display:grid;place-items:center}
  .msdot svg{width:9px;height:9px;stroke-width:3}
  .msdot.done{background:var(--invest);color:#fff} .msdot.on{background:var(--stage);color:#fff} .msdot.risk{background:var(--redirect-bg);color:var(--redirect);border:1.5px solid var(--redirect)}
  .mstext{font-size:12.5px;color:var(--afh-slate);line-height:1.4}
  .mstext .msstat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-left:2px}
  .msstat.done{color:var(--invest)} .msstat.on{color:var(--stage)} .msstat.risk{color:var(--redirect)}
  .kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:12.5px;margin:2px 0}
  .kv .k{color:var(--afh-muted);font-weight:600;white-space:nowrap}
  .kv .v{color:var(--afh-ink-soft)}
  .cite{border-left:2px solid var(--afh-green); padding:2px 0 2px 11px; margin:9px 0; cursor:pointer;}
  .cite:hover .cite-t{color:var(--afh-green-hover); text-decoration:underline;}
  .cite-t{font-size:12.5px; font-weight:600; color:var(--afh-ink-soft); line-height:1.35;}
  .cite-m{font-size:11px; color:var(--afh-muted); margin-top:2px;}

  /* INVESTMENT filters */
  .filters{display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin:6px 0 10px;}
  .filters .fb{font:inherit; font-size:12px; font-weight:600; color:var(--afh-slate); background:var(--afh-white); border:1px solid var(--afh-border-strong); border-radius:999px; padding:7px 13px; cursor:pointer; transition:.15s;}
  .filters .fb[aria-pressed="true"]{background:var(--afh-ink-soft); color:#fff; border-color:var(--afh-ink-soft);}
  .filters .count{margin-left:auto; font-size:11.5px; color:var(--afh-muted); font-weight:500;}

  /* RESEARCH LANDSCAPE */
  .fields{display:flex;flex-direction:column;gap:11px}
  .frow .ft{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}
  .frow .ft b{color:var(--afh-ink-soft);font-weight:600} .frow .ft span{color:var(--afh-muted)}
  .inst{display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:11px 0; border-bottom:1px solid var(--afh-border);}
  .inst:last-child{border-bottom:0}
  .inst .ri{width:30px;height:30px;border-radius:8px;background:var(--afh-mint);color:var(--afh-green);display:grid;place-items:center;font-family:"Spectral",serif;font-weight:600;font-size:13px}
  .inst .nm{font-size:13px; font-weight:600; color:var(--afh-ink-soft);}
  .inst .sc{font-size:11px; color:var(--afh-muted); margin-top:1px}
  .inst .out{text-align:right;font-size:11px;color:var(--afh-muted)}
  .inst .out b{display:block;font-family:"Spectral",serif;font-size:15px;color:var(--afh-ink);font-weight:600}
  .net{width:100%;height:210px;display:block}
  .netlabel{font-size:11px;color:var(--afh-muted);text-align:center;margin-top:6px}
  .profiles{display:grid;grid-template-columns:1fr;gap:10px}
  .profile{display:grid;grid-template-columns:auto 1fr;gap:12px;background:var(--afh-bg-soft);border:1px solid var(--afh-border);border-radius:12px;padding:12px 13px;align-items:center}
  .pav{width:42px;height:42px;border-radius:50%;background:var(--afh-dark);color:var(--afh-gold);display:grid;place-items:center;font-family:"Spectral",serif;font-weight:600;font-size:15px}
  .pf .pn{font-size:13px;font-weight:600;color:var(--afh-ink-soft)}
  .pf .pd{font-size:11.5px;color:var(--afh-muted);margin-top:1px}
  .pf .pm{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
  .pf .pm span{font-size:11px;color:var(--afh-slate)}
  .pf .pm b{color:var(--afh-green)}

  /* OBSERVATORY FEED */
  .feed-filters{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
  .feed-filters .fb{font:inherit;font-size:11.5px;font-weight:600;color:var(--afh-slate);background:var(--afh-white);border:1px solid var(--afh-border-strong);border-radius:999px;padding:6px 11px;cursor:pointer}
  .feed-filters .fb[aria-pressed="true"]{background:var(--afh-green);color:#fff;border-color:var(--afh-green)}
  .fitem{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:12px 0;border-bottom:1px solid var(--afh-border)}
  .fitem:last-child{border-bottom:0}
  .fdate{font-size:10.5px;font-weight:700;color:var(--afh-muted);white-space:nowrap;padding-top:2px;width:52px}
  .ftitle{font-size:13px;font-weight:600;color:var(--afh-ink-soft);line-height:1.35}
  .fmeta{font-size:11px;color:var(--afh-muted);margin-top:2px}
  .ftag{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:6px;margin-top:5px}
  .ftag.policy{color:var(--afh-green);background:var(--afh-mint)} .ftag.grant{color:var(--stage);background:var(--stage-bg)}
  .ftag.pub{color:var(--afh-ink-soft);background:var(--afh-bg-soft)} .ftag.patent{color:var(--redirect);background:var(--redirect-bg)}
  .ftag.hub{color:var(--afh-green);background:var(--invest-bg)} .ftag.au{color:#2A1E00;background:#FDECC0}

  /* PIPELINE */
  .funnel{display:flex;flex-direction:column;gap:7px;align-items:center}
  .fstage{width:100%;display:flex;align-items:center;gap:12px}
  .fstage .bar{height:40px;border-radius:9px;background:linear-gradient(90deg,var(--afh-green),#0A4E38);display:flex;align-items:center;padding:0 12px;color:#fff;transition:width .8s cubic-bezier(.2,.7,.2,1);min-width:0;overflow:hidden}
  .fstage .bar .fn{font-family:"Spectral",serif;font-weight:600;font-size:15px;white-space:nowrap}
  .fstage .flab{font-size:11.5px;color:var(--afh-slate);font-weight:600;flex:0 0 116px}
  .kt{display:flex;flex-direction:column;gap:0}
  .ktstep{display:grid;grid-template-columns:26px 1fr;gap:11px;position:relative;padding-bottom:14px}
  .ktstep:not(:last-child)::before{content:"";position:absolute;left:12px;top:26px;bottom:0;width:2px;background:var(--afh-border)}
  .ktdot{width:26px;height:26px;border-radius:50%;background:var(--afh-mint);color:var(--afh-green);display:grid;place-items:center;font-weight:700;font-size:11px;z-index:1}
  .ktc .kk{font-size:12.5px;font-weight:600;color:var(--afh-ink-soft)}
  .ktc .ke{font-size:11.5px;color:var(--afh-muted);margin-top:1px;line-height:1.4}

  /* BRIEFS */
  .brief-hero{background:var(--afh-mint); border:1px solid #CFE3D9; border-radius:var(--rl); padding:16px 17px; margin-bottom:14px;}
  .brief-hero .serif{font-size:16px; font-weight:600; color:var(--afh-ink); line-height:1.45;}
  .brief-hero .serif b{color:var(--afh-green)}
  .rec{border:1px solid var(--afh-border); border-radius:12px; padding:12px 14px; margin-bottom:10px; background:var(--afh-white);}
  .rec .rl{font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin-bottom:5px;}
  .rec.invest .rl{color:var(--invest)} .rec.stage .rl{color:var(--stage)} .rec.redirect .rl{color:var(--redirect)}
  .rec p{margin:0; font-size:12.5px; color:var(--afh-slate); line-height:1.5} .rec p b{color:var(--afh-ink-soft)}
  .meal-row{display:grid; grid-template-columns:1fr auto; gap:10px; padding:9px 0; border-bottom:1px solid var(--afh-border); font-size:12.5px;}
  .meal-row:last-child{border-bottom:0}
  .meal-row .k{color:var(--afh-slate)} .meal-row .v{color:var(--afh-green); font-weight:600; white-space:nowrap}
  .gov .g{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; padding:10px 0; border-bottom:1px solid var(--afh-border);}
  .gov .g:last-child{border-bottom:0}
  .gov .gi{width:30px;height:30px;border-radius:8px;background:var(--afh-mint);color:var(--afh-green);display:grid;place-items:center}
  .gov .gi svg{width:16px;height:16px;stroke-width:2}
  .gov .gt{font-size:12.5px;color:var(--afh-slate);line-height:1.4}
  .gov .gt b{color:var(--afh-ink-soft); display:block; margin-bottom:1px}
  .cta{display:inline-flex; align-items:center; gap:8px; font:inherit; font-weight:700; font-size:13px; background:var(--afh-gold); color:#2A1E00; border:0; padding:11px 16px; border-radius:10px; cursor:pointer; transition:.15s; margin-top:4px;}
  .cta:hover{background:var(--afh-gold-hover);}

  /* OPS / ABOUT */
  .proof-badge{display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:700; color:var(--invest); background:var(--invest-bg); border:1px solid #CFE3D9; padding:5px 11px; border-radius:999px; margin-bottom:12px;}
  .proof-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--invest); animation:pulse 2s infinite}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
  .chart{display:flex; align-items:flex-end; gap:10px; height:150px; padding:0 4px; border-bottom:1px solid var(--afh-border);}
  .colw{flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end;}
  .col{width:100%; max-width:38px; background:linear-gradient(180deg,var(--afh-green),#0A4E38); border-radius:6px 6px 0 0; transition:height .7s cubic-bezier(.2,.7,.2,1);}
  .colw span{font-size:10.5px; color:var(--afh-muted); font-weight:600}
  .axkey{display:flex; justify-content:space-between; font-size:10.5px; color:var(--afh-muted); margin-top:8px; font-weight:600;}
  .note{font-size:11.5px; color:var(--afh-muted); line-height:1.5; margin-top:12px; padding:11px 12px; background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:10px;}
  .note b{color:var(--afh-ink-soft)}
  .prose{font-size:13px;color:var(--afh-slate);line-height:1.6}
  .prose b{color:var(--afh-ink-soft)}
  .disclaim{background:#FFF7E6;border:1px solid #F5E2B0;border-radius:12px;padding:13px 14px;font-size:12.5px;color:#5C4A12;line-height:1.55}
  .disclaim b{color:#3F320B}

  /* FOOTER */
  .footer{padding:22px 16px 40px; text-align:center;}
  .footer .fl{font-family:"Spectral",serif; font-weight:600; font-size:14px; color:var(--afh-ink-soft);}
  .footer .fp{font-size:11.5px; color:var(--afh-muted); margin-top:5px; max-width:58ch; margin-left:auto; margin-right:auto; line-height:1.5}

  /* MODAL */
  .modal{position:fixed; inset:0; z-index:60; display:none; align-items:flex-end; justify-content:center;}
  .modal.on{display:flex}
  .modal .scrim{position:absolute; inset:0; background:rgba(3,7,18,.5); backdrop-filter:blur(2px)}
  .sheet{position:relative; width:100%; max-width:540px; background:var(--afh-white); border-radius:18px 18px 0 0; box-shadow:var(--shadow-lg); max-height:88vh; overflow:auto; animation:up .28s cubic-bezier(.2,.7,.2,1);}
  @keyframes up{from{transform:translateY(100%)} to{transform:none}}
  .sheet-h{position:sticky; top:0; background:var(--afh-white); display:flex; align-items:center; gap:10px; padding:15px 16px 12px; border-bottom:1px solid var(--afh-border); z-index:2}
  .sheet-h .st{font-family:"Spectral",serif; font-weight:600; font-size:15px; flex:1; color:var(--afh-ink)}
  .x{width:30px;height:30px;border-radius:8px;border:1px solid var(--afh-border);background:var(--afh-white);cursor:pointer;display:grid;place-items:center;color:var(--afh-slate)}
  .sheet-b{padding:15px 16px 26px}
  .src-tier{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--afh-green);background:#EEF6F1;border:1px solid #CFE3D9;padding:4px 10px;border-radius:999px;margin-bottom:11px}
  .src-title{font-family:"Spectral",serif;font-weight:600;font-size:16px;color:var(--afh-ink);line-height:1.35;margin-bottom:6px}
  .src-meta{font-size:12px;color:var(--afh-muted);margin-bottom:13px}
  .src-block{margin-bottom:13px}
  .src-block .h{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--afh-muted);font-weight:700;margin-bottom:4px}
  .src-block p{margin:0;font-size:13px;color:var(--afh-slate);line-height:1.5} .src-block p b{color:var(--afh-ink-soft)}

  /* TOUR */
  .tour{position:fixed; inset:0; z-index:70; display:none;} .tour.on{display:block}
  .tour .tscrim{position:absolute; inset:0; background:rgba(3,7,18,.62)}
  .tcard{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); width:calc(100% - 32px); max-width:440px; background:var(--afh-white); border-radius:16px; box-shadow:var(--shadow-lg); padding:17px 18px; animation:fade .25s ease;}
  .tcard .step{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--afh-green); font-weight:700}
  .tcard h4{font-family:"Spectral",serif; font-weight:600; font-size:17px; margin:6px 0 7px; color:var(--afh-ink)}
  .tcard p{margin:0; font-size:13px; color:var(--afh-slate); line-height:1.5}
  .tcard .row2{display:flex; align-items:center; gap:10px; margin-top:15px}
  .tcard .dots{display:flex; gap:5px; flex:1; flex-wrap:wrap}
  .tcard .dots i{width:6px;height:6px;border-radius:50%;background:var(--afh-border-strong)}
  .tcard .dots i.on{background:var(--afh-gold); width:16px; border-radius:3px}
  .tcard .skip{font:inherit;font-size:12.5px;font-weight:600;color:var(--afh-muted);background:none;border:0;cursor:pointer;padding:8px}
  .tcard .next{font:inherit;font-size:12.5px;font-weight:700;color:#2A1E00;background:var(--afh-gold);border:0;border-radius:9px;padding:9px 16px;cursor:pointer}
  .tcard .next:hover{background:var(--afh-gold-hover)}

  /* THREE-DIMENSION SCORECARD */
  .dims{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:6px 0 4px}
  .dim{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:12px 12px}
  .dim .dn{font-family:"Spectral",serif;font-weight:600;font-size:27px;line-height:1;color:#fff}
  .dim .dl{font-size:11.5px;font-weight:700;color:#EAF0F7;margin-top:5px}
  .dim .dd{font-size:10.5px;color:#9AA4B2;margin-top:2px;line-height:1.3}
  .dim.d1 .dn{color:#6FD3A8} .dim.d2 .dn{color:#F0B65A} .dim.d3 .dn{color:#8FB8F2}
  .exec .foot a{color:var(--afh-gold);font-weight:600;text-decoration:none;font-style:normal;cursor:pointer;white-space:nowrap}
  .exec .foot a:hover{text-decoration:underline}
  @media(max-width:560px){ .dims{grid-template-columns:1fr} .dim{display:flex;align-items:baseline;gap:10px} .dim .dn{font-size:22px} .dim .dl{margin-top:0} .dim .dd{flex:1 1 100%} }

  /* PROVENANCE */
  .provbox{border:1px solid var(--afh-border);border-radius:10px;overflow:hidden}
  .provrow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 11px;font-size:12px;border-bottom:1px solid var(--afh-border);align-items:center}
  .provrow:last-of-type{border-bottom:0}
  .provrow .pk{color:var(--afh-ink-soft);font-weight:600}
  .provrow .pv{color:var(--afh-muted);text-align:right}
  .provrow .pv em{font-style:normal;font-weight:700}
  .val-ok{color:var(--invest)} .val-pend{color:var(--stage)} .val-draft{color:var(--afh-muted)}
  .provnote{font-size:11px;color:var(--afh-muted);padding:9px 11px;background:var(--afh-bg-soft);line-height:1.5}
  .provlink{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--afh-green);cursor:pointer;margin-top:9px}
  .provlink svg{width:13px;height:13px}
  .prov-field{margin-bottom:11px}
  .prov-field .h{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--afh-muted);font-weight:700;margin-bottom:2px}
  .prov-field .v{font-size:13px;color:var(--afh-ink-soft)}
  .prov-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}

  /* VALIDATION WORKFLOW */
  .validate{border:1px solid var(--afh-border);border-radius:11px;padding:11px 12px;margin-bottom:13px;background:var(--afh-bg-soft)}
  .vtop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .vchip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
  .vchip.ok{color:var(--invest);background:var(--invest-bg)} .vchip.pend{color:var(--stage);background:var(--stage-bg)} .vchip.draft{color:var(--afh-muted);background:var(--afh-white);border:1px solid var(--afh-border)}
  .vchip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
  .vmeta{font-size:11px;color:var(--afh-muted)}
  .vrole{font-size:10.5px;color:var(--afh-muted);margin-top:8px;font-style:italic}
  .vactions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
  .vbtn{font:inherit;font-size:11.5px;font-weight:600;border-radius:8px;padding:7px 11px;cursor:pointer;border:1px solid var(--afh-border-strong);background:var(--afh-white);color:var(--afh-slate)}
  .vbtn.primary{background:var(--afh-green);color:#fff;border-color:var(--afh-green)}
  .vbtn:hover{filter:brightness(.98)}
  .vresult{font-size:11.5px;color:var(--invest);font-weight:600;margin-top:8px;display:none}
  .vresult.on{display:block}
  .mval{grid-column:1/-1;font-size:10px;font-weight:700;margin-top:3px}
  .mval.ok{color:var(--invest)} .mval.pend{color:var(--stage)} .mval.draft{color:var(--afh-muted)}

  /* PROGRAMMES / DECISIONS (implementation) */
  .prog-item{border:1px solid var(--afh-border);border-radius:10px;padding:10px 11px;margin-bottom:8px;background:var(--afh-white)}
  .prog-item .pt{font-size:12.5px;font-weight:600;color:var(--afh-ink-soft);display:flex;justify-content:space-between;gap:8px;align-items:baseline}
  .prog-item .pstat{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
  .pstat.done{color:var(--invest)} .pstat.on{color:var(--stage)} .pstat.risk{color:var(--redirect)}
  .prog-item .pmeta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
  .prog-item .pmeta span{font-size:11px;color:var(--afh-muted)}
  .prog-item .pmeta b{color:var(--afh-slate);font-weight:600}
  .decisions{list-style:none;margin:0;padding:0}
  .decisions li{display:grid;grid-template-columns:auto 1fr;gap:9px;font-size:12.5px;color:var(--afh-slate);line-height:1.45;padding:5px 0}
  .decisions li::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--afh-gold);margin-top:6px}

  /* BRIEF BUILDER */
  .btypes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
  .btypes .fb{font:inherit;font-size:12px;font-weight:600;color:var(--afh-slate);background:var(--afh-white);border:1px solid var(--afh-border-strong);border-radius:999px;padding:7px 13px;cursor:pointer}
  .btypes .fb[aria-pressed="true"]{background:var(--afh-ink-soft);color:#fff;border-color:var(--afh-ink-soft)}
  .bscope{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
  .bscope label{font-size:11.5px;font-weight:600;color:var(--afh-muted)}
  .bscope select{font:inherit;font-size:12.5px;font-weight:600;color:var(--afh-ink-soft);background:var(--afh-white);border:1px solid var(--afh-border-strong);border-radius:9px;padding:8px 10px}
  .bprev{background:var(--afh-white);border:1px solid var(--afh-border);border-radius:12px;padding:14px 15px;margin-bottom:12px}
  .bprev .baud{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--afh-green);font-weight:700}
  .bprev .btitle{font-family:"Spectral",serif;font-weight:600;font-size:17px;color:var(--afh-ink);margin:5px 0 8px;line-height:1.25}
  .bprev ul{margin:0;padding-left:18px} .bprev li{font-size:12.5px;color:var(--afh-slate);line-height:1.5;margin:2px 0}

  /* MODE SWITCH (countries / RECs) */
  .modeswitch{display:inline-flex;background:var(--afh-white);border:1px solid var(--afh-border-strong);border-radius:999px;padding:3px;margin-bottom:12px}
  .modeswitch button{font:inherit;font-size:12px;font-weight:600;color:var(--afh-slate);background:none;border:0;border-radius:999px;padding:7px 14px;cursor:pointer}
  .modeswitch button[aria-pressed="true"]{background:var(--afh-green);color:#fff}
  .reccard{background:var(--afh-white);border:1px solid var(--afh-border);border-radius:var(--r);padding:13px 14px;cursor:pointer;transition:.15s;margin-bottom:10px}
  .reccard:hover{box-shadow:var(--shadow);border-color:var(--afh-border-strong)}
  .rectop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .recname{font-size:14px;font-weight:600;color:var(--afh-ink-soft)}
  .recsub{font-size:11.5px;color:var(--afh-muted);margin-top:1px}
  .recavg{font-family:"Spectral",serif;font-weight:600;font-size:17px;color:var(--afh-green)}
  .recbar{height:6px;background:var(--afh-mint);border-radius:4px;overflow:hidden;margin-top:9px}
  .recbar i{display:block;height:100%;background:var(--afh-green);border-radius:4px}
  .backlink{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--afh-green);cursor:pointer;margin-bottom:10px}
  .backlink svg{width:14px;height:14px}

  /* INFRASTRUCTURE BAND */
  .infra-band{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--afh-mint);border:1px solid #CFE3D9;border-radius:var(--rl);padding:14px 16px;margin-bottom:16px}
  .infra-band .ib-txt{font-size:13px;color:var(--afh-slate);line-height:1.5;flex:1 1 240px} .infra-band .ib-txt b{color:var(--afh-green)}
  .ib-btn{font:inherit;font-weight:700;font-size:12.5px;color:#2A1E00;background:var(--afh-gold);border:0;border-radius:9px;padding:9px 14px;cursor:pointer;white-space:nowrap} .ib-btn:hover{background:var(--afh-gold-hover)}

  /* DIGITAL TWIN */
  .twin{position:relative;display:flex;flex-direction:column;gap:0}
  .twin-layer{position:relative;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;background:var(--afh-white);border:1px solid var(--afh-border);border-radius:12px;padding:12px 13px;cursor:pointer;transition:.15s;z-index:1}
  .twin-layer:not(:last-child){margin-bottom:22px}
  .twin-layer:not(:last-child)::after{content:"";position:absolute;left:31px;top:100%;height:22px;width:2px;background:var(--afh-border-strong);z-index:0}
  .twin-layer:hover{box-shadow:var(--shadow);border-color:var(--afh-green)}
  .twin-ic{width:38px;height:38px;border-radius:10px;background:var(--afh-dark);color:var(--afh-gold);display:grid;place-items:center;font-family:"Spectral",serif;font-weight:600;font-size:12px}
  .twin-nm{font-size:14px;font-weight:600;color:var(--afh-ink-soft)} .twin-h{font-size:11.5px;color:var(--afh-muted);margin-top:1px;line-height:1.35}
  .twin-ct{text-align:right;white-space:nowrap} .twin-ct b{display:block;font-family:"Spectral",serif;font-size:14px;color:var(--afh-green);font-weight:600} .twin-ct span{font-size:10px;color:var(--afh-muted)}

  /* WHY AFRICAHIED — STACK & CAPS */
  .stack{display:flex;flex-direction:column;gap:6px}
  .tier{border-radius:12px;padding:13px 14px;color:#fff}
  .tier .tl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.9}
  .tier .tt{font-family:"Spectral",serif;font-weight:600;font-size:15px;margin-top:2px}
  .tier .td{font-size:11.5px;margin-top:4px;opacity:.92;line-height:1.45}
  .tier.foundation{background:var(--afh-dark)} .tier.foundation .tl{color:var(--afh-gold);opacity:1}
  .tier.platform{background:var(--afh-green)}
  .tier.apps{background:var(--afh-mint);color:var(--afh-ink-soft);border:1px solid #CFE3D9}
  .tier.apps .tl{color:var(--afh-green)}
  .chips2{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
  .chips2 span{font-size:11px;font-weight:600;color:var(--afh-green);background:var(--afh-white);border:1px solid #CFE3D9;border-radius:999px;padding:4px 10px}
  .stack .arrow{text-align:center;color:var(--afh-muted);font-size:11px;font-weight:700;letter-spacing:.04em}
  .caps{display:grid;grid-template-columns:1fr;gap:9px}
  .capi{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-size:12.5px;color:var(--afh-slate);line-height:1.4}
  .capi svg{width:16px;height:16px;color:var(--invest);margin-top:1px;flex:0 0 auto}
  .whypt{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:11px 0;border-bottom:1px solid var(--afh-border)}
  .whypt:last-child{border-bottom:0}
  .whyn{width:26px;height:26px;border-radius:8px;background:var(--afh-mint);color:var(--afh-green);display:grid;place-items:center;font-family:"Spectral",serif;font-weight:600;font-size:13px;flex:0 0 auto}
  .whypt .wt{font-size:12.5px;color:var(--afh-slate);line-height:1.45} .whypt .wt b{color:var(--afh-ink-soft)}
  @media(min-width:900px){ .caps{grid-template-columns:1fr 1fr} }

  /* DESKTOP */
  @media(min-width:900px){
    .shell{display:grid; grid-template-columns:246px 1fr; align-items:start;}
    .rail{display:flex; flex-direction:column; gap:2px; position:sticky; top:53px; height:calc(100vh - 53px); padding:16px 12px; border-right:1px solid var(--afh-border); background:var(--afh-white); overflow:auto}
    .rail .rlab{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--afh-muted);font-weight:700;padding:8px 12px 4px}
    .rail a{display:flex; align-items:center; gap:11px; padding:9px 12px; border-radius:10px; color:var(--afh-slate); text-decoration:none; cursor:pointer; font-size:13px; font-weight:600; position:relative; transition:.14s;}
    .rail a svg{width:17px;height:17px;stroke-width:1.9; color:var(--afh-muted); flex:0 0 auto}
    .rail a:hover{background:var(--afh-bg-soft)}
    .rail a[aria-current="true"]{background:var(--afh-mint); color:var(--afh-ink-soft)}
    .rail a[aria-current="true"] svg{color:var(--afh-green)}
    .rail a[aria-current="true"]::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--afh-gold)}
    .rail-foot{margin-top:auto;padding:12px;border-top:1px solid var(--afh-border);font-size:11px;color:var(--afh-muted);line-height:1.5}
    .rail-foot b{color:var(--afh-green)}
    main{padding:26px 34px 44px; max-width:980px;}
    .page-head h1{font-size:27px}
    .kpis{grid-template-columns:repeat(4,1fr)}
    .mgrid{grid-template-columns:1fr 1fr}
    .profiles{grid-template-columns:1fr 1fr}
    .modal{align-items:center}
    .sheet{border-radius:16px; max-height:84vh}
    .tcard{bottom:auto; top:50%; transform:translate(-50%,-50%)}
    .two-col{display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start}
    .two-col .card{margin-bottom:0}
  }

/* ===== production additions: a11y, focus, reduced-motion, wide screens ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--afh-dark);color:#fff;padding:10px 14px;border-radius:0 0 10px 0;font:600 13px/1 "Inter",system-ui,sans-serif}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,[data-view]:focus-visible,[data-goto]:focus-visible,[data-prov]:focus-visible,[data-va]:focus-visible{outline:3px solid var(--afh-gold);outline-offset:2px;border-radius:6px}
main:focus{outline:none}
@media (min-width:1500px){ .shell{max-width:1560px;margin-inline:auto} }
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
