/* ===== THEMES =====
   Default theme = "Konkan Green" (:root). Other themes override the same variables.
   To add a theme: copy one [data-theme] block, change the colours, then add it in
   index.html (theme panel) and assets/js/theme.js (list) plus a .sw swatch below. */
:root{--bg:#F2F5EA;--ink:#10231F;--muted:#4E625B;--deep:#0F3B35;--deep-ink:#EAF1E4;--hero-sub:#C9D9CF;--gold:#E8A317;--on-gold:#1A1405;--laterite:#A4451F;--on-accent:#FFF4EA;--accent-deep:#5A220E;--accent-text:#A4451F;--card:#FFFFFF;--line:#D3DCCB;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
[data-theme="ocean"]{--bg:#EEF5F8;--ink:#0E2430;--muted:#486170;--deep:#0B3C5D;--deep-ink:#E6F1F7;--hero-sub:#BCD5E4;--gold:#F4B942;--on-gold:#1B1405;--laterite:#C9452A;--on-accent:#FFF3EC;--accent-deep:#5B1E10;--accent-text:#C9452A;--card:#FFFFFF;--line:#CCDCE5}
[data-theme="mango"]{--bg:#FFF8EA;--ink:#2B1A08;--muted:#6B5640;--deep:#8A3A0F;--deep-ink:#FFF1DC;--hero-sub:#F6DDBB;--gold:#FFC83D;--on-gold:#2B1A08;--laterite:#C2410C;--on-accent:#FFF4E6;--accent-deep:#5C1F05;--accent-text:#C2410C;--card:#FFFFFF;--line:#EADCBC}
[data-theme="apple"]{--bg:#FFF4F2;--ink:#2A1018;--muted:#6B4650;--deep:#6B1530;--deep-ink:#FFE9EC;--hero-sub:#F3CBD3;--gold:#FFB703;--on-gold:#2A1A05;--laterite:#B5173A;--on-accent:#FFF0F2;--accent-deep:#5A0B1E;--accent-text:#B5173A;--card:#FFFFFF;--line:#F0D3D8}
[data-theme="night"]{--bg:#0C1A17;--ink:#E8EFE3;--muted:#A3B5AC;--deep:#133F38;--deep-ink:#EAF1E4;--hero-sub:#C9D9CF;--gold:#E8A317;--on-gold:#1A1405;--laterite:#A4451F;--on-accent:#FFF4EA;--accent-deep:#5A220E;--accent-text:#E58A5C;--card:#13261F;--line:#244139}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:18px;line-height:1.65}
h1,h2,h3,.sans{font-family:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;line-height:1.08;margin:0}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-weight:800;font-size:20px;text-decoration:none;letter-spacing:-.01em}
.logo span{color:var(--accent-text)}
nav{display:flex;gap:22px;font-family:"Bricolage Grotesque",sans-serif;font-weight:500;font-size:15px}
nav a{text-decoration:none}nav a:hover{text-decoration:underline}
.hero{background:var(--deep);color:var(--deep-ink);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}
.hero h1{font-size:clamp(44px,7.2vw,92px);font-weight:800;letter-spacing:-.03em}
.hero p{max-width:34ch;font-size:21px;margin:24px 0 32px;color:var(--hero-sub)}
.btn{display:inline-block;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:16px;padding:14px 26px;border-radius:999px;background:var(--gold);color:var(--on-gold);text-decoration:none}
.btn.ghost{background:transparent;border:2px solid currentColor;color:inherit;margin-left:10px}
.hero figure{margin:0;position:relative}
.hero figure img{border-radius:200px 200px 24px 24px;aspect-ratio:3/4;object-fit:cover;width:100%;max-height:560px}
.hero figcaption{position:absolute;left:-14px;bottom:28px;background:var(--gold);color:var(--on-gold);font-family:"Bricolage Grotesque",sans-serif;font-weight:800;padding:10px 18px;border-radius:12px;font-size:18px}
section{padding:84px 0}
.head{max-width:620px;margin-bottom:40px}
h2{font-size:clamp(32px,4.4vw,52px);font-weight:800;letter-spacing:-.02em}
.head p{color:var(--muted);margin:14px 0 0}
.grades{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.grade{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.grade img{aspect-ratio:3/4;object-fit:cover;width:100%}
.grade div{padding:14px 16px 18px}
.grade h3{font-size:26px;font-weight:800}
.grade p{margin:4px 0 0;font-size:15px;line-height:1.45;color:var(--muted)}
.note{margin-top:22px;font-size:16px;color:var(--muted);max-width:70ch}
.forms{background:var(--card);border-block:1px solid var(--line)}
.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.form{text-align:center}.form p{max-width:30ch;margin-inline:auto}.form img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:50%;border:6px solid var(--bg)}
.form h3{font-size:22px;margin:16px 0 4px}
.form p{margin:0 auto;font-size:16px;color:var(--muted);line-height:1.5}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.why h3{font-size:24px;margin-bottom:10px;padding-top:14px;border-top:4px solid var(--laterite)}
.why p{margin:0;color:var(--muted)}
.cta{background:var(--laterite);color:var(--on-accent);text-align:center}
.cta h2{max-width:16ch;margin:0 auto}
.cta p{max-width:46ch;margin:18px auto 30px}
.cta .btn{background:var(--on-accent);color:var(--accent-deep)}
footer{padding:36px 0;font-size:15px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media(max-width:960px){.grades{grid-template-columns:repeat(3,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.why{grid-template-columns:1fr;gap:28px}}
@media(max-width:760px){.hero .wrap{grid-template-columns:1fr;padding-top:44px;padding-bottom:48px}.hero figure{max-width:340px}.hero figcaption{left:8px}nav{gap:14px;font-size:14px}.grades{grid-template-columns:repeat(2,1fr)}section{padding:60px 0}.btn.ghost{margin:12px 0 0}}
@media(max-width:420px){nav a:nth-child(3){display:none}}
.lang{display:flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px}.lang button{font:600 14px "Bricolage Grotesque","Noto Sans Devanagari",sans-serif;border:0;background:none;color:var(--ink);padding:6px 12px;border-radius:999px;cursor:pointer}.lang button[aria-pressed=true]{background:var(--gold);color:var(--on-gold)}
html[lang=mr] *{font-family:"Noto Sans Devanagari","Nirmala UI",sans-serif}html[lang=mr] h1,html[lang=mr] h2,html[lang=mr] h3{letter-spacing:0;line-height:1.3}html[lang=mr] .hero h1{font-size:clamp(36px,6vw,72px)}html[lang=mr] body{line-height:1.8}
@media(max-width:600px){header nav{display:none}}
.zoomable{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:50;background:rgba(6,16,13,.92);display:none;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.lb.open{display:flex}
.lb .box{max-width:100vw;max-height:calc(100vh - 64px);overflow:auto;text-align:center}
.lb img{max-height:calc(100vh - 64px);max-width:100vw;width:auto;margin:auto;cursor:zoom-in;border-radius:6px}
.lb img.z{max-height:none;max-width:none;width:960px;cursor:zoom-out;border-radius:0}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:1;width:46px;height:46px;border-radius:50%;cursor:pointer}
.lb .x{top:calc(12px + env(safe-area-inset-top,0px));right:14px}.lb .pv{left:12px;top:50%}.lb .nx{right:12px;top:50%}
.lb .cap{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:#DDE8E0;font:500 15px "Bricolage Grotesque","Noto Sans Devanagari",sans-serif;pointer-events:none}
@media(max-width:600px){.lb .pv,.lb .nx{top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px))}.lb .cap{display:none}}
[hidden]{display:none!important}
.enq{max-width:680px;margin:36px auto 0;background:var(--card);color:var(--ink);border-radius:20px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.enq label{display:flex;flex-direction:column;gap:6px;font:600 14px "Bricolage Grotesque","Noto Sans Devanagari",sans-serif}
.enq input,.enq select,.enq textarea{font:400 16px "Source Serif 4",Georgia,serif;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%}
.enq .full{grid-column:1/-1}.enq .acts{display:flex;gap:12px;flex-wrap:wrap}
.enq .btn{border:0;cursor:pointer;background:var(--laterite);color:var(--on-accent)}.enq .btn.wa{background:#1B8F4B;color:#fff}
.enq .st{margin:0;max-width:none;font-size:15px;color:var(--muted)}.enq :focus-visible{outline-color:var(--laterite)}
@media(max-width:600px){.enq{grid-template-columns:1fr;padding:20px}}
.hero .wrap>*{min-width:0}
.lb .box,.lb img{max-height:calc(100dvh - 64px)}
@media(min-width:1400px){.wrap{max-width:1240px}}
@media(max-width:760px){header .wrap{height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:6px;gap:4px 12px}header nav{display:flex!important;order:3;width:100%;overflow-x:auto;gap:20px;padding:2px 0 4px;white-space:nowrap;scrollbar-width:none}header nav::-webkit-scrollbar{display:none}header nav a{display:inline-block!important;padding:6px 0}html{scroll-padding-top:104px}body{font-size:17px}.hero p{font-size:19px}}
@media(max-width:420px){.wrap{padding:0 18px}.grades{gap:12px}.grade div{padding:12px 12px 14px}.grade h3{font-size:22px}.formgrid{gap:28px 14px}.btn{padding:13px 20px}.enq{padding:18px}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== Header controls + theme picker ===== */
.ctl{display:flex;align-items:center;gap:8px}
.theme{position:relative}
.theme>button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;font-size:18px;line-height:1;display:grid;place-items:center}
.tpanel{position:absolute;right:0;top:46px;min-width:210px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 14px 34px rgba(0,0,0,.2);z-index:10}
.tpanel[hidden]{display:none}
.tpanel .tt{font:700 12px "Bricolage Grotesque","Noto Sans Devanagari",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 10px}
.tpanel button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:var(--ink);padding:9px 10px;border-radius:10px;font:600 15px "Bricolage Grotesque","Noto Sans Devanagari",sans-serif;cursor:pointer;text-align:left}
.tpanel button:hover{background:var(--bg)}
.tpanel button[aria-checked="true"]{box-shadow:inset 0 0 0 2px var(--gold)}
.sw{width:28px;height:28px;border-radius:50%;flex:none;border:1px solid var(--line)}
.sw[data-t="forest"]{background:linear-gradient(135deg,#0F3B35 50%,#E8A317 50%)}
.sw[data-t="ocean"]{background:linear-gradient(135deg,#0B3C5D 50%,#F4B942 50%)}
.sw[data-t="mango"]{background:linear-gradient(135deg,#8A3A0F 50%,#FFC83D 50%)}
.sw[data-t="apple"]{background:linear-gradient(135deg,#6B1530 50%,#FFB703 50%)}
.sw[data-t="night"]{background:linear-gradient(135deg,#0C1A17 50%,#E8A317 50%)}
