/* ==========================================================
   IMDDC Music Exams: design system V2 (premium corporate)
   Fonts -> tokens -> base -> layout -> components -> responsive
   ========================================================== */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-italic.woff2) format("woff2")}

:root{
  /* brand (from blueprint) */
  --plum:#2C1230; --gold:#C99A2E; --ivory:#FBF8F2; --white:#fff; --body:#514955; --border:#E7DED2;
  /* plum scale */
  --plum-950:#27132C; --plum-900:#321A38; --plum-800:#3B2243; --plum-700:#4B2C54; --plum-600:#5D3868;
  /* gold scale */
  --gold-300:#E6C878; --gold-500:#C99A2E; --gold-700:#8F6A14; --gold-ink:#7A5810; --gold-soft:#F5ECD3; --gold-wash:#FBF5E4;
  --sand:#F4EEE3;
  --muted:#6F6675; --border-strong:#D6C9B7; --line-dark:rgba(255,255,255,.12);
  --ok:#2B7A52; --ok-bg:#E3F2EA; --warn:#94570A; --warn-bg:#FBEBCF; --info:#2F5D9E; --info-bg:#E4ECF8; --err:#A8322C; --err-bg:#F8E1DF;
  --font-display:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-btn:10px;
  --container:1200px; --pad-x:32px;
  --sec-y:clamp(64px,8.5vw,112px);
  --shadow-sm:0 1px 2px rgba(44,18,48,.06),0 1px 1px rgba(44,18,48,.04);
  --shadow-md:0 18px 40px -22px rgba(44,18,48,.35);
  --shadow-lg:0 34px 70px -34px rgba(23,10,27,.7);
  --focus:0 0 0 3px rgba(201,154,46,.55);
  --gold-rule:linear-gradient(90deg,#C99A2E,#E6C878 50%,#C99A2E);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--body);font:400 16px/1.65 var(--font-sans);font-feature-settings:"cv11","ss03","tnum" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:var(--plum);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;color:var(--plum);margin:0 0 .55em;line-height:1.14;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.08;letter-spacing:-.03em;font-weight:800}
h2{font-size:clamp(1.7rem,2.9vw,2.4rem);letter-spacing:-.025em}
h3{font-size:1.2rem;letter-spacing:-.012em;font-weight:650}
h4{font-size:1rem;font-family:var(--font-sans);font-weight:650;letter-spacing:-.005em}
p{margin:0 0 1em;max-width:66ch;text-wrap:pretty}
.tnum,.num,.stat b,.t .num{font-variant-numeric:tabular-nums}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--plum);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ic--fill{fill:currentColor;stroke:none}

/* ---------- layout ---------- */
.container{width:100%;max-width:calc(var(--container) + var(--pad-x)*2);margin:0 auto;padding:0 var(--pad-x)}
.section{padding:var(--sec-y) 0}
.section--white{background:var(--white)}
.section--sand{background:var(--sand)}
.section--plum{background:linear-gradient(160deg,var(--plum-800),var(--plum-900));color:#D6CADB;position:relative;overflow:hidden}
.section--plum h2,.section--plum h3,.section--plum h4{color:#fff}
.section--plum a{color:#fff}
.section--tight{padding:clamp(40px,5vw,72px) 0}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)} .g6{grid-template-columns:repeat(6,1fr)} .g7{grid-template-columns:repeat(7,1fr)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,88px);align-items:start}
.split--even{grid-template-columns:1fr 1fr;align-items:center}
.split>*,.dash>*,.wizard>*,.slide-grid>*,.partner>*,.grid>*,.brand-band>*{min-width:0}
.stack>*+*{margin-top:16px}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.row--between{justify-content:space-between}
.lead{font-size:1.15rem;line-height:1.6;color:var(--body)}
.kicker{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--gold-ink);margin:0 0 16px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:28px;height:2px;background:var(--gold-rule);flex:none}
.section--plum .kicker,.on-dark .kicker{color:var(--gold-300)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:44px;flex-wrap:wrap}
.sec-head h2{margin:0}
.sec-head p{margin:12px 0 0;color:var(--body)}
.link-arrow{font-weight:600;font-size:.9rem;text-decoration:none;display:inline-flex;gap:8px;align-items:center;color:var(--plum)}
.link-arrow:hover{color:var(--gold-ink)}
.link-arrow:hover .ic{transform:translateX(3px)}
.link-arrow .ic{transition:transform .15s}
.rule{height:1px;background:var(--border);border:0;margin:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .9rem/1 var(--font-sans);letter-spacing:.005em;padding:15px 24px;border-radius:var(--r-btn);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn--gold{background:linear-gradient(180deg,#D4A63A,#C4952A);color:var(--plum-900);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 16px -8px rgba(143,106,20,.7)}
.btn--gold:hover{background:linear-gradient(180deg,#DDB04A,#CB9C30)}
.btn--plum{background:var(--plum);color:#fff;box-shadow:0 6px 16px -8px rgba(44,18,48,.6)}
.btn--plum:hover{background:var(--plum-600)}
.btn--ghost{background:transparent;color:var(--plum);border-color:var(--border-strong)}
.btn--ghost:hover{border-color:var(--plum);background:var(--white)}
.on-dark .btn--plum,.section--plum .btn--plum{background:linear-gradient(180deg,#D4A63A,#C4952A);color:var(--plum-900)}
.on-dark .btn--ghost,.section--plum .btn--ghost,.cta-card .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.on-dark .btn--ghost:hover,.section--plum .btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn--sm{padding:11px 16px;font-size:.84rem}
.btn[disabled],.btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.btn--block{width:100%}
.btn .spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- header ---------- */
.topbar{background:var(--plum-950);color:#BFB2C5;font-size:.78rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px}
.topbar a{color:#D9CEDD;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.topbar a:hover{color:#fff}
.topbar .links{display:flex;gap:22px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}
.site-header .container{display:flex;align-items:center;gap:12px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--plum);flex:none;white-space:nowrap}
.brand-mark{width:42px;height:42px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--font-display);font-size:1.3rem;font-weight:800;letter-spacing:.07em}
.brand-sub{font-size:.6rem;font-weight:600;letter-spacing:.16em;margin-top:4px;color:inherit}
.brand-tag{display:none}
.nav{display:flex;gap:0;margin:0 auto}
.nav a{font-size:.85rem;font-weight:500;color:var(--plum);text-decoration:none;padding:10px 8px;border-radius:8px;white-space:nowrap;position:relative}
.nav a:hover{background:var(--ivory)}
.nav a[aria-current="page"]{font-weight:600}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:2px;background:var(--gold-rule);border-radius:2px}
.head-actions{display:flex;align-items:center;gap:6px}
.head-actions .plain{white-space:nowrap;font-size:.85rem;font-weight:500;color:var(--plum);text-decoration:none;padding:10px 8px;display:inline-flex;gap:6px;align-items:center;border-radius:8px}
.head-actions .plain:hover{background:var(--ivory)}
.menu-btn{display:none;background:none;border:1px solid var(--border-strong);border-radius:10px;width:42px;height:42px;color:var(--plum);cursor:pointer;align-items:center;justify-content:center}

/* ---------- footer (dark) ---------- */
.site-footer{background:var(--plum-950);color:#BFB2C5;padding:0;font-size:.9rem;position:relative}
.site-footer::before{content:"";display:block;height:3px;background:var(--gold-rule)}
.site-footer .container{padding-top:72px;padding-bottom:32px}
.site-footer .brand{color:#fff}
.site-footer .brand-sub{color:var(--gold-300)}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr) 1.1fr;gap:36px}
.foot-grid h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:16px;font-weight:600}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.foot-grid a{color:#BFB2C5;text-decoration:none}
.foot-grid a:hover{color:#fff}
.foot-grid .note{color:#9C8FA3}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line-dark);margin-top:56px;padding-top:24px;color:#9C8FA3;font-size:.8rem}
.foot-bottom a{color:#BFB2C5}
.social{display:flex;gap:10px}
.social a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-dark);display:grid;place-items:center;color:#D9CEDD}
.social a:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3)}

/* ---------- cards & badges ---------- */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm)}
.card--ivory{background:var(--ivory);box-shadow:none}
.card--lift{transition:box-shadow .2s,border-color .2s}
.card--lift:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.card h3{margin-bottom:.45em}
.card p:last-child{margin-bottom:0}
.icon-tile{width:48px;height:48px;border-radius:12px;background:linear-gradient(145deg,var(--gold-wash),var(--gold-soft));color:var(--gold-ink);display:grid;place-items:center;margin-bottom:18px;font-size:1.3rem;border:1px solid rgba(201,154,46,.25)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--ivory);color:var(--plum);border:1px solid var(--border);letter-spacing:.005em;white-space:nowrap}
.badge--ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.badge--warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.badge--info{background:var(--info-bg);color:var(--info);border-color:transparent}
.badge--err{background:var(--err-bg);color:var(--err);border-color:transparent}
.badge--gold{background:var(--gold-soft);color:var(--gold-ink);border-color:transparent}
.badge--pending{background:transparent;border:1px dashed var(--border-strong);color:var(--muted)}
.page-hero .badge{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.18)}
.page-hero .badge--gold{background:rgba(201,154,46,.2);color:var(--gold-300);border-color:rgba(201,154,46,.35)}
.chip{font:500 .85rem var(--font-sans);padding:9px 16px;border-radius:8px;border:1px solid var(--border-strong);background:var(--white);color:var(--plum);cursor:pointer;transition:border-color .15s}
.chip:hover{border-color:var(--plum)}
.chip[aria-pressed="true"]{background:var(--plum);color:#fff;border-color:var(--plum)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.check-list li{display:flex;gap:12px;align-items:flex-start}
.check-list .ic{color:var(--gold-500);margin-top:.22em;stroke-width:2.4}
.note{font-size:.85rem;color:var(--muted)}
.placeholder-note{display:flex;gap:10px;align-items:flex-start;background:var(--warn-bg);color:var(--warn);border-radius:var(--r-sm);padding:12px 14px;font-size:.84rem;margin:20px 0;border-left:3px solid var(--warn)}

/* ---------- inner page hero (dark) ---------- */

.page-hero{background:linear-gradient(135deg,var(--plum-900) 0%,var(--plum-800) 55%,var(--plum-700) 100%);color:#D6CADB;padding:clamp(48px,6vw,84px) 0 clamp(44px,5vw,68px);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold-rule);opacity:.85}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.2rem,4.4vw,3.4rem);margin-bottom:.4em;color:#fff;max-width:20ch}
.page-hero .lead{color:#D6CADB;max-width:60ch}
.page-hero 
.crumbs{font-size:.8rem;color:#A99BB0;margin-bottom:22px;display:flex;gap:10px;flex-wrap:wrap}
.crumbs a{color:#D6CADB;text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}

/* ---------- home hero (dark) ---------- */
.hero{background:radial-gradient(90% 120% at 85% 0%,var(--plum-600) 0%,rgba(81,41,90,0) 55%),linear-gradient(160deg,var(--plum-800),var(--plum-950));color:#D6CADB;position:relative;overflow:hidden}
.hero 
.slide-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;padding-top:clamp(48px,6vw,88px);padding-bottom:28px;position:relative;z-index:1}
.hero h1{color:#fff}
.hero h1 .gold{color:var(--gold-300)}
.hero p.lead{margin:24px 0 36px;color:#D6CADB;max-width:54ch}
.hero .kicker{color:var(--gold-300)}
.trust{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:28px;border-top:1px solid var(--line-dark)}
.trust div{display:flex;gap:12px;align-items:center;font-size:.84rem;font-weight:500;color:#E9E0EC;max-width:250px;line-height:1.35}
.trust .ic{width:34px;height:34px;padding:8px;border-radius:10px;background:rgba(201,154,46,.16);color:var(--gold-300);border:1px solid rgba(201,154,46,.3)}
.hero-art{position:relative;padding:28px 0 0 6%}
.sub-card{position:relative;background:var(--white);border:1px solid rgba(255,255,255,.6);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:18px;color:var(--body)}
.sub-card header{display:flex;justify-content:space-between;align-items:start;gap:12px}
.sub-card h3{font-family:var(--font-sans);font-size:1rem;font-weight:600;margin:0;letter-spacing:-.005em}
.wave{display:flex;align-items:center;gap:3px;height:56px}
.wave i{display:block;width:4px;border-radius:2px;background:var(--border-strong)}
.wave i.on{background:var(--gold-500)}
.mini-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:.72rem;text-align:center;color:var(--muted)}
.mini-steps span{padding-top:10px;border-top:3px solid var(--border)}
.mini-steps .done{border-color:var(--gold-500);color:var(--plum)}
.mini-steps .now{border-color:var(--plum);color:var(--plum);font-weight:600}
.verify-strip{display:flex;align-items:center;gap:10px;background:var(--ivory);border:1px solid var(--border);border-radius:10px;padding:11px 14px;font-size:.8rem;margin-top:auto}
.verify-strip .ic{color:var(--ok)}
.verify-strip code{font:600 .78rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--plum);margin-left:auto}
.float-tag{position:absolute;left:-18px;bottom:-16px;z-index:2;background:linear-gradient(180deg,#D4A63A,#C4952A);color:var(--plum-900);font-weight:600;font-size:.8rem;padding:10px 14px;border-radius:10px;display:flex;gap:8px;align-items:center;box-shadow:0 14px 28px -12px rgba(0,0,0,.55)}

/* credibility strip that overlaps the hero */
.strip{position:relative;z-index:3;margin-top:-64px}
.strip-in{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);display:grid;grid-template-columns:repeat(4,1fr)}
.strip-item{padding:28px 28px;display:flex;gap:16px;align-items:flex-start;border-left:1px solid var(--border)}
.strip-item:first-child{border-left:0}
.strip-item .icon-tile{margin:0;flex:none;width:44px;height:44px}
.strip-item h4{margin:0 0 4px;color:var(--plum)}
.strip-item p{margin:0;font-size:.85rem;line-height:1.5}

/* ---------- category cards ---------- */
.cat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s,transform .2s;box-shadow:var(--shadow-sm)}
.cat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.cat-art{aspect-ratio:5/4;background:radial-gradient(80% 90% at 50% 0%,var(--plum-600),rgba(81,41,90,0) 70%),linear-gradient(160deg,var(--plum-800),var(--plum-950));display:grid;place-items:center;position:relative;border-bottom:2px solid var(--gold-500)}
.cat-art svg{width:48%;color:var(--gold-300);stroke-width:2.6}
.cat-art .badge{position:absolute;left:12px;top:12px}
.cat-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px}
.cat-body h3{margin:0;font-size:1.2rem}
.cat-body span{font-size:.82rem;color:var(--muted);line-height:1.45}
.cat-card[hidden]{display:none}

/* ---------- syllabus & audio ---------- */
.syl-card{background:var(--white);border-radius:var(--r-md);padding:18px;position:relative;overflow:hidden;min-height:220px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border);color:var(--body);box-shadow:var(--shadow-sm)}
.syl-top{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border)}
.syl-card h4{font-family:var(--font-display);font-weight:650;font-size:1rem;color:var(--plum);margin:0;line-height:1.2}
.lines{display:grid;gap:8px}
.lines i{display:block;height:6px;border-radius:3px;background:#ECE6EE}
.lines i:nth-child(2){width:88%}.lines i:nth-child(3){width:70%}.lines i:nth-child(4){width:92%}
.wm{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.wm span{font:700 1.8rem/1 var(--font-sans);letter-spacing:.08em;color:rgba(44,18,48,.085);transform:rotate(-24deg);white-space:nowrap}
.syl-card .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;position:relative}
.syl-card.is-locked .lines{filter:blur(1.5px);opacity:.8}
.syl-card.is-open{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok) inset,var(--shadow-sm)}
.syl-card.is-open .wm{display:none}
.syl-card.is-open .lines i{background:var(--gold-soft)}
.lock{color:var(--plum)}
.detail-audio-panel{margin-top:20px}.detail-audio-panel h3{margin-bottom:8px}.detail-audio-grid{grid-template-columns:minmax(0,420px)}.audio-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:var(--shadow-sm)}
.audio-card header{display:flex;justify-content:space-between;align-items:start;gap:8px}
.audio-card h4{margin:0;font-size:.95rem}
.audio-card small{color:var(--muted);font-size:.78rem}
.play{width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,#D4A63A,#C4952A);color:var(--plum-900);border:0;display:grid;place-items:center;cursor:pointer;flex:none;box-shadow:0 6px 14px -8px rgba(143,106,20,.8)}
.play:hover{background:linear-gradient(180deg,#DDB04A,#CB9C30)}
.play[disabled]{background:var(--border);color:var(--muted);cursor:not-allowed;box-shadow:none}
.audio-card .wave{height:40px}
.audio-card .wave i{width:3px}
.time{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.audio-card.is-playing{border-color:var(--gold-500);box-shadow:0 0 0 1px var(--gold-500) inset}
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:20px;overflow-x:auto;padding:4px 4px 10px;margin:-4px}

/* ---------- steps / journey ---------- */
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:0;list-style:none;padding:0;margin:0;position:relative}
.step{padding:0 10px;text-align:center;font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}
.step::before{content:"";position:absolute;top:27px;left:-50%;width:100%;height:1px;background:repeating-linear-gradient(90deg,var(--border-strong) 0 6px,transparent 6px 12px);z-index:0}
.step:first-child::before{display:none}
.step .icon-tile{margin:0;border-radius:50%;width:56px;height:56px;background:var(--white);border:1px solid var(--border-strong);box-shadow:0 0 0 6px var(--ivory);position:relative;z-index:1;color:var(--plum)}
.section--white .step .icon-tile{box-shadow:0 0 0 6px var(--white)}
.step h4{font-size:.88rem;margin:0;color:var(--plum)}
.step p{margin:0;font-size:.8rem;color:var(--body);line-height:1.5}
.step .n{font-size:.72rem;font-weight:700;color:var(--gold-ink)}
.steps--num{gap:16px}
.steps--num .step{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:20px 16px;text-align:left;align-items:flex-start;box-shadow:var(--shadow-sm)}
.steps--num .step::before{display:none}
.steps--num .n{width:30px;height:30px;border-radius:8px;background:var(--plum);color:var(--gold-300);display:grid;place-items:center;font-size:.82rem;font-family:var(--font-display)}

/* tracker (stages) */
.tracker{display:grid;grid-template-columns:repeat(7,1fr);gap:0;list-style:none;margin:0;padding:0;position:relative}
.tracker li{position:relative;text-align:center;font-size:.78rem;padding:0 4px;color:var(--muted)}
.tracker li::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--border);z-index:0}
.tracker li:first-child::before{display:none}
.tracker .dot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;background:var(--white);border:2px solid var(--border-strong);display:grid;place-items:center;margin:0 auto 8px;font-size:.78rem;font-weight:700}
.tracker .done{color:var(--plum)} .tracker .done::before{background:var(--gold-500)}
.tracker .done .dot{background:var(--gold-500);border-color:var(--gold-500);color:var(--plum-900)}
.tracker .now{color:var(--plum);font-weight:700}
.tracker .now::before{background:var(--gold-500)}
.tracker .now .dot{background:var(--plum);border-color:var(--plum);color:#fff;box-shadow:0 0 0 4px var(--gold-soft)}

/* ---------- accordion ---------- */
.accordion{display:grid;gap:12px;align-items:start}
.acc{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:border-color .15s}
.acc:hover,.acc[open]{border-color:var(--border-strong)}
.section--white .acc{background:var(--ivory);box-shadow:none}
.acc summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:600;font-size:.95rem;color:var(--plum);display:flex;justify-content:space-between;gap:12px;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold-ink);font-weight:400}
.acc[open] summary::after{content:"–"}
.acc .acc-body{padding:0 20px 20px;font-size:.92rem}
.acc .acc-body p{margin-bottom:.6em}
.acc[hidden]{display:none}

/* ---------- certificate & verify ---------- */
.cert{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow-md)}
.cert-in{border:1.5px solid var(--gold-500);outline:1px solid rgba(201,154,46,.35);outline-offset:-8px;padding:34px 28px;text-align:center;display:grid;gap:10px;justify-items:center;background:radial-gradient(100% 80% at 50% 0%,#FFFDF6,#FBF5E4)}
.cert .brand-name{font-size:1.2rem}
.cert small{letter-spacing:.16em;font-size:.66rem;color:var(--gold-ink);text-transform:uppercase;font-weight:600}
.cert .who{font-family:var(--font-display);font-size:2rem;color:var(--plum);line-height:1.1}
.cert-foot{display:flex;justify-content:space-between;align-items:end;width:100%;margin-top:16px;font-size:.78rem;color:var(--muted)}
.seal{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ECCB74,var(--gold-500) 70%);display:grid;place-items:center;color:var(--plum-900);box-shadow:0 4px 10px -4px rgba(143,106,20,.7)}
.qr{width:64px;height:64px;color:var(--plum)}
.qr-panel{background:linear-gradient(160deg,var(--plum-800),var(--plum-950));color:#D6CADB;border-radius:var(--r-lg);padding:36px 32px;text-align:center;box-shadow:var(--shadow-lg);border-top:3px solid var(--gold-500)}
.qr-panel h3{color:#fff}
.qr-panel p{margin-left:auto;margin-right:auto}
.qr-box{background:#fff;border-radius:14px;width:176px;height:176px;margin:20px auto;display:grid;place-items:center;color:var(--plum)}
.qr-box .qr{width:140px;height:140px}

/* ---------- forms ---------- */
.field{display:grid;gap:7px;margin-bottom:18px}
.field label{font-size:.84rem;font-weight:600;color:var(--plum)}
.field .hint{font-size:.78rem;color:var(--muted)}
.field .err{font-size:.8rem;color:var(--err);display:none}
.input,.select,.textarea{width:100%;font:400 .95rem var(--font-sans);color:var(--plum);background:var(--white);border:1px solid var(--border-strong);border-radius:var(--r-btn);padding:13px 14px;min-height:48px;transition:border-color .15s,box-shadow .15s}
.textarea{min-height:120px;resize:vertical}
.input::placeholder,.textarea::placeholder{color:#A39AA8}
.input:hover,.select:hover,.textarea:hover{border-color:#B9AA95}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus)}
.field.is-error .input,.field.is-error .select,.field.is-error .textarea{border-color:var(--err);background:#FFF9F8}
.field.is-error .err{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-grid .full{grid-column:1/-1}
.alert{display:flex;gap:12px;align-items:flex-start;border-radius:var(--r-sm);padding:14px 16px;font-size:.9rem;margin-bottom:18px;border-left:3px solid currentColor}
.alert .ic{margin-top:.15em}
.alert--ok{background:var(--ok-bg);color:#1E5B3B}
.alert--err{background:var(--err-bg);color:#7D211C}
.alert--info{background:var(--info-bg);color:#234A7F}
.alert--warn{background:var(--warn-bg);color:var(--warn)}
.alert[hidden]{display:none}
.tabs{display:inline-flex;background:var(--white);border:1px solid var(--border);border-radius:var(--r-btn);padding:4px;gap:2px;margin-bottom:28px;flex-wrap:wrap}
.tab{border:0;background:none;font:600 .86rem var(--font-sans);padding:10px 18px;border-radius:7px;color:var(--plum);cursor:pointer}
.tab:hover{background:var(--ivory)}
.tab[aria-selected="true"]{background:var(--plum);color:#fff}
[role=tabpanel][hidden]{display:none}
.drop{border:1.5px dashed var(--border-strong);border-radius:var(--r-md);padding:32px;text-align:center;background:var(--ivory);display:grid;gap:10px;justify-items:center}
.drop.is-disabled{opacity:.6}
.progress{height:8px;background:var(--border);border-radius:99px;overflow:hidden;width:100%}
.progress i{display:block;height:100%;background:var(--gold-rule);width:0;transition:width .3s}

/* ---------- tables / stats / dashboards ---------- */
.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--white);box-shadow:var(--shadow-sm)}
table.t{width:100%;border-collapse:collapse;font-size:.88rem;min-width:560px}
.t th{text-align:left;background:var(--plum);color:#F3EAF5;font-weight:600;font-size:.78rem;letter-spacing:.03em;padding:14px 18px;white-space:nowrap}
.t td{padding:15px 18px;border-top:1px solid var(--border);vertical-align:middle}
.t tbody tr:first-child td{border-top:0}
.t tbody tr:hover{background:var(--ivory)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:20px 22px;border-top:3px solid var(--gold-500);box-shadow:var(--shadow-sm);min-width:0}
.stat small{display:block;font-size:.78rem;color:var(--muted);margin-bottom:6px;font-weight:500}
.stat b{font:700 2rem/1 var(--font-display);letter-spacing:-.02em;color:var(--plum)}
.dash{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm);position:relative}
.panel h3{font-size:1.2rem;display:flex;align-items:center;gap:10px}
.panel h3 .ic{color:var(--gold-700)}
.panel+.panel{margin-top:20px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:.9rem;margin:0}
.kv dt{color:var(--muted)} .kv dd{margin:0;color:var(--plum);font-weight:500}
.state-bar{background:linear-gradient(90deg,var(--plum-900),var(--plum-700));color:#fff;border-radius:var(--r-md);padding:14px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:28px;border-left:3px solid var(--gold-500)}
.state-bar label{font-size:.82rem;color:#D6CADB}
.state-bar .select{width:auto;min-width:260px;min-height:40px;padding:8px 12px}
.state-bar .badge{margin-left:auto;background:rgba(201,154,46,.2);color:var(--gold-300);border-color:rgba(201,154,46,.35)}
.drawer{position:fixed;inset:0;z-index:80;display:none}
.drawer.is-open{display:block}
.drawer-bg{position:absolute;inset:0;background:rgba(23,10,27,.6)}
.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(440px,100%);background:var(--white);padding:32px;overflow:auto;border-left:3px solid var(--gold-500)}
.empty{text-align:center;padding:56px 20px;color:var(--muted)}
.empty h4{color:var(--plum);font-family:var(--font-display);font-weight:650;font-size:1.25rem}
.empty p{margin-left:auto;margin-right:auto}
.dash-head{background:var(--white);border-bottom:1px solid var(--border)}

/* ---------- partner / kit / cta ---------- */
.partner{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(160deg,var(--plum-800),var(--plum-950));box-shadow:var(--shadow-lg);border-top:3px solid var(--gold-500)}
.partner-art{background:radial-gradient(90% 100% at 0% 100%,var(--plum-600),rgba(81,41,90,0) 70%);min-height:340px;display:grid;place-items:center;padding:40px;position:relative}
.partner-body{padding:clamp(32px,4.5vw,64px)}
.partner-body h2,.partner-body h3{color:#fff}
.partner-body p{color:#D6CADB}
.partner-body .kicker{color:var(--gold-300)}
.partner-body .check-list li{color:#fff}
.partner-body .check-list .ic{color:var(--gold-300)}
.kit{background:linear-gradient(145deg,var(--gold-wash),var(--sand));border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 32px;display:grid;place-items:center}
.kit-book{background:#fff;border-radius:var(--r-md);padding:24px;width:min(330px,100%);box-shadow:var(--shadow-md);position:relative;border-top:3px solid var(--gold-500)}
.kit-book .prep{background:var(--gold-wash);border:1px solid rgba(201,154,46,.3);border-radius:var(--r-sm);padding:14px;text-align:center;margin:16px 0}
.kit-book .prep b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--plum)}
.kit-audio{background:var(--plum);color:#fff;border-radius:var(--r-md);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;width:min(360px,100%);margin-top:-18px;position:relative;font-size:.85rem;box-shadow:var(--shadow-md)}
.cta-wrap{padding:0 0 var(--sec-y);background:var(--ivory)}
.cta-card{background:linear-gradient(120deg,var(--plum-900),var(--plum-700));border-radius:var(--r-lg);padding:clamp(36px,5vw,64px);display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);border-top:3px solid var(--gold-500)}
.cta-card 

.cta-card h2{color:#fff !important;margin:0 0 10px;font-size:clamp(1.6rem,3vw,2.3rem)}
.cta-card p{margin:0;color:#D6CADB}
.hall{background:#fff;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);padding:22px}

/* wizard (booking) */
.wizard{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.wiz-steps{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.wiz-steps span{flex:1;min-width:110px;font-size:.8rem;padding-top:10px;border-top:4px solid var(--border);color:var(--muted);font-weight:500}
.wiz-steps .done{border-color:var(--gold-500);color:var(--plum)}
.wiz-steps .now{border-color:var(--plum);color:var(--plum);font-weight:700}
.opt{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;background:#fff;transition:border-color .15s}
.opt:hover{border-color:var(--plum)}
.opt input{accent-color:var(--plum);width:18px;height:18px}
.opt:has(input:checked){border-color:var(--plum);background:var(--gold-wash);box-shadow:0 0 0 1px var(--plum) inset}
.opt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.summary{position:sticky;top:104px}
.sum-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border);font-size:.9rem}
.sum-line:first-of-type{border-top:0}
.sum-line b{color:var(--plum);text-align:right}
.hidden{display:none!important}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .foot-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(4,1fr);row-gap:28px}
  .step::before{display:none}
  .tracker{grid-template-columns:repeat(4,1fr);row-gap:16px}
  .tracker li::before{display:none}
  .g6{grid-template-columns:repeat(3,1fr)} .g5{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(2,1fr)}
  .strip-in{grid-template-columns:repeat(2,1fr)}
  .strip-item:nth-child(3){border-left:0}
  .strip-item:nth-child(n+3){border-top:1px solid var(--border)}
}
@media (max-width:860px){
  :root{--pad-x:24px}
  .slide-grid,.split,.split--even,.partner,.dash,.wizard,.brand-band{grid-template-columns:minmax(0,1fr)}
  .hero-art{padding-left:0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:1fr 1fr}
  .summary{position:static}
  .topbar .links{gap:14px}
}
@media (max-width:600px){
  :root{--pad-x:18px}
  .g2,.g3,.g4,.form-grid,.opt-grid{grid-template-columns:1fr}
  .g6,.g5{grid-template-columns:repeat(2,1fr)}
  .steps,.tracker{grid-template-columns:repeat(2,1fr)}
  .steps--num{grid-template-columns:1fr}
  .strip-in{grid-template-columns:1fr}
  .strip-item{border-left:0;border-top:1px solid var(--border)}
  .strip-item:first-child{border-top:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .site-header .container{gap:12px}
  .head-actions .btn{padding:11px 14px}
  .topbar .tagline{display:none}
  .state-bar .badge{margin-left:0}
  .state-bar .select{min-width:0;width:100%}.float-tag{left:12px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ================= V3: change request ================= */
.brand-logo{height:54px;width:auto;flex:none}
.site-footer .brand-logo{height:60px}
.center{text-align:center}
.caps{text-transform:uppercase;letter-spacing:.02em;font-size:.92em}
.caps-k{text-transform:uppercase;letter-spacing:.14em}




/* slider */
.slider{padding-bottom:clamp(96px,8vw,120px)}
.slides{display:grid}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.slide.is-active{opacity:1;visibility:visible}
.slide h1{font-size:clamp(2.2rem,4.3vw,3.5rem);line-height:1.05}
.slide-h{font-family:var(--font-display);font-weight:800;font-size:clamp(2.1rem,4.2vw,3.3rem);line-height:1.1;letter-spacing:-.03em;color:#fff;margin:0 0 .4em}
.slide .lead{margin:20px 0 32px;color:#D6CADB;max-width:52ch}
.slide-grid--one>div{max-width:760px}
.slide-art{display:grid;place-items:center;position:relative}
.slide-logo img{width:min(100%,380px);height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.slide-books img{width:100%;height:auto;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg)}
.vids{position:absolute;right:14px;bottom:-22px;display:flex;gap:12px}
.vid{width:clamp(110px,14vw,160px);aspect-ratio:16/9;border:2px solid #fff;border-radius:10px;overflow:hidden;position:relative;cursor:pointer;padding:0;background:var(--plum-900);box-shadow:0 12px 24px -10px rgba(0,0,0,.6)}
.vid img{width:100%;height:100%;object-fit:cover}
.vplay{position:absolute;inset:0;display:grid;place-items:center;color:var(--plum-900)}
.vplay::before{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:var(--gold-300)}
.vplay .ic{position:relative}
.slider-ui{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.sl-btn{width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.07);color:#fff;display:grid;place-items:center;cursor:pointer}
.sl-btn:hover{background:rgba(255,255,255,.16)}
.flip{transform:rotate(180deg)}
.dots{display:flex;gap:8px;padding:0 6px}
.dot-btn{width:30px;height:8px;border-radius:4px;background:rgba(255,255,255,.3);border:0;cursor:pointer;padding:0}
.dot-btn[aria-current="true"]{background:var(--gold-300);width:46px}
.sl-pause{margin-left:8px}
.sl-pause .ic-playi{display:none}
.slider.is-paused .sl-pause .ic-pause{display:none}
.slider.is-paused .sl-pause .ic-playi{display:inline-flex}

/* stats strip */
.stat-strip{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);display:grid;grid-template-columns:repeat(3,1fr)}
.ss-item{display:flex;gap:18px;align-items:center;padding:26px 30px;border-left:1px solid var(--border)}
.ss-item:first-child{border-left:0}
.ss-item .icon-tile{margin:0;flex:none}
.ss-item b{display:block;font:700 1.1rem/1.25 var(--font-display);letter-spacing:-.01em;color:var(--plum)}
.ss-item b.ss-num{font-size:2rem;line-height:1;letter-spacing:-.03em}
.ss-item span:not(.icon-tile){display:block;font-size:.85rem;color:var(--muted);margin-top:4px}

/* category cards with photography */
.cat-grid{gap:28px}
.cat-art{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.cat-art.has-img{background:#fff;border-bottom:2px solid var(--gold-500);overflow:hidden}
.cat-art.has-img img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;transition:none}
.cat-art img{width:100%;height:100%;object-fit:cover;transition:none}
/* Portrait syllabus/examination posters must remain completely visible inside cards. */
.cat-art.has-img img[src$="carnatic-vocal.jpg"],.cat-art.has-img img[src$="freestyle-dance.jpg"]{object-fit:contain!important;width:100%;height:100%;background:#fff}
/* Detail-page covers: never crop portrait examination artwork. */
.cover-slot{display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;border-radius:12px}
.cover-slot img{width:100%;height:auto;max-height:720px;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:12px;display:block}
.cat-card:hover .cat-art img{transform:scale(1.03)}
.cat-card .cat-art{overflow:hidden}
.cat-body{flex-direction:row;justify-content:space-between;align-items:center;padding:18px 22px}
.cat-body .ic{color:var(--gold-700);transition:transform .15s}
.cat-card:hover .cat-body .ic{transform:translateX(4px)}

/* journey */
.journey{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.jstep{display:flex;gap:18px;background:var(--ivory);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}
.jn{font:700 1.9rem/1 var(--font-display);letter-spacing:-.03em;color:var(--gold-500);min-width:2.2ch}
.jstep h4{margin:0 0 6px;color:var(--plum);font-size:1rem}
.jstep p{margin:0;font-size:.88rem;line-height:1.55}

/* customised book mock (partner section) */
.cbook{width:min(250px,72%);aspect-ratio:3/4;background:#fff;border-radius:6px 12px 12px 6px;position:relative;padding:26px 52px 26px 24px;box-shadow:0 30px 50px -20px rgba(0,0,0,.6);transform:rotate(-3deg);color:var(--plum)}
.cbook-band{position:absolute;right:0;top:0;bottom:0;width:36px;background:linear-gradient(#7E5FC4,#5A48A6);color:#fff;font-size:.62rem;font-weight:600;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;border-radius:0 12px 12px 0}
.cbook-logo{width:84px;height:44px;border:1.5px dashed var(--border-strong);display:grid;place-items:center;font-size:.66rem;color:var(--muted);margin:0 0 18px auto}
.cbook-big{font:800 2.3rem/.95 var(--font-sans);background:linear-gradient(180deg,#F58A3A,#C24F9E);-webkit-background-clip:text;background-clip:text;color:transparent}
.cbook-inst{position:absolute;left:24px;bottom:20px;font-weight:600;font-size:.74rem}

/* certificate (IMDDC institution-branded format) */
.cert{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:0;box-shadow:var(--shadow-md);margin:0;overflow:hidden}
.cert-in{border:0;outline:0;background:#fff;padding:30px 28px 0;text-align:center;display:grid;gap:4px;justify-items:center;color:#1d1d1d;font-size:.82rem}
.cert-inst{display:flex;align-items:center;gap:12px;margin-bottom:10px;color:var(--plum)}
.cert-inst-logo{width:44px;height:44px;border-radius:50%;border:1.5px dashed var(--border-strong);display:grid;place-items:center;color:var(--muted)}
.cert-inst b{display:block;font-family:var(--font-display);font-weight:700;font-size:1rem;text-align:left}
.cert-inst small{display:block;font-size:.66rem;color:var(--muted);text-align:left}
.cert-name{font-weight:700;font-size:1rem}
.cert-line{font-size:.78rem}
.cert-title{font:700 1.15rem/1.2 var(--font-sans);color:#8F6A14}
.cert-level{font-weight:700;margin-top:6px}
.cert-cat{font:700 1.2rem/1.2 var(--font-sans)}
.cert-grade{font-weight:700;margin:6px 0}
.cert-meta{margin:6px 0;line-height:1.55;font-size:.78rem}
.cert-meta span{font-size:.74rem}
.cert-issued{font-size:.78rem;line-height:1.5}
.cert-issued b{display:block;color:#8F6A14;font-size:1rem}
.cert-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;width:100%;margin-top:18px;padding:0 4px 16px;text-align:left}
.cert-org{display:flex;gap:8px;align-items:center;font-size:.62rem;line-height:1.25}
.cert-sign{text-align:right;font-size:.62rem;line-height:1.3;max-width:42%}
.cert-sign i{display:block;font-family:var(--font-sans);color:var(--muted);border-bottom:1px solid var(--border-strong);margin-bottom:4px;padding-bottom:2px}
.cert-sign b{display:block;font-size:.72rem}
.cert::after{content:"";display:block;height:14px;background:linear-gradient(90deg,#1F5B3A,#C99A2E 60%,#1F5B3A)}

/* hall ticket (IMDDC Digital Examination format) */
.ticket{background:#fff;border:1px solid #8a8a8a;color:#1d1d1d;font-size:.84rem;max-width:760px;margin:0 auto}
.ticket-head{display:flex;align-items:center;gap:18px;padding:14px 18px;border-bottom:1px solid #8a8a8a}
.ticket-head>div:nth-child(2){flex:1;text-align:center}
.ticket-head h3{font:700 1.15rem var(--font-sans);color:#111;margin:0 0 4px}
.ticket-head h4{font:700 1.05rem var(--font-sans);color:#111;margin:0 0 6px}
.ticket-head p{margin:0 auto;font-weight:700;font-size:.84rem}
.ticket-photo{width:92px;height:110px;border:1px dashed #999;display:grid;place-items:center;align-content:center;color:#888;font-size:.7rem;flex:none}
.ticket-photo .ic{width:34px;height:34px}
.ticket-t{width:100%;border-collapse:collapse}
.ticket-t th,.ticket-t td{border:1px solid #8a8a8a;padding:8px 10px;text-align:left;font-weight:400;vertical-align:middle}
.ticket-t th{font-weight:500}
.ticket-t td.c{text-align:center}
.ticket-rules{padding:10px 14px 14px}
.ticket-rules ol{margin:6px 0 0;padding-left:22px;line-height:1.55}

/* order page */
.panel.center{max-width:560px;margin:0 auto;padding:40px 32px}
.price-now{font:700 1.4rem var(--font-display);letter-spacing:-.02em;color:var(--plum)}
.price-now small{font:400 .8rem var(--font-sans);color:var(--muted);margin-left:6px}
.price-now s{font-size:1rem;color:var(--muted);margin-right:8px}
.cart-empty{color:var(--muted);font-size:.9rem;padding:8px 0}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;border-top:1px solid var(--border);font-size:.88rem}
.cart-item:first-child{border-top:0}
.cart-item b{color:var(--plum)}
.cart-item .qty{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:8px}
.cart-item .qty button{width:30px;height:30px;border:0;background:none;cursor:pointer;color:var(--plum);font-size:1rem}
.cart-item .qty span{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}
.cart-item .rm{border:0;background:none;color:var(--err);cursor:pointer;font-size:.8rem;padding:0}
.cart-tot{border-top:2px solid var(--plum);margin-top:6px;padding-top:12px}
.cart-tot div{display:flex;justify-content:space-between;padding:3px 0;font-size:.9rem}
.cart-tot .grand{font:700 1.2rem var(--font-display);color:var(--plum);padding-top:8px}
.cart-tot .disc{color:var(--ok);font-weight:600}
.minbar{margin:10px 0 0;font-size:.78rem;color:var(--muted)}
.minbar .progress{height:6px;margin-top:4px}
.minbar.ok .progress i{background:var(--ok)}
.minbar.ok{color:var(--ok)}

/* about */
.commit .card{display:flex;flex-direction:column;gap:2px}
.commit .card p{font-size:.92rem}
.tag-list{list-style:none;padding:0;margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:8px}
.tag-list li{background:var(--white);border:1px solid var(--border-strong);border-radius:8px;padding:5px 12px;font-size:.82rem;font-weight:600;color:var(--plum)}
.lvl-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px}
.lvl-list li{display:flex;justify-content:space-between;gap:12px;background:var(--white);border:1px solid var(--border);border-left:3px solid var(--gold-500);border-radius:8px;padding:12px 14px;font-size:.9rem}
.lvl-list b{color:var(--plum)}
.vm .panel{border-top:3px solid var(--gold-500)}
.tagline-big{font:700 clamp(1.4rem,2.6vw,2rem)/1.25 var(--font-display);letter-spacing:-.02em;color:var(--plum);text-align:center;margin:56px 0 0;text-wrap:balance}
.tagline-big::before{content:"";display:block;width:48px;height:2px;background:var(--gold-rule);margin:0 auto 22px}

/* attractions */
.brand-band{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center;background:var(--white);border:1px solid var(--border);border-top:3px solid var(--gold-500);border-radius:var(--r-lg);padding:clamp(28px,4vw,56px);box-shadow:var(--shadow-md)}
.brand-band h2{margin-bottom:.4em}
.idline{font-weight:600;color:var(--gold-ink);letter-spacing:.02em}
.incl{background:var(--ivory);border:1px solid var(--border);border-radius:var(--r-md);padding:28px}
.eco{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.eco li{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:22px 18px;display:flex;flex-direction:column;gap:6px;font-size:.86rem;box-shadow:var(--shadow-sm)}
.eco b{font:700 1.1rem var(--font-display);letter-spacing:-.01em;color:var(--plum)}
.eco-n{width:30px;height:30px;border-radius:8px;background:var(--plum);color:var(--gold-300);display:grid;place-items:center;font:700 .9rem var(--font-display)}
.reward{display:flex;justify-content:space-between;align-items:center;gap:32px;border-radius:var(--r-lg);padding:clamp(32px,4.5vw,64px);background:linear-gradient(120deg,var(--plum-900),var(--plum-700));position:relative;overflow:hidden;border-top:3px solid var(--gold-500);box-shadow:var(--shadow-lg);flex-wrap:wrap}

.reward 
.reward h2,.reward h2 .caps{color:#fff!important}
.reward .lead{color:#D6CADB;max-width:56ch;margin:0}
.closing .verbs{font:700 clamp(1.1rem,2.2vw,1.5rem) var(--font-display);letter-spacing:-.01em;color:var(--gold-ink);margin:12px auto 20px}

/* detail page */
.cover-slot img{width:100%;border-radius:12px;aspect-ratio:4/3;object-fit:cover}
.cover-slot .cat-art{border-radius:12px;border:0;aspect-ratio:4/3}
.idx-group{padding:14px 0;border-top:1px solid var(--border)}
.idx-group:first-of-type{border-top:0;padding-top:0}
.idx-group h4{margin:0 0 8px;color:var(--plum)}
.idx-group ul{margin:0;padding-left:20px;display:grid;gap:4px}
#gr-chips .chip{padding:10px 20px}

/* footer contact */
.foot-contact li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.foot-contact .ic{margin-top:.2em;color:var(--gold-300)}
.tbc{color:#9C8FA3;font-style:italic}
.social-list a{display:inline-flex;gap:10px;align-items:center}
.social-list .ic{color:var(--gold-300)}
.site-footer .foot-grid{grid-template-columns:1.5fr .9fr .9fr .9fr 1.4fr .9fr}

@media (max-width:1100px){
  .journey{grid-template-columns:repeat(2,1fr)}
  .eco{grid-template-columns:repeat(3,1fr)}
  .site-footer .foot-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .vids{position:static;margin-top:16px;justify-content:center}
  .slider{padding-bottom:96px}
  .brand-band{gap:28px}
}
@media (max-width:600px){
  .stat-strip{grid-template-columns:1fr}
  .ss-item{border-left:0;border-top:1px solid var(--border)}
  .ss-item:first-child{border-top:0}
  .journey,.eco{grid-template-columns:1fr}
  .site-footer .foot-grid{grid-template-columns:1fr 1fr}
  .ticket-head{flex-wrap:wrap}
  .ticket-t th,.ticket-t td{padding:6px 6px;font-size:.76rem}
  .brand-logo{height:46px}
}
@media (prefers-reduced-motion:reduce){.slide{transition:none}}
@media print{.site-header,.topbar,.site-footer,.cta-wrap,.state-bar{display:none!important}}
p.center{max-width:none}

.cert-fig{margin:0}
.cert-sign small,.cert-inst small{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400;font-size:.62rem}
.cert-sign small{display:block;margin-top:2px}
.subhead{font-size:1.1rem;font-weight:600;color:var(--gold-ink);margin:0 0 18px;letter-spacing:.005em}
.on-dark .subhead,.section--plum .subhead{color:var(--gold-300)}
[hidden]{display:none!important}
.field{align-content:start}
@media (max-width:860px){.slide-logo img{width:min(100%,220px)}.slide-grid{gap:28px}}

/* ================= Examinations page ================= */
.tagline-hero{font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:650;color:var(--gold-300);letter-spacing:-.01em;margin:0 0 18px}
.exam-hero h1{max-width:none}
.pathway{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.plevel{position:relative;background:var(--ivory);border:1px solid var(--border);border-top:4px solid var(--gold-300);border-radius:var(--r-lg);padding:28px 28px 26px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.plevel--2{border-top-color:var(--gold-500)}
.plevel--3{border-top-color:var(--plum)}
.plevel:not(:last-child)::after{content:"";position:absolute;right:-27px;top:50%;width:20px;height:20px;border-top:3px solid var(--gold-500);border-right:3px solid var(--gold-500);transform:translateY(-50%) rotate(45deg);border-radius:2px}
.pnum{font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--gold-ink)}
.plevel h3{margin:6px 0 2px;font-size:1.35rem}
.prange{margin:0 0 4px;font-weight:600;color:var(--muted)}
.pgrades{list-style:none;padding:0;margin:14px 0 22px;display:flex;flex-wrap:wrap;gap:8px}
.pgrades li{background:var(--white);border:1px solid var(--border-strong);border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;color:var(--plum)}
.plevel .link-arrow{margin-top:auto}
.modes{align-items:stretch}
.mode{display:flex;flex-direction:column;gap:6px;padding:32px;border-top:4px solid var(--gold-500)}
.mode-head{display:flex;gap:16px;align-items:center;margin-bottom:10px}
.mode-head .icon-tile{margin:0;flex:none}
.mode-n{display:block;font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--gold-ink)}
.mode h3{margin:2px 0 0;font-size:1.35rem}
.mode>p{margin:0 0 12px;color:var(--body)}
.mode .check-list{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}
.gcard{display:flex;flex-direction:column;gap:12px;padding:28px}
.gcard h3{margin:6px 0 0}
.gcard>p{margin:0}
.gprev{border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#fff}
.gprev img{width:100%;height:auto}
.gmeta{margin:-2px 0 4px!important}
.gcard .row{margin-top:auto;padding-top:6px}
.player{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,var(--plum-800),var(--plum-950));border:1px solid var(--border)}
.player video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.player-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;color:#D6CADB;text-align:center;padding:16px}
.player-empty .ic{width:46px;height:46px;padding:13px;border-radius:50%;background:var(--gold-300);color:var(--plum-900)}
.player-empty b{color:#fff;font-size:1.05rem}
.gv-demo{margin-top:auto;display:grid;gap:8px;justify-items:start;border-top:1px dashed var(--border-strong);padding-top:14px}
.gv-demo label{cursor:pointer}
.gv-demo input:focus-visible+.note{outline:none}
.gv-demo:focus-within label{box-shadow:var(--focus)}
@media (max-width:860px){
  .pathway{grid-template-columns:1fr;gap:34px}
  .plevel:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-27px;transform:translateX(-50%) rotate(135deg)}
}

/* hamburger menu below 1240px (eight menu items need ~1,240px) */
@media (max-width:1240px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--border);flex-direction:column;padding:12px var(--pad-x) 20px;margin:0;gap:2px;box-shadow:var(--shadow-md)}
  .nav.is-open{display:flex}
  .nav a[aria-current="page"]::after{display:none}
  .menu-btn{display:inline-flex;margin-left:auto}
  .head-actions .plain{display:none}
  .nav a{padding:12px 10px;font-size:.92rem}
}

/* Homepage hero typography requested for the first slide */
.hero-brand-title{margin:0 0 12px;font-size:clamp(1.20rem,2.2vw,1.6rem);line-height:1.4;font-weight:250;letter-spacing:.01em;text-transform:none;color:#D4A63A}
.hero-tagline{margin:0 0 22px;font-size:clamp(2.1rem,4.5vw,4.2rem);line-height:1.02;font-weight:800;letter-spacing:-.035em;color:#fff;max-width:12ch}

/* IMDDC homepage banner refinements */
.hero.slider{min-height:calc(100vh - 112px);padding-bottom:28px;display:flex;flex-direction:column;justify-content:center}
.hero.slider .slides{flex:1;align-items:center}
.hero.slider .slide-grid{min-height:calc(100vh - 190px);padding-top:28px;padding-bottom:20px;gap:48px}
.hero.slider .slide-grid--one{grid-template-columns:1fr;min-height:calc(100vh - 220px);align-content:center}
.hero.slider .slide-logo img{width:min(100%,240px);max-height:300px;object-fit:contain}
.hero.slider .slide-content-only{max-width:850px}
.hero.slider .slide:nth-child(2) .slide-grid{grid-template-columns:1fr}
.hero.slider .slide:nth-child(2) .slide-content-only{margin-inline:auto;text-align:center}
.hero.slider .slide:nth-child(2) .row{justify-content:center}
.hero.slider .trust{margin-top:20px;padding-top:16px;gap:14px 24px;flex-wrap:nowrap;justify-content:center;border-top:1px solid var(--line-dark)}
.hero.slider .trust div{max-width:none;white-space:nowrap;font-size:.76rem;gap:7px}
.hero.slider .trust .ic{width:28px;height:28px;padding:6px}

@media (max-width:860px){
  .hero.slider{min-height:calc(100vh - 92px);padding-bottom:22px}
  .hero.slider .slide-grid,.hero.slider .slide-grid--one{min-height:calc(100vh - 165px);padding-top:20px;padding-bottom:14px}
  .hero.slider .slide-logo img{width:min(100%,220px);max-height:270px}
  .hero.slider .trust{flex-wrap:wrap;gap:10px 16px}
  .hero.slider .trust div{white-space:normal}
}

@media (max-width:560px){
  .hero.slider{min-height:auto;padding-bottom:70px}
  .hero.slider .slide-grid,.hero.slider .slide-grid--one{min-height:480px;padding-top:30px;padding-bottom:10px}
  .hero.slider .slide-logo img{width:190px;max-height:230px}
  .hero.slider .trust{justify-content:flex-start}
}

/* Homepage banner matched to the compact About IMDDC hero proportions */
.hero.slider{min-height:0;padding:clamp(42px,5vw,68px) 0 clamp(38px,4.5vw,58px);display:block}
.hero.slider .slides{display:grid;align-items:stretch}
.hero.slider .slide-grid{min-height:0;padding-top:0;padding-bottom:0;gap:48px;align-items:center}
.hero.slider .slide-grid--one{grid-template-columns:1fr;min-height:0;align-content:center}
.hero.slider .slide-logo img{width:min(100%,300px);max-height:360px;object-fit:contain}
.hero.slider .slide-content-only{max-width:760px}
.hero.slider .slide:nth-child(2) .slide-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.hero.slider .slide:nth-child(2) .slide-content-only{margin-inline:0;text-align:left}
.hero.slider .slide:nth-child(2) .row{justify-content:flex-start}
.hero.slider .trust{margin-top:18px;padding-top:14px;gap:10px 20px;flex-wrap:nowrap;justify-content:flex-start;border-top:1px solid var(--line-dark)}
.hero.slider .trust div{max-width:none;white-space:nowrap;font-size:.76rem;gap:7px}
.hero.slider .trust .ic{width:28px;height:28px;padding:6px}
@media (max-width:860px){
  .hero.slider{padding:42px 0 50px}
  .hero.slider .slide-grid{grid-template-columns:1fr;gap:28px}
  .hero.slider .slide:nth-child(2) .slide-grid{grid-template-columns:1fr}
  .hero.slider .slide:nth-child(2) .slide-content-only{text-align:center;margin-inline:auto}
  .hero.slider .slide:nth-child(2) .row{justify-content:center}
  .hero.slider .slide-logo img{width:min(100%,220px);max-height:270px}
  .hero.slider .trust{flex-wrap:wrap;gap:10px 16px}
  .hero.slider .trust div{white-space:normal}
}
@media (max-width:560px){
  .hero.slider{padding:36px 0 44px}
  .hero.slider .slide-logo img{width:190px;max-height:230px}
  .hero.slider .trust{justify-content:flex-start}
}

/* ================= Banner normalization =================
   All inner-page banners use the same dimensions as about.html.
   Decorative ring backgrounds have been removed site-wide.
*/
.page-hero {
  padding: clamp(48px, 6vw, 84px) 0 clamp(44px, 5vw, 68px);
}
.page-hero.tight-hero {
  padding: clamp(48px, 6vw, 84px) 0 clamp(44px, 5vw, 68px);
}
/* Requested: CTA headings inside page containers are always white. */
.cta-wrap .container .cta-card h2{color:#fff !important}

/* ================= Home hero compaction: 75% of the previous height =================
   Everything inside the banner is scaled together (type, logo, book image, highlight row, controls),
   not just the padding. Previous heights -> now: 1440px 629 -> ~472, 1280px 603 -> ~452, 1024px 553 -> ~415,
   768px 914 -> ~686, 390px 974 -> ~730. */
.hero.slider{padding:clamp(30px,3.2vw,44px) 0 clamp(26px,2.9vw,40px);position:relative}
.hero.slider .slide-grid{gap:44px}
.hero-brand-title{margin:0 0 8px;font-size:clamp(1.35rem,2.2vw,1.8rem)}
.hero-tagline{margin:0 0 14px;font-size:clamp(1.95rem,3.3vw,3rem);line-height:1.06;letter-spacing:-.03em;max-width:none}
.hero.slider .slide .lead{margin:0 0 22px;font-size:1rem;line-height:1.55;max-width:60ch}
.hero.slider .slide-h{font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.1;margin:0 0 16px}
.hero.slider .slide-logo img{width:auto;max-width:100%;height:clamp(170px,18vw,240px);max-height:none}
.hero.slider .slide-books img{width:auto;max-width:100%;height:clamp(180px,20vw,265px);margin-inline:auto;border-radius:14px}
.hero.slider .slide .btn{padding:13px 22px;font-size:.9rem}
.hero.slider .trust{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:20px;padding-top:16px;flex-wrap:nowrap}
.hero.slider .trust div{font-size:.76rem;line-height:1.3;gap:8px;white-space:normal;max-width:none}
.hero.slider .trust .ic{width:26px;height:26px;padding:6px;border-radius:8px}
.hero.slider .slider-ui{gap:8px}
.hero.slider .sl-btn{width:36px;height:36px;border-radius:8px}
.hero.slider .dot-btn{height:6px;width:26px}
.hero.slider .dot-btn[aria-current="true"]{width:40px}
@media (min-width:861px){
  /* controls sit in the free bottom-right corner instead of taking their own row */
  .hero.slider>.container{position:absolute;right:0;left:0;bottom:14px;pointer-events:none}
  .hero.slider .slider-ui{justify-content:flex-end;pointer-events:auto}
}
@media (min-width:861px) and (max-width:1180px){
  /* narrower text column wraps more: scale type and artwork down a step */
  .hero.slider{padding-top:38px;padding-bottom:36px}
  .hero.slider .slide-grid{gap:32px}
  .hero-tagline{font-size:1.8rem;margin-bottom:10px}
  .hero.slider .slide .lead{font-size:.9rem;line-height:1.5;margin-bottom:16px}
  .hero.slider .slide-h{font-size:1.9rem}
  .hero.slider .trust{margin-top:14px;padding-top:12px;gap:8px 16px}
  .hero.slider .trust div{font-size:.72rem}
  .hero.slider .slide-logo img{height:150px}
  .hero.slider .slide-books img{height:165px}
}
@media (max-width:860px){
  .hero.slider{padding:42px 0 34px}
  .hero.slider .slide-grid,.hero.slider .slide:nth-child(2) .slide-grid{gap:28px}
  .hero.slider .slide-logo img{height:150px}
  .hero.slider .slide-books img{height:190px}
  .hero.slider .slider-ui{margin-top:20px}
  .hero-tagline{font-size:clamp(1.9rem,6.5vw,2.5rem)}
}
@media (max-width:560px){
  .hero.slider{padding:34px 0 28px}
  .hero.slider .trust{grid-template-columns:1fr}
  .hero.slider .slide .lead{font-size:.95rem}
  .hero.slider .slide-logo img{height:140px}
}

/* ================= Slide 3: sample branded book beside the text ================= */
.hero.slider .slide-cbook{--s:.8;display:grid;place-items:center}
.hero.slider .cbook-wrap{position:relative;width:calc(250px * var(--s));height:calc(333px * var(--s))}
.hero.slider .cbook-wrap .cbook{position:absolute;left:50%;top:50%;margin:0;width:250px;max-width:none;transform:translate(-50%,-50%) scale(var(--s)) rotate(-3deg);transform-origin:center}
@media (min-width:861px) and (max-width:1180px){.hero.slider .slide-cbook{--s:.66}}
@media (max-width:860px){.hero.slider .slide-cbook{--s:.62}}
@media (max-width:560px){.hero.slider .slide-cbook{--s:.58}}

/* ================= Footer: four columns that use the full width ================= */
.site-footer .container{padding-top:52px;padding-bottom:24px}
.site-footer .foot-grid{grid-template-columns:1.7fr 1fr 1.4fr 1fr;gap:36px 56px;align-items:start}
.site-footer .foot-grid>div:first-child .note{max-width:34ch;margin-top:14px}
.site-footer .foot-grid h4{margin-bottom:14px}
.site-footer .foot-grid ul{gap:9px}
.site-footer .foot-bottom{margin-top:36px;padding-top:20px}
@media (max-width:1100px){
  .site-footer .foot-grid{grid-template-columns:repeat(3,1fr);gap:28px 32px}
  .site-footer .foot-grid>div:first-child{grid-column:1 / -1}
  .site-footer .foot-grid>div:first-child .note{max-width:60ch}
}
@media (max-width:600px){
  .site-footer .container{padding-top:36px}
  .site-footer .foot-grid{grid-template-columns:1fr 1fr;gap:24px 20px}
  .site-footer .foot-grid>div:nth-child(2){order:1}
  .site-footer .foot-grid>div:nth-child(4){order:2}
  .site-footer .foot-grid>div:nth-child(3){order:3;grid-column:1 / -1}
  .site-footer .foot-bottom{margin-top:22px;padding-top:16px;gap:10px}
  .site-footer .foot-grid{gap:20px 20px}
  .site-footer .foot-grid h4{margin-bottom:10px}
  .site-footer .foot-grid ul{gap:6px}
  .site-footer .foot-grid>div:first-child .note{margin-top:10px}
  .site-footer .container{padding-bottom:18px}
}

/* ================= Hero height held at 75% of the original V2 height =================
   Slides share one height; content is centred inside it. Values per width: 1440->472, 1280->453, 1024->409, 768->675, 390->746. */
.hero.slider .slides{align-items:center}
.hero.slider .slide{align-self:stretch;display:flex;align-items:center}
.hero.slider .slide>.slide-grid{width:100%}
@media (min-width:1360px){.hero.slider .slides{min-height:420px}.hero.slider .slide-logo img{height:300px}.hero.slider .slide-cbook{--s:.95}.hero.slider .slide-books img{height:280px}}
@media (min-width:1181px) and (max-width:1359px){.hero.slider .slides{min-height:405px}.hero.slider .slide-logo img{height:280px}.hero.slider .slide-cbook{--s:.92}.hero.slider .slide-books img{height:270px}}
@media (min-width:861px) and (max-width:1180px){.hero.slider .slides{min-height:350px}.hero.slider .slide-logo img{height:220px}.hero.slider .slide-cbook{--s:.76}.hero.slider .slide-books img{height:220px}}
@media (max-width:860px){.hero.slider .slides{min-height:541px}.hero.slider .slide-logo img{height:200px}}
@media (max-width:560px){.hero.slider .slides{min-height:626px}.hero.slider .slide-logo img{height:190px}}


/* ================= About page founder banner ================= */
.about-founder-hero .container{position:relative;z-index:1}
.about-founder-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
.about-founder-intro{min-width:0}
.about-founder-intro .lead{max-width:62ch}
.founder-card{
  border:1px solid rgba(212,166,58,.75);
  border-radius:18px;
  padding:clamp(24px,3vw,32px);
  background:rgba(44,18,48,.28);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  color:#fff;
}
.founder-card .kicker{margin-bottom:12px}
.founder-card h2{
  color:#fff;
  font-size:clamp(1.55rem,2.5vw,2rem);
  line-height:1.15;
  margin:0 0 5px;
}
.founder-role{
  color:#D6CADB;
  margin:0;
  font-size:.98rem;
  line-height:1.45;
}
.founder-rule{
  height:1px;
  background:rgba(212,166,58,.55);
  margin:16px 0 18px;
}
.founder-card>p:not(.kicker):not(.founder-role){
  color:#E4DDE6;
  font-size:.94rem;
  line-height:1.7;
  margin:0 0 14px;
}
.founder-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.16);
}
.founder-highlights span{
  color:#F0C95D;
  font-size:.78rem;
  font-weight:600;
  line-height:1.4;
}
@media (max-width:860px){
  .about-founder-grid{grid-template-columns:1fr;gap:30px}
  .founder-card{max-width:none}
}
@media (max-width:600px){
  .founder-card{padding:22px;border-radius:15px}
  .founder-card>p:not(.kicker):not(.founder-role){font-size:.9rem;line-height:1.6}
  .founder-highlights{display:grid;grid-template-columns:1fr;gap:7px}
}


/* IMDDC V6: reduced banner height for About IMDDC and Examination pages */
.imddc-about-page .banner,
.imddc-about-page .hero,
.imddc-about-page .hero-banner,
.imddc-about-page .inner-banner,
.imddc-examination-page .banner,
.imddc-examination-page .hero,
.imddc-examination-page .hero-banner,
.imddc-examination-page .inner-banner {
    min-height: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}


/* Existing banner/hero wrappers detected in the source */
.imddc-about-page .about-founder-hero, .imddc-examination-page .about-founder-hero,
.imddc-about-page .exam-hero, .imddc-examination-page .exam-hero,
.imddc-about-page .page-hero, .imddc-examination-page .page-hero {
    min-height: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}


/* IMDDC V7 - About IMDDC banner matched to the compact height used on other pages */
.imddc-about-page .banner,
.imddc-about-page .hero,
.imddc-about-page .hero-banner,
.imddc-about-page .inner-banner {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.imddc-about-page .banner h1,
.imddc-about-page .hero h1,
.imddc-about-page .hero-banner h1,
.imddc-about-page .inner-banner h1 {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.12 !important;
}

.imddc-about-page .banner h2,
.imddc-about-page .hero h2,
.imddc-about-page .hero-banner h2,
.imddc-about-page .inner-banner h2 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.imddc-about-page .banner p,
.imddc-about-page .hero p,
.imddc-about-page .hero-banner p,
.imddc-about-page .inner-banner p {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    line-height: 1.45 !important;
    font-size: 15px !important;
}

/* Founder panel inside the About banner */
.imddc-about-page .banner .founder,
.imddc-about-page .hero .founder,
.imddc-about-page .hero-banner .founder,
.imddc-about-page .inner-banner .founder {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.imddc-about-page .about-founder-hero
.imddc-about-page .page-hero {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}


/* =========================================================
   Change Request 06 Oct 2026 - final UI enhancements
   ========================================================= */
.brand-sub{color:inherit!important}
.site-header .brand-name{color:var(--plum)}
.site-header .brand-sub{color:var(--plum)!important;font-weight:700}
.site-header .brand-logo{width:50px;height:58px;object-fit:contain}

/* Navigation dropdowns */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop-btn{border:0;background:transparent;color:var(--body);font:inherit;padding:10px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.nav-drop-btn:hover{color:var(--plum)}
.nav-drop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:var(--shadow-lg);display:none;z-index:100}
.nav-drop.is-open .nav-drop-menu{display:grid}
.nav-drop-menu a{padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--body);font-size:.86rem}
.nav-drop-menu a:hover{background:var(--ivory);color:var(--plum)}
@media (max-width:1240px){.nav-drop{display:block}.nav-drop-btn{width:100%;justify-content:space-between;text-align:left;padding:12px 10px}.nav-drop-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--gold-300);border-radius:0;margin:0 0 6px 10px;padding:2px 0 2px 8px}.nav-drop-menu a{padding:9px 10px}.nav-drop.is-open .nav-drop-menu{display:grid}}

/* Compact and consistent inner-page banners */
.page-hero{padding:38px 0 36px!important;min-height:0}
.page-hero h1{font-size:clamp(2rem,3.7vw,3rem)}
.about-founder-hero{padding:30px 0 30px!important}
.about-founder-grid{gap:34px}
.founder-card{padding:24px 26px}
.founder-card>p:not(.kicker):not(.founder-role){font-size:.86rem;line-height:1.5}
.founder-card h2{font-size:clamp(1.45rem,2.4vw,2rem)}
.founder-highlights{font-size:.72rem!important;gap:7px!important}
.imddc-examination-page .page-hero{padding:38px 0 36px!important}

/* Home banner */
.hero-brand-title{font-size:clamp(1.55rem,2.6vw,2.15rem)!important;font-weight:600!important}
.hero.slider .slide-logo img{height:clamp(220px,24vw,330px)!important;width:auto!important}
.hero.slider .slide-grid{align-items:center}

/* Playable category videos */
.cat-video-card{cursor:default}
.video-art{position:relative;overflow:hidden}
.video-art video{display:block;width:100%;height:100%;object-fit:cover}
.video-badge{position:absolute;top:12px;left:12px;background:rgba(44,18,48,.88);color:#fff;border:1px solid rgba(255,255,255,.2);padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:700}
.cat-video-card .cat-body{gap:12px}
.cat-video-card .cat-body>div{min-width:0}
.cat-video-card .cat-body .link-arrow{display:inline-flex;align-items:center;gap:5px}

/* How-to blocks */
.how-grid .card{height:100%}
.how-grid b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--plum);color:var(--gold-300);margin-bottom:10px}

/* Syllabus hero videos */
.syllabus-hero-videos{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:24px}
.mini-video{position:relative;overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#160a1a}
.mini-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.86}
.mini-video span{display:block;font-size:.68rem;font-weight:700;color:#fff;padding:6px 7px;background:rgba(20,8,25,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.syllabus-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:28px;align-items:start}
.syllabus-card-grid{grid-template-columns:repeat(2,1fr)}
.syllabus-cat-card{padding:0;overflow:hidden;cursor:pointer;border:2px solid transparent}
.syllabus-cat-card.is-selected{border-color:var(--gold-500);box-shadow:var(--shadow-md)}
.syllabus-cat-card .video-thumb{position:relative;background:#180b1b;aspect-ratio:16/9}
.syllabus-cat-card .video-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.video-play{position:absolute;right:10px;bottom:10px;width:40px;height:40px;border:0;border-radius:50%;background:var(--gold-300);color:var(--plum-900);cursor:pointer;font-weight:800}
.syllabus-cat-card .cat-body{padding:14px 16px}
.link-button{border:0;background:transparent;color:var(--plum);font:600 .84rem var(--font-sans);padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.syllabus-preview{position:sticky;top:98px}
.preview-media{border-radius:12px;overflow:hidden;margin-bottom:18px;background:#140819}
.preview-media video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.gallery-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gallery-3 img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:8px;border:1px solid var(--border)}
.level-gallery-card{height:100%}

/* Public syllabus detail */
.public-index-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:12px}
.exam-summary{margin-top:18px;background:var(--ivory);border:1px solid var(--border);border-radius:10px;padding:16px}
.exam-summary h4{margin:0 0 6px}
.book-access{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:18px;align-items:center}
.book-access h4{margin:0 0 4px}
.detail-audio-panel audio{display:block}

/* Examination content */
.compact-system-card{padding:22px!important;min-height:0}
.marks-table td:first-child,.marks-table th:first-child{white-space:nowrap;font-weight:700}
.schedule-filter,.fee-panel{padding:20px}
.fee-result{margin-top:18px;padding:18px;border-radius:12px;background:var(--ivory);border:1px solid var(--border);display:grid;gap:5px}
.fee-result strong{font:700 1.6rem var(--font-display);color:var(--plum)}
.fee-result span{font-size:.82rem;color:var(--muted)}
.payment-flow ol{margin:0 0 22px;padding-left:22px;display:grid;gap:10px}
.payment-flow li{font-weight:600}
.fee-notes{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;border-top:1px solid var(--border);padding-top:16px;font-size:.84rem}
.fee-notes b{color:var(--plum)}

/* Awards */
.award-card{height:100%;padding:26px}
.award-card .check-list{margin-top:18px}
.award-card .check-list li{gap:8px;font-size:.9rem}
.awards-section .sec-head{max-width:800px}

@media (max-width:1000px){
  .syllabus-hero-videos{grid-template-columns:repeat(3,1fr)}
  .syllabus-split{grid-template-columns:1fr}
  .syllabus-preview{position:static}
}
@media (max-width:760px){
  .syllabus-hero-videos{grid-template-columns:repeat(2,1fr)}
  .syllabus-card-grid{grid-template-columns:1fr}
  .gallery-3{grid-template-columns:repeat(3,1fr)}
  .book-access{align-items:flex-start;flex-direction:column}
  .public-index-head{flex-direction:column}
}
@media (max-width:520px){
  .syllabus-hero-videos{grid-template-columns:1fr 1fr}
  .gallery-3{grid-template-columns:1fr}
  .page-hero,.about-founder-hero{padding:30px 0 28px!important}
  .hero.slider .slide-logo img{height:180px!important}
}

/* Clickable top-level Syllabus/Exam navigation with separate dropdown arrow */
.nav-drop-link{color:var(--body);font:inherit;text-decoration:none;padding:10px 4px 10px 8px;display:inline-flex;align-items:center}
.nav-drop-link:hover{color:var(--plum)}
.nav-drop-arrow{padding:10px 6px;min-width:28px;justify-content:center}
@media (max-width:1240px){.nav-drop{display:flex;align-items:center;flex-wrap:wrap}.nav-drop-link{padding:12px 4px 12px 10px;flex:1}.nav-drop-arrow{width:auto;justify-content:center}.nav-drop-menu{flex-basis:100%;width:100%}}




/* Syllabus page: single banner video on the right */
.syllabus-banner-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,46%);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.syllabus-banner-video{width:100%;display:flex;justify-content:flex-end}
.syllabus-banner-video video{
  width:100%;
  max-height:360px;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:16px;
  display:block;
}
/* Category cards use videos instead of static images */
.category-card-video{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}
.syllabus-category-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
@media(max-width:900px){
  .syllabus-banner-grid{grid-template-columns:1fr}
  .syllabus-banner-video{justify-content:center}
  .syllabus-banner-video video{max-height:300px}
}


/* Final syllabus video layout */
.syllabus-banner-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,46%);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.syllabus-banner-video{width:100%;display:flex;justify-content:flex-end}
.syllabus-banner-video video{
  width:100%;
  max-height:360px;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:16px;
  display:block;
}
.cat-card .cat-art{overflow:hidden}
.cat-card .category-card-video{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:cover;
  border:0;
}
@media(max-width:900px){
  .syllabus-banner-grid{grid-template-columns:1fr}
  .syllabus-banner-video{justify-content:center}
  .syllabus-banner-video video{max-height:300px}
}

/* Category book selection redesign - 08 October 2026 */
.category-books-section{background:var(--ivory,#faf7f0)}
.category-books-intro{margin-bottom:34px}
.category-books-intro h2{margin:5px 0 6px}
.category-books-intro .subhead{margin:0}
.book-level{margin:0 0 42px}
.book-level:last-child{margin-bottom:0}
.book-level-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:12px}
.book-level-head h2{margin:0}
.book-level-head span{font-size:.82rem;color:var(--muted);font-weight:600}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.book-thumb{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:16px;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease}
.book-thumb:hover,.book-thumb:focus-visible{transform:translateY(-4px)}
.book-thumb:focus-visible{outline:3px solid rgba(201,154,46,.45);outline-offset:4px}
.book-thumb-image{display:block;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.book-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.book-thumb.is-selected .book-thumb-image{border:3px solid var(--gold-500);box-shadow:var(--shadow-md)}
.book-detail-panel{margin-top:12px;scroll-margin-top:100px}
.book-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.book-detail-head h2{margin:4px 0}
.book-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:30px;align-items:start}
.book-detail-main{min-width:0}
.book-detail-cover{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.book-detail-content{min-width:0}
.book-summary{position:sticky;top:104px;padding:22px}
.book-summary .cover-slot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.book-summary h3{display:block;margin-bottom:16px}
.sum-line{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid var(--border);font-size:.9rem}
.sum-line b{text-align:right;color:var(--plum);max-width:65%}
.btn--block{display:flex;width:100%;justify-content:center}
.book-info-section{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--border)}
.book-info-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.book-info-section h3{margin:0 0 10px}
.book-info-section .idx-group{margin:0 0 14px}
.book-info-section .idx-group h4{margin:0 0 5px}
.book-info-section .idx-group ul{margin:0;padding-left:20px}
.book-info-section audio{margin-top:4px}
@media(max-width:760px){.book-grid{grid-template-columns:1fr;gap:16px}.book-detail-layout{grid-template-columns:1fr}.book-summary{position:static}.book-detail-cover{max-width:520px;margin-inline:auto}.book-level-head{align-items:flex-start;flex-direction:column;gap:4px}}


/* Simple selected-book content and preview */
.book-thumb-title{display:block;padding:10px 4px 0;font-weight:700;color:var(--plum);font-size:.95rem}
.book-preview-box{margin-top:16px;padding:18px;background:var(--ivory,#faf7f0);border:1px solid var(--border);border-radius:12px}
.book-preview-box h4{margin:0 0 8px;color:var(--plum)}
.book-preview-box ul{margin:8px 0 0;padding-left:20px;display:grid;gap:5px}


/* ---------- gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-item{margin:0;overflow:hidden;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.gallery-item img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .3s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-caption{padding:14px 16px;font-weight:650;color:var(--plum)}
.gallery-caption span{display:block;margin-top:4px;font-size:.86rem;font-weight:400;color:var(--muted)}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:220px}}

/* Gallery top-level navigation item */
#nav > a[href="gallery.html"]{
  display:inline-block;
  visibility:visible;
  opacity:1;
}

/* =========================================================
   Gallery page - polished layout
   ========================================================= */
.gallery-page{background:var(--ivory)}
.gallery-page .gallery-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(58px,7vw,92px) 0;
  background:linear-gradient(125deg,var(--plum-950) 0%,var(--plum-800) 58%,var(--plum-700) 100%);
  color:#fff;
  border-bottom:3px solid var(--gold-500);
}
.gallery-page .gallery-hero::before,
.gallery-page .gallery-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.gallery-page .gallery-hero::before{width:360px;height:360px;right:-130px;top:-190px;border:1px solid rgba(230,200,120,.22);box-shadow:0 0 0 32px rgba(230,200,120,.035),0 0 0 64px rgba(230,200,120,.025)}
.gallery-page .gallery-hero::after{width:240px;height:240px;left:-150px;bottom:-150px;background:rgba(255,255,255,.025)}
.gallery-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;position:relative;z-index:1}
.gallery-hero-copy{max-width:780px}
.gallery-page .gallery-hero .kicker{color:var(--gold-300);margin-bottom:14px}
.gallery-page .gallery-hero h1{color:#fff;margin-bottom:18px;max-width:780px}
.gallery-page .gallery-hero .lead{color:#D8CDD9;max-width:720px;margin:0;font-size:1.08rem}
.gallery-hero-mark{width:150px;height:150px;border:1px solid rgba(230,200,120,.45);border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;flex:none;color:var(--gold-300);background:rgba(255,255,255,.035);box-shadow:0 20px 50px rgba(0,0,0,.18)}
.gallery-hero-mark span{font:800 1.35rem/1 var(--font-display);letter-spacing:.08em}
.gallery-hero-mark small{font:700 .52rem/1.35 var(--font-sans);letter-spacing:.17em;margin-top:8px}
.gallery-section{padding-top:clamp(58px,7vw,88px);padding-bottom:clamp(58px,7vw,88px)}
.gallery-section-head{margin-bottom:34px;align-items:start}
.gallery-section-head .kicker{margin-bottom:10px}
.gallery-section-head h2{margin-bottom:8px}
.gallery-section-head .subhead{margin:0;color:var(--muted);font-size:1rem;font-weight:500}
.gallery-grid{align-items:stretch}
.gallery-grid--categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-grid--levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-item{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 22px rgba(44,18,48,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.gallery-item:hover{transform:translateY(-5px);box-shadow:0 20px 36px rgba(44,18,48,.13);border-color:#D8C7B0}
.gallery-image{position:relative;overflow:hidden;background:var(--sand);aspect-ratio:16/10}
.gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gallery-item:hover .gallery-image img{transform:scale(1.045)}
.gallery-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,18,48,0) 55%,rgba(44,18,48,.28) 100%);pointer-events:none}
.gallery-tag,.gallery-level{position:absolute;z-index:1;top:14px;left:14px;border-radius:999px;padding:6px 11px;font:700 .68rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--plum);box-shadow:0 3px 10px rgba(44,18,48,.14)}
.gallery-level{background:var(--plum);color:var(--gold-300);width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;font-size:.72rem}
.gallery-caption{padding:18px 19px 20px;display:block;color:var(--plum)}
.gallery-caption strong{display:block;font:700 1.05rem/1.25 var(--font-display);letter-spacing:-.01em}
.gallery-caption span{display:block;margin-top:7px;color:var(--muted);font-size:.88rem;line-height:1.5;font-weight:400}
.gallery-materials{padding-top:clamp(58px,7vw,82px);padding-bottom:clamp(62px,7vw,90px)}
.gallery-closing{padding:0 0 clamp(62px,7vw,90px);background:var(--sand)}
.gallery-closing-card{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:clamp(30px,4vw,50px);border-radius:20px;background:linear-gradient(125deg,var(--plum-950),var(--plum-800));border-top:3px solid var(--gold-500);box-shadow:0 24px 55px rgba(44,18,48,.18)}
.gallery-closing-card .kicker{color:var(--gold-300);margin-bottom:10px}
.gallery-closing-card h2{color:#fff;margin-bottom:10px}
.gallery-closing-card p:not(.kicker){color:#D6CADB;margin:0;max-width:650px}
.gallery-closing-card .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.gallery-closing-card .btn--ghost:hover{color:#fff;background:rgba(255,255,255,.08);border-color:#fff}
.gallery-page .site-footer .foot-grid{grid-template-columns:1.6fr 1fr 1.35fr 1fr;gap:38px 54px}
.gallery-page .site-footer .foot-grid>div:first-child .note{max-width:34ch}
.gallery-page .site-footer .foot-bottom{margin-top:38px}
@media (max-width:900px){
  .gallery-hero-inner{gap:30px}
  .gallery-hero-mark{width:125px;height:125px}
  .gallery-grid--categories,.gallery-grid--levels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-page .site-footer .foot-grid{grid-template-columns:repeat(2,1fr);gap:30px}
}
@media (max-width:680px){
  .gallery-hero-inner{display:block}
  .gallery-hero-mark{display:none}
  .gallery-page .gallery-hero{padding:52px 0 58px}
  .gallery-grid--categories,.gallery-grid--levels{grid-template-columns:1fr;gap:18px}
  .gallery-closing-card{display:block}
  .gallery-closing-card .row{margin-top:22px}
  .gallery-page .site-footer .foot-grid{grid-template-columns:1fr}
  .gallery-page .site-footer .foot-grid>div:first-child .note{max-width:48ch}
}

/* IMDDC Attractions banner - matches the supplied reference artwork.
   The existing page-hero is retained; the artwork is fitted inside it without
   changing the site's container width or the banner's responsive structure. */
.attractions-reference-banner{
  padding:0 !important;
  background:#2c1230 !important;
  overflow:hidden;
}
.attractions-reference-banner .attractions-banner-container{
  max-width:none !important;
  padding:0 !important;
}
.attractions-banner-image{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  object-fit:cover;
}
@media (max-width: 900px){
  .attractions-banner-image{width:100%;height:auto;object-fit:contain;object-position:top center}
}

/* Attractions banner: fixed desktop height and proportions matched to the supplied screenshot. */
.attractions-reference-banner{
  padding:0 !important;
  min-height:0 !important;
  height:425px;
  background:linear-gradient(135deg,#321A38 0%,#3B2243 55%,#4B2C54 100%) !important;
  overflow:hidden;
}
.attractions-reference-banner .attractions-banner-container{
  height:100%;
  display:flex;
  align-items:stretch;
}
.attractions-banner-grid{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:48px;
  align-items:center;
}
.attractions-banner-copy{padding:18px 0 16px;min-width:0}
.attractions-crumbs{font-size:15px;color:#D6CADB;margin-bottom:27px;display:flex;gap:12px;align-items:center}
.attractions-crumbs span{color:#A99BB0}
.attractions-banner-copy h1{color:#fff;font-size:clamp(2.35rem,3.55vw,3.05rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 22px;max-width:none}
.attractions-banner-copy h2{color:#fff;font-size:18px;line-height:1.35;letter-spacing:-.01em;margin:0 0 15px;max-width:650px}
.attractions-banner-copy p{color:#D6CADB;font-size:16px;line-height:1.55;max-width:670px;margin:0}
.attractions-banner-cards{display:grid;gap:18px;align-content:center;min-width:0}
.attraction-mini-card{border:1.5px solid #C99A2E;border-radius:18px;background:rgba(44,18,48,.20);color:#fff;display:flex;align-items:center;min-width:0;box-shadow:inset 0 0 0 1px rgba(230,200,120,.06)}
.attraction-mini-card h3{color:#fff;font-size:18px;line-height:1.25;margin:0 0 5px;letter-spacing:-.01em}
.attraction-mini-card p{color:#EEE7EF;font-size:14px;line-height:1.4;margin:0;max-width:none}
.reward-card{min-height:78px;padding:11px 22px;gap:20px}
.cash-badge{width:58px;height:58px;border-radius:50%;background:#DDB72D;color:#321A38;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1}
.cash-badge strong{font-size:22px;font-weight:700}
.cash-badge span{font-size:11px;font-weight:600;margin-top:3px}
.brand-card{min-height:84px;padding:11px 22px;gap:20px}
.book-mark{width:74px;height:62px;border-radius:9px;background:#FBF8F2;color:#3B2243;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1.05;border:1px solid rgba(255,255,255,.5)}
.book-mark span{border:1px dashed #8F6A14;border-radius:4px;padding:2px 8px;font-size:11px;margin-bottom:5px}
.book-mark small{font-size:11px;text-align:center}
.awards-card{min-height:112px;padding:12px 22px 11px;display:block}
.awards-card>h3{color:#E6C878;margin-bottom:8px}
.award-row{display:flex;align-items:center;gap:16px;margin-top:6px}
.award-row>span{width:34px;height:34px;border-radius:50%;background:#DDB72D;color:#321A38;display:grid;place-items:center;font-size:15px;font-weight:700;flex:none}
.award-row>b{font-size:14px;font-weight:500;color:#fff}
.attractions-banner-image{display:none!important}
@media (max-width:900px){
  .attractions-reference-banner{height:auto;min-height:0!important;padding:42px 0 40px!important}
  .attractions-banner-grid{height:auto;grid-template-columns:1fr;gap:30px}
  .attractions-banner-copy{padding:0}
  .attractions-banner-cards{gap:14px}
}
@media (max-width:600px){
  .attractions-reference-banner{padding:34px 0!important}
  .attractions-banner-copy h1{font-size:2.25rem}
  .attractions-banner-copy h2{font-size:16px}
  .attractions-banner-copy p{font-size:14px}
  .attraction-mini-card{border-radius:14px}
  .reward-card,.brand-card{padding:12px 16px}
  .awards-card{padding:12px 16px}
}

/* Final Attractions banner alignment: keep banner height unchanged, align content to site container, shift cards slightly left and reduce card width. */
.attractions-reference-banner .attractions-banner-container{
  max-width:calc(var(--container) + var(--pad-x)*2) !important;
  padding:0 var(--pad-x) !important;
  margin:0 auto !important;
}
.attractions-banner-grid{
  grid-template-columns:minmax(0,1fr) 600px !important;
  gap:40px !important;
}
.attractions-banner-copy{padding-left:0 !important;}
.attractions-banner-cards{
  width:600px !important;
  max-width:600px !important;
  transform:translateX(-60px);
}
@media (max-width:1100px){
  .attractions-banner-grid{grid-template-columns:minmax(0,1fr) minmax(0,520px) !important;gap:28px !important}
  .attractions-banner-cards{width:520px !important;max-width:520px !important;transform:translateX(-20px)}
}
@media (max-width:900px){
  .attractions-reference-banner .attractions-banner-container{max-width:none !important;padding:0 var(--pad-x) !important}
  .attractions-banner-grid{grid-template-columns:1fr !important;gap:30px !important}
  .attractions-banner-cards{width:100% !important;max-width:none !important;transform:none}
}

/* Second home-page slide video: reduced card size */
.slide-books.slide-video{width:min(100%,440px);justify-self:end}
.slide-books.slide-video video{display:block;width:100%;height:auto;max-height:330px;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg);background:#160d18}
@media (max-width:700px){.slide-books.slide-video{width:min(100%,380px);justify-self:center}.slide-books.slide-video video{max-height:285px}}


/* Third home-page slide all-categories video */
.slide-category-video{width:min(100%,440px);justify-self:end}
.slide-category-video video{display:block;width:100%;height:auto;max-height:330px;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg);background:#160d18}
@media (max-width:700px){.slide-category-video{width:min(100%,380px);justify-self:center}.slide-category-video video{max-height:285px}}


/* About banner layout: founder content below banner and subtle logo on the right */
.about-founder-hero .about-founder-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(32px,5vw,64px);align-items:center}
.about-banner-logo{display:flex;align-items:center;justify-content:center;min-width:0}
.about-banner-logo img{display:block;width:min(100%,440px);height:auto;max-height:470px;object-fit:contain;opacity:.22;filter:grayscale(1);mix-blend-mode:screen}
.about-founder-below{padding-top:44px;padding-bottom:44px}
.about-founder-below .founder-card{max-width:100%;background:#3b2340;color:#fff}
@media(max-width:860px){.about-founder-hero .about-founder-grid{grid-template-columns:1fr;gap:18px}.about-banner-logo img{width:min(70%,300px);max-height:260px}.about-founder-below{padding-top:28px;padding-bottom:28px}}


/* Founder card styling to match the supplied white reference design */
.about-founder-below .founder-card{
  max-width:100%;
  background:#fff;
  color:#5d5661;
  border:1px solid #e6ad3e;
  border-radius:26px;
  padding:clamp(26px,4vw,36px);
  box-shadow:0 16px 42px rgba(38,24,42,.08);
}
.about-founder-below .founder-card .kicker{color:#8b620e;font-weight:700}
.about-founder-below .founder-card h2{color:#3b2340;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.12}
.about-founder-below .founder-role,
.about-founder-below .founder-card>p:not(.kicker):not(.founder-role){color:#5d5661;font-size:1rem;line-height:1.6}
.about-founder-below .founder-rule{background:#e6c17a}
.about-founder-below .founder-highlights span{background:#f5f0e5;color:#4b3b4e}

/* ---------- Mega menu (Syllabus, Exam) + active page highlight ---------- */
.site-header .nav-drop{position:static;display:flex;align-items:center}
.site-header .nav-drop-link{padding:10px 2px 10px 8px;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--plum);position:relative}
.site-header .nav-drop-link:hover{background:var(--ivory);color:var(--plum)}
.nav-drop-arrow{padding:10px 6px;min-width:26px;color:var(--plum);border-radius:8px}
.nav-chev{width:14px;height:14px;transition:transform .2s ease}
.nav-drop.is-open .nav-chev{transform:rotate(180deg)}
/* active page: gold underline on top-level items, also when a menu item inside is the current page */
.nav a[aria-current="page"],.nav .nav-drop-link[aria-current="page"]{font-weight:700;color:var(--plum)}
.nav .nav-drop-link[aria-current="page"]::after{content:"";position:absolute;left:8px;right:-24px;bottom:2px;height:2px;background:var(--gold-rule,#C99A2E);border-radius:2px}
.nav-drop.is-active .nav-drop-arrow{color:var(--gold-600,#A9801F)}

.mega-panel{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--border);border-bottom:3px solid var(--gold-rule,#C99A2E);box-shadow:0 24px 48px -20px rgba(44,18,48,.28);z-index:90}
.nav-drop.is-open .mega-panel{display:block;animation:megaIn .16s ease-out}
@keyframes megaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nav-drop.is-open .mega-panel{animation:none}}
.mega-inner{max-width:1180px;margin:0 auto;padding:28px 24px 30px;display:grid;grid-template-columns:260px 1fr 220px;gap:32px;text-align:left}
.mega-inner--exam{grid-template-columns:1fr 1fr 1fr 280px}
.mega-kicker{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold-600,#A9801F);margin:0 0 8px}
.mega-intro h3,.mega-promo h3{font-family:var(--font-serif,Georgia,serif);font-size:1.35rem;line-height:1.2;color:var(--plum);margin:0 0 8px}
.mega-intro p,.mega-promo p{font-size:.86rem;line-height:1.55;color:var(--body);margin:0 0 14px;white-space:normal}
.mega-intro,.mega-promo{background:var(--ivory);border-radius:14px;padding:20px}
.mega-head{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted,#6b6270);margin:0 0 10px}
.mega-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mega-panel .mega-card{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:12px;white-space:normal;background:#fff}
.mega-panel .mega-card img{width:52px;height:52px;object-fit:cover;border-radius:10px;flex:none;background:var(--ivory)}
.mega-card span{display:grid;gap:2px;min-width:0}
.mega-card b{font-size:.9rem;color:var(--plum);font-weight:600}
.mega-card small,.mega-list small{display:block;font-size:.76rem;color:var(--muted,#6b6270);font-weight:400;line-height:1.35}
.mega-panel a:hover{background:var(--ivory)}
.mega-panel .mega-card:hover{border-color:var(--gold-300,#E3C676)}
.mega-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mega-list a{display:block;padding:9px 10px;border-radius:10px;font-size:.88rem;font-weight:600;color:var(--plum);white-space:normal}
.mega-panel a[aria-current="page"]{background:var(--ivory);box-shadow:inset 3px 0 0 var(--gold-rule,#C99A2E);font-weight:700}
.mega-panel .mega-card[aria-current="page"]{border-color:var(--gold-rule,#C99A2E)}
.mega-panel a::after{display:none!important}
.mega-panel .btn{display:inline-flex}
.mega-panel .btn:hover{background:revert}

@media (max-width:1240px){
  .site-header .nav-drop{display:flex;flex-wrap:wrap;align-items:center}
  .site-header .nav-drop-link{flex:1;padding:12px 4px 12px 10px}
  .nav .nav-drop-link[aria-current="page"]::after{display:none}
  .nav-drop-arrow{padding:12px 14px}
  .mega-panel{position:static;flex-basis:100%;width:100%;box-shadow:none;border:0;border-left:2px solid var(--gold-300,#E3C676);margin:0 0 8px 10px;width:calc(100% - 10px)}
  .mega-inner,.mega-inner--exam{display:block;padding:6px 0 6px 10px}
  .mega-intro,.mega-promo,.mega-side{display:none}
  .mega-grid{grid-template-columns:1fr}
  .mega-main .mega-head{display:none}
  .mega-col{margin-bottom:8px}
  .mega-panel .mega-card{border:0;padding:6px}
  .mega-panel .mega-card img{width:40px;height:40px}
}
