@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/mulish-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/mulish-700.woff2) format('woff2');
}
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/mulish-900.woff2) format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/nunito-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/nunito-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/nunito-600.woff2) format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/nunito-700.woff2) format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/nunito-800.woff2) format('woff2');
}
@font-face{font-family:'Freestyle 163';src:url('assets/freestyle163.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF}
:root{--blue:#244ce8;--blue-deep:#0a154d;--lime:#caff4f;--white:#fff;--ink:#191920;--soft-white:#f1f4ff;--cream:#f7f5f0;--font:Nunito,system-ui,sans-serif;--heading:Mulish,sans-serif;color-scheme:dark;font-family:var(--font);background:var(--cream);color:var(--white);--muted:#53617b;--input-border:#c8d0e0;--focus:#324dba;--error:#a6293a;--faq-surface:#e8eef9;--pressed-surface:#e3e8f1;--rule:#bac8e2;--link:#293f75}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);min-width:280px;min-height:100svh}
.hero-band{
 padding-bottom:32px;
 background:
  radial-gradient(ellipse min(62vw,300px) 32% at 50% 50%,rgb(115 155 255 / .28),transparent 85%),
  radial-gradient(ellipse min(100vw,640px) 64% at 48% 27%,var(--blue) 0%,#2432aa 47%,transparent 85%),
  linear-gradient(165deg,#162a7d 0%,#0a154d 78%,#070e30 100%);
 color:#fff;
}
::selection{background:var(--lime);color:var(--ink)}
html{scrollbar-color:#9a94b1 #edeaf1;scrollbar-width:thin}
button,input,a{-webkit-tap-highlight-color:transparent;font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:5px}
.landing{width:min(100%,480px);margin-inline:auto;container-type:inline-size;padding:18px 18px max(24px,env(safe-area-inset-bottom));overflow:hidden}
.brand{width:100px;margin:0 auto 20px}
.brand img{display:block;width:100%;height:auto}
h1,h2,h3,.cta{font-family:var(--heading)}
.duration-number{font-family:"Freestyle 163",cursive;font-size:20px;font-weight:400;line-height:1}
.offer{position:relative;text-align:center}
h1,h2,p{margin:0}
h1{font-weight:900;line-height:1.03;letter-spacing:-.04em}
.offer-count{display:block;font-size:clamp(60px,19.6cqi,94px);white-space:nowrap}
.offer-free{display:block;position:relative;margin:7px 0 17px;padding:4px 4px 11px;background:linear-gradient(105deg,#d8ff6a,var(--lime));color:var(--ink);font-size:clamp(37px,12.85cqi,62px);letter-spacing:-.04em;line-height:1.13;border-radius:13px;transform:rotate(-3deg);white-space:nowrap;box-shadow:0 14px 22px -15px #bbf03266}
.subject{font-size:clamp(23px,6.4cqi,30px);font-weight:800;letter-spacing:-.025em;line-height:1.25}
.format{font-size:clamp(17px,4.5cqi,22px);font-weight:600;margin-top:6px}
.accent{position:absolute;width:36px;height:36px;fill:none;stroke:var(--lime);stroke-linecap:round;stroke-width:7;pointer-events:none}
.accent-left{left:-13px;top:45px;transform:rotate(-9deg)}
.accent-right{right:-12px;top:157px;transform:rotate(170deg)}
.teacher{text-align:center;margin-top:8px;position:relative}
.portrait-stage{position:relative;width:calc(100% + 28px);margin-inline:-14px;aspect-ratio:1.02;isolation:isolate}
.portrait{position:absolute;z-index:2;top:0;left:4%;width:92%;height:auto;max-height:none;mask-image:linear-gradient(#000 55%,#000 62%,transparent 78%);-webkit-mask-image:linear-gradient(#000 55%,#000 62%,transparent 78%);pointer-events:none}
.portrait-stage{overflow:hidden}
.orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.orbit-back{z-index:1}
.orbit-front{z-index:3}
.teacher-facts{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:0}
.teacher h2{position:relative;z-index:4;font-size:clamp(35px,10cqi,48px);font-weight:900;line-height:1.17;letter-spacing:-.035em;margin-top:-8px}
.teacher-role{font-size:clamp(15px,4.1cqi,20px);margin-top:5px;letter-spacing:-.025em}
.booking{position:relative;margin-top:31px;text-align:center}
.cta-wrap{position:relative}
.cta{min-height:68px;padding:17px 24px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ink);background:linear-gradient(110deg,#d8ff6a,var(--lime));text-decoration:none;border-radius:999px;font-size:clamp(19px,5.7cqi,27px);font-weight:800;letter-spacing:-.035em;line-height:1.25;box-shadow:0 14px 32px -17px #caff5699;transition:transform .18s ease,background .18s ease}
.cta svg{width:25px;height:25px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.cta:active{transform:scale(.98)}
.duration{position:absolute;z-index:2;left:9px;top:-15px;background:var(--white);color:var(--ink);font-size:14px;line-height:1.4;padding:6px 11px;border-radius:8px;transform:rotate(-7deg);font-weight:800;box-shadow:0 7px 13px -7px #13103360}
.reassurance{font-size:clamp(13px,3.6cqi,17px);color:var(--soft-white);margin-top:10px}
/* Size the composition against the browser's smallest usable viewport, including its chrome. */
@media (orientation: portrait) {
  .landing {
    height: calc(var(--poster-vh, 1svh) * 100 - 32px);
    min-height: 520px;
    overflow-x: clip;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
    padding-top: max(24px, var(--poster-top, env(safe-area-inset-top)));
    padding-bottom: var(--poster-bottom, max(10px, env(safe-area-inset-bottom)));
  }
  .brand { flex: none; width: clamp(88px, calc(var(--poster-vh, 1svh) * 12), 120px); margin-bottom: -4px; }
  .offer { flex: none; }
  .offer-count { font-size: clamp(46px, min(19.6cqi, calc(var(--poster-vh, 1svh) * 9)), 78px); }
  .offer-free { font-size: clamp(32px, min(12.85cqi, calc(var(--poster-vh, 1svh) * 6)), 52px); margin: 5px 0 10px; padding: 3px 4px 7px; }
  .subject { font-size: clamp(21px, calc(var(--poster-vh, 1svh) * 3.6), 27px); }
  .format { font-size: clamp(16px, calc(var(--poster-vh, 1svh) * 2.7), 20px); line-height: 1.3; margin-top: 2px; }
  .accent-left { top: 25%; }
  .accent-right { top: 65%; }
  .teacher { flex: 1; min-height: 202px; display: flex; flex-direction: column; margin-top: 6px; }
  .portrait-stage { flex: 1; min-height: 150px; aspect-ratio: auto; }
  .portrait { height: 125%; width: auto; max-width: 92%; object-fit: contain; object-position: top; left: 50%; transform: translateX(-50%); }
  .teacher h2 { flex: none; font-size: clamp(30px, calc(var(--poster-vh, 1svh) * 4.8), 40px); margin-top: -4px; }
  .teacher-role { flex: none; font-size: clamp(14px, calc(var(--poster-vh, 1svh) * 2.3), 18px); line-height: 1.3; margin-top: 2px; }
  .booking { flex: none; margin-top: 25px; }
  .cta { min-height: 56px; padding-block: 13px; }
  .duration { top: -23px; padding: 5px 9px; font-size: 13px; }
  .reassurance { font-size: 13px; line-height: 1.4; margin-top: 7px; }
}

/* Offer label is a headline accent; the full-width lime CTA owns the action. */
.offer-free { width: 82%; max-width: 350px; margin-inline: auto; padding: 3px 12px 6px; font-size: clamp(30px, 10.7cqi, 50px); }
.offer-free .accent { width: 30px; height: 30px; }
.offer-free .accent-left { left: -29px; top: -10px; }
.offer-free .accent-right { right: -29px; top: auto; bottom: -12px; }
@media (orientation: portrait) {
  .offer-free { font-size: clamp(28px, min(10.7cqi, calc(var(--poster-vh, 1svh) * 5)), 43px); }
}

/* Saturation is reserved for the signup action. */
.offer-free{background:linear-gradient(120deg,#e1ff91 0%,#dafc7e 48%,#d2f66c 100%);box-shadow:none}
.accent{stroke:#d7fa80}
.format,.teacher-role,.reassurance{color:#dfe7ff}
.cta{background:var(--lime);box-shadow:0 12px 26px -10px #04082680}
.teacher h2{font-size:clamp(30px,8.8cqi,40px)}
.duration{box-shadow:0 5px 12px -8px #15152560}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* The rest of the page continues the poster's blue, paper and lime vocabulary. */
.details-surface{color:var(--ink);background:linear-gradient(#070e30 0 48px,var(--cream) 48px);color-scheme:light}
.section-band{width:100%}
.content-section{width:min(100%,1080px);margin-inline:auto;padding:64px 24px}
.content-section h2{font-size:clamp(34px,8.8vw,52px);font-weight:900;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.content-section h2 span{color:var(--blue)}
.section-lead{font-size:17px;line-height:1.55;color:var(--muted);margin-top:20px;max-width:35ch}
/* Lesson layout and card treatments copied from the user-supplied reference. */
.lessons-band{position:relative;background:var(--cream);border-radius:clamp(28px,6vw,48px) clamp(28px,6vw,48px) 0 0;padding:0 0 96px}
.lessons{display:block;width:min(100%,560px);padding:52px 20px 0}
.lessons h2{margin-top:0;font:900 clamp(34px,9.6vw,46px)/1.08 var(--heading);letter-spacing:-.035em}
.lesson-format{margin:0;font:800 13px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.lesson-card-stack{--card-separation:32px;margin-top:32px;display:grid;grid-auto-rows:1fr;gap:calc(var(--card-separation) - 14px);padding-bottom:28px}
/* Equal sticky bounds keep the deck stepped even at its container end. */
.lesson-card-stack>[data-lesson-card]{top:76px}
.lesson-card-stack>[data-lesson-card]:nth-child(2){translate:0 14px}
.lesson-card-stack>[data-lesson-card]:nth-child(3){translate:0 28px}
.lesson-takeaway{max-width:420px;margin:44px auto 0;padding:0 8px;text-align:center}
.lesson-takeaway .quote-mark{display:block;margin-bottom:12px;color:var(--blue);font:900 64px/.65 var(--heading);height:42px}
.lesson-takeaway p{margin:0;color:#39445c;font:600 italic clamp(20px,5.2vw,24px)/1.5 var(--font);letter-spacing:-.01em;text-wrap:pretty}
.lesson-card{position:sticky;top:76px;min-height:0;border-radius:30px;padding:28px 28px 32px;background:var(--lime);color:var(--ink);box-shadow:0 -12px 34px -22px #0a154d66;transform-origin:50% 0;display:flex;flex-direction:column;justify-content:flex-start;gap:24px;overflow:hidden}
.lesson-card-top{display:flex;align-items:center;gap:12px;min-height:64px}

.lesson-card-top>.lesson-number{position:relative;z-index:1}
/* A shared corner inset avoids tangencies with the rounded edge; art balances the numeral. */
.lesson-vignette{position:absolute;top:16px;right:16px;width:126px;max-width:40%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:top right;opacity:.56;pointer-events:none}
.lesson-card--blue .lesson-vignette,.lesson-card--navy .lesson-vignette{filter:brightness(0) invert(1);opacity:.46}
.lesson-number-value{font:900 56px/.9 var(--heading);letter-spacing:-.04em}

.lesson-card-title{margin:0;font:900 27px/1.12 var(--heading);letter-spacing:-.03em}
.lesson-card-description{margin:12px 0 0;font-size:17px;line-height:1.55;color:#2f3a14}
.lesson-card--blue{background:radial-gradient(ellipse 80% 70% at 85% 0%,#5979f8,transparent 70%),var(--blue);color:#fff}
.lesson-card--blue .lesson-number{color:var(--lime)}
.lesson-card--navy{background:radial-gradient(ellipse 80% 70% at 15% 0%,#22349c,transparent 70%),var(--blue-deep);color:#fff}
.lesson-card--blue .lesson-card-description,.lesson-card--navy .lesson-card-description{color:#e4e9ff}
@media(max-width:350px){.lesson-card{padding:24px 20px 28px}.lesson-card-top{gap:8px}.lesson-number-value{font-size:48px}.lesson-card-title{font-size:25px}}
.faq-band{background:var(--faq-surface);border-radius:32px 32px 0 0}
.faq-intro{position:relative}
.faq-intro h2{position:relative;z-index:1}
.question-symbol{position:absolute;right:0;top:-16px;font:900 140px/1 var(--heading);color:#cad6ee;transform:rotate(12deg);pointer-events:none}
.faq-list{margin-top:32px}
.faq details{overflow:hidden}
.faq summary{list-style:none;min-height:80px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:18px;font-weight:800;line-height:1.35;cursor:pointer;touch-action:manipulation}
.faq summary::-webkit-details-marker{display:none}
.faq summary>span{width:36px;height:36px;flex:none;position:relative;background:#fff;border-radius:50%;transition:background .36s,transform .36s cubic-bezier(.22,.68,0,1)}
.faq summary>span::before,.faq summary>span::after{content:'';position:absolute;background:#253d89;width:14px;height:2px;left:11px;top:17px;border-radius:2px}
.faq summary>span::after{transform:rotate(90deg)}
.faq summary[aria-expanded="true"]>span{transform:rotate(45deg)}
.faq summary[aria-expanded="true"]>span{background:#d4def5}
.faq summary[aria-expanded="true"]{color:#263f92}
.faq-answer{padding:0 38px 24px 0;color:var(--muted);font-size:16px;line-height:1.6}
.faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:4px}
.signup-band{position:relative;z-index:1;margin-top:-32px;border-radius:32px 32px 0 0;background:radial-gradient(ellipse 90% 55% at 85% 0%,var(--blue) 0%,transparent 72%),linear-gradient(165deg,#162a7d 0%,#0a154d 80%);color:#fff;padding:60px 20px 96px;overflow:hidden}
.inline-signup{display:block;width:min(100%,560px);padding:0}
.inline-signup h2{margin:0;font:900 clamp(34px,9.6vw,46px)/1.12 var(--heading);letter-spacing:-.035em}
.inline-signup h2 span{display:inline-block;margin-top:8px;padding:2px 14px 6px;border-radius:12px;background:linear-gradient(120deg,#e1ff91 0%,#dafc7e 48%,#d2f66c 100%);color:#191920;transform:rotate(-3deg)}
.signup-steps{list-style:none;margin:32px 0 0;padding:0;position:relative;display:flex;flex-direction:column;gap:18px}
.signup-steps::before{content:'';position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:linear-gradient(#caff4f,rgb(202 255 79 / .2));transform-origin:50% 0}
.signup-steps li{position:relative;display:flex;align-items:center;gap:14px}
.signup-steps li>span{width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:900 16px/1 var(--heading);flex:none}
.signup-steps p{font:700 17px/1.35 var(--font)}
.inline-form-panel{margin-top:32px;background:var(--cream);color:var(--ink);border-radius:28px;padding:24px 20px 20px;box-shadow:0 30px 60px -30px #000a;min-width:0}
.lead-form{display:flex;flex-direction:column;text-align:left;gap:20px}
.lead-form label{display:block;font-size:14px;font-weight:800;line-height:1.4;margin-bottom:8px}
.lead-form input{display:block;width:100%;height:56px;min-height:56px;border:1.5px solid var(--input-border);border-radius:14px;background:#fff;color:var(--ink);padding:14px 16px;font:400 17px/1.4 var(--font);caret-color:var(--blue);scroll-margin-block:18px;transition:border-color .16s,background .16s}
.lead-form input::placeholder{color:#667289;font-size:16px;font-weight:400;opacity:1}
.lead-form input:focus{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
.lead-form input[aria-invalid=true]{border-color:var(--error);background:#fff9f8}
.field-error,.submit-status{color:var(--error);font-size:14px;line-height:1.4;margin-top:7px}
.submit-status:empty{display:none}
.inline-submit,.form-submit{border:0;min-height:62px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 8px 8px 26px;background:var(--lime);color:var(--ink);border-radius:999px;font:900 19px/1.2 var(--heading);cursor:pointer;box-shadow:0 14px 28px -16px #4c7a00aa;transition:transform .15s,opacity .2s}
.form-submit-arrow{width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;flex:none}
.form-submit-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.inline-submit:active,.form-submit:active{background:#bde846;transform:translateY(1px)}
.inline-submit:disabled,.form-submit:disabled{opacity:.7;cursor:wait}
.inline-submit:focus-visible,.form-submit:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.inline-note,.form-note{font-size:13px;text-align:center;color:var(--muted);margin:0;line-height:1.4}
.inline-confirmation{text-align:center;padding:32px 4px}
.inline-confirmation h3{font:900 28px/1.13 var(--heading);margin:0 0 14px;letter-spacing:-.03em;outline:none}
.inline-confirmation>p{font-size:16px;line-height:1.55;color:var(--muted)}
.confirmation-mark{width:76px;height:76px;background:var(--lime);border-radius:50%;display:grid;place-items:center;margin:0 auto 20px}
.confirmation-mark svg{width:38px;height:38px;fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--focus);font-weight:800;text-decoration-thickness:1px;text-underline-offset:4px;margin-top:20px}
.contact-footer{padding-bottom:28px}
.contact-footer h2{font-size:clamp(28px,7.5vw,38px);line-height:1.15}
.contact-footer>div>p{font-size:16px;line-height:1.5;color:var(--muted);margin-top:14px}
.social-links{display:grid;gap:8px;margin-top:30px}
.social-links a{display:flex;align-items:center;gap:16px;min-height:64px;color:var(--link);font-size:20px;font-weight:800;text-decoration:none;border-radius:12px}
.social-links svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-links svg:last-child{margin-left:auto;width:20px;height:20px}
.contact-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.contact-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#394564;font-size:16px;font-weight:700;text-underline-offset:4px}
.contact-links:not(:has(a:not([hidden]))){display:none}
.footer-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;font-size:12px;margin-top:40px;color:var(--muted)}
.footer-brand img{width:128px;height:auto;flex:none;filter:brightness(0);opacity:.9}
/* Dialog: one white card, one scrolling body, stable visual-viewport placement. */
#signup{position:fixed;inset:0;margin:0;width:100%;height:100%;min-height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:transparent;color:var(--ink);color-scheme:light;overflow:hidden}
#signup[open]{display:flex;align-items:center;justify-content:center}
#signup::backdrop{position:fixed;inset:0;background:rgb(8 12 44 / .44)}
/* Blur the source content too, including the area sampled by Safari browser bars. */
body:has(#signup[open])>main{filter:blur(7px);pointer-events:none}
html:has(#signup[open]){overflow:hidden;overscroll-behavior:none}
body.signup-locked{position:fixed;top:var(--signup-scroll-top);left:0;right:0;width:100%;overflow:hidden}
body:has(#signup[open]){overflow:hidden}
.dialog-card{position:absolute;top:calc(var(--dialog-top,0px) + var(--dialog-height,100dvh) / 2);left:50%;translate:-50% -50%;width:calc(100% - 32px);max-width:520px;height:var(--confirmation-card-height,auto);max-height:calc(var(--dialog-height,100dvh) - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 20px 70px #030a2e40}
.ticket-header{position:relative;flex:none;padding:20px 20px 16px;background:#fff;color:var(--ink)}
#signup-title{font:900 clamp(22px,6.2vw,24px)/1.15 var(--heading);letter-spacing:-.03em;outline:none;margin:0;padding-right:44px}
.header-offer>p{font-size:13px;line-height:1.5;margin-top:10px;color:var(--muted)}
.close-dialog{position:absolute;right:12px;top:12px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#eef1f6;color:#253455;z-index:2;cursor:pointer}
.close-dialog svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.close-dialog:active{background:var(--pressed-surface)}
.close-dialog:focus-visible{outline:2px solid var(--focus);outline-offset:-5px}
.signup-body{flex:1 1 auto;min-height:0;background:#fff;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aab7ce transparent}
.ticket-body{padding:8px 20px 24px}
#signup input:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}
#signup input[aria-invalid=true]:focus{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
#signup .form-submit{box-shadow:0 8px 18px -14px #4c7a0066}
.dialog-card.is-opening{will-change:transform,opacity}
.dialog-card.is-confirmed{height:var(--confirmation-card-height)}
.is-confirmed .ticket-header{height:28px;min-height:28px;padding:0}
.is-confirmed .signup-body{display:flex}
.signup-success{text-align:center;width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px}
#signup .confirmation-mark{width:56px;height:56px;margin-bottom:20px}
#signup .confirmation-mark svg{width:28px;height:28px}
#success-title{font:900 28px/1.13 var(--heading);letter-spacing:-.03em;outline:none;margin:0}
#success-description{font-size:16px;line-height:1.55;color:var(--muted);margin-top:16px}
.success-done{display:block;width:100%;min-height:54px;border:1.5px solid #c5cfe1;border-radius:999px;background:transparent;color:var(--ink);font-weight:800;margin-top:24px}
@media(hover:hover) and (pointer:fine){.close-dialog:hover{background:var(--pressed-surface)}}
@media(max-width:699px){
 #signup{inset:0;height:100%;min-height:100dvh;padding:0}
 #signup .dialog-card{position:absolute;top:calc(var(--dialog-top,0px) + var(--dialog-height,100dvh) / 2);left:12px;translate:0 -50%;width:calc(100% - 24px);max-width:none;max-height:calc(var(--dialog-height,100dvh) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:26px;box-shadow:0 16px 60px #030a2e40}
 #signup-title{font-size:22px}
}
.details-surface a:focus-visible{outline-color:var(--focus)}
@media(min-width:700px){
 .landing{padding-top:24px;padding-bottom:30px}
 .content-section{padding:88px 48px}
 .faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
 .faq-list{margin-top:0}
 .faq-band{border-radius:0}
 .question-symbol{position:static;display:block;margin:32px 0 -20px 40px;font-size:180px}
 .contact-footer{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;padding-top:64px;padding-bottom:28px}
 .social-links{margin:0}
 .contact-links{grid-column:2}
 .footer-brand{grid-column:1/-1}
}
@media(max-width:350px){
 .landing{padding-inline:14px}
 .content-section{padding:52px 20px}
 .content-section h2{font-size:32px}
 #signup-title{font-size:22px}
 .question-symbol{font-size:110px;top:0}
}
@media(min-width:700px) and (max-height:450px){#signup{padding-block:8px}}
@media(hover:hover){.cta:hover{transform:translateY(-2px)}.social-links a:hover,.contact-links a:hover{color:var(--blue)}.inline-submit:hover,.form-submit:hover{background:#bfe94c}.faq summary:hover{color:#263f92}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(scripting:none){.teacher-facts{position:relative;clip-path:none;width:auto;height:auto;white-space:normal;list-style:none;font-size:14px;display:flex;gap:12px;justify-content:center}.portrait-stage{margin-bottom:40px}}

@media(min-width:700px){.content-section.lessons{padding:52px 20px 0}.content-section.inline-signup{padding:0}}
@media(max-width:350px){.content-section.lessons{padding:52px 20px 0}.content-section.inline-signup{padding:0}.inline-submit,.form-submit{font-size:17px;padding-left:20px}.header-offer>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.lesson-card-stack{gap:var(--card-separation);padding-bottom:0}.lesson-card-stack>[data-lesson-card]:nth-child(n){position:relative;top:auto;translate:none}}

/* Form rhythm: 8px label gap, 20px between fields, 24px after the header. */
.lead-form .field-error{margin-top:8px;line-height:1.45}
.lead-form .submit-status:not(:empty){margin:0}

/* Native clicks keep cancellation on scroll and avoid duplicate touch handlers. */
:where(button,a[href],summary){
 touch-action:manipulation;
 -webkit-tap-highlight-color:transparent;
}
:where(button,summary){user-select:none;-webkit-user-select:none}
:where(button,a[href],summary):focus-visible{outline:2px solid var(--focus);outline-offset:4px}
button,.text-link,.contact-links a,.social-links a{min-width:44px;min-height:44px}
button,.cta{transition:transform 120ms ease-out,background-color 120ms ease-out,opacity 120ms ease-out}
.social-links a,.contact-links a,.text-link,.faq summary{transition:background-color 120ms ease-out,color 120ms ease-out}
@media(hover:none),(pointer:coarse){
 .cta:active,button:enabled:active{transform:scale(.985)}
 .social-links a:active,.contact-links a:active,.text-link:active{background-color:var(--pressed-surface)}
 .faq summary:active{background-color:#dce5f5}
}
#signup .close-dialog:active,.success-done:active{background:#dce3ee}
button:disabled:active{transform:none}
@media(prefers-reduced-motion:reduce){
 button,.cta,.social-links a,.contact-links a,.text-link,.faq summary{transition:none}
 button:enabled:active,.cta:active{transform:none}
}

.cta[data-pressed],button:enabled[data-pressed]{transform:scale(.985)}
#signup .close-dialog[data-pressed],.success-done[data-pressed]{background:#dce3ee}
.social-links a[data-pressed],.contact-links a[data-pressed],.text-link[data-pressed]{background-color:var(--pressed-surface)}
.faq summary[data-pressed]{background-color:#dce5f5}
@media(prefers-reduced-motion:reduce){.cta[data-pressed],button:enabled[data-pressed]{transform:none}}

/* Initial reveal state, before the main module loads. */
    @media(prefers-reduced-motion:no-preference){
      html[data-hero-intro="pending"] .landing :is(.brand,.offer-count,.offer-free,.subject,.format,.portrait,.teacher h2,.teacher-role,.booking){opacity:0}
    }

/* The numeral leads; its small label shares the baseline. */
.lesson-number{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}
.lesson-number-label{font:800 14px/1.2 var(--font);letter-spacing:0}

/* JS prepares only upcoming content; plain HTML always stays readable. */
@media(prefers-reduced-motion:no-preference){
 [data-reveal-state="pending"]{opacity:0}
 [data-reveal-state="playing"]{will-change:opacity,transform}
}
@media(prefers-reduced-motion:reduce){[data-reveal-state]{opacity:1}}

/* The heading travels with the deck and exits above it, never over its text. */
.lesson-sequence{display:flex;flex-direction:column;--lesson-heading-height:100px;--lesson-card-height:300px;--heading-reserve:calc(var(--lesson-card-height) + 60px)}
.lesson-sequence>.section-intro{position:sticky;top:16px;z-index:4;background:var(--cream);margin-bottom:var(--heading-reserve)}
.lesson-sequence>.lesson-card-stack{margin-top:calc(32px - var(--heading-reserve))}
.lesson-sequence .lesson-card-stack>[data-lesson-card]{top:calc(16px + var(--lesson-heading-height) + 32px)}
@media(prefers-reduced-motion:reduce){
 .lesson-sequence>.section-intro{position:relative;top:auto;margin-bottom:0}
 .lesson-sequence>.lesson-card-stack{margin-top:32px}
 .lesson-sequence .lesson-card-stack>[data-lesson-card]{top:auto}
}

.inline-confirmation .confirmation-mark{width:56px;height:56px}
.inline-confirmation .confirmation-mark svg{width:28px;height:28px}
/* Wide viewports use horizontal space instead of a tall poster. */
@media (orientation: landscape) {
 .landing{width:min(100%,1100px);height:calc(var(--poster-vh,1svh)*100 - 32px);min-height:320px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:16px 48px;padding:24px 32px;overflow:visible}
 .brand{grid-column:1;grid-row:1;width:136px;margin:0 auto}
 .offer{grid-column:1;grid-row:2;align-self:center}
 .offer-count{font-size:clamp(46px,7vw,84px)}
 .offer-free{font-size:clamp(28px,4vw,44px);margin-bottom:18px}
 .subject{font-size:clamp(20px,2.8vw,28px)}.format{font-size:18px}
 .teacher{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;min-height:0;margin:0;align-self:stretch;justify-content:center}
 .portrait-stage{flex:1;min-height:0;max-height:530px;aspect-ratio:auto}
 .portrait{height:125%;width:auto;max-width:92%;object-fit:contain;object-position:top;left:50%;transform:translateX(-50%)}
 .teacher h2{font-size:clamp(26px,3.5vw,40px);margin-top:0}.teacher-role{font-size:clamp(14px,1.6vw,18px)}
 .booking{grid-column:1;grid-row:3;margin-top:20px}
 .cta{font-size:clamp(17px,2vw,24px);min-height:56px;padding:13px 16px}.reassurance{font-size:14px}
}
@media (orientation:landscape) and (max-height:500px){
 .landing{padding:8px 24px;gap:6px 32px;min-height:288px}
 .brand{width:64px}.offer-count{font-size:40px}
 .offer-free{font-size:26px;margin:4px auto 8px;padding:2px 8px 4px}
 .subject{font-size:18px}.format{font-size:14px;margin-top:0}
 .booking{margin-top:14px}.cta{min-height:44px;padding:10px 12px;font-size:16px}
 .duration{font-size:11px;padding:3px 8px;top:-19px}.duration-number{font-size:16px}
 .reassurance{font-size:12px;margin-top:5px}
 .teacher h2{font-size:25px}.teacher-role{font-size:13px}
}
@media (max-width:1099px), (hover:none), (pointer:coarse){
 .lesson-sequence>.section-intro{position:relative;top:auto;margin-bottom:0}
 .lesson-sequence>.lesson-card-stack{margin-top:32px;gap:var(--card-separation);padding-bottom:0}
 .lesson-sequence .lesson-card-stack>[data-lesson-card]{position:relative;top:auto;translate:none}
}
@media (orientation:landscape) and (min-height:501px){
 .landing{grid-template-rows:1fr auto 1fr}
 .brand{align-self:end;margin-bottom:0}
 .booking{align-self:start;margin-top:36px}
}
@media (orientation:portrait) and (max-width:350px){
 .cta{font-size:17px;padding-inline:14px;gap:8px}
}

/* Both states share a grid cell; the inert form preserves responsive height. */
.inline-form-panel{display:grid}
.inline-form-panel>form,.inline-form-panel>.inline-confirmation{grid-area:1 / 1;min-width:0}
.inline-form-panel.is-confirmed>form{visibility:hidden;pointer-events:none}
.inline-form-panel>.inline-confirmation{align-self:center}


.contact-footer h2{max-width:16ch}
.contact-footer>div>p{max-width:34ch}
.social-links{align-self:center;gap:12px}
.social-links a{font-size:clamp(17px,2vw,20px);padding:8px 0;line-height:1.35}
.social-links svg{flex:none}
.footer-brand{margin-top:48px;padding-top:8px}
.bot-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
@media(min-width:700px) and (max-width:1099px){.faq,.contact-footer{gap:40px}}


.script-notice{padding:16px 24px;color:var(--ink);background:var(--lime);text-align:center;font-size:16px}

@media(min-width:1100px){
 .inline-signup{width:min(100%,1100px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;column-gap:64px;align-items:start}
 .inline-intro{grid-column:1;grid-row:1}
 .signup-steps{grid-column:1;grid-row:2}
 .inline-form-panel{grid-column:2;grid-row:1 / 3;margin-top:0}
}

@media(min-width:700px){.footer-brand img{width:144px}}
@media(orientation:portrait) and (max-height:650px){.landing{padding-top:max(16px,var(--poster-top,env(safe-area-inset-top)))}}

@media(prefers-reduced-motion:reduce){.faq summary>span{transition:none}}



/* TikTok preview: empty media slots, counts supplied in source screenshots. */
.tiktok-band{background:var(--cream);overflow:hidden}
.tiktok-showcase{text-align:center;padding-top:32px;padding-bottom:72px}
.tiktok-showcase h2{font-family:var(--heading);font-size:clamp(28px,4vw,52px);font-weight:900;line-height:1.12;letter-spacing:-.035em}
.tiktok-showcase h2 span{color:var(--blue)}
.tiktok-intro{margin:20px auto 0;color:var(--muted);font-size:clamp(16px,1.7vw,21px);line-height:1.5;max-width:540px}
.tiktok-previews{display:flex;align-items:center;justify-content:center;gap:20px;max-width:920px;margin:48px auto 36px;padding:16px}
.tiktok-placeholder{position:relative;flex:1;min-width:0;aspect-ratio:9/13;background:#e5eaf3;border:1px solid #c9d3e6;border-radius:18px;display:grid;place-items:center;color:#53617b;box-shadow:0 16px 25px -20px #14244c40}
.tiktok-placeholder--left{transform:rotate(-5deg)}
.tiktok-placeholder--right{transform:rotate(5deg)}
.tiktok-placeholder--center{flex:1.13;z-index:1;background:#dce5f6;border-color:#b9c9e6}
.tiktok-empty{font-size:14px;padding:12px}
.tiktok-views{position:absolute;bottom:18px;left:12px;right:12px;font-size:20px;font-weight:800;color:#253d89}
.tiktok-views span{font-size:13px;font-weight:600}
.tiktok-profile{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 26px;border:1px solid #244ce8;border-radius:999px;color:#244ce8;font-size:18px;font-weight:800;text-decoration:none;touch-action:manipulation}
.tiktok-profile svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tiktok-profile:active{background:#e8eef9}
.tiktok-handle{margin-top:12px;font-size:14px;color:var(--muted)}
@media(max-width:600px){.tiktok-showcase{padding-bottom:56px}.tiktok-previews{gap:9px;padding:8px 0;margin:30px -4px 28px}.tiktok-placeholder{border-radius:12px;aspect-ratio:9/16}.tiktok-placeholder--center{flex:1.2}.tiktok-empty{font-size:11px;padding:6px}.tiktok-views{font-size:15px;bottom:12px;left:4px;right:4px}.tiktok-views span{display:block;font-size:10px}.tiktok-intro{max-width:300px;margin-top:16px}}

/* Silent decorative previews: no interactive media controls. */
.tiktok-placeholder{overflow:hidden;background:#16244b;isolation:isolate}
.tiktok-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.tiktok-placeholder::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.tiktok-views{z-index:1;bottom:14px;left:14px;right:auto;display:flex;align-items:center;gap:7px;font-family:var(--font);font-size:25px;font-weight:600;line-height:1;color:white;text-shadow:0 1px 3px #0005;pointer-events:none}
.tiktok-views svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;flex:none}
@media(max-width:600px){.tiktok-views{font-size:16px;gap:4px;bottom:10px;left:8px}.tiktok-views svg{width:15px;height:15px}}

/* Section rhythm: offer → program → teacher → answers → signup. */
.teacher-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 18px;margin-top:8px;border:1px solid #ffffff70;border-radius:999px;color:#fff;font-size:15px;font-weight:700;text-decoration:none;touch-action:manipulation}
.teacher-link:active{background:#ffffff18}
.teacher-link:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.lessons-band{background:var(--cream)}
.lesson-takeaway{margin-top:40px;margin-bottom:44px}
.tiktok-band{background:var(--faq-surface);border-radius:0;scroll-margin-top:0}
.faq-band{background:var(--cream);border-radius:0}
.signup-band{margin-top:0;border-radius:0}
.tiktok-showcase{padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:0}
.tiktok-showcase h2{font-size:clamp(26px,3.8vw,46px);line-height:1.12;margin:0}
.tiktok-intro{margin:12px 0 0;font-size:clamp(15px,1.5vw,19px);line-height:1.4}
.tiktok-previews{width:min(100%,calc((100svh - 280px)*1.85),840px);max-width:none;margin:24px auto;padding:10px;gap:16px;flex:none}
.tiktok-placeholder{aspect-ratio:9/14;border:0;border-radius:16px;flex:1}
.tiktok-placeholder--center{flex:1.13}
.tiktok-profile{min-height:44px;padding:10px 22px;font-size:17px}
.tiktok-handle{margin-top:8px;font-size:13px}
@media(max-width:600px){.tiktok-showcase{padding:26px 18px}.tiktok-previews{gap:9px;padding:8px 0;margin:22px auto}.tiktok-showcase h2{font-size:28px}.tiktok-placeholder{border-radius:12px}.tiktok-intro{max-width:300px}}
@media(orientation:landscape) and (max-height:600px){
 .tiktok-showcase{display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:auto auto auto auto;column-gap:28px;padding:24px;min-height:100svh;align-content:center;text-align:left}
 .tiktok-showcase h2{grid-column:1;font-size:clamp(23px,3.4vw,34px)}
 .tiktok-intro{grid-column:1;margin:10px 0 18px;font-size:14px}
 .tiktok-previews{grid-column:2;grid-row:1/5;width:min(100%,calc((100svh - 70px)*1.75));margin:0;justify-self:center;gap:9px;padding:8px}
 .tiktok-profile{grid-column:1;justify-self:start;font-size:15px;padding:10px 16px}
 .tiktok-handle{grid-column:1}
}

/* Approved rounded sections and text-only secondary action. */
.details-surface{--section-radius:clamp(28px,4vw,48px);background:linear-gradient(#070e30 0 48px,var(--faq-surface) 48px)}
.lessons-band,.faq-band{border-radius:var(--section-radius)}
.faq-band{position:relative;z-index:2}
.signup-band{margin-top:calc(-1 * var(--section-radius));padding-top:calc(60px + var(--section-radius))}
.footer-band{position:relative;z-index:2;margin-top:calc(-1 * var(--section-radius));background:var(--cream);border-radius:var(--section-radius) var(--section-radius) 0 0}
.teacher-link{border:0;border-radius:0;background:none;padding:8px 4px;text-decoration:none}
.teacher-link:active{background:none;color:var(--lime)}

/* Give the teacher section breathing room while retaining short-screen fit. */
@media(min-height:601px){
 .tiktok-showcase{padding-block:clamp(40px,7svh,72px);padding-inline:clamp(24px,4vw,48px)}
 .tiktok-previews{width:min(100%,calc((100svh - 410px)*1.75),840px);margin-block:clamp(28px,4svh,40px);gap:clamp(12px,2vw,24px)}
 .tiktok-intro{margin-top:18px}
 .tiktok-handle{margin-top:12px}
}
@media(max-width:600px) and (min-height:601px){
 .tiktok-showcase{padding-inline:28px}
 .tiktok-previews{gap:12px}
}
@media(orientation:portrait) and (max-height:600px){
 .tiktok-showcase{padding:32px 26px}
 .tiktok-previews{margin-block:24px;gap:12px}
}

/* Confirmed school contacts. */
.contact-footer{display:block}
.footer-heading h2{max-width:none}
.footer-heading>p{max-width:38ch}
.footer-contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;margin-top:36px}
.footer-group h3{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 14px}
.footer-group a{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:10px 0;color:var(--link);text-decoration:none;touch-action:manipulation}
.footer-group a>span{font-size:13px;color:var(--muted)}
.footer-group a>strong{font-size:18px;font-weight:700;overflow-wrap:anywhere}
.footer-networks a{flex-direction:row;align-items:center;justify-content:space-between;font-size:20px;font-weight:800;min-height:60px}
.footer-networks a>span{font-size:22px;color:var(--link)}
.footer-group a:active{color:var(--blue)}
.footer-group a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.footer-brand{border-top:1px solid #d5dbea}
@media(max-width:600px){.footer-contact-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.footer-group a>strong{font-size:17px}.footer-group a{min-height:64px}.footer-networks a{min-height:52px}}

/* Compact contact rows and accessible social icons. */
.footer-contact-compact{margin-top:24px;display:grid;gap:2px}
.footer-contact-compact>a{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--link);font-size:16px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.footer-contact-compact svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-icon-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.footer-icon-row a{display:grid;place-items:center;width:48px;height:48px;border:1px solid #c9d3e6;border-radius:50%;color:var(--link);touch-action:manipulation}
.footer-contact-compact a:active{color:var(--blue);background:#e8eef9}
.footer-contact-compact a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.contact-footer .footer-brand{margin-top:28px;padding-top:20px}
@media(min-width:700px){.contact-footer{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.footer-contact-compact{margin-top:0}.contact-footer .footer-brand{grid-column:1/-1}}
@media(max-width:350px){.footer-contact-compact>a{font-size:14px;gap:10px}}

.footer-icon-row .brand-icon{fill:currentColor;stroke:none;width:22px;height:22px}


/* Blue page canvas around the light content sections. */
:root,body{background:#0a154d}
.details-surface{background:linear-gradient(#070e30 0 48px,#0a154d 48px)}
.tiktok-band{background:radial-gradient(ellipse 85% 65% at 50% 20%,#244ce866,transparent 85%),linear-gradient(165deg,#162a7d,#0a154d 80%);color:#fff}
.tiktok-showcase h2{color:#fff}
.tiktok-showcase h2 span{color:var(--lime)}
.tiktok-intro,.tiktok-handle{color:#dfe7ff}
.tiktok-profile{color:#fff;border-color:#fff}
.tiktok-profile:active{background:#ffffff18}
.details-surface .tiktok-profile:focus-visible{outline-color:#fff}

/* Continue the teacher background underneath both rounded white neighbours. */
.lessons-band{z-index:2}
.tiktok-band{position:relative;z-index:1;margin-block:calc(-1 * var(--section-radius));padding-block:var(--section-radius)}

.callback-note{margin:4px 0 0;font-size:13px;line-height:1.5;text-align:center;color:var(--muted);text-wrap:pretty}

/* Summary of the three lessons, within the existing light program section. */
.lesson-results{margin-top:32px;padding-top:28px;border-top:1px solid #cdd4e2}
.lesson-results h3{max-width:760px;margin:0 auto 24px;text-align:center;font:900 clamp(26px,3vw,32px)/1.15 var(--heading);letter-spacing:-.025em;text-wrap:balance}
.lesson-results h3 span{color:var(--blue)}
.lesson-results-list{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.lesson-results-list li{display:flex;gap:14px;align-items:flex-start}
.lesson-results-list svg{width:24px;height:24px;flex:none;margin-top:2px;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none}
.lesson-results-list h4{margin:0 0 4px;font:900 18px/1.25 var(--heading);color:var(--ink)}
.lesson-results-list p{margin:0;font-size:15px;line-height:1.45;color:var(--muted);text-wrap:pretty}
.lesson-results-action{max-width:550px;margin:24px auto 0;text-align:center}
.lesson-results-cta{display:flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:12px 20px;background:var(--blue);border-radius:999px;color:#fff;font:900 17px/1.25 var(--heading);text-decoration:none;touch-action:manipulation}
.lesson-results-cta svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lesson-results-cta:active{background:#203ab8}
.lesson-results-cta:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.lesson-results-action>p{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}

/* Compact trailing space while retaining the rounded section joins. */
.lessons-band{padding-bottom:clamp(32px,4vw,48px)}
.content-section.faq{padding-bottom:clamp(20px,2.5vw,32px)}

/* A short guide for parents, with one contact action. */
.learning-formats{position:relative;z-index:2;margin-bottom:24px;background:var(--cream);border-radius:var(--section-radius)}
.learning-formats-inner{max-width:1080px;padding:44px 24px 32px}
.learning-formats-inner>h2{text-align:center;font-size:clamp(30px,4vw,42px)}
.learning-formats-intro{max-width:560px;margin:16px auto 28px;text-align:center;color:var(--muted);font-size:16px;line-height:1.5}
.learning-formats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.learning-format{padding:26px;border-radius:20px;background:#e8eef9;color:var(--ink);display:flex;flex-direction:column}
.learning-format--group{background:#152363;color:#fff}
.learning-format h3{font:900 25px/1.2 var(--heading);margin:0 0 16px}
.learning-format-price{margin:0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:16px;line-height:1.35}
.learning-format-price strong{font:900 clamp(32px,4vw,40px)/1.15 var(--heading);letter-spacing:-.02em;color:var(--blue)}
.learning-format--group .learning-format-price strong{color:var(--lime)}
.learning-format-description{margin:16px 0 20px;font-size:16px;line-height:1.5;color:var(--muted)}
.learning-format--group .learning-format-description{color:#dde6ff}
.learning-format ul{margin:0 0 20px;padding-left:20px;display:grid;gap:10px;font-size:16px;line-height:1.45}
.learning-format li::marker{color:var(--blue)}
.learning-format--group li::marker{color:var(--lime)}
.learning-format-terms{margin:auto 0 0;padding-top:16px;border-top:1px solid #8797bd55;font-size:13px;line-height:1.5;color:var(--muted)}
.learning-format--group .learning-format-terms{color:#dde6ff}
.learning-formats-more{display:flex;align-items:center;justify-content:center;gap:16px;max-width:530px;min-height:54px;padding:14px 20px;margin:28px auto 0;border-radius:999px;background:var(--blue);color:white;text-decoration:none;text-align:center;font:900 17px/1.3 var(--heading);touch-action:manipulation}
.learning-formats-more svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.learning-formats-more:active{background:#203ab8}
.learning-formats-more:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.learning-formats-contact{margin:12px auto 0;text-align:center;font-size:13px;line-height:1.5;color:var(--muted)}
@media(max-width:699px){.learning-formats-grid{grid-template-columns:1fr;gap:16px}.learning-formats-inner{padding:36px 20px 28px}.learning-format{padding:22px}.learning-format h3{font-size:23px}.learning-format ul,.learning-format-description{font-size:15px}}

.inline-intro h2{line-height:1.2}
.inline-intro h2 .signup-highlight{display:inline-block;background:var(--lime);color:var(--ink);border-radius:12px;padding:2px 12px 6px;white-space:nowrap;transform:rotate(-2deg)}


/* Compact learning information in the existing FAQ. */
.faq-answer p+p{margin-top:14px}
.faq-consultation{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--blue);font-weight:800;text-underline-offset:4px}
.faq-consultation:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}

.faq-format-list{margin:10px 0 20px;padding-left:22px;list-style:disc;color:var(--muted);line-height:1.6}
.faq-format-list li+li{margin-top:5px}
.faq-format-list li::marker{color:var(--blue)}


/* Card geometry stays identical before, during and after playback. */
.tiktok-tap{position:absolute;inset:0;z-index:3;background:none;border:0;padding:0;cursor:pointer;color:white;display:grid;place-items:center;touch-action:manipulation}
.tiktok-tap:focus-visible{outline:3px solid #caff4f;outline-offset:-4px;border-radius:12px}
.tiktok-pause{display:none;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:#08102ac9;font:900 30px/1 sans-serif}
.is-paused .tiktok-pause{display:flex}
.tiktok-controls{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:4px 6px 0;background:linear-gradient(transparent,#080d26dc);color:white}
.tiktok-controls[hidden]{display:none}
.tiktok-controls-row{display:flex;justify-content:space-between;align-items:center}
.tiktok-mute,.tiktok-speed select{min-width:44px;height:44px;border:0;background:transparent;color:white;font:800 13px/1 sans-serif;border-radius:6px;cursor:pointer;padding:0}
.tiktok-mute svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.tiktok-mute[aria-pressed="true"]{opacity:.5}
.tiktok-speed select{appearance:none;text-align:center;width:48px}
.tiktok-speed option{background:#0a154d;color:white}
.tiktok-seek{display:block;width:100%;height:44px;margin:0;accent-color:white;cursor:pointer}
.is-playing .tiktok-views{display:none}
.tiktok-status{position:absolute;top:12px;left:8px;right:8px;z-index:4;background:#0a154de6;color:white;font-size:12px;line-height:1.4;padding:6px;border-radius:6px;pointer-events:none}
.tiktok-status:empty{display:none}
.tiktok-speed .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:400px){.tiktok-controls-row{flex-wrap:wrap}.tiktok-mute,.tiktok-speed{flex:1 0 44px}.tiktok-controls{padding-inline:2px}.tiktok-speed select{width:44px}}
@media(max-width:600px){.tiktok-controls{inset:0;padding:0;background:none;pointer-events:none}.tiktok-controls-row{position:absolute;top:0;right:0;display:block;background:#080d2680;border-radius:0 0 0 8px;pointer-events:auto}.tiktok-mute{display:none}.tiktok-speed{display:block}.tiktok-seek{position:absolute;bottom:0;left:4px;width:calc(100% - 8px);pointer-events:auto}}

.tiktok-profile.is-suggested{background:white;color:#203bb5;box-shadow:0 0 0 5px #ffffff30;transition:background .2s,color .2s,box-shadow .2s}

/* Short, gentle response; retain the cards' position and angle. */
.tiktok-placeholder:not(.tiktok-placeholder--center) .tiktok-status{display:block;opacity:0;transform:translateY(5px);transition:opacity 260ms ease,transform 300ms cubic-bezier(.2,.7,.2,1)}
.tiktok-placeholder.has-tiktok-hint .tiktok-status{opacity:1;transform:translateY(0)}
.tiktok-placeholder:not(.tiktok-placeholder--center) .tiktok-tap{transition:background-color 160ms ease}
.tiktok-placeholder:not(.tiktok-placeholder--center) .tiktok-tap:active{background-color:#ffffff18}
.tiktok-profile{transition:background-color 260ms ease,color 260ms ease,box-shadow 320ms ease}
.tiktok-profile.is-suggested{animation:tiktok-cta-pulse 1100ms cubic-bezier(.4,0,.2,1) 1}
@keyframes tiktok-cta-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.025)}72%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.tiktok-profile.is-suggested{animation:none}.tiktok-placeholder:not(.tiktok-placeholder--center) .tiktok-status,.tiktok-profile{transition:none}}


.teacher-player-open{overflow:hidden}
.teacher-player{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0 20px max(12px,env(safe-area-inset-bottom));border:0;background:#080f28;color:#fff;box-sizing:border-box;overflow:hidden;font-family:var(--font)}
.teacher-player::backdrop{background:#080f28}
.teacher-player[open]{display:grid;grid-template-rows:76px minmax(0,1fr) 100px;justify-items:center;gap:0}
.player-heading,.player-toolbar{width:min(100%,480px)}
.player-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.player-heading strong{display:block;font:800 17px/1.3 var(--heading)}
.player-heading span{display:block;color:#b9c7e7;font-size:13px;margin-top:3px}
.teacher-player button{touch-action:manipulation;cursor:pointer}
.teacher-player button:focus-visible,.teacher-player select:focus-visible,.teacher-player input:focus-visible{outline:2px solid #caff4f;outline-offset:3px}
.teacher-player-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #ffffff24;border-radius:50%;background:#ffffff0c;color:#fff}
.teacher-player svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.player-stage{position:relative;width:100%;height:100%;min-height:0;display:flex;justify-content:center;overflow:hidden}
.teacher-player-video{height:100%;width:100%;object-fit:contain;border-radius:14px}
.player-surface{position:absolute;inset:0;border:0;background:none;color:white;display:grid;place-items:center}
.player-surface svg{opacity:0;width:64px;height:64px;padding:18px;border-radius:50%;background:#0a154dcc;fill:white;stroke-width:1;transition:opacity 160ms ease}
.is-video-paused .player-surface svg{opacity:1}
.player-toolbar{align-self:center}
.player-timeline{position:relative;height:36px;display:flex;align-items:center}
.player-timeline progress{appearance:none;width:100%;height:3px;border:0;border-radius:8px;background:#ffffff30;overflow:hidden;pointer-events:none}
.player-timeline progress::-webkit-progress-bar{background:#ffffff30}
.player-timeline progress::-webkit-progress-value{background:#caff4f}
.player-timeline progress::-moz-progress-bar{background:#caff4f}
.player-timeline input{position:absolute;inset:-4px 0;width:100%;height:44px;appearance:none;background:transparent;margin:0;cursor:pointer}
.player-timeline input::-webkit-slider-runnable-track{height:3px;background:transparent}
.player-timeline input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#caff4f;margin-top:-4.5px;border:0}
.player-timeline input::-moz-range-track{background:transparent;height:3px}
.player-timeline input::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#caff4f}
.player-actions{display:flex;align-items:center;gap:12px}
.player-actions button{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:#ffffff0c;color:white}
.player-actions .player-toggle{background:#caff4f;color:#0a154d}
.player-time{flex:1;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.player-time span{color:#b9c7e7}
.player-rate{appearance:none;min-width:52px;height:44px;border:1px solid #ffffff24;border-radius:12px;background:#101c3e;color:#fff;text-align:center;font:800 14px var(--font);cursor:pointer}
.player-play-icon,.player-sound-off{display:none}
.is-video-paused .player-play-icon{display:block;fill:currentColor}
.is-video-paused .player-pause-icon{display:none}
.player-audio[aria-pressed="true"] .player-sound-off{display:block}
.player-audio[aria-pressed="true"] .player-sound-wave{display:none}
.teacher-player-status{position:absolute;top:12px;left:12px;right:12px;text-align:center;pointer-events:none;color:#fff;background:#080f28cc;border-radius:8px;padding:10px;font-size:14px}
.teacher-player-status:empty{display:none}
@media(min-width:700px){.teacher-player{padding:0 32px 16px}.teacher-player[open]{grid-template-rows:80px minmax(0,1fr) 100px}.player-stage{max-width:480px}}
@media(max-height:500px) and (orientation:landscape){.teacher-player[open]{grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:1fr 100px;column-gap:24px;padding-top:12px}.player-stage{grid-column:1;grid-row:1/3;max-width:none}.player-heading{grid-column:2;grid-row:1;align-self:start}.player-toolbar{grid-column:2;grid-row:2}}
@media(prefers-reduced-motion:reduce){.player-surface svg{transition:none}}

.teacher-player-close svg{display:block;margin:0;transform:none}


/* Restored main-site navigation, preview only. */
.preview-nav{position:sticky;top:0;z-index:40;background:#071c64;color:#fff;border-bottom:0}
.preview-nav-inner{width:min(100%,1160px);min-height:72px;margin:auto;padding:10px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.preview-nav-logo{display:flex;align-items:center;min-height:44px;min-width:60px}
.preview-nav-logo img{display:block;width:88px;height:auto}
.preview-nav-links{display:flex;align-items:center;gap:24px}
.preview-nav-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:#fff;text-decoration:none;font-size:15px;font-weight:800;border-radius:10px}
.preview-nav-links a:hover{color:var(--lime)}
.preview-nav-links a:active{background:#ffffff12}
.preview-nav-links .preview-nav-signup{background:var(--lime);color:var(--ink);padding-inline:20px}
.preview-menu-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid #ffffff40;border-radius:12px;background:transparent;color:#fff}
.preview-menu-toggle svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Navigation from the main school website, anchored to this teacher page. */
.preview-nav-inner{max-width:1160px;min-height:88px;padding:12px 32px;gap:32px}
.preview-nav-logo img{height:64px;width:auto}
.preview-nav-links{margin-left:auto;gap:28px}
.preview-nav-links a{padding:8px 0;font-size:15px;font-weight:700}
.preview-mobile-menu{position:fixed;inset:0;z-index:90;padding:12px 32px 24px;background:#191920;color:#fff;display:flex;flex-direction:column;gap:32px;transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility .4s;overflow-y:auto}
.preview-mobile-menu.is-open{transform:translateX(0);visibility:visible}
.preview-mobile-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.preview-menu-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:#ffffff18;color:#fff;flex:none}
.preview-menu-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.preview-mobile-menu nav{display:flex;flex-direction:column;gap:20px;align-items:flex-end;text-align:right}
.preview-mobile-menu nav a{display:flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font:900 28px/1.25 'Mulish',sans-serif;letter-spacing:-.02em}
.preview-mobile-menu nav a:active{color:var(--lime)}
.preview-menu-open{overflow:hidden}
.preview-menu-close:focus-visible,.preview-mobile-menu a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
#formats-faq{scroll-margin-top:110px}
@media(max-width:760px){.preview-nav-inner{padding:12px 24px;min-height:80px}.preview-nav-logo img{height:56px;width:auto}.preview-nav-links{display:none!important}.preview-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:0;background:none}.preview-mobile-menu{padding:12px 24px 24px}.preview-menu-toggle svg{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.preview-mobile-menu{transition:none}}

/* Main-site header states: transparent over hero, frosted over content. */
.preview-nav{position:fixed;inset:0 0 auto;background:transparent;color:#fff;transform:translate3d(0,0,0);transition:background .3s ease,backdrop-filter .3s ease,transform .35s cubic-bezier(.4,0,.2,1)}
.preview-nav.is-scrolled{background:rgba(237,231,231,.62);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);color:#191920}
.preview-nav.is-scrolled .preview-nav-logo img{filter:brightness(0)}
.preview-nav.is-scrolled .preview-nav-links a{color:#191920}
.preview-nav.is-scrolled .preview-menu-toggle{color:#191920}
.preview-nav.is-scrolled .preview-nav-links a:hover{color:#244ce8}
.preview-nav.is-hidden{transform:translate3d(0,-100%,0)}
.preview-nav:has(:focus-visible){transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.preview-nav{transition:none}}

.preview-nav{z-index:40}.preview-brand-spacer{visibility:hidden}.preview-nav-logo img{filter:none}#lessons,#teacher-videos,#questions{scroll-margin-top:100px}

/* Main CTA goes directly to the existing inline form. */
html{scroll-behavior:smooth}#registration-form{scroll-margin-top:104px}

/* Teacher section adapted from the main website. */
.teacher-profile-band{background:#ede7e7;color:#191920;padding:100px 0}
.teacher-profile-inner{width:min(100%,1160px);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1.2fr;grid-template-areas:"photo title" "photo content";column-gap:64px;row-gap:24px;align-content:center}
.teacher-profile-title{grid-area:title;align-self:end}
.teacher-profile-role{font-size:15px;line-height:1.5;font-weight:700;color:#6a686d;margin-bottom:12px}
.teacher-profile-title h2{font-size:clamp(36px,5vw,56px);line-height:1.12;font-weight:900;letter-spacing:-.035em;margin:0;color:#191920}
.teacher-profile-title h2 em{color:#4120f8;font-style:normal}
.teacher-profile-photo-wrap{grid-area:photo;align-self:center}
.teacher-profile-photo{position:relative;width:min(340px,100%);aspect-ratio:3/4;margin:0 auto;filter:drop-shadow(0 16px 32px rgba(65,32,248,.12))}
.teacher-profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:32px}
.teacher-profile-photo figcaption{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);padding:11px 24px;border-radius:999px;background:var(--lime);color:#191920;font-family:var(--heading);font-size:15px;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px #1919202e,0 0 0 4px #ede7e7}
.teacher-profile-content{grid-area:content;align-self:start}
.teacher-profile-description{font-size:18px;line-height:1.65;color:#6a686d;max-width:520px;margin:0 0 32px}
.teacher-profile-stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:24px;margin:0}
.teacher-profile-stats dt{font-family:var(--heading);font-size:clamp(30px,3.2vw,42px);font-weight:900;line-height:1.12;color:#4120f8;white-space:nowrap;margin-bottom:6px}
.teacher-profile-stats dd{font-size:14px;line-height:1.45;color:#6a686d;margin:0}
@media(max-width:760px){
 .teacher-profile-band{padding:64px 0}
 .teacher-profile-inner{padding:0 24px;display:flex;flex-direction:column;gap:0}
 .teacher-profile-title{text-align:center;align-self:stretch;margin-bottom:28px}
 .teacher-profile-title h2{font-size:36px}
 .teacher-profile-role{font-size:14px;margin-bottom:8px}
 .teacher-profile-photo-wrap{width:100%;align-self:stretch}
 .teacher-profile-photo{width:min(300px,100%)}
 .teacher-profile-content{margin-top:52px;display:flex;flex-direction:column;align-self:stretch}
 .teacher-profile-stats{order:0;grid-template-columns:1fr 1fr 1.1fr;gap:12px;margin-bottom:28px;text-align:center}
 .teacher-profile-stats dt{font-size:25px}
 .teacher-profile-stats dd{font-size:12px}
 .teacher-profile-description{order:1;font-size:17px;margin:0}
}
@media(max-width:350px){.teacher-profile-inner{padding-inline:18px}.teacher-profile-title h2{font-size:32px}.teacher-profile-stats dt{font-size:22px}.teacher-profile-stats dd{font-size:11px}.teacher-profile-stats{gap:8px}}

/* Free lessons registration: reference layout in Easy НМТ typography and palette. */
.signup-band{margin-top:0;border-radius:0;padding:88px 32px;background:linear-gradient(150deg,#162a7d,#0a154d);color:#fff}
.content-section.inline-signup{width:min(100%,1160px);padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.inline-intro{grid-column:1;grid-row:1}
.inline-intro h2{font:900 clamp(32px,3.4vw,48px)/1.16 var(--heading);letter-spacing:-.03em;text-wrap:balance;margin:0}
.free-signup-description{font-size:18px;line-height:1.6;color:#d6def9;margin:24px 0 0;max-width:42ch}
.free-signup-benefits{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:16px;font-size:17px;line-height:1.5}
.free-signup-benefits li{position:relative;padding-left:28px}
.free-signup-benefits li:before{content:'';position:absolute;left:3px;top:6px;width:8px;height:14px;border-right:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(40deg)}
.inline-form-panel{grid-column:2;grid-row:1;margin:0;padding:32px;background:#fdfbf7;border-radius:28px;box-shadow:0 18px 40px -26px #0008}
#inline-signup-form{gap:20px}
#inline-signup-form label{font-size:15px;font-weight:700}
#inline-signup-form input,#inline-signup-form select{font:400 17px/1.4 var(--font);width:100%;height:56px;min-height:56px;border:1.5px solid #cbd2e1;border-radius:14px;background:#fff;color:var(--ink);padding:14px 16px}
#inline-signup-form select{cursor:pointer;padding-right:32px}
#inline-signup-form select:focus{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
#inline-signup-form select[aria-invalid=true]{border-color:var(--error);background:#fff9f8}
#inline-signup-form select:disabled{opacity:.7;cursor:wait}
#inline-signup-form .inline-submit{justify-content:center;font-size:18px;min-height:58px;padding:14px 20px;box-shadow:none;margin-top:4px}
#inline-signup-form .inline-note{font-size:12px;line-height:1.5;text-align:left;color:#667289}
#inline-signup-form .callback-note{font-size:12px;line-height:1.5;text-align:left;margin:0;color:#667289}
@media(max-width:760px){
 .signup-band{padding:56px 20px 64px}
 .content-section.inline-signup{display:flex;flex-direction:column;gap:32px;align-items:stretch}
 .inline-intro h2{font-size:32px;text-align:left}
 .free-signup-description{font-size:17px;margin-top:20px}
 .free-signup-benefits{font-size:16px;gap:12px;margin-top:24px}
 .inline-form-panel{padding:24px 20px;border-radius:24px}
 #inline-signup-form .inline-submit{font-size:17px}
}
@media(max-width:350px){.inline-intro h2{font-size:29px}.inline-form-panel{padding:22px 18px}#inline-signup-form .inline-submit{font-size:16px}}

/* Consistent select chevron with room on both sides. */
#inline-signup-form select{
 appearance:none;-webkit-appearance:none;
 padding-right:52px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230a154d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 18px center;background-size:20px 20px;
}

/* Approved concept 1: offer first, real teacher portrait, restrained white surface. */
body{background:#fff}
.preview-nav{color:#18234b;background:rgba(255,255,255,.88)}
.preview-nav .preview-nav-logo img{filter:brightness(0)}
.preview-nav-links a,.preview-menu-toggle{color:#18234b}
.preview-nav-links a:hover{color:#244ce8}
.preview-nav-inner{min-height:80px}
.preview-nav-logo img{height:46px}
.preview-nav.is-scrolled{background:rgba(255,255,255,.78);color:#18234b}
.preview-mobile-menu{background:#fff;color:#18234b}
.preview-mobile-menu .preview-nav-logo img{filter:brightness(0)}
.preview-mobile-menu nav a{color:#18234b;font-weight:700}
.preview-menu-close{background:#f0f2f8;color:#18234b}
.calm-hero{padding:136px 32px 80px;background:#fff;color:#18234b}
.calm-layout{width:min(100%,1080px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);grid-template-areas:"offer teacher" "actions teacher";column-gap:80px;row-gap:32px;align-items:center}
.calm-offer{grid-area:offer;align-self:end}
.calm-offer h1{font-family:var(--heading);letter-spacing:-.025em;margin:0}
.calm-intro{display:block;font-size:28px;line-height:1.3;font-weight:800;color:#18234b}
.calm-headline{display:block;font-size:46px;line-height:1.12;font-weight:800;color:#244ce8;margin-top:12px;text-wrap:balance}
.calm-subject{font:600 23px/1.4 var(--font);margin:22px 0 0;color:#344263}
.calm-price{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:26px;font:800 25px/1.3 var(--heading)}
.calm-price del{font-weight:600;color:#68738b;text-decoration-thickness:2px}
.calm-price span{color:#244ce8}
.calm-format,.calm-reassurance{display:flex;align-items:center;gap:12px;color:#66728b;font-size:16px;line-height:1.5;margin:18px 0 0}
.calm-reassurance{margin-top:10px;color:#445373}
.calm-format svg,.calm-reassurance svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.calm-teacher-card{grid-area:teacher;background:#fff;border-radius:22px;padding:18px;display:grid;gap:0;box-shadow:0 16px 48px -14px rgba(24,35,75,.14);overflow:hidden}
.calm-teacher-photo{display:block;width:100%;height:290px;object-fit:cover;object-position:center 28%;border-radius:14px}
.calm-teacher-info{padding:22px 6px 0}
.calm-teacher-info h2{font:800 26px/1.2 var(--heading);letter-spacing:-.025em;margin:0;color:#18234b}
.calm-teacher-info p{font-size:16px;line-height:1.45;color:#66728b;margin:8px 0 0}
.calm-teacher-facts{margin:22px 6px 4px;padding-top:20px;border-top:1px solid #e8ecf3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.calm-teacher-facts>div+div{border-left:1px solid #e8ecf3;padding-left:14px}
.calm-teacher-facts dt{font:800 20px/1.2 var(--heading);color:#18234b;white-space:nowrap}
.calm-teacher-facts dd{font:400 12px/1.4 var(--font);margin:6px 0 0;color:#66728b}
.calm-actions{grid-area:actions;align-self:start;display:flex;flex-direction:column;align-items:stretch;gap:10px;max-width:440px}
.calm-primary{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 18px;border-radius:14px;background:var(--lime);color:#182020;text-decoration:none;text-align:center;font:800 17px/1.3 var(--heading);transition:background .15s ease}
.calm-primary:active{background:#b8ec3d}
.calm-actions .calm-secondary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;margin:0;color:#344263;font:600 16px/1.4 var(--font);text-decoration:none;transform:none}
.calm-primary:focus-visible,.calm-secondary:focus-visible{outline:3px solid #244ce8;outline-offset:4px}
@media(hover:hover){.calm-primary:hover{background:#b8ec3d}.calm-secondary:hover{color:#244ce8;text-decoration:underline;text-underline-offset:5px}}
.details-surface{background:#fff}
.teacher-profile-photo img{object-position:center 38%}
@media(max-width:760px){
 .preview-nav-inner{min-height:72px;padding:8px 20px}
 .preview-nav-logo img{height:42px}
 .calm-hero{padding:104px 20px 44px}
 .calm-layout{width:min(100%,480px);display:flex;flex-direction:column;align-items:stretch;gap:26px}
 .calm-offer{align-self:stretch}
 .calm-intro{font-size:22px;line-height:1.3}
 .calm-headline{font-size:34px;line-height:1.12;margin-top:8px;text-wrap:initial}
 .calm-subject{font-size:18px;margin-top:18px}
 .calm-subject br{display:none}
 .calm-price{font-size:23px;margin-top:20px;gap:12px}
 .calm-format,.calm-reassurance{font-size:14px;gap:10px;margin-top:14px}
 .calm-reassurance{margin-top:8px}
 .calm-format svg,.calm-reassurance svg{width:18px;height:18px}
 .calm-teacher-card{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"photo info" "facts facts";column-gap:16px;padding:18px;border-radius:20px}
 .calm-teacher-photo{grid-area:photo;height:116px;width:104px;border-radius:12px;object-position:center 38%}
 .calm-teacher-info{grid-area:info;align-self:center;padding:0}
 .calm-teacher-info h2{font-size:21px}
 .calm-teacher-info p{font-size:14px;margin-top:8px}
 .calm-teacher-facts{grid-area:facts;margin:18px 0 0;padding-top:16px}
 .calm-teacher-facts>div+div{padding-left:12px}
 .calm-teacher-facts dt{font-size:18px}
 .calm-teacher-facts dd{font-size:12px;margin-top:5px}
 .calm-actions{max-width:none;align-self:stretch;gap:8px}
 .calm-primary{font-size:16px;min-height:54px}
 .calm-actions .calm-secondary{font-size:16px}
}
@media(max-width:350px){.calm-hero{padding-inline:16px}.calm-intro{font-size:20px}.calm-headline{font-size:30px}.calm-teacher-card{grid-template-columns:88px minmax(0,1fr);padding:16px;column-gap:12px}.calm-teacher-photo{width:88px;height:106px}.calm-teacher-info h2{font-size:19px}.calm-teacher-facts dt{font-size:16px}.calm-teacher-facts dd{font-size:11px}.calm-teacher-facts>div+div{padding-left:8px}.calm-primary{font-size:15px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.calm-primary{transition:none}}

/* Simple ad landing: one offer, one teacher, one signup destination. */
.simple-page{background:#fff;color:#18234b}
.simple-page .preview-nav{background:rgba(255,255,255,.9)}
.simple-container{width:min(100% - 48px,1040px);margin-inline:auto}
.simple-hero{background:#fff;padding:128px 0 64px;color:#18234b}
.simple-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:72px;align-items:center}
.simple-offer h1{margin:0;font:700 clamp(30px,3.2vw,42px)/1.2 var(--heading);letter-spacing:-.025em}
.simple-offer h1 span{color:#244ce8}
.simple-lead{font-size:18px;line-height:1.6;color:#4c5770;margin:24px 0 0;max-width:48ch}
.simple-format{font-size:15px;font-weight:700;margin:22px 0 18px;color:#344263}
.simple-button{display:flex;align-items:center;justify-content:center;width:fit-content;min-height:54px;padding:15px 24px;background:var(--lime);color:#182020;font:700 16px/1.4 var(--heading);border-radius:10px;text-decoration:none;text-align:center}
.simple-note{font-size:13px;line-height:1.5;color:#657087;margin:12px 0 0}
.simple-teacher{margin:0;background:#fff}
.simple-teacher img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 28%;border-radius:12px}
.simple-teacher figcaption{padding-top:18px}
.simple-teacher strong{display:block;font:700 23px/1.3 var(--heading)}
.simple-teacher figcaption>span{display:block;font-size:14px;line-height:1.5;color:#657087;margin-top:6px}
.simple-teacher .teacher-link,.simple-text-link{display:inline-flex;align-items:center;min-height:44px;font:700 15px/1.4 var(--font);color:#244ce8;text-decoration:underline;text-underline-offset:4px;margin:4px 0 0;padding:6px 0;transform:none}
.simple-section{padding:64px 0;border-top:1px solid #e8ebf0;background:#fff}
.simple-section-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:72px}
.simple-section h2,.simple-page .inline-intro h2{font:700 30px/1.25 var(--heading);letter-spacing:-.025em;color:#18234b;margin:0}
.simple-section-intro{margin:18px 0 0;font-size:17px;line-height:1.6;color:#566178;max-width:38ch}
.simple-benefits article{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #e8ebf0}
.simple-benefits article:last-child{border:0;padding:0;margin:0}
.simple-benefits h3{font:700 19px/1.4 var(--heading);margin:0 0 8px;color:#18234b}
.simple-benefits p,.simple-teacher-copy p{font-size:16px;line-height:1.65;color:#566178;margin:0}
.simple-teacher-copy p+p{margin-top:18px}
.simple-teacher-section{background:#f8f9fc}
.simple-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 0}
.simple-stats dt{font:700 24px/1.2 var(--heading);color:#244ce8}
.simple-stats dd{font-size:13px;line-height:1.5;margin:6px 0 0;color:#566178}
.simple-page .faq{display:block;width:100%;max-width:none;margin:0;border-radius:0}
.simple-page .faq-list{margin:0;width:100%;display:block}
.simple-page .faq details{border:0;border-bottom:1px solid #e1e5ed;background:transparent;border-radius:0;margin:0;overflow:hidden}
.simple-page .faq summary{padding:20px 32px 20px 0;font:700 16px/1.5 var(--font);min-height:64px;color:#18234b}
.simple-page .faq summary>span{right:2px;width:20px;height:20px;background:none}
.simple-page .faq-answer{padding:0 24px 20px 0;color:#566178;font:400 16px/1.6 var(--font)}
.simple-page .faq-answer p{font:inherit;color:inherit;margin:0}
.simple-page .signup-band{background:#f8f9fc;color:#18234b;padding:64px 24px;border-radius:0;border-top:1px solid #e8ebf0}
.simple-page .inline-signup{width:min(100%,1040px);gap:72px;grid-template-columns:1fr 1.1fr}
.simple-page .free-signup-description{font-size:17px;color:#566178;margin-top:20px}
.simple-page .free-signup-benefits{font-size:15px;gap:12px;color:#344263}
.simple-page .free-signup-benefits li:before{border-color:#244ce8}
.simple-page .inline-form-panel{padding:28px;background:#fff;border-radius:12px;box-shadow:0 12px 32px -16px #18234b26}
.simple-page #inline-signup-form .inline-submit{border-radius:10px;font-size:16px;font-weight:700}
.simple-page .footer-band{background:#fff;padding:36px 24px;border-radius:0;color:#18234b}
.simple-page .contact-footer{width:min(100%,1040px);padding:0;gap:32px}
.simple-page .footer-heading h2{font-size:24px;line-height:1.3}
.simple-page .footer-heading h2 span{color:#244ce8}
.simple-page .footer-heading p{font-size:14px;color:#566178}
.simple-page a:focus-visible{outline:3px solid #244ce8;outline-offset:4px}
@media(hover:hover){.simple-button:hover{background:#b8ec3d}}
.simple-button:active{background:#b8ec3d}
@media(max-width:760px){
 .simple-container{width:calc(100% - 40px)}
 .simple-hero{padding:100px 0 40px}
 .simple-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px}
 .simple-offer h1{font-size:29px;line-height:1.23}
 .simple-lead{font-size:16px;line-height:1.55;margin-top:18px}
 .simple-format{font-size:14px;margin:18px 0 16px}
 .simple-button{width:100%;font-size:15px;padding-inline:12px}
 .simple-note{font-size:12px;text-align:center}
 .simple-teacher{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center}
 .simple-teacher img{width:100px;height:120px;object-position:center 32%;border-radius:10px}
 .simple-teacher figcaption{padding:0}
 .simple-teacher strong{font-size:20px}
 .simple-teacher figcaption>span{font-size:13px}
 .simple-teacher .teacher-link{font-size:14px;margin:0}
 .simple-section{padding:40px 0}
 .simple-section-grid{display:flex;flex-direction:column;gap:28px}
 .simple-section h2,.simple-page .inline-intro h2{font-size:26px}
 .simple-section h2 br{display:none}
 .simple-section-intro{font-size:16px;margin-top:14px}
 .simple-benefits h3{font-size:18px}
 .simple-stats{margin-top:24px;gap:12px}
 .simple-stats dt{font-size:22px}
 .simple-stats dd{font-size:12px}
 .simple-page .signup-band{padding:40px 20px}
 .simple-page .inline-signup{gap:28px}
 .simple-page .inline-form-panel{padding:24px 20px}
 .simple-page .free-signup-description{font-size:16px}
 .simple-page .footer-band{padding:32px 20px}
}
@media(max-width:350px){.simple-offer h1{font-size:26px}.simple-container{width:calc(100% - 32px)}.simple-teacher{grid-template-columns:88px 1fr;gap:12px}.simple-teacher img{width:88px;height:112px}.simple-teacher strong{font-size:19px}.simple-stats dt{font-size:20px}}

/* First screen matches the user's 21:23 reference. */
.simple-page .preview-nav.is-over-hero{background:rgba(250,248,242,.9)}
.reference-hero{background:#faf8f2;color:#1d2433;padding:126px 24px 56px}
.reference-hero-inner{width:min(100%,540px);margin:auto}
.reference-subject{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:10px 13px;border:1px solid #e6dfd2;border-radius:999px;background:#fff;font:700 15px/1.4 var(--font);margin:0 0 28px;color:#1d2433}
.ua-flag{display:block;width:24px;height:17px;border-radius:3px;flex:none;background:linear-gradient(#2875c9 50%,#ffd441 50%)}
.reference-hero h1{font:900 48px/1.08 var(--heading);letter-spacing:-.035em;color:#1d2433;margin:0}
.reference-hero mark{background:linear-gradient(transparent 65%,#ffda47 65%);color:inherit;padding:0}
.reference-description{font:400 23px/1.5 var(--font);color:#4b5567;margin:32px 0 0}
.reference-benefits{list-style:none;padding:0;margin:30px 0 28px;display:grid;gap:12px;font:400 22px/1.4 var(--font)}
.reference-benefits li{position:relative;padding-left:42px;min-height:28px}
.reference-benefits li:before{content:'';position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:#c8f2d1}
.reference-benefits li:after{content:'';position:absolute;left:9px;top:5px;width:8px;height:14px;border:solid #00682c;border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.reference-cta{display:flex;align-items:center;justify-content:center;min-height:64px;padding:16px 18px;border-radius:17px;background:#1260b5;color:#fff;text-decoration:none;text-align:center;font:700 20px/1.3 var(--font);box-shadow:0 9px 18px -8px #1260b54d}
.reference-cta:active{background:#0c4d95}
@media(hover:hover){.reference-cta:hover{background:#0c4d95}}
.reference-teacher-photo{margin:0 0 24px;width:140px;height:156px;border-radius:12px;overflow:hidden}
.reference-teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
@media(max-width:760px){
 .reference-hero{padding:100px 18px 32px}
 .reference-hero-inner{max-width:440px}
 .reference-subject{font-size:14px;padding:8px 10px;gap:9px;margin-bottom:28px}
 .reference-hero h1{font-size:clamp(32px,9.2vw,44px);line-height:1.1}
 .reference-description{font-size:20px;line-height:1.5;margin-top:28px}
 .reference-benefits{font-size:19px;gap:12px;margin:28px 0}
 .reference-benefits li{padding-left:39px}
 .reference-cta{font-size:18px;min-height:60px;border-radius:16px;padding-inline:10px}
}
@media(max-width:350px){.reference-hero{padding-inline:16px}.reference-subject{font-size:11.5px;gap:7px}.ua-flag{width:21px;height:15px}.reference-description{font-size:18px}.reference-benefits{font-size:16px}.reference-cta{font-size:16px}}

/* ZNO Hub reference: centered hero, quiet surfaces, white elevated cards. */
.simple-page{--hub-ink:#101526;--hub-muted:#59657c;--hub-accent:#244ce8;background:#fff;color:var(--hub-ink)}
.simple-page .preview-nav,.simple-page .preview-nav.is-over-hero{background:rgba(255,255,255,.94);color:var(--hub-ink)}
.simple-page .preview-nav-inner{max-width:1200px;margin:auto}
.hub-hero{padding:150px 24px 56px;background:#f6f7f9;border-radius:0 0 56px 56px;color:var(--hub-ink)}
.hub-hero-inner{max-width:1120px;margin:auto;text-align:center}
.hub-hero h1{font:900 clamp(44px,5vw,68px)/1.08 var(--heading);letter-spacing:-.035em;margin:0;color:var(--hub-ink)}
.hub-hero h1 span{color:var(--hub-accent)}
.hub-hero .reference-description{font:600 18px/1.55 var(--font);color:var(--hub-muted);max-width:740px;margin:26px auto 0}
.hub-hero .reference-cta{width:fit-content;margin:32px auto 42px;min-height:56px;border-radius:999px;padding:15px 28px;background:var(--hub-accent);color:#fff;font:700 17px/1.4 var(--font);box-shadow:0 4px 8px -4px #244ce840}
.hub-teacher-card{display:grid;grid-template-columns:240px 1fr;gap:32px;max-width:720px;margin:auto;padding:16px;background:#fff;border-radius:26px;text-align:left;text-decoration:none;color:var(--hub-ink);box-shadow:0 6px 18px -12px #17244736}
.hub-photo{height:270px;position:relative;border-radius:18px;overflow:hidden}
.hub-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 31%}
.hub-photo>span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 12px;font:700 12px/1.4 var(--font);color:var(--hub-ink)}
.hub-card-copy{padding:22px 16px 16px 0;align-self:center}
.hub-card-copy h2{font:900 30px/1.2 var(--heading);margin:0}
.hub-card-copy>p{font:600 15px/1.5 var(--font);color:var(--hub-muted);margin:10px 0 22px}
.hub-card-facts{display:flex;flex-wrap:wrap;gap:18px 24px;font:400 13px/1.5 var(--font);color:var(--hub-muted)}
.hub-card-facts strong{display:block;font:700 21px/1.3 var(--heading);color:var(--hub-ink)}
.hub-card-link{display:inline-block;margin-top:22px;font:700 15px/1.4 var(--font);color:var(--hub-accent)}
.simple-container{width:min(100% - 48px,1120px)}
.simple-section{padding:90px 0;border:0;background:#fff}
.simple-section-grid{gap:56px;align-items:start}
.simple-section h2,.simple-page .inline-intro h2{font:900 40px/1.15 var(--heading);color:var(--hub-ink);letter-spacing:-.03em}
.simple-section-intro{color:var(--hub-muted);font-size:17px}
.simple-benefits{display:grid;gap:16px}
.simple-benefits article,.simple-benefits article:last-child{padding:26px;margin:0;border:0;border-radius:20px;background:#fff;box-shadow:0 8px 32px -15px #17244730}
.simple-benefits h3{font-size:21px;color:var(--hub-ink)}
.simple-benefits p,.simple-teacher-copy p{color:var(--hub-muted)}
.simple-teacher-section{background:#f6f7f9;border-radius:40px;padding:64px 0}
.reference-teacher-photo{width:200px;height:220px;border-radius:20px}
.simple-teacher-copy{padding:32px;border-radius:24px;background:#fff;box-shadow:0 8px 32px -15px #17244730}
.simple-stats dt{color:var(--hub-accent)}
.simple-page .faq details{background:#fff;border:0;border-radius:16px;box-shadow:0 5px 24px -12px #17244730;margin-bottom:14px}
.simple-page .faq summary{padding:22px 52px 22px 24px;color:var(--hub-ink)}
.simple-page .faq summary>span{right:22px}
.simple-page .faq-answer{padding:0 24px 24px;color:var(--hub-muted)}
.simple-page .signup-band{background:#f6f7f9;border:0;border-radius:40px;padding:72px 24px}
.simple-page .inline-signup{max-width:1120px;gap:56px}
.simple-page .inline-form-panel{border-radius:24px;padding:32px;box-shadow:0 8px 32px -15px #17244730}
.simple-page #inline-signup-form .inline-submit{background:var(--lime);color:#182020;border-radius:999px;min-height:56px}
.simple-page .signup-field input,.simple-page .signup-field select{border-radius:12px}
.simple-page .footer-band{padding:48px 24px}
.simple-page .contact-footer{max-width:1120px}
.simple-page a:focus-visible{outline:3px solid var(--hub-accent);outline-offset:4px}
.simple-page ::selection{background:#d3fa67;color:#101526}
@media(max-width:760px){
 .hub-hero{padding:112px 20px 32px;border-radius:0 0 30px 30px}
 .hub-hero h1{font-size:36px;line-height:1.12}
 .hub-hero .reference-description{font-size:16px;line-height:1.5;margin-top:22px}
 .hub-hero .reference-description br{display:none}
 .hub-hero .reference-cta{font-size:15px;padding:16px 20px;margin:26px auto 28px;min-height:54px;width:100%;max-width:400px}
 .hub-teacher-card{display:block;max-width:360px;padding:12px;border-radius:24px}
 .hub-photo{height:258px;border-radius:16px}
 .hub-card-copy{padding:18px 8px 10px}
 .hub-card-copy h2{font-size:24px}
 .hub-card-copy>p{font-size:14px;margin:6px 0 16px}
 .hub-card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:11px}
 .hub-card-facts strong{font-size:18px}
 .hub-card-link{margin-top:16px;font-size:14px}
 .simple-container{width:calc(100% - 40px)}
 .simple-section{padding:52px 0}
 .simple-section-grid{gap:26px}
 .simple-section h2,.simple-page .inline-intro h2{font-size:29px;line-height:1.18}
 .simple-benefits article,.simple-benefits article:last-child{padding:24px;border-radius:18px}
 .simple-benefits h3{font-size:19px}
 .simple-teacher-section{border-radius:28px;padding:40px 0}
 .simple-teacher-copy{padding:24px;border-radius:20px}
 .simple-page .signup-band{border-radius:28px;padding:42px 20px}
 .simple-page .inline-form-panel{padding:24px 20px;border-radius:20px}
 .simple-page .faq summary{font-size:16px;padding-left:20px}
}
@media(max-width:350px){.hub-hero{padding-inline:16px}.hub-hero h1{font-size:30px}.hub-photo{height:226px}.hub-card-facts strong{font-size:16px}.hub-card-facts{font-size:10px}.simple-container{width:calc(100% - 32px)}}

/* Teacher card directly follows the headline. */
.hub-hero .hub-teacher-card{margin-top:36px}
.hub-hero .reference-cta{margin-bottom:0}
@media(max-width:760px){.hub-hero .hub-teacher-card{margin-top:26px}.hub-hero .reference-description{margin-top:26px}}

/* Compact first viewport, including the primary action. */
@media(max-width:760px){
 .hub-hero{padding:88px 20px 24px}
 .hub-hero h1{font-size:clamp(28px,8vw,34px);line-height:1.1}
 .hub-hero .reference-description{font-size:15px;line-height:1.4;margin-top:16px}
 .hub-hero .hub-teacher-card{margin-top:20px;max-width:360px;padding:10px}
 .hub-photo{height:clamp(148px,25svh,220px)}
 .hub-photo img{object-position:center 29%}
 .hub-card-copy{padding:12px 8px 4px}
 .hub-card-copy h2{font-size:22px}
 .hub-card-copy>p{font-size:13px;margin:5px 0 12px}
 .hub-card-facts strong{font-size:17px}
 .hub-card-link{display:flex;align-items:center;min-height:44px;margin-top:4px;font-size:14px}
 .hub-hero .reference-cta{margin-top:20px;margin-bottom:0;min-height:52px;padding:14px 16px}
}
@media(max-width:760px) and (max-height:700px){
 .hub-hero{padding-top:82px;padding-bottom:18px}
 .hub-hero h1{font-size:28px}
 .hub-hero .reference-description{font-size:14px;margin-top:12px}
 .hub-hero .hub-teacher-card{margin-top:14px}
 .hub-photo{height:140px}
 .hub-card-copy{padding-top:10px}
 .hub-card-copy h2{font-size:20px}
 .hub-card-copy>p{margin-bottom:8px}
 .hub-hero .reference-cta{margin-top:14px}
}

@media(max-width:760px) and (max-height:620px){
 .hub-teacher-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px}
 .hub-photo{height:158px}
 .hub-photo>span{display:none}
 .hub-card-copy{padding:4px 0}
 .hub-card-copy h2{font-size:19px}
 .hub-card-copy>p{font-size:12px}
 .hub-card-facts{gap:6px;font-size:9px}
 .hub-card-facts strong{font-size:14px}
 .hub-card-link{font-size:12px;margin-top:2px}
}

/* Keep the following section below the first viewport. */
.hub-hero{min-height:100svh;box-sizing:border-box}

/* Spread the mobile composition across the full visible screen. */
@media(max-width:760px){
 .hub-hero{display:flex;min-height:100svh}
 .hub-hero-inner{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:16px;min-height:calc(100svh - 112px)}
 .hub-hero .reference-description{margin:0 auto}
 .hub-hero .hub-teacher-card{width:100%;box-sizing:border-box;margin:0 auto}
 .hub-hero .reference-cta{margin:0 auto}
 .hub-photo{height:clamp(160px,30svh,290px)}
}
@media(max-width:760px) and (max-height:700px){
 .hub-hero-inner{min-height:calc(100svh - 100px);gap:12px}
 .hub-photo{height:140px}
}
@media(max-width:760px) and (max-height:620px){.hub-photo{height:158px}}

@font-face{font-family:'Marck Script';src:url('assets/marck-script.ttf') format('truetype');font-weight:400;font-display:swap}

/* Personal introduction approved 2026-10-03; cover remains a photo placeholder. */
.personal-hero{background:#fff;color:#101526;padding:112px 24px 40px;min-height:100svh;box-sizing:border-box}
.personal-layout{width:min(100%,720px);margin:auto;text-align:center;display:flex;flex-direction:column;gap:24px}
.personal-greeting{margin:0 0 8px;color:#244ce8;font:400 38px/1.15 'Marck Script',cursive}
.personal-heading h1{margin:0;font:900 48px/1.1 var(--heading);letter-spacing:-.025em}
.personal-subject{margin:12px 0 0;font:600 21px/1.4 var(--font)}
.personal-cover{width:100%;height:300px;border-radius:22px;margin:0;overflow:hidden;background:#704637}
.personal-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 27%}
.personal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;background:#f4f5f8;border-radius:20px;padding:20px 12px}
.personal-stats>div+div{border-left:1px solid #cbd0dc}
.personal-stats dt{font:700 28px/1.2 var(--heading);color:#101526}
.personal-stats dd{font:400 16px/1.35 var(--font);color:#59657c;margin:5px 0 0}
.personal-invitation h2{font:800 30px/1.2 var(--heading);letter-spacing:-.02em;margin:0}
.personal-invitation h2 span{color:#244ce8}
.personal-invitation>p{font:400 18px/1.5 var(--font);color:#59657c;margin:14px auto 0;max-width:60ch}
.personal-cta{display:flex;align-items:center;justify-content:center;background:#244ce8;color:#fff;text-decoration:none;border-radius:999px;min-height:56px;padding:14px 20px;font:800 18px/1.35 var(--font);box-sizing:border-box;box-shadow:0 6px 16px -10px #244ce866}
.personal-format{display:flex;gap:16px;justify-content:center;align-items:center;margin:14px 0 0;color:#59657c;font:400 16px/1.5 var(--font)}
.personal-format span{color:#a0a8ba}
.personal-cta:active{background:#173bd0}
@media(hover:hover){.personal-cta:hover{background:#173bd0}}
@media(max-width:760px){
.personal-hero{padding:86px 20px 22px;display:flex}
.personal-layout{max-width:460px;gap:16px;justify-content:space-between;min-height:calc(100svh - 108px)}
.personal-greeting{font-size:29px;margin-bottom:5px}
.personal-heading h1{font-size:32px;line-height:1.1}
.personal-subject{font-size:16px;line-height:1.35;margin-top:8px}
.personal-cover{height:clamp(170px,25svh,240px);border-radius:16px}
.personal-stats{padding:14px 6px;border-radius:16px}
.personal-stats dt{font-size:22px}
.personal-stats dd{font-size:12px}
.personal-invitation h2{font-size:24px;line-height:1.2}
.personal-invitation>p{font-size:15px;line-height:1.45;margin-top:10px}
.personal-cta{font-size:16px;min-height:54px;padding-inline:10px}
.personal-format{font-size:14px;gap:14px;margin-top:12px}
}
@media(max-width:350px){.personal-hero{padding-inline:16px}.personal-heading h1{font-size:28px}.personal-greeting{font-size:26px}.personal-subject{font-size:15px}.personal-stats dt{font-size:19px}.personal-invitation h2{font-size:21px}.personal-cta{font-size:14px}}

@media(max-width:760px) and (max-height:700px){.personal-layout{gap:10px}.personal-hero{padding-top:80px;padding-bottom:16px}.personal-cover{height:110px}.personal-greeting{font-size:24px}.personal-heading h1{font-size:26px}.personal-subject{font-size:14px;margin-top:5px}.personal-stats{padding:10px 4px}.personal-stats dt{font-size:18px}.personal-stats dd{font-size:11px}.personal-invitation h2{font-size:20px}.personal-invitation>p{font-size:13px;line-height:1.35;margin-top:7px}.personal-cta{min-height:48px}.personal-format{font-size:12px;margin-top:8px}}

/* Standard landscape video proportions on every viewport. */
.personal-cover{aspect-ratio:16 / 9;height:auto;flex-shrink:0}

.personal-video-placeholder{width:100%}.personal-video-placeholder .personal-cover{position:relative}.personal-cover img{object-position:center;object-fit:cover}.personal-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:0;border-radius:50%;background:rgba(16,21,38,.72);color:#fff;display:grid;place-items:center;cursor:pointer}.personal-play svg{width:28px;height:28px;fill:currentColor}.personal-video-hint{position:absolute;right:18px;bottom:16px;font:400 28px/1.2 'Marck Script',cursive;color:#fff;text-shadow:0 2px 5px #0008}.personal-video-status{font:400 14px/1.4 var(--font);color:#59657c;margin:10px 0 0}@media(max-width:760px){.personal-play{width:52px;height:52px}.personal-video-hint{font-size:24px;right:12px;bottom:10px}}

/* Handwritten cue sits outside the cover, above its upper-right corner. */
.personal-video-placeholder{position:relative;padding-top:46px;box-sizing:border-box}
.personal-video-hint{top:0;right:8px;bottom:auto;color:#244ce8;text-shadow:none;display:flex;align-items:flex-start;gap:6px;pointer-events:none;font-size:26px}
.personal-video-hint svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-20deg)}
@media(max-width:760px){.personal-video-placeholder{padding-top:40px}.personal-video-hint{top:0;right:4px;bottom:auto;font-size:23px}.personal-video-hint svg{width:32px;height:36px}}

.personal-video-placeholder{padding-top:0}

/* Unified blue signup surface with floating field labels. */
.simple-page .signup-band{width:calc(100% - 32px);max-width:1200px;margin:0 auto 48px;padding:48px;background:#244ce8;color:#fff;border-radius:28px;overflow:visible}
.simple-page .inline-signup{width:100%;gap:48px;align-items:start}
.simple-page .inline-intro h2{color:#fff;font-size:40px;line-height:1.12;text-wrap:balance}
.simple-page .free-signup-description{color:#e6ecff;font-size:17px;line-height:1.5;margin-top:20px}
.simple-page .free-signup-benefits{color:#fff;font-size:16px;margin-top:24px;gap:14px}
.simple-page .free-signup-benefits li:before{border-color:#d0ff50}
.simple-page .inline-form-panel{background:transparent;color:#fff;padding:0;border-radius:0;box-shadow:none}
#inline-signup-form{gap:18px}
#inline-signup-form .floating-control{position:relative}
#inline-signup-form .floating-control label{position:absolute;left:18px;top:23px;z-index:1;margin:0;font:400 17px/24px var(--font);color:#35405a;transform-origin:left top;transition:transform 220ms cubic-bezier(.16,1,.3,1),color 150ms;cursor:text;pointer-events:none}
#inline-signup-form .floating-control input,#inline-signup-form .floating-control select{height:72px;min-height:72px;padding:29px 18px 9px;border-radius:12px;border:2px solid transparent;font-size:17px;line-height:24px;caret-color:#244ce8}
#inline-signup-form .floating-control select{padding-right:48px;color:transparent}
#inline-signup-form .floating-control select option{color:#18234b}
#inline-signup-form .floating-control input::placeholder{opacity:0;transition:opacity 150ms;color:#667289}
#inline-signup-form .floating-control:focus-within label,#inline-signup-form .floating-control:has(input:not(:placeholder-shown)) label,#inline-signup-form .floating-control:has(select:valid) label{transform:translateY(-13px) scale(.75);color:#53617b}
#inline-signup-form .floating-control input:focus::placeholder{opacity:1}
#inline-signup-form .floating-control:focus-within select,#inline-signup-form .floating-control select:valid{color:#18234b}
#inline-signup-form .floating-control input:focus,#inline-signup-form .floating-control select:focus{outline:2px solid #b7ceff;outline-offset:3px;border-color:#244ce8}
#inline-signup-form .floating-control [aria-invalid=true]{border-color:#b92330;background:#fff6f6}
#inline-signup-form .field-error,#inline-signup-form .submit-status{color:#fff0f0;font-weight:700}
.simple-page #inline-signup-form .inline-submit{background:#d0ff50;color:#101526;min-height:56px;font-size:17px;border-radius:999px;margin-top:4px}
.simple-page #inline-signup-form .inline-submit:active{background:#bde846}
#inline-signup-form .inline-note,#inline-signup-form .callback-note{color:#e6ecff;text-align:center;font-size:12px;line-height:1.5}
#inline-signup-form .inline-submit:focus-visible{outline:2px solid #fff;outline-offset:4px}
.signup-band .inline-confirmation>p{color:#e6ecff}
@media(hover:hover){.simple-page #inline-signup-form .inline-submit:hover{background:#bde846}}
@media(max-width:760px){.simple-page .signup-band{width:calc(100% - 24px);padding:28px 20px;margin-bottom:28px;border-radius:24px}.simple-page .inline-signup{gap:28px}.simple-page .inline-intro h2{font-size:30px;line-height:1.15;text-align:left}.simple-page .free-signup-description{font-size:16px;margin-top:16px}.simple-page .free-signup-benefits{font-size:15px;margin-top:20px;gap:10px}.simple-page .inline-form-panel{padding:0}#inline-signup-form{gap:16px}}
@media(max-width:350px){.simple-page .signup-band{padding:24px 16px}.simple-page .inline-intro h2{font-size:26px}.simple-page #inline-signup-form .inline-submit{font-size:15px}}
@media(prefers-reduced-motion:reduce){#inline-signup-form .floating-control label,#inline-signup-form .floating-control input::placeholder{transition:none}}

/* Grade dropdown shares the form's typography, radius and focus treatment. */
#inline-signup-form .grade-control select[hidden]{display:none}
.grade-trigger{position:relative;width:100%;min-height:72px;padding:29px 48px 9px 18px;border:2px solid transparent;border-radius:12px;background:#fff;text-align:left;color:#18234b;font:400 17px/24px var(--font);cursor:pointer}
.grade-trigger #grade-value{opacity:0}
.grade-control:focus-within .grade-trigger #grade-value,.grade-control.has-grade .grade-trigger #grade-value{opacity:1}
.grade-trigger svg{position:absolute;right:18px;top:24px;width:20px;height:20px;fill:none;stroke:#18234b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 180ms}
.grade-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.grade-trigger:focus{outline:2px solid #b7ceff;outline-offset:3px;border-color:#244ce8}
.grade-trigger[aria-invalid=true]{border-color:#b92330;background:#fff6f6}
.grade-trigger:disabled{opacity:.7;cursor:wait}
.grade-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:12;padding:6px;background:#fff;border-radius:14px;box-shadow:0 12px 28px #071c6840;color:#18234b}
.grade-options[hidden]{display:none}
.grade-option{min-height:48px;display:flex;align-items:center;padding:10px 14px;border-radius:9px;font:600 17px/24px var(--font);cursor:pointer}
.grade-option.is-active{background:#eef2ff;color:#244ce8}
.grade-option[aria-selected=true]{color:#244ce8;background:#eef2ff}
.grade-option[aria-selected=true]:after{content:'';width:6px;height:12px;margin-left:auto;margin-right:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
@media(hover:hover){.grade-option:hover{background:#eef2ff;color:#244ce8}}
@media(prefers-reduced-motion:reduce){.grade-trigger svg{transition:none}}

/* Form width must not depend on the length of notes or button text. */
.simple-page .inline-form-panel{width:100%;min-width:0}

/* A direct registration destination after the main call to action. */
.simple-page .signup-band{max-width:640px;padding:40px}
.simple-page .content-section.inline-signup{display:flex;flex-direction:column;align-items:stretch;gap:28px}
.simple-page .inline-intro h2{font-size:34px;line-height:1.15;text-align:left}
#inline-signup-form .signup-next-step{margin:0;color:#fff;font:400 15px/1.45 var(--font);text-align:center}
#inline-signup-form .callback-note{margin-top:-8px}
@media(max-width:760px){.simple-page .signup-band{padding:28px 20px}.simple-page .inline-intro h2{font-size:28px}.simple-page .content-section.inline-signup{gap:24px}}
@media(max-width:350px){.simple-page .signup-band{padding:24px 16px}.simple-page .inline-intro h2{font-size:25px}}

/* The offer's number carries the accent; the checklist stays easy to scan. */
.signup-three{display:inline-block;background:#d0ff50;color:#101526;padding:0 .16em .04em;line-height:1.05;border-radius:6px}
.simple-page .signup-band .free-signup-benefits{margin:24px 0 0;text-align:left;gap:12px;font-size:16px;line-height:1.45}
@media(max-width:760px){.simple-page .signup-band .free-signup-benefits{font-size:15px;margin-top:22px}}

/* A light typographic accent and consistent outlined benefit icons. */
.signup-three{position:relative;background:none;color:#d0ff50;padding:0 .04em;border-radius:0;line-height:1.05}
.signup-three svg{position:absolute;width:1.15em;height:.28em;left:-.055em;bottom:-.09em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.simple-page .signup-band .free-signup-benefits{gap:14px}
.simple-page .signup-band .free-signup-benefits li{display:flex;align-items:center;gap:12px;padding-left:0}
.simple-page .signup-band .free-signup-benefits li:before{display:none}
.signup-check{width:26px;height:26px;flex:0 0 26px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.signup-check circle{stroke:#a8bbff;stroke-opacity:.65}
.signup-check path{stroke:#d0ff50;stroke-width:2}

.signup-three{padding:0;color:#d0ff50;background:none;font-weight:900}
.signup-check{width:24px;height:24px;flex-basis:24px}
.signup-check path{stroke:#d0ff50;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* FAQ: full-row disclosure with a clearly centered touch control. */
.simple-page .faq summary{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;line-height:1.45;touch-action:manipulation}
.simple-page .faq summary>span{position:relative;right:auto;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#244ce8;transform:none;transition:background-color 160ms}
.simple-page .faq summary>span:before,.simple-page .faq summary>span:after{content:'';position:absolute;left:50%;top:50%;width:18px;height:2px;margin:0;border-radius:2px;background:#fff;transform:translate(-50%,-50%);transition:transform 180ms,opacity 180ms}
.simple-page .faq summary>span:after{transform:translate(-50%,-50%) rotate(90deg)}
.simple-page .faq summary[aria-expanded=true]>span{background:#182fa8;transform:none}
.simple-page .faq summary[aria-expanded=true]>span:after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.simple-page .faq summary[aria-expanded=true]{color:#244ce8}
.simple-page .faq summary:focus-visible{outline:2px solid #244ce8;outline-offset:-3px;border-radius:16px}
.simple-page .faq summary:active,.simple-page .faq summary[data-pressed]{background:#f2f5ff}
.simple-page .faq-answer{padding:0 24px 24px}
@media(hover:hover){.simple-page .faq summary:hover>span{background:#182fa8}.simple-page .faq summary:hover{color:#244ce8}}
@media(max-width:760px){.simple-page .faq summary{padding:18px 20px;gap:16px;min-height:84px;font-size:16px}.simple-page .faq-answer{padding:0 20px 22px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.simple-page .faq summary>span,.simple-page .faq summary>span:before,.simple-page .faq summary>span:after{transition:none}}

/* Compact visible icon; the whole question remains the touch target. */
.simple-page .faq summary>span{width:28px;height:28px;flex-basis:28px;transition:background-color 160ms,transform 240ms cubic-bezier(.16,1,.3,1)}
.simple-page .faq summary>span:before,.simple-page .faq summary>span:after{width:12px;height:1.5px}
.simple-page .faq summary[aria-expanded=true]>span{transform:rotate(45deg)}
.simple-page .faq summary[aria-expanded=true]>span:after{transform:translate(-50%,-50%) rotate(90deg);opacity:1}
@media(prefers-reduced-motion:reduce){.simple-page .faq summary>span{transition:none}}

/* Parent review slots: prepared for supplied, authentic testimonials. */
.parent-reviews-section{padding:56px 24px;background:#f6f7f9;color:#101526}
.parent-reviews-inner{max-width:1040px;margin:auto}
.parent-reviews-inner>h2{font:900 40px/1.15 var(--heading);letter-spacing:-.025em;text-align:center;margin:0}
.parent-reviews-intro{font:400 18px/1.5 var(--font);color:#59657c;text-align:center;margin:12px 0 32px}
.parent-reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.parent-reviews-more{margin-top:20px}
.parent-reviews-more[hidden]{display:none}
.parent-review{padding:28px;background:#fff;border-radius:20px;box-shadow:0 6px 20px -12px #17244730}
.parent-review-person{display:flex;align-items:center;gap:14px}
.review-avatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background:#eef2ff;color:#244ce8;border-radius:50%}
.review-avatar svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.parent-review-person h3{font:800 18px/1.3 var(--font);margin:0}
.parent-review-person p{font:400 13px/1.4 var(--font);color:#59657c;margin:4px 0 0}
.review-placeholder-label{font:700 13px/1.4 var(--font);color:#244ce8;margin:24px 0 8px}
.review-placeholder-copy{font:400 16px/1.6 var(--font);color:#59657c;margin:0}
.reviews-more-button{display:block;margin:28px auto 0;padding:14px 24px;min-height:52px;border:0;border-radius:999px;background:#fff;color:#101526;font:800 16px/1.4 var(--font);box-shadow:0 5px 16px -9px #17244740;cursor:pointer}
.reviews-more-button:focus-visible{outline:2px solid #244ce8;outline-offset:4px}
.reviews-more-button:active{background:#eef2ff}
@media(hover:hover){.reviews-more-button:hover{background:#eef2ff;color:#244ce8}}
@media(max-width:760px){.parent-reviews-section{padding:40px 20px}.parent-reviews-inner>h2{font-size:28px}.parent-reviews-intro{font-size:16px;margin-bottom:24px}.parent-reviews-grid{grid-template-columns:1fr;gap:16px}.parent-review{padding:24px;border-radius:18px}.parent-review-person h3{font-size:17px}.reviews-more-button{font-size:15px}}

.reviews-heading{text-align:center;margin-bottom:32px}
.reviews-label{display:inline-block;padding:8px 18px;border-radius:999px;background:#e9eeff;color:#244ce8;font:700 14px/1.3 var(--font);margin-bottom:18px}
.reviews-heading h2{font:900 40px/1.15 var(--heading);letter-spacing:-.025em;color:#101526;margin:0;text-wrap:balance}
.reviews-heading .parent-reviews-intro{margin:12px 0 0}
@media(max-width:760px){.reviews-heading{margin-bottom:26px}.reviews-label{font-size:13px;padding:7px 16px;margin-bottom:16px}.reviews-heading h2{font-size:28px}.reviews-heading .parent-reviews-intro{font-size:16px}}

.simple-page #questions .simple-section-grid{display:block}
.faq-heading{text-align:center;margin-bottom:32px}
.faq-heading .reviews-label{margin-bottom:18px}
.simple-page .faq-heading h2{margin:0;text-align:center}
.simple-page #questions .faq-list{max-width:760px;margin:0 auto}
@media(max-width:760px){.faq-heading{margin-bottom:26px}.faq-heading .reviews-label{margin-bottom:16px}}

.faq-contact-note{max-width:540px;margin:16px auto 0;color:#59657c;font:400 18px/1.5 var(--font)}
.faq-contact-note a{color:inherit;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.faq-contact-note a:focus-visible{outline:2px solid #244ce8;outline-offset:4px}
@media(max-width:760px){.faq-contact-note{font-size:16px;margin-top:14px}}

.faq-heading{margin-bottom:24px}
.faq-heading .reviews-label{margin-bottom:14px}
.faq-contact-note{max-width:580px;margin-top:12px;line-height:1.4}
@media(max-width:760px){.simple-page #questions{padding-top:32px;padding-bottom:36px}.faq-heading{margin-bottom:22px}.faq-heading .reviews-label{margin-bottom:14px}.simple-page .faq-heading h2{font-size:28px;line-height:1.15}.faq-contact-note{max-width:340px;margin-top:12px;font-size:16px;line-height:1.4}}

.faq-contact-note a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;color:#244ce8}
.faq-contact-note a svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Gentle field focus without an abruptly appearing outline. */
#inline-signup-form .floating-control input,#inline-signup-form .floating-control select,.grade-trigger{box-shadow:0 0 0 0 transparent;transition:box-shadow 280ms ease-out,border-color 280ms ease-out,background-color 180ms ease-out}
#inline-signup-form .floating-control input:focus,#inline-signup-form .floating-control select:focus,.grade-trigger:focus{outline:none;border-color:transparent;box-shadow:0 0 0 3px #244ce8,0 0 0 5px #b7ceff}
#inline-signup-form .floating-control label{transition:transform 300ms cubic-bezier(.16,1,.3,1),color 220ms ease-out}
#inline-signup-form .floating-control input::placeholder{transition:opacity 200ms ease-out}
#inline-signup-form .floating-control input:focus::placeholder{transition-delay:90ms}
.grade-trigger #grade-value{transition:opacity 200ms ease-out}
.grade-control:focus-within .grade-trigger #grade-value{transition-delay:90ms}
@media(prefers-reduced-motion:reduce){#inline-signup-form .floating-control input,#inline-signup-form .floating-control select,#inline-signup-form .floating-control label,#inline-signup-form .floating-control input::placeholder,.grade-trigger,.grade-trigger #grade-value{transition:none}}

.faq-contact-note a svg{width:20px;height:20px;fill:currentColor;stroke:none;overflow:visible}

.signup-band .preview-receipt-note{font:700 12px/1.4 var(--font);color:#e6ecff;margin:0 0 20px}
.preview-receipt-back{margin:24px auto 0;min-height:44px;padding:10px 20px;border:1px solid #b7ceff;border-radius:999px;background:transparent;color:#fff;font:700 15px/1.4 var(--font);cursor:pointer}

.learning-formats{padding:56px 24px;background:#f6f7f9;color:#101526}
.formats-inner{max-width:1040px;margin:auto}
.formats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.format-card{display:flex;flex-direction:column;background:#fff;border-radius:24px;padding:32px;box-shadow:0 8px 24px -16px #17244740}
.format-card h3{font:900 26px/1.2 var(--heading);margin:0}
.format-description{font:400 16px/1.5 var(--font);color:#59657c;margin:12px 0 24px;min-height:48px}
.format-price{font:900 42px/1.2 var(--heading);margin:0;letter-spacing:-.025em}
.format-price small{font:600 17px/1.2 var(--font);letter-spacing:0}
.format-unit{font:400 15px/1.5 var(--font);color:#59657c;margin:5px 0 24px}
.format-card ul{list-style:none;padding:24px 0 0;margin:0 0 28px;border-top:1px solid #e4e8f0;display:grid;gap:14px;flex:1}
.format-card li{display:flex;align-items:flex-start;gap:10px;font:400 16px/1.45 var(--font)}
.format-card li svg{width:20px;height:20px;flex:none;fill:none;stroke:#244ce8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.format-call{min-height:54px;width:100%;padding:14px 18px;border:1px solid #244ce8;border-radius:999px;background:#fff;color:#244ce8;font:800 16px/1.4 var(--font);cursor:pointer}
.format-access{font:400 12px/1.5 var(--font);color:#59657c;text-align:center;margin:14px 0 0}
.format-card-primary{background:#244ce8;color:#fff;box-shadow:none}
.format-card-primary .format-description,.format-card-primary .format-unit,.format-card-primary .format-access{color:#e6ecff}
.format-card-primary ul{border-color:#8099f2}
.format-card-primary li svg{stroke:#d0ff50}
.format-card-primary .format-call{background:#d0ff50;color:#101526;border-color:transparent}
.format-call:focus-visible{outline:2px solid #244ce8;outline-offset:4px}
.format-card-primary .format-call:focus-visible{outline-color:#fff}
@media(hover:hover){.format-call:hover{background:#eef2ff}.format-card-primary .format-call:hover{background:#bde846}}
@media(max-width:760px){.learning-formats{padding:40px 20px}.formats-grid{grid-template-columns:1fr;gap:20px}.format-card{padding:26px 24px;border-radius:20px}.format-card h3{font-size:24px}.format-description{min-height:0}.format-price{font-size:38px}.format-card li{font-size:15px}}

.format-card{background:#fff;color:#101526}
.format-price{color:#244ce8}
.format-call{background:#fff;color:#244ce8;border:1.5px solid #244ce8}

.format-card-featured{position:relative;border:1.5px solid #244ce8;box-shadow:none;padding-top:38px}
.format-feature-label{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);padding:9px 20px;border-radius:999px;background:#244ce8;color:#fff;white-space:nowrap;font:800 13px/1.3 var(--font)}
.format-card-featured h3{display:flex;align-items:center;gap:10px}
.format-crown{width:26px;height:26px;flex:none;fill:#244ce8}
.format-price{color:#101526}
.format-card ul{border-top-style:dashed}
.format-card-featured .format-call{background:#244ce8;color:#fff}
@media(hover:hover){.format-card-featured .format-call:hover{background:#173bd0}}
@media(max-width:760px){.format-card-featured{margin-top:16px;padding-top:36px}.format-feature-label{font-size:12px;padding:8px 18px}.format-crown{width:24px;height:24px}}

/* Own-site tariff composition, adapted to the current white landing. */
.format-card{padding:32px;border:0;border-radius:24px;background:#fff;box-shadow:0 8px 24px -16px #17244730}
.format-card h3{font:900 24px/1.25 var(--heading);margin:0 0 24px}
.format-price{font:900 48px/1.1 var(--heading);color:#101526;margin:0}
.format-price small{font:800 20px/1.2 var(--font);color:#667289}
.format-unit{font:700 15px/1.4 var(--font);margin:10px 0 0}
.format-description{font:700 16px/1.5 var(--font);margin:24px 0;min-height:48px}
.format-card ul{border-top-style:solid;padding-top:24px;gap:16px}
.format-card li{font-weight:700}
.format-card:not(.format-card-featured) li svg{stroke:#101526}
.format-call{border:1.5px solid #101526;color:#101526;border-radius:16px;min-height:56px}
.format-card-featured{border:1.5px solid #244ce8;box-shadow:none;padding-top:32px}
.format-card-featured .format-price{color:#244ce8}
.format-card-featured .format-call{border-color:#244ce8;background:#244ce8;color:#fff}
@media(max-width:760px){.format-card{padding:26px 24px}.format-card-featured{margin-top:0;padding-top:26px}.format-card h3{font-size:23px;margin-bottom:22px}.format-price{font-size:44px}.format-description{min-height:0;font-size:15px}.format-card li{font-size:15px}}

/* Contact copy uses the available column instead of a fixed character limit. */
.simple-page .footer-heading{min-width:0}
.simple-page .contact-footer .footer-heading>p{width:100%;max-width:none;height:auto;white-space:normal;overflow:visible;overflow-wrap:break-word}
@media(min-width:700px){.simple-page .contact-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Editorial offer: one numeral spans both lines of the teacher invitation. */
.simple-page .signup-eyebrow{margin:0 0 18px;color:#fff;font:700 13px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase}
.simple-page .inline-intro .signup-offer{display:flex;align-items:center;gap:20px;text-align:left;text-wrap:initial;font-size:34px;line-height:1.15}
.simple-page .signup-offer .signup-three{flex:0 0 auto;font:900 108px/.9 var(--heading);letter-spacing:-.055em;margin:0;background:none;color:#d0ff50;padding:0}
.simple-page .signup-offer .signup-offer-copy{display:block;margin:0;padding:0;border-radius:0;background:none;color:#fff;transform:none;min-width:0}
@media(max-width:760px){.simple-page .signup-eyebrow{font-size:11px;margin-bottom:16px}.simple-page .inline-intro .signup-offer{gap:14px;font-size:clamp(23px,6.3vw,34px)}.simple-page .signup-offer .signup-three{font-size:clamp(78px,21vw,108px)}}
@media(max-width:350px){.simple-page .inline-intro .signup-offer{gap:10px;font-size:21px}.simple-page .signup-offer .signup-three{font-size:72px}}

/* Full viewport player, including mobile safe areas. */
.lesson-player{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#090c14;color:#fff;opacity:0;transform:translateY(18px) scale(.98);transition:opacity 260ms ease,transform 320ms cubic-bezier(.2,.8,.2,1);overflow:hidden}
.lesson-player[open]{display:block}.lesson-player.is-visible{opacity:1;transform:none}
.lesson-player::backdrop{background:rgba(5,8,15,.85)}
.lesson-player-shell{display:flex;flex-direction:column;height:100%;padding: max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-sizing:border-box}
.lesson-player-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding-bottom:12px}
.lesson-player-header h2{margin:0;font:700 18px/1.3 var(--font);color:#fff}
.lesson-player-close{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border:1px solid #ffffff30;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer}
.lesson-player-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lesson-player-close:focus-visible{outline:3px solid #d0ff50;outline-offset:3px}
.lesson-player-stage{min-height:0;flex:1;display:grid;place-items:center}.lesson-player-video{width:100%;height:100%;min-height:0;object-fit:contain}.lesson-player-video[hidden]{display:none}
.lesson-player-empty{font:400 18px/1.5 var(--font);text-align:center;color:#d6dae5}.lesson-player-empty[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.lesson-player{transition:none;transform:none}}

/* Centering is independent of the shared button press transform. */
.personal-play{translate:-50% -50%;transform:none;touch-action:manipulation}
.personal-play:enabled:active,.personal-play:enabled[data-pressed]{transform:scale(.96)}
.lesson-player{transform:none;transition:opacity 260ms ease}
.lesson-player.is-visible{transform:none}
.lesson-player-stage{width:100%;overflow:hidden}
.lesson-player-video{width:min(100%,calc((100dvh - 100px) * 16 / 9));height:auto;aspect-ratio:16/9;max-height:100%;object-fit:contain;background:#000}
@media(orientation:landscape) and (max-height:500px){.lesson-player-header{padding-bottom:4px}.lesson-player-shell{padding-top:4px;padding-bottom:4px}.lesson-player-video{width:min(100%,calc((100dvh - 60px) * 16 / 9))}}
@media(prefers-reduced-motion:reduce){.lesson-player{transition:none}.personal-play:enabled:active,.personal-play:enabled[data-pressed]{transform:none}}

/* The video grows out of its rounded cover instead of switching screens. */
html{scrollbar-gutter:stable}
.lesson-player,.lesson-player.is-visible{background:transparent;opacity:1;transform:none;transition:none;overflow:visible}
.lesson-player::backdrop{background:rgba(12,18,38,0);backdrop-filter:blur(0);transition:background 420ms ease,backdrop-filter 420ms ease}
.lesson-player.is-visible::backdrop{background:rgba(12,18,38,.72);backdrop-filter:blur(8px)}
.lesson-player-shell{justify-content:center;align-items:center;padding:24px}
.lesson-player-header{position:absolute;top:max(16px,env(safe-area-inset-top));left:24px;right:24px;opacity:0;transition:opacity 220ms ease;pointer-events:none}
.lesson-player.is-visible .lesson-player-header{opacity:1;transition-delay:180ms;pointer-events:auto}
.lesson-player-stage{position:relative;flex:none;width:min(1120px,100%,calc((100dvh - 150px)*16/9));aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#101526;transform-origin:top left;box-shadow:0 24px 80px #080d2433}
.lesson-player-video{display:block;width:100%;height:100%;max-height:none;aspect-ratio:16/9;object-fit:contain;background:#101526}
.lesson-player-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;pointer-events:none;opacity:1;transition:opacity 200ms ease}
.lesson-player-poster.is-playing{opacity:0}
.lesson-player-close{background:#fff;color:#101526;border:0;box-shadow:0 4px 20px #0002}
@media(max-width:760px){.lesson-player-shell{padding:16px}.lesson-player-stage{border-radius:16px}.lesson-player-header{left:16px;right:16px}.lesson-player-header h2{font-size:16px}}
@media(orientation:landscape) and (max-height:500px){.lesson-player-stage{width:min(100%,calc((100dvh - 90px)*16/9))}.lesson-player-header{top:8px}.lesson-player-shell{padding:12px}}
@media(prefers-reduced-motion:reduce){.lesson-player::backdrop,.lesson-player-header,.lesson-player-poster{transition:none}}

/* Compact header and a quiet background; one opacity transition for the player. */
.lesson-player{opacity:0;transition:opacity 280ms ease;background:transparent}
.lesson-player.is-visible{opacity:1}
.lesson-player::backdrop{background:rgba(9,12,20,0);backdrop-filter:none;transition:background 280ms ease}
.lesson-player.is-visible::backdrop{background:#090c14;backdrop-filter:none}
.lesson-player-shell{--player-width:min(1120px,100%,calc((100dvh - 140px)*16/9));gap:12px}
.lesson-player-header,.lesson-player.is-visible .lesson-player-header{position:relative;inset:auto;width:var(--player-width);padding:0;opacity:1;transition:none;pointer-events:auto;box-sizing:border-box}
.lesson-player-stage{width:var(--player-width);box-shadow:none}
.lesson-player-close{width:44px;height:44px;flex-basis:44px;box-shadow:none;background:#ffffff14;color:#fff}
.lesson-player-close svg{width:22px;height:22px}
@media(orientation:landscape) and (max-height:500px){.lesson-player-shell{--player-width:min(1120px,100%,calc((100dvh - 88px)*16/9));gap:8px}.lesson-player-header{top:auto}.lesson-player-stage{width:var(--player-width)}}
@media(prefers-reduced-motion:reduce){.lesson-player,.lesson-player::backdrop{transition:none}}

/* Playback stays within the original rounded 16:9 cover. */
.personal-cover .personal-inline-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#101526;border-radius:inherit}
.personal-cover .personal-inline-video[hidden]{display:none}
.personal-cover.is-playing>img,.personal-cover.is-playing>.personal-play{visibility:hidden;pointer-events:none}

/* Complete mobile navigation with direct contact actions at its foot. */
.preview-nav-logo img{height:54px;width:auto}
.mobile-menu-contacts{display:none}
@media(max-width:760px){
 .preview-nav-logo img{height:52px;width:auto}
 .preview-mobile-menu{gap:24px;padding-bottom:max(24px,env(safe-area-inset-bottom));height:100dvh;box-sizing:border-box}
 .preview-mobile-heading{flex-shrink:0}
 .preview-mobile-menu>nav{gap:12px}
 .preview-mobile-menu>nav a{font-size:26px;min-height:44px}
 .mobile-menu-contacts{display:flex;flex-direction:column;align-items:flex-end;margin-top:auto;padding-top:20px;border-top:0;gap:2px}
 .mobile-menu-contacts>a{display:flex;align-items:center;min-height:44px;color:#18234b;text-decoration:none;font:700 16px/1.4 var(--font)}
 .mobile-menu-contacts>a[href^="mailto:"]{font-size:14px;font-weight:400}
 .mobile-menu-socials{display:flex;gap:8px;margin-top:8px}
 .mobile-menu-socials a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f0f2f8;color:#18234b}
 .mobile-menu-socials svg{width:22px;height:22px;fill:currentColor}
}

.preview-mobile-menu>nav a{font-family:var(--font);font-weight:700}

.review-text{font:400 16px/1.65 var(--font);color:#59657c;margin:22px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.review-initial{font:800 22px/1 var(--font);color:#18234b;background:#eef1f7}

.review-photo{display:block;object-fit:cover}

/* 2026-10-08 — PC layout: fixed header with contacts, 4 reviews before expanding,
   single-row footer. First screen keeps its single centred column. Phone layout unchanged. */
.nav-contacts{display:none}
.footer-pc{display:none}
@media(max-width:760px){.parent-reviews-section:not(.is-expanded) .review-extra{display:none}}

@media(min-width:1024px){
  /* Header: always visible; contacts on the right, separated from the menu. */
  .preview-nav.is-hidden{transform:none}
  .simple-page .preview-nav-inner{width:min(100%,1200px);max-width:none;padding:12px 32px;gap:32px}
  .preview-nav-links{margin-left:auto;gap:28px}
  .nav-contacts{display:flex;align-items:center;gap:14px;padding-left:28px;border-left:1px solid #e1e5ed}
  .nav-phone{display:flex;align-items:center;gap:8px;min-height:44px;color:#18234b;font:800 15px/1 var(--font);text-decoration:none;white-space:nowrap}
  .nav-phone svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .nav-phone:hover{color:#244ce8}
  .nav-telegram{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf0ff;color:#244ce8;transition:background-color .15s}
  .nav-telegram svg{width:24px;height:24px;fill:currentColor}
  .nav-telegram:hover{background:#dbe5ff}
  .nav-phone:focus-visible,.nav-telegram:focus-visible{outline:2px solid #244ce8;outline-offset:3px;border-radius:8px}
  .nav-telegram:focus-visible{border-radius:50%}
  .preview-nav .preview-nav-logo img{transform:translateX(-11%)}

  /* Footer (PC): brand block + labelled columns on a light band; phone keeps the compact footer. */
  .simple-page .footer-band{background:#f4f5f8;padding:64px 32px 28px;margin-top:96px}
  .simple-page .contact-footer{display:none}
  .footer-pc{display:block;width:min(100%,1136px);margin:auto;color:#18234b}
  .footer-pc-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:48px;align-items:start}
  .footer-pc-logo{display:inline-block;border-radius:8px}
  /* The logo file has ~11% transparent inset on the left; shift so the letters meet the content edge. */
  .footer-pc-logo img{display:block;width:120px;height:auto;filter:brightness(0);transform:translateX(-11%)}
  .footer-pc-brand p{margin:18px 0 0;max-width:34ch;text-wrap:balance;font:600 17px/1.5 var(--font);color:#3d4966}
  .footer-pc-title{margin:0 0 16px;font:800 12px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#7a8499}
  .footer-pc-link{display:flex;align-items:center;gap:12px;min-height:40px;color:#18234b;font:700 17px/1.3 var(--font);text-decoration:none;width:fit-content}
  .footer-pc-link svg{width:20px;height:20px;flex:none;fill:none;stroke:#244ce8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .footer-pc-link:hover{color:#244ce8}
  .footer-pc-hours{margin:10px 0 0;font:400 14px/1.5 var(--font);color:#667289}
  .footer-pc-socials{display:flex;gap:10px;margin:0;flex-wrap:nowrap}
  .footer-pc-socials a{width:46px;height:46px;background:#fff;border-color:#dfe4ee;color:#18234b;transition:background-color .15s,color .15s,border-color .15s}
  .footer-pc-socials a:hover{background:#244ce8;border-color:#244ce8;color:#fff}
  .footer-pc-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:22px;border-top:1px solid #dfe3eb;font:400 14px/1.4 var(--font);color:#667289}
  .footer-pc-bottom a{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:#18234b;font-weight:700;text-decoration:none}
  .footer-pc-bottom a:hover{color:#244ce8}
  .footer-pc a:focus-visible{outline:2px solid #244ce8;outline-offset:3px}
}

