/* GFS curated palette presets and accessibility corrections. Release 26.10.27.02.
   Defaults exactly preserve the established GFS brand family. No freeform color input. */
body.gfs-palette-classic {
 --gfs-hero-start:#122944; --gfs-hero-end:#1f4870; --gfs-state-start:#16324e; --gfs-state-end:#1e4a72;
 --gfs-chip-hover:#40627c; --gfs-button-hover:#0f2240; --gfs-urgent-accent:#ffe0b1;
}
body.gfs-palette-coastal {
 --navy:#153e63;--navy-dk:#0b2944;--teal:#146d79;--teal-lt:#e0f3f4;--gold:#a45d0d;--amber:#915400;
 --cream:#f5f9fa;--warm:#eaf3f4;--border:#d1e0e4;
 --gfs-navy:#153e63;--gfs-navy-dk:#0b2944;--gfs-teal:#146d79;--gfs-gold:#a45d0d;--gfs-cream:#f5f9fa;--gfs-warm:#eaf3f4;--gfs-border:#d1e0e4;
 --gfs-hero-start:#123452; --gfs-hero-end:#21617c; --gfs-state-start:#124264; --gfs-state-end:#246983;
 --gfs-chip-hover:#46748d;--gfs-button-hover:#0b2944;--gfs-urgent-accent:#f6dcab;
}
body.gfs-palette-forest {
 --navy:#1e443c;--navy-dk:#12352f;--teal:#246f5a;--teal-lt:#e3f2e8;--gold:#a06520;--amber:#955b17;
 --cream:#f7f8f2;--warm:#edf2e7;--border:#d8e0d2;
 --gfs-navy:#1e443c;--gfs-navy-dk:#12352f;--gfs-teal:#246f5a;--gfs-gold:#a06520;--gfs-cream:#f7f8f2;--gfs-warm:#edf2e7;--gfs-border:#d8e0d2;
 --gfs-hero-start:#17372e; --gfs-hero-end:#285747; --gfs-state-start:#194233; --gfs-state-end:#315b4b;
 --gfs-chip-hover:#426a57;--gfs-button-hover:#12352f;--gfs-urgent-accent:#ffe0b1;
}
body.gfs-palette-slate {
 --navy:#273e56;--navy-dk:#1a2d40;--teal:#216c71;--teal-lt:#e5f2f1;--gold:#a35e23;--amber:#97551b;
 --cream:#faf7f3;--warm:#f1ece5;--border:#dfd7ce;
 --gfs-navy:#273e56;--gfs-navy-dk:#1a2d40;--gfs-teal:#216c71;--gfs-gold:#a35e23;--gfs-cream:#faf7f3;--gfs-warm:#f1ece5;--gfs-border:#dfd7ce;
 --gfs-hero-start:#1c3145;--gfs-hero-end:#34536a;--gfs-state-start:#263e56;--gfs-state-end:#355670;
 --gfs-chip-hover:#4c6a81;--gfs-button-hover:#1a2d40;--gfs-urgent-accent:#ffe0b1;
}
body.gfs-palette-plum {
 --navy:#493653;--navy-dk:#322339;--teal:#186d69;--teal-lt:#e2f2ee;--gold:#9e6323;--amber:#93561b;
 --cream:#faf7f7;--warm:#f1edef;--border:#e2d8e0;
 --gfs-navy:#493653;--gfs-navy-dk:#322339;--gfs-teal:#186d69;--gfs-gold:#9e6323;--gfs-cream:#faf7f7;--gfs-warm:#f1edef;--gfs-border:#e2d8e0;
 --gfs-hero-start:#30253c;--gfs-hero-end:#54415d;--gfs-state-start:#493451;--gfs-state-end:#634b67;
 --gfs-chip-hover:#725f79;--gfs-button-hover:#322339;--gfs-urgent-accent:#ffe0b1;
}
/* Replace literal hero / state gradients to make presets functional. */
body.gfs-v3-home .hero {background:linear-gradient(150deg,var(--gfs-hero-start) 0%,var(--gfs-hero-end) 100%)}
body.gfs-v3-home .path-state {background:linear-gradient(145deg,var(--gfs-state-start) 0%,var(--gfs-state-end) 100%)}
body.gfs-v3-home .gfs-bulletin-card {border-color:var(--border);background:linear-gradient(135deg,#f7fbfa 0%,var(--cream) 100%)}
body.gfs-v3-home .section-atlas .gfs-atlas-compact-card {background:linear-gradient(135deg,#f8fbfc 0%,var(--cream) 100%)}
/* Restore readable text on dark surfaces, including hover/focus. */
body.gfs-v3-home .gfs-urgent-panel .hero-panel-title {color:#fff !important}
body.gfs-v3-home .gfs-urgent-panel .gfs-urgent-intro {color:rgba(255,255,255,.9) !important}
body.gfs-v3-home .gfs-urgent-panel .hero-link-text,
body.gfs-v3-home .gfs-urgent-panel .hero-links li a:is(:hover,:focus-visible) .hero-link-text {color:#fff !important}
body.gfs-v3-home .gfs-urgent-panel .gfs-urgent-all,
body.gfs-v3-home .gfs-urgent-panel .gfs-urgent-all:is(:hover,:focus-visible) {color:var(--gfs-urgent-accent) !important;text-decoration:underline;text-underline-offset:3px}
body.gfs-v3-home .path-state a.state-chip,
body.gfs-v3-home .path-state a.state-chip:is(:hover,:focus,:focus-visible),
body.gfs-v3-home .path-state .gfs-all-states summary,
body.gfs-v3-home .path-state .gfs-all-states summary:is(:hover,:focus-visible),
body.gfs-v3-home .path-state .gfs-state-directory-link a:is(:hover,:focus-visible) {color:#fff !important}
body.gfs-v3-home .path-state a.state-chip:is(:hover,:focus-visible) {background:var(--gfs-chip-hover);text-decoration:underline;text-underline-offset:2px}
body.gfs-v3-home .path-state .gfs-all-states summary:is(:hover,:focus-visible) {background:rgba(255,255,255,.2)}
/* Ensure all colored button labels remain visible on hover, even with parent-theme link styles. */
body.gfs-v3-home a.btn-navy,
body.gfs-v3-home a.btn-navy:is(:hover,:focus-visible) {color:#fff !important;background:var(--navy);border-color:var(--navy);text-decoration:none !important}
body.gfs-v3-home a.btn-navy:is(:hover,:focus-visible) {background:var(--navy-dk);border-color:var(--navy-dk)}
body.gfs-v3-home a.btn-teal,
body.gfs-v3-home a.btn-teal:is(:hover,:focus-visible) {color:#fff !important;background:var(--teal);border-color:var(--teal);text-decoration:none !important}
body.gfs-v3-home a.btn-teal:is(:hover,:focus-visible) {background:var(--navy-dk);border-color:var(--navy-dk)}
body.gfs-v3-home a.btn-gold,
body.gfs-v3-home a.btn-gold:is(:hover,:focus-visible) {background:#955f18;border-color:#955f18;color:#fff !important;text-decoration:none !important}
body.gfs-v3-home a.btn-gold:is(:hover,:focus-visible) {background:#75490f;border-color:#75490f}
body.gfs-v3-home a.btn-outline-white,
body.gfs-v3-home a.btn-outline-white:is(:hover,:focus-visible) {color:#fff !important;text-decoration:none !important}
body.gfs-v3-home a.btn-outline-navy,
body.gfs-v3-home a.btn-outline-navy:is(:hover,:focus-visible) {color:var(--navy) !important;text-decoration:none !important}
body.gfs-v3-home .gfs-bulletin-date,body.gfs-v3-home .eyebrow-gold {color:var(--amber) !important}
body.gfs-v3-home .hero-kicker {color:rgba(255,255,255,.87)}
body.gfs-v3-home .hero-trust-item {color:rgba(255,255,255,.82)}
body.gfs-v3-home .hero-btns .btn,body.gfs-v3-home .gfs-atlas-compact-actions .btn {align-items:center;justify-content:center}
/* Atlas action buttons and state links specifically failed in browser hover captures. */
body.gfs-v3-home .gfs-atlas-compact-actions a.btn-navy,
body.gfs-v3-home .gfs-atlas-compact-actions a.btn-navy:is(:hover,:focus-visible) {color:#fff !important}
body.gfs-v3-home .gfs-atlas-compact-actions>a:not(.btn):is(:hover,:focus-visible){color:var(--teal) !important;text-decoration:underline}
/* Less crowded compact hero, with reversible original option in Appearance -> GFS Homepage. */
body.gfs-hero-compact .hero {padding:40px 0 44px}
body.gfs-hero-compact .gfs-home-hero-grid {grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr);gap:44px;align-items:center}
body.gfs-hero-compact .hero h1 {font-size:clamp(34px,4.2vw,52px);line-height:1.12;margin-bottom:19px}
body.gfs-hero-compact .hero-lead {font-size:clamp(17px,1.55vw,20px);line-height:1.55;margin-bottom:22px;max-width:650px}
body.gfs-hero-compact .hero-btns {margin-bottom:12px;gap:10px}
body.gfs-hero-compact .hero-btns .btn {padding:14px 22px;min-height:48px;font-size:17px}
body.gfs-hero-compact .gfs-urgent-panel {padding:23px;border-radius:22px}
body.gfs-hero-compact .hero-panel-title {margin-bottom:12px;padding-bottom:10px}
body.gfs-hero-compact .gfs-urgent-panel .hero-links li a {padding:9px 12px}
body.gfs-hero-compact .gfs-urgent-panel .hero-link-icon {width:34px;height:34px;font-size:17px}
body.gfs-hero-compact .gfs-urgent-panel .gfs-urgent-all {margin-top:10px}
body.gfs-hero-compact .gfs-hero-tertiary {margin:0 0 20px;font-size:16px}
body.gfs-hero-compact .gfs-hero-tertiary a,
body.gfs-hero-compact .gfs-hero-tertiary a:is(:hover,:focus-visible) {color:#d7faf3 !important;text-decoration:underline;text-underline-offset:3px;font-weight:700}
body.gfs-hero-compact .gfs-hero-disclosure {background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);border-radius:12px;padding:12px 15px;color:#fff;font-size:14px;line-height:1.55;max-width:650px}
body.gfs-hero-compact .gfs-hero-disclosure strong {color:#fff}
@media(max-width:1030px){body.gfs-hero-compact .gfs-home-hero-grid{grid-template-columns:1fr;gap:26px}body.gfs-hero-compact .gfs-urgent-panel{max-width:650px}}
@media(max-width:620px){body.gfs-hero-compact .hero{padding:32px 0}body.gfs-hero-compact .hero-btns .btn{width:100%;font-size:17px}body.gfs-hero-compact .gfs-hero-disclosure{font-size:14px}body.gfs-v3-home .gfs-bulletin-card{padding:22px}}
@media(prefers-reduced-motion:reduce){body.gfs-v3-home .hero-left,body.gfs-v3-home .hero-panel{animation:none!important}body.gfs-v3-home .hero-links li a:hover{transform:none}}
