/* iGurukulam v7 — "A proper school on paper"
   Paper texture, pencil sketches that fill with colour on hover, calm school layout.
   Type: Lora (headings) + Karla (text) + Kalam (small hand-written labels only). */

:root{
  --paper:#F6F3EC; --paper-2:#EDE8DC; --paper-3:#E2DBCB; --white:#FBFAF6;
  --ink:#1D1C1A; --ink-2:#45433F; --muted:#6E6A62; --pencil-2:#B9B4A9; --line:#D9D3C4;
  --turmeric:#E9AF2B; --turmeric-soft:#FBEFC9; --vermilion:#D64A34; --vermilion-soft:#F9E1DC; --indigo:#2E4A9E; --indigo-soft:#E1E6F5;
  --leaf:#6FA35E; --leaf-2:#8DBE79; --leaf-soft:#E6F1E0; --bark:#B8865A; --skin:#F0C9A2;--anaadi-red:#E4301C;--anaadi-orange:#F04A1D; --sky:#BFD7EA; --straw:#E6CF8A; --mud:#D9B98F;
  --display:"Lora","Georgia",serif;
  --text:"Karla","Segoe UI",system-ui,sans-serif;
  --hand:"Kalam","Segoe Print",cursive;
  --ease:cubic-bezier(.22,.61,.36,1); --dur:200ms; --container:1180px;
  --shadow:0 1px 2px rgba(29,28,26,.06),0 10px 24px -14px rgba(29,28,26,.28);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:var(--paper)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.42;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='900'><filter id='p' x='0' y='0' width='100%' height='100%'><feTurbulence type='fractalNoise' baseFrequency='0.011 0.016' numOctaves='5' seed='7' stitchTiles='stitch'/><feDiffuseLighting lighting-color='%23ffffff' surfaceScale='2' diffuseConstant='1.1'><feDistantLight azimuth='40' elevation='58'/></feDiffuseLighting></filter><rect width='100%' height='100%' filter='url(%23p)'/></svg>");background-size:900px 900px}
img,svg{max-width:100%;display:block}
a{color:var(--indigo);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--vermilion)}
:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:4px}
::selection{background:var(--turmeric);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(36px,4.6vw,58px);line-height:1.08}
h2{font-size:clamp(28px,3.4vw,42px)}
h3{font-size:clamp(20px,1.7vw,23px)}
p{margin:0 0 1em;max-width:62ch;text-wrap:pretty}
p:last-child{margin-bottom:0}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--ink-2)}
.hand{font-family:var(--hand);font-weight:400}
.placeholder{font-weight:700;color:var(--vermilion);background:var(--vermilion-soft);padding:0 6px;border-radius:3px;border-bottom:2px dashed var(--vermilion)}
.wrap{max-width:var(--container);margin-inline:auto;padding-inline:20px}
@media (min-width:760px){ .wrap{padding-inline:36px} }
.skip{position:absolute;left:16px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:1000;font-weight:700;text-decoration:none;transition:top var(--dur)}
.skip:focus{top:16px}
.eyebrow{font-family:var(--text);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--vermilion);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--vermilion)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.center p{margin-inline:auto}

/* ---------- pencil + paint system ---------- */
.sk{position:relative;display:block;--r:0%;--px:50%;--py:50%}
.sk svg{width:100%;height:auto;display:block;overflow:visible}
.sk .paint{position:absolute;inset:0;--ink:transparent;
  -webkit-mask-image:radial-gradient(circle at var(--px) var(--py),#000 var(--r),transparent calc(var(--r) + 14%));mask-image:radial-gradient(circle at var(--px) var(--py),#000 var(--r),transparent calc(var(--r) + 14%));
  transition:--r .8s var(--ease);mix-blend-mode:multiply;opacity:.92}
.sk .line{position:relative;--turmeric:none;--vermilion:none;--indigo:none;--leaf:none;--leaf-2:none;--bark:none;--skin:none;--sky:none;--white:none;--paper-2:none;--straw:none;--mud:none}
.sk.on,.sk:hover,a:hover .sk,.painted .sk,.painted{--r:120%}
@property --r { syntax:"<percentage>"; inherits:true; initial-value:0%; }
.motion-off .sk{--r:120%}
symbol *{vector-effect:non-scaling-stroke}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:10px;font-family:var(--text);font-weight:700;font-size:16px;text-decoration:none;color:var(--ink);background:var(--white);border:2px solid var(--ink);cursor:pointer;transition:transform .2s var(--ease),background .2s,box-shadow .2s;white-space:nowrap;box-shadow:2px 2px 0 var(--ink)}
.btn:hover{background:var(--turmeric-soft);color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.btn-primary{background:var(--turmeric)}
.btn-primary:hover{background:#F2BD48}
.btn-ink{background:var(--ink);color:var(--paper);box-shadow:2px 2px 0 var(--vermilion)}
.btn-ink:hover{background:#2A2825;color:#fff;box-shadow:3px 3px 0 var(--vermilion)}
.btn-lg{min-height:56px;padding:0 30px;font-size:17px}
.btn .spin{display:none;width:18px;height:18px;border:2.5px solid rgba(29,28,26,.25);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}
.btn.is-loading .spin{display:inline-block}
.btn:disabled{opacity:.55}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Header ---------- */
.top{position:sticky;top:0;z-index:100;background:rgba(246,243,236,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:2px solid var(--ink)}
.top .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand .mark{width:30px;height:48px;flex:none}
.brand .name{font-family:var(--display);font-weight:700;font-size:24px;line-height:1}
.brand .by{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:3px}
.nav{justify-self:center}
.nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;list-style:none;margin:0;padding:0}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15.5px;padding:10px 13px;border-radius:8px;position:relative;white-space:nowrap}
.nav a:hover{background:var(--paper-2);color:var(--ink)}
.nav a.active::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2.5px;background:var(--vermilion);border-radius:2px}
.top .cta{justify-self:end;display:flex;gap:10px;align-items:center;flex:none}
.top .cta .btn{white-space:nowrap}
@media (max-width:1400px){ .nav a{font-size:14px;padding:8px 9px} .nav a.active::after{left:9px;right:9px} .brand .name{font-size:22px} }
.top .cta .btn{min-height:44px;padding:0 18px;font-size:15px}
.menu{display:none;width:46px;height:46px;border:2px solid var(--ink);border-radius:10px;background:var(--white);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.drawer{display:none}
@media (max-width:1240px){
  .nav{display:none}
  .menu{display:inline-flex}
  .top .cta .btn{display:none}
  .drawer{position:absolute;left:0;right:0;top:100%;height:calc(100vh - 78px);height:calc(100dvh - 78px);overflow-y:auto;background:var(--paper);z-index:90;padding:20px 24px;display:none;flex-direction:column;gap:2px;font-size:20px;font-weight:600}
  .drawer.open{display:flex}
  .drawer a{color:var(--ink);text-decoration:none;padding:14px 4px;border-bottom:1.5px dashed var(--pencil-2)}
  .drawer .btn{margin-top:18px;justify-content:center}
}

/* ---------- Hero with the campus ---------- */
.hero{padding-block:clamp(36px,5vw,64px) clamp(28px,4vw,48px);border-bottom:2px solid var(--ink);background:var(--white);overflow-x:clip}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start}
.hero .art{margin-right:min(-20px,calc((var(--container) - 100vw) / 2 - 20px))}
.hero .copy .kicker{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--turmeric-soft);border:1.5px solid var(--turmeric);border-radius:999px;padding:6px 12px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--vermilion)}
.hero .lede{margin-top:16px}
.hero .points{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.hero .points li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start}
.hero .points .pt{width:26px;height:26px;border-radius:50%;background:var(--turmeric);border:1.5px solid var(--ink);display:grid;place-items:center;color:var(--ink);margin-top:2px}
.hero .points .pt svg{width:14px;height:14px}
.hero .points b{display:block;font-weight:700;font-size:16.5px;line-height:1.3}
.hero .points span{display:block;font-size:15px;color:var(--ink-2);line-height:1.5}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero .facts{list-style:none;margin:26px 0 0;padding:18px 0 0;border-top:1.5px dashed var(--pencil-2);display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14.5px;color:var(--ink-2);font-weight:600}
.hero .facts li{display:flex;align-items:center;gap:8px}
.hero .facts li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--turmeric);border:1.5px solid var(--ink)}
.campus{position:relative;aspect-ratio:1400/1500;width:100%;max-width:820px;margin-left:auto}
.campus > svg.bg{position:absolute;inset:0;width:100%;height:100%}
.campus .hut{position:absolute;text-decoration:none;color:var(--ink);display:block}
.campus .hut .sk{width:100%}
.campus .hut .lbl{position:absolute;left:50%;top:100%;translate:-50% 2px;background:var(--white);border:1.5px solid var(--ink);border-radius:6px;padding:3px 8px;white-space:nowrap;font-family:var(--hand);font-size:clamp(10px,.9vw,14px);line-height:1.15;text-align:center;box-shadow:2px 2px 0 rgba(29,28,26,.85);transition:background .2s,transform .2s}
.campus .hut .lbl small{display:block;font-family:var(--text);font-weight:600;font-size:.72em;color:var(--muted);letter-spacing:.04em}
.campus .hut:hover .lbl,.campus .hut:focus-visible .lbl{background:var(--turmeric);transform:translateY(-2px)}
.campus .hut .sk{transition:transform .3s var(--ease)}
.campus .hut:hover .sk{transform:translateY(-4px)}
.caption{margin:44px 0 0;font-size:15px;color:var(--muted);text-align:right}
.campus-list{display:none}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero .art{margin-right:0}
  .campus{max-width:none}
  .campus .hut .lbl{display:none}
  .campus-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0}
  .campus-list a{display:inline-block;font-family:var(--text);font-weight:700;font-size:14px;color:var(--ink);background:var(--white);border:1.5px solid var(--ink);border-radius:8px;padding:7px 12px;text-decoration:none;box-shadow:2px 2px 0 rgba(29,28,26,.85)}
  .caption{display:none}
  .campus{margin-bottom:0}
}

/* ---------- Sections ---------- */
.section{padding-block:clamp(64px,7vw,104px)}
.section.tint{background:var(--white);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.section-head{max-width:720px;margin-bottom:clamp(28px,3.5vw,48px)}
.section-head.center{margin-inline:auto}
.section-head .lede{margin-top:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);align-items:center}
@media (max-width:900px){ .grid-2{grid-template-columns:1fr} }

/* stats */
.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--ink);border-radius:14px;background:var(--white);overflow:hidden;box-shadow:var(--shadow)}
.stats li{padding:22px 24px 20px;border-left:2px solid var(--ink)}
.stats li:first-child{border-left:0}
.stats .v{font-family:var(--display);font-weight:700;font-size:clamp(30px,3vw,40px);line-height:1;color:var(--indigo);display:flex;align-items:baseline;gap:6px}
.stats .v small{font-family:var(--text);font-weight:700;font-size:13px;color:var(--muted);letter-spacing:.04em}
.stats .l{margin-top:8px;font-size:14.5px;color:var(--ink-2);line-height:1.4}
@media (max-width:900px){ .stats{grid-template-columns:repeat(2,1fr)} .stats li:nth-child(3){border-left:0} .stats li:nth-child(n+3){border-top:2px solid var(--ink)} }
@media (max-width:480px){ .stats{grid-template-columns:1fr} .stats li{border-left:0;border-top:2px solid var(--ink)} .stats li:first-child{border-top:0} }

