/* ════════════════════════════════════════════════
   Goals Spotlight — homepage odometer + rotating goals (Addendum C)
   Tokens (--neon-*, --iris-violet, --font-*, --bg-panel, --line, --text*)
   live in main.css :root (post PATCH-01.1). Included on index.php only.
   ════════════════════════════════════════════════ */
.gs{max-width:1160px;margin:0 auto;padding:104px 28px}
.gs__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:stretch}

/* the odometer */
.gs__meter{border:1px solid var(--line);background:var(--bg-panel);backdrop-filter:blur(8px);padding:30px 32px;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);display:flex;flex-direction:column;justify-content:center}
.gs__meter-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--neon-cyan);display:flex;align-items:center;gap:10px}
.gs__meter-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--neon-green);box-shadow:0 0 10px var(--neon-green);animation:gs-blink 2.4s infinite}
@keyframes gs-blink{0%,100%{opacity:1}50%{opacity:.35}}
.gs__over{font-family:var(--font-display);font-size:clamp(26px,3.4vw,40px);line-height:1.12;margin-top:12px}
.gs__over em{font-style:normal;color:var(--neon-green);text-shadow:0 0 22px rgba(57,255,20,.4)}
.gs__count{font-family:var(--font-mono);font-size:clamp(28px,4vw,46px);font-weight:700;letter-spacing:.04em;color:var(--neon-cyan);text-shadow:0 0 20px rgba(0,245,255,.5);margin-top:12px;font-variant-numeric:tabular-nums}
.gs__caption{margin-top:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}

/* rotating goal card */
.gs__rota{position:relative;border:1px solid var(--line);background:var(--bg-panel);backdrop-filter:blur(8px);padding:26px 26px 60px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));min-height:280px}
.gs__slide{display:none;animation:gs-in .4s cubic-bezier(.2,.8,.2,1)}
.gs__slide.is-on{display:block}
@keyframes gs-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.gs__slide{animation:none}.gs__meter-eyebrow::before{animation:none}}
.gs__slide-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px}
.gs__slide-tag--star{color:var(--iris-violet)}
.gs__slide-tag--fund{color:var(--neon-green)}
.gs__slide-tag--aware{color:var(--neon-cyan)}
.gs__slide-tag--comm{color:var(--iris-violet)}
.gs__slide-tag--next{color:var(--text-dim)}
.gs__slide-big{font-family:var(--font-display);font-size:clamp(24px,2.8vw,34px);line-height:1.12}
.gs__slide-big em{font-style:normal;color:var(--neon-green)}
.gs__slide-big .c{color:var(--neon-cyan)}.gs__slide-big .v{color:var(--iris-violet)}
.gs__slide-body{margin-top:10px;font-size:13.5px;line-height:1.6;color:var(--text-dim)}
.gs__slide-body b{color:var(--text)}
.gs__bar{margin-top:14px;height:9px;border:1px solid rgba(0,245,255,.4);background:rgba(0,245,255,.05);position:relative;overflow:hidden}
.gs__bar-fill{position:absolute;inset:1px auto 1px 1px;background:linear-gradient(90deg,var(--neon-green),var(--neon-cyan) 65%,var(--iris-violet));box-shadow:0 0 12px rgba(0,245,255,.55)}
.gs__bar-label{display:flex;justify-content:space-between;margin-top:5px;font-family:var(--font-mono);font-size:9.5px;color:var(--text-dim)}
.gs__dots{position:absolute;left:26px;bottom:22px;display:flex;gap:8px}
.gs__dot{width:8px;height:8px;transform:rotate(45deg);background:transparent;border:1px solid var(--text-dim);cursor:pointer;padding:0}
.gs__dot.is-here{background:var(--neon-green);border-color:var(--neon-green);box-shadow:0 0 8px rgba(57,255,20,.8)}
.gs__dot:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px}
.gs__more{position:absolute;right:24px;bottom:18px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon-cyan);text-decoration:none}
.gs__more:hover{text-shadow:0 0 10px rgba(0,245,255,.7)}
@media (max-width:900px){.gs__grid{grid-template-columns:1fr}.gs{padding:72px 20px}}
