/* Layout: banded single column; the four method blocks (diagnose, plan, sessions, measure) are the one recurring device. Navy and teal lead; coral marks the single booking action. */
:root{
  --bg:#FFF8EE; --card:#FFFFFF; --ink:#22324A; --muted:#5E6675; --line:#EBDFCC;
  --coral:#C8472F; --mustard:#EDB43C; --teal:#2A7484; --navy:#22324A;
  --coral-soft:#F8DCD3; --teal-soft:#D6EAEC; --mustard-soft:#FBEBC6;
  --on-block:#FFF8EE; --focus:#2A7484; --field:#FFFFFF; --accent-text:#2A7484;
  --display:"Baloo Bhaijaan 2","Readex Pro",system-ui,sans-serif;
  --text:"Readex Pro",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#1C293D; --card:#25354D; --ink:#FFF8EE; --muted:#C3CAD6; --line:#3B4E6B;
  --coral-soft:#4A3235; --teal-soft:#1F4253; --mustard-soft:#4A4430; --focus:#EDB43C; --field:#16222F; --accent-text:#EDB43C; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#1C293D; --card:#25354D; --ink:#FFF8EE; --muted:#C3CAD6; --line:#3B4E6B;
  --coral-soft:#4A3235; --teal-soft:#1F4253; --mustard-soft:#4A4430; --focus:#EDB43C; --field:#16222F; --accent-text:#EDB43C; color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.75;margin:0}
html[lang="ar"] [data-l="en"], html[lang="en"] [data-l="ar"]{display:none!important}
.wrap{max-width:1100px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section{padding-block:72px}
h1,h2,h3{margin:0;text-wrap:balance}
h1,h2{font-family:var(--display);font-weight:700}
h1{font-size:clamp(36px,5.6vw,58px);line-height:1.3}
h2{font-size:clamp(28px,4vw,40px);line-height:1.35}
h3{font-size:19px;font-weight:600;line-height:1.5}
p{margin:0}
.eyebrow{font-size:15px;font-weight:600;color:var(--accent-text);margin-bottom:8px}
.lead{font-size:18.5px;color:var(--muted);max-width:62ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.tab-nums{font-variant-numeric:tabular-nums}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;padding-block:10px}
.logo{display:block;width:112px;flex:none}
.logo svg{display:block;width:100%;height:auto}
.logo .rev{display:none}
:root[data-theme="dark"] .logo .std{display:none} :root[data-theme="dark"] .logo .rev{display:block}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo .std{display:none} :root:not([data-theme="light"]) .logo .rev{display:block}}
nav{display:flex;gap:22px;margin-inline-start:auto;font-size:15px}
nav a{text-decoration:none;color:var(--muted)} nav a:hover{color:var(--ink)}
.lang{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 14px;font:500 14px var(--text);cursor:pointer;min-height:40px}
@media (max-width:860px){nav{display:none}.lang{margin-inline-start:auto}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:999px;border:0;font:600 16px var(--text);text-decoration:none;cursor:pointer}
.btn-coral{background:var(--coral);color:var(--on-block)}
.btn-coral:hover{filter:brightness(1.07)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-ink{background:var(--ink);color:var(--bg)}

/* blocks */
.blk{display:inline-flex;align-items:center;justify-content:center;border-radius:22%;font-family:var(--display);font-weight:700;line-height:1;flex:none}
.k{background:var(--coral);color:var(--on-block)}.l{background:var(--mustard);color:#22324A}.m{background:var(--teal);color:var(--on-block)}.t{background:var(--navy);color:#FFF8EE}
:root[data-theme="dark"] .t{background:#FFF8EE;color:#22324A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .t{background:#FFF8EE;color:#22324A}}

/* hero */
.hero{padding-block:64px 64px}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.hero .lead{margin-top:18px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:24px;font-size:15px;color:var(--muted)}
.facts span{display:inline-flex;align-items:center;gap:8px}
.facts i{width:8px;height:8px;border-radius:2px;background:var(--teal);display:inline-block}
.steps-visual{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sv{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.sv .blk{width:100%;max-width:96px;aspect-ratio:1;font-size:clamp(28px,4vw,46px)}
.sv b{font-size:15px;font-weight:600}
.sv-cap{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;margin-top:6px;font-size:14.5px;color:var(--muted);text-align:center}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:36px}}

/* method */
.method{background:var(--card)}
.method-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px}
@media (max-width:900px){.method-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.method-list{grid-template-columns:1fr}}
.step{border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px;background:var(--bg);min-width:0}
.step .blk{width:52px;height:52px;font-size:28px}
.step p{color:var(--muted);font-size:15.5px}

/* tracks */
.tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
@media (max-width:820px){.tracks{grid-template-columns:1fr}}
.track{background:var(--card);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);min-width:0}
.track .tag{align-self:flex-start;font-size:13px;font-weight:600;border-radius:999px;padding:4px 12px;background:var(--teal-soft);color:var(--ink)}
.track ul{margin:0;padding-inline-start:20px;color:var(--muted);font-size:16px}
.track li{margin-bottom:6px}
.note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.later{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:15px;color:var(--muted)}
.later span.pill{border:1.5px dashed var(--line);border-radius:999px;padding:6px 14px;color:var(--ink)}

/* audience */
.aud{background:var(--teal-soft)}
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
@media (max-width:820px){.aud-grid{grid-template-columns:1fr}}
.aud-item{background:var(--card);border-radius:20px;padding:20px 22px;display:flex;gap:14px;align-items:flex-start;min-width:0}
.aud-item i{width:14px;height:14px;border-radius:4px;flex:none;margin-top:8px}
.aud-item p{font-size:16px}

/* about */
.about-grid{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center}
.photo{width:240px;aspect-ratio:4/5;max-width:100%;border-radius:28px;background:var(--mustard-soft);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.photo svg{width:100%;height:auto;display:block}
.nums{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.num{border-radius:18px;padding:14px 20px;min-width:140px;background:var(--card);border:1px solid var(--line)}
.num b{display:block;font-family:var(--display);font-size:36px;line-height:1.25;color:var(--accent-text)}
.num span{font-size:14.5px;color:var(--muted)}
.about p+p{margin-top:12px}
.roles{margin-top:18px;font-size:15px;color:var(--muted)}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}.photo{width:180px}}
/* about kalima, credentials, certificates, child safety */
.about-intro{max-width:70ch;margin-bottom:44px}
.about-intro p{font-size:18.5px;color:var(--ink);margin-top:10px}
.judge{margin-top:22px;background:var(--mustard-soft);border-radius:20px;padding:18px 22px}
.judge h3{font-size:17px}
.judge p{font-size:15.5px;margin-top:4px}
.quals{margin-top:22px}
.quals h3{font-size:17px;margin-bottom:8px}
.quals ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.quals li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.quals li i{width:12px;height:12px;border-radius:3px;background:var(--teal);flex:none;margin-top:9px}
.quals li small{display:block;color:var(--muted);font-size:14px}
.limits{margin-top:20px;font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.certs{background:var(--card)}
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
@media (max-width:900px){.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cert-grid{grid-template-columns:1fr}}
.cert{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:4px;min-width:0}
.cert .blk-s{width:28px;height:28px;border-radius:8px;background:var(--teal);margin-bottom:8px}
.cert h3{font-size:17px;line-height:1.55}
.cert .en{font-size:14.5px;color:var(--muted);direction:ltr;text-align:right;overflow-wrap:anywhere}
html[lang="en"] .cert .en{text-align:left}
.cert .by{margin-top:auto;padding-top:10px;font-size:14px;font-weight:500}
.more{margin-top:20px;font-size:15.5px;color:var(--muted)}
.more a{color:var(--accent-text);font-weight:500}
.safety{background:var(--teal-soft)}
.safety-box{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
@media (max-width:700px){.safety-box{grid-template-columns:1fr}}
.shield{width:88px;height:88px;border-radius:24px;background:var(--navy);color:#FFF8EE;display:flex;align-items:center;justify-content:center}
.safety p{margin-top:8px;max-width:62ch}
.safety .cta-row{margin-top:18px}


/* offers */
.offers{background:var(--card)}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
@media (max-width:860px){.offer-grid{grid-template-columns:1fr}}
/* prices */
.price-block{margin-top:34px;background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:24px;min-width:0}
.price-block h3{font-size:21px}
.pb-lead{color:var(--muted);font-size:15.5px;margin-top:4px;max-width:70ch}
.fmt-toggle{display:flex;gap:8px;margin-top:16px}
.fmt-toggle button{min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--muted);background:transparent;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.fmt-toggle button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#FFF8EE}
:root[data-theme="dark"] .fmt-toggle button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal)}
.tbl{margin-top:16px;overflow-x:auto;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.tbl th,.tbl td{padding:12px 14px;text-align:start;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl thead th{background:var(--navy);color:#FFF8EE;font-weight:600;font-size:14px;white-space:nowrap}
.tbl tbody th{font-weight:500}
.tbl td{white-space:nowrap;font-variant-numeric:tabular-nums}
.tbl table.plan th small{display:block;font-weight:400;color:var(--muted);font-size:13.5px;margin-top:2px;white-space:normal}
.tbl tr.best th,.tbl tr.best td{background:var(--teal-soft)}
.pb-notes{margin:14px 0 0;padding-inline-start:20px;color:var(--muted);font-size:15px;display:flex;flex-direction:column;gap:6px}
.pb-notes b{color:var(--ink);font-weight:600}
.pb-notes.general{margin-top:26px}
@media (max-width:640px){
  .tbl{border:0;background:transparent;overflow:visible}
  .tbl table{min-width:0}
  .tbl thead{display:none}
  .tbl tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px}
  .tbl table.plan tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbl th,.tbl td{padding:0;border:0!important;white-space:normal;background:transparent!important}
  .tbl tbody th{grid-column:1/-1;font-weight:600}
  .tbl td[data-ar]::before{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
  html[lang="ar"] .tbl td[data-ar]::before{content:attr(data-ar)}
  html[lang="en"] .tbl td[data-ar]::before{content:attr(data-en)}
  .tbl td.ex{grid-column:1/-1;margin-top:-6px;color:var(--muted);font-size:14px}
  .tbl td.ex::before{display:none!important}
  .tbl tr.best{border:2px solid var(--teal)}
  .tbl tr.best{background:var(--teal-soft)}
}


.offer{border:1px solid var(--line);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:10px;background:var(--bg);min-width:0}
.offer.feature{border:2px solid var(--teal)}
.offer .kind{font-size:13px;font-weight:600;color:var(--accent-text)}
.offer ul{margin:0;padding-inline-start:20px;color:var(--muted);font-size:15.5px}
.offer .price{margin-top:auto;font-size:14.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.formats{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:15.5px;color:var(--muted)}

/* pilot */
.pilot{background:var(--navy);color:#FFF8EE}
:root[data-theme="dark"] .pilot{background:#13202F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pilot{background:#13202F}}
.pilot .eyebrow{color:#EDB43C}
.pilot .lead{color:#D3D8E1}
.pilot-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
@media (max-width:820px){.pilot-grid{grid-template-columns:1fr}}
.seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.seat{border-radius:20px;padding:18px 12px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}
.seat .blk{width:56px;height:56px;font-size:28px}
.seat span{font-size:14px;line-height:1.45}
.seat.exam{background:rgba(255,248,238,.08)}
.seat.ind{background:rgba(237,180,60,.16)}

/* forms */
.formband{background:var(--card)}
.panel{margin-top:26px;display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
@media (max-width:900px){.panel{grid-template-columns:1fr}}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
@media (max-width:640px){form{grid-template-columns:1fr}}
.full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
label,.legend{font-size:15px;font-weight:600}
.hint{font-size:13px;color:var(--muted);font-weight:400}
input[type=text],input[type=tel],input[type=date],select,textarea{width:100%;min-height:48px;border:1.5px solid var(--muted);border-radius:12px;background:var(--field);color:var(--ink);font:400 16px var(--text);padding:10px 14px}
textarea{min-height:96px;resize:vertical}
fieldset{border:0;padding:0;margin:0;min-width:0}
.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.choice > span{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1.5px solid var(--line);border-radius:999px;font-size:15px;background:var(--field)}
.choice input:checked + span{background:var(--teal);border-color:var(--teal);color:var(--on-block)}
.choice input:focus-visible + span{outline:3px solid var(--focus);outline-offset:2px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:400}
.consent input{width:22px;height:22px;flex:none;margin-top:3px;accent-color:var(--teal)}
.err{color:var(--coral);font-size:14px;font-weight:600}
:root[data-theme="dark"] .err{color:#F3A08F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .err{color:#F3A08F}}
.side{background:var(--bg);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px;position:sticky;top:90px}
.side ol{margin:0;padding-inline-start:20px;color:var(--muted);font-size:15px}
.side li{margin-bottom:6px}
.result{grid-column:1/-1;background:var(--teal-soft);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px}
.result pre{margin:0;white-space:pre-wrap;font:400 15px/1.7 var(--text);background:var(--field);border-radius:12px;padding:14px;max-height:320px;overflow:auto}
.result .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.wa-num{font-size:15px;color:var(--muted)}
.wa-num b{color:var(--ink);direction:ltr;unicode-bidi:isolate}
.exam-only[hidden]{display:none}

/* contact */
.contact{background:var(--teal-soft)}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.c-card{background:var(--card);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.c-card p{color:var(--muted);font-size:16px}
.social{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.soc{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 20px;border-radius:18px;text-decoration:none;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);flex:1 1 220px;min-width:0}
.soc svg{flex:none;color:var(--teal)}
.soc span{display:flex;flex-direction:column;line-height:1.4;min-width:0}
.soc small{color:var(--muted);font-size:14px;direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere}
.soc:hover{border-color:var(--teal)}

/* faq */
details{border-bottom:1px solid var(--line);padding-block:16px}
summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--display);font-size:26px;line-height:1;color:var(--accent-text)}
details[open] summary::after{content:"−"}
details p{margin-top:10px;color:var(--muted);max-width:68ch}
.faq-list{margin-top:20px}

footer{background:var(--navy);color:#FFF8EE;padding-block:40px}
:root[data-theme="dark"] footer{background:#13202F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) footer{background:#13202F}}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
footer .logo{width:126px}
footer .logo .std{display:none!important} footer .logo .rev{display:block!important}
footer p{color:#C9CED8;font-size:14px}
.f-social{display:flex;gap:10px}
.f-social a{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,248,238,.1);color:#FFF8EE}

/* ===== v3 additions: multi-page layout, mobile menu, payments, policies ===== */
html{overflow-x:clip}
body{overflow-x:clip}
.logo img{display:block;width:100%;height:auto}

/* header: inline nav on wide screens, menu button below 1000px */
.bar{min-height:64px}
nav#mainNav{display:flex;align-items:center;gap:4px;margin-inline-start:auto;font-size:15px}
nav#mainNav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:10px;text-decoration:none;color:var(--muted)}
nav#mainNav a:hover{color:var(--ink);background:var(--card)}
nav#mainNav a[aria-current="page"]{color:var(--ink);font-weight:600;box-shadow:inset 0 -3px 0 var(--teal)}
.hdr-actions{display:flex;align-items:center;gap:10px}
.btn-sm{min-height:44px;padding:8px 18px;font-size:15px}
.menu-btn{display:none;width:48px;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{display:block}
.menu-btn .i-close{display:none}
.menu-open .menu-btn .i-open{display:none}
.menu-open .menu-btn .i-close{display:block}
@media (max-width:999px){
  .menu-btn{display:inline-flex}
  nav#mainNav{display:none;position:absolute;inset-inline:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:10px max(16px,env(safe-area-inset-left,0px)) 18px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(34,50,74,.35);max-height:calc(100dvh - 80px);overflow-y:auto}
  .menu-open nav#mainNav{display:flex}
  nav#mainNav a{min-height:52px;padding:0 14px;font-size:17px;color:var(--ink);border-radius:12px}
  nav#mainNav a[aria-current="page"]{background:var(--card);box-shadow:inset -4px 0 0 var(--teal)}
  html[dir="ltr"] nav#mainNav a[aria-current="page"]{box-shadow:inset 4px 0 0 var(--teal)}
  .hdr-actions{margin-inline-start:auto}
  header{position:sticky}
  .bar{position:static}
}
header .wrap.bar{position:relative}
@media (max-width:999px){header .wrap.bar{position:static}}
@media (max-width:560px){.hdr-book{display:none}.logo{width:96px}.lang{padding:6px 12px}}
.lang{min-height:44px}

/* page heads for inner pages */
.page-head{padding-block:44px 8px}
.page-head h1{font-size:clamp(32px,5vw,48px)}
.page-head .lead{margin-top:10px}
.page-head + section{padding-top:28px}
.page-head + .wrap + section{padding-top:28px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:6px}
.crumbs a{color:var(--accent-text)}

/* tighter vertical rhythm on phones */
@media (max-width:640px){
  section{padding-block:52px}
  .page-head{padding-block:32px 0}
  body{font-size:16.5px}
}

/* next-step band */
.next-band{background:var(--teal-soft)}
.next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
@media (max-width:860px){.next-grid{grid-template-columns:1fr}}
.next-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border-radius:22px;padding:22px;text-decoration:none;color:var(--ink);border:1.5px solid transparent;min-height:120px}
.next-card:hover{border-color:var(--teal)}
.next-card b{font-size:18px}
.next-card span{color:var(--muted);font-size:15px}
.next-card .go{margin-top:auto;color:var(--accent-text);font-weight:600;font-size:15px}

/* payment methods */
.pay-block{margin-top:30px}
.pay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
@media (max-width:700px){.pay-grid{grid-template-columns:1fr}}
.pay{display:flex;align-items:center;gap:14px;background:var(--card);border:1.5px solid var(--line);border-radius:20px;padding:16px 18px;min-width:0}
.pay .pm{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-family:var(--display);font-size:20px;color:#FFF8EE}
.pay .pm.stc{background:#4F2D7F}
.pay .pm.alinma{background:#8A5A2B}
.pay .pm.barq{background:var(--teal)}
.pay b{display:block;font-size:17px;line-height:1.4}
.pay small{display:block;color:var(--muted);font-size:14px}
.pay-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;background:var(--mustard-soft);color:var(--ink);border-radius:16px;padding:14px 16px;font-size:15.5px}
.pay-note svg{flex:none;margin-top:3px}

/* form additions */
input[type=email],input[type=number]{width:100%;min-height:48px;border:1.5px solid var(--muted);border-radius:12px;background:var(--field);color:var(--ink);font:400 16px var(--text);padding:10px 14px}
input[type=number]{max-width:140px}
.estimate{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;background:var(--bg);border:1.5px dashed var(--line);border-radius:16px;padding:14px 18px}
.estimate .est-k{font-weight:600;font-size:15px}
.estimate .est-v{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.estimate .est-note{color:var(--muted);font-size:15px}
.result{outline:none}
.receipt{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0;font-size:16px}
.receipt dt{color:var(--muted)}
.receipt dd{margin:0;font-weight:600}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* FAQ tap targets */
summary{min-height:44px;align-items:center}

/* policies */
.policy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.policy-card{background:var(--card);border-radius:26px;padding:28px;margin-top:22px}
.policy-card h3{margin-bottom:8px}
.policy-card ul{margin:8px 0 0;padding-inline-start:22px;display:flex;flex-direction:column;gap:6px}
.opt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
@media (max-width:700px){.opt-grid{grid-template-columns:1fr}}
.opt{border-radius:18px;padding:18px}
.opt.a{background:var(--teal-soft)}
.opt.b{background:var(--mustard-soft)}
.opt b{display:block;margin-bottom:4px}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);text-decoration:none;color:var(--ink);background:var(--card);font-size:15px}
.toc a:hover{border-color:var(--teal)}

/* footer: links and socials */
.f-nav{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:15px}
.f-nav a{color:#E6E9EF;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.f-nav a:hover{text-decoration:underline}
.f-social a[hidden]{display:none}
.f-bottom{flex-basis:100%;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,248,238,.15);padding-top:18px}
.soc[hidden]{display:none}

/* phone action bar */
.actionbar{display:none}
@media (max-width:760px){
  .actionbar{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:8;gap:10px;padding:10px max(14px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -10px 24px -18px rgba(34,50,74,.4)}
  .actionbar .btn{flex:1;min-height:50px;justify-content:center}
  .actionbar .wa{flex:0 0 auto;width:54px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1.5px solid var(--line);color:var(--teal);background:var(--card)}
  body.has-actionbar{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .menu-open .actionbar{display:none}
}

/* iPad: two-column grids that were cramped */
@media (min-width:700px) and (max-width:999px){
  .hero-grid{gap:28px}
  .cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
[hidden]{display:none!important}
.c-card .pay-block{margin-top:0}
.c-card .pay-block h3{margin-bottom:2px}
nav#mainNav a.nav-book{display:none}
@media (max-width:999px){nav#mainNav a.nav-book{display:flex;justify-content:center;color:var(--on-block);margin-top:8px;border-radius:999px;font-weight:600}}

/* ===== v4 ===== */
.btn-teal{background:var(--teal);color:#FFFFFF}
.btn-teal:hover{filter:brightness(1.08)}
:root[data-theme="dark"] .btn-teal{color:#FFFFFF}

/* What is Kalima */
.what{background:var(--card)}
.what .lead{max-width:70ch}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
@media (max-width:760px){.path-grid{grid-template-columns:1fr}}
.path-card{display:flex;flex-direction:column;gap:8px;background:var(--bg);border:1.5px solid var(--line);border-radius:22px;padding:22px;text-decoration:none;color:var(--ink);transition:border-color .2s ease,transform .2s ease}
.path-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.path-card .blk{width:44px;height:44px;font-size:22px}
.path-card b{font-size:19px;font-weight:600}
.path-card span:last-child{color:var(--muted);font-size:15.5px}

/* Founder teaser */
.founder-grid{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:center}
@media (max-width:760px){.founder-grid{grid-template-columns:1fr;gap:20px}.founder-photo{width:180px}}
.founder-role{display:inline-block;margin-top:6px;background:var(--teal-soft);color:var(--ink);font-weight:600;font-size:14.5px;border-radius:999px;padding:4px 14px}

/* Where to start */
.next-band h2{color:var(--ink)}
.next-card{background:#FFFFFF;border:1.5px solid #E6DCCB;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.next-card b{color:#22324A;font-size:19px;font-weight:600}
.next-card span{color:#4A5363;font-size:15.5px}
.next-card .go{display:inline-flex;align-items:center;gap:6px;color:#1F6574;font-weight:600}
.next-card .go .arr{transition:transform .2s ease}
html[dir="rtl"] .next-card .go .arr{transform:scaleX(-1)}
.next-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 12px 24px -16px rgba(34,50,74,.45)}
html[dir="rtl"] .next-card:hover .go .arr{transform:scaleX(-1) translateX(3px)}
html[dir="ltr"] .next-card:hover .go .arr{transform:translateX(3px)}
.next-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
:root[data-theme="dark"] .next-card{background:var(--card);border-color:var(--line)}
:root[data-theme="dark"] .next-card b{color:var(--ink)} :root[data-theme="dark"] .next-card span{color:var(--muted)} :root[data-theme="dark"] .next-card .go{color:var(--accent-text)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .next-card{background:var(--card);border-color:var(--line)}
 :root:not([data-theme="light"]) .next-card b{color:var(--ink)} :root:not([data-theme="light"]) .next-card span{color:var(--muted)} :root:not([data-theme="light"]) .next-card .go{color:var(--accent-text)}}
@media (prefers-reduced-motion:reduce){.next-card,.path-card,.next-card .go .arr{transition:none}.next-card:hover,.path-card:hover{transform:none}}

/* Bank transfer cards */
.pay-lead{color:var(--muted);margin-top:6px;max-width:68ch}
.pay{flex-direction:row;gap:14px}
.pay .bank-logo{width:56px;height:56px;border-radius:14px;flex:none;object-fit:cover;box-shadow:0 0 0 1px rgba(34,50,74,.08)}
.pay b{font-size:17px}

/* Form notes */
.form-note{background:var(--teal-soft);border-radius:14px;padding:12px 16px;font-size:15px}
.form-note a{color:var(--accent-text);font-weight:600}

/* Policy list */
.pol-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
@media (max-width:760px){.pol-list{grid-template-columns:1fr}}
.pol-item{background:var(--bg);border-radius:20px;padding:20px 22px}
.pol-item h3{font-size:17px;margin-bottom:6px}
.pol-item p{color:var(--muted);font-size:15.5px}
.more a{color:var(--accent-text);font-weight:600}
details p a{color:var(--accent-text);font-weight:600}

/* Social icons */
.f-social{flex-wrap:wrap}
.soc svg{color:var(--teal)}

/* skip link: hidden until keyboard focus */
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:20;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}

/* floating WhatsApp button on tablets and computers (phones use the bottom action bar) */
.wa-float{display:none}
@media (min-width:761px){
  .wa-float{display:grid;place-items:center;position:fixed;bottom:22px;inset-inline-end:22px;z-index:8;width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;box-shadow:0 10px 24px -10px rgba(34,50,74,.55);transition:transform .2s}
  .wa-float:hover{transform:translateY(-2px)}
  .wa-float svg{width:28px;height:28px;fill:currentColor}
  .wa-float[hidden]{display:none}
}
@media (prefers-reduced-motion:reduce){.wa-float{transition:none}}

/* ===== v4.2 ===== */
/* footer links stay visible on hover */
footer .f-nav a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:5px}

/* payment cards: wrap instead of squeezing; one per row inside narrow cards */
.pay-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.c-card .pay-grid{grid-template-columns:1fr}
.pay b{overflow-wrap:anywhere}

/* pathway cards: coloured square bullets, notes aligned at the bottom */
.track ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.track li{position:relative;padding-inline-start:24px;margin:0}
.track li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:11px;height:11px;border-radius:3px;background:var(--coral)}
.track li:nth-child(4n+2)::before{background:var(--mustard)}
.track li:nth-child(4n+3)::before{background:var(--teal)}
.track li:nth-child(4n+4)::before{background:var(--ink)}
.track .note{margin-top:auto}

/* seat allocation */
.sm-cap{color:#EDB43C;font-weight:600;font-size:14px;margin:0 0 12px}
.seatmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sm-group{background:rgba(255,248,238,.07);border:1px solid rgba(255,248,238,.14);border-radius:22px;padding:22px 20px;display:flex;flex-direction:column;gap:4px}
.sm-chairs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.sm-chairs svg{width:40px;height:40px;fill:currentColor}
.sm-group.exam .sm-chairs{color:var(--coral)}
.sm-group.ind .sm-chairs{color:var(--mustard)}
.sm-group b{font-family:var(--display);font-size:24px;line-height:1.3;color:#FFF8EE}
.sm-group span{color:#D3D8E1;font-size:15px}
@media (max-width:420px){.sm-chairs svg{width:32px;height:32px}.sm-group{padding:18px 14px}}

/* price tables: lighter header, stage colours, bold prices, hover */
.fmt-toggle{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.fmt-toggle button{border:0;display:inline-flex;align-items:center;gap:8px;transition:background .2s,color .2s}
.fmt-toggle button:not([aria-pressed="true"]):hover{background:var(--teal-soft)}
.tbl thead th{background:var(--teal-soft);color:var(--ink);font-weight:700}
.tbl td b{font-family:var(--display);font-size:19px;font-weight:700;color:var(--ink)}
.tbl td small{font-size:12.5px;color:var(--muted);font-weight:400}
.tbl tbody tr > *{transition:background .15s}
.tbl tbody tr[class^="st-"] th::before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;margin-inline-end:10px;vertical-align:-1px;background:var(--coral)}
.tbl tbody tr.st-m th::before{background:var(--mustard)}
.tbl tbody tr.st-s th::before{background:var(--teal)}
.tbl td.ex > span[data-l]{display:inline-block;padding:2px 12px;border-radius:999px;background:var(--teal-soft);font-size:13.5px}
.tbl td.ex.fin > span[data-l]{background:var(--coral-soft)}
.tbl table.plan tbody th > span[data-l]:first-child,.tbl table.plan tbody th > span[data-l]{font-weight:600}
.tbl table:not(.plan) tbody tr:nth-child(2n):not(:last-child) > *{border-bottom:2px solid var(--line)}
@media (hover:hover) and (min-width:641px){
  .tbl tbody tr:hover > *{background:var(--mustard-soft)}
}
.tbl[data-fmt]:not([hidden]){animation:tblIn .28s ease}
@keyframes tblIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .tbl tbody tr[class^="st-"]{border-inline-start:6px solid var(--coral)}
  .tbl tbody tr.st-m{border-inline-start-color:var(--mustard)}
  .tbl tbody tr.st-s{border-inline-start-color:var(--teal)}
  .tbl table:not(.plan) tbody tr:nth-child(2n):not(:last-child) > *{border-bottom:0}
}
@media (prefers-reduced-motion:reduce){.tbl[data-fmt]:not([hidden]){animation:none}.fmt-toggle button,.tbl tbody tr > *{transition:none}}
.tbl table:not(.plan) th,.tbl table:not(.plan) td{vertical-align:middle}

/* ===== v4.3 ===== */
.c-teal{background:var(--teal);color:#FFF8EE}
.c-coral{background:var(--coral);color:#FFF8EE}
.c-mustard{background:var(--mustard);color:#22324A}

/* inner page header, in the spirit of the home hero */
.page-head.ph{padding-block:40px 34px}
.ph-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.ph .lead{max-width:60ch}
.ph-art{position:relative;width:230px;height:170px;flex:none}
.ph-t{position:absolute;display:grid;place-items:center}
.ph-t.t1{width:120px;height:120px;border-radius:28px;inset-inline-start:52px;top:24px;transform:rotate(-6deg);box-shadow:0 20px 34px -20px rgba(34,50,74,.55)}
.ph-t.t1 svg{width:56px;height:56px}
.ph-t.t2{width:54px;height:54px;border-radius:15px;inset-inline-start:0;top:4px;transform:rotate(9deg);background:var(--mustard)}
.ph-t.t3{width:44px;height:44px;border-radius:12px;inset-inline-start:182px;top:108px;transform:rotate(-10deg);background:var(--coral)}
.ph-t.t4{width:28px;height:28px;border-radius:8px;inset-inline-start:196px;top:26px;transform:rotate(14deg);background:var(--teal)}
.k-mustard .t2{background:var(--teal)}
.k-coral .t3{background:var(--teal)}
.k-teal .t4{background:var(--coral)}
@media (max-width:700px){
  .page-head.ph{padding-block:26px 18px}
  .ph-grid{grid-template-columns:minmax(0,1fr) 92px;gap:14px}
  .ph-art{width:92px;height:96px}
  .ph-t.t1{width:70px;height:70px;border-radius:18px;inset-inline-start:14px;top:16px}
  .ph-t.t1 svg{width:34px;height:34px}
  .ph-t.t2{width:28px;height:28px;border-radius:8px;top:0;inset-inline-start:0}
  .ph-t.t3{width:24px;height:24px;border-radius:7px;inset-inline-start:70px;top:72px}
  .ph-t.t4{display:none}
}

/* certificates and qualifications: brand colours instead of one colour */
.cert:nth-child(4n+1) .blk-s{background:var(--coral)}
.cert:nth-child(4n+2) .blk-s{background:var(--mustard)}
.cert:nth-child(4n+3) .blk-s{background:var(--teal)}
.cert:nth-child(4n+4) .blk-s{background:var(--ink)}
.quals li:nth-child(4n+1) i{background:var(--coral)}
.quals li:nth-child(4n+2) i{background:var(--mustard)}
.quals li:nth-child(4n+3) i{background:var(--teal)}
.quals li:nth-child(4n+4) i{background:var(--ink)}

/* policies */
.toc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:6px}
.toc-cards a{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.toc-cards a:hover{transform:translateY(-2px);box-shadow:0 14px 28px -20px rgba(34,50,74,.5)}
.tc-i,.pc-i{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px}
.tc-i svg,.pc-i svg{width:24px;height:24px}
@media (max-width:760px){.toc-cards{grid-template-columns:1fr}}
.pc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;grid-template-areas:"who who" "privacy quals" "privacy ask"}
.pc-grid .policy-card{margin-top:0;border:1px solid var(--line)}
.pc-who{grid-area:who}.pc-privacy{grid-area:privacy}.pc-quals{grid-area:quals}.pc-ask{grid-area:ask}
.policy-card h3{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pc-ask{background:var(--teal-soft)}
.pc-ask .btn{margin-top:12px}
.pc-ask .btn svg{width:20px;height:20px;fill:currentColor}
.pc-privacy ul{list-style:none;padding:0;gap:10px}
.pc-privacy li{position:relative;padding-inline-start:22px}
.pc-privacy li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--coral)}
.pc-privacy li:nth-child(4n+2)::before{background:var(--mustard)}
.pc-privacy li:nth-child(4n+3)::before{background:var(--teal)}
.pc-privacy li:nth-child(4n+4)::before{background:var(--ink)}
.opt{border:1px solid transparent}
@media (max-width:760px){.pc-grid{grid-template-columns:1fr;grid-template-areas:"who" "privacy" "quals" "ask"}}
.pol-list{counter-reset:pol}
.pol-item{position:relative;padding-inline-start:78px;border:1px solid var(--line)}
.pol-item::before{counter-increment:pol;content:counter(pol,arabic-indic);position:absolute;inset-inline-start:20px;top:20px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:20px;color:#FFF8EE;background:var(--coral)}
html[lang="en"] .pol-item::before{content:counter(pol)}
.pol-item:nth-child(4n+2)::before{background:var(--mustard);color:#22324A}
.pol-item:nth-child(4n+3)::before{background:var(--teal)}
.pol-item:nth-child(4n+4)::before{background:var(--navy)}
:root[data-theme="dark"] .pol-item:nth-child(4n+4)::before{background:#3B4E6B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pol-item:nth-child(4n+4)::before{background:#3B4E6B}}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;margin-top:22px}
@media (max-width:900px){.faq-layout{grid-template-columns:1fr}}
.faq-layout .faq-list{display:flex;flex-direction:column;gap:12px;margin-top:0}
.faq-list details{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:4px 20px;transition:box-shadow .2s,border-color .2s}
.faq-list details[open]{border-color:var(--teal);box-shadow:0 16px 30px -22px rgba(34,50,74,.5)}
.faq-list summary{padding-block:12px;gap:14px;justify-content:flex-start;font-size:17px}
.faq-list summary::before{content:"";flex:none;width:12px;height:12px;border-radius:4px;background:var(--coral)}
.faq-list details:nth-child(4n+2) summary::before{background:var(--mustard)}
.faq-list details:nth-child(4n+3) summary::before{background:var(--teal)}
.faq-list details:nth-child(4n+4) summary::before{background:var(--ink)}
.faq-list summary::after{margin-inline-start:auto;flex:none;width:34px;height:34px;border-radius:50%;background:var(--teal-soft);color:var(--ink);display:grid;place-items:center;font-size:22px;transition:background .2s,color .2s}
.faq-list details[open] summary::after{background:var(--teal);color:#FFF8EE}
.faq-list details p{margin:0;padding:0 26px 16px}
.faq-aside{position:sticky;top:96px;background:var(--navy);color:#FFF8EE;border-radius:26px;padding:26px;display:flex;flex-direction:column;gap:12px}
:root[data-theme="dark"] .faq-aside{background:#13202F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .faq-aside{background:#13202F}}
.faq-aside h3{color:#FFF8EE;font-size:21px}
.faq-aside p{color:#D3D8E1;font-size:15.5px}
.fa-i{width:52px;height:52px;border-radius:15px;background:var(--mustard);color:#22324A;display:grid;place-items:center}
.fa-i svg{width:26px;height:26px}
.faq-aside .btn{align-self:flex-start}
.faq-aside .btn svg{width:20px;height:20px;fill:currentColor}
.fa-links{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,248,238,.16);padding-top:12px;margin-top:4px}
.fa-links a{color:#FFF8EE;min-height:40px;display:flex;align-items:center}
@media (max-width:900px){.faq-aside{position:static}}
@media (prefers-reduced-motion:reduce){.toc-cards a,.faq-list details,.faq-list summary::after{transition:none}}
@media (max-width:760px){.toc-cards{gap:8px}.toc-cards a{padding:10px 14px;border-radius:16px}.toc-cards .tc-i{width:36px;height:36px;border-radius:11px}.toc-cards .tc-i svg{width:20px;height:20px}}

/* ===== v4.4: square bullets sit on the middle of the first text line ===== */
.track li::before,.pc-privacy li::before{top:.72em;top:calc(.5lh - 5px)}
.quals li i{margin-top:.62em;margin-top:calc(.5lh - 6px)}

/* ===== v4.5: booking column ===== */
.btn-mini{min-height:38px;padding:6px 16px;font-size:14px;border-radius:999px;white-space:nowrap}
.tbl td.bk{text-align:end;vertical-align:middle;width:1%}
.tbl th.bk-h{text-align:end}
@media (max-width:640px){
  .tbl td.bk{grid-column:1/-1;text-align:start;width:auto;margin-top:4px}
  .tbl td.bk .btn-mini{width:100%;justify-content:center;min-height:44px}
}
.tbl table.plan td{vertical-align:middle}

/* numbered blocks: inner language spans keep the block colour and size */
.blk span[data-l]{color:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;margin:0!important}

/* ===== v4.7: seats without numbers, chairs in brand colours ===== */
.sm-chairs .ch{display:inline-flex}
.sm-chairs .c1{color:var(--coral)}
.sm-chairs .c2{color:var(--mustard)}
.sm-chairs .c3{color:#5FB3C1}
.sm-group > span{color:#FFF8EE;font-weight:600;font-size:16px;line-height:1.5}

/* ===== v4.8: booking form without the side card ===== */
#join .panel{grid-template-columns:1fr;max-width:880px;margin-inline:auto}

/* ===== v4.9 ===== */
details.more{border:1px dashed var(--line);border-radius:18px;padding:4px 18px;background:var(--bg)}
details.more > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;font-weight:600;color:var(--ink)}
details.more > summary::-webkit-details-marker{display:none}
details.more > summary::before{content:"+";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal-soft);font-size:18px;flex:none}
details.more[open] > summary::before{content:"−";background:var(--teal);color:#FFF8EE}
.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding:6px 0 18px}
.more-grid > .full{grid-column:1/-1}
@media (max-width:640px){.more-grid{grid-template-columns:1fr}}
.venue{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px;color:var(--muted);font-size:15px}
.venue img{height:44px;width:auto;background:#FFFFFF;border-radius:12px;padding:6px 12px;border:1px solid var(--line)}
details.more > summary::after{content:none}

/* ===== v5.0 ===== */
.aud-item.hl{border:2px solid var(--teal);background:var(--card)}
.aud-item.hl p{font-weight:600;color:var(--ink)}
.consult{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;background:var(--card);border:1px solid var(--line);border-inline-start:6px solid var(--teal);border-radius:22px;padding:18px 20px}
.cs-i{flex:none;width:52px;height:52px;border-radius:15px;display:grid;place-items:center}
.cs-i svg{width:26px;height:26px}
.cs-t{flex:1 1 260px;display:flex;flex-direction:column;gap:2px}
.cs-t b{font-size:18px;color:var(--ink)}
.cs-t span{color:var(--muted);font-size:15.5px}
.offers .consult{margin:16px 0 22px}
.speak{background:var(--mustard-soft)}
.speak-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.speak-tiles{display:flex;gap:14px}
.sp{width:128px;height:128px;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 18px 30px -20px rgba(34,50,74,.55)}
.sp:nth-child(1){transform:rotate(-4deg)}.sp:nth-child(3){transform:rotate(4deg)}
.sp svg{width:40px;height:40px}
.sp b{font-family:var(--display);font-size:19px}
@media (max-width:760px){.speak-grid{grid-template-columns:1fr}.speak-tiles{justify-content:center}.sp{width:30%;max-width:120px;height:auto;aspect-ratio:1;border-radius:22px}.sp svg{width:30px;height:30px}.sp b{font-size:16px}}

/* v5.1: four audience cards in a 2x2 grid */
.aud-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.aud-grid{grid-template-columns:1fr}}

/* v5.2: qualifications + certificates in two columns on wide screens */
/* qualifications + certificates as small tiles */
.quals ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.quals li{flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px;font-size:14.5px;line-height:1.55;font-weight:600;color:var(--ink)}
.quals li i{margin-top:0;width:22px;height:6px;border-radius:3px}
.quals li small{font-size:12.5px;font-weight:400;margin-top:4px}
@media (max-width:460px){.quals ul{grid-template-columns:repeat(2,minmax(0,1fr))}.quals li{font-size:13.5px;padding:12px 11px}}

/* ===== v5.4: what makes Kalima different ===== */
.c-navy{background:var(--navy);color:#FFF8EE}
.why-title{margin-top:28px;font-size:20px}
.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.why{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:6px}
.why-i{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin-bottom:6px}
.why-i svg{width:22px;height:22px}
.why b{font-size:16px;color:var(--ink);line-height:1.5}
.why > span:last-child{color:var(--muted);font-size:14.5px;line-height:1.6}
:root[data-theme="dark"] .c-navy{background:#3B4E6B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .c-navy{background:#3B4E6B}}
@media (max-width:980px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.why{padding:14px}.why b{font-size:15px}}
.about-intro{max-width:none}
.about-intro > h2,.about-intro > p{max-width:70ch}

/* v5.5: venue logos in equal boxes */
.venue img{box-sizing:border-box;width:180px;height:70px;object-fit:contain;padding:8px 14px}
@media (max-width:420px){.venue img{width:150px;height:60px}}
@media (max-width:520px){.venue > span{flex-basis:100%}.venue img{width:calc(50% - 6px);max-width:170px;height:64px}}