/* day steps */
.steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:s}
.step4{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px 22px 20px;position:relative;counter-increment:s;box-shadow:var(--shadow)}
.step4 .num{position:absolute;left:18px;top:-16px;width:32px;height:32px;border-radius:50%;background:var(--vermilion);color:#fff;border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:16px}
.step4 .sk{margin:8px auto 14px;height:104px}
.step4 .sk .line,.dash .sk .line{width:auto;height:100%;margin:0 auto}
.step4 .sk .paint,.dash .sk .paint{width:100%;height:100%}
.step4 h3{margin-bottom:6px}
.step4 p{font-size:15px;color:var(--ink-2)}
@media (max-width:960px){ .steps4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:520px){ .steps4{grid-template-columns:1fr} }

/* features */
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.feat{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:start;background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:20px 20px 18px;box-shadow:var(--shadow)}
.feat .sk{width:88px}
.feat h3{font-size:19px;margin-bottom:6px}
.feat p{font-size:15px;color:var(--ink-2)}
.feat .scripts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:17px}
.feat .scripts span{border-bottom:2px solid var(--turmeric)}
@media (max-width:960px){ .feats{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .feats{grid-template-columns:1fr} }

/* Anaadi Foundation logo (footer) */
.logo{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.logo .lm{width:34px;height:54px;flex:none}
.logo .w{display:grid;line-height:1;font-family:var(--text)}
.logo .w b{font-size:27px;font-weight:700;color:var(--anaadi-orange);letter-spacing:-.01em}
.logo .w span{font-size:17px;font-weight:400;color:var(--ink);margin-top:3px;letter-spacing:.01em}

/* dashboards */
.dash3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dash{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px 22px 20px;box-shadow:var(--shadow)}
.dash .sk{height:96px;margin:0 auto 12px}
.dash h3{font-size:22px;margin-bottom:10px;text-align:center}
.dash ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.dash li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-2)}
.dash li svg{flex:none;width:18px;height:18px;margin-top:3px}
@media (max-width:900px){ .dash3{grid-template-columns:1fr} }

/* curriculum */
.book{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.book::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--ink);z-index:1}
.book .pg{padding:clamp(24px,3.4vw,40px)}
.book .pg h3{font-size:26px;margin-bottom:10px}
.book .pg h3 span{display:inline-block;padding:0 .2em;background:var(--turmeric-soft);border-bottom:3px solid var(--turmeric)}
.book .pg.b h3 span{background:var(--leaf-soft);border-bottom-color:var(--leaf)}
.book ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.book li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink-2)}
.book li svg{flex:none;width:20px;height:20px;margin-top:4px}
.book .plus{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;width:52px;height:52px;border-radius:50%;background:var(--vermilion);color:#fff;border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:30px}
@media (max-width:760px){ .book{grid-template-columns:1fr} .book::before{display:none} .book .plus{position:static;translate:0;margin:0 auto} }

/* levels */
.levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.level{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px;box-shadow:var(--shadow);border-top:8px solid var(--turmeric)}
.level:nth-child(2){border-top-color:var(--leaf-2)}.level:nth-child(3){border-top-color:var(--sky)}.level:nth-child(4){border-top-color:var(--vermilion)}
.level .n{font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.level h3{font-size:22px;margin-bottom:8px}
.level p{font-size:15px;color:var(--ink-2)}
@media (max-width:900px){ .levels{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:480px){ .levels{grid-template-columns:1fr} }

/* checklist */
.check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.check li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;background:var(--white);border:2px solid var(--ink);border-radius:12px;padding:14px 16px}
.check .box{width:30px;height:30px;border:2px solid var(--ink);border-radius:7px;position:relative;background:var(--white)}
.check .box svg{position:absolute;left:-5px;top:-11px;width:42px;height:42px}
.check .box svg path{stroke:var(--vermilion);stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60}
.check li.in .box svg path{animation:draw .5s var(--ease) forwards}
.motion-off .check .box svg path{stroke-dashoffset:0}
@keyframes draw{to{stroke-dashoffset:0}}
.check b{display:block;font-weight:700;font-size:16.5px}
.check span{font-size:15px;color:var(--ink-2)}

/* admission steps */
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:n}
.step3{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:24px 22px 22px;counter-increment:n;position:relative;box-shadow:var(--shadow)}
.step3::before{content:"Step " counter(n);display:inline-block;font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--turmeric);border:1.5px solid var(--ink);border-radius:999px;padding:4px 10px;margin-bottom:14px}
.step3 h3{font-size:21px;margin-bottom:8px}
.step3 p{font-size:15px;color:var(--ink-2)}
.step3 .tag{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:var(--indigo)}
@media (max-width:900px){ .steps3{grid-template-columns:1fr} }

/* faq */
.faq{display:grid;gap:10px;max-width:860px;margin-inline:auto}
.faq .item{background:var(--white);border:2px solid var(--ink);border-radius:12px;overflow:hidden}
.faq .q{width:100%;text-align:left;background:none;border:0;padding:18px 20px;font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink);display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;min-height:58px}
.faq .q .x{width:26px;height:26px;flex:none;position:relative;border:2px solid var(--ink);border-radius:50%;transition:transform .35s var(--ease),background .25s}
.faq .q .x::before,.faq .q .x::after{content:"";position:absolute;left:6px;top:10px;width:10px;height:2.5px;background:var(--ink);border-radius:2px}
.faq .q .x::after{transform:rotate(90deg)}
.faq .item.open .q .x{transform:rotate(135deg);background:var(--turmeric)}
.faq .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.faq .item.open .a{grid-template-rows:1fr}
.faq .a > div{overflow:hidden}
.faq .a p{padding:0 20px 20px;color:var(--ink-2);font-size:16px;max-width:68ch}

/* closing band */
.band{background:var(--ink);color:var(--paper);padding-block:clamp(56px,7vw,90px)}
.band .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px}
.band h2{color:#fff;max-width:18ch}
.band p{color:rgba(246,243,236,.82);margin-top:12px;max-width:48ch;font-size:17px}
.band .eyebrow{color:var(--turmeric)}
.band .eyebrow::before{background:var(--turmeric)}
.band .btn-primary{box-shadow:3px 3px 0 var(--vermilion)}
@media (max-width:760px){ .band .wrap{grid-template-columns:1fr} }

/* footer */
.footer{padding-block:44px 30px;font-size:15px;color:var(--ink-2);border-top:2px solid var(--ink);background:var(--white)}
.footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer h4{font-family:var(--text);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer a{color:var(--ink);text-decoration:none}
.footer a:hover{color:var(--vermilion);text-decoration:underline}
.footer .legal{grid-column:1/-1;border-top:1.5px dashed var(--pencil-2);padding-top:16px;margin-top:6px;font-size:13.5px;color:var(--muted)}
@media (max-width:760px){ .footer .wrap{grid-template-columns:1fr} }

/* ---------- Register page ---------- */
.reg-head{padding-block:clamp(40px,5vw,64px) clamp(24px,3vw,40px);background:var(--white);border-bottom:2px solid var(--ink)}
.reg-head .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center}
.reg-head .spot{justify-self:center;width:100%;max-width:320px}
@media (max-width:900px){ .reg-head .wrap{grid-template-columns:1fr} .reg-head .spot{max-width:220px} }
.reg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start;padding-block:clamp(36px,5vw,64px) clamp(60px,8vw,100px)}
@media (max-width:960px){ .reg{grid-template-columns:1fr} }
.aside h2{font-size:28px;margin-bottom:18px}
.aside ol{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:a}
.aside li{display:grid;grid-template-columns:42px 1fr;gap:14px;counter-increment:a}
.aside li::before{content:counter(a);width:42px;height:42px;border-radius:50%;background:var(--turmeric);border:2px solid var(--ink);color:var(--ink);font-family:var(--display);font-weight:700;font-size:18px;display:grid;place-items:center}
.aside b{display:block;font-weight:700;font-size:17px;margin-bottom:2px}
.aside span{font-size:15px;color:var(--ink-2)}
.aside .privacy{margin-top:26px;padding:16px 18px;background:var(--white);border:2px solid var(--ink);border-radius:12px;font-size:14.5px;color:var(--ink-2)}
@media (max-width:960px){ .aside{order:2} }
.form{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:clamp(22px,3.5vw,36px);box-shadow:var(--shadow);position:relative;overflow:hidden}
.progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:20px}
.progress .bar{height:10px;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--white)}
.progress .bar i{display:block;height:100%;width:33.3%;background:var(--turmeric);transition:width .5s var(--ease)}
.progress .lbl{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.stepnav{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stepnav li{font-weight:700;font-size:15px;color:var(--muted);padding:8px 0;border-top:3px solid var(--line)}
.stepnav li.on{color:var(--ink);border-top-color:var(--vermilion)}
.stepnav li.done{color:var(--leaf);border-top-color:var(--leaf)}
.stepnav li small{display:block;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.step{display:none}.step.on{display:block}
.form fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
.form legend{font-family:var(--display);font-weight:700;font-size:26px;margin-bottom:4px;padding:0}
.form .sub{color:var(--muted);font-size:15px;margin-bottom:18px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.field.full{grid-column:1/-1}
@media (max-width:640px){ .fields{grid-template-columns:1fr} }
.field label{display:block;font-weight:700;font-size:15px;margin-bottom:6px}
.field .req{color:var(--vermilion)}
.field .help{font-size:13.5px;color:var(--muted);margin-top:6px}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:2px solid var(--ink);border-radius:8px;transition:box-shadow var(--dur),background var(--dur)}
.field textarea{min-height:100px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%231D1C1A' stroke-width='2.5'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;box-shadow:0 0 0 4px rgba(233,175,43,.45)}
.field.invalid input,.field.invalid select{border-color:var(--vermilion);background:var(--vermilion-soft);animation:shake .4s var(--ease)}
@keyframes shake{0%,100%{translate:0}25%{translate:-4px}75%{translate:4px}}
.field .err{display:none;margin-top:6px;font-size:14px;color:var(--vermilion);font-weight:700}
.field.invalid .err{display:flex;gap:6px;align-items:flex-start}
.review{display:grid;gap:8px;margin-bottom:20px}
.review div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:8px 4px;border-bottom:1.5px dashed var(--pencil-2);font-size:15px}
.review div b{color:var(--muted);font-weight:700}
.consent{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:15px;color:var(--ink-2)}
.consent input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--indigo)}
.consent.invalid{color:var(--vermilion)}
.step-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}
.step-actions .note-s{font-size:14px;color:var(--muted)}
.form-msg{margin-top:18px;padding:14px 16px;border:2px solid var(--ink);border-radius:10px;font-size:15.5px;display:none}
.form-msg.error{display:block;background:var(--vermilion-soft);color:#7A2418}
.form-msg.info{display:block;background:var(--turmeric-soft);color:var(--ink)}
.success{display:none;text-align:center;padding:24px 8px}
.success.show{display:block}
.success .tick{width:88px;height:88px;margin:0 auto 18px}
.success .tick path{stroke:var(--leaf);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:draw .7s var(--ease) .2s forwards}
.success h2{font-size:34px;margin-bottom:10px}
.success p{margin-inline:auto}
.form.done .form-body{display:none}
.stage{opacity:0;transform:translateY(12px)}
.no-js .stage,.motion-off .stage{opacity:1;transform:none}

/* Honeypot field on the register form: off-screen for people and screen readers, still in the DOM for bots */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Privacy notice page */
.reg-head.plain .wrap{grid-template-columns:minmax(0,1fr)}
.prose{max-width:72ch;padding-block:clamp(32px,5vw,56px) clamp(48px,6vw,80px)}
.prose h2{font-size:clamp(22px,2vw,26px);margin:36px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink-2);font-size:16.5px;line-height:1.7}
.prose p+p{margin-top:12px}
.prose ul{margin:10px 0 0;padding-left:22px}
.prose li+li{margin-top:6px}
.prose .updated{margin-top:40px;font-size:14px;color:var(--muted)}

/* who it is for, how it works, dashboard tabs, mobile sticky button */
.stats .v small{margin-left:2px}
.how4{margin-top:8px}
.how4 .step4{padding-top:30px}
.how4 .step4 h3{margin-top:2px}
.step4 .tag{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--indigo)}
.dash-tabs{display:none}
.sticky-cta{display:none}
@media (max-width:900px){
  .dash-tabs{display:flex;gap:8px;justify-content:center;margin:0 0 18px}
  .dash-tabs button{font:inherit;font-weight:700;font-size:15px;min-height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer}
  .dash-tabs button[aria-pressed="true"]{background:var(--turmeric)}
  html:not(.no-js) .dash3 .dash{display:none}
  html:not(.no-js) .dash3 .dash.on{display:block}
  .dash .sk{display:none}
}
@media (max-width:480px){
  .levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .level{padding:16px 14px}
  .level h3{font-size:19px}
  .level p{font-size:14px}
}
@media (max-width:760px){
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(246,243,236,.96);border-top:2px solid var(--ink);transform:translateY(110%);transition:transform .25s ease}
  .sticky-cta.show{transform:none}
  .sticky-cta .btn{width:100%;justify-content:center}
  .footer{padding-bottom:88px}
}
@media (prefers-reduced-motion:reduce){ .sticky-cta{transition:none} }

