:root{
  /* Brand gradient — constant, from the logo */
  --g1:#00ff8f; --g2:#00a1ff;
  --grad:linear-gradient(100deg,var(--g1),var(--g2));

  /* Hero is its own committed dark world in both themes */
  --hero-bg:#070d11; --hero-ink:#eaf6f2; --hero-muted:#8aa5a0;

  /* Light theme (default) — cool off-white with a green bias, chosen not defaulted */
  --bg:#eef4f2; --surface:#ffffff; --surface-2:#e6efec;
  --ink:#0b1519; --muted:#556b67; --border:#d6e2df;
  --accent:#007a83; --accent-ink:#04302f;
  --shadow:0 1px 2px rgba(11,21,25,.04),0 8px 30px rgba(11,21,25,.06);

  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --maxw:1120px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#080e12; --surface:#0e161b; --surface-2:#131f25;
    --ink:#e7f1ef; --muted:#8ba09b; --border:#1f2d33;
    --accent:#2fe0c0; --accent-ink:#04120f;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 40px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --bg:#080e12; --surface:#0e161b; --surface-2:#131f25;
  --ink:#e7f1ef; --muted:#8ba09b; --border:#1f2d33;
  --accent:#2fe0c0; --accent-ink:#04120f;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 40px rgba(0,0,0,.35);
}
:root[data-theme="light"]{
  --bg:#eef4f2; --surface:#ffffff; --surface-2:#e6efec;
  --ink:#0b1519; --muted:#556b67; --border:#d6e2df;
  --accent:#007a83; --accent-ink:#04302f;
  --shadow:0 1px 2px rgba(11,21,25,.04),0 8px 30px rgba(11,21,25,.06);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);
  font-size:1.075rem;line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.1rem,4vw,2.2rem)}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.19em;
  font-size:.72rem;font-weight:700;color:var(--accent);margin:0 0 .9rem}
h1,h2,h3{font-family:var(--sans);font-weight:800;line-height:1.05;letter-spacing:-.02em;
  text-wrap:balance;margin:0}
.lead{font-size:clamp(1.08rem,1.6vw,1.28rem);color:var(--muted);max-width:56ch;line-height:1.6}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

section{padding:clamp(3.6rem,8vh,6rem) 0}
.sec-head{max-width:60ch;margin-bottom:clamp(2rem,4vw,3rem)}
.sec-head h2{font-size:clamp(1.75rem,3.6vw,2.7rem)}
.sec-head p{color:var(--muted);margin:.9rem 0 0;font-size:1.1rem}

/* ---- Dragon ---- */
.dragon{display:block;width:100%;height:auto}
#dragon-defs{position:absolute;width:0;height:0;overflow:hidden}

/* ---- Header ---- */
header.site{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--border)}
.bar{display:flex;align-items:center;gap:1.2rem;height:64px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:auto}
.brand .mark{width:40px;flex:0 0 40px}
.brand .wordmark{display:flex;flex-direction:column;line-height:1}
.brand .wordmark b{font-family:var(--sans);font-weight:800;text-transform:uppercase;
  letter-spacing:.02em;font-size:.98rem}
