
    :root {
      --bg: #07111f;
      --bg-2: #0b1830;
      --panel: rgba(16, 32, 56, 0.72);
      --panel-solid: #102038;
      --text: #f7f9fc;
      --muted: #afbdd0;
      --accent: #79c3ff;
      --accent-2: #165ac6;
      --accent-3: #a6d9ff;
      --warning: #ffd166;
      --border: rgba(255,255,255,.11);
      --shadow: 0 20px 60px rgba(0,0,0,.35);
      --radius: 24px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 15% 15%, rgba(110,231,255,.12), transparent 28%),
        radial-gradient(circle at 80% 8%, rgba(155,140,255,.14), transparent 25%),
        linear-gradient(180deg, #07111f 0%, #081426 42%, #07111f 100%);
      min-height: 100vh;
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: .16;
      background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 78%);
      z-index: -3;
    }

    a { color: inherit; }
    .container { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; }

    .nav {
      position: sticky;
      top: 0;
      z-index: 30;
      backdrop-filter: blur(18px);
      background: rgba(7, 17, 31, .76);
      border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .nav-inner {
      min-height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .brand {
      display: flex;
      align-items: center;
      text-decoration: none;
      padding: 5px 10px;
      border-radius: 15px;
      background: rgba(255,255,255,.96);
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: 0 8px 28px rgba(0,0,0,.14);
    }

    .brand-logo {
      display: block;
      width: 250px;
      max-height: 64px;
      object-fit: contain;
      object-position: left center;
      filter: drop-shadow(0 5px 16px rgba(22,90,198,.18));
    }

    .nav-links { display: flex; gap: 26px; align-items: center; color: var(--muted); font-size: .95rem; }
    .nav-links a { text-decoration: none; }
    .nav-links a:hover { color: var(--text); }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 48px;
      padding: 0 21px;
      border-radius: 999px;
      border: 1px solid transparent;
      text-decoration: none;
      font-weight: 800;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
      cursor: pointer;
    }

    .btn:hover { transform: translateY(-2px); }
    .btn-primary {
      color: #05111c;
      background: linear-gradient(135deg, var(--accent), #a9f5ff);
      box-shadow: 0 14px 38px rgba(110,231,255,.19);
    }
    .btn-secondary {
      color: var(--text);
      border-color: var(--border);
      background: rgba(255,255,255,.05);
    }

    .hero {
      position: relative;
      padding: 94px 0 72px;
      min-height: 780px;
      display: flex;
      align-items: center;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 58px;
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 8px 13px;
      border-radius: 999px;
      border: 1px solid rgba(110,231,255,.26);
      background: rgba(110,231,255,.07);
      color: #c8f8ff;
      text-transform: uppercase;
      letter-spacing: .11em;
      font-size: .78rem;
      font-weight: 800;
    }

    .eyebrow-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--accent-3);
      box-shadow: 0 0 20px rgba(121,242,166,.8);
    }

    h1 {
      margin: 23px 0 20px;
      font-size: clamp(3rem, 7vw, 6.35rem);
      line-height: .94;
      letter-spacing: -.065em;
      max-width: 760px;
    }

    .gradient-text {
      background: linear-gradient(110deg, #fff 5%, var(--accent) 47%, #d5cfff 82%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .hero-copy {
      max-width: 690px;
      font-size: clamp(1.05rem, 2vw, 1.28rem);
      color: var(--muted);
      line-height: 1.72;
    }

    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 31px; }

    .hero-proof {
      display: flex;
      gap: 18px;
      flex-wrap: wrap;
      margin-top: 30px;
      color: #cad4e3;
      font-size: .94rem;
    }
    .proof-item { display: flex; align-items: center; gap: 8px; }
    .tick {
      width: 22px; height: 22px; border-radius: 50%;
      display: grid; place-items: center;
      background: rgba(121,242,166,.12);
      color: var(--accent-3);
      border: 1px solid rgba(121,242,166,.24);
      font-size: .78rem;
      font-weight: 900;
    }

    .visual-card {
      position: relative;
      min-height: 500px;
      border: 1px solid var(--border);
      background: linear-gradient(180deg, rgba(16,32,56,.76), rgba(7,17,31,.9));
      border-radius: 32px;
      box-shadow: var(--shadow);
      overflow: hidden;
      isolation: isolate;
    }

    .visual-card::before {
      content: "";
      position: absolute;
      inset: -40%;
      background: conic-gradient(from 110deg, transparent, rgba(110,231,255,.12), transparent, rgba(155,140,255,.12), transparent);
      animation: spin 16s linear infinite;
      z-index: -1;
    }
    @keyframes spin { to { transform: rotate(360deg); } }

    .hero-loop {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      background: #07111f;
    }

    .hero-loop-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(7,17,31,.04), rgba(7,17,31,.1) 45%, rgba(7,17,31,.38) 100%);
      pointer-events: none;
    }

    .mini-card {
      position: absolute;
      right: 7%; bottom: 8%;
      width: min(250px, 62%);
      padding: 18px;
      border-radius: 18px;
      background: rgba(7,17,31,.78);
      border: 1px solid var(--border);
      backdrop-filter: blur(12px);
    }
    .mini-card strong { display: block; font-size: 1.05rem; margin-bottom: 5px; }
    .mini-card span { color: var(--muted); font-size: .88rem; line-height: 1.45; }

    .floating-badge {
      position: absolute;
      left: 7%; bottom: 11%;
      padding: 10px 13px;
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(155,140,255,.2), rgba(110,231,255,.18));
      border: 1px solid rgba(255,255,255,.14);
      font-size: .88rem;
      font-weight: 800;
      animation: float 4s ease-in-out infinite;
    }
    @keyframes float { 50% { transform: translateY(-9px); } }

    section { padding: 86px 0; }
    .section-head { max-width: 760px; margin-bottom: 38px; }
    .section-kicker {
      color: var(--accent);
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: .1em;
      font-size: .78rem;
    }
    h2 {
      margin: 11px 0 14px;
      font-size: clamp(2rem, 5vw, 3.8rem);
      line-height: 1.03;
      letter-spacing: -.045em;
    }
    .section-head p { color: var(--muted); line-height: 1.7; font-size: 1.05rem; }

    .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .card {
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: var(--panel);
      padding: 26px;
      box-shadow: 0 14px 38px rgba(0,0,0,.16);
    }
    .icon {
      width: 44px; height: 44px;
      display: grid; place-items: center;
      border-radius: 14px;
      background: linear-gradient(135deg, rgba(110,231,255,.14), rgba(155,140,255,.15));
      border: 1px solid rgba(255,255,255,.11);
      margin-bottom: 18px;
      font-size: 1.2rem;
    }
    .card h3 { margin: 0 0 10px; font-size: 1.18rem; }
    .card p { margin: 0; color: var(--muted); line-height: 1.65; }

    .video-wrap {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 28px;
      align-items: stretch;
    }
    .video-shell {
      min-height: 440px;
      border-radius: 28px;
      overflow: hidden;
      border: 1px solid var(--border);
      background:
        radial-gradient(circle at 65% 22%, rgba(110,231,255,.14), transparent 25%),
        linear-gradient(145deg, #0e213b, #07111f);
      display: grid;
      place-items: center;
      position: relative;
      box-shadow: var(--shadow);
    }
    .video-placeholder { text-align: center; padding: 28px; max-width: 520px; }
    .play {
      width: 84px; height: 84px; border-radius: 50%;
      margin: 0 auto 18px;
      display: grid; place-items: center;
      font-size: 1.8rem;
      color: #06101c;
      background: linear-gradient(135deg, var(--accent), #fff);
      box-shadow: 0 16px 44px rgba(110,231,255,.22);
    }
    .video-placeholder h3 { font-size: 1.45rem; margin: 0 0 8px; }
    .video-placeholder p { color: var(--muted); line-height: 1.6; margin: 0; }
    .video-shell iframe,
    .video-shell .promo-video {
      width: 100%;
      height: 100%;
      min-height: 440px;
      border: 0;
    }
    .video-shell .promo-video {
      display: block;
      object-fit: contain;
      background: #030915;
    }

    .feature-stack { display: grid; gap: 14px; }
    .feature-row {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 14px;
      align-items: start;
      padding: 18px;
      border: 1px solid var(--border);
      border-radius: 18px;
      background: rgba(255,255,255,.035);
    }
    .feature-row strong { display: block; margin-bottom: 4px; }
    .feature-row span { color: var(--muted); line-height: 1.55; font-size: .95rem; }

    .programme { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .session {
      display: grid;
      grid-template-columns: 62px 1fr;
      gap: 18px;
      align-items: start;
      padding: 22px;
      border: 1px solid var(--border);
      border-radius: 20px;
      background: rgba(255,255,255,.035);
    }
    .session-num {
      width: 62px; height: 62px; border-radius: 18px;
      display: grid; place-items: center;
      font-weight: 900;
      color: #06101c;
      background: linear-gradient(135deg, var(--accent), #d8fbff);
    }
    .session h3 { margin: 4px 0 6px; }
    .session p { margin: 0; color: var(--muted); line-height: 1.5; }

    .register-panel {
      position: relative;
      border: 1px solid rgba(110,231,255,.18);
      border-radius: 30px;
      overflow: hidden;
      background:
        radial-gradient(circle at 15% 0%, rgba(110,231,255,.12), transparent 31%),
        linear-gradient(145deg, rgba(16,32,56,.88), rgba(7,17,31,.94));
      box-shadow: var(--shadow);
    }

    .register-copy { padding: 40px 40px 24px; }
    .register-copy p { color: var(--muted); line-height: 1.65; max-width: 760px; }
    .form-shell {
      min-height: 520px;
      margin: 0 24px 24px;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid var(--border);
      background: rgba(255,255,255,.035);
      display: grid;
      place-items: center;
    }
    .form-shell iframe { width: 100%; min-height: 640px; border: 0; background: white; }
    .form-shell.has-embed { display: block; }
    .form-fallback { margin: 0; padding: 14px 18px; text-align: center; color: var(--muted); font-size: .9rem; }
    .form-fallback a { color: var(--accent-3); font-weight: 700; }
    .form-placeholder { max-width: 620px; padding: 38px; text-align: center; }
    .form-placeholder h3 { font-size: 1.45rem; margin-bottom: 9px; }
    .form-placeholder p { color: var(--muted); line-height: 1.6; }
    code {
      color: #d9fbff;
      background: rgba(255,255,255,.06);
      border: 1px solid var(--border);
      padding: 2px 7px;
      border-radius: 7px;
    }

    .faq { display: grid; gap: 12px; }
    details {
      border: 1px solid var(--border);
      background: rgba(255,255,255,.035);
      border-radius: 18px;
      padding: 20px 22px;
    }
    summary { cursor: pointer; font-weight: 800; }
    details p { color: var(--muted); line-height: 1.65; margin-bottom: 0; }

    .cta-strip {
      padding: 32px;
      border-radius: 28px;
      border: 1px solid rgba(110,231,255,.18);
      background: linear-gradient(130deg, rgba(110,231,255,.10), rgba(155,140,255,.10));
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }
    .cta-strip h3 { margin: 0 0 6px; font-size: 1.6rem; }
    .cta-strip p { margin: 0; color: var(--muted); }

    footer { padding: 30px 0 44px; color: #8090a7; font-size: .9rem; }
    .footer-inner { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--border); padding-top: 24px; }

    .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    @media (max-width: 920px) {
      .hero { min-height: auto; padding-top: 66px; }
      .hero-grid, .video-wrap { grid-template-columns: 1fr; }
      .visual-card { min-height: 420px; }
      .grid-3 { grid-template-columns: 1fr; }
      .programme { grid-template-columns: 1fr; }
      .nav-links a:not(.btn) { display: none; }
    }

    @media (max-width: 620px) {
      .container { width: min(calc(100% - 24px), var(--max)); }
      .nav-inner { min-height: 64px; }
      .brand { padding: 4px 7px; border-radius: 12px; }
      .brand-logo { width: 180px; max-height: 54px; }
      h1 { font-size: clamp(2.8rem, 16vw, 4.35rem); }
      .hero { padding: 54px 0 50px; }
      section { padding: 64px 0; }
      .hero-actions .btn { width: 100%; }
      .hero-proof { display: grid; gap: 10px; }
      .visual-card { min-height: 350px; }
      .formula-chip { font-size: .86rem; }
      .mini-card { width: 72%; }
      .register-copy { padding: 28px 24px 18px; }
      .form-shell { margin: 0 12px 12px; min-height: 420px; }
      .form-placeholder { padding: 28px 20px; }
      .cta-strip { align-items: stretch; flex-direction: column; }
      .cta-strip .btn { width: 100%; }
    }
  
/* Preserve the original palette and visual identity; make the timetable the focus. */
html{scroll-behavior:smooth;scroll-padding-top:108px}body{overflow-wrap:break-word}a{color:var(--accent)}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a6d9ff;outline-offset:5px}.skip-link{position:fixed;top:-90px;left:18px;background:white;color:#07111f;padding:12px 18px;z-index:100}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;background:rgba(7,17,31,.97);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}.brand-logo{object-fit:contain;background:#fff;border-radius:8px;display:block}.nav-links{gap:22px}.nav-links a{font-size:.88rem;white-space:nowrap}.menu-toggle{display:none}.hero{padding:64px 0 52px;min-height:auto}.hero-grid{gap:46px;align-items:center}.eyebrow{color:#a6d9ff;font-size:.77rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 17px}h1{font-size:clamp(2.8rem,4.7vw,4.7rem);line-height:1.06;letter-spacing:-.055em;margin-bottom:23px}.text-accent{color:#8bcbff}.hero-lead{font-size:1.08rem;line-height:1.65;max-width:580px}.hero-meta{color:#d4dfed;font-size:.88rem;font-weight:700;margin:18px 0}.visual-card{min-height:0;aspect-ratio:1/1;overflow:hidden;background:#0b1830;border:1px solid var(--border);box-shadow:0 20px 80px #0004}.hero-loop{display:block;width:100%;height:100%;object-fit:contain}.video-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.video-caption p{font-size:.9rem;font-weight:700;line-height:1.55;margin:0}.video-caption span{font-size:.8rem;color:var(--muted);font-weight:400}.video-caption button,.calendar-tools button{border:1px solid #516783;background:#10213a;color:#e9f4ff;border-radius:10px;padding:10px 13px;font-size:.8rem;white-space:nowrap}.next-card{padding:22px;background:linear-gradient(125deg,#142d4c,#0d2038);border:1px solid #42698c;border-radius:18px;margin-top:22px}.next-card .next-label{color:#a6d9ff;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.next-card h2{font-size:1.35rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 8px}.next-card p{font-size:.87rem;margin:5px 0;color:#d2dfef}.next-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.next-actions .btn{font-size:.85rem;min-height:42px;padding:11px 16px}.section{padding:76px 0}.section-heading{max-width:790px;margin-bottom:30px}h2{font-size:clamp(2rem,3.7vw,3.2rem);line-height:1.1;letter-spacing:-.045em}.section-heading>p,.section-heading div>p{line-height:1.7}.how-section{padding-top:24px}.step{font-size:.8rem;color:#8bcbff;font-weight:800;display:block;margin-bottom:22px}.card h3{font-size:1.25rem;margin:0 0 13px}.card p{font-size:.94rem;line-height:1.7;margin:0}.timetable-section{background:linear-gradient(180deg,#0b1930,#07111f);border-block:1px solid var(--border)}.schedule-heading{display:flex;max-width:none;align-items:flex-end;justify-content:space-between;gap:40px}.schedule-heading>div{max-width:720px}.schedule-heading>.btn{flex-shrink:0;margin-bottom:18px;font-size:.88rem}.list-heading{font-size:1.1rem;margin:30px 0 18px}.lesson-list{display:grid;gap:14px}.lesson-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:26px;align-items:center;padding:25px 28px;border:1px solid #293e59;border-radius:18px;background:#0d1c31;scroll-margin-top:115px}.lesson-date{font-size:1.1rem;font-weight:800;color:#f7f9fc;line-height:1.6}.lesson-date span{display:block;font-size:.79rem;font-weight:500;color:var(--muted)}.lesson-card h3{font-size:1.2rem;line-height:1.35;margin:8px 0}.lesson-card p{font-size:.85rem;margin:4px 0;color:#c1d0e3}.status-pill{display:inline-block;font-size:.67rem;line-height:1.4;text-transform:uppercase;letter-spacing:.07em;font-weight:800;border:1px solid #3b5d80;background:#17324f;color:#b8defe;padding:5px 9px;border-radius:30px}.lesson-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:190px}.lesson-actions .btn{min-height:42px;font-size:.83rem;padding:11px 17px}.calendar-link{text-align:center;font-size:.79rem;text-decoration:underline;text-underline-offset:4px}.select-date{max-width:230px;text-align:center;font-size:.73rem!important;color:#b5c6dc!important}.join-link{font-size:.85rem;font-weight:700;margin-top:10px;display:inline-block}.schedule-note,.calendar-help{font-size:.85rem;color:#bccadd;line-height:1.65}.schedule-note{margin-top:20px;max-width:790px}.calendar-panel{border:1px solid #344b69;border-radius:16px;overflow:hidden;padding:20px 24px;margin-top:24px}.calendar-panel summary,.past-panel summary,.original-form summary{cursor:pointer;font-weight:700;color:#e5effa}.calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:24px 0 8px}.calendar-tools h3{margin:0;font-size:1.2rem}.calendar-tools button:disabled{opacity:.35;cursor:default}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:17px}.calendar-weekday{text-align:center;color:#b7c9e0;font-size:.76rem;padding:7px 0}.calendar-day{min-height:60px;padding:10px;border:1px solid #273b55;border-radius:7px;color:#b6c5d8;font-size:.85rem;background:#0a1728}.calendar-day.empty{border-color:transparent;background:transparent}.calendar-day.event{background:#173c60;border-color:#7cc6ff;color:white;text-align:left;font-weight:800}.calendar-day.event span{display:block;font-size:.63rem;margin-top:6px;font-weight:500}.calendar-day.past-event{background:#122c44;color:#b3c9de;border-color:#36516d}.past-panel{margin-top:25px;padding:18px 0}.past-panel .lesson-list{margin-top:18px}.past-card{background:#0a1728}.past-card .lesson-actions .booking-link,.past-card .join-link,.past-card .select-date{display:none}.empty-message{border:1px solid #355272;border-radius:14px;padding:24px;line-height:1.7}.promo-shell{min-height:0;aspect-ratio:16/9;align-self:center;border-radius:22px;overflow:hidden;background:#07111f;border:1px solid var(--border)}.promo-shell video{width:100%;height:100%;display:block;object-fit:contain}.teaching-copy>p{line-height:1.75}.teaching-list{padding-left:20px;color:#c3d1e2;font-size:.94rem;line-height:1.7;margin:22px 0 28px}.teaching-list li{margin:8px 0}.teacher-section{background:#0b1930;border-block:1px solid var(--border)}.teacher-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.teacher-subtitle{font-size:.95rem;color:#9dcaf2}.teacher-layout>div>p{line-height:1.8}.programme-cards .card{display:flex;flex-direction:column;align-items:start}.programme-cards h3{font-size:2rem;margin-top:24px}.programme-cards .programme-title{font-weight:700;color:#eff6ff;line-height:1.5;margin-bottom:15px}.programme-cards .programme-detail{font-size:.81rem;color:#b8cee5;margin:20px 0}.programme-cards a{font-size:.86rem;font-weight:700;margin-top:auto;text-decoration:underline;text-underline-offset:4px}.booking-panel{padding:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:46px;align-items:center;border-radius:28px;background:linear-gradient(110deg,#143761,#0b223e);border:1px solid #385779}.booking-panel h2{max-width:580px}.booking-panel p{max-width:640px;line-height:1.75;color:#d1deee}.booking-panel .small-print{font-size:.83rem;color:#b4c8df}.booking-actions{display:flex;flex-direction:column;gap:21px;text-align:center}.booking-actions>a:last-child{font-size:.83rem;overflow-wrap:anywhere}.original-form{margin-top:24px;padding:12px 0}.original-form p{font-size:.88rem;line-height:1.8}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.faq details{border:1px solid var(--border);background:#0b192c;border-radius:14px;margin-bottom:12px}.faq summary{font-size:.97rem;font-weight:700;line-height:1.5;cursor:pointer}.faq p{font-size:.9rem;line-height:1.8}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:20px;color:#b3c5da}.footer-grid p{font-size:.83rem;margin:8px 0}.footer-grid strong{color:#f0f5fc}.footer-label{display:block;font-size:.75rem;margin-bottom:8px;color:#bccadd}.footer-grid a{font-size:.9rem}.copyright{grid-column:1/-1;color:#a5b7cd;margin-top:15px!important}.reveal{opacity:1;transform:none}[hidden]{display:none!important}
@media(max-width:1050px){.nav-links{gap:14px}.brand-logo{width:215px}.nav-links a{font-size:.8rem}.schedule-heading{align-items:start;flex-direction:column;gap:8px}.schedule-heading>.btn{margin-bottom:0}.hero-grid{gap:28px}.hero{padding-top:45px}.lesson-card{gap:20px;padding:22px}.booking-panel{grid-template-columns:1fr;gap:20px}.booking-actions{align-items:start;text-align:left}.video-wrap{gap:30px}}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr}.hero-media{max-width:550px;margin:20px auto 0;width:100%}.hero h1{max-width:720px;font-size:clamp(2.8rem,7vw,4.8rem)}.hero-lead{max-width:700px}.next-card{max-width:700px}.nav{position:relative;flex-wrap:wrap;padding:14px 0;min-height:78px}.nav-links{width:100%;flex-wrap:wrap;justify-content:flex-start;padding:12px 0}.nav-links a:not(.btn){display:block}.nav-links a{font-size:.9rem}.menu-toggle{display:block;margin-left:auto;padding:9px 14px;border:1px solid #516783;border-radius:8px;color:white;background:#10213a}.js .nav-links{display:none}.js .nav-links.is-open{display:flex}.teacher-layout,.faq-layout{grid-template-columns:1fr;gap:25px}.lesson-card{grid-template-columns:90px minmax(0,1fr)}.lesson-actions{grid-column:2;min-width:0;align-items:start}.calendar-link,.select-date{text-align:left}.video-wrap{grid-template-columns:1fr}.promo-shell{max-width:780px}.section{padding:60px 0}.how-section{padding-top:24px}.grid-3{gap:16px}.card{padding:24px}}
@media(max-width:620px){.container{width:calc(100% - 36px)}.brand-logo{width:190px;max-height:54px}.hero{padding:34px 0 40px}.hero h1{font-size:clamp(2.5rem,10.4vw,3.6rem);line-height:1.08}.hero-lead{font-size:1rem}.hero-meta{font-size:.78rem}.next-card{padding:20px}.hero-media{margin-top:12px}.visual-card{border-radius:22px}.video-caption{align-items:start}.video-caption span{font-size:.73rem}.video-caption button{font-size:.72rem;padding:9px}.grid-3{grid-template-columns:1fr}.lesson-card{grid-template-columns:1fr;gap:13px;padding:23px}.lesson-date{display:flex;align-items:baseline;gap:12px}.lesson-date span{display:inline}.lesson-actions{grid-column:1;width:100%;align-items:stretch}.lesson-actions .btn{width:100%}.calendar-link,.select-date{text-align:center;max-width:none}.calendar-panel{padding:18px 12px}.calendar-tools h3{font-size:1rem}.calendar-tools button{font-size:.72rem;padding:9px}.month-calendar{gap:3px}.calendar-day{min-height:50px;padding:8px 5px;font-size:.76rem}.calendar-day.event span{font-size:.53rem;letter-spacing:-.02em}.calendar-weekday{font-size:.65rem}.booking-panel{padding:27px 22px;border-radius:20px}.booking-actions{align-items:stretch}.booking-actions .btn{font-size:.88rem;padding-inline:15px}.footer-grid{grid-template-columns:1fr}.section{padding:50px 0}.how-section{padding-top:12px}.section-heading{margin-bottom:26px}.card{padding:26px}.programme-cards h3{margin-top:20px}.faq details{padding:18px}.nav-links{gap:18px}.nav-links .btn{width:100%}.copyright{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
