/* premium.css (tba-v63): ONE design system for the home page, loaded last.
   White background, navy/blue #014BAA, ONE gold accent (#C9A55A, decorative only),
   two fonts: Fraunces (headings) + DM Sans (body). Noto Sans Devanagari is only the
   fallback for Hindi letters. One card style, one radius, one spacing scale. */
:root{
  --p-navy:#014BAA; --p-navy-d:#013A85; --p-navy-t:#EEF3FB;
  --p-gold:#C9A55A;
  --p-ink:#111A2C; --p-ink2:#3A4459; --p-line:#E3E8F1;
  --p-bg:#FFFFFF; --p-bg-alt:#F7F9FC;
  --p-r:16px; --p-r-sm:12px;
  --p-shadow:0 1px 2px rgba(11,42,91,.05),0 10px 28px -16px rgba(11,42,91,.22);
  --p-head:"Fraunces",Georgia,"Times New Roman",serif;
  --p-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari",sans-serif;
  --p-sec-y:56px; --p-gap:16px;
  /* map the older layers' tokens onto the one system */
  --bg:#fff; --bg2:var(--p-bg-alt); --cream:#fff; --paper:#fff; --card:#fff; --card2:#fff;
  --ink:var(--p-ink); --ink2:var(--p-ink2); --mute:var(--p-ink2);
  --mar:var(--p-navy); --mar2:var(--p-navy); --red:var(--p-navy); --gold:var(--p-navy); --gold2:var(--p-navy-d);
  --crest:var(--p-gold); --orn:var(--p-gold); --line:var(--p-line); --line2:var(--p-line);
  --serif:var(--p-head); --sans:var(--p-body); --body:var(--p-body);
  --a-cream:#fff; --a-card:#fff; --a-radius:var(--p-r); --a-ink:var(--p-ink); --a-ink2:var(--p-ink2);
  --r:var(--p-r); --r-card:var(--p-r); --shadow:var(--p-shadow); --glow:var(--p-shadow);
  --nm-card:var(--p-shadow); --nm-card-up:var(--p-shadow); --nm-btn:none; --nm-in:none; --clay-mar:none; --clay-cream:none;
  --g-cream:#fff; --g-cream-solid:#fff; --g-rim:none; --g-sheen:none;
}
html,html body{background:var(--p-bg)!important;color:var(--p-ink)!important}
html body{font-family:var(--p-body)!important;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body p,body li,body dd,body dt,body figcaption,body label,body input,body select,body textarea,body button,body .btn,body small,body span,body a{font-family:var(--p-body)!important}
html body :is(h1,h2,h3,h4,.tag,.city,.big):not(#_){font-family:var(--p-head)!important;letter-spacing:-.01em}
html body :is(h1,h2,h3,h4,.big) :not(svg):not(#_){font-family:inherit!important}
body [lang=hi],body .hi[lang=hi],body [data-lang=hi] h2,body [data-lang=hi] h3{font-family:"Noto Sans Devanagari",var(--p-body)!important}
html body [lang=hi]:not(#_){font-family:"Noto Sans Devanagari",var(--p-body)!important}
html[data-lang=hi] body :is(h1,h2,h3,h4)[data-hi]:not(#_){font-family:var(--p-head),"Noto Sans Devanagari",serif!important}

/* sections: white, generous space, one rhythm */
body main>section.sec,body section.sec{background:var(--p-bg)!important;padding-top:var(--p-sec-y)!important;padding-bottom:var(--p-sec-y)!important;border:0!important;box-shadow:none!important}
body section.sec.alt{background:var(--p-bg-alt)!important}
body section.sec::before,body section.sec::after{background-image:none!important}
body .sec h2{color:var(--p-ink)!important;font-weight:600!important;font-size:clamp(26px,6.4vw,38px)!important;line-height:1.15!important;margin:6px 0 10px!important}
body .sec h3{color:var(--p-ink)!important;font-weight:600!important}
body .eyebrow{color:var(--p-navy)!important;font:700 12.5px/1.2 var(--p-body)!important;letter-spacing:.14em!important;text-transform:uppercase!important;display:inline-flex!important;align-items:center;gap:10px;background:none!important;padding:0!important;border:0!important}
body .eyebrow::before{content:"";width:22px;height:2px;background:var(--p-gold);border-radius:2px;display:inline-block}
body .lead{color:var(--p-ink2)!important;font-size:16.5px!important;max-width:60ch}

/* ONE card style everywhere */
body .card,body .glass,body .batch,body .course,body .teacher,body .star-card,body .photo-item,body .lec,body .modal-card:not(.t-modal),body .bseb-box,body .faq details,body #faq details,body .enq,body form.enq-form,body .app-card{
  background:#fff!important;border:1px solid var(--p-line)!important;border-radius:var(--p-r)!important;box-shadow:var(--p-shadow)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-image:none!important}
body .glass::before,body .glass::after,body .card::after,body .batch::before,body .batch::after{display:none!important}
body .tilt{transform:none!important}
body .stats .glass{border-radius:var(--p-r)!important}

/* buttons: one shape; navy primary, outline secondary, WhatsApp keeps its own green so parents recognise it */
body .btn{border-radius:var(--p-r-sm)!important;min-height:48px;font-weight:600!important;box-shadow:none!important;background-image:none!important;letter-spacing:0!important;text-transform:none!important}
body .btn-call,body .btn:not(.btn-wa):not(.btn-ghost):not(.btn-quiz){background:var(--p-navy)!important;color:#fff!important;border:1px solid var(--p-navy)!important}
body .btn-ghost,body .btn-quiz{background:#fff!important;color:var(--p-navy)!important;border:1.5px solid var(--p-navy)!important}
body .btn-wa{background:#157A43!important;color:#fff!important;border:1px solid #157A43!important} /* 4.5:1 with white text */
body .btn:hover{filter:brightness(1.06)}
body .btn:focus-visible,body a:focus-visible,body button:focus-visible{outline:3px solid var(--p-gold)!important;outline-offset:2px}
body .chip-btn{border-radius:999px!important;border:1px solid var(--p-line)!important;background:#fff!important;color:var(--p-ink2)!important;box-shadow:none!important}
body .chip-btn.on{background:var(--p-navy)!important;color:#fff!important;border-color:var(--p-navy)!important}
body .pill,body .status,body .badge{border-radius:999px!important;box-shadow:none!important}
body .status.open,body .badge{background:var(--p-navy-t)!important;color:var(--p-navy)!important;border:0!important}
body .badge .dot{background:var(--p-gold)!important;box-shadow:none!important}
body .pill{background:var(--p-navy-t)!important;color:var(--p-navy)!important}

/* header */
body header.nav{background:#fff!important;border-bottom:1px solid var(--p-line)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body header.nav .brand,body header.nav .brand *{color:var(--p-ink)!important}
body .band{background:var(--p-navy)!important;background-image:none!important}

/* hero: white, calm */
body section.hero{background:#fff!important;background-image:none!important}
body section.hero::before,body section.hero::after{display:none!important}
body .hero h1{color:var(--p-ink)!important;font-weight:600!important}
body .hero h1 .city{color:var(--p-navy)!important}
body .hero .tag{color:var(--p-navy)!important;font-style:italic}
body .hero .sub,body .hero .hi{color:var(--p-ink2)!important}
body .orn svg *{stroke:var(--p-gold)!important}
body .stats b{color:var(--p-navy)!important;font-family:var(--p-head)!important}
body .stats .lbl{color:var(--p-ink2)!important}

/* notice strip */
body section.notice{background:var(--p-navy-t)!important;color:var(--p-ink)!important;border:0!important}
body section.notice strong{background:var(--p-navy)!important;color:#fff!important}

/* results / batches details */
body .star-info .big,body .star-info .big *{color:var(--p-navy)!important}
body .star-info .rank{color:var(--p-ink)!important;font-weight:600}
body .marks b{color:var(--p-navy)!important}
body .card figcaption b,body .batch h3{color:var(--p-ink)!important}
body .card figcaption span,body .card figcaption em{color:var(--p-ink2)!important}
body .batch dt{color:var(--p-ink2)!important}
body .batch dd{color:var(--p-ink)!important}
body .star-card,body .batch,body .card,body .course,body .teacher{padding:20px}
body .card,body .photo-item{padding:0;overflow:hidden}

/* footer: deep navy, white text */
body footer.foot{background:var(--p-navy-d)!important;color:#fff!important;background-image:none!important}
body footer.foot *{color:inherit}
body footer.foot a{color:#fff!important}

/* sticky quick bar: one clean bar on phones */
body .sticky{background:#fff!important;border-top:1px solid var(--p-line)!important;box-shadow:0 -6px 18px -12px rgba(11,42,91,.35)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* speed on small phones: no heavy effects */
@media (max-width:760px){
  body *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  body{--p-sec-y:44px}
}

/* small fixes */
body .marks li{background:var(--p-bg-alt)!important;border:1px solid var(--p-line)!important;border-radius:var(--p-r-sm)!important;color:var(--p-ink2)!important;box-shadow:none!important}
body .qzh-card{border-radius:var(--p-r)!important}
body .star-info .big,body .star-info .big *,body .marks b,body .marks li,body .star-info .pill,body .stats b{-webkit-text-fill-color:currentColor!important;background-image:none!important;opacity:1!important;text-shadow:none!important}
body .star-info .pill{color:var(--p-navy)!important;background:var(--p-navy-t)!important;border:0!important}
body .marks li{color:var(--p-ink2)!important}
body .marks b{color:var(--p-navy)!important}

/* ---- v64: short home page + own pages for Courses, Videos, Gallery, FAQ ---- */
html:not([data-page]) main>:is(#courses,#features-sec,#video,#downloads,#app-screens,#gallery,#follow,#faq){display:none!important}
html[data-page] main>:is(section,div){display:none!important}
html[data-page=courses] main>:is(#courses,#features-sec):not([hidden]),
html[data-page=videos] main>:is(#video,#downloads,#app-screens):not([hidden]),
html[data-page=gallery] main>:is(#gallery,#follow):not([hidden]),
html[data-page=faq] main>#faq:not([hidden]){display:block!important}
html[data-page] main>nav.p-crumb{display:flex!important;order:0!important;align-items:center;gap:8px;padding:14px 18px 0;max-width:1120px;margin:0 auto;width:100%;box-sizing:border-box;font:500 14px/1.4 var(--p-body);color:var(--p-ink2)}
html[data-page] main>nav.p-crumb a{color:var(--p-navy)!important;font-weight:600;text-decoration:none}
html[data-page] main>nav.p-crumb b{color:var(--p-ink)}
html[data-page] main{min-height:60vh}
/* home order: hero, notice, quiz promo, toppers, (reviews), batches, director & teachers, app, admission form, contact */
html:not([data-page]) main>.hero{order:1!important}
html:not([data-page]) main>.notice{order:2!important}
html:not([data-page]) main>#test-series{order:3!important}
html:not([data-page]) main>#offers{order:4!important}
html:not([data-page]) main>#results{order:5!important}
html:not([data-page]) main>#proud-toppers{order:6!important}
html:not([data-page]) main>#reviews{order:7!important}
html:not([data-page]) main>#batches{order:8!important}
html:not([data-page]) main>#about{order:9!important}
html:not([data-page]) main>#app{order:10!important}
html:not([data-page]) main>#enquiry{order:11!important}
html:not([data-page]) main>#contact{order:12!important}
/* sticky Call + WhatsApp at the bottom on phones */
@media (max-width:760px){
  body .sticky{position:fixed!important;left:0;right:0;bottom:0;z-index:60;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;margin:0!important;border-radius:0!important}
  body .sticky .btn{width:100%;justify-content:center;min-height:48px;margin:0!important}
  body footer.foot{padding-bottom:96px!important}
}

/* ---- v65: Ratings & reviews ---- */
body #reviews .rv-grid{display:grid;gap:var(--p-gap);grid-template-columns:1fr;margin-top:20px}
@media (min-width:760px){body #reviews .rv-grid{grid-template-columns:1.2fr 1fr}body #reviews .rv-list{grid-template-columns:repeat(3,1fr)!important}}
body #reviews .rv-play,body #reviews .rv-rate,body #reviews .rv-item{background:#fff;border:1px solid var(--p-line);border-radius:var(--p-r);box-shadow:var(--p-shadow);padding:20px;margin:0;box-sizing:border-box}
body #reviews .rv-play{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--p-ink)!important}
body #reviews .rv-top{display:flex;align-items:center;gap:12px}
body #reviews .rv-num{font:600 44px/1 var(--p-head)!important;color:var(--p-ink)}
body #reviews .rv-stars{position:relative;display:inline-block;font-size:22px;letter-spacing:2px;color:#D9DEE8;line-height:1}
body #reviews .rv-stars i{font-style:normal}
body #reviews .rv-stars::after{content:"★★★★★";position:absolute;left:0;top:0;width:var(--p,0%);overflow:hidden;white-space:nowrap;color:var(--p-gold)}
body #reviews .rv-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-weight:600;color:var(--p-ink)}
body #reviews .rv-src{font-size:14px;color:var(--p-ink2)}
body #reviews .rv-cta{margin-top:6px;font-weight:600;color:var(--p-navy)}
body #reviews .rv-rate b{display:block;font:600 20px/1.3 var(--p-head)!important;color:var(--p-ink)}
body #reviews .rv-rate p{margin:6px 0 14px;color:var(--p-ink2)}
body #reviews .rv-rate .btn{display:inline-flex;align-items:center;justify-content:center;padding:0 18px}
body #reviews .rv-list{display:grid;gap:var(--p-gap);grid-template-columns:1fr;margin-top:var(--p-gap)}
body #reviews .rv-list[hidden]{display:none!important}
body #reviews .rv-item blockquote{margin:0 0 14px;font-size:16px;line-height:1.6;color:var(--p-ink)}
body #reviews .rv-item figcaption{display:flex;align-items:center;gap:12px}
body #reviews .rv-item figcaption img,body #reviews .rv-av{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
body #reviews .rv-av{display:grid;place-items:center;background:var(--p-navy-t);color:var(--p-navy);font-weight:700}
body #reviews .rv-item figcaption b{display:block;color:var(--p-ink)}
body #reviews .rv-item figcaption small{display:block;color:var(--p-ink2);font-size:13.5px}
body #reviews [hidden]{display:none!important}
body #reviews[hidden]{display:none!important}
html:not([data-page]) #testimonial-list{display:none!important} /* reviews now live in their own block */

/* ---- v66: results: the "enter the roll code shown above" hint only when a roll code is shown ---- */
body #results:not(:has(.roll)) .bseb-hint{display:none!important}
body .roll{display:block;margin-top:4px;font:600 13.5px/1.4 var(--p-body)!important;color:var(--p-navy)!important;letter-spacing:.01em}

/* ---- v67: one language per section. English by default; the हिं button switches the sections to Hindi ---- */
html:not([data-lang=hi]) body :is(#enqForm,#enqOk,.hero,#about) [lang=hi]:not([data-hi]){display:none!important}
html[data-lang=hi] body :is(#enqForm,#enqOk) .en{display:none!important}
html[data-lang=hi] body .hero .sub{display:none!important}
html[data-lang=hi] body .hero .hi[lang=hi],html[data-lang=hi] body #about .hi[lang=hi]{display:block!important}

/* ---- v67: header fits on laptops: the menu button up to 1365px; above that one tidy row ---- */
@media (min-width:1180px) and (max-width:1365px){
  header.nav .links{display:none!important}
  header.nav .links.open{display:flex!important;position:fixed;top:64px;left:auto;right:12px;width:340px;flex-direction:column;gap:2px;padding:10px;border-radius:var(--p-r);background:#fff!important;border:1px solid var(--p-line)!important;box-shadow:0 18px 40px rgba(23,32,51,.16)!important;max-height:calc(100vh - 90px);overflow:auto}
  header.nav .links.open a{padding:12px 14px!important;font-size:1rem!important;min-height:44px;display:flex;align-items:center}
  header.nav .menu,header.nav .tbtn.menu{display:inline-grid!important}
}
@media (min-width:1366px){
  header.nav .links{flex-wrap:nowrap!important;gap:2px!important;min-width:0}
  header.nav .links a{white-space:nowrap!important;padding:8px 9px!important}
  header.nav .links a[href="#about"],header.nav .links a[href="#app"],header.nav .links a[href="/#about"],header.nav .links a[href="/#app"]{display:none!important}
  header.nav .brand{flex:none;white-space:nowrap}
}