/* a sample day, screens of the app, quick answers, grouped FAQ */
.sampleday{max-width:680px;margin:clamp(36px,4vw,56px) auto 0}
.sampleday h3,.shots h3{text-align:center}
.sampleday .sub,.shots .sub{text-align:center;margin:8px auto 22px;color:var(--muted);font-size:15px}
.dayline{list-style:none;margin:0;padding:0;background:var(--white);border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.dayline li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:start;padding:14px 20px;border-top:1.5px dashed var(--pencil-2);border-left:6px solid var(--indigo)}
.dayline li:first-child{border-top:0}
.dayline li.rest{border-left-color:var(--leaf-2);background:var(--leaf-soft)}
.dayline li.off{border-left-color:var(--turmeric);background:var(--turmeric-soft)}
.dayline time{font-weight:700;font-size:15px;color:var(--ink-2);white-space:nowrap;padding-top:2px}
.dayline b{display:block;font-family:var(--display);font-size:18px;line-height:1.25}
.dayline span{display:block;font-size:14.5px;color:var(--ink-2);margin-top:2px}
.shots{margin-top:clamp(40px,5vw,64px)}
.shots-row{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);max-width:900px}
.shots figure{margin:0}
.phone{border:3px solid var(--ink);border-radius:30px;overflow:hidden;background:var(--white);box-shadow:var(--shadow);aspect-ratio:562/1218}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.shots figcaption{margin-top:14px;text-align:center;font-size:14.5px;color:var(--ink-2);line-height:1.4}
.shots figcaption b{display:block;font-family:var(--display);font-size:18px;color:var(--ink);margin-bottom:2px}
.quick{list-style:none;margin:0 auto 34px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1040px}
.quick li{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:18px 18px 16px;box-shadow:var(--shadow)}
.quick .k{display:block;font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--vermilion);margin-bottom:6px}
.quick b{display:block;font-family:var(--display);font-size:19px;line-height:1.25;color:var(--indigo)}
.quick p{margin:8px 0 0;font-size:14.5px;color:var(--ink-2)}
.faq-group{font-family:var(--text);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:22px 0 2px}
.faq-group:first-child{margin-top:0}
.faq-more{margin-top:28px;color:var(--ink-2)}
@media (max-width:960px){ .quick{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){
  .shots-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:4px 20px 12px;margin-inline:-20px;max-width:none}
  .shots-row li{flex:0 0 min(68vw,260px);scroll-snap-align:center}
}
@media (max-width:520px){
  .quick{grid-template-columns:1fr}
  .dayline li{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:12px 14px}
}


