/* =====================================================================
   VEDAVARSITY FOUNDATION — PREMIUM THEME
   Loaded after each page's own styles. Midnight indigo, antique gold, ivory.
   Typography: Cormorant Garamond (display) + Inter (text) — same as VedaFund.
   ===================================================================== */
:root{
  --indigo-950:#08142E; --indigo-900:#0E1F45; --indigo-800:#1C3366;
  --gold-500:#B8913A; --gold-400:#D9BD78; --gold-700:#8C6A22;
  --ivory-50:#FBF8F1; --ivory-100:#F5EFE2;
  --ink-900:#1A2238; --ink-600:#5A6172;
  --line:#E9E1CF; --maxw:1180px;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow-soft:0 1px 2px rgba(14,31,69,.04),0 18px 40px -24px rgba(14,31,69,.28);
  --shadow-lift:0 2px 4px rgba(14,31,69,.05),0 34px 64px -32px rgba(14,31,69,.45);
}
html{-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--ink-900);background:var(--ivory-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:#E9D9A8;color:var(--indigo-950);}
h1,h2,h3,.brand-title{font-family:var(--serif);font-weight:600;letter-spacing:-.005em;color:var(--indigo-950);}
h1{line-height:1.04;} h2{line-height:1.1;} h3{line-height:1.2;}
.wrap{padding:0 28px;}

/* ---------- header ---------- */
header{background:rgba(251,248,241,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);box-shadow:none;}
header::after{height:1px;background:linear-gradient(90deg,transparent,var(--gold-500) 30%,var(--gold-400) 70%,transparent);opacity:.7;}
header.scrolled{box-shadow:0 10px 30px -18px rgba(8,20,46,.35);}
.nav-inner{padding:14px 28px;}
.brand-logo{height:42px;}
.brand-title{font-size:25px;font-weight:700;line-height:1;}
.brand-sub{font-family:var(--sans);font-size:9.5px;letter-spacing:.34em;color:var(--gold-500);margin-top:4px;}
nav#primary-nav ul{gap:26px;}
nav#primary-nav a{font-size:13.5px;font-weight:500;letter-spacing:.04em;color:var(--ink-900);border-bottom:0 !important;}
nav#primary-nav a[aria-current="page"]{color:var(--gold-700);}
nav#primary-nav ul li a:not(.nav-cta)::after{height:1px;bottom:-5px;background:var(--gold-500);}
nav#primary-nav a[aria-current="page"]:not(.nav-cta)::after{width:100%;}
.nav-cta{background:linear-gradient(135deg,#E2C47E 0%,#B8913A 55%,#9C7728 100%) !important;color:#1B1405 !important;border-radius:999px !important;padding:10px 20px !important;font-weight:600 !important;letter-spacing:.06em !important;box-shadow:0 10px 22px -12px rgba(156,119,40,.8),inset 0 1px 0 rgba(255,255,255,.45);}
.nav-cta:hover{filter:brightness(1.06);}
.menu-btn{border-color:var(--line);border-radius:10px;background:#fff;width:44px;height:44px;}
.menu-btn span{background:var(--indigo-950);width:18px;height:1.5px;margin:4px auto;transition:transform .25s,opacity .2s;}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
@media (max-width:980px){
  header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#FBF8F1;}
  nav#primary-nav{background:#FBF8F1 !important;padding:10px 28px 26px;box-shadow:0 24px 40px -24px rgba(8,20,46,.35);}
  nav#primary-nav ul{gap:0;}
  nav#primary-nav li{width:100%;border-bottom:1px solid var(--line);}
  nav#primary-nav li:last-child{border-bottom:0;padding-top:14px;}
  nav#primary-nav a{display:block;padding:13px 2px;font-size:15px;}
  nav#primary-nav ul li a:not(.nav-cta)::after{display:none;}
  .nav-cta{display:inline-block !important;}
}

/* ---------- buttons ---------- */
.btn{border-radius:999px;padding:14px 28px;font-size:14px;letter-spacing:.05em;font-weight:600;}
.btn-gold{background:linear-gradient(135deg,#E2C47E 0%,#B8913A 55%,#9C7728 100%);color:#1B1405;box-shadow:0 14px 28px -14px rgba(156,119,40,.85),inset 0 1px 0 rgba(255,255,255,.45);}
.btn-gold:hover{background:linear-gradient(135deg,#E8CD8C 0%,#C29B44 55%,#A57F2E 100%);}
.btn-outline{border-color:rgba(217,189,120,.5);color:var(--ivory-50);}
.btn-outline:hover{border-color:var(--gold-400);color:var(--gold-400);background:rgba(217,189,120,.06);}
.btn-dark{background:var(--indigo-950);}
.btn-dark:hover{background:var(--indigo-900);}

/* ---------- eyebrows ---------- */
.eyebrow{font-size:11px;letter-spacing:.3em;font-weight:600;color:var(--gold-500);padding:0 0 0 46px;margin-bottom:16px;}
.eyebrow::after{left:0;top:50%;bottom:auto;width:34px;height:1px;background:var(--gold-500);}

/* ---------- home hero ---------- */
.hero{background:#08142E;background-image:radial-gradient(70% 60% at 85% 10%,rgba(217,189,120,.16),transparent 60%),radial-gradient(60% 70% at 0% 100%,rgba(28,51,102,.7),transparent 70%),linear-gradient(180deg,#08142E 0%,#0E1F45 100%);background-size:auto;padding:110px 0 100px !important;}
.hero-bubbles{display:none;}
.hero-flame{opacity:.06;}
.hero h1{font-size:clamp(40px,5.8vw,72px);font-weight:600;max-width:15ch;color:var(--ivory-50);margin-bottom:24px;}
.hero .eyebrow{color:var(--gold-400);}
.hero .eyebrow::after{background:var(--gold-400);}
.hero p.lede{font-size:17.5px;line-height:1.75;color:rgba(251,248,241,.78);}
.hero p[style*="ink-600"]{color:rgba(251,248,241,.55) !important;}
.hero-photo{border-radius:6px;border:0;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);}
.hero-photo-frame{border-color:rgba(217,189,120,.6);top:18px;left:18px;right:18px;bottom:18px;}
.hero-photo-cap strong{font-family:var(--serif);font-size:20px;color:var(--gold-400);}
.hero-stats{border-top:1px solid rgba(217,189,120,.22);margin-top:64px;padding-top:34px;gap:0;}
.hero-stats > div{padding:0 22px;}
.hero-stats > div + div{border-left:1px solid rgba(217,189,120,.18);}
.hero-stats > div:first-child{padding-left:0;}
.hero-stats .num,.hero-stats > div .num{display:block;font-family:var(--serif);font-size:clamp(30px,3.6vw,44px);font-weight:600;color:var(--ivory-50);line-height:1.05;}
.hero-stats .lab{display:block;margin-top:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400);}
@media (max-width:700px){
  .hero{padding:72px 0 64px !important;}
  .hero-stats > div{padding:0 14px;}
  .hero-stats > div:nth-child(3){border-left:0;padding-left:0;}
}

/* ---------- inner page hero ---------- */
.page-hero{position:relative;overflow:hidden;background:#08142E;background-image:radial-gradient(60% 90% at 90% 0%,rgba(217,189,120,.18),transparent 65%),linear-gradient(180deg,#08142E,#0E1F45);padding:96px 0 84px;isolation:isolate;}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,189,120,.5),transparent);}
.page-hero h1{font-size:clamp(38px,5.4vw,64px);font-weight:600;max-width:20ch;}
.page-hero p{font-size:17px;line-height:1.75;color:rgba(251,248,241,.72);margin-top:18px;}
.breadcrumb{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-400);margin-bottom:22px;}
.breadcrumb a{text-decoration:none;color:var(--gold-400);border-bottom:1px solid rgba(217,189,120,.4);}

/* ---------- sections ---------- */
section{padding:96px 0;}
.section-head{margin-bottom:52px;}
.section-head h2{font-size:clamp(32px,4vw,50px);}
.section-head p{font-size:16.5px;line-height:1.8;color:var(--ink-600);margin-top:18px;}
.section-alt{background:var(--ivory-100);background-image:none;border-color:var(--line);}
.section-dark{background:#08142E;background-image:radial-gradient(60% 80% at 50% 0%,rgba(217,189,120,.12),transparent 70%);}
.prose p,.prose ul,.prose ol{font-size:16.5px;line-height:1.85;color:var(--ink-600);}
.prose h2{font-size:clamp(28px,3.2vw,38px) !important;margin:44px 0 16px;}
.prose h3{font-size:26px;margin:34px 0 12px;}
.prose a{color:var(--gold-700);}
.prose strong{color:var(--ink-900);}
h2[style*="font-size:24px"],h2[style*="font-size:26px"]{font-size:clamp(28px,3.2vw,38px) !important;}

/* ---------- cards ---------- */
.grid-2,.grid-3,.grid-4{gap:26px;}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px 30px;box-shadow:var(--shadow-soft);gap:12px;}
.card::before{height:2px;background:linear-gradient(90deg,var(--gold-500),var(--gold-400),transparent);}
a.card:hover{border-color:rgba(184,145,58,.55);box-shadow:var(--shadow-lift);transform:translateY(-6px);}
.card h3{font-size:27px;font-weight:600;}
.card p{font-size:15px;line-height:1.75;}
.card-num{font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:0;font-weight:600;color:var(--gold-500);}
.card-link{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo-900);padding-top:8px;}
.more-links a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-bottom-color:rgba(184,145,58,.5);}

.impact-card{border-left:1px solid var(--gold-500);padding-left:22px;}
.impact-card .num{font-family:var(--serif);font-size:clamp(40px,5vw,58px);font-weight:600;color:var(--gold-400);}
.impact-card .lab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;}

.fact-list li{padding:18px 0;font-size:14.5px;}
.fact-list li span:last-child{font-family:var(--serif);font-size:18px;}

.support-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px 34px;box-shadow:var(--shadow-soft);position:relative;}
.support-box::before{content:"";position:absolute;inset:10px;border:1px solid rgba(184,145,58,.22);border-radius:10px;pointer-events:none;}
.support-box .btn{position:relative;}

/* ---------- people & photos ---------- */
.teacher-photo{border:4px solid #fff;box-shadow:0 0 0 1px rgba(184,145,58,.4),0 18px 34px -18px rgba(8,20,46,.45);}
.teacher-card h3{font-size:22px;}
.teacher-card p{font-size:11px;letter-spacing:.16em;color:var(--gold-700);}
.feature-photo,.about-photo,.gallery-item{border-radius:10px;border-color:var(--line);box-shadow:var(--shadow-soft);}
.photo-strip-cap{font-family:var(--serif);font-style:italic;font-size:18px;}
.stars{color:var(--gold-500);letter-spacing:6px;}
.reviews p{font-size:15px;}

/* ---------- FAQ & forms ---------- */
.faq-item{padding:24px 0;}
.faq-item summary{font-family:var(--serif);font-size:23px;font-weight:600;}
.faq-item summary::after{font-family:var(--sans);font-weight:300;color:var(--gold-500);}
.faq-item p{font-size:16px;line-height:1.8;}
label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-600);}
input,select,textarea{border-radius:10px;border-color:var(--line);background:#fff;padding:13px 15px;transition:border-color .2s,box-shadow .2s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(184,145,58,.14);}

/* ---------- footer ---------- */
footer{background:#08142E;background-image:radial-gradient(50% 60% at 50% 0%,rgba(217,189,120,.08),transparent 70%);border-top:1px solid rgba(217,189,120,.25);padding:84px 0 34px;color:rgba(251,248,241,.62);}
.footer-grid{border-bottom-color:rgba(217,189,120,.16);gap:44px;padding-bottom:48px;}
.footer-grid h4{font-family:var(--sans);color:var(--gold-400);font-size:11px;letter-spacing:.26em;margin-bottom:20px;}
.footer-grid li{margin-bottom:12px;}
.footer-grid a{color:rgba(251,248,241,.66);transition:color .2s;}
.footer-grid a:hover{color:var(--gold-400);}
.footer-brand .brand-title{color:var(--ivory-50);font-size:24px;}
.footer-legal{color:rgba(251,248,241,.5);font-size:13px;}
.reg-note{background:rgba(217,189,120,.06);border:1px solid rgba(217,189,120,.25);border-radius:10px;color:var(--gold-400);}
.footer-bottom{color:rgba(251,248,241,.45);}
.footer-bottom a{color:rgba(251,248,241,.6);}

/* ---------- mobile ---------- */
@media (max-width:600px){
  .wrap,.nav-inner{padding-left:18px;padding-right:18px;}
  section{padding:68px 0;}
  .page-hero{padding:68px 0 56px;}
  .card{padding:28px 22px;}
  .brand-title{font-size:22px;}
  .brand-logo{height:36px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
  .footer-grid > div:first-child{grid-column:1/-1;}
}

/* stat cards (number + small label) */
.grid-4 > .card:has(> h3[style*="font-size:15px"]){padding:34px 26px 30px;}
.grid-4 > .card .card-num:first-child:has(+ h3[style*="font-size:15px"]){font-size:clamp(40px,4.4vw,54px);font-style:normal;line-height:1;color:var(--indigo-950);}
.grid-4 > .card h3[style*="font-size:15px"]{font-family:var(--sans);font-size:12px !important;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;color:var(--ink-600);}
