/* ===================================================================
   GrooveSteps design system: "The Practice Room"
   Paper cream, charcoal instruments, brass accents and a hot "hit" accent.
   Type: Bricolage Grotesque (display) / DM Sans (body) / JetBrains Mono.
   Shell components are scoped under .gs-*; legacy token names are kept
   (purple and green now carry brass and success) so older page code and
   the drum scripts that read them restyle without markup changes.
   =================================================================== */
:root{
  --gs-bg:#171d1b; --gs-bg-2:#1c2421; --gs-surface:#232c28; --gs-surface-2:#2c3731;
  --gs-border:#424c44; --gs-border-soft:#303a33; --gs-border-strong:#758176;
  --gs-ink:#f5f1e8; --gs-ink-soft:#d0d6ce; --gs-ink-mute:#a5b2a7;
  --gs-brass:#efbe57; --gs-brass-lt:#f8d78d; --gs-brass-dk:#b8862a;
  --gs-hit:#ff6b3d; --gs-teal:#4cc9b8; --gs-good:#8fd694; --gs-miss:#ff7a6b;
  /* legacy names, remapped */
  --gs-purple:var(--gs-brass); --gs-purple-lt:var(--gs-brass-lt); --gs-purple-dk:var(--gs-brass-dk);
  --gs-green:var(--gs-good); --gs-green-dk:#5fae6a;
  --gs-shadow:0 18px 50px -20px rgba(0,0,0,.8),0 4px 14px -6px rgba(0,0,0,.55);
  --gs-head-h:76px;
  --gs-r-sm:5px; --gs-r:10px; --gs-r-lg:16px;
  --gs-ease:cubic-bezier(.2,.8,.2,1);
  --gs-font-disp:"Bricolage Grotesque","DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gs-font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gs-font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}

/* ---------- baseline that every page can rely on ---------- */
:where(body){margin:0;}
/* anchors and focus scrolling land below the sticky header and section bar */
html{scroll-padding-top:calc(var(--gs-head-h) + 60px);}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--gs-brass);outline-offset:2px;}
::selection{background:var(--gs-brass);color:#16110a;}

/* Quiet studio wall; motion is reserved for the instruments. */
.gs-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--gs-bg)}

/* ---------- skip link ---------- */
.gs-skip{position:absolute;left:12px;top:-60px;z-index:100001;background:var(--gs-brass);color:#16110a;
  font:700 .95rem/1 var(--gs-font-body);padding:12px 16px;border-radius:var(--gs-r-sm);text-decoration:none;}
.gs-skip:focus{top:12px;}