/* v32: who we are, the acharyas, parents' words, ask us to call, and a trust line under the hero */
.eyebrow,.quick .k{color:#B8371F}
.eyebrow::before{background:#B8371F}
.hero .trust{margin:18px 0 0;font-size:14.5px;color:var(--ink-2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero .trust::before{content:"";width:26px;height:2px;background:var(--turmeric);flex:none}
.hero .trust a{font-weight:700}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.people.two{grid-template-columns:1fr}
.person{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:start}
.person .photo{width:84px;height:84px;border-radius:50%;border:2px dashed var(--pencil-2);background:var(--paper-2);display:grid;place-items:center;font-size:11px;text-align:center;overflow:hidden}
.person .photo img{width:100%;height:100%;object-fit:cover}
.person h3{font-size:19px;margin:0 0 2px}
.person .role{font-family:var(--text);font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.person p{font-size:15px;color:var(--ink-2);margin:0}
.recog{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.recog li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-2)}
.recog li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--turmeric);border:1.5px solid var(--ink);margin-top:7px}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.quote{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px 22px 18px;box-shadow:var(--shadow);margin:0}
.quote p{font-family:var(--display);font-size:18px;line-height:1.45;margin:0 0 12px}
.quote p::before{content:"\201C";color:var(--turmeric);font-size:1.5em;line-height:0;margin-right:4px;vertical-align:-.25em}
.quote cite{font-style:normal;font-size:14px;color:var(--muted);display:block}
.quote cite b{display:block;color:var(--ink);font-size:15px}
.talk .ways{display:grid;gap:12px;margin-top:22px;max-width:460px}
.talk .way{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;background:var(--white);border:2px solid var(--ink);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.talk .way:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);color:var(--ink)}
.talk .way .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--ink);background:var(--turmeric-soft)}
.talk .way .ic svg{width:22px;height:22px}
.talk .way b{display:block;font-size:16px}
.talk .way > span:last-child > span{display:block;font-size:14px;color:var(--ink-2)}
.talk .way.wa .ic{background:#DCF8E3}
.callback .success{display:none;padding:8px 0;text-align:left}
.callback .consent{display:block}
.callback.done .form-body{display:none}
.callback.done .success{display:block}
.callback .success h3{font-size:24px;margin-bottom:8px}
.callback .consent{font-size:13.5px;color:var(--muted);margin:14px 0 16px}
.callback legend{font-size:24px}
.band .actions{display:flex;flex-wrap:wrap;gap:12px}
.sticky-cta .row{display:flex;gap:10px}
.sticky-cta .row .btn{width:auto;flex:1}
.sticky-cta .row .btn.wa{flex:0 0 56px;padding:0;background:#DCF8E3}
@media (max-width:900px){ .people,.quotes{grid-template-columns:1fr} }
@media (max-width:480px){ .stats{grid-template-columns:repeat(2,1fr)} .stats li{padding:18px 16px 16px} .stats .v{flex-wrap:wrap;font-size:28px} .stats li{border-top:0} .stats li:nth-child(even){border-left:2px solid var(--ink)} .stats li:nth-child(n+3){border-top:2px solid var(--ink)} }

/* v34: a thin trust strip above the header, and the lighter ways in */
.trustbar{background:var(--ink);color:var(--paper);font-size:13px;font-weight:600;letter-spacing:.01em}
.trustbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;min-height:36px;padding-block:6px}
.trustbar a{color:#fff;text-decoration:underline;text-decoration-color:var(--turmeric);text-underline-offset:3px}
.trustbar a:hover{color:var(--turmeric)}
.trustbar .talklink{margin-left:auto;font-weight:700}
@media (max-width:900px){ .trustbar .more{display:none} }
@media (max-width:480px){ .trustbar .talklink{display:none} }
.ways.lighter{grid-template-columns:1fr;gap:12px;margin-top:14px}
.ways.lighter .way{grid-template-columns:40px 1fr;align-items:start;padding:12px}
.ways.lighter .way .ic{width:40px;height:40px;background:var(--paper-2)}

/* v37: Pañcakośa, the film, a sample day per level as day or week, photographs, the parent's screens */
.photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(28px,4vw,44px)}
.photos figure{margin:0;background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:10px;box-shadow:var(--shadow)}
.photos img{display:block;width:100%;height:auto;border-radius:8px}
.photos figcaption{font-size:14px;color:var(--muted);padding:10px 4px 2px}
.film{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;margin-top:clamp(36px,5vw,56px)}
.film .screen{aspect-ratio:16/9;border:2px dashed var(--pencil-2);border-radius:14px;background:var(--paper-2);display:grid;place-content:center;gap:8px;text-align:center;padding:20px}
.film .screen > span{font-size:14px;color:var(--muted)}
.film h3{font-size:24px;margin-bottom:8px}
.film p{color:var(--ink-2)}
.tabrow{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;margin-bottom:18px}
.sample{display:none}
.sample.on{display:block}
.levelsamples[data-view="0"] .view-week,.levelsamples[data-view="1"] .view-day{display:none}
.weekgrid{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:2px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);font-size:15px}
.weekgrid caption{caption-side:bottom;font-size:13.5px;color:var(--muted);padding:10px 4px 0;text-align:left}
.weekgrid th,.weekgrid td{padding:10px 12px;border-bottom:1.5px solid var(--line);text-align:left;vertical-align:top}
.weekgrid thead th{font-family:var(--text);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--paper-2)}
.weekgrid tbody th{font-family:var(--display);font-weight:700;color:var(--indigo);white-space:nowrap}
.weekgrid tr:last-child th,.weekgrid tr:last-child td{border-bottom:0}
.weekgrid tr.off td{background:var(--turmeric-soft);color:var(--ink-2)}
.pancakosha{background:linear-gradient(180deg,rgba(233,175,43,.10),rgba(233,175,43,0) 40%)}
.pk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(24px,3vw,40px)}
.pk-rings{margin:0;max-width:440px;justify-self:center;width:100%}
.pk-rings svg{width:100%;height:auto;display:block}
.pk-rings figcaption{text-align:center;color:var(--muted);font-size:16px;margin-top:6px}
.koshas{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.koshas li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.koshas .k{width:40px;height:40px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:18px}
.koshas .k1{background:#F3EEDF}.koshas .k2{background:#E6F1E0}.koshas .k3{background:#E1E6F5}.koshas .k4{background:#FBEFC9}.koshas .k5{background:#F9E1DC}
.koshas h3{font-size:19px;margin:0 0 4px}
.koshas p{font-size:15px;color:var(--ink-2);margin:0}
.koshas small{display:block;margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.pk-report{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;margin-top:clamp(32px,5vw,56px);background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.pk-report h3{font-size:24px;margin-bottom:8px}
.pk-report p{color:var(--ink-2)}
.pk-bars{display:grid;gap:10px}
.pk-bars .bar{display:grid;grid-template-columns:110px 1fr 34px;gap:12px;align-items:center;font-size:14.5px}
.pk-bars .bar span{font-weight:700}
.pk-bars .bar div{height:14px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper-2);overflow:hidden}
.pk-bars .bar i{display:block;height:100%;background:var(--turmeric)}
.pk-bars .bar:nth-child(2) i{background:var(--leaf-2)}.pk-bars .bar:nth-child(3) i{background:#9FB0E0}.pk-bars .bar:nth-child(4) i{background:var(--turmeric)}.pk-bars .bar:nth-child(5) i{background:#F0A090}
.pk-bars .bar b{font-family:var(--display);color:var(--indigo);text-align:right}
.pk-bars .note{font-size:14px;color:var(--muted);margin:6px 0 0;font-style:italic}
@media (max-width:900px){ .photos,.film,.pk-grid,.pk-report{grid-template-columns:1fr} .pk-bars .bar{grid-template-columns:96px 1fr 30px} }
@media (max-width:640px){ .weekgrid{font-size:13px} .weekgrid th,.weekgrid td{padding:8px 8px} }

.tabrow .dash-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start;margin:0}
.tabrow .dash-tabs button{font:inherit;font-weight:700;font-size:15px;min-height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer}
.tabrow .dash-tabs button[aria-pressed="true"]{background:var(--turmeric)}

/* v39: photograph placeholders, hero bullets in one line */
.photos figure.ph .box{aspect-ratio:4/3;border:2px dashed var(--pencil-2);border-radius:8px;background:var(--paper-2);display:grid;place-items:center;padding:16px;text-align:center}
.hero .points b{font-size:17px}

/* v41: four photographs in Who we are */
@media (min-width:901px){ .photos.four{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* v42: families already learning with iGurukulam */
.families{background:linear-gradient(180deg,rgba(46,74,158,.06),rgba(46,74,158,0) 60%)}
.places{display:grid;gap:10px}
.place{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;background:var(--white);border:2px solid var(--ink);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow)}
.place b{font-family:var(--display);font-size:17px;color:var(--indigo)}
.place span{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.place:first-child{background:var(--turmeric-soft)}
@media (max-width:640px){ .place{grid-template-columns:1fr;gap:4px} }

/* v44: photographs in place of placeholders; a four-across strip */
.photos img{aspect-ratio:4/3;object-fit:cover}
.photos.strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(28px,4vw,44px)}
.photos.strip img{aspect-ratio:3/4}
.photos.strip figcaption{font-size:13px}
@media (max-width:900px){ .photos.strip{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* v82: four honest answers; the gurukulam community */
.answers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.answer{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px;box-shadow:var(--shadow);border-top:8px solid var(--indigo)}
.answer h3{font-size:20px;margin-bottom:8px;color:var(--indigo)}
.answer p{font-size:15px;color:var(--ink-2)}
.answer p b{font-family:var(--display);font-size:17px;color:var(--ink)}
@media (max-width:1000px){ .answers{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .answers{grid-template-columns:1fr} }
.photos.strip.wide img{aspect-ratio:4/3}

/* v85: what a lab looks like: a video and two photographs, placeholders until supplied */
.labs{margin-top:clamp(28px,4vw,40px)}
.photos.labs-media{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);margin-top:14px}
.photos.labs-media figure.video .box{aspect-ratio:16/9;gap:8px}
.photos.labs-media .box .sub{display:block;font-size:13px;color:var(--muted);max-width:34ch}
@media (max-width:900px){ .photos.labs-media{grid-template-columns:1fr} }

/* v86: a story a day, from the Itihāsas and the Purāṇas */
.stories-block{margin-top:clamp(28px,4vw,40px)}
.stories{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.stories .tales{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.stories .tales span{border:2px solid var(--ink);border-radius:999px;padding:4px 12px;font-size:14px;background:var(--paper)}
.stories .tales span:last-child{border-style:dashed;color:var(--muted)}
.story-ways{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.story-ways li{font-size:15px;color:var(--ink-2);padding-left:14px;border-left:3px solid var(--turmeric)}
.story-ways b{color:var(--ink)}
.story-photo{margin:0}
.story-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:2px solid var(--ink)}
.story-photo figcaption{font-size:14px;color:var(--muted);padding-top:10px}
@media (max-width:900px){ .stories{grid-template-columns:1fr} }

/* v87: electives, an art and a subject from the Indian Knowledge Systems */
.electives-block{margin-top:clamp(28px,4vw,40px)}
.electives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,28px)}
.electives .choice{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:clamp(18px,2.6vw,28px);box-shadow:var(--shadow);border-top:6px solid var(--turmeric)}
.electives .choice + .choice{border-top-color:var(--indigo)}
.electives .tales{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.electives .tales span{border:2px solid var(--ink);border-radius:999px;padding:4px 12px;font-size:14px;background:var(--paper)}
.electives .tales span:last-child{border-style:dashed;color:var(--muted)}
.electives .choice .sub{font-size:14px;color:var(--muted);margin:12px 0 0}
.electives-how{margin-top:clamp(16px,2.4vw,24px);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){ .electives,.electives-how{grid-template-columns:1fr} }

/* v88: the ṛṣis and siddhas behind each subject, with an icon each until portraits arrive */
.rishis-block{margin-top:clamp(28px,4vw,40px)}
.rishis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.8vw,20px)}
.rishi{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:18px 16px 16px;box-shadow:var(--shadow);text-align:center;transition:transform .25s var(--ease)}
.rishi:hover{transform:translateY(-3px)}
.rishi .icon{width:76px;height:76px;margin:0 auto 10px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);display:grid;place-items:center}
.rishi .icon svg{width:52px;height:52px;display:block}
.rishi h4{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.2;margin:0 0 2px;color:var(--ink)}
.rishi .dom{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vermilion);margin:0 0 8px}
.rishi p{font-size:14px;color:var(--ink-2);margin:0;line-height:1.45}
.rishis-how{margin-top:clamp(16px,2.4vw,24px);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1000px){ .rishis{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:900px){ .rishis-how{grid-template-columns:1fr} }
@media (max-width:700px){ .rishis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:420px){ .rishis{grid-template-columns:1fr} }

/* v89: "How it is taught" as four painted scenes, storybook style */
.taught{display:grid;gap:clamp(18px,2.6vw,30px);margin-top:8px}
.panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;background:var(--white);border:2px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.panel:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.panel:nth-child(even) .scene{order:2}
.panel .scene{position:relative;background:var(--paper-2);border-right:2px solid var(--ink);min-height:300px}
.panel:nth-child(even) .scene{border-right:0;border-left:2px solid var(--ink)}
.panel .scene svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.panel .copy{padding:clamp(22px,3vw,40px) clamp(20px,3vw,40px)}
.panel .num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--turmeric);border:2px solid var(--ink);font-family:var(--display);font-weight:700;font-size:16px;margin-bottom:12px}
.panel .copy h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.3vw,28px);line-height:1.18;margin:0 0 10px;color:var(--ink)}
.panel .copy p{font-size:15.5px;color:var(--ink-2);line-height:1.55;margin:0 0 12px}
.panel .copy .why{font-style:italic;color:var(--indigo);font-size:14.5px;border-left:3px solid var(--turmeric);padding-left:10px;margin:14px 0 0}
.panel .copy .see{display:inline-block;margin-top:14px;font-weight:700;font-size:14.5px;color:var(--ink);background:var(--turmeric);border:2px solid var(--ink);border-radius:999px;padding:7px 14px;text-decoration:none;box-shadow:0 2px 0 var(--ink)}
.panel .copy .see:hover{transform:translateY(-1px)}
.reads{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:7px}
.reads li{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;font-size:14px;color:var(--ink-2)}
.reads li b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--white);background:var(--indigo);border:2px solid var(--ink);border-radius:6px;padding:3px 0;text-align:center}
.reads li:nth-child(2) b{background:var(--leaf)}
.reads li:nth-child(3) b{background:var(--turmeric);color:var(--ink)}
.reads li:nth-child(4) b{background:var(--vermilion)}
.reads li i{font-style:normal;font-family:var(--display);color:var(--ink)}
.kinds{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.kinds span{font-size:12.5px;font-weight:700;border:2px solid var(--ink);border-radius:999px;padding:3px 10px;background:var(--paper)}
.kinds span.on{background:var(--turmeric)}
.hand-note{font-family:var(--hand);font-size:16px;color:#8E2E1E;background:#FFFDF7;border:1.5px dashed var(--pencil-2);border-radius:8px;padding:8px 12px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.chips span{font-size:13px;font-weight:600;border:2px solid var(--ink);border-radius:999px;padding:4px 11px;background:var(--paper)}
@media (max-width:860px){ .panel,.panel:nth-child(even){grid-template-columns:1fr} .panel .scene,.panel:nth-child(even) .scene{order:0;border-right:0;border-left:0;border-bottom:2px solid var(--ink);min-height:0;aspect-ratio:3/2} }

/* v90: one site, many pages. The menu's five tabs each open a dropdown of their pages; the phone
   drawer lists the same pages under their tab; a strip under the header shows a tab's pages. */
h1.h2{font-size:clamp(28px,3.4vw,42px);line-height:1.12}
.nav > ul > li{position:relative;display:flex;align-items:center}
.nav li.has-sub > a{padding-right:8px}
.nav .more{width:26px;height:34px;border:0;background:none;color:var(--ink);cursor:pointer;padding:0;margin-left:-4px;border-radius:6px;display:grid;place-items:center}
.nav .more::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur)}
.nav .more:hover{background:var(--paper-2)}
.nav li.open > .more::before{transform:translateY(2px) rotate(225deg)}
.nav .sub{position:absolute;left:0;top:calc(100% + 2px);min-width:260px;max-width:320px;background:var(--white);border:2px solid var(--ink);border-radius:12px;box-shadow:var(--shadow);padding:8px;display:none;flex-direction:column;gap:2px;z-index:120;list-style:none;margin:0}
.nav .sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav li.has-sub:hover > .sub,.nav li.has-sub:focus-within > .sub,.nav li.open > .sub{display:flex}
.nav .sub a{display:block;padding:9px 12px;font-size:14.5px;white-space:normal;border-radius:8px;line-height:1.3}
.nav .sub a.current{background:var(--turmeric-soft);font-weight:700}
.nav .sub a.current::after,.nav li.has-sub > a.active::after{display:none}
.nav li.on > a{background:var(--paper-2)}
.tabnav{background:var(--paper-2);border-bottom:2px solid var(--ink);padding:10px 0}
.tabnav .wrap{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tabnav .tab{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.tabnav a{display:inline-flex;align-items:center;padding:7px 13px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-weight:700;font-size:13.5px;color:var(--ink);text-decoration:none;white-space:nowrap}
.tabnav a:hover{background:var(--turmeric-soft)}
.tabnav a.current{background:var(--turmeric);box-shadow:0 2px 0 var(--ink)}
@media (max-width:700px){ .tabnav .wrap{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin} }
@media (max-width:1100px){
  .drawer b.group{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:18px 4px 4px;border-bottom:2px solid var(--ink)}
  .drawer b.group:first-child{padding-top:4px}
  .drawer a.sub-link{font-size:17px;font-weight:600;padding:10px 4px 10px 14px}
}

/* v83: what your child will study, and why */
.levels.creed{margin-bottom:clamp(28px,4vw,40px)}
.levels.creed .level{border-top-color:var(--indigo)}
.study-group{font-family:var(--text);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:clamp(24px,3vw,32px) 0 12px;text-align:center}
.feats.study .feat p + p{margin-top:8px}
.feats.study .why{font-style:italic;color:var(--indigo);font-size:14px;border-left:3px solid var(--turmeric);padding-left:10px}
.feats.study.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin-inline:auto}
@media (max-width:640px){ .feats.study.two{grid-template-columns:1fr} }

/* v84: what they study comes first; CBSE beside NIOS; subjects by level */
.table-scroll{overflow-x:auto;margin:0 -20px clamp(28px,4vw,40px);padding:0 20px;-webkit-overflow-scrolling:touch}
.study-table{min-width:780px}
.study-table tbody th{white-space:normal;width:190px}
.study-table td{font-size:14.5px}
.study-table caption{text-align:center}
.boards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.boards .board{grid-template-columns:1fr;align-content:start;justify-items:start;text-align:left}
.boards .board .seal.logo{width:100%;max-width:240px}
.boards .board .seal.logo.ph{aspect-ratio:597/126;display:grid;place-items:center;border:2px dashed var(--pencil-2);background:var(--paper-2);font-size:13px}
@media (max-width:760px){ .boards{grid-template-columns:1fr} }

/* v45: the top strip scrolls like a live screen */
.trustbar .ticker{display:flex;overflow:hidden;min-height:36px;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.trustbar .track{display:flex;flex:none;align-items:center;gap:0;white-space:nowrap;animation:ticker 36s linear infinite;padding-block:7px}
.trustbar .track > *{display:inline-flex;align-items:center;padding:0 28px;border-right:1px solid rgba(246,243,236,.25)}
.trustbar .ticker:hover .track{animation-play-state:paused}
.trustbar .live{color:var(--turmeric);font-weight:700}
.trustbar .live i{width:8px;height:8px;border-radius:50%;background:var(--turmeric);margin-right:10px;animation:pulse 1.6s ease-in-out infinite}
.trustbar .talklink{margin-left:0}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(233,175,43,.6)}50%{opacity:.6;box-shadow:0 0 0 6px rgba(233,175,43,0)}}
@media (prefers-reduced-motion:reduce){ .trustbar .track{animation:none} .trustbar .track[aria-hidden]{display:none} .trustbar .ticker{flex-wrap:wrap;mask-image:none;-webkit-mask-image:none} .trustbar .track{flex-wrap:wrap;white-space:normal} .trustbar .live i{animation:none} }