.brand .wordmark span{font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--muted);margin-top:.18rem}
.nav-links{display:flex;gap:1.6rem;font-family:var(--sans);font-size:.9rem;font-weight:600}
.nav-links a{text-decoration:none;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.btn{font-family:var(--sans);font-weight:700;font-size:.9rem;text-decoration:none;
  border-radius:999px;padding:.62rem 1.15rem;display:inline-flex;align-items:center;gap:.5rem;
  cursor:pointer;border:1px solid transparent;transition:transform .15s,box-shadow .2s,background .2s}
.btn-primary{background:var(--grad);color:#04241c;box-shadow:0 6px 22px -8px rgba(0,161,255,.6)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;border-color:var(--border);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.toggle{background:transparent;border:1px solid var(--border);border-radius:999px;
  width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex:0 0 auto}
.toggle svg{width:17px;height:17px}
.toggle .moon{display:none}
:root[data-theme="dark"] .toggle .moon,
:root:not([data-theme="light"]) .toggle .moon{display:block}
:root[data-theme="dark"] .toggle .sun,
:root:not([data-theme="light"]) .toggle .sun{display:none}
@media (prefers-color-scheme:light){
  :root:not([data-theme]) .toggle .sun{display:block}
  :root:not([data-theme]) .toggle .moon{display:none}
}

/* ---- Hero (always dark) ---- */
.hero{position:relative;overflow:hidden;background:var(--hero-bg);color:var(--hero-ink);
  padding:clamp(2.6rem,6vh,4.6rem) 0 clamp(3rem,7vh,5rem);text-align:center}
.hero::before{content:"";position:absolute;inset:-25% -15% 30% -15%;z-index:0;filter:blur(50px);
  background:radial-gradient(55% 55% at 32% 34%,rgba(0,255,143,.20),transparent 70%),
             radial-gradient(50% 50% at 72% 42%,rgba(0,161,255,.24),transparent 72%);
  animation:drift 18s ease-in-out infinite alternate}
.hero .wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.hero .dragon{width:min(540px,82vw);margin-bottom:-.4rem;filter:drop-shadow(0 10px 40px rgba(0,161,255,.28));
  animation:breathe 9s ease-in-out infinite}
.hero .eyebrow{color:#7fe9cf}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);max-width:16ch}
.hero .lead{color:var(--hero-muted);margin:1.3rem auto 0;text-align:center}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}
.hero .btn-ghost{border-color:rgba(255,255,255,.22);color:var(--hero-ink)}
.hero .btn-ghost:hover{border-color:var(--g1);color:var(--g1)}
.rule{height:1px;width:min(680px,80%);margin:clamp(2.4rem,5vw,3.4rem) auto 0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}

/* ---- Pathways ---- */
.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.path{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:1.5rem 1.35rem 1.4rem;text-decoration:none;color:var(--ink);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.path::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stop)}
.path:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--stop) 60%,var(--border))}
.path .k{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:700}
.path h3{font-size:1.28rem;margin:.55rem 0 .55rem}
.path p{margin:0;font-size:.98rem;color:var(--muted);line-height:1.55}
.path .go{font-family:var(--sans);font-weight:700;font-size:.85rem;margin-top:1rem;
  display:inline-flex;align-items:center;gap:.4rem;color:var(--stop-ink)}
.path .go svg{width:14px;height:14px;transition:transform .2s}
.path:hover .go svg{transform:translateX(4px)}

