/* public/css/schools.css — v10.437 /schools/ (For Schools & Tuition Centres). Light + dark. */
.sch{ --s-ink:#1D1530; --s-ink2:#4A4160; --s-ink3:#6F6585; --s-pink:#C2185B; --s-blue:#1D4ED8; --s-aqua:#0E7490; --s-gold:#B07A1E;
  --s-card:#FFFFFF; --s-band:#FBF1E2; --s-line:rgba(120,92,40,.18); --s-ok:#0F7A4A; --s-hero1:#FFF1F7; --s-hero2:#EEF4FF; }
html[data-theme="dark"] .sch{ --s-ink:#F3EEFF; --s-ink2:#D3CBEA; --s-ink3:#B4AACF; --s-pink:#FF5FA2; --s-blue:#8FB3FF; --s-aqua:#22D3EE; --s-gold:#F0C46E;
  --s-card:#221C3B; --s-band:#1B1630; --s-line:rgba(240,196,110,.18); --s-ok:#4ADE9B; --s-hero1:#2A1631; --s-hero2:#16213F; }
.sch{ color:var(--s-ink); }
.sch-wrap{ max-width:1120px; margin:0 auto; padding:0 16px; }
.sch-sec{ padding:56px 0; }
.sch-band{ background:var(--s-band); border-top:1px solid var(--s-line); border-bottom:1px solid var(--s-line); }
html .sch .sch-h2{ margin:0 0 10px; font:800 clamp(24px,3.4vw,34px)/1.2 'DM Sans', system-ui, sans-serif; color:var(--s-ink); letter-spacing:-.01em; }
html .sch p.sch-lead{ margin:0 0 26px; color:var(--s-ink2); font-size:16.5px; max-width:720px; }

/* hero */
.sch-hero{ background:radial-gradient(1200px 500px at 10% -10%, var(--s-hero1), transparent 60%), radial-gradient(900px 500px at 100% 0%, var(--s-hero2), transparent 55%); padding:26px 0 54px; border-bottom:1px solid var(--s-line); }
.sch-crumb{ font-size:13px; color:var(--s-ink3); margin-bottom:22px; }
.sch-crumb a{ color:var(--s-ink3); }
html .sch p.sch-kicker{ margin:0; font:800 12.5px/1.3 'DM Sans', system-ui, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--s-pink); }
.sch-hero h1{ margin:10px 0 6px; font:800 clamp(32px,5.6vw,58px)/1.06 'DM Sans', system-ui, sans-serif; letter-spacing:-.02em; color:var(--s-ink); max-width:900px; }
.sch-hero h1 span{ background:linear-gradient(100deg, var(--s-aqua), var(--s-blue) 55%, var(--s-pink)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
html .sch p.sch-hi{ margin:0 0 14px; font:700 clamp(17px,2.4vw,21px)/1.6 'Noto Sans Devanagari', sans-serif; color:var(--s-pink); }
html .sch p.sch-sub{ margin:0 0 22px; font-size:clamp(16px,1.9vw,19px); line-height:1.6; color:var(--s-ink2); max-width:760px; }
.sch-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.sch-ctas-c{ justify-content:center; }
.sch-go{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:12px 26px; border-radius:999px; text-decoration:none;
  font:800 16px/1.2 'DM Sans', system-ui, sans-serif; color:#fff; background:linear-gradient(135deg,#E0115F,#9333EA); box-shadow:0 14px 30px -14px rgba(224,17,95,.7); }
.sch-go:hover{ filter:brightness(1.05); color:#fff; }
.sch-go-wide{ width:100%; }
.sch-ghost{ display:inline-flex; align-items:center; min-height:52px; padding:12px 22px; border-radius:999px; text-decoration:none; font:700 15.5px/1.2 'DM Sans', system-ui, sans-serif;
  color:var(--s-ink); border:1.5px solid var(--s-line); background:var(--s-card); }
html .sch p.sch-price-line{ margin:0; font-size:14px; color:var(--s-ink3); }
html .sch p.sch-offer{ display:inline-block; margin:12px 0 0; padding:10px 14px; border-radius:12px; background:var(--s-card); border:1.5px dashed var(--s-pink); color:var(--s-ink); font-size:14.5px; }

/* numbers */
.sch-stats{ list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.sch-stats li{ background:var(--s-card); border:1px solid var(--s-line); border-radius:18px; padding:18px; }
.sch-stats b{ display:block; font:800 34px/1 'DM Sans', system-ui, sans-serif; color:var(--s-blue); }
.sch-stats span{ display:block; margin-top:6px; font-weight:700; color:var(--s-ink); }
.sch-stats small{ display:block; margin-top:4px; color:var(--s-ink3); font-size:13px; line-height:1.45; }

/* reasons */
.sch-reasons{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.sch-reasons li{ display:flex; gap:14px; background:var(--s-card); border:1px solid var(--s-line); border-radius:18px; padding:18px; }
.sch-n{ flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font:800 17px/1 'DM Sans', system-ui, sans-serif; color:#fff; background:linear-gradient(135deg, var(--s-aqua), var(--s-blue)); }
html .sch .sch-reasons h3{ margin:2px 0 6px; font:800 17.5px/1.3 'DM Sans', system-ui, sans-serif; color:var(--s-ink); }
html .sch .sch-reasons p{ margin:0; color:var(--s-ink2); font-size:15px; line-height:1.6; }

/* day */
.sch-day{ list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; counter-reset:d; }
.sch-day li{ background:var(--s-card); border:1px solid var(--s-line); border-top:4px solid var(--s-pink); border-radius:16px; padding:16px; }
.sch-t{ display:block; font:800 11.5px/1.3 'DM Sans', system-ui, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--s-gold); }
.sch-day b{ display:block; margin:6px 0 4px; font-size:16px; color:var(--s-ink); }
html .sch .sch-day p{ margin:0; font-size:14px; line-height:1.55; color:var(--s-ink2); }

/* who */
.sch-who{ list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.sch-who li{ background:var(--s-card); border:1px solid var(--s-line); border-radius:18px; padding:20px; text-align:center; }
.sch-who span{ font-size:34px; display:block; }
.sch-who b{ display:block; margin-top:8px; color:var(--s-ink); }
.sch-who small{ display:block; margin-top:4px; color:var(--s-ink3); }

/* table */
.sch-table-wrap{ overflow-x:auto; margin-top:16px; border:1px solid var(--s-line); border-radius:18px; background:var(--s-card); }
.sch-table{ width:100%; border-collapse:collapse; min-width:620px; font-size:15px; }
.sch-table th, .sch-table td{ padding:13px 14px; text-align:left; border-bottom:1px solid var(--s-line); color:var(--s-ink2); vertical-align:top; }
.sch-table thead th{ color:var(--s-ink); font-weight:800; }
.sch-table tbody th{ color:var(--s-ink); font-weight:600; }
.sch-table tr:last-child th, .sch-table tr:last-child td{ border-bottom:0; }
.sch-table .sch-us{ background:color-mix(in srgb, var(--s-blue) 8%, transparent); color:var(--s-ok); font-weight:700; }
.sch-table thead .sch-us{ color:var(--s-blue); }

/* price */
.sch-price{ display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:center; }
.sch-ticks{ list-style:none; margin:14px 0 0; padding:0; }
.sch-ticks li{ position:relative; padding:7px 0 7px 30px; color:var(--s-ink2); font-size:16px; }
.sch-ticks li::before{ content:"✓"; position:absolute; left:0; top:6px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:800; color:#fff; background:var(--s-ok); }
.sch-card{ background:var(--s-card); border:1px solid var(--s-line); border-radius:22px; padding:24px; box-shadow:0 24px 60px -34px rgba(40,20,70,.5); }
html .sch p.sch-card-k{ margin:0; font:800 12px/1.3 'DM Sans', system-ui, sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--s-pink); }
html .sch p.sch-card-p{ margin:8px 0 2px; font:800 44px/1 'DM Sans', system-ui, sans-serif; color:var(--s-ink); }
.sch-card-p small{ font-size:16px; font-weight:600; color:var(--s-ink3); }
html .sch p.sch-card-n{ margin:0 0 12px; color:var(--s-ink3); font-size:14px; }
html .sch p.sch-card-o{ margin:0 0 16px; padding:10px 12px; border-radius:12px; background:var(--s-band); border:1px dashed var(--s-pink); color:var(--s-ink); font-size:14px; line-height:1.5; }
html .sch p.sch-card-s{ margin:10px 0 0; text-align:center; color:var(--s-ink3); font-size:12.5px; }

/* steps */
.sch-steps{ list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; counter-reset:st; }
.sch-steps li{ counter-increment:st; background:var(--s-card); border:1px solid var(--s-line); border-radius:18px; padding:20px 18px 18px 64px; position:relative; }
.sch-steps li::before{ content:counter(st); position:absolute; left:18px; top:18px; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-weight:800; color:#fff; background:var(--s-pink); }
.sch-steps b{ display:block; color:var(--s-ink); font-size:16.5px; }
html .sch .sch-steps p{ margin:4px 0 0; color:var(--s-ink2); font-size:14.5px; }
.sch-steps a{ color:var(--s-pink); font-weight:700; }

/* faq */
.sch-faq{ display:grid; gap:10px; margin-top:14px; }
.sch-faq details{ background:var(--s-card); border:1px solid var(--s-line); border-radius:14px; padding:4px 16px; }
.sch-faq summary{ cursor:pointer; padding:12px 0; font-weight:700; color:var(--s-ink); list-style:none; }
.sch-faq summary::-webkit-details-marker{ display:none; }
.sch-faq summary::after{ content:"+"; float:right; color:var(--s-pink); font-weight:800; }
.sch-faq details[open] summary::after{ content:"–"; }
html .sch .sch-faq p{ margin:0 0 14px; color:var(--s-ink2); line-height:1.6; }

/* final */
.sch-final{ text-align:center; padding:60px 16px 70px; }
.sch-final h2{ margin:0 0 6px; font:800 clamp(24px,3.6vw,36px)/1.2 'DM Sans', system-ui, sans-serif; color:var(--s-ink); }
html .sch .sch-final p{ margin:0 0 20px; font:700 18px/1.6 'Noto Sans Devanagari', sans-serif; color:var(--s-pink); }

.sch-go:focus-visible, .sch-ghost:focus-visible, .sch-faq summary:focus-visible{ outline:3px solid #7C3AED; outline-offset:3px; }

/* tablet / phone */
@media (max-width:980px){ .sch-day{ grid-template-columns:repeat(2,1fr); } .sch-who{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:820px){ .sch-stats{ grid-template-columns:repeat(2,1fr); } .sch-reasons{ grid-template-columns:1fr; } .sch-price{ grid-template-columns:1fr; } .sch-steps{ grid-template-columns:1fr; } }
@media (max-width:520px){
  .sch-sec{ padding:40px 0; }
  .sch-stats{ grid-template-columns:1fr 1fr; gap:10px; } .sch-stats li{ padding:14px; } .sch-stats b{ font-size:28px; }
  .sch-day{ grid-template-columns:1fr; } .sch-who{ grid-template-columns:1fr 1fr; gap:10px; }
  .sch-ctas a{ flex:1 1 100%; }
}
/* a section that is also the wrapper keeps the same 16px side gutter as the banded ones, so every left edge lines up */
.sch-sec.sch-wrap{ padding-left:16px; padding-right:16px; }
.sch-swipe{ display:none; }
@media (max-width:700px){ html .sch p.sch-swipe{ display:block; margin:8px 0 0; text-align:right; font-size:13px; font-weight:700; color:var(--s-pink); } }
.sch-table th:first-child{ position:sticky; left:0; background:var(--s-card); z-index:1; }