/* v47: a photograph and a play button in the hero; the gurukulam walk as its own section; pillars; the board; the pathways */
.hero-media{width:100%;max-width:640px;margin-left:auto}
.hero-media .frame{position:relative;aspect-ratio:4/3;border:2px solid var(--ink);border-radius:18px;background:var(--paper-2);box-shadow:var(--shadow);display:grid;place-items:center;padding:24px;text-align:center;overflow:hidden}
.hero-media .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media .play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:84px;height:84px;border-radius:50%;background:var(--turmeric);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);display:grid;place-items:center;color:var(--ink);transition:transform .25s var(--ease)}
.hero-media .play svg{width:38px;height:38px;margin-left:4px}
.hero-media .play:hover{transform:scale(1.06)}
.hero-media .play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(233,175,43,.7);animation:pulse 1.8s ease-out infinite}
.hero-media .caption{margin:12px 4px 0;font-size:14px;color:var(--muted);text-align:center}
.campus-section{padding-top:0}
.campus-wide .campus{max-width:1000px;margin:0 auto}
.pillars{padding-block:clamp(24px,3vw,40px) 0}
.pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pillar{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:20px 20px 18px;box-shadow:var(--shadow);border-top:6px solid var(--turmeric)}
.pillar:nth-child(2){border-top-color:var(--leaf)} .pillar:nth-child(3){border-top-color:var(--indigo)} .pillar:nth-child(4){border-top-color:var(--vermilion)}
.pillar h3{font-size:19px;margin-bottom:8px}
.pillar p{font-size:15px;color:var(--ink-2);margin:0}
.board{display:grid;grid-template-columns:160px 1fr;gap:clamp(18px,3vw,36px);align-items:center;background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:clamp(18px,3vw,28px);box-shadow:var(--shadow);margin-bottom:28px}
.board .seal{width:150px;height:150px;border-radius:50%;border:2px dashed var(--pencil-2);background:var(--paper-2);display:grid;place-items:center;text-align:center;padding:14px;font-size:12px}
.board h3{font-size:24px;margin-bottom:8px}
.board p{color:var(--ink-2);margin:0}
.paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.path{background:var(--white);border:2px solid var(--ink);border-radius:12px;padding:16px 16px 14px;box-shadow:var(--shadow)}
.path b{display:block;font-family:var(--display);font-size:19px;color:var(--indigo);margin-bottom:6px}
.path span{font-size:14.5px;color:var(--ink-2);line-height:1.45}
@media (max-width:1100px){ .pillar-grid,.paths{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){ .hero-media{max-width:none;margin-top:8px} }
@media (max-width:640px){ .pillar-grid,.paths{grid-template-columns:1fr} .board{grid-template-columns:1fr;justify-items:center;text-align:center} .board .eyebrow{justify-content:center} }

/* v48: the age of AI; what the children have done */
.ai{background:linear-gradient(180deg,rgba(29,28,26,.04),rgba(29,28,26,0) 50%)}
.ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(24px,3vw,40px)}
.ai-card{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px 22px 20px;box-shadow:var(--shadow)}
.ai-card h3{font-size:21px;margin-bottom:12px}
.ai-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ai-card li{font-size:15px;color:var(--ink-2);padding-left:18px;position:relative}
.ai-card li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--turmeric);border:1.5px solid var(--ink)}
.ai-card li b{color:var(--ink)}
.ai-card.grow{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ai-card.grow h3{color:#fff}
.ai-card.grow p{color:rgba(246,243,236,.86);font-size:15.5px}
.ai-card.grow .sub{color:var(--turmeric)}
.ai-card.grow .btn{background:var(--turmeric);color:var(--ink);box-shadow:3px 3px 0 var(--vermilion)}
.achieve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(24px,3vw,40px)}
.achieve{margin:0;background:var(--white);border:2px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.achieve .pic{aspect-ratio:4/3;background:var(--paper-2);display:grid;place-items:center;padding:16px;text-align:center;border-bottom:2px solid var(--ink)}
.achieve .pic.ph{border-bottom-style:dashed;border-color:var(--pencil-2)}
.achieve .pic img{width:100%;height:100%;object-fit:cover;display:block}
.achieve .pic:has(img){padding:0}
.achieve figcaption{padding:16px 18px 18px}
.achieve b{display:block;font-family:var(--display);font-size:18px;line-height:1.3;margin-bottom:6px}
.achieve span{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.stats.progress{margin-top:clamp(24px,3vw,36px)}
.stats.progress .v{font-size:clamp(22px,2.4vw,30px)}
@media (max-width:1100px){ .ai-grid{grid-template-columns:1fr} .achieve-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .achieve-grid{grid-template-columns:1fr} }

/* v49: a shorter page: tighter spacing, one dashboard at a time, the screens as two tabs */
.section{padding-block:clamp(44px,5vw,72px)}
.section-head{margin-bottom:clamp(20px,2.5vw,32px)}
.shots{margin-top:clamp(28px,4vw,44px)}
.campus-wide .campus{max-width:720px}
.dash-tabs.always{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 18px}
.dash-tabs.always button{font:inherit;font-weight:700;font-size:15px;min-height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer}
.dash-tabs.always button[aria-pressed="true"]{background:var(--turmeric)}
.dash3{grid-template-columns:1fr;max-width:640px;margin:0 auto}
.dash3 .dash{display:none}
.dash3 .dash.on{display:block}
.screens{display:none}
.screens.on{display:block}
.feats{grid-template-columns:repeat(4,minmax(0,1fr))}
.feat{grid-template-columns:1fr;gap:10px}
.feat .sk{width:72px;height:64px}
.feat h3{font-size:17px}
.feat p{font-size:14.5px}
.achieve-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.achieve b{font-size:16.5px}
.achieve span{font-size:13.5px}
.paths{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.path{padding:12px 14px 10px}
.path b{font-size:17px;margin-bottom:2px}
.path span{font-size:13.5px}
.pillar{padding:16px 16px 14px}
.pillar h3{font-size:17px}
.pillar p{font-size:14.5px}
.koshas li{padding:12px 16px}
.koshas p{font-size:14.5px}
.ai-card{padding:18px 18px 16px}
.ai-card li{font-size:14.5px}
@media (max-width:1100px){ .feats,.achieve-grid,.paths{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .feats,.achieve-grid,.paths{grid-template-columns:1fr} }

/* v50: shorter still: a smaller gurukulam walk and rings, two-column questions, smaller phone screens, tighter lists */
.campus-wide .campus{max-width:560px}
.campus-section .section-head{margin-bottom:8px}
.pk-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(18px,3vw,36px)}
.pk-rings{max-width:340px}
.koshas{gap:8px}
.koshas li{padding:10px 14px;gap:10px;grid-template-columns:32px 1fr}
.koshas .k{width:32px;height:32px;font-size:15px}
.koshas h3{font-size:17px;margin-bottom:2px}
.koshas p{font-size:14px}
.koshas small{margin-top:4px;font-size:12.5px}
.pk-report{margin-top:clamp(20px,3vw,32px);padding:clamp(16px,2.5vw,24px)}
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:start}
.faq .faq-group{grid-column:1/-1}
.shots-row{max-width:820px;margin-inline:auto}
.lighter-row{margin-top:clamp(20px,3vw,32px)}
.lighter-row .ways.lighter{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
.check{grid-template-columns:repeat(2,minmax(0,1fr))}
.dayline li{padding-block:8px}
.book .pg{padding:clamp(16px,2.5vw,24px)}
.film{margin-top:clamp(24px,3vw,36px)}
.steps4{gap:14px}
.step4{padding:18px 18px 16px}
.step4 .sk{height:84px;margin:4px auto 10px}
.level{padding:16px}
.places{gap:8px}
.place{padding:10px 14px}
@media (max-width:900px){ .faq{grid-template-columns:1fr} .check{grid-template-columns:1fr} .lighter-row .ways.lighter{grid-template-columns:1fr} }

/* v51: a page about half as long: compact day steps, pathway pills, six questions shown, parents' words with the families, tighter everything */
.section{padding-block:clamp(36px,4.5vw,60px)}
.section-head{margin-bottom:clamp(16px,2vw,26px)}
.section-head .lede{margin-top:8px}
.campus-wide .campus{max-width:460px}
.steps4.brief .step4{padding:14px 14px 12px 16px}
.steps4.brief .step4 h3{font-size:16px;margin-bottom:2px}
.steps4.brief .step4 p{font-size:14px}
.steps4.brief .step4 .tag{display:none}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.pills li{background:var(--white);border:2px solid var(--ink);border-radius:999px;padding:8px 16px;font-size:14px;color:var(--ink-2)}
.pills li b{color:var(--indigo);margin-right:6px}
.faq:not(.open) .item:nth-of-type(n+7){display:none}
.faq:not(.open) h3.faq-group:nth-of-type(n+2){display:none}
.shots-row{max-width:700px}
.hero{padding-block:clamp(28px,4vw,52px)}
.pillars{padding-top:16px}
.band{padding-block:clamp(36px,5vw,60px)}
.pk-report{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.pk-report h3{font-size:20px}
.pk-report p{font-size:14.5px}
.quotes{gap:12px;margin-top:14px}
.quote{padding:16px 16px 14px}
.quote p{font-size:16px}
.people{gap:12px;margin-top:18px}
.person{padding:14px;gap:12px;grid-template-columns:64px 1fr}
.person .photo{width:64px;height:64px}
.person p{font-size:14px}
.achieve-grid{gap:12px}
.achieve figcaption{padding:12px 14px 14px}
.talk .ways{gap:8px;margin-top:14px}
.talk .way{padding:10px 12px}
.lighter-row .ways.lighter{gap:10px}
.film .screen{aspect-ratio:16/9}
.levels{gap:12px}
.feats{gap:12px}
.dash3 .dash{padding:16px}
.dash .sk{height:72px}

/* v52: a shorter hero and sample day */
.hero-media{max-width:560px}
.hero .wrap{align-items:center}
.dayline li{padding:6px 16px}
.dayline li b{font-size:15.5px}
.dayline li span{font-size:13.5px}
.film{gap:clamp(16px,2.5vw,28px)}
.film .screen{max-width:520px}
.home .check{gap:8px}
.check li{padding:10px 12px}

/* v53: fewer sections: the walk as a small band, doings in Who we are, pathways with the levels, the home with the steps */
.campus-band{padding-block:clamp(20px,3vw,32px);border-bottom:2px solid var(--ink);background:var(--white)}
.campus-band .wrap{display:grid;grid-template-columns:300px 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.campus-small .campus{max-width:300px;margin:0}
.campus-small .campus .hut .lbl{display:none}
.campus-band h2{font-size:clamp(24px,3vw,32px)}
.campus-links{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.campus-links a{display:inline-block;font-weight:700;font-size:14px;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:8px;padding:7px 12px;text-decoration:none}
.campus-links a:hover{background:var(--turmeric-soft)}
.achieve-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.achieve-grid.three .pic{aspect-ratio:16/9}
.pills.left{justify-content:flex-start}
.home-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(16px,3vw,32px);align-items:center;margin-top:clamp(20px,3vw,32px);background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:clamp(16px,2.5vw,24px);box-shadow:var(--shadow)}
.home-card h3{font-size:21px;margin-bottom:6px}
.home-card p{font-size:14.5px;color:var(--ink-2);margin:0}
.ai-card.grow ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ai-card.grow li{color:rgba(246,243,236,.9)}
.ai-card.grow li::before{background:var(--turmeric);border-color:var(--turmeric)}
@media (max-width:900px){ .campus-band .wrap{grid-template-columns:1fr} .campus-small .campus{max-width:320px;margin:0 auto} .achieve-grid.three{grid-template-columns:1fr} .home-card{grid-template-columns:1fr} }

/* v54: the gurukulam walk, full width and wide: heading on top, six huts in a row */
.campus-band .wrap{display:block}
.campus.wide{aspect-ratio:2400/700;max-width:none;width:100%;margin:0}
.campus.wide .hut .lbl{display:block;font-size:clamp(9px,.95vw,14px);padding:2px 7px}
.campus-band .campus-links{display:none;justify-content:center}
@media (max-width:760px){ .campus.wide .hut .lbl{display:none} .campus-band .campus-links{display:flex} }

/* v55: huts scattered near and far */
.campus.wide{margin-bottom:34px}

/* v56: two pathways side by side; places as a flat row; the gurukulam day */
.two-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tp{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:20px 20px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;border-top:6px solid var(--turmeric)}
.tp.after{border-top-color:var(--indigo)}
.tp .eyebrow{margin:0}
.tp h3{font-size:22px;margin:0}
.tp .who{font-size:15px;color:var(--ink-2);margin:0}
.tp ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tp li{font-size:14.5px;color:var(--ink-2);padding-left:18px;position:relative}
.tp li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--turmeric);border:1.5px solid var(--ink)}
.tp.after li::before{background:var(--indigo-soft)}
.tp .btn{align-self:flex-start;margin-top:4px}
.places.flat{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.places.flat .place{grid-template-columns:auto 1fr;gap:10px;padding:8px 12px;max-width:100%}
.places.flat .place span{font-size:13.5px}
.dayline li.off{background:var(--turmeric-soft)}
@media (max-width:900px){ .two-paths{grid-template-columns:1fr} }

/* v57: the hero photograph melts into the paper; the play button sits bottom left */
.hero-media{max-width:680px}
.hero-media .frame{aspect-ratio:16/10;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;overflow:visible}
.hero-media .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;-webkit-mask-image:radial-gradient(ellipse 72% 66% at 56% 48%,#000 48%,rgba(0,0,0,.6) 70%,transparent 100%);mask-image:radial-gradient(ellipse 72% 66% at 56% 48%,#000 48%,rgba(0,0,0,.6) 70%,transparent 100%)}
.hero-media .play{left:14%;top:auto;bottom:10%;translate:0 0;width:72px;height:72px}
.hero-media .play svg{width:32px;height:32px}
.hero-media .caption{text-align:left;margin-left:14%;margin-top:4px}
@media (max-width:900px){ .hero-media .frame{aspect-ratio:16/11} .hero-media .play{left:8%;bottom:8%} .hero-media .caption{margin-left:8%} }

/* v58: the photograph starts at the top right and fills the hero's height */
.hero .wrap{align-items:stretch}
.hero .art{display:flex;margin-top:calc(-1 * clamp(28px,4vw,52px))}
.hero-media{height:100%;max-width:720px;display:flex;flex-direction:column}
.hero-media .frame{flex:1;aspect-ratio:auto;min-height:380px}
.hero-media .frame img{object-position:60% 45%;-webkit-mask-image:radial-gradient(ellipse 74% 70% at 58% 46%,#000 50%,rgba(0,0,0,.6) 72%,transparent 100%);mask-image:radial-gradient(ellipse 74% 70% at 58% 46%,#000 50%,rgba(0,0,0,.6) 72%,transparent 100%)}
.hero-media .caption{margin-top:0}
@media (max-width:900px){ .hero .art{margin-top:8px} .hero-media{height:auto} .hero-media .frame{aspect-ratio:16/11;min-height:0} }

/* v59: a neat hero photograph: fixed size, top right, no gap; the three facts in a row underneath */
.hero .wrap{align-items:start}
.hero-media{height:auto;max-width:620px}
.hero-media .frame{flex:none;aspect-ratio:4/3;max-height:520px;min-height:0;width:100%}
.hero-media .frame img{object-position:62% 50%;-webkit-mask-image:radial-gradient(ellipse 70% 68% at 55% 50%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%);mask-image:radial-gradient(ellipse 70% 68% at 55% 50%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%)}
.hero .facts.row{margin-top:10px;padding-top:16px;justify-content:flex-start}
@media (max-width:900px){ .hero-media .frame{max-height:none} }

/* v60: the whole scene stays in view: a 4:3 picture, soft corners only */
.hero-media .frame img{object-position:50% 50%;-webkit-mask-image:radial-gradient(ellipse 84% 82% at 50% 50%,#000 62%,rgba(0,0,0,.6) 82%,transparent 100%);mask-image:radial-gradient(ellipse 84% 82% at 50% 50%,#000 62%,rgba(0,0,0,.6) 82%,transparent 100%)}

/* v61: seamless: the picture bleeds a little past its column and fades on all four sides into the paper */
.hero-media{max-width:none;width:calc(100% + 120px);margin-right:-120px;margin-left:-40px}
.hero-media .frame{max-height:580px}
.hero-media .frame img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 11%,#000 89%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 11%,#000 89%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.hero-media .play{left:11%;bottom:12%}
.hero-media .caption{margin-left:11%;margin-right:140px}
@media (max-width:1240px){ .hero-media{width:calc(100% + 60px);margin-right:-60px;margin-left:-20px} .hero-media .caption{margin-right:80px} }
@media (max-width:900px){ .hero-media{width:100%;margin:8px 0 0} .hero-media .caption{margin-right:0} }

/* v62: a gentler fade on the left so the lamp stays, firmer on the outer right edge */
.hero-media .frame img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 85%,transparent)}

/* v63: the play button clear of the lamp */
.hero-media .play{left:17%;bottom:7%}
.hero-media .caption{margin-left:17%}

/* v64: the four pillars as floating icons; the words appear on hover, focus or tap */
.pillars{padding:18px 0 6px}
.pillar-icons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pillar-icons li{position:relative}
.pi{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:10px 8px;cursor:pointer;font:inherit;color:var(--ink);border-radius:14px;transition:background var(--dur) var(--ease)}
.pi:hover,.pi:focus-visible,.pi[aria-expanded="true"]{background:var(--white)}
.pi .sk{width:64px;height:64px;animation:float 4.5s ease-in-out infinite}
.pillar-icons li:nth-child(2) .pi .sk{animation-delay:-1.1s}.pillar-icons li:nth-child(3) .pi .sk{animation-delay:-2.2s}.pillar-icons li:nth-child(4) .pi .sk{animation-delay:-3.3s}
.pi .sk .line,.pi .sk .paint{width:100%;height:100%}
.pi:hover .sk,.pi:focus-visible .sk{animation-play-state:paused;transform:translateY(-4px) scale(1.06)}
.pi b{font-family:var(--display);font-size:16px;line-height:1.25;text-align:center}
.pi-pop{position:absolute;left:50%;top:calc(100% + 6px);translate:-50% 0;width:min(320px,calc(100vw - 32px));background:var(--white);border:2px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:14.5px;color:var(--ink-2);box-shadow:3px 3px 0 var(--ink);z-index:20;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.pi-pop::before{content:"";position:absolute;left:50%;top:-8px;width:12px;height:12px;background:var(--white);border-left:2px solid var(--ink);border-top:2px solid var(--ink);transform:translateX(-50%) rotate(45deg)}
.pillar-icons li:hover .pi-pop,.pillar-icons li:focus-within .pi-pop,.pi[aria-expanded="true"]+.pi-pop{opacity:1;visibility:visible;transform:none}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){ .pi .sk{animation:none} }
@media (max-width:760px){ .pillar-icons{grid-template-columns:repeat(2,minmax(0,1fr))} .pi b{font-size:14px} .pi .sk{width:52px;height:52px} }

/* v66: the four icons float in the hero, to the right of the headline; the words appear on hover or tap */
.hero .copy{position:relative}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-icons{position:absolute;inset:0;margin:0;padding:0;list-style:none;display:block;pointer-events:none}
.hero-icons li{position:absolute;pointer-events:auto}
.hero-icons li:nth-child(1){left:72%;top:-2%}
.hero-icons li:nth-child(2){left:88%;top:9%}
.hero-icons li:nth-child(3){left:70%;top:30%}
.hero-icons li:nth-child(4){left:86%;top:36%}
.hero-icons .pi{padding:6px;gap:0;border-radius:50%}
.hero-icons .pi .sk{width:48px;height:48px}
.hero-icons li:nth-child(2) .pi .sk{width:76px;height:76px}
.hero-icons .pi-pop{top:calc(100% + 4px);left:50%;width:min(300px,calc(100vw - 32px))}
.hero-icons li:nth-child(2) .pi-pop,.hero-icons li:nth-child(4) .pi-pop{left:auto;right:0;translate:0 0}
.hero-icons li:nth-child(2) .pi-pop::before,.hero-icons li:nth-child(4) .pi-pop::before{left:auto;right:28px;transform:rotate(45deg)}
.pi-pop b{display:block;font-family:var(--display);font-size:16px;color:var(--ink);margin-bottom:4px}
@media (max-width:1100px){ .hero-icons li:nth-child(1){left:70%} .hero-icons li:nth-child(2){left:86%;top:6%} .hero-icons li:nth-child(3){left:68%;top:28%} .hero-icons li:nth-child(4){left:84%;top:34%} .hero-icons .pi .sk{width:40px;height:40px} .hero-icons li:nth-child(2) .pi .sk{width:60px;height:60px} }
@media (max-width:900px){ .hero-icons{position:static;display:flex;justify-content:space-between;gap:6px;margin:14px 0 4px;pointer-events:auto} .hero-icons li{position:static} .hero-icons li:nth-child(2) .pi .sk{width:48px;height:48px} .hero-icons .pi-pop{left:50%;right:auto;translate:-50% 0} .hero-icons li:nth-child(4) .pi-pop{left:auto;right:0;translate:0 0} }

/* v67: room for the icons: a narrower lede, icons a little higher */
.hero .copy .lede{max-width:31ch}
.hero-icons li:nth-child(3){left:66%;top:27%}
.hero-icons li:nth-child(4){left:84%;top:31%}
@media (max-width:900px){ .hero .copy .lede{max-width:none} }

/* v68: the picture takes about 38% of the width; the icons carry their names */
.hero .wrap{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.hero-media{width:100%;margin:0;max-width:none}
.hero-media .frame{max-height:480px}
.hero-media .play{left:14%;bottom:8%;width:64px;height:64px}
.hero-media .caption{margin-left:0;margin-right:0;text-align:center}
.hero .copy .lede{max-width:36ch}
.hero-icons .pi{flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border-radius:12px}
.hero-icons .pi .lab{font-family:var(--hand);font-size:13.5px;line-height:1.15;color:var(--ink-2);text-align:center;white-space:nowrap}
.hero-icons li:nth-child(1){left:62%;top:-3%}
.hero-icons li:nth-child(2){left:80%;top:8%}
.hero-icons li:nth-child(3){left:60%;top:29%}
.hero-icons li:nth-child(4){left:79%;top:40%}
.hero-icons li:nth-child(2) .pi .sk{width:64px;height:64px}
.hero-icons .pi-pop{top:calc(100% + 2px)}
@media (max-width:1100px){ .hero-icons li:nth-child(1){left:60%} .hero-icons li:nth-child(2){left:78%;top:6%} .hero-icons li:nth-child(3){left:58%;top:28%} .hero-icons li:nth-child(4){left:77%;top:38%} .hero-icons .pi .lab{font-size:12px} }
@media (max-width:900px){ .hero .wrap{grid-template-columns:1fr} .hero-icons .pi .lab{white-space:normal;font-size:12px} .hero-icons li:nth-child(2) .pi .sk{width:48px;height:48px} }

/* v69: the icons float more visibly: a longer drift with a slight sway, whole icon and name together */
.hero-icons .pi{animation:drift 5s ease-in-out infinite}
.hero-icons li:nth-child(2) .pi{animation-delay:-1.3s;animation-duration:5.6s}
.hero-icons li:nth-child(3) .pi{animation-delay:-2.6s;animation-duration:4.8s}
.hero-icons li:nth-child(4) .pi{animation-delay:-3.9s;animation-duration:5.3s}
.hero-icons .pi .sk{animation:none}
.hero-icons .pi:hover,.hero-icons .pi:focus-visible,.hero-icons .pi[aria-expanded="true"]{animation-play-state:paused}
@keyframes drift{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(3px,-10px) rotate(-2deg)}50%{transform:translate(0,-16px) rotate(0deg)}75%{transform:translate(-3px,-8px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){ .hero-icons .pi{animation:none} }

/* v71: the children's doings glide sideways; more cards can be added to the track */
.achieve-scroll{display:flex;overflow:hidden;margin-top:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);padding-block:6px}
.achieve-track{display:flex;flex:none;gap:16px;padding-right:16px;animation:slide 48s linear infinite}
.achieve-scroll:hover .achieve-track{animation-play-state:paused}
.achieve-track .achieve{width:320px;flex:none}
.achieve-track .pic{aspect-ratio:16/10}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){ .achieve-track{animation:none} .achieve-track[aria-hidden]{display:none} .achieve-scroll{overflow-x:auto;mask-image:none;-webkit-mask-image:none} }
@media (max-width:640px){ .achieve-track .achieve{width:260px} }

/* v72: every card the same height: the photograph is held inside its picture box */
.achieve .pic{position:relative;overflow:hidden}
.achieve .pic img{position:absolute;inset:0;width:100%;height:100%}

/* v73: where the families are: a dark band, a pulsing globe, the countries around it */
.world{margin-top:clamp(24px,3vw,36px);background:var(--ink);color:var(--paper);border-radius:18px;padding:clamp(22px,3vw,36px) clamp(18px,3vw,36px);box-shadow:var(--shadow);position:relative;overflow:hidden}
.world::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 50% 55%,rgba(233,175,43,.18),transparent 70%);pointer-events:none}
.world-head{text-align:center;position:relative}
.world-head .eyebrow{justify-content:center;color:var(--turmeric)}
.world-head .eyebrow::before{background:var(--turmeric)}
.world-head h3{color:#fff;font-size:clamp(22px,2.8vw,32px);margin:0 0 12px}
.world-nums{display:flex;justify-content:center;gap:clamp(18px,4vw,48px);flex-wrap:wrap;margin-bottom:clamp(16px,2.5vw,28px)}
.world-nums div{display:flex;flex-direction:column;align-items:center}
.world-nums b{font-family:var(--display);font-size:clamp(28px,3.4vw,42px);line-height:1;color:var(--turmeric)}
.world-nums span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(246,243,236,.75);margin-top:4px}
.world-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:clamp(14px,2.5vw,32px);align-items:center;position:relative}
.world-col{display:grid;gap:10px}
.wc{position:relative;background:rgba(251,250,246,.06);border:1.5px solid rgba(246,243,236,.35);border-radius:12px;padding:12px 14px;backdrop-filter:blur(2px)}
.wc b{display:block;font-family:var(--display);font-size:18px;color:var(--turmeric);margin-bottom:2px}
.wc span{font-size:13.5px;line-height:1.5;color:rgba(246,243,236,.88)}
.wc.big{background:rgba(233,175,43,.12);border-color:var(--turmeric)}
.wc::after{content:"";position:absolute;top:50%;width:clamp(14px,2.5vw,32px);border-top:2px dashed rgba(233,175,43,.7)}
.world-col.left .wc::after{left:100%}
.world-col.right .wc::after{right:100%}
.world-globe{position:relative;width:220px;height:220px;display:grid;place-items:center;justify-self:center}
.world-globe .sk{width:150px;height:150px;position:relative;z-index:2;animation:drift 7s ease-in-out infinite}
.world-globe .ring{position:absolute;inset:18px;border-radius:50%;border:2px solid rgba(233,175,43,.55);animation:ripple 3.2s ease-out infinite}
.world-globe .ring.r2{animation-delay:-1.6s}
@keyframes ripple{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@media (max-width:900px){ .world-grid{grid-template-columns:1fr} .world-globe{width:160px;height:160px;order:-1} .world-globe .sk{width:110px;height:110px} .wc::after{display:none} }
@media (prefers-reduced-motion:reduce){ .world-globe .sk,.world-globe .ring{animation:none} .world-globe .ring{opacity:.5;transform:none} }

/* v75: every pathway stays open: a road from the gate through the levels to NIOS, then ten roads */
.roads{background:var(--ink);color:var(--paper);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.roads .eyebrow{color:var(--turmeric);justify-content:center}
.roads .eyebrow::before{background:var(--turmeric)}
.roads h2{color:#fff}
.roads .lede{color:rgba(246,243,236,.85)}
.roadmap{display:block;width:100%;height:auto;margin-top:clamp(12px,2vw,24px)}
.roadmap .trunk{fill:none;stroke:#F6F3EC;stroke-width:4;stroke-linecap:round}
.roadmap .road{fill:none;stroke:var(--turmeric);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:9 9;animation:march 1.6s linear infinite}
.roadmap .milestones circle{fill:var(--turmeric);stroke:#F6F3EC;stroke-width:2.5}
.roadmap .milestones text{font-family:var(--hand);font-size:17px;fill:#F6F3EC;text-anchor:middle}
.roadmap .nios{font-family:var(--display);font-weight:700;font-size:20px;fill:#fff;text-anchor:middle}
.roadmap .hand{font-family:var(--hand);font-size:15px;fill:rgba(246,243,236,.7);text-anchor:middle}
.roadmap .lbl{font-family:var(--text);font-size:17px;fill:#F6F3EC}
.roadmap .lbl .name{font-family:var(--display);font-weight:700;font-size:19px;fill:var(--turmeric)}
.roadmap .lbl .sub{fill:rgba(246,243,236,.75);font-size:15px}
.roads .pills{display:none}
@keyframes march{to{stroke-dashoffset:-18}}
@media (prefers-reduced-motion:reduce){ .roadmap .road{animation:none} }
@media (max-width:760px){ .roadmap{display:none} .roads .pills{display:flex;margin-top:14px} .roads .pills li{background:rgba(251,250,246,.06);border-color:rgba(246,243,236,.4);color:rgba(246,243,236,.85)} .roads .pills li b{color:var(--turmeric)} }

/* v76: road signs on two lines so none runs off the edge */
.roadmap .lbl .name{font-size:18px}
.roadmap .lbl .sub{font-size:13.5px}

/* v77: the board's own logo in the board card */
.board{grid-template-columns:300px 1fr}
.board .seal.logo{width:300px;height:auto;border-radius:12px;border:1.5px solid var(--line);background:#fff;padding:14px 16px;display:block}
.board .seal.logo img{display:block;width:100%;height:auto}
@media (max-width:640px){ .board{grid-template-columns:1fr} .board .seal.logo{width:100%;max-width:320px} }

/* v80: screens.html, the gallery of parent and student screens */
.scr-note{margin-top:14px;display:inline-block;padding:8px 14px;border:2px dashed var(--ink);border-radius:12px;font-size:14px;color:var(--ink-2);background:var(--white)}
.scr-nav{background:#F6F3EC;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:10px 0}
.scr-nav .wrap{display:flex;gap:10px;flex-wrap:wrap}
.scr-nav a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-weight:700;font-size:14px;color:var(--ink);text-decoration:none}
.scr-nav a span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ink);color:var(--white);font-size:12px}
.scr-sec{padding-block:clamp(32px,5vw,64px)}
.scr-sec.alt{background:var(--white)}
.scr-sec .section-head{margin-bottom:18px}
.can{list-style:none;margin:0 0 clamp(24px,3.5vw,40px);padding:0;display:flex;flex-wrap:wrap;gap:10px}
.can li{padding:8px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-size:14px;font-weight:600;color:var(--ink)}
.scr-sec.alt .can li{background:#F6F3EC}
.can.wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.can.wide li{border-radius:14px;padding:16px 18px;font-weight:400;line-height:1.5;font-size:15px}
.can.wide li b{display:block;font-family:var(--display);font-size:17px;margin-bottom:3px}
.gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,32px)}
.gallery figure{margin:0}
.gallery figcaption{margin-top:12px;font-size:14px;color:var(--ink-2);line-height:1.45}
.gallery figcaption b{display:block;font-family:var(--display);font-size:18px;color:var(--ink);margin-bottom:3px}
.gallery .tag{display:inline-block;vertical-align:middle;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--vermilion);color:var(--white);font-family:var(--body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.scr-cta{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:1000px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:680px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.can.wide{grid-template-columns:1fr}.gallery figcaption{font-size:13px}.gallery figcaption b{font-size:16px}}.more-link{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}

/* v92: the home page rebuilt to the placement report. One promise, one filled button, five doubts
   answered where they arise. Marigold is for the enquiry buttons only (the header's, the hero's,
   the form's, the bar's, the closing band's), so the eye learns "gold means: ask us to call you".
   Also: the six-tab menu, a phone drawer that opens by group, a "where next" block on every page,
   the closing band, the four-column footer and the phone's sticky bar. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.desk-only{display:none}
@media (min-width:901px){ .desk-only{display:block} }

/* ---------- Header: 72 px on a desktop, 56 on a phone; the menu button says "Menu" ---------- */
.top .wrap{min-height:72px;max-width:1400px}
.menu{width:auto;padding:0 12px 0 10px;gap:8px;font:inherit;font-weight:700;font-size:15px}
@media (max-width:1440px){ .nav ul{gap:0} .nav a{font-size:13.5px;padding:8px 5px} .nav li.has-sub > a{padding-right:3px} }
.nav .more{width:24px;height:44px;margin-left:-2px}
@media (max-width:1440px){ .nav .more{width:22px} }
.nav li.has-sub:focus-within > .sub{display:none}
.nav li.has-sub.open > .sub{display:flex}
/* a dropdown opens when the pointer is over its tab, and when its arrow is clicked */
@media (hover:hover){ .nav li.has-sub:hover > .sub{display:flex} }
@media (max-width:1240px){
  .top .wrap{min-height:60px;gap:10px}
  .drawer{height:calc(100vh - 60px);height:calc(100dvh - 60px);padding:14px 16px 28px}
}
@media (max-width:760px){
  .top .wrap{min-height:56px;padding-inline:14px}
  .brand{gap:9px}
  .brand .mark{width:20px;height:32px}
  .brand .name{font-size:20px}
  .brand .by{font-size:10px;margin-top:2px;letter-spacing:.12em}
  .drawer{height:calc(100vh - 56px);height:calc(100dvh - 56px)}
}
/* the phone drawer: three rows that need no opening, then one group per tab */
.drawer .d-top{display:flex;align-items:center;min-height:52px;padding:0 16px;margin:0 0 8px;border:2px solid var(--ink);border-radius:12px;background:var(--white);font-size:17px;font-weight:700;color:var(--ink);text-decoration:none}
.drawer .d-call{background:var(--turmeric)}
.drawer details.d-group{border-bottom:1.5px dashed var(--pencil-2)}
.drawer details.d-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 4px;font-size:18px;font-weight:700}
.drawer details.d-group summary::-webkit-details-marker{display:none}
.drawer details.d-group summary::after{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.drawer details.d-group[open] summary::after{transform:translateY(2px) rotate(225deg)}
.drawer details.d-group a.sub-link{display:block;font-size:16px;font-weight:600;padding:11px 4px 11px 14px;border-bottom:0}
.drawer details.d-group[open]{padding-bottom:8px}

/* ---------- A tab's pages, and the line that says whose school this is ---------- */
.tabnav a:hover{background:var(--paper)}
.tabnav a.current{background:var(--indigo-soft);box-shadow:0 2px 0 var(--ink)}
.idline{margin:0;max-width:none;padding:8px 0;font-size:13.5px;line-height:1.45;color:var(--muted);background:var(--paper);border-bottom:1.5px dashed var(--pencil-2)}
.idline .wrap{display:block}
@media (max-width:700px){ .tabnav{display:none} .idline{font-size:13px} }

/* ---------- Where next: one next step with its reason, two others, and the rest of the tab on a phone ---------- */
.nextup{padding:clamp(28px,4vw,48px) 0;background:var(--paper)}
.nextup .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:stretch}
.nextup small{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nextup .next{display:grid;gap:4px;align-content:center;padding:18px 22px;background:var(--white);border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink)}
.nextup .next b{font-family:var(--display);font-size:clamp(20px,2.2vw,24px);line-height:1.2}
.nextup .next b::after{content:" →";color:var(--vermilion)}
.nextup .next span{color:var(--ink-2);font-size:15px}
.nextup .next:hover{background:var(--indigo-soft)}
.nextup .also{display:grid;gap:6px;align-content:center;padding:4px 6px}
.nextup .also a,.nextup .more-in a{font-weight:700;color:var(--indigo)}
.nextup .more-in{display:none;grid-column:1/-1;gap:8px;padding-top:6px;border-top:1.5px dashed var(--pencil-2)}
@media (max-width:700px){ .nextup .wrap{grid-template-columns:1fr} .nextup .more-in{display:grid} }

/* ---------- The closing band: one action, WhatsApp, and a way to hand the page to the family ---------- */
.band .wrap{grid-template-columns:minmax(0,1fr) auto}
.band .actions{align-items:center}
.band .btn-line{background:transparent;color:#fff;border-color:#fff;box-shadow:none}
.band .btn-line:hover{background:rgba(255,255,255,.14);color:#fff}
.band .band-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 26px;margin:0;max-width:none;font-size:15px;color:#fff}
.band .band-links a{color:#fff;font-weight:700}
.band .band-links a:hover{color:var(--turmeric)}
@media (max-width:760px){ .band .wrap{grid-template-columns:1fr} .band .actions .btn{width:100%} }

/* ---------- Footer: how to reach us first; then the school, admission and help, about ---------- */
.footer .wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer .f-contact .btn{min-height:46px;padding:0 20px}
.footer .f-contact ul{margin-top:14px}
.footer .btn:hover{color:var(--ink);text-decoration:none}
.footer .f-brand{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;border-top:1.5px dashed var(--pencil-2);padding-top:18px}
.footer .f-brand .logo{margin:0}
.footer .f-brand p{max-width:62ch;margin:0;font-size:14px;color:var(--muted)}
@media (max-width:900px){ .footer .wrap{grid-template-columns:repeat(2,minmax(0,1fr))} .footer .f-contact{grid-column:1/-1} }
@media (max-width:560px){ .footer .wrap{grid-template-columns:1fr} }

/* ---------- The phone's bar: the one action and a labelled WhatsApp button ---------- */
@media (max-width:760px){
  .sticky-cta{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .sticky-cta .row{gap:10px}
  .sticky-cta .row .btn{min-height:52px;font-size:16px;padding:0 14px}
  .sticky-cta .row .btn.wa{flex:0 0 auto;gap:8px;padding:0 16px;background:#DCF8E3}
}

/* ---------- P1: the promise ---------- */
.promise{padding-block:clamp(22px,4vw,52px) clamp(28px,4vw,52px);background:var(--white);border-bottom:2px solid var(--ink);overflow:hidden}
.promise .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.promise .kicker{display:inline-block;margin:0 0 14px;padding:5px 12px;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--paper-2);border:1.5px solid var(--pencil-2);border-radius:999px}
.promise h1{font-size:clamp(32px,4.6vw,58px);line-height:1.08}
.promise h1 em{font-style:normal;color:var(--vermilion)}
.promise .sub{margin:12px 0 10px;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--ink-2);max-width:46ch}
.promise .open{margin:0 0 18px;font-size:clamp(17px,1.4vw,19px);line-height:1.4;font-weight:700;color:var(--ink);max-width:46ch}
.promise .go{display:grid;gap:8px;justify-items:start}
.promise .promise-line{margin:0;font-size:14px;color:var(--ink-2)}
.promise .wa-link{font-weight:700;font-size:16px;padding:6px 0}
.promise .proof-line{margin:16px 0 0;padding-top:14px;border-top:1.5px dashed var(--pencil-2);font-size:14.5px;color:var(--ink-2);max-width:46ch}
.promise .photo{margin:0}
.promise .photo img{width:100%;height:auto;border:2px solid var(--ink);border-radius:18px;box-shadow:var(--shadow)}
.promise .photo figcaption,.photo2 figcaption{margin-top:8px;font-size:13.5px;line-height:1.4;color:var(--muted)}
@media (max-width:900px){
  .promise{padding-top:20px;padding-bottom:0;border-bottom:0}
  .promise .wrap{grid-template-columns:1fr;gap:18px}
  .promise .go{justify-items:stretch}
  .promise .go .btn{width:100%}
  .promise .wa-link{justify-self:start}
  .promise .photo{margin:0 -20px;padding:0;background:var(--white)}
  .promise .photo img{border-radius:0;border-left:0;border-right:0;box-shadow:none}
  .promise .photo figcaption{padding:0 20px 14px}
}

/* ---------- P2: recognition, the first dark band ---------- */
.pathbar{background:var(--indigo);color:#fff;padding-block:clamp(28px,4vw,48px);border-bottom:2px solid var(--ink)}
.pathbar h2{color:#fff;font-size:clamp(28px,3.6vw,40px)}
.pathbar .rows{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pathbar .rows li{display:grid;gap:4px;padding:14px 16px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.4);border-radius:12px}
.pathbar .rows b{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#CFD8FF}
.pathbar .rows span{font-size:17px;line-height:1.4;color:#fff}
.pathbar .rows strong{font-weight:700;color:#fff}
.pathbar .status{margin:14px 0 0;max-width:none;font-size:15px;color:#E1E6F5}
.pathbar .more{margin:10px 0 0}
.pathbar .more a{color:#fff;font-weight:700}
.pathbar .more a:hover{color:#FFE9A8}
@media (max-width:760px){ .pathbar .rows{grid-template-columns:1fr} }

/* ---------- P3: the day, hour by hour ---------- */
.dayhome{padding-block:clamp(36px,5vw,64px)}
.dayhome .section-head{margin-bottom:clamp(18px,2.5vw,28px)}
.dayrail{list-style:none;margin:0 auto;padding:0;max-width:680px;background:var(--white);border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.dayrail li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:2px 12px;padding:12px 16px;border-top:1.5px dashed var(--pencil-2)}
.dayrail li:first-child{border-top:0}
.dayrail li.off{background:var(--leaf-soft)}
.dayrail time{grid-row:1/3;font-weight:700;font-size:16px;color:var(--indigo);padding-top:2px}
.dayrail b{font-family:var(--display);font-size:18px;line-height:1.25}
.dayrail b small{font-family:var(--text);font-weight:600;font-size:13px;color:var(--muted);margin-left:6px}
.dayrail span{font-size:14.5px;color:var(--ink-2)}
.day-sum{margin:22px auto 10px;text-align:center;font-size:clamp(17px,1.5vw,19px);max-width:62ch}
.lvl-names{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lvl-names li{padding:6px 14px;background:var(--white);border:2px solid var(--ink);border-radius:999px;font-size:14px;font-weight:700;color:var(--ink-2)}
.day-links{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;margin:14px 0 0;max-width:none;font-weight:700}
@media (min-width:901px){
  .dayrail{max-width:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:transparent;border:0;box-shadow:none;overflow:visible}
  .dayrail li{display:block;margin:0 5px;padding:14px;background:var(--white);border:2px solid var(--ink);border-radius:12px;box-shadow:var(--shadow)}
  .dayrail li:first-child{border-top:2px solid var(--ink)}
  .dayrail time{display:block;margin-bottom:6px;font-size:15px}
  .dayrail b{display:block;font-size:17px}
  .dayrail b small{display:block;margin:2px 0 0}
  .dayrail span{display:block;margin-top:6px}
}

/* ---------- P4: five worries, the answer in each title ---------- */
.worries{padding-block:clamp(36px,5vw,64px)}
.worry-list{display:grid;gap:12px;max-width:860px;margin:0 auto}
.worry{background:var(--white);border:2px solid var(--ink);border-radius:12px;overflow:hidden}
.worry summary{list-style:none;cursor:pointer;display:grid;gap:3px;position:relative;min-height:56px;padding:14px 46px 14px 18px}
.worry summary::-webkit-details-marker{display:none}
.worry summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.worry[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.worry .q{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.25;color:var(--indigo)}
.worry .a{font-size:16px;font-weight:600;line-height:1.4;color:var(--ink)}
.worry p{margin:0;padding:0 18px 16px;font-size:15.5px;color:var(--ink-2)}
.worries-more{margin:18px 0 0;font-weight:700}
@media (min-width:901px){
  .worry-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;align-items:start}
  html.js .worry summary{pointer-events:none;cursor:default;padding-right:18px}
  html.js .worry summary::after{display:none}
}

/* ---------- P5: who is behind it ---------- */
.proof{padding-block:clamp(36px,5vw,64px)}
.proof .section-head{margin-bottom:clamp(14px,2vw,22px)}
.record{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;margin:0 auto;max-width:none;text-align:center;font-size:15.5px;color:var(--ink-2)}
.record b{display:block;font-family:var(--display);font-size:clamp(26px,3vw,34px);line-height:1.1;color:var(--indigo)}
.vision{margin:8px auto clamp(18px,3vw,28px);text-align:center;font-size:14.5px;color:var(--muted)}
.proof-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(18px,3vw,36px);align-items:start;margin-bottom:clamp(20px,3vw,32px)}
.photo2{margin:0}
.photo2 img{width:100%;height:auto;border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow)}
.proof-grid .quotes{grid-template-columns:1fr;margin-top:0}
.world-note{margin:8px auto 0;text-align:center;font-size:14px;color:rgba(246,243,236,.82);max-width:none}
.world-cities{display:none;position:relative;margin:12px auto 0;text-align:center;font-size:15px;line-height:1.5;color:rgba(246,243,236,.88);max-width:none}
.proof-more{margin:16px 0 0;font-weight:700}
@media (max-width:900px){
  .proof-grid{grid-template-columns:1fr}
  .proof .world-grid{display:none}
  .proof .world-cities{display:block}
  .proof-grid .quote + .quote{display:none}
}

/* ---------- P6: how to join, and a form that asks for as little as it can ---------- */
.join{padding-block:clamp(36px,5vw,64px)}
.join .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.join-steps{list-style:none;counter-reset:j;margin:16px 0 0;padding:0;display:grid;gap:10px}
.join-steps li{counter-increment:j;position:relative;padding-left:40px;font-size:16px;color:var(--ink-2)}
.join-steps li::before{content:counter(j);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.join-steps b{color:var(--ink)}
.join-dates,.join-fee{margin:14px 0 0;max-width:none;font-size:16px}
.join-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 0 0;max-width:none;font-weight:700}
.minijoin .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.minijoin legend{font-size:24px;margin-bottom:10px}
.agechips{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.agechips legend{font-family:var(--text);font-weight:700;font-size:15px;margin:0 0 6px;padding:0}
.chips-row{display:flex;flex-wrap:wrap;gap:8px}
.chips-row label{position:relative;display:block}
.chips-row input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chips-row span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:2px solid var(--ink);border-radius:10px;background:var(--white);font-weight:700}
.chips-row input:checked + span{background:var(--indigo);color:#fff}
.chips-row input:focus-visible + span{outline:3px solid var(--indigo);outline-offset:2px}
.minijoin .step-actions{justify-content:flex-start;margin-top:14px}
.minijoin .consent{margin:12px 0 0}
@media (max-width:900px){ .join .wrap{grid-template-columns:1fr} .minijoin .fields{grid-template-columns:1fr} .minijoin .step-actions .btn{width:100%} }

/* ---------- Fees, abroad, teachers ---------- */
.fee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fee-card{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.fee-card h2{font-size:22px;margin-bottom:12px}
.fee-card .note{margin-top:12px;font-size:14.5px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;font-size:15.5px;color:var(--ink-2)}
.ticks li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:7px;border-left:3px solid var(--leaf);border-bottom:3px solid var(--leaf);transform:rotate(-45deg)}
.facts-list{margin:0;display:grid;gap:12px}
.facts-list > div{display:grid;gap:2px;padding-bottom:10px;border-bottom:1.5px dashed var(--pencil-2)}
.facts-list dt{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts-list dd{margin:0;font-size:16px}
@media (max-width:960px){ .fee-grid{grid-template-columns:1fr} }
.zones{max-width:620px;margin:0 auto clamp(28px,4vw,40px);text-align:center}
.zones h2{font-size:clamp(24px,2.8vw,32px)}
.zones .sub{margin:8px auto 16px;color:var(--muted);font-size:15px}
.zone-table{text-align:left}
.zone-table tbody td{font-weight:700}
.answers.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.answers.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){ .answers.three{grid-template-columns:1fr} }
@media (max-width:640px){ .answers.two{grid-template-columns:1fr} }

/* v93: the sources section on the home page (the texts and the rishis, straight after the promise) */
.sources{background:var(--paper)}
.sources .section-head .lede{max-width:70ch;margin-inline:auto}
.home-rishis{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-rishis .rishi h4{font-size:18px}
.sages-more{text-align:center;margin:clamp(14px,2vw,20px) auto 0;max-width:68ch;color:var(--ink-2);font-size:15px}
.sages-more a{font-weight:700;white-space:nowrap}
.iks-ways{list-style:none;margin:clamp(24px,3.4vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.8vw,20px)}
.iks-ways li{display:flex;flex-direction:column;gap:8px;padding:16px 16px 14px;border:2px solid var(--ink);border-radius:14px;background:var(--white);border-top:6px solid var(--indigo,var(--ink))}
.iks-ways b{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.2;color:var(--ink)}
.iks-ways span{font-size:14.5px;line-height:1.5;color:var(--ink-2);flex:1}
.iks-ways a{font-size:14px;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.iks-subjects{margin-top:clamp(20px,3vw,30px);text-align:center}
.iks-subjects .lab{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.iks-subjects ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.iks-subjects li{padding:6px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-size:15px;font-weight:600;color:var(--ink)}
@media (max-width:1000px){ .home-rishis{grid-template-columns:repeat(3,minmax(0,1fr))} .iks-ways{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:700px){
  .home-rishis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-rishis .rishi{padding:12px 10px 12px}
  .home-rishis .rishi .icon{width:56px;height:56px;margin-bottom:6px}
  .home-rishis .rishi .icon svg{width:38px;height:38px}
  .home-rishis .rishi h4{font-size:16px}
  .home-rishis .rishi .dom{font-size:11px;margin-bottom:0}
  .home-rishis .rishi p:not(.dom){display:none}
  .iks-ways{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-inline:-20px;padding:2px 20px 10px;-webkit-overflow-scrolling:touch}
  .iks-ways li{flex:0 0 82%;scroll-snap-align:center}
  .iks-subjects ul{gap:6px}
  .iks-subjects li{padding:4px 10px;font-size:14px}
}
