/* ICG reach panel: first thing on the home page. Own dark panel in both themes. */
.reach{ position:relative; overflow:hidden; color:#F6F2E8; background:radial-gradient(1200px 420px at 70% -10%, #17476B 0%, rgba(23,71,107,0) 60%), linear-gradient(180deg,#0B2438 0%,#0A1E30 100%); border-bottom:1px solid rgba(240,196,90,.25); }
.reach *{ box-sizing:border-box; }
.reach-in{ max-width:1160px; margin:0 auto; padding:26px 20px 22px; }
.reach-top{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 24px; }
.reach-eyebrow{ font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#4CC9AE; display:flex; align-items:center; gap:8px; }
.reach-eyebrow i{ width:8px; height:8px; border-radius:50%; background:#4CC9AE; box-shadow:0 0 0 0 rgba(76,201,174,.6); animation:reachDot 1.8s infinite; }
@keyframes reachDot{ 70%{ box-shadow:0 0 0 9px rgba(76,201,174,0); } 100%{ box-shadow:0 0 0 0 rgba(76,201,174,0); } }
.reach h2{ font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:clamp(24px,4.4vw,38px); line-height:1.1; margin:6px 0 0; letter-spacing:-.01em; text-wrap:balance; }
.reach h2 span{ color:#F0C45A; }
.reach-sub{ margin:10px 0 0; max-width:58ch; font-size:15px; line-height:1.55; color:#C5D3DF; }
.reach-stats{ display:grid; grid-template-columns:repeat(3,auto); gap:10px; }
@media (max-width:560px){ .reach-stats{ grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; } .rs{ padding:8px 10px; } .rs small{ font-size:10.5px; } }
.rs{ min-width:0; padding:8px 14px; border:1px solid rgba(246,242,232,.16); border-radius:12px; background:rgba(255,255,255,.04); }
.rs b{ display:block; font-size:clamp(20px,3.6vw,28px); font-weight:700; line-height:1.1; font-variant-numeric:tabular-nums; color:#F0C45A; }
.rs small{ display:block; font-size:11.5px; color:#9CB2C6; margin-top:2px; letter-spacing:.02em; }
.reach-body{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:18px 26px; align-items:center; margin-top:14px; }
@media (max-width:860px){ .reach-body{ grid-template-columns:minmax(0,1fr); } }
.reach-map{ width:100%; height:auto; display:block; }
.reach-map .g{ fill:none; stroke:rgba(246,242,232,.07); stroke-width:1; }
.reach-map .land{ fill:#17344D; stroke:#1F4766; stroke-width:.6; }
.reach-map .lit{ fill:#F0C45A; stroke:rgba(255,255,255,.35); stroke-width:.6; }
.reach-map .arc{ fill:none; stroke:#F0C45A; stroke-width:1.6; stroke-linecap:round; }
.reach-map .dot{ fill:#FFE9A8; }
.reach-map .ring{ fill:none; stroke:#F0C45A; stroke-width:1.4; }
.reach-list{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.reach-list li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; align-items:center; font-size:14.5px; }
.reach-list .nm{ min-width:0; overflow-wrap:anywhere; }
.reach-list .v{ font-variant-numeric:tabular-nums; font-weight:700; color:#F6F2E8; }
.reach-list .bar{ grid-column:1 / -1; height:6px; border-radius:3px; background:rgba(246,242,232,.1); overflow:hidden; }
.reach-list .bar i{ display:block; height:100%; width:0; border-radius:3px; background:linear-gradient(90deg,#4CC9AE,#F0C45A); }
.reach-list .more{ font-size:13.5px; color:#9CB2C6; }
.reach-note{ margin:14px 0 0; font-size:12.5px; line-height:1.55; color:#9CB2C6; max-width:90ch; }
.reach-note a{ color:#4CC9AE; }
.reach .sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
