/*
 * Statesman blue theme for the public site (client approval, 25 October 2026).
 * Loaded after every other public stylesheet. The generated block recolours the approved
 * CSS: brand reds become the royal-blue family and the dark ink becomes navy, inside the
 * same @media rules. The final block adds typography, gradients, and motion.
 * Nepal crimson stays as a small accent; error states stay red.
 */
body.react-public {
  --navy: #0b2545;
  --navy-2: #13315c;
  --navy-deep: #081a33;
  --royal: #1d4ed8;
  --royal-dark: #1e40af;
  --sky: #e8effc;
  --soft: #f3f6fb;
  --rule: #dce3ee;
  --crimson: #c8102e;
  --grad-royal: linear-gradient(135deg, #2563eb 0%, #1d4ed8 45%, #1e3a8a 100%);
  --grad-navy: linear-gradient(160deg, #0b2545 0%, #13315c 55%, #0b2545 100%);
  --ease: cubic-bezier(.16, 1, .3, 1);
  --font-heading: "Source Serif 4", "Tiro Devanagari Sanskrit", Georgia, serif;
  --font-serif: "Source Serif 4", "Tiro Devanagari Sanskrit", Georgia, serif;
  --font-body: "Noto Sans", "Noto Sans Devanagari", system-ui, sans-serif;
  --font-sans: "Noto Sans", "Noto Sans Devanagari", system-ui, sans-serif;
  --font-nepali: "Noto Sans Devanagari", "Noto Sans", sans-serif;
}

/* Generated colour remap */
body.react-public { --primary-red: #1d4ed8; --green-700: #1e40af; --green-600: #1d4ed8; --green-500: #2563eb; --slate-950: #081a33; --slate-900: #081a33; --black: #0b2545; }
.react-public .btn-primary:hover { background: #1e40af; border-color: #1e40af; }
.react-public .Navbar-module__nuAbfa__logoBadge { color: var(--slate-950,#081a33); }
.react-public .Navbar-module__nuAbfa__logoIcon { border: 2.5px solid var(--primary-red,#1d4ed8); box-shadow: 0 4px 14px #1d4ed840; }
.react-public .Navbar-module__nuAbfa__logoText strong { color: var(--slate-950,#081a33); }
.react-public .Navbar-module__nuAbfa__logoText small { color: var(--primary-red,#1d4ed8); }
.react-public .Navbar-module__nuAbfa__dropdownActive { background: #1d4ed80a; }
.react-public .Navbar-module__nuAbfa__mobileMenu { background: #081a33; }
.react-public .AgendaModal-module__lN7hXW__overlay { background: #081a33bf; }
.react-public .AgendaModal-module__lN7hXW__modalCard { border-top: 4px solid var(--primary-red,#1d4ed8); }
.react-public .AgendaModal-module__lN7hXW__title { color: var(--slate-950,#081a33); }
.react-public .AgendaModal-module__lN7hXW__closeBtn:hover { background: var(--primary-red,#1d4ed8); border-color: var(--primary-red,#1d4ed8); }
.react-public .AgendaModal-module__lN7hXW__requiredStar { color: var(--primary-red,#1d4ed8); }
.react-public .AgendaModal-module__lN7hXW__input, .react-public .AgendaModal-module__lN7hXW__select, .react-public .AgendaModal-module__lN7hXW__textarea { color: var(--slate-900,#081a33); }
.react-public .AgendaModal-module__lN7hXW__input:focus, .react-public .AgendaModal-module__lN7hXW__select:focus, .react-public .AgendaModal-module__lN7hXW__textarea:focus { border-color: var(--primary-red,#1d4ed8); box-shadow: 0 0 0 3px #1d4ed81f; }
.react-public .AgendaModal-module__lN7hXW__errorText { color: var(--primary-red,#1d4ed8); }
.react-public .AgendaModal-module__lN7hXW__submitBtn { background: var(--primary-red,#1d4ed8); }
.react-public .AgendaModal-module__lN7hXW__submitBtn:hover:not(:disabled) { box-shadow: 0 6px 16px #1d4ed84d; }
.react-public .AgendaModal-module__lN7hXW__successTitle { color: var(--slate-950,#081a33); }
.react-public .AgendaModal-module__lN7hXW__okBtn { background: var(--slate-950,#081a33); }
.react-public .AgendaModal-module__lN7hXW__okBtn:hover { background: var(--primary-red,#1d4ed8); box-shadow: 0 4px 14px #1d4ed840; }
.react-public .Hero-module__Z8hQ_W__textLinkSecondary:hover { color: var(--primary-red,#1d4ed8); }
.react-public .Hero-module__Z8hQ_W__textLinkSecondary:after { background: var(--primary-red,#1d4ed8); }
.react-public .Hero-module__Z8hQ_W__slashPanel:after { background: linear-gradient(#0000 40%,#081a3359 100%); }
.react-public .HeroBg-module__fnSFLq__badge { border-left: 3px solid #1d4ed8; }
.react-public .HeroVideo-module__cZGmYq__videoCard { background: #081a33; border: 1px solid #0b25451f; box-shadow: 0 20px 40px -15px #0b25452e; }
.react-public .HeroVideo-module__cZGmYq__overlayGradient { background: radial-gradient(circle,#0b254526 0%,#0b25458c 100%); }
.react-public .HeroVideo-module__cZGmYq__headerBadge { background: #0b2545bf; }
.react-public .HeroVideo-module__cZGmYq__centerReplayBtn { background: #0b2545d9; }
.react-public .HeroVideo-module__cZGmYq__controlsBar { background: linear-gradient(#0000 0%,#081a3399 30%,#081a33f2 100%); }
.react-public .Campaigns-module__tauK8a__leftTitleMain { color: #0b2545; }
.react-public .Campaigns-module__tauK8a__watermark5E { color: #0b2545; }
.react-public .Campaigns-module__tauK8a__descLead { color: var(--primary-red,#1d4ed8); }
.react-public .Campaigns-module__tauK8a__descItem:before { background: var(--primary-red,#1d4ed8); }
.react-public .Campaigns-module__tauK8a__serviceCard { border: 1px solid #0b2545; box-shadow: 4px 4px #0b2545; }
.react-public .Campaigns-module__tauK8a__cardTitle { color: #0b2545; }
.react-public .Campaigns-module__tauK8a__manifestoBanner { background: var(--primary-red,#1d4ed8); box-shadow: 0 16px 40px #1d4ed840; }
.react-public .Campaigns-module__tauK8a__btnWhiteSolid { color: var(--primary-red,#1d4ed8); }
.react-public .Campaigns-module__tauK8a__badgeSub { color: var(--primary-red,#1d4ed8); }
.react-public .Campaigns-module__tauK8a__badgeName { color: #0b2545; }
.react-public .ActivismJourney-module__-LREga__sliderWrapper { background: #0b2545; }
.react-public .ActivismJourney-module__-LREga__counterBadge { background: #0b2545bf; }
.react-public .ActivismJourney-module__-LREga__navBtn { background: #0b2545a6; }
.react-public .ActivismJourney-module__-LREga__dotsRow { background: #0b25458c; }
.react-public .Gallery-module__wqsUoa__modalBox { background: #0b2545; }
.react-public .WhySagar-module__3rKcAq__dot { background: #1d4ed838; }
.react-public .WhySagar-module__3rKcAq__dotActive { background: var(--primary-red,#1d4ed8); }
.react-public .PledgeCounter-module__IlJ4RG__badgeWrap { color: var(--primary-red,#1d4ed8); background: #1d4ed80f; border: 1px solid #1d4ed826; }
.react-public .PledgeCounter-module__IlJ4RG__pulseDot { background: var(--primary-red,#1d4ed8); }
.react-public .PledgeCounter-module__IlJ4RG__title { color: #0b2545; }
.react-public .PledgeCounter-module__IlJ4RG__joinBtn { background: linear-gradient(135deg,#2563eb 0%,#1d4ed8 50%,#1e3a8a 100%); box-shadow: 0 6px 20px #1d4ed852; }
.react-public .PledgeCounter-module__IlJ4RG__joinBtn:hover { background: linear-gradient(135deg,#3b82f6 0%,#1d4ed8 50%,#1e40af 100%); box-shadow: 0 10px 28px #1d4ed870; }
.react-public .PledgePopup-module__jDiDRa__popupCard { border: 1px solid #0b2545; box-shadow: 4px 4px #0b2545,0 16px 36px #0000001f; }
.react-public .PledgePopup-module__jDiDRa__avatarImg { border: 1px solid #0b2545; }
.react-public .PledgePopup-module__jDiDRa__candidateName { color: #0b2545; }
.react-public .PledgePopup-module__jDiDRa__verifiedIcon { color: var(--primary-red,#1d4ed8); }
.react-public .PledgePopup-module__jDiDRa__closeBtn:hover { color: #0b2545; }
.react-public .PledgePopup-module__jDiDRa__liveTag { color: var(--primary-red,#1d4ed8); }
.react-public .PledgePopup-module__jDiDRa__pulseDot { background: var(--primary-red,#1d4ed8); }
.react-public .PledgePopup-module__jDiDRa__number { color: #0b2545; }
.react-public .PledgePopup-module__jDiDRa__plusSymbol { color: var(--primary-red,#1d4ed8); }
.react-public .PledgePopup-module__jDiDRa__pledgeBtn { background: var(--primary-red,#1d4ed8); border: 1px solid #0b2545; box-shadow: 2px 2px #0b2545; }
.react-public .PledgePopup-module__jDiDRa__pledgeBtn:hover { box-shadow: 3px 3px #0b2545; }
.react-public .PledgePopup-module__jDiDRa__pledgeBtn:active { box-shadow: 1px 1px #0b2545; }
.react-public .PledgePopup-module__jDiDRa__successBadge { color: #0b2545; }
.react-public .PledgePopup-module__jDiDRa__downloadBtn { background: #0b2545; border: 1px solid #0b2545; box-shadow: 2px 2px #0b2545; }
.react-public .PledgePopup-module__jDiDRa__downloadBtn:hover { box-shadow: 3px 3px #0b2545; }
.react-public .PledgePopup-module__jDiDRa__minimizedBadge { border: 1px solid #0b2545; box-shadow: 3px 3px #0b2545,0 8px 20px #0000001a; }
.react-public .PledgePopup-module__jDiDRa__minimizedBadge:hover { box-shadow: 5px 5px #0b2545; }
.react-public .PledgePopup-module__jDiDRa__miniAvatar { border: 1px solid #0b2545; }
.react-public .PledgePopup-module__jDiDRa__minimizedNumber { color: #0b2545; }
.react-public .PledgePopup-module__jDiDRa__minimizedLabel { color: var(--primary-red,#1d4ed8); }
.react-public .Footer-module__EZoWya__socialIcon:hover { box-shadow: 0 6px 16px #1d4ed840; }
.react-public .UnderConstruction-module__MoCCaq__topBar { background: var(--primary-red,#1d4ed8); }
.react-public .UnderConstruction-module__MoCCaq__card { border: 1px solid #0b2545; box-shadow: 6px 6px #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__ribbonBadge { background: var(--primary-red,#1d4ed8); border: 1px solid #0b2545; box-shadow: 3px 3px #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__avatarImg { border: 2px solid #0b2545; box-shadow: 3px 3px #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__candidateName { color: #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__statusBadge { border: 1px solid var(--primary-red,#1d4ed8); color: var(--primary-red,#1d4ed8); }
.react-public .UnderConstruction-module__MoCCaq__pulseDot { background: var(--primary-red,#1d4ed8); }
.react-public .UnderConstruction-module__MoCCaq__sloganBox { border-left: 4px solid var(--primary-red,#1d4ed8); color: #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__facebookBtn { background: var(--primary-red,#1d4ed8); border: 1px solid #0b2545; box-shadow: 3px 3px #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__facebookBtn:hover { box-shadow: 5px 5px #0b2545; }
.react-public .UnderConstruction-module__MoCCaq__facebookBtn:active { box-shadow: 1px 1px #0b2545; }
.react-public .Navbar-module__nuAbfa__ctaBtn { background: #1d4ed8; border: 1px solid #1d4ed8; }
.react-public .Navbar-module__nuAbfa__ctaBtn:hover { background: #1e40af; }
.react-public .story-playing { background: #0b2545; }
.react-public .story-shade { background: linear-gradient(0deg,#081a33e6 0%,#081a3333 75%); }
.react-public .story-close, .react-public .story-prev, .react-public .story-next { background: #0b2545aa; }
.react-public .story-progress button.is-current { background: #1d4ed8; }
.react-public .recognition-number { color: #081a33; }
.react-public .recognition-number span { color: #1d4ed8; }
.react-public .modal-overlay { background: #081a33b8; }
.react-public .join-form-body label > span { color: #1d4ed8; }
.react-public .photo-dialog { background: #0b2545; }
.react-public .photo-dialog > img { background: #081a33; }
.react-public .photo-close { background: #0b2545aa; }
.react-public .footer-sources a:hover { color: #1e40af; }
.react-public .skip-link { color: #081a33; }
body.react-public { --ink: #0b2545; --red: #1d4ed8; --red-deep: #1e40af; }
.react-public .php-react-mobile-menu { background: #081a33; }
.react-public .php-react-contact-form input:focus, .react-public .php-react-contact-form textarea:focus, .react-public .php-react-contact-form select:focus { box-shadow: 0 0 0 3px #1d4ed824; }
.react-public .home-connect-intro { background: #0b2545; }
.react-public .home-connect-intro::after { background: var(--primary-red, #1d4ed8); }
.react-public .home-connect-more { text-decoration-color: var(--primary-red, #1d4ed8); }
.react-public .home-connect-types legend { color: #0b2545; }
.react-public .home-connect-type strong { color: #0b2545; }
.react-public .home-connect-type:hover span { border-color: #0b2545; }
.react-public .home-connect-type input:checked + span { border-color: var(--primary-red, #1d4ed8); box-shadow: inset 4px 0 0 var(--primary-red, #1d4ed8); }
.react-public .home-connect-type input:focus-visible + span { outline: 3px solid #0b2545; }
.react-public .home-connect-notice.is-error { border-left: 4px solid var(--primary-red, #1d4ed8); }
.react-public .home-hero-motto { color: var(--primary-red, #1d4ed8); }
.react-public .footer-credit a { color: #0b2545; text-decoration-color: var(--primary-red, #1d4ed8); }
.react-public .footer-credit a:hover { color: #1e40af; }
@media (max-width:1024px) {
  .react-public .HeroBg-module__fnSFLq__badge { border-top: 3px solid #1d4ed8; }
}
@media(max-width:1024px) {
  .react-public .Navbar-module__nuAbfa__mobileCtaBtn { background: #1d4ed8; border: 1px solid #1d4ed8; }
}

/* ---------- Typography ---------- */
body.react-public { font-family: var(--font-body); color: #2e3d55; -webkit-font-smoothing: antialiased; }
.react-public :is(h1, h2, h3) { font-family: var(--font-heading); letter-spacing: -.015em; }
.react-public.locale-ne :is(h1, h2, h3) { font-family: "Tiro Devanagari Sanskrit", "Source Serif 4", serif; letter-spacing: 0; }

/* ---------- Surfaces ---------- */
.react-public :is(.Campaigns-module__tauK8a__section, .PledgeCounter-module__IlJ4RG__section, .education-section) { background: var(--soft); }
.react-public .home-education { background: linear-gradient(180deg, var(--soft), #fff); }
.react-public .home-support { background: linear-gradient(180deg, var(--soft) 0%, #eaf0fb 100%); }

/* ---------- Labels: crimson rule, royal text ---------- */
.react-public :is(.php-react-eyebrow, .eyebrow) { display: inline-flex; align-items: center; gap: 10px; color: var(--royal); }
.react-public :is(.php-react-eyebrow, .eyebrow)::before { content: ""; width: 22px; height: 2px; background: var(--crimson); transition: width .6s var(--ease); }
.react-public :is(.php-react-eyebrow, .eyebrow).is-visible::before { width: 34px; }
.react-public .Hero-module__Z8hQ_W__badge { border-color: var(--rule); }

/* ---------- Header ---------- */
.react-public .Navbar-module__nuAbfa__nav { transition: box-shadow .35s var(--ease), background-color .35s var(--ease); }
.react-public .Navbar-module__nuAbfa__nav.is-scrolled { background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 10px 30px rgba(11, 37, 69, .08); }
.react-public .Navbar-module__nuAbfa__link { position: relative; color: #2e3d55; }
.react-public .Navbar-module__nuAbfa__link::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 3px; height: 2px; background: var(--grad-royal); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.react-public .Navbar-module__nuAbfa__link:hover { color: var(--navy); background: var(--soft); }
.react-public .Navbar-module__nuAbfa__link:hover::after, .react-public .Navbar-module__nuAbfa__link[aria-current]::after { transform: scaleX(1); }
.react-public .Navbar-module__nuAbfa__logoIcon { border-color: var(--navy); box-shadow: 0 4px 14px rgba(11, 37, 69, .2); }
.react-public .Navbar-module__nuAbfa__logoText small { color: var(--crimson); }
.react-public .Navbar-module__nuAbfa__langActive { background: var(--navy); color: #fff; }

/* ---------- Buttons: royal gradient with a light sweep ---------- */
.react-public :is(.btn-primary, .Navbar-module__nuAbfa__ctaBtn, .PledgeCounter-module__IlJ4RG__joinBtn, .form-submit, .button:not(.secondary), .home-vision-cta) { position: relative; overflow: hidden; background: var(--grad-royal); background-size: 160% 160%; border-color: transparent; color: #fff; box-shadow: none; transition: background-position .5s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease); }
.react-public :is(.btn-primary, .Navbar-module__nuAbfa__ctaBtn, .PledgeCounter-module__IlJ4RG__joinBtn, .form-submit, .button:not(.secondary), .home-vision-cta)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s var(--ease); pointer-events: none; }
.react-public :is(.btn-primary, .Navbar-module__nuAbfa__ctaBtn, .PledgeCounter-module__IlJ4RG__joinBtn, .form-submit, .button:not(.secondary), .home-vision-cta):hover { background: var(--grad-royal); background-size: 160% 160%; background-position: 100% 50%; color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(29, 78, 216, .32); filter: none; }
.react-public :is(.btn-primary, .Navbar-module__nuAbfa__ctaBtn, .PledgeCounter-module__IlJ4RG__joinBtn, .form-submit, .button:not(.secondary), .home-vision-cta):hover::after { transform: translateX(120%); }
.react-public .button.secondary { background: #fff; border-color: var(--rule); color: var(--navy); box-shadow: none; transition: border-color .25s, transform .25s var(--ease); }
.react-public .button.secondary:hover { border-color: var(--navy); transform: translateY(-2px); }
.react-public :is(.php-react-featured-link, .text-link, .home-connect-more) { transition: color .2s; }
.react-public :is(.php-react-featured-link, .text-link):hover { color: var(--navy); }

/* ---------- Hero: drifting gradient field, shimmering name, load sequence ---------- */
.react-public .Hero-module__Z8hQ_W__hero { position: relative; isolation: isolate; overflow-x: clip; background: linear-gradient(180deg, var(--soft), #fff); }
.react-public .Hero-module__Z8hQ_W__hero::before, .react-public .Hero-module__Z8hQ_W__hero::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(70px); opacity: .55; pointer-events: none; }
.react-public .Hero-module__Z8hQ_W__hero::before { width: 620px; height: 620px; top: -240px; right: -120px; background: radial-gradient(circle, rgba(37, 99, 235, .35), transparent 65%); animation: sb-drift-a 18s ease-in-out infinite alternate; }
.react-public .Hero-module__Z8hQ_W__hero::after { width: 520px; height: 520px; bottom: -260px; left: -160px; background: radial-gradient(circle, rgba(200, 16, 46, .12), transparent 65%); animation: sb-drift-b 22s ease-in-out infinite alternate; }
.react-public .Hero-module__Z8hQ_W__name { color: var(--navy); }
.react-public .Hero-module__Z8hQ_W__highlightText { background: linear-gradient(100deg, #1d4ed8 0%, #2563eb 35%, #0b2545 70%, #1d4ed8 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: sb-shimmer 9s ease-in-out infinite; }
.react-public .home-hero-motto { color: var(--navy); font-family: var(--font-heading); font-style: italic; }
.react-public .Hero-module__Z8hQ_W__textCol > * { opacity: 0; transform: translateY(18px); animation: sb-rise .9s var(--ease) forwards; }
.react-public .Hero-module__Z8hQ_W__textCol > :nth-child(2) { animation-delay: .05s; }
.react-public .Hero-module__Z8hQ_W__textCol > :nth-child(3) { animation-delay: .15s; }
.react-public .Hero-module__Z8hQ_W__textCol > :nth-child(4) { animation-delay: .28s; }
.react-public .Hero-module__Z8hQ_W__textCol > :nth-child(5) { animation-delay: .38s; }
.react-public .Hero-module__Z8hQ_W__textCol > :nth-child(6) { animation-delay: .5s; }
.react-public .Hero-module__Z8hQ_W__textCol > .Hero-module__Z8hQ_W__textMapWatermark { opacity: 1; transform: none; animation: none; }
.react-public .Hero-module__Z8hQ_W__photoCol { opacity: 0; transform: translateY(24px) scale(.98); animation: sb-rise 1.1s var(--ease) .25s forwards; }
.react-public .Hero-module__Z8hQ_W__heroImg { transition: transform .8s var(--ease); }
.react-public .Hero-module__Z8hQ_W__slashPanel:hover .Hero-module__Z8hQ_W__heroImg { transform: scale(1.015); }
@keyframes sb-drift-a { to { transform: translate(-90px, 70px) scale(1.12); } }
@keyframes sb-drift-b { to { transform: translate(110px, -60px) scale(1.08); } }
@keyframes sb-shimmer { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes sb-rise { to { opacity: 1; transform: none; } }

/* ---------- Cards: gradient edge that draws on hover ---------- */
.react-public :is(.php-react-featured-card, .home-support-card, .home-education-card, .support-method, .card, .NewsCollection-module__JPZXNG__featured) { position: relative; }
.react-public :is(.php-react-featured-card, .home-support-card, .home-education-card, .card, .NewsCollection-module__JPZXNG__featured)::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: var(--grad-royal); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); z-index: 1; }
.react-public :is(.php-react-featured-card, .home-support-card, .home-education-card, .card, .NewsCollection-module__JPZXNG__featured):hover::before { transform: scaleX(1); }
.react-public :is(.php-react-featured-card, .home-support-card, .home-education-card) { background: #fff; border-color: var(--rule); transition: border-color .25s, box-shadow .3s var(--ease), transform .3s var(--ease); }
.react-public :is(.php-react-featured-card, .home-support-card, .home-education-card):hover { border-color: #c7d6f5; box-shadow: 0 16px 34px rgba(11, 37, 69, .1); transform: translateY(-2px); }
.react-public :is(.home-who-icon, .home-education-icon, .home-support-icon, .home-support-ways .icon, .contact-direct .icon) { background: linear-gradient(135deg, #e8effc, #d6e2fb); color: var(--royal); transition: transform .35s var(--ease), background .35s, color .35s; }
.react-public :is(.home-who-pillars li, .home-education-card, .home-support-ways li):hover :is(.home-who-icon, .home-education-icon, .home-support-ways .icon) { transform: rotate(-6deg) scale(1.06); background: var(--grad-royal); color: #fff; }
.react-public :is(.home-who-pillars, .home-education-list, .education-list, .policy-groups, .challenge-split) { border-top-color: var(--navy); }
.react-public .home-who-proof { border-color: var(--rule); background: #fff; }
.react-public .home-who-proof:hover { border-color: var(--royal); }
.react-public .recognition-number span { color: var(--crimson); }
.react-public .php-react-featured-number, .react-public .policy-group--ready::before { color: var(--royal); }
.react-public .policy-group--ready { box-shadow: inset 3px 0 0 var(--royal); }
.react-public :is(.ActivismJourney-module__-LREga__sliderWrapper, .NewsCollection-module__JPZXNG__featuredImageWrapper) img { transition: transform .8s var(--ease); }
.react-public :is(.ActivismJourney-module__-LREga__item:hover .ActivismJourney-module__-LREga__sliderWrapper, .NewsCollection-module__JPZXNG__featured:hover .NewsCollection-module__JPZXNG__featuredImageWrapper) img { transform: scale(1.04); }
.react-public .ActivismJourney-module__-LREga__yearText { color: var(--royal); }

/* ---------- Vision band (home 5E): navy gradient with a slow glow ---------- */
.react-public #vision { position: relative; isolation: isolate; overflow: hidden; background: var(--grad-navy); color: #d6e0f0; }
.react-public #vision::before { content: ""; position: absolute; z-index: 0; width: 900px; height: 900px; top: -420px; right: -280px; border-radius: 50%; background: radial-gradient(circle, rgba(37, 99, 235, .4), transparent 62%); animation: sb-drift-a 20s ease-in-out infinite alternate; pointer-events: none; }
.react-public #vision > * { position: relative; z-index: 1; }
.react-public #vision :is(.Campaigns-module__tauK8a__leftTitleMain, .Campaigns-module__tauK8a__titleSub, .Campaigns-module__tauK8a__cardTitle) { color: #fff; }
.react-public #vision :is(.Campaigns-module__tauK8a__descItem, .Campaigns-module__tauK8a__cardDesc) { color: #b7c6de; }
.react-public #vision :is(.Campaigns-module__tauK8a__descLead, .Campaigns-module__tauK8a__siteSubheading p) { color: #9cc0ff; }
.react-public #vision :is(.Campaigns-module__tauK8a__dot, .Campaigns-module__tauK8a__descItem::before) { background: #9cc0ff; }
.react-public #vision .Campaigns-module__tauK8a__watermark5E { color: #fff; opacity: .06; }
.react-public #vision .Campaigns-module__tauK8a__serviceCard { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .16); box-shadow: none; transition: background-color .35s var(--ease), transform .35s var(--ease), border-color .35s; }
.react-public #vision .Campaigns-module__tauK8a__serviceCard:hover { background: rgba(29, 78, 216, .28); border-color: rgba(156, 192, 255, .55); box-shadow: none; transform: translateY(-4px); }
.react-public #vision .home-vision-strip { border-top-color: rgba(255, 255, 255, .22); }
.react-public #vision .home-vision-strip a { color: #d6e0f0; border-color: rgba(255, 255, 255, .18); }
.react-public #vision .home-vision-strip strong { color: #fff; }
.react-public #vision .home-vision-strip strong span { color: #9cc0ff; }

/* ---------- Contact panel and Support band ---------- */
.react-public .home-connect-intro { background: var(--grad-navy); isolation: isolate; overflow: hidden; }
.react-public .home-connect-intro::after { background: var(--crimson); }
.react-public .home-connect-type input:checked + span { border-color: var(--royal); background: var(--sky); box-shadow: inset 4px 0 0 var(--royal); }
.react-public .home-connect-type:hover span { border-color: #b9cbf2; }
.react-public :is(input, select, textarea) { transition: border-color .2s, box-shadow .2s; }
.react-public :is(input, select, textarea):focus { outline: none; border-color: var(--royal); box-shadow: 0 0 0 3px rgba(29, 78, 216, .15); }
.react-public .PledgeCounter-module__IlJ4RG__badgeWrap { color: var(--royal); background: var(--sky); border-color: #c7d6f5; }
.react-public .PledgeCounter-module__IlJ4RG__pulseDot { background: var(--crimson); }
.react-public .support-method { border-top-color: var(--royal); }
.react-public .support-note { border-left-color: var(--navy); }
.react-public :is(.notice.error, .home-connect-notice.is-error) { border-left-color: #dc2626; }

/* ---------- Footer: navy ---------- */
.react-public .Footer-module__EZoWya__footer { background: linear-gradient(180deg, #0b2545 0%, #081a33 100%); color: #b7c6de; border-top: 0; }
.react-public :is(.Footer-module__EZoWya__name, .Footer-module__EZoWya__tagline, .Footer-module__EZoWya__contactHeading) { color: #fff; }
.react-public :is(.Footer-module__EZoWya__subTitle, .Footer-module__EZoWya__bottom, .Footer-module__EZoWya__contactList, .footer-sources, .footer-credit, .footer-fact-note) { color: #b7c6de; }
.react-public .Footer-module__EZoWya__contactItem, .react-public .Footer-module__EZoWya__footer a { color: #d6e0f0; }
.react-public .Footer-module__EZoWya__contactItem .icon { color: #9cc0ff; }
.react-public .Footer-module__EZoWya__socialIcon { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); color: #fff; }
.react-public .Footer-module__EZoWya__socialIcon:hover { background: var(--royal); border-color: var(--royal); color: #fff; box-shadow: 0 6px 16px rgba(29, 78, 216, .4); }
.react-public .Footer-module__EZoWya__divider { background: rgba(255, 255, 255, .14); }
.react-public .footer-credit a { color: #fff; text-decoration-color: var(--crimson); }

/* ---------- Scroll reveal stagger (classes added by react-public.js) ---------- */
.react-public .reveal { transition-delay: var(--reveal-delay, 0s); }

@media (prefers-reduced-motion: reduce) {
  .react-public *, .react-public *::before, .react-public *::after { animation: none !important; transition: none !important; }
  .react-public :is(.Hero-module__Z8hQ_W__textCol > *, .Hero-module__Z8hQ_W__photoCol) { opacity: 1 !important; transform: none !important; }
}
