/* ==========================================================================
   Vidyoday Muktangan Parivar Foundation — Brand Theme (2026 guidelines)
   Loaded after the compiled Next.js stylesheets so it wins on equal specificity.
   Palette: #1769B0 blue · #F5A623 orange · #F7C928 yellow · greys · secondary
            #E74C3C red · #9B59B6 purple · #252525 dark · #5BAF3C green · #5FA4F9 sky
   Type:    Poppins (headings) · Lato (body & CTA)
   ========================================================================== */

/* ---------- Self-hosted fonts ---------- */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(/brand/fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(/brand/fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/brand/fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(/brand/fonts/poppins-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(/brand/fonts/poppins-devanagari-500-normal.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/brand/fonts/poppins-devanagari-600-normal.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(/brand/fonts/poppins-devanagari-700-normal.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url(/brand/fonts/lato-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:italic;font-weight:400;font-display:swap;src:url(/brand/fonts/lato-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url(/brand/fonts/lato-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:900;font-display:swap;src:url(/brand/fonts/lato-latin-900-normal.woff2) format("woff2")}

/* ---------- Design tokens ---------- */
:root{
  --vm-blue:#1769B0;
  --vm-blue-dark:#11508A;
  --vm-blue-tint:#EAF2FB;
  --vm-orange:#F5A623;
  --vm-orange-dark:#D98A0A;
  --vm-yellow:#F7C928;
  --vm-red:#E74C3C;
  --vm-purple:#9B59B6;
  --vm-green:#5BAF3C;
  --vm-sky:#5FA4F9;
  --vm-dark:#252525;
  --vm-grey-900:#252525;
  --vm-grey-700:#3D3D3D;
  --vm-grey-500:#5E5E5E;
  --vm-grey-300:#B5B5B5;
  --vm-grey-200:#DEDEDE;
  --vm-bg:#F5F5F5;
  --vm-radius:16px;
  --vm-radius-sm:10px;
  --vm-shadow:0 6px 24px rgba(37,37,37,.08);
  --vm-shadow-lg:0 14px 40px rgba(23,105,176,.16);
  --vm-font-head:"Poppins","Noto Sans Devanagari","Segoe UI",system-ui,sans-serif;
  --vm-font-body:"Lato","Noto Sans Devanagari","Segoe UI",system-ui,sans-serif;

  /* Bootstrap bridge so any Bootstrap utility inherits the brand */
  --bs-primary:#1769B0;--bs-primary-rgb:23,105,176;
  --bs-secondary:#5E5E5E;--bs-secondary-rgb:94,94,94;
  --bs-success:#5BAF3C;--bs-success-rgb:91,175,60;
  --bs-info:#5FA4F9;--bs-info-rgb:95,164,249;
  --bs-warning:#F5A623;--bs-warning-rgb:245,166,35;
  --bs-danger:#E74C3C;--bs-danger-rgb:231,76,60;
  --bs-light:#F5F5F5;--bs-light-rgb:245,245,245;
  --bs-dark:#252525;--bs-dark-rgb:37,37,37;
  --bs-body-color:#252525;--bs-body-bg:#F5F5F5;
  --bs-body-font-family:var(--vm-font-body);
  --bs-font-sans-serif:var(--vm-font-body);
  --bs-link-color:#1769B0;--bs-link-hover-color:#11508A;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  font-family:var(--vm-font-body);
  color:var(--vm-dark);
  background:var(--vm-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{font-family:var(--vm-font-head);font-weight:700;letter-spacing:-.01em;line-height:1.25}
p,li,input,textarea,select,label{font-family:var(--vm-font-body)}
button,.btn,[class*="Btn"],[class*="btn"],[class*="Button"],[class*="button"]{font-family:var(--vm-font-body);font-weight:700}
a{color:var(--vm-blue)}
a:hover{color:var(--vm-blue-dark)}
img{max-width:100%}
::selection{background:var(--vm-yellow);color:var(--vm-dark)}

/* Accessibility: visible keyboard focus everywhere */
:focus-visible{outline:3px solid var(--vm-orange);outline-offset:3px;border-radius:6px}
a:focus-visible,button:focus-visible{box-shadow:0 0 0 2px #fff}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- Navbar ---------- */
[class*="Navbar-module__"]:is([class*="__navbar "],[class$="__navbar"]){
  background:#fff;
  box-shadow:0 8px 24px rgba(37,37,37,.06);
  border-bottom:0;
  background:linear-gradient(90deg,var(--vm-orange),var(--vm-yellow) 35%,var(--vm-green) 65%,var(--vm-blue)) bottom/100% 3px no-repeat,#fff;
}
[class*="Navbar-module__"]:is([class*="__container "],[class$="__container"]){padding:.4rem 1.5rem}
/* Official logo already contains the wordmark: keep the h1 for SEO/screen readers, hide visually */
[class*="Navbar-module__"]:is([class*="__logoAnimationWrapper "],[class$="__logoAnimationWrapper"]){width:auto;height:64px;overflow:visible}
[class*="Navbar-module__"]:is([class*="__logoSlide "],[class$="__logoSlide"]){position:static;transform:none;opacity:1;pointer-events:auto;transition:none}
[class*="Navbar-module__"]:is([class*="__taglineSlide "],[class$="__taglineSlide"]){display:none!important}
[class*="Navbar-module__"]:is([class*="__logoImg "],[class$="__logoImg"]){width:auto;height:58px;border-radius:0;object-fit:contain}
[class*="Navbar-module__"]:is([class*="__logoText "],[class$="__logoText"]){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a,
[class*="Navbar-module__"]:is([class*="__dropdownToggle "],[class$="__dropdownToggle"]){
  font-family:var(--vm-font-head);font-weight:500;font-size:.86rem;color:var(--vm-dark);border-radius:999px;
}
[class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a:hover,
[class*="Navbar-module__"]:is([class*="__dropdownToggle "],[class$="__dropdownToggle"]):hover{color:var(--vm-blue);background:var(--vm-blue-tint)}
@media (min-width:969px){[class*="Navbar-module__"]:is([class*="__megaMenu "],[class$="__megaMenu"]){border-radius:var(--vm-radius);box-shadow:var(--vm-shadow-lg);border-top:4px solid var(--vm-orange)}}
[class*="Navbar-module__"]:is([class*="__megaMenuColumn "],[class$="__megaMenuColumn"]) h4{font-family:var(--vm-font-head);color:var(--vm-blue);font-size:.95rem}
[class*="Navbar-module__"]:is([class*="__megaMenuColumn "],[class$="__megaMenuColumn"]) a{font-family:var(--vm-font-body);color:var(--vm-grey-700)}
[class*="Navbar-module__"]:is([class*="__megaMenuColumn "],[class$="__megaMenuColumn"]) a:hover{color:var(--vm-blue)}
[class*="Navbar-module__"]:is([class*="__donateBtn "],[class$="__donateBtn"]){
  background:var(--vm-orange)!important;color:var(--vm-dark)!important;border-radius:999px;
  font-family:var(--vm-font-head);font-weight:600;box-shadow:0 4px 14px rgba(245,166,35,.45);
}
[class*="Navbar-module__"]:is([class*="__donateBtn "],[class$="__donateBtn"]):hover{background:var(--vm-yellow)!important;transform:translateY(-2px)}

/* ---------- Hero ---------- */
[class*="HeroSlider-module__"]:is([class*="__title "],[class$="__title"]){font-family:var(--vm-font-head);font-weight:700;color:var(--vm-blue)}
[class*="HeroSlider-module__"]:is([class*="__subtitle "],[class$="__subtitle"]){color:var(--vm-grey-700);font-size:1.15rem}
[class*="HeroSlider-module__"]:is([class*="__button "],[class$="__button"]){
  text-transform:none;letter-spacing:0;font-family:var(--vm-font-body);font-weight:700;border-radius:999px;
  background:var(--vm-blue);box-shadow:0 8px 22px rgba(23,105,176,.35);
}
[class*="HeroSlider-module__"]:is([class*="__button "],[class$="__button"]):hover{background:var(--vm-blue-dark)}
[class*="HeroSlider-module__"]:is([class*="__activeDot "],[class$="__activeDot"]){background:var(--vm-orange);border-color:var(--vm-orange)}

/* ---------- Section headings: tri-colour accent from the logo ---------- */
:is([class*="__sectionTitle "],[class$="__sectionTitle"]){font-family:var(--vm-font-head);font-weight:700;color:var(--vm-blue)}
:is([class*="__sectionTitle "],[class$="__sectionTitle"])::after{
  content:"";display:block;width:84px;height:5px;border-radius:99px;margin:.85rem auto 0;
  background:linear-gradient(90deg,var(--vm-orange) 0 34%,var(--vm-yellow) 34% 67%,var(--vm-green) 67% 100%);
}
[style*="text-align:left"] :is([class*="__sectionTitle "],[class$="__sectionTitle"])::after,:is([class*="__sectionTitle "],[class$="__sectionTitle"])[style*="text-align:left"]::after{margin-left:0}
:is([class*="__heroTitle "],[class$="__heroTitle"]){font-family:var(--vm-font-head);font-weight:700}
:is([class*="__heroSubtitle "],[class$="__heroSubtitle"]){font-family:var(--vm-font-body)}

/* ---------- Buttons (generic) ---------- */
:is([class*="__primaryBtn "],[class$="__primaryBtn"]),:is([class*="__ctaButton "],[class$="__ctaButton"]),:is([class*="__submitBtn "],[class$="__submitBtn"]),:is([class*="__seeMoreBtn "],[class$="__seeMoreBtn"]){
  border-radius:999px;font-family:var(--vm-font-body);font-weight:700;letter-spacing:0;text-transform:none;
  transition:transform .2s,box-shadow .2s,background-color .2s;
}
:is([class*="__primaryBtn "],[class$="__primaryBtn"]):hover,:is([class*="__ctaButton "],[class$="__ctaButton"]):hover,:is([class*="__submitBtn "],[class$="__submitBtn"]):hover,:is([class*="__seeMoreBtn "],[class$="__seeMoreBtn"]):hover{transform:translateY(-2px);box-shadow:var(--vm-shadow-lg)}
:is([class*="__secondaryBtn "],[class$="__secondaryBtn"]){border-radius:999px;font-family:var(--vm-font-body);font-weight:700;text-transform:none}
:is([class*="__donateBtn "],[class$="__donateBtn"]):not([class*="Navbar-module__"]){border-radius:999px}

/* ---------- Cards ---------- */
:is([class*="__storyCard "],[class$="__storyCard"]),:is([class*="__statCard "],[class$="__statCard"]),:is([class*="__impactCard "],[class$="__impactCard"]),:is([class*="__benefitCard "],[class$="__benefitCard"]),:is([class*="__sdgCard "],[class$="__sdgCard"]),
:is([class*="__testimonialCard "],[class$="__testimonialCard"]),:is([class*="__supportCard "],[class$="__supportCard"]),:is([class*="__programCard "],[class$="__programCard"]),:is([class*="__partnerCard "],[class$="__partnerCard"]),
:is([class*="__memberCard "],[class$="__memberCard"]),:is([class*="__opportunityCard "],[class$="__opportunityCard"]),:is([class*="Card "],[class$="Card"],[class*="__card "],[class$="__card"]){
  border-radius:var(--vm-radius);box-shadow:var(--vm-shadow);
}
:is([class*="__storyCard "],[class$="__storyCard"]):hover,:is([class*="__impactCard "],[class$="__impactCard"]):hover,:is([class*="__benefitCard "],[class$="__benefitCard"]):hover,:is([class*="__programCard "],[class$="__programCard"]):hover,
:is([class*="__memberCard "],[class$="__memberCard"]):hover,:is([class*="__opportunityCard "],[class$="__opportunityCard"]):hover,:is([class*="__supportCard "],[class$="__supportCard"]):hover{box-shadow:var(--vm-shadow-lg)}
:is([class*="__statNumber "],[class$="__statNumber"]){font-family:var(--vm-font-head);font-weight:700}

/* ---------- Forms ---------- */
input,textarea,select{border-radius:var(--vm-radius-sm)}
input:focus,textarea:focus,select:focus{border-color:var(--vm-blue)!important;box-shadow:0 0 0 3px rgba(23,105,176,.2)!important;outline:none}
label{font-weight:700;color:var(--vm-dark)}

/* ---------- Footer ---------- */
[class*="Footer-module__"]:is([class*="__footer "],[class$="__footer"]){background:var(--vm-dark);border-top:5px solid var(--vm-orange);color:#fff}
[class*="Footer-module__"]:is([class*="__logoContainer "],[class$="__logoContainer"]) img{background:transparent;border-radius:0;width:auto;height:64px;object-fit:contain}
[class*="Footer-module__"]:is([class*="__logoText "],[class$="__logoText"]){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[class*="Footer-module__"]:is([class*="__section "],[class$="__section"]) h4{font-family:var(--vm-font-head);color:var(--vm-orange);font-size:1.1rem}
[class*="Footer-module__"] a{color:#F5F5F5}
[class*="Footer-module__"] a:hover{color:var(--vm-yellow)}
[class*="Footer-module__"]:is([class*="__socialLinks "],[class$="__socialLinks"]) a:hover{background:var(--vm-orange);color:var(--vm-dark)}
[class*="Footer-module__"]:is([class*="__bottomBar "],[class$="__bottomBar"]){background:rgba(0,0,0,.35)}
[class*="Footer-module__"]:is([class*="__copyright "],[class$="__copyright"]),[class*="Footer-module__"]:is([class*="__developer "],[class$="__developer"]){color:#DEDEDE}

/* ---------- Floating social bar: brand colours ---------- */
[class*="SocialFloating-module__"]:is([class*="__socialIcon "],[class$="__socialIcon"]){background:var(--vm-blue)!important}
[class*="SocialFloating-module__"]:is([class*="__socialIcon "],[class$="__socialIcon"]):hover{background:var(--vm-orange)!important;color:var(--vm-dark)}

/* ---------- Responsive refinements ---------- */
@media (max-width:1100px){
  [class*="Navbar-module__"]:is([class*="__logoImg "],[class$="__logoImg"]){height:50px}
}
@media (max-width:768px){
  html{scroll-padding-top:76px}
  [class*="Navbar-module__"]:is([class*="__logoAnimationWrapper "],[class$="__logoAnimationWrapper"]){height:52px}
  [class*="Navbar-module__"]:is([class*="__logoImg "],[class$="__logoImg"]){height:44px}
  [class*="HeroSlider-module__"]:is([class*="__title "],[class$="__title"]){font-size:2rem}
  :is([class*="__sectionTitle "],[class$="__sectionTitle"]){font-size:1.65rem}
  :is([class*="__heroTitle "],[class$="__heroTitle"]){font-size:2rem}
  button,a[class*="Btn"],a[class*="btn"],a[class*="Button"],a[class*="button"]{min-height:44px}
}
@media print{[class*="Navbar-module__"],[class*="SocialFloating-module__"]{display:none!important}}

/* ---------- Overflow safety (mobile) ---------- */
:is([class*="__contactWrapper "],[class$="__contactWrapper"])>*,:is([class*="__grid "],[class$="__grid"])>*,[class*="Grid"]>*{min-width:0}
:is([class*="__contactInfo "],[class$="__contactInfo"]) a,:is([class*="__contactInfo "],[class$="__contactInfo"]) p,:is([class*="__contactInfo "],[class$="__contactInfo"]) span,
[class*="Footer-module__"] a,[class*="Footer-module__"] p{overflow-wrap:anywhere}

/* ==========================================================================
   Motion & interaction layer (all gated by prefers-reduced-motion below)
   ========================================================================== */
:root{--vm-ease:cubic-bezier(.2,.7,.2,1)}

/* Hero hugs the header: remove the legacy -10px overlap that doubled the edge */
[class*="HeroSlider-module__"]:is([class*="__heroSlider "],[class$="__heroSlider"]){margin-top:0}

/* Nav links: animated underline (desktop) */
@media (min-width:969px){
  [class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a{position:relative}
  [class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a::after{
    content:"";position:absolute;left:50%;bottom:3px;width:0;height:2px;border-radius:2px;background:var(--vm-orange);
    transition:width .25s var(--vm-ease),left .25s var(--vm-ease);
  }
  [class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a:hover::after,
  [class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a:focus-visible::after{width:55%;left:22.5%}
  /* Keyboard users: open the dropdown when focus is inside it */
  [class*="Navbar-module__"]:is([class*="__dropdown "],[class$="__dropdown"]):focus-within
    :is([class*="__megaMenu "],[class$="__megaMenu"]){opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}
}
[class*="Navbar-module__"]:is([class*="__dropdownToggle "],[class$="__dropdownToggle"]){transition:color .2s,background-color .2s}
[class*="Navbar-module__"]:is([class*="__hamburger "],[class$="__hamburger"]){border-radius:10px;transition:background-color .2s}
[class*="Navbar-module__"]:is([class*="__hamburger "],[class$="__hamburger"]):hover{background:var(--vm-blue-tint)}
[class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a:active,
[class*="Navbar-module__"]:is([class*="__dropdownToggle "],[class$="__dropdownToggle"]):active{transform:scale(.97)}

/* Buttons & CTAs: lift on hover, press on active, clear disabled state */
:is(a,button)[class*="Btn"],:is(a,button)[class*="btn"],:is(a,button)[class*="Button"],:is(a,button)[class*="button"],
:is(a,button)[class*="__cta"]{
  transition:transform .2s var(--vm-ease),box-shadow .2s var(--vm-ease),background-color .2s,color .2s,border-color .2s;
}
:is(a,button)[class*="Btn"]:active,:is(a,button)[class*="btn"]:active,:is(a,button)[class*="Button"]:active,
:is(a,button)[class*="button"]:active{transform:translateY(0) scale(.98);box-shadow:none}
button:disabled,[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{
  opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:grayscale(.25)}

/* Cards: smooth lift + shadow */
:is([class*="Card "],[class$="Card"],[class*="__card "],[class$="__card"]){
  transition:transform .3s var(--vm-ease),box-shadow .3s var(--vm-ease),border-color .3s;
}
:is([class*="Card "],[class$="Card"],[class*="__card "],[class$="__card"]):hover{transform:translateY(-4px)}
:is([class*="Card "],[class$="Card"]) img{transition:transform .5s var(--vm-ease)}
:is([class*="Card "],[class$="Card"]):hover img{transform:scale(1.03)}

/* Form fields */
input,textarea,select{transition:border-color .2s,box-shadow .2s,background-color .2s}

/* Footer links */
[class*="Footer-module__"] a{transition:color .2s,background-color .2s,transform .2s,box-shadow .2s}

/* Entrance animation for page heroes (pure CSS) */
@keyframes vm-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
:is([class*="__heroContent "],[class$="__heroContent"],[class*="__heroTitle "],[class$="__heroTitle"]){animation:vm-fade-up .7s var(--vm-ease) both}
:is([class*="__heroSubtitle "],[class$="__heroSubtitle"]){animation:vm-fade-up .7s var(--vm-ease) .12s both}

/* Scroll-reveal (driven by /brand/motion.js; attribute-based so React never strips it) */
html[data-vm-motion] [data-vm-reveal="pending"]{opacity:0;transform:translateY(24px)}
html[data-vm-motion] [data-vm-reveal="in"]{opacity:1;transform:none;
  transition:opacity .6s var(--vm-ease) var(--vm-d,0s),transform .6s var(--vm-ease) var(--vm-d,0s)}

@media (prefers-reduced-motion:reduce){
  :is([class*="Card "],[class$="Card"]):hover,:is([class*="Card "],[class$="Card"]):hover img{transform:none}
  :is([class*="__heroContent "],[class$="__heroContent"],[class*="__heroTitle "],[class$="__heroTitle"],[class*="__heroSubtitle "],[class$="__heroSubtitle"]){animation:none}
  html[data-vm-motion] [data-vm-reveal]{opacity:1!important;transform:none!important}
}

/* ---------- Header: laptop/tablet-landscape range (969–1199px) so nothing overflows or wraps ---------- */
@media (min-width:969px) and (max-width:1199px){
  [class*="Navbar-module__"]:is([class*="__container "],[class$="__container"]){padding:.4rem 1rem;gap:.5rem}
  [class*="Navbar-module__"]:is([class*="__logoAnimationWrapper "],[class$="__logoAnimationWrapper"]){height:56px}
  [class*="Navbar-module__"]:is([class*="__logoImg "],[class$="__logoImg"]){height:46px}
  [class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"]){gap:0}
  [class*="Navbar-module__"]:is([class*="__navLinks "],[class$="__navLinks"])>li>a,
  [class*="Navbar-module__"]:is([class*="__dropdownToggle "],[class$="__dropdownToggle"]){padding:.45rem .5rem;font-size:.78rem;white-space:nowrap}
  [class*="Navbar-module__"]:is([class*="__donateBtn "],[class$="__donateBtn"]){padding:.5rem .9rem!important}
}