/* ---- About ---- */
.about{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.portrait{aspect-ratio:4/5;border-radius:18px;border:1px solid var(--border);
  background:
    radial-gradient(120% 90% at 20% 0%,rgba(0,255,143,.10),transparent 55%),
    radial-gradient(120% 90% at 100% 100%,rgba(0,161,255,.14),transparent 55%),
    var(--surface-2);
  display:grid;place-items:center;text-align:center;color:var(--muted);
  font-family:var(--sans);font-size:.82rem;letter-spacing:.04em;box-shadow:var(--shadow)}
.portrait span{max-width:20ch;opacity:.85}
.about h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.about p{color:var(--muted);margin:1.1rem 0 0}
.about p strong{color:var(--ink);font-weight:600}
.creds{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;list-style:none;padding:0}
.creds li{font-family:var(--sans);font-size:.8rem;font-weight:600;padding:.42rem .8rem;
  border:1px solid var(--border);border-radius:999px;color:var(--ink);background:var(--surface)}
.creds li.hl{border-color:transparent;background:var(--grad);color:#04241c}

/* ---- What's on ---- */
.whatson{background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.timetable{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.timetable li{display:grid;grid-template-columns:1.3fr .9fr 1fr auto;gap:1rem;align-items:baseline;
  padding:1.05rem .4rem;border-bottom:1px solid var(--border)}
.timetable .cls{font-family:var(--sans);font-weight:700;font-size:1.05rem}
.timetable .when{font-variant-numeric:tabular-nums;color:var(--ink)}
.timetable .where,.timetable .who{color:var(--muted);font-size:.95rem}
.timetable .who{font-family:var(--sans);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;
  justify-self:end;border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;color:var(--muted)}
.note{color:var(--muted);font-size:.92rem;margin-top:1.2rem;font-style:italic}

/* ---- Trust ---- */
.trust-row{display:flex;flex-wrap:wrap;gap:.7rem 2rem;align-items:center;
  font-family:var(--sans);font-weight:700;font-size:1.05rem;color:var(--ink)}
.trust-row .dot{width:6px;height:6px;border-radius:50%;background:var(--grad);display:inline-block}
blockquote{margin:2.4rem 0 0;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.45;
  max-width:24ch;font-style:italic}
blockquote::before{content:"\201C";background:var(--grad);-webkit-background-clip:text;
  background-clip:text;color:transparent}
blockquote footer{font-family:var(--sans);font-style:normal;font-size:.85rem;color:var(--muted);
  margin-top:.9rem;letter-spacing:.02em}

/* ---- Contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:stretch}
.contact-info h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
.contact-info p{color:var(--muted);margin:1rem 0 1.6rem}
.contact-list{list-style:none;padding:0;margin:0 0 1.8rem;display:flex;flex-direction:column;gap:.7rem;
  font-family:var(--sans);font-size:.98rem}
.contact-list b{color:var(--muted);font-weight:600;width:5.5rem;display:inline-block;
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.map{border-radius:18px;border:1px solid var(--border);min-height:280px;overflow:hidden;position:relative;
  background:
    linear-gradient(color-mix(in srgb,var(--surface-2) 92%,var(--g2)),var(--surface-2));
  box-shadow:var(--shadow)}
.map .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);width:26px;height:26px}
.map .place{position:absolute;left:0;right:0;bottom:0;padding:.9rem 1.1rem;font-family:var(--sans);
  font-size:.85rem;background:color-mix(in srgb,var(--surface) 80%,transparent);
  border-top:1px solid var(--border);backdrop-filter:blur(6px)}
.map .grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),
    linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:38px 38px}

/* ---- Footer ---- */
footer.site{background:var(--hero-bg);color:var(--hero-muted);padding:3rem 0 2.2rem;
  border-top:1px solid rgba(255,255,255,.06)}
.foot-top{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;justify-content:space-between}
.foot-brand{display:flex;align-items:center;gap:.7rem}
.foot-brand .mark{width:44px}
.foot-brand b{font-family:var(--sans);color:var(--hero-ink);text-transform:uppercase;
  letter-spacing:.02em;font-weight:800}
.foot-note{font-size:.8rem;color:var(--hero-muted);margin-top:1.8rem;
  padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;
  gap:.6rem 1.4rem;justify-content:space-between;font-family:var(--sans)}
.foot-note .preview{color:#7fe9cf}

.reveal{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @keyframes drift{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.08)}}
  @keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
}
@media (prefers-reduced-motion:reduce){.hero .dragon{animation:none}.hero::before{animation:none}}

@media (max-width:900px){
  .paths{grid-template-columns:repeat(2,1fr)}
  .about{grid-template-columns:1fr}
  .portrait{max-width:340px}
  .contact-grid{grid-template-columns:1fr}
  .timetable li{grid-template-columns:1fr auto;gap:.3rem .8rem}
  .timetable .where{grid-column:1/2}
  .timetable .who{grid-row:1/2;grid-column:2/3}
}
@media (max-width:640px){
  .nav-links{display:none}
  .paths{grid-template-columns:1fr}
  .brand .wordmark span{display:none}
}

/* =====================================================================
   v2 additions (Oct 2026) — multi-page, organisation-first structure
   ===================================================================== */

/* ---- Header: current page + active state ---- */
.nav-links{gap:1.25rem}
.nav-links a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}

/* ---- Home router: four organisation cards + a "just me" strip ---- */
.self-route{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;
  justify-content:space-between;padding:1.1rem 1.35rem;border:1px dashed var(--border);border-radius:16px;
  background:var(--surface);font-family:var(--sans);font-weight:600}
.self-route span{color:var(--muted);font-weight:500}

/* ---- Qi Gong band (dark, reused on home and audience pages) ---- */
.qg{background:var(--hero-bg);color:var(--hero-ink);position:relative;overflow:hidden}
.qg::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(50% 70% at 90% 10%,rgba(0,161,255,.16),transparent 70%)}
.qg .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.qg .eyebrow{color:#7fe9cf}
.qg h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
.qg p{color:var(--hero-muted)}
.qg .btn-ghost{border-color:rgba(255,255,255,.22);color:var(--hero-ink)}
.compare{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.92rem}
.compare th,.compare td{padding:.62rem .7rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.09)}
.compare thead th{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hero-muted)}
.compare thead th:nth-child(2){color:#7fe9cf}
.compare td:first-child{color:var(--hero-muted)}
.compare td:nth-child(2){color:var(--hero-ink);font-weight:700}

/* ---- Audience page hero (dark, compact, left-aligned) ---- */
.page-hero{background:var(--hero-bg);color:var(--hero-ink);position:relative;overflow:hidden;
  padding:clamp(2.6rem,7vh,4.6rem) 0}
.page-hero::before{content:"";position:absolute;inset:-30% -10% 20% 30%;filter:blur(50px);z-index:0;
  background:radial-gradient(50% 50% at 60% 40%,var(--page-glow,rgba(0,161,255,.22)),transparent 70%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .eyebrow{color:#7fe9cf}
.page-hero h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:18ch}
.page-hero .lead{color:var(--hero-muted);margin-top:1.2rem}
.page-hero .hero-cta{justify-content:flex-start}
.page-hero .btn-ghost{border-color:rgba(255,255,255,.22);color:var(--hero-ink)}
.page-hero .btn-ghost:hover{border-color:var(--g1);color:var(--g1)}
.crumbs{font-family:var(--sans);font-size:.8rem;color:var(--hero-muted);margin:0 0 1.4rem}
.crumbs a{color:var(--hero-muted)}
.mini-trust{font-family:var(--sans);font-size:.8rem;color:var(--hero-muted);margin-top:1.8rem;
  display:flex;flex-wrap:wrap;gap:.4rem 1rem}
.mini-trust span::before{content:"✓ ";color:#7fe9cf}

/* ---- Barrier → answer cards ---- */
.barriers{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.barrier{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.4rem 1.35rem;
  box-shadow:var(--shadow)}
.barrier .q{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.barrier h3{font-size:1.2rem;margin:.5rem 0}
.barrier p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.55}
.text-link{font-family:var(--sans);font-weight:700;font-size:.92rem;color:var(--accent);
  display:inline-block;margin-top:1.4rem}

/* ---- Session-type cards with constraint chips ---- */
.sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem}
.session{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.45rem 1.35rem;
  box-shadow:var(--shadow);position:relative;overflow:hidden;display:flex;flex-direction:column}
.session::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.session .k{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:700}
.session h3{font-size:1.22rem;margin:.5rem 0 .5rem}
.session p{margin:0 0 1rem;color:var(--muted);font-size:.98rem;line-height:1.55}
.chips{list-style:none;padding:0;margin:auto 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font-family:var(--sans);font-size:.74rem;font-weight:600;padding:.28rem .62rem;border-radius:999px;
  border:1px solid var(--border);color:var(--muted);background:var(--surface-2)}
.chip.easy{border-color:color-mix(in srgb,var(--g1) 45%,var(--border));
  background:color-mix(in srgb,var(--g1) 10%,var(--surface));color:var(--ink)}
.session.later{border-style:dashed;box-shadow:none;background:transparent;opacity:.75}
.session.later::before{background:var(--border)}
.mock-note{font-family:var(--sans);font-size:.72rem;color:#c2410c;font-style:normal;margin:0 0 .6rem}

/* ---- Tag row (curriculum fit etc.) ---- */
.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.2rem 0 0}
.tags li{font-family:var(--sans);font-size:.85rem;font-weight:600;padding:.45rem .9rem;border-radius:999px;
  background:var(--surface);border:1px solid var(--border)}

/* ---- Split section: text + side cards ---- */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:start}
.split .sec-head{margin-bottom:0}
.stack{display:grid;gap:.8rem}
.stack .barrier{box-shadow:none}

/* ---- Formats ---- */
.formats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  counter-reset:f}
.formats li{counter-increment:f;border-top:2px solid var(--border);padding-top:.9rem}
.formats li::before{content:"0" counter(f);font-family:var(--sans);font-weight:800;font-size:.8rem;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.formats b{display:block;font-family:var(--sans);font-size:1.05rem;margin:.2rem 0 .3rem}
.formats span{color:var(--muted);font-size:.95rem;line-height:1.5;display:block}

/* ---- Practicalities box + download ---- */
.prac{display:grid;grid-template-columns:1.4fr .9fr;gap:1rem;align-items:stretch}
.facts{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:.4rem 1.35rem;box-shadow:var(--shadow)}
.facts div{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}
.facts div:last-child{border-bottom:0}
.facts dt{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);padding-top:.25rem}
.facts dd{margin:0;font-size:.98rem}
.tbc{background:color-mix(in srgb,#f59e0b 22%,transparent);border-radius:4px;padding:0 .25rem}
.download{border-radius:16px;padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:.8rem;
  background:
    radial-gradient(120% 90% at 0% 0%,rgba(0,255,143,.14),transparent 55%),
    radial-gradient(120% 90% at 100% 100%,rgba(0,161,255,.18),transparent 55%),var(--surface);
  border:1px solid var(--border);box-shadow:var(--shadow)}
.download h3{font-size:1.2rem}
.download p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.55}
.download .btn{align-self:flex-start;margin-top:auto}
.creds li.tbc-pill{border-style:dashed;background:transparent;color:var(--muted)}

/* ---- Closing CTA ---- */
.cta-card{border-radius:22px;padding:clamp(1.8rem,4vw,3rem);background:var(--hero-bg);color:var(--hero-ink);
  display:grid;grid-template-columns:1.3fr auto;gap:1.5rem;align-items:center;position:relative;overflow:hidden}
.cta-card::before{content:"";position:absolute;inset:auto -10% -60% 40%;height:140%;filter:blur(40px);
  background:radial-gradient(closest-side,rgba(0,255,143,.18),transparent)}
.cta-card > *{position:relative}
.cta-card h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.cta-card p{color:var(--hero-muted);margin:.8rem 0 0}
.cta-card .hero-cta{margin:0;flex-direction:column;align-items:stretch}
.cta-card .btn-ghost{border-color:rgba(255,255,255,.22);color:var(--hero-ink)}

@media (max-width:900px){
  .qg .wrap,.split,.prac,.cta-card{grid-template-columns:1fr}
  .barriers{grid-template-columns:1fr}
  .formats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .formats{grid-template-columns:1fr}
  .facts div{grid-template-columns:1fr;gap:.2rem}
}

/* =====================================================================
   Site build additions — navigation dropdown, mobile menu, footer links
   ===================================================================== */
.nav-links{align-items:center}
.nav-links a[aria-current="page"]{color:var(--ink)}
.dd{position:relative}
.dd summary{list-style:none;cursor:pointer;color:var(--muted);transition:color .2s}
.dd summary::-webkit-details-marker{display:none}
.dd summary::after{content:"";display:inline-block;width:.38em;height:.38em;margin:0 0 .18em .45em;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.dd summary:hover,.dd[open] summary{color:var(--ink)}
.dd.current summary{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.dd-menu{position:absolute;top:calc(100% + .9rem);left:-1rem;min-width:17rem;z-index:60;
  background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);
  padding:.4rem;display:flex;flex-direction:column}
.dd-menu a{padding:.6rem .8rem;border-radius:8px;color:var(--ink)}
.dd-menu a:hover,.dd-menu a[aria-current="page"]{background:var(--surface-2)}

.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;width:38px;height:38px;display:grid;place-items:center;
  border:1px solid var(--border);border-radius:999px;color:var(--ink)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary svg{width:18px;height:18px}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--border);
  box-shadow:var(--shadow);padding:.4rem clamp(1.1rem,4vw,2.2rem) 1rem;display:flex;flex-direction:column}
.mnav-panel a{padding:.8rem 0;border-bottom:1px solid var(--border);font-family:var(--sans);font-weight:600;
  text-decoration:none;color:var(--ink)}
.mnav-panel a:last-child{border-bottom:0}
.mnav-panel a[aria-current="page"]{color:var(--accent)}

.foot-links{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font-family:var(--sans);font-size:.85rem}
.foot-links a{color:var(--hero-muted);text-decoration:none}
.foot-links a:hover{color:var(--hero-ink)}

.prac-solo{grid-template-columns:1fr;max-width:820px}
.cta-section{padding-top:clamp(2.4rem,6vh,4rem)}

/* Content helpers */
.prose{max-width:66ch}
.prose p{margin:0 0 1.1rem}
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:2.6rem 0 1rem}
.prose ul{padding-left:1.2rem;margin:0 0 1.2rem}
.prose li{margin:.35rem 0}
.prose strong{font-weight:600}
.table-wrap{overflow-x:auto;margin:0 0 1.4rem}
.plain-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.95rem;min-width:30rem}
.plain-table th,.plain-table td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--border);vertical-align:top}
.plain-table thead th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.plain-table tbody th{color:var(--muted);font-weight:600;width:28%}
.video-slot{aspect-ratio:16/9;border-radius:16px;border:1px dashed var(--border);display:grid;place-items:center;
  color:var(--muted);font-family:var(--sans);font-size:.9rem;background:var(--surface-2);margin:0 0 1.4rem}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

@media (max-width:900px){
  .nav-links,.toggle{display:none}
  .mnav{display:block}
}
@media (max-width:420px){
  .btn-enquire{display:none}
}

/* Contact: areas covered panel (replaces the map embed) */
.areas{border-radius:18px;border:1px solid var(--border);padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow);
  background:
    radial-gradient(120% 90% at 0% 0%,rgba(0,255,143,.10),transparent 55%),
    radial-gradient(120% 90% at 100% 100%,rgba(0,161,255,.14),transparent 55%),var(--surface)}
.areas h3{font-size:1.35rem;margin:0 0 .6rem}
.areas p{color:var(--muted);margin:0}
.areas .tags{margin:1.1rem 0 1.1rem}
.areas-note{font-size:.92rem}