/* ---------- GLOBAL HEADER ---------- */
.gs-header{--gs-ink:#202821;--gs-ink-soft:#485349;--gs-ink-mute:#5e685e;--gs-brass-lt:#805c0b;--gs-good:#24734e;--gs-green:#24734e;--gs-border:#c5c7ba;--gs-border-soft:#d8d9cb;
  position:sticky;top:0;z-index:100000;font-family:var(--gs-font-body);background:#f4f1e7;border-bottom:1px solid #c5c7ba;color:#202821;}
.gs-header *{box-sizing:border-box;}
.gs-header-inner{max-width:1320px;margin:0 auto;padding:0 32px;height:var(--gs-head-h);display:flex;align-items:center;gap:16px;}
.gs-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--gs-ink);white-space:nowrap;}
.gs-mark{width:30px;height:30px;flex:none;overflow:visible;}
.gs-mark-pad{fill:#9ca897;transition:fill .2s;}
.gs-mark-on{fill:var(--gs-brass);}
.gs-mark-floor{stroke:#697763;stroke-width:1.6;stroke-linecap:round;fill:none;}
.gs-logo:hover .gs-mark-pad{animation:gsStepHit .9s steps(1) infinite;}
.gs-logo:hover .gs-mark-pad:nth-of-type(2){animation-delay:.225s}
.gs-logo:hover .gs-mark-pad:nth-of-type(3){animation-delay:.45s}
.gs-logo:hover .gs-mark-pad:nth-of-type(4){animation-delay:.675s}
@keyframes gsStepHit{0%{fill:var(--gs-hit)}25%,100%{fill:rgba(244,237,225,.26)}}
.gs-wordmark{font-family:var(--gs-font-disp);font-weight:750;font-size:1.4rem;letter-spacing:-.045em;font-variation-settings:"opsz" 40;line-height:1;}
.gs-wordmark b{font-weight:800;color:var(--gs-brass);}

.gs-mainnav{margin-left:auto;display:flex;align-items:center;gap:2px;}
.gs-mainnav a{position:relative;color:var(--gs-ink-soft);text-decoration:none;font-size:.95rem;font-weight:500;
  padding:9px 12px;border-radius:6px;transition:color .15s,background-color .15s;}
.gs-mainnav a:hover{color:var(--gs-ink);background:rgba(32,40,33,.07);}
.gs-mainnav a.is-active,.gs-mainnav a.gs-active{color:var(--gs-brass-lt);}
.gs-mainnav a.is-active::after,.gs-mainnav a.gs-active::after{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;margin-left:-2.5px;border-radius:2px;background:var(--gs-brass);}
.gs-mainnav .gs-cta{margin-left:6px;color:#f4f1e7;font-weight:700;background:#202821;padding:12px 18px;border-radius:6px;}
.gs-mainnav .gs-cta:hover{background:#35483b;color:#fff;}
.gs-mainnav .gs-cta::after{display:none;}

/* donate button: always one tap away */
.gs-donate{display:inline-flex;align-items:center;gap:7px;}
.gs-mainnav .gs-donate{color:#974525;border:1px solid #c9b499;padding:8px 15px;margin-left:6px;}
.gs-mainnav .gs-donate:hover{color:#6d2d14;background:#e9e3d2;border-color:#974525;}
.gs-donate svg{width:17px;height:17px;fill:var(--gs-hit);flex:none;}
.gs-donate:hover svg{animation:gsBeat .9s var(--gs-ease) infinite;}
@keyframes gsBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.12)}}
.gs-donate--compact{display:none;margin-left:auto;width:42px;height:40px;justify-content:center;border-radius:12px;
  border:1px solid rgba(255,107,61,.6);background:rgba(255,107,61,.1);}
.gs-donate--compact svg{width:20px;height:20px;}

/* ---------- SECTION SUB-NAV ---------- */
.gs-subnav{border-top:1px solid var(--gs-border-soft);background:#eae9dd;font-family:var(--gs-font-body);}
.gs-subnav-inner{max-width:1320px;margin:0 auto;padding:0 12px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.gs-subnav-inner::-webkit-scrollbar{display:none;}
.gs-subnav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;color:var(--gs-ink-mute);text-decoration:none;font-size:.88rem;font-weight:500;
  padding:11px 12px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s;}
.gs-subnav a::before{content:"";width:6px;height:6px;border-radius:2px;background:#a0a794;transition:background-color .15s;}
.gs-subnav a:hover{color:var(--gs-ink);}
.gs-subnav a:hover::before{background:rgba(244,237,225,.5);}
.gs-subnav a.is-active,.gs-subnav a.gs-active{color:var(--gs-brass-lt);border-bottom-color:var(--gs-brass);}
.gs-subnav a.is-active::before,.gs-subnav a.gs-active::before{background:var(--gs-hit);}

/* ---------- MOBILE HEADER ---------- */
.gs-burger{display:none;width:44px;height:40px;background:transparent;border:1px solid var(--gs-border);border-radius:12px;cursor:pointer;padding:0;flex:none;}
.gs-burger span{display:block;width:18px;height:2px;margin:3px auto;background:var(--gs-ink);border-radius:2px;transition:transform .2s,opacity .2s;}
.gs-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.gs-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.gs-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
@media(max-width:1000px){
  .gs-burger{display:block;}
  .gs-donate--compact{display:inline-flex;}
  .gs-mainnav{position:fixed;top:var(--gs-head-h);left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:2px;
    background:#f4f1e7;border-bottom:1px solid var(--gs-border);padding:10px 12px 16px;box-shadow:var(--gs-shadow);
    transform:translateY(-12px);opacity:0;visibility:hidden;transition:transform .22s var(--gs-ease),opacity .18s,visibility 0s .22s;
    max-height:calc(100vh - var(--gs-head-h));overflow-y:auto;}
  .gs-header.gs-open .gs-mainnav{transform:none;opacity:1;visibility:visible;transition:transform .22s var(--gs-ease),opacity .18s;}
  .gs-mainnav a{padding:14px 14px;border-radius:12px;font-size:1.02rem;}
  .gs-mainnav a.is-active::after{left:auto;right:16px;top:50%;bottom:auto;margin:-2.5px 0 0;}
  .gs-mainnav .gs-donate,.gs-mainnav .gs-cta{margin:6px 0 0;justify-content:center;text-align:center;}
}
@media(max-width:380px){.gs-wordmark{font-size:1.12rem;}.gs-header-inner{gap:10px;padding:0 14px;}}

/* ---------- shared bits ---------- */
.gs-kicker{font-family:var(--gs-font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gs-brass);margin:0 0 10px;font-weight:600;}
.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .98rem/1 var(--gs-font-body);padding:15px 22px;border-radius:6px;
  text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s var(--gs-ease),background-color .15s,color .15s,border-color .15s;}
.gs-btn--primary{background:var(--gs-brass);color:#16110a;}
.gs-btn--primary:hover{background:var(--gs-brass-lt);transform:translateY(-1px);}
.gs-btn--ghost{color:var(--gs-ink);border-color:var(--gs-border-strong);background:rgba(244,237,225,.03);}
.gs-btn--ghost:hover{border-color:var(--gs-ink-soft);background:rgba(244,237,225,.08);}

/* ---------- payment buttons ---------- */
.gs-pay-row{display:flex;flex-wrap:wrap;gap:12px;}
.gs-pay-row--stack{flex-direction:column;}
.gs-pay{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:9px 20px 9px 9px;border-radius:16px;text-decoration:none;
  font-family:var(--gs-font-body);transition:transform .15s var(--gs-ease),box-shadow .2s,filter .15s;box-shadow:0 10px 24px -14px rgba(0,0,0,.9);}
.gs-pay:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 30px -14px rgba(0,0,0,.95);}
.gs-pay:focus-visible{outline:3px solid var(--gs-brass-lt);outline-offset:3px;}
.gs-pay-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;font:800 1.35rem/1 var(--gs-font-disp);flex:none;}
.gs-pay-text{display:flex;flex-direction:column;gap:3px;line-height:1.15;}
.gs-pay-text b{font-weight:700;font-size:1rem;}
.gs-pay-text small{font-size:.82rem;font-weight:500;opacity:.88;}
.gs-pay--cashapp{background:#00d632;color:#062010;}
.gs-pay--cashapp .gs-pay-icon{background:#062010;color:#00d632;}
.gs-pay--venmo{background:#0074de;color:#fff;}
.gs-pay--venmo .gs-pay-icon{background:#fff;color:#0074de;font-style:italic;}

.gs-qr-row{display:flex;gap:14px;}
.gs-qr-row figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:7px;}
.gs-qr-row img{display:block;width:96px;height:96px;border-radius:10px;background:#f5f1e8;padding:4px;}
.gs-qr-row figcaption{font-size:.75rem;color:var(--gs-ink-mute);font-family:var(--gs-font-mono);letter-spacing:.06em;}

/* ---------- FOOTER ---------- */
.gs-footer{margin-top:80px;border-top:1px solid var(--gs-border-soft);font-family:var(--gs-font-body);color:var(--gs-ink-soft);
  background:#18211c;position:relative;}
.gs-footer *{box-sizing:border-box;}
.gs-footer a:not(.gs-pay){color:var(--gs-ink-soft);text-decoration:none;}
.gs-footer a:not(.gs-pay):hover{color:var(--gs-brass-lt);}
.gs-footer .gs-logo{color:var(--gs-ink)!important;}
.gs-support{max-width:1160px;margin:-44px auto 0;padding:30px 32px;display:grid;grid-template-columns:1.25fr auto auto;gap:28px 36px;align-items:center;
  border:1px solid rgba(233,180,76,.28);border-radius:var(--gs-r-lg);
  background:radial-gradient(120% 140% at 0% 0%,rgba(233,180,76,.14),transparent 55%),linear-gradient(160deg,#211b14,#15120e);
  box-shadow:var(--gs-shadow);}
.gs-support h2{font-family:var(--gs-font-disp);font-weight:750;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.15;letter-spacing:-.02em;color:var(--gs-ink);margin:0 0 10px;max-width:24ch;}
.gs-support p{margin:0;font-size:.95rem;line-height:1.6;color:var(--gs-ink-soft);max-width:52ch;}
.gs-support .gs-kicker{margin-bottom:8px;}
.gs-support .gs-pay-row{flex-direction:column;}
.gs-support-kid{display:none;margin-top:12px!important;padding:10px 14px;border-radius:12px;background:rgba(76,201,184,.1);border:1px solid rgba(76,201,184,.3);}
.gs-support-kid a{color:var(--gs-teal)!important;text-decoration:underline!important;}
.gs-footer-inner{max-width:1160px;margin:0 auto;padding:44px 32px 36px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;}
.gs-foot-brand .gs-logo{margin-bottom:12px;}
.gs-foot-brand p{font-size:.92rem;color:var(--gs-ink-mute);margin:0;max-width:34ch;line-height:1.55;}
.gs-foot-col h3{font-family:var(--gs-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gs-brass);margin:4px 0 12px;font-weight:600;}
.gs-foot-col a{display:block;font-size:.93rem;padding:6px 0;}
.gs-foot-legal{border-top:1px solid var(--gs-border-soft);font-size:.82rem;color:var(--gs-ink-mute);text-align:center;padding:18px 20px 26px;}
.gs-foot-legal a{color:var(--gs-brass-lt)!important;}

.gs-footer-inner--net{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;}
@media(max-width:980px){
  .gs-footer-inner--net{grid-template-columns:1fr 1fr;}
  .gs-support{grid-template-columns:1fr auto;margin:-44px 20px 0;}
  .gs-support .gs-qr-row{display:none;}
  .gs-footer-inner{grid-template-columns:1fr 1fr 1fr;padding:40px 20px 32px;}
  .gs-foot-brand{grid-column:1/-1;}
}
@media(max-width:640px){
  .gs-support{grid-template-columns:1fr;padding:24px 20px;margin:-32px 14px 0;}
  .gs-support .gs-pay-row .gs-pay{width:100%;}
  .gs-footer-inner{grid-template-columns:1fr 1fr;gap:24px;}
}

/* ---------- donate dialog ---------- */
.gs-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid var(--gs-border);border-radius:var(--gs-r-lg);
  background:linear-gradient(170deg,#211b14,#14110d 60%);color:var(--gs-ink);box-shadow:0 40px 90px -30px #000;font-family:var(--gs-font-body);}
.gs-dialog[open]{animation:gsRise .28s var(--gs-ease);}
.gs-dialog::backdrop{background:rgba(8,6,4,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
@keyframes gsRise{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.gs-dialog-body{position:relative;padding:28px 26px 24px;}
.gs-dialog h2{font-family:var(--gs-font-disp);font-weight:750;font-size:1.6rem;letter-spacing:-.02em;line-height:1.1;margin:0 0 6px;}
.gs-dialog-lede{margin:0 0 18px;color:var(--gs-ink-soft);}
.gs-dialog .gs-pay{width:100%;}
.gs-qr-row--dialog{justify-content:center;gap:22px;margin:20px 0 4px;}
.gs-qr-row--dialog img{width:132px;height:132px;}
.gs-dialog-note{margin:16px 0 0;font-size:.82rem;line-height:1.55;color:var(--gs-ink-mute);}
.gs-dialog-note a{color:var(--gs-brass-lt);}
.gs-dialog-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:12px;border:1px solid var(--gs-border);background:transparent;cursor:pointer;display:grid;place-items:center;}
.gs-dialog-close svg{width:18px;height:18px;stroke:var(--gs-ink);stroke-width:2;stroke-linecap:round;fill:none;}
.gs-dialog-close:hover{background:rgba(244,237,225,.08);}
@media(hover:none) and (pointer:coarse){.gs-qr-row--dialog{display:none;}}

/* child sessions (under 13, set by the accounts service): no payment prompts */
html.gs-child .gs-pay,html.gs-child .gs-qr-row,html.gs-child .gs-donate,html.gs-child [data-gs-hide-child]{display:none!important;}
html.gs-child .gs-support-kid{display:block;}

/* ---------- content left by other site tools (homepage network row, answer block) ---------- */
.tdg-net{max-width:1160px;margin:0 auto!important;color:var(--gs-ink-mute);font-family:var(--gs-font-body);}
.tdg-net a{color:var(--gs-ink-mute);text-decoration:none;}
.tdg-net a:hover{color:var(--gs-brass-lt);}
[data-atlas]{max-width:1160px;margin:0 auto;padding:8px 32px 40px;color:var(--gs-ink-mute);font-family:var(--gs-font-body);font-size:.92rem;line-height:1.6;}
[data-atlas] h2{font-family:var(--gs-font-disp);font-weight:700;font-size:1.05rem;color:var(--gs-ink-soft);margin:0 0 6px;}

/* ---------- LESSON PLAY-ALONG WIDGET ---------- */
.gs-play{margin:20px 0;padding:18px;border:1px solid var(--gs-border);border-radius:var(--gs-r);
  background:linear-gradient(160deg,var(--gs-surface),var(--gs-bg-2));font-family:var(--gs-font-body);}
.gs-play-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.gs-midi-btn{background:var(--gs-brass);color:#16110a;font-weight:700;font-family:var(--gs-font-body);border:0;border-radius:999px;padding:11px 18px;cursor:pointer;font-size:.92rem;transition:background-color .15s;}
.gs-midi-btn:hover{background:var(--gs-brass-lt);}
.gs-midi-btn:disabled{opacity:.5;cursor:not-allowed;}
.gs-midi-status{font-size:.84rem;color:var(--gs-ink-soft);}
.gs-play-pads{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:10px;}
.gs-pad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;
  border:1px solid var(--gs-border);border-radius:12px;cursor:pointer;background:var(--gs-surface-2);color:var(--gs-ink);
  font-family:var(--gs-font-body);transition:transform .05s,box-shadow .1s,background-color .1s;-webkit-tap-highlight-color:transparent;user-select:none;}
.gs-pad:hover{border-color:var(--gs-border-strong);}
.gs-pad:active{transform:scale(.96);}
.gs-pad-name{font-weight:600;font-size:.9rem;}
.gs-pad-key{font-family:var(--gs-font-mono);font-size:.66rem;color:var(--gs-ink-mute);border:1px solid var(--gs-border);border-radius:5px;padding:1px 6px;}
.gs-pad-on{background:var(--gs-hit)!important;border-color:var(--gs-hit)!important;color:#1a0b05!important;box-shadow:0 0 26px rgba(255,107,61,.5);}
.gs-pad-on .gs-pad-key{color:#1a0b05;border-color:rgba(26,11,5,.35);}
.gs-play-hint{font-size:.84rem;color:var(--gs-ink-mute);margin:12px 0 0;line-height:1.5;}
.gs-play-title{font-family:var(--gs-font-disp);font-size:1.25rem;color:var(--gs-ink);margin:28px 0 0;font-weight:700;letter-spacing:-.01em;}

/* ---------- SCORING UI ---------- */
.gs-hud{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:28px;}
.gs-hud-stat{font-family:var(--gs-font-mono);font-size:.85rem;color:var(--gs-brass-lt);}
.gs-judge{display:inline-block;font-family:var(--gs-font-body);font-weight:700;font-size:.8rem;padding:2px 8px;border-radius:6px;animation:gsPop .5s ease forwards;}
.gs-j-perfect{color:#0f1a10;background:var(--gs-good);}
.gs-j-good{color:#16110a;background:var(--gs-brass-lt);}
.gs-j-ok{color:var(--gs-ink);background:var(--gs-surface-2);}
.gs-j-miss{color:#1a0705;background:var(--gs-miss);}
@keyframes gsPop{0%{transform:translateY(6px) scale(.9);opacity:0}20%{transform:none;opacity:1}100%{opacity:.85}}
.gs-card{margin-top:16px;padding:20px;border:1px solid var(--gs-border);border-radius:var(--gs-r);background:var(--gs-bg-2);text-align:center;}
.gs-card-grade{font-family:var(--gs-font-disp);font-size:3rem;font-weight:800;line-height:1;}
.gs-grade-S,.gs-grade-A{color:var(--gs-good);}.gs-grade-B{color:var(--gs-brass-lt);}.gs-grade-C{color:var(--gs-brass);}.gs-grade-D,.gs-grade-F{color:var(--gs-miss);}
.gs-card-acc{font-family:var(--gs-font-mono);font-size:1.6rem;color:var(--gs-ink);margin-top:4px;}
.gs-card-rows{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:12px 0;font-size:.85rem;}
.gs-card-rows span{color:var(--gs-ink-soft);}
.gs-r-perfect{color:var(--gs-good)!important;}.gs-r-good{color:var(--gs-brass-lt)!important;}.gs-r-miss{color:var(--gs-miss)!important;}
.gs-card-sub{font-size:.85rem;color:var(--gs-ink-mute);margin-bottom:12px;}
.gs-again{margin-top:4px;}
.gs-cal{margin-top:14px;padding:14px;border:1px dashed var(--gs-border-strong);border-radius:12px;}
.gs-cal-msg{margin:0;font-size:.9rem;color:var(--gs-ink-soft);}
.gs-cal-count{font-family:var(--gs-font-mono);font-size:.82rem;color:var(--gs-brass-lt);margin-top:6px;}
.gs-midi-ghost{background:transparent!important;color:var(--gs-ink)!important;border:1px solid var(--gs-border-strong)!important;font-weight:500!important;}

/* ---------- NAV AUTH SLOT (injected by gs.js) ---------- */
.gs-mainnav .gs-nav-auth.gs-nav-user{color:var(--gs-good);font-weight:600;}

/* ---------- motion preferences ---------- */
@media(prefers-reduced-motion:reduce){
  .gs-backdrop::after,.gs-logo:hover .gs-mark-pad,.gs-donate:hover svg,.gs-dialog[open]{animation:none!important;}
  .gs-mainnav,.gs-pay,.gs-btn{transition:none!important;}
}

/* ---------- "Related resources" link boxes (inline light styles on older pages) ---------- */
html body .seo-related-links{margin:40px auto 24px;padding:22px 24px;border:1px solid var(--gs-border);border-radius:var(--gs-r-lg);background:linear-gradient(170deg,#232c28,#16130f);color:var(--gs-ink-soft);box-shadow:none;max-width:1160px;}
html body .seo-related-links h2{font-family:var(--gs-font-disp)!important;font-weight:750!important;font-size:1.2rem!important;letter-spacing:-.01em!important;text-transform:none!important;line-height:1.2!important;color:var(--gs-ink)!important;margin:0 0 12px!important;background:none!important;-webkit-text-fill-color:currentColor!important;}
html body .seo-related-links ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 20px;}
html body .seo-related-links li{margin:0;padding:0;}
html body .seo-related-links a{color:var(--gs-brass-lt)!important;text-decoration:none;font-size:.93rem;line-height:1.5;}
html body .seo-related-links a:hover{color:var(--gs-ink)!important;text-decoration:underline;}
html body .seo-related-links-meta,html body .seo-related-links p{color:var(--gs-ink-mute)!important;font-size:.8rem!important;margin:12px 0 0!important;}
