:root {
  --brand:#6107c0;
  --brand-dark:#48068f;
  --brand-soft:#f0e8fc;
  --ink:#211431;
  --muted:#736b7e;
  --line:#e8e2ee;
  --bg:#fcfbf8;
  --card:#fff;
  --radius:28px;
  --max:1200px;
  --header-h:88px;
  --shadow:0 20px 70px #34134c0c;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

main {
  min-height:55vh;
}

a {
  color:var(--brand);
  text-decoration:none;
}

button,input {
  font:inherit;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

[hidden] {
  display:none!important;
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--brand);
  outline-offset:5px;
}

h1,h2,h3,p {
  margin-top:0;
}

h1,h2,h3 {
  line-height:1.13;
  letter-spacing:-.055em;
  font-weight:700;
}

h2 {
  font-size:clamp(32px,3.6vw,48px);
}

h3 {
  font-size:29px;
}

p {
  color:var(--muted);
}

.wrap {
  width:min(var(--max),calc(100% - 80px));
  margin-inline:auto;
}

.section {
  padding-block:100px;
}

.eyebrow,.card-kicker,.kicker {
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand);
  margin-bottom:20px;
}

.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
}

.mini-spark {
  font-size:24px;
  line-height:1;
}

.btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:23px;
  background:var(--brand);
  color:#fff;
  border:1px solid var(--brand);
  border-radius:14px;
  min-height:50px;
  padding:12px 23px;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  white-space:normal;
  transition:background .2s,transform .2s;
  box-shadow:0 4px 0 #36056908;
}

.btn:hover {
  background:var(--brand-dark);
  transform:translateY(-2px);
}

.btn-lg {
  min-height:58px;
  padding:17px 27px;
  font-size:14px;
}

.hero-actions .btn, .final-cta .btn {
  gap:8px;
}

.btn-outline,.btn-ghost {
  background:transparent;
  color:var(--brand);
}

.btn-outline:hover,.btn-ghost:hover {
  background:var(--brand-soft);
}

.btn-light {
  background:#e2f3a7;
  border-color:#e2f3a7;
  color:var(--ink);
  box-shadow:none;
}

.btn-light:hover {
  background:#d2eb8b;
}

.text-link {
  display:inline-flex;
  gap:12px;
  align-items:center;
  font-size:13px;
  font-weight:700;
  color:var(--ink);
}

.text-link:hover {
  color:var(--brand);
}

.skip-link {
  position:fixed;
  left:20px;
  top:-100px;
  z-index:100;
  padding:12px 20px;
  background:var(--brand);
  color:#fff;
  border-radius:8px;
}

.skip-link:focus {
  top:12px;
}

/* Shared navigation: a compact mobile header and keyboard-operable language picker. */
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:#fcfbf8f5;
  border-bottom:1px solid #ece7ef;
  backdrop-filter:blur(14px);
}

.header-inner {
  height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--brand);
  font-size:25px;
  font-weight:800;
  letter-spacing:-1.3px;
  flex-shrink:0;
}

.brand img {
  width:33px;
  height:33px;
}

.nav {
  display:flex;
  align-items:center;
  gap:27px;
}

.nav a,.header-login {
  color:var(--ink);
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}

.nav a:hover,.header-login:hover {
  color:var(--brand);
}

.header-actions {
  display:flex;
  align-items:center;
  gap:19px;
}

.header-cta {
  min-height:48px;
  padding:12px 22px;
  font-size:14px;
  gap:8px;
  border-radius:11px;
}

.nav-toggle {
  display:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:10px;
  width:41px;
  height:41px;
  padding:10px;
}

.nav-toggle span {
  display:block;
  height:2px;
  width:19px;
  background:var(--ink);
  margin:5px 0;
  transition:transform .2s;
}

.nav-toggle[aria-expanded=true] span:first-child {
  transform:translateY(3.5px) rotate(45deg);
}

.nav-toggle[aria-expanded=true] span:last-child {
  transform:translateY(-3.5px) rotate(-45deg);
}

.mobile-login {
  display:none;
}

.nav-drop {
  position:relative;
}

.lang-switch-btn {
  display:flex;
  align-items:center;
  gap:7px;
  border:0;
  padding:9px 0;
  color:var(--ink);
  background:none;
  font-size:11px;
  font-weight:700;
}

.chevron {
  font-size:15px;
}

.nav-drop-menu {
  position:absolute;
  top:calc(100% + 13px);
  right:0;
  min-width:180px;
  max-height:65vh;
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:var(--shadow);
  padding:7px;
}

.nav-drop-menu a {
  display:block;
  padding:9px 12px;
  border-radius:8px;
  color:var(--ink);
  font-size:13px;
}

.nav-drop-menu a:hover,.nav-drop-menu a[aria-current] {
  background:var(--brand-soft);
  color:var(--brand);
}

/* Opening scene */
.landing-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:28px;
  padding-block:65px 55px;
  min-height:760px;
}

.hero-copy {
  position:relative;
  z-index:2;
  padding-bottom:20px;
}

.hero-copy h1 {
  font-size:clamp(51px,5.25vw,74px);
  line-height:1.06;
  letter-spacing:-.068em;
  margin:0 0 26px;
  max-width:600px;
  font-weight:700;
}

.hero-copy h1 span {
  display:block;
  color:var(--brand);
}

.hero-description {
  font-size:16px;
  line-height:1.8;
  max-width:425px;
  margin-bottom:31px;
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}

.play-icon {
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  width:33px;
  height:33px;
  border-radius:50%;
  font-size:10px;
  padding-left:2px;
}

.hero-note {
  font-size:11px;
  margin:23px 0 18px;
}

.hero-note span {
  color:var(--brand);
  margin-right:5px;
}

.platform-inline {
  display:flex;
  gap:13px;
  font-size:10px;
  letter-spacing:.06em;
  color:#837b8c;
  font-weight:600;
}

.hero-stage {
  height:640px;
  position:relative;
  overflow:clip;
  display:flex;
  justify-content:center;
  align-items:center;
  isolation:isolate;
}

.hero-stage:before {
  content:"";
  position:absolute;
  inset:105px 0 72px;
  border-radius:50%;
  background:#eee4fb;
  z-index:-2;
}

.stage-orbit {
  position:absolute;
  border:1px solid #d6c4e8;
  border-radius:50%;
  z-index:-1;
  transform:rotate(-25deg);
}

.orbit-one {
  width:109%;
  height:345px;
}

.orbit-two {
  width:92%;
  height:530px;
  transform:rotate(27deg);
}

.product-phone {
  position:relative;
  overflow:hidden;
  background:#181220;
  border:6px solid #241d29;
  border-radius:39px;
  box-shadow:0 25px 45px #35204526;
  flex-shrink:0;
  aspect-ratio: .475;
}

.product-phone img {
  position:absolute;
  width:113%;
  max-width:none;
  height:108%;
  object-fit:fill;
  left:-6.5%;
  top:-3.5%;
  border-radius:35px;
}

.hero-phone {
  width:272px;
  transform:rotate(7deg);
  z-index:1;
}

.floating-note {
  position:absolute;
  z-index:3;
  background:#fff;
  border:1px solid #e5ddee;
  box-shadow:0 14px 40px #371a5010;
  border-radius:16px;
}

.progress-note {
  top:82px;
  left:-7px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 17px;
  transform:rotate(-5deg);
}

.note-icon {
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  background:#e6f4b9;
  color:#42551f;
  border-radius:11px;
  font-size:23px;
}

.floating-note strong {
  display:block;
  font-size:11px;
  letter-spacing:-.02em;
  color:var(--ink);
}

.floating-note small {
  display:block;
  font-size:9px;
  color:var(--muted);
  margin-top:2px;
}

.conversation-note {
  bottom:83px;
  right:-6px;
  width:239px;
  padding:17px 19px;
  transform:rotate(-5deg);
}

.greeting-label {
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--brand);
  font-weight:800;
  display:block;
  margin-bottom:10px;
}

.conversation-note strong {
  font-size:13px;
}

.sound-wave {
  display:flex;
  align-items:center;
  gap:4px;
  height:28px;
  margin-top:8px;
}

.sound-wave i {
  display:block;
  background:#b991e6;
  width:3px;
  border-radius:4px;
  height:8px;
}

.sound-wave i:nth-child(3n) {
  height:21px;
}

.sound-wave i:nth-child(2n) {
  height:14px;
}

.sound-wave span {
  margin-left:auto;
  color:var(--brand);
  font-size:21px;
}

.stage-spark {
  position:absolute;
  color:var(--brand);
}

.spark-one {
  font-size:45px;
  top:13px;
  right:60px;
}

.spark-two {
  font-size:29px;
  bottom:61px;
  left:38px;
}

.stage-caption {
  position:absolute;
  bottom:0;
  text-align:center;
  font-size:9px;
  letter-spacing:.04em;
  margin:0;
  color:#857a90;
}

/* Language collection */
.language-section {
  padding:45px 0 54px;
  border-block:1px solid var(--line);
  background:#fff;
}

.language-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:45px;
  margin-bottom:27px;
}

.language-heading .eyebrow {
  margin-bottom:12px;
}

.language-heading h2 {
  font-size:29px;
  margin-bottom:0;
  letter-spacing:-.04em;
}

.language-heading>p {
  max-width:340px;
  font-size:12px;
  margin:0;
}

.language-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.language-pill {
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--bg);
  padding:11px 15px;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--ink);
  font-size:12px;
  transition:border-color .2s,background .2s;
}

.language-pill:hover {
  border-color:#af87dc;
  background:#f6f0fc;
}

.flag {
  font-size:20px;
  line-height:1;
}

.language-arrow {
  color:#a496b1;
  font-size:13px;
  margin-left:8px;
}

/* Feature composition */
.section-heading {
  text-align:center;
  max-width:660px;
  margin:0 auto 46px;
}

.section-heading .eyebrow {
  justify-content:center;
  margin-bottom:15px;
}

.section-heading h2 {
  margin-bottom:20px;
}

.section-heading>p:last-child {
  font-size:14px;
  max-width:500px;
  margin:0 auto;
}

.feature-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.feature-grid article {
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  position:relative;
}

.feature-copy p:last-child {
  margin-bottom:0;
}

.feature-copy>p:not(.card-kicker) {
  font-size:13px;
  line-height:1.8;
}

.feature-copy h3 {
  font-size:30px;
  margin-bottom:17px;
  letter-spacing:-.04em;
}

.card-kicker {
  font-size:9px;
  letter-spacing:.09em;
  margin-bottom:20px;
}

.course-feature {
  grid-row:span 2;
  display:flex;
  flex-direction:column;
  background:#eee7f8;
  min-height:780px;
}

.course-feature .feature-copy {
  padding:38px 42px 20px;
}

.skill-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:20px;
}

.skill-tags span {
  font-size:9px;
  border:1px solid #d5c5e9;
  border-radius:7px;
  padding:5px 9px;
  color:#604376;
  background:#fff7;
}

.course-visual {
  position:relative;
  flex:1;
  min-height:390px;
  overflow:hidden;
  display:flex;
  justify-content:center;
  padding-top:16px;
}

.course-visual:before {
  content:"";
  position:absolute;
  width:380px;
  height:380px;
  background:#e3d4f3;
  border-radius:50%;
  top:65px;
}

.course-phone {
  width:240px;
  transform:rotate(-7deg);
  margin-bottom:-160px;
}

.level-chip {
  position:absolute;
  right:26px;
  top:95px;
  border-radius:11px;
  background:#e6f4b9;
  color:#364223;
  padding:12px 18px;
  font-size:11px;
  font-weight:800;
  z-index:3;
  transform:rotate(6deg);
}

.review-feature {
  background:#f7ede8;
  min-height:360px;
}

.review-feature .feature-copy {
  padding:33px 35px 20px;
  max-width:390px;
  position:relative;
  z-index:1;
}

.review-feature .feature-copy h3 {
  max-width:340px;
}

.review-feature .feature-copy>p:last-child {
  max-width:285px;
}

.flashcard-art {
  position:absolute;
  width:187px;
  height:187px;
  object-fit:contain;
  right:-15px;
  bottom:-31px;
  transform:rotate(-12deg);
}

.momentum-feature {
  background:#f0f3e7;
  min-height:360px;
  padding:34px 35px;
}

.momentum-feature .feature-copy {
  max-width:375px;
}

.momentum-steps {
  display:flex;
  gap:11px;
  align-items:center;
  margin:23px 0 12px;
}

.momentum-steps span {
  width:40px;
  height:40px;
  border-radius:12px;
  background:#dce8b9;
  color:#495e27;
  display:grid;
  place-items:center;
  font-size:22px;
}

.momentum-steps span:nth-child(4) {
  background:#c6dca0;
}

.momentum-steps span:nth-child(5) {
  background:#a9c970;
}

.momentum-steps span:last-child {
  background:var(--brand);
  color:white;
}

.momentum-caption {
  font-size:10px;
  margin:0;
  color:#5d6b43;
}

/* Tutor demonstration */
.tutor-section {
  background:#21112f;
  color:white;
  padding:85px 0 65px;
  overflow:hidden;
}

.tutor-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
}

.tutor-showcase {
  position:relative;
  min-height:610px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:start;
}

.tutor-showcase:before {
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  border:1px solid #694c7c;
  border-radius:50%;
  top:75px;
  left:50%;
  transform:translateX(-50%);
}

.tutor-switch {
  display:flex;
  position:relative;
  z-index:2;
  border:1px solid #ffffff26;
  padding:4px;
  border-radius:12px;
  background:#ffffff09;
  gap:3px;
  margin-bottom:27px;
}

.tutor-switch button {
  color:#d6c7e2;
  background:none;
  border:0;
  border-radius:8px;
  font-size:11px;
  padding:8px 26px;
}

.tutor-switch button[aria-pressed=true] {
  background:#e5f1b8;
  color:#28301c;
}

.tutor-panel {
  position:relative;
  z-index:1;
}

.tutor-phone {
  width:246px;
  transform:rotate(-4deg);
  border-color:#44344f;
  box-shadow:0 20px 50px #09020b77;
}

.tutor-copy .eyebrow {
  color:#cbb0e8;
}

.tutor-copy h2 {
  font-size:clamp(36px,3.7vw,51px);
  margin-bottom:23px;
}

.tutor-copy>p:not(.eyebrow):not(.fine-print) {
  font-size:14px;
  line-height:1.9;
  color:#c6b5d1;
}

.tutor-points {
  list-style:none;
  padding:0;
  margin:27px 0 31px;
  display:flex;
  flex-direction:column;
  gap:15px;
}

.tutor-points li {
  display:flex;
  gap:11px;
  align-items:start;
  font-size:12px;
  color:#e5dbe9;
}

.tutor-points li span {
  color:#d9edac;
}

.tutor-copy .btn {
  background:#e3f1b1;
  border-color:#e3f1b1;
  color:#2d252d;
}

.tutor-copy .btn:hover {
  background:#cfdf99;
}

.fine-print {
  font-size:9px;
  color:#a891b8;
  margin:17px 0 0;
}

.tutor-decoration {
  font-size:70px;
  line-height:1;
  color:#dcc0f8;
  position:absolute;
  right:11px;
  bottom:90px;
  transform:rotate(12deg);
}

.chat-demo {
  width:340px;
  min-height:483px;
  background:#f5f0fc;
  padding:27px 22px;
  border:6px solid #44344f;
  border-radius:28px;
  color:var(--ink);
  box-shadow:0 20px 50px #09020b77;
  transform:rotate(-3deg);
  display:flex;
  flex-direction:column;
  justify-content:start;
}

.chat-person {
  display:flex;
  gap:11px;
  align-items:center;
  margin-bottom:27px;
}

.chat-person img {
  width:41px;
  height:41px;
  border-radius:50%;
  object-fit:cover;
}

.chat-person strong {
  display:block;
  font-size:12px;
}

.chat-person small {
  display:block;
  font-size:8px;
  line-height:1.5;
  color:var(--muted);
  margin-top:3px;
}

.demo-bubble {
  background:white;
  padding:17px;
  border-radius:15px 15px 15px 2px;
  font-size:13px;
  color:var(--ink);
  margin:0 16px 17px 0;
}

.user-bubble {
  background:var(--brand);
  color:white;
  margin:0 0 17px 25px;
  border-radius:15px 15px 2px 15px;
}

.chat-hint {
  font-size:10px;
  line-height:1.7;
  color:#806197;
  padding:8px 6px;
}

.demo-composer {
  margin-top:auto;
  padding:12px 14px;
  border-radius:13px;
  background:white;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#8b7e96;
  font-size:12px;
}

.demo-composer span:last-child {
  display:grid;
  place-items:center;
  background:var(--brand);
  color:white;
  width:28px;
  height:28px;
  border-radius:9px;
}

/* Platforms, questions and final invitation */
.everywhere-section {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:center;
  gap:60px;
}

.everywhere-copy h2 {
  max-width:550px;
}

.everywhere-copy>p:not(.eyebrow) {
  max-width:470px;
  font-size:14px;
  line-height:1.9;
}

.world-art {
  border-radius:32px;
  overflow:hidden;
  background:#230837;
  aspect-ratio:1.13;
}

.world-art img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.platform-links {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:27px;
}

.platform-card {
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  padding:13px 15px;
  background:#fff;
  border-radius:12px;
  min-width:146px;
  color:var(--ink);
}

.platform-card span:last-child {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.platform-card small {
  font-size:8px;
  color:var(--muted);
}

.platform-card strong {
  font-size:10px;
}

.platform-symbol {
  font-size:23px;
  color:var(--brand);
}

a.platform-card:hover {
  border-color:var(--brand);
}

.platform-card.planned {
  background:transparent;
}

.faq-section {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  padding-top:0;
}

.faq-section h2 {
  max-width:340px;
  margin-bottom:25px;
}

.faq-list {
  border-top:1px solid var(--line);
}

.faq-list details {
  border-bottom:1px solid var(--line);
  padding:22px 0;
}

.faq-list summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  font-weight:600;
  font-size:13px;
  cursor:pointer;
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-list summary span {
  font-size:21px;
  font-weight:500;
  color:var(--brand);
}

.faq-list details[open] summary span {
  transform:rotate(45deg);
}

.faq-list details p {
  font-size:12px;
  line-height:1.9;
  margin:16px 30px 0 0;
}

.final-section {
  padding-bottom:85px;
}

.final-cta {
  position:relative;
  display:flex;
  align-items:center;
  gap:35px;
  background:var(--brand);
  color:#fff;
  border-radius:28px;
  padding:49px 48px;
  overflow:hidden;
}

.final-cta h2 {
  font-size:36px;
  margin-bottom:10px;
  letter-spacing:-.04em;
}

.final-cta p {
  color:#e5d8f2;
  font-size:13px;
  margin:0;
}

.final-cta>.btn {
  margin-left:auto;
  flex-shrink:0;
}

.final-spark {
  color:#d9edab;
  font-size:65px;
  line-height:1;
  flex-shrink:0;
}

.site-footer {
  background:#f3f0ec;
  padding-top:57px;
  border-top:1px solid var(--line);
}

.footer-grid {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.25fr;
  gap:42px;
  padding-bottom:46px;
}

.footer-brand p {
  font-size:11px;
  margin:16px 0 12px;
}

.footer-brand .footer-address {
  font-size:10px;
  margin-top:12px;
}

.footer-grid h2 {
  font-size:11px;
  letter-spacing:0;
  font-weight:800;
  margin:4px 0 18px;
}

.footer-grid>div>a:not(.brand),.footer-grid>div>span {
  display:block;
  font-size:11px;
  margin-bottom:10px;
  color:#726879;
}

.footer-grid>div>a:hover {
  color:var(--brand);
}

.footer-grid small {
  font-size:8px;
}

.footer-brand .brand {
  color:var(--brand);
}

.legal {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  border-top:1px solid #e3dce7;
  padding:22px 0;
  font-size:9px;
  color:#83758b;
}

.legal>div {
  display:flex;
  gap:24px;
}

.legal a {
  color:#726879;
}

/* Existing secondary marketing pages */
.page-hero {
  padding-block:70px 32px;
}

.page-hero h1 {
  font-size:clamp(36px,5vw,64px);
  max-width:900px;
  margin-bottom:25px;
}

.lede {
  max-width:650px;
  color:var(--muted);
  font-size:17px;
}

.prose {
  padding-bottom:80px;
  max-width:800px;
}

.prose h2 {
  font-size:25px;
  margin:33px 0 16px;
  letter-spacing:-.03em;
}

.prose p,.prose li {
  font-size:15px;
}

.price-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  padding-bottom:100px;
}

.price-card {
  padding:32px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:24px;
}

.price-card.featured {
  border:2px solid var(--brand);
  background:#f9f5ff;
}

.price-card h3 {
  font-size:25px;
}

.price {
  font-size:34px;
  color:var(--brand);
  font-weight:800;
}

.price-card ul {
  padding-left:20px;
  color:var(--muted);
  font-size:13px;
  min-height:160px;
}

.price-card .btn {
  width:100%;
}

@media(min-width:1450px) {
  .landing-hero {
    gap:75px;
  }
  .hero-stage {
    height:650px;
  }
}

@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .nav {
    gap:20px;
  }
  .header-actions {
    gap:13px;
  }
  .header-login {
    display:none;
  }
  .hero-copy h1 {
    font-size:59px;
  }
  .hero-stage {
    height:600px;
  }
  .hero-phone {
    width:244px;
  }
  .progress-note {
    left:-10px;
    top:65px;
  }
  .conversation-note {
    right:-5px;
    bottom:85px;
    width:218px;
  }
  .landing-hero {
    min-height:695px;
    gap:15px;
    padding-top:40px;
  }
  .hero-actions {
    gap:18px;
  }
  .hero-actions .text-link {
    font-size:11px;
  }
  .hero-description {
    font-size:15px;
  }
  .hero-copy .eyebrow {
    font-size:10px;
  }
  .feature-copy h3 {
    font-size:27px;
  }
  .tutor-layout {
    gap:50px;
  }
  .tutor-decoration {
    right:-10px;
  }
  .final-cta {
    padding:40px 32px;
    gap:25px;
  }
  .final-cta h2 {
    font-size:30px;
  }
  .footer-grid {
    gap:25px;
  }
  .review-feature .feature-copy>p:last-child {
    max-width:240px;
  }
  .flashcard-art {
    width:155px;
    height:155px;
  }
  .course-feature .feature-copy {
    padding-inline:32px;
  }
  .platform-card {
    min-width:136px;
    padding:11px;
  }
  .everywhere-section {
    gap:30px;
  }
}

@media(max-width:900px) {
  :root {
    --header-h:74px;
  }
  .nav {
    display:none;
  }
  .nav-toggle {
    display:block;
  }
  .site-header.is-open .nav {
    display:flex;
    position:absolute;
    left:0;
    right:0;
    top:var(--header-h);
    padding:22px 32px 27px;
    background:var(--bg);
    border-bottom:1px solid var(--line);
    box-shadow:0 20px 30px #2114310a;
    flex-direction:column;
    align-items:start;
    gap:0;
  }
  .site-header.is-open .nav a {
    padding:12px 0;
    font-size:14px;
    width:100%;
  }
  .mobile-login {
    display:block;
  }
  .hero-copy h1 {
    font-size:49px;
  }
  .hero-stage {
    height:555px;
  }
  .hero-phone {
    width:220px;
  }
  .hero-copy .eyebrow {
    font-size:9px;
    letter-spacing:.08em;
  }
  .hero-description {
    font-size:14px;
  }
  .landing-hero {
    min-height:650px;
    gap:25px;
  }
  .conversation-note {
    width:201px;
    right:-9px;
    bottom:77px;
    padding:15px;
  }
  .progress-note {
    left:-16px;
    top:63px;
    padding:10px 12px;
  }
  .progress-note strong {
    font-size:9px;
  }
  .progress-note small {
    font-size:8px;
  }
  .note-icon {
    width:29px;
    height:29px;
    font-size:20px;
  }
  .spark-one {
    right:24px;
    font-size:34px;
  }
  .orbit-one {
    width:110%;
    height:280px;
  }
  .orbit-two {
    height:440px;
  }
  .hero-actions .text-link {
    font-size:12px;
  }
  .hero-actions {
    gap:20px;
  }
  .hero-note {
    max-width:230px;
    line-height:1.8;
  }
  .section {
    padding-block:75px;
  }
  .feature-copy h3 {
    font-size:25px;
  }
  .course-feature .feature-copy {
    padding:30px 27px 20px;
  }
  .course-feature {
    min-height:800px;
  }
  .review-feature .feature-copy,.momentum-feature {
    padding:30px 27px;
  }
  .review-feature {
    min-height:390px;
  }
  .review-feature .feature-copy>p:last-child {
    max-width:100%;
    padding-right:25px;
  }
  .flashcard-art {
    width:122px;
    height:122px;
    right:-12px;
    bottom:-20px;
  }
  .momentum-steps {
    gap:6px;
    flex-wrap:wrap;
  }
  .momentum-steps span {
    width:31px;
    height:31px;
    border-radius:8px;
    font-size:17px;
  }
  .course-phone {
    width:215px;
  }
  .level-chip {
    right:15px;
    padding:10px 12px;
    font-size:9px;
  }
  .tutor-layout {
    gap:35px;
  }
  .tutor-copy h2 {
    font-size:36px;
  }
  .tutor-showcase {
    min-height:570px;
  }
  .tutor-showcase:before {
    width:380px;
    height:380px;
  }
  .tutor-phone {
    width:224px;
  }
  .chat-demo {
    width:285px;
    min-height:470px;
    padding:23px 18px;
  }
  .tutor-decoration {
    font-size:49px;
    right:0;
    bottom:85px;
  }
  .everywhere-section {
    grid-template-columns:1fr 1fr;
  }
  .everywhere-copy h2 {
    font-size:34px;
  }
  .faq-section {
    gap:45px;
    padding-top:0;
  }
  .final-cta {
    flex-wrap:wrap;
  }
  .final-spark {
    font-size:49px;
  }
  .final-cta>.btn {
    margin-left:74px;
  }
  .footer-grid {
    grid-template-columns:1.3fr 1fr;
    gap:30px 55px;
  }
  .price-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px) {
  :root {
    --header-h:72px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .header-inner {
    gap:10px;
  }
  .brand {
    font-size:23px;
    gap:8px;
  }
  .brand img {
    width:31px;
    height:31px;
  }
  .header-actions {
    gap:10px;
  }
  .header-cta {
    display:none;
  }
  .lang-switch-btn {
    font-size:10px;
    gap:6px;
  }
  .nav-toggle {
    width:37px;
    height:37px;
    padding:8px;
  }
  .site-header.is-open .nav {
    padding-inline:20px;
  }
  .landing-hero {
    grid-template-columns:1fr;
    gap:0;
    padding-block:45px 23px;
    min-height:0;
  }
  .hero-copy {
    text-align:center;
    padding:0;
  }
  .hero-copy .eyebrow {
    justify-content:center;
    font-size:9px;
    margin-bottom:20px;
  }
  .mini-spark {
    font-size:21px;
  }
  .hero-copy h1 {
    font-size:clamp(44px,11.7vw,67px);
    max-width:520px;
    letter-spacing:-.065em;
    line-height:1.09;
    margin:0 auto 22px;
  }
  .hero-description {
    font-size:13px;
    line-height:1.9;
    max-width:390px;
    margin:0 auto 26px;
  }
  .hero-actions {
    justify-content:center;
    gap:19px;
  }
  .hero-actions .btn {
    font-size:12px;
    min-height:51px;
    padding:14px 20px;
    gap:17px;
    border-radius:12px;
  }
  .hero-actions .text-link {
    font-size:11px;
    gap:8px;
  }
  .play-icon {
    width:27px;
    height:27px;
    font-size:8px;
  }
  .hero-note {
    max-width:none;
    margin:19px 0 12px;
    font-size:9px;
  }
  .platform-inline {
    justify-content:center;
    font-size:9px;
  }
  .hero-stage {
    height:520px;
    max-width:390px;
    width:100%;
    margin:23px auto 0;
  }
  .hero-stage:before {
    inset:80px -7px 65px;
  }
  .hero-phone {
    width:213px;
    transform:rotate(5deg);
  }
  .orbit-one {
    height:260px;
    width:100%;
  }
  .orbit-two {
    height:430px;
    width:85%;
  }
  .progress-note {
    top:35px;
    left:0;
    padding:10px 12px;
    transform:rotate(-5deg);
  }
  .progress-note strong {
    font-size:9px;
  }
  .progress-note small {
    font-size:7px;
  }
  .conversation-note {
    bottom:50px;
    right:0;
    width:198px;
    padding:13px 15px;
  }
  .conversation-note strong {
    font-size:11px;
  }
  .floating-note small {
    font-size:8px;
  }
  .greeting-label {
    font-size:7px;
    margin-bottom:7px;
  }
  .sound-wave {
    margin-top:5px;
    height:24px;
  }
  .spark-one {
    top:10px;
    right:30px;
    font-size:31px;
  }
  .spark-two {
    left:14px;
    bottom:65px;
    font-size:24px;
  }
  .stage-caption {
    font-size:8px;
    bottom:0;
  }
  .language-section {
    padding:32px 0 35px;
  }
  .language-heading {
    display:block;
    margin-bottom:23px;
  }
  .language-heading .eyebrow {
    font-size:9px;
    margin-bottom:12px;
  }
  .language-heading h2 {
    font-size:26px;
    max-width:300px;
    line-height:1.2;
    margin-bottom:13px;
  }
  .language-heading>p {
    font-size:11px;
    max-width:340px;
  }
  .language-list {
    gap:8px;
  }
  .language-pill {
    font-size:10px;
    gap:7px;
    padding:9px 10px;
    border-radius:10px;
  }
  .flag {
    font-size:17px;
  }
  .language-arrow {
    font-size:11px;
    margin-left:3px;
  }
  .section {
    padding-block:58px;
  }
  .section-heading {
    margin-bottom:28px;
  }
  .section-heading .eyebrow {
    font-size:9px;
    margin-bottom:14px;
  }
  .section-heading h2 {
    font-size:33px;
    max-width:340px;
    margin-inline:auto;
    margin-bottom:17px;
  }
  .section-heading>p:last-child {
    font-size:12px;
    line-height:1.9;
  }
  .feature-grid {
    grid-template-columns:1fr;
    gap:17px;
  }
  .feature-grid article {
    border-radius:23px;
  }
  .course-feature {
    grid-row:auto;
    min-height:650px;
  }
  .course-feature .feature-copy {
    padding:29px 27px 10px;
  }
  .feature-copy h3 {
    font-size:27px;
  }
  .feature-copy>p:not(.card-kicker) {
    font-size:12px;
    line-height:1.85;
  }
  .card-kicker {
    font-size:9px;
    margin-bottom:15px;
  }
  .course-visual {
    min-height:330px;
    padding-top:22px;
  }
  .course-phone {
    width:213px;
    margin-bottom:-145px;
  }
  .level-chip {
    right:22px;
    top:91px;
    font-size:10px;
  }
  .course-visual:before {
    width:330px;
    height:330px;
    top:50px;
  }
  .skill-tags {
    gap:6px;
    margin-top:17px;
  }
  .skill-tags span {
    font-size:8px;
    padding:4px 7px;
  }
  .review-feature {
    min-height:335px;
  }
  .review-feature .feature-copy {
    padding:29px 27px;
    max-width:370px;
  }
  .review-feature .feature-copy>p:last-child {
    padding-right:55px;
  }
  .review-feature h3 {
    max-width:290px;
  }
  .flashcard-art {
    width:128px;
    height:128px;
    right:-8px;
    bottom:-15px;
  }
  .momentum-feature {
    min-height:320px;
    padding:29px 27px;
  }
  .momentum-steps {
    gap:9px;
    margin-top:24px;
  }
  .momentum-steps span {
    width:35px;
    height:35px;
    font-size:20px;
  }
  .tutor-section {
    padding:55px 0;
  }
  .tutor-layout {
    display:flex;
    flex-direction:column;
    gap:35px;
  }
  .tutor-copy {
    order:-1;
  }
  .tutor-copy .eyebrow {
    font-size:9px;
    margin-bottom:18px;
  }
  .tutor-copy h2 {
    font-size:37px;
    max-width:350px;
    margin-bottom:19px;
  }
  .tutor-copy>p:not(.eyebrow):not(.fine-print) {
    font-size:12px;
  }
  .tutor-points {
    gap:14px;
    margin:25px 0;
  }
  .tutor-points li {
    font-size:11px;
  }
  .tutor-copy .btn {
    font-size:12px;
    padding-inline:20px;
    min-height:48px;
  }
  .fine-print {
    font-size:8px;
  }
  .tutor-showcase {
    width:100%;
    min-height:590px;
  }
  .tutor-showcase:before {
    width:340px;
    height:340px;
    top:115px;
  }
  .tutor-switch {
    margin-bottom:27px;
  }
  .tutor-phone {
    width:237px;
  }
  .tutor-decoration {
    font-size:54px;
    right:0;
    bottom:65px;
  }
  .chat-demo {
    width:min(320px,95%);
    min-height:480px;
  }
  .tutor-panel.chat-demo {
    margin-top:20px;
  }
  .everywhere-section {
    display:flex;
    flex-direction:column;
    gap:32px;
    align-items:stretch;
  }
  .everywhere-copy .eyebrow {
    font-size:9px;
  }
  .everywhere-copy h2 {
    font-size:34px;
    max-width:350px;
  }
  .everywhere-copy>p:not(.eyebrow) {
    font-size:12px;
    line-height:1.9;
  }
  .platform-links {
    gap:8px;
    margin-top:23px;
  }
  .platform-card {
    padding:10px 12px;
    min-width:0;
    gap:10px;
    flex:1 1 125px;
  }
  .platform-card small {
    font-size:8px;
  }
  .platform-card strong {
    font-size:10px;
  }
  .platform-symbol {
    font-size:22px;
  }
  .world-art {
    max-height:350px;
    border-radius:24px;
  }
  .faq-section {
    grid-template-columns:1fr;
    gap:29px;
    padding-top:0;
  }
  .faq-section .eyebrow {
    font-size:9px;
    margin-bottom:14px;
  }
  .faq-section h2 {
    font-size:34px;
    margin-bottom:15px;
  }
  .faq-section .text-link {
    font-size:12px;
  }
  .faq-list details {
    padding:20px 0;
  }
  .faq-list summary {
    font-size:12px;
    line-height:1.6;
    gap:16px;
  }
  .faq-list details p {
    font-size:11px;
    margin-top:13px;
    margin-right:20px;
  }
  .final-section {
    padding-bottom:55px;
  }
  .final-cta {
    border-radius:23px;
    padding:31px 27px;
    gap:17px;
    display:block;
  }
  .final-spark {
    display:block;
    font-size:44px;
    margin-bottom:22px;
  }
  .final-cta h2 {
    font-size:32px;
    max-width:310px;
    line-height:1.15;
    margin-bottom:14px;
  }
  .final-cta p {
    font-size:12px;
    line-height:1.8;
  }
  .final-cta>.btn {
    margin:24px 0 0;
    min-height:49px;
    font-size:12px;
    padding:13px 20px;
  }
  .site-footer {
    padding-top:37px;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:27px 20px;
    padding-bottom:30px;
  }
  .footer-brand {
    grid-column:1/-1;
  }
  .footer-brand .brand {
    font-size:24px;
  }
  .footer-brand p {
    font-size:11px;
    margin:13px 0 8px;
  }
  .footer-brand .footer-address {
    font-size:9px;
    margin:8px 0 0;
  }
  .footer-grid h2 {
    font-size:10px;
    margin-bottom:15px;
  }
  .footer-grid>div>a:not(.brand),.footer-grid>div>span {
    font-size:10px;
    line-height:1.8;
    margin-bottom:8px;
  }
  .footer-grid>div:last-child {
    grid-column:1/-1;
  }
  .footer-grid small {
    font-size:8px;
  }
  .legal {
    align-items:start;
    gap:14px;
    flex-direction:column;
    font-size:8px;
    padding-block:20px;
  }
  .legal>div {
    gap:23px;
  }
  .page-hero {
    padding-top:42px;
  }
  .page-hero h1 {
    font-size:38px;
  }
  .lede {
    font-size:14px;
  }
  .prose p,.prose li {
    font-size:13px;
  }
  .prose h2 {
    font-size:23px;
  }
  .price-grid {
    grid-template-columns:1fr;
    padding-bottom:55px;
  }
  .price-card {
    padding:27px;
  }
  .price-card ul {
    min-height:0;
  }
  .price-card h3 {
    font-size:26px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}

/* Shared website language selector. */
.lang-switch-btn {
  box-sizing: border-box;
  height: 43px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  gap: 9px;
  font-size: 12px;
  min-height: 43px;
  line-height: 1.2;
  transition: border-color .2s, box-shadow .2s;
}
.lang-switch-btn:hover, .lang-switch-btn[aria-expanded=true] {
  border-color: var(--brand);
  box-shadow: 0 3px 12px #6107c012;
}
.language-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 18px;
  overflow: hidden;
  border-radius: 3px;
  background: transparent;
  font-family: Apple Color Emoji, Segoe UI Emoji, Noto Color Emoji, sans-serif;
  font-size: 22px;
  line-height: 1;
  box-shadow: inset 0 0 0 1px #21133312;
}
.lang-switch .nav-drop-menu { width: 176px; min-width: 0; top: calc(100% + 10px); border-radius: 20px; padding: 8px; }
.lang-switch .nav-drop-menu a { display: flex; align-items: center; gap: 8px; padding: 8px; min-height: 44px; box-sizing: border-box; border-radius: 12px; }
.language-name { flex: 1; font-weight: 650; }
.language-name small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 400; }
.language-check { color: var(--brand); font-size: 18px; }
.lang-switch-btn .chevron { display: block; flex-shrink: 0; width: 14px; height: 14px; color: var(--brand); }

/* Team learning and a real, accessible enquiry form. */
.business-hero { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 70px; padding-block: 80px; }
.business-hero h1 { font-size: clamp(40px, 5vw, 66px); line-height: 1.08; letter-spacing: -.045em; margin: 20px 0; }
.business-hero .hero-description { margin-bottom: 30px; }
.business-visual { position: relative; text-align: center; background: linear-gradient(145deg, #f0e6ff, #fcf8ff); padding: 38px; border: 1px solid var(--line); border-radius: 36px; }
.business-visual img { width: 170px; height: 170px; object-fit: cover; border-radius: 50%; margin: 0 auto 20px; border: 8px solid #fff; }
.business-visual h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.035em; }
.business-visual p:last-child { font-size: 12px; color: var(--muted); line-height: 1.7; }
.business-spark { position: absolute; right: 32px; top: 25px; color: var(--brand); font-size: 45px; }
.business-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-bottom: 80px; }
.business-benefits article { padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.business-benefits article > span { color: var(--brand); font-size: 13px; font-weight: 800; }
.business-benefits h2, .business-benefits h3 { font-size: 20px; line-height: 1.3; margin: 20px 0 12px; }
.business-benefits p, .business-contact > div > p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.business-contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding-bottom: 100px; scroll-margin-top: 110px; }
.business-contact h2 { font-size: clamp(30px, 4vw, 42px); line-height: 1.15; letter-spacing: -.035em; }
.business-email { display: flex; gap: 16px; margin-top: 32px; font-size: 14px; line-height: 1.8; }
.business-email > span { width: 44px; height: 44px; background: var(--brand-soft); border-radius: 14px; display: grid; place-items: center; color: var(--brand); }
.business-email a { color: var(--brand); font-weight: 700; overflow-wrap: anywhere; }
.business-form { min-width: 0; padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 15px 60px #32125108; }
.business-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.business-field { min-width: 0; }
.business-field label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 9px; }
.business-field input, .business-field select, .business-field textarea { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1px solid #ded5eb; border-radius: 12px; background: #fcfaff; color: var(--ink); font: inherit; font-size: 14px; }
.business-field textarea { resize: vertical; min-height: 140px; }
.business-field :is(input, select, textarea):focus { outline: 2px solid var(--brand); outline-offset: 2px; }
.business-field [aria-invalid=true] { border-color: #a32147; }
.field-full { grid-column: 1 / -1; }
.business-consent { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0 10px; }
.business-consent label { font-size: 12px; line-height: 1.7; }
.business-consent input { flex-shrink: 0; margin-top: 3px; width: 18px; height: 18px; accent-color: var(--brand); }
.form-privacy { display: block; width: fit-content; font-size: 12px; color: var(--brand); text-decoration: underline; margin: 8px 0 24px; }
.business-form .btn { width: 100%; cursor: pointer; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-notice, .field-errors { color: #a32147; font-size: 12px; line-height: 1.6; }
.field-errors ul { padding-left: 16px; margin-block: 6px 0; }
.business-success > span { width: 50px; height: 50px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; font-size: 28px; }
.business-success h3 { font-size: 25px; line-height: 1.4; }
.business-success p { color: var(--muted); line-height: 1.8; }
@media (max-width: 900px) { .business-hero, .business-contact { gap: 32px; } .business-benefits { gap: 12px; } .business-benefits article { padding: 20px; } }
@media (max-width: 640px) { .business-hero, .business-contact, .business-benefits { grid-template-columns: 1fr; } .business-hero { padding-block: 45px; gap: 30px; } .business-benefits { padding-bottom: 50px; } .business-contact { padding-bottom: 55px; gap: 24px; } .business-form { padding: 22px; } .business-fields { grid-template-columns: 1fr; } }

/* Lavender home: bold editorial hero and compact platform banner. */
.marketing-home { --bg:#e8e3ff; background:var(--bg); padding-bottom:74px; }
.marketing-home .site-header { background:#faf9ff; border-bottom:1px solid #ded6f7; }
.marketing-home .btn { border-radius:20px; }
.marketing-home .header-cta { border-radius:18px; }
.marketing-home .landing-hero { grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); gap:64px; min-height:570px; padding-block:40px 64px; }
.marketing-home .hero-copy { padding:0; }
.marketing-home .hero-copy h1 { max-width:720px; margin:0 0 28px; font-size:clamp(36px,3.45vw,48px); line-height:1.32; letter-spacing:-.035em; font-weight:800; text-transform:uppercase; }
.marketing-home .hero-copy h1 span { display:inline; color:var(--ink); }
.marketing-home .hero-description { max-width:690px; font-size:15px; line-height:1.7; font-weight:600; color:#625970; margin:0 0 36px; }
.marketing-home .hero-actions .btn { min-width:260px; min-height:56px; padding:15px 30px; font-size:15px; }
.marketing-home .platform-inline { display:none; }
.marketing-home .hero-stage { display:block; position:relative; height:460px; min-height:0; padding:36px 0 0; border:1px solid #ded4f6; border-radius:18px; overflow:hidden; background:radial-gradient(ellipse at 70% 15%,#fcfaff 0%,#e0d5ff 60%,#d6c8fa 100%); box-shadow:none; }
.marketing-home .hero-stage::before { border-radius:0; content:""; position:absolute; inset:0; background:repeating-linear-gradient(155deg,transparent 0 85px,#6107c00b 86px 87px,transparent 88px 160px); }
.marketing-home .hero-phone { position:relative; top:48px; left:auto; bottom:auto; right:auto; transform:none; width:270px; max-width:78%; margin:0 auto; border-radius:38px; box-shadow:0 0 0 5px #8251d4,0 18px 45px #421b6830; }
.hero-preview-label { position:absolute; top:22px; left:24px; color:var(--brand); font-size:12px; font-weight:700; }
.hero-preview-label span { margin-right:6px; }
.hero-preview-bubble { position:absolute; left:16px; right:16px; bottom:24px; padding:15px 16px; background:#fffffff2; border:1px solid #e7dcfa; border-radius:16px; box-shadow:0 8px 24px #421b6812; font-size:12px; font-weight:700; color:var(--brand); text-align:center; }
.hero-preview-bubble span { margin-right:5px; }
.marketing-home .language-section { background:#f4f1ff; border-block:1px solid #ded6f2; padding:62px 0 70px; }
.marketing-home .language-heading { display:block; text-align:center; margin-bottom:42px; }
.marketing-home .language-heading .eyebrow { display:inline-flex; justify-content:center; padding:8px 16px; background:#e6ddff; color:var(--brand); border-radius:999px; margin:0 0 24px; font-size:12px; }
.marketing-home .language-heading h2 { font-size:clamp(25px,2.5vw,34px); line-height:1.3; text-transform:uppercase; letter-spacing:-.035em; font-weight:800; }
.marketing-home .language-heading>p { display:none; }
.marketing-home .language-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(112px,1fr)); gap:18px; }
.marketing-home .language-pill { flex-direction:column; justify-content:center; gap:13px; min-height:112px; padding:18px 10px; border:1px solid #e3dcf7; border-radius:22px; background:#fff; text-align:center; font-size:14px; font-weight:600; }
.marketing-home .language-pill:hover { background:#faf7ff; border-color:#aa7fe1; transform:translateY(-3px); }
.marketing-home .language-pill .flag { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; overflow:hidden; font-size:36px; }
.app-download-section { scroll-margin-top:110px; }
.app-download-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:760px; margin:0 auto; }
.app-download-card { text-align:center; background:#fff; border:1px solid #dbd0f0; border-radius:26px; padding:30px 22px; }
.download-platform { color:var(--brand); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.app-download-card h3 { font-size:24px; margin:8px 0 20px; }
.app-download-card img { width:184px; height:184px; margin:0 auto; }
.app-download-card p { font-size:12px; color:var(--muted); margin:16px 0 22px; }
.download-status { display:inline-block; padding:10px 18px; border-radius:14px; background:#f0e9fc; color:var(--brand); font-weight:700; font-size:13px; }
.app-install-banner { position:fixed; inset:auto 0 0; z-index:90; color:#fff; background:var(--brand); box-shadow:0 -4px 22px #32104e16; padding:8px 0; }
.install-banner-inner { display:flex; align-items:center; gap:14px; }
.install-banner-close { display:grid; place-items:center; width:28px; height:28px; min-width:28px; padding:0; margin:0; flex-shrink:0; align-self:center; border:0; border-radius:50%; background:transparent; color:#f5efff; font-family:Arial,sans-serif; font-size:18px; font-weight:400; line-height:1; }
.install-banner-close:hover { background:#ffffff22; }
.install-banner-inner p { margin:0; flex:1; font-size:13px; font-weight:600; }
.install-banner-actions { display:flex; align-items:center; gap:8px; }
.install-banner-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 15px; border:1px solid #fff; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; }
.install-web { color:#fff; }
.install-download { color:var(--brand); background:#fff; }
.install-banner-actions a:hover { box-shadow:0 0 0 3px #ffffff25; }
.marketing-home.install-banner-dismissed { padding-bottom:0; }
@media(max-width:1100px) { .marketing-home .landing-hero { gap:36px; } .marketing-home .hero-copy h1 { font-size:37px; } }
@media(max-width:900px) {
  .marketing-home .landing-hero { grid-template-columns:1fr 1fr; gap:24px; min-height:510px; }
  .marketing-home .hero-copy h1 { font-size:31px; }
  .marketing-home .hero-stage { height:400px; }
  .marketing-home .hero-phone { top:48px; width:230px; }
  .marketing-home .hero-description { font-size:14px; }
  .marketing-home .hero-actions .btn { min-width:210px; }
}
@media(max-width:640px) {
  .marketing-home { padding-bottom:116px; }
  .marketing-home .landing-hero { grid-template-columns:1fr; padding-block:36px 40px; gap:32px; }
  .marketing-home .hero-copy h1 { font-size:32px; line-height:1.25; }
  .marketing-home .hero-description { margin-bottom:24px; }
  .marketing-home .hero-actions .btn { width:100%; }
  .marketing-home .hero-stage { width:100%; max-width:440px; margin:0 auto; height:365px; }
  .marketing-home .hero-phone { width:235px; top:25px; }
  .marketing-home .language-section { padding-block:40px; }
  .marketing-home .language-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .marketing-home .language-pill { min-height:102px; font-size:12px; padding:14px 5px; }
  .app-download-grid { grid-template-columns:1fr; }
  .install-banner-inner { gap:8px; flex-wrap:wrap; }
  .install-banner-inner p { font-size:12px; }
  .install-banner-actions { width:100%; padding-left:36px; }
  .install-banner-actions a { flex:1; padding-inline:10px; }
}
@media(prefers-reduced-motion:reduce) { .marketing-home .language-pill:hover { transform:none; } }
@media(min-width:901px) { .marketing-home .nav a, .marketing-home .header-login { font-size:15px; } }

.marketing-home .hero-copy .hero-eyebrow { display:flex; align-items:center; justify-content:flex-start; gap:11px; max-width:none; margin:0 0 22px; color:var(--brand); font-size:11px; font-weight:800; line-height:1.6; letter-spacing:1px; text-transform:uppercase; }
.hero-eyebrow-star { flex-shrink:0; font-size:24px; font-weight:500; line-height:1; }
@media(max-width:640px) { .marketing-home .hero-copy .hero-eyebrow { font-size:10px; letter-spacing:.75px; margin-bottom:18px; } }

/* Comfortable reading sizes from the feature introduction through the footer. */
.marketing-home .section-heading > p:not(.eyebrow),
.marketing-home .feature-copy > p:not(.card-kicker),
.marketing-home .tutor-copy > p:not(.eyebrow):not(.fine-print),
.marketing-home .everywhere-copy > p:not(.eyebrow),
.marketing-home .faq-list details > p,
.marketing-home .final-cta p { font-size:17px; line-height:1.8; }
.marketing-home .section-heading > p:last-child { max-width:640px; }
.marketing-home .section .eyebrow,
.marketing-home .tutor-copy .eyebrow { font-size:14px; line-height:1.6; }
.marketing-home .feature-copy .card-kicker { font-size:13px; line-height:1.6; }
.marketing-home .skill-tags span { font-size:13px; }
.marketing-home .tutor-points li { font-size:16px; line-height:1.75; }
.marketing-home .fine-print,
.marketing-home .momentum-caption,
.marketing-home .app-download-card p { font-size:14px; line-height:1.75; }
.marketing-home .platform-card small { font-size:13px; }
.marketing-home .platform-card strong { font-size:16px; }
.site-footer .footer-brand p,
.site-footer .footer-brand .footer-address { font-size:15px; line-height:1.8; }
.site-footer .footer-grid h2 { font-size:14px; line-height:1.6; }
.site-footer .footer-grid > div > a:not(.brand),
.site-footer .footer-grid > div > span { font-size:15px; line-height:1.75; }
.site-footer .footer-grid small { font-size:12px; }
.site-footer .legal { font-size:13px; line-height:1.75; }
.marketing-home .install-banner-inner p { font-size:13px; line-height:1.45; color:#f5efff; font-weight:500; }
.marketing-home .install-banner-actions a { font-size:12px; min-height:32px; padding:5px 13px; }
@media(max-width:640px) {
  .marketing-home .section-heading > p:not(.eyebrow),
  .marketing-home .feature-copy > p:not(.card-kicker),
  .marketing-home .tutor-copy > p:not(.eyebrow):not(.fine-print),
  .marketing-home .everywhere-copy > p:not(.eyebrow),
  .marketing-home .faq-list details > p,
  .marketing-home .final-cta p { font-size:16px; line-height:1.75; }
  .marketing-home .install-banner-inner p { font-size:12px; }
  .site-footer .legal { align-items:flex-start; flex-wrap:wrap; gap:12px; }
  .marketing-home { padding-bottom:120px; }
  .marketing-home.install-banner-dismissed { padding-bottom:0; }
}

/* Emphasise FAQ questions over their supporting answers. */
.marketing-home .faq-list summary { font-size:20px; font-weight:700; line-height:1.5; }
.marketing-home .faq-list details > p { font-size:16px; line-height:1.8; }
@media(max-width:640px) {
  .marketing-home .faq-list summary { font-size:18px; }
  .marketing-home .faq-list details > p { font-size:15px; }
}

/* Branded app download showcase. */
.download-showcase { gap:64px; }
.download-showcase .everywhere-copy h2 { max-width:650px; font-size:clamp(32px,3.4vw,48px); line-height:1.15; text-transform:uppercase; }
.download-showcase .everywhere-copy > p:not(.eyebrow) { max-width:620px; }
.download-showcase .eyebrow { display:inline-flex; padding:10px 16px; background:#f3edff; border-radius:30px; }
.download-qr-preview { display:flex; align-items:center; gap:18px; max-width:370px; padding:14px; margin-top:28px; border:1px solid #d8cdf2; border-radius:18px; background:#ffffff80; color:var(--ink); text-decoration:none; }
.download-qr-preview img { width:96px; height:96px; border-radius:8px; }
.download-qr-preview span { font-size:15px; line-height:1.6; }
.download-qr-preview small { display:block; color:var(--muted); font-size:13px; }
.download-store-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; }
.store-badge { display:inline-flex; align-items:center; gap:12px; padding:10px 20px; border-radius:16px; background:#191323; color:white; text-decoration:none; min-width:168px; }
.store-badge > span:first-child { font-size:30px; }
.store-badge small { display:block; font-size:11px; line-height:1.2; }
.store-badge strong { display:block; font-size:21px; line-height:1.4; }
.download-web-link { display:inline-flex; gap:10px; margin-top:22px; color:var(--purple); font-weight:700; }
.download-phone-art { position:relative; height:490px; border-radius:30px; background:linear-gradient(145deg,#f6f1ff,#d9ccff); overflow:hidden; isolation:isolate; }
.download-brand-phone { position:absolute; left:11%; top:35px; width:45%; height:390px; border:7px solid #231832; border-radius:38px; background:linear-gradient(145deg,#790bdb,#420295); color:white; transform:rotate(-14deg); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:38px; box-shadow:12px 18px 30px #32105b25; }
.download-brand-phone span:first-child { font-size:27px; font-weight:800; }
.download-brand-phone span:nth-child(2) { font-size:24px; font-weight:700; line-height:1.4; }
.download-brand-phone span:last-child { font-size:38px; }
.download-preview-phone { position:absolute; right:8%; top:80px; width:45%; height:385px; border:6px solid #231832; border-radius:34px; overflow:hidden; background:#eef0ff; transform:rotate(10deg); box-shadow:10px 18px 30px #32105b30; }
.download-preview-phone img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
@media(max-width:900px) { .download-showcase { grid-template-columns:1fr; } .download-phone-art { width:100%; max-width:520px; margin:auto; } }
@media(max-width:640px) { .download-phone-art { height:400px; } .download-brand-phone { height:320px; top:20px; } .download-preview-phone { height:315px; top:60px; } .download-brand-phone span:first-child { font-size:23px; } .download-brand-phone span:nth-child(2) { font-size:20px; } .store-badge { min-width:145px; padding:10px 14px; } }

/* Keep the closing invitation on one line on desktop. */
.marketing-home .final-cta p { font-size:14px; line-height:1.6; }
@media(min-width:1000px) {
  .marketing-home .final-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 28px; }
  .marketing-home .final-spark { display:none; }
  .marketing-home .final-cta > div { display:contents; }
  .marketing-home .final-cta h2 { grid-column:1 / -1; max-width:none; font-size:clamp(20px,2vw,28px); line-height:1.3; white-space:nowrap; margin:0; }
  .marketing-home .final-cta p { grid-column:1; grid-row:2; margin:0; align-self:center; }
  .marketing-home .final-cta > .btn { grid-column:2; grid-row:2; align-self:center; justify-self:end; margin:0; min-height:44px; padding:11px 24px; font-size:14px; }
}

/* Distinct, calm surfaces for the three learning feature cards. */
.marketing-home .course-feature { background:linear-gradient(145deg,#eef6ff,#deebfc); border:1px solid #cbdcf3; }
.marketing-home .review-feature { background:linear-gradient(135deg,#fff5ed,#fce6d8); border:1px solid #efd3c0; }
.marketing-home .momentum-feature { background:linear-gradient(135deg,#effaf6,#dcefe8); border:1px solid #c6e1d6; }
.marketing-home .momentum-steps span { background:#c9e5da; color:#285849; }

/* Original Langlen benefit illustrations, with no invented performance scores. */
.difference-heading { text-align:center; margin-bottom:38px; }
.difference-heading .eyebrow { display:inline-flex; gap:8px; align-items:center; padding:10px 18px; border-radius:999px; background:#f5efff; color:var(--brand); }
.difference-heading h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.035em; margin:18px 0 0; }
.difference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.difference-card { min-width:0; padding:24px; background:#fff; border:1px solid #dcd2ef; border-radius:24px; }
.difference-card h3 { font-size:21px; line-height:1.4; letter-spacing:-.025em; margin:22px 0 12px; }
.difference-card > p { font-size:16px; line-height:1.75; color:var(--muted); margin:0; }
.difference-art { height:220px; border-radius:18px; overflow:hidden; position:relative; display:flex; align-items:flex-end; justify-content:center; padding:22px 18px 0; }
.conversation-art { background:linear-gradient(135deg,#e7d7ff,#ceb6f8); }
.feedback-art { background:linear-gradient(135deg,#dff5ed,#bce1d7); }
.progress-art { background:linear-gradient(135deg,#dceaff,#bdcdf4); }
.difference-mini-phone { width:150px; height:211px; border:5px solid #fff; border-radius:25px 25px 0 0; background:#faf7ff; padding:13px 16px; box-shadow:0 8px 24px #38136a18; text-align:center; }
.mini-speaker { display:block; width:34px; height:4px; border-radius:8px; background:#d9cee9; margin:0 auto 12px; }
.difference-mini-phone img { border-radius:50%; width:54px; height:54px; margin:0 auto 12px; background:#e9ddfb; }
.mini-chat-line { display:block; height:7px; background:#e9e0f6; border-radius:4px; margin:9px 0; }
.mini-chat-line.short { width:68%; }
.mini-mic { display:inline-grid; place-items:center; width:30px; height:30px; margin-top:10px; border-radius:50%; background:var(--brand); color:#fff; }
.scenario-chip { position:absolute; padding:10px 12px; max-width:85%; border:1px solid #d4b9f4; border-radius:12px; background:#fff; color:#49236e; font-size:11px; font-weight:700; box-shadow:0 5px 14px #44206412; }
.scenario-one { top:42px; left:12px; }
.scenario-two { top:106px; right:12px; }
.scenario-three { bottom:24px; left:14px; }
.feedback-paper,.progress-paper { width:90%; max-width:240px; min-height:204px; padding:18px; border:4px solid #ffffff95; border-radius:20px 20px 0 0; background:#fff; box-shadow:0 8px 24px #283f6c18; }
.feedback-spark { color:var(--brand); font-size:25px; }
.feedback-suggestion { display:flex; align-items:center; gap:9px; padding:10px; margin:14px 0; background:#f2eaff; border-radius:10px; color:#6023a5; }
.feedback-suggestion strong { font-size:11px; line-height:1.4; }
.feedback-paper small,.progress-paper small { display:block; font-size:10px; color:#756684; line-height:1.5; margin-top:15px; }
.progress-paper > strong { font-size:12px; color:#49335f; }
.difference-chart { height:90px; display:flex; align-items:flex-end; gap:10px; padding:15px 0 8px; border-bottom:1px solid #e8dff4; }
.difference-chart span { flex:1; height:30%; background:linear-gradient(#b9a0eb,#7131c3); border-radius:5px 5px 0 0; }
.difference-chart span:nth-child(2) { height:48%; }
.difference-chart span:nth-child(3) { height:42%; }
.difference-chart span:nth-child(4) { height:72%; }
.difference-chart span:nth-child(5) { height:95%; }
.difference-path { display:flex; align-items:center; margin-top:13px; color:var(--brand); }
.difference-path span { display:grid; place-items:center; width:23px; height:23px; background:#f0e7fc; border-radius:50%; font-size:12px; }
.difference-path i { flex:1; height:2px; background:#e0d1f5; }
.difference-action { display:flex; justify-content:center; margin-top:32px; }
.difference-action .btn { min-width:230px; border-radius:18px; }
@media(max-width:1000px) { .difference-grid { gap:16px; } .difference-card { padding:18px; } .difference-card h3 { font-size:19px; } .difference-art { height:205px; } }
@media(max-width:760px) { .difference-grid { grid-template-columns:1fr; max-width:520px; margin:auto; } .difference-card { padding:22px; } .difference-art { height:220px; } .difference-card > p { font-size:15px; } .difference-heading { margin-bottom:26px; } }

/* About and contact: compact editorial pages with real product previews. */
.marketing-about,.marketing-contact { background:#f6f3ff; }
.about-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:48px; padding-top:56px; padding-bottom:42px; }
.about-intro h1 { font-size:clamp(32px,3.3vw,46px); line-height:1.18; letter-spacing:-.045em; margin:16px 0 22px; }
.about-lead { font-size:17px; line-height:1.85; color:var(--muted); }
.about-hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:24px; }
.about-platform-note { font-size:12px; color:var(--muted); margin-top:18px; line-height:1.6; }
.about-app-showcase { margin:0; background:linear-gradient(145deg,#ede4ff,#dcdffa); border:1px solid #d7ccec; border-radius:28px; padding:24px 18px 0; overflow:hidden; }
.about-preview-heading { display:flex; align-items:center; justify-content:center; gap:10px; color:#51248b; font-size:13px; font-weight:700; margin-bottom:22px; }
.about-phones { display:flex; align-items:flex-end; justify-content:center; gap:10px; height:350px; }
.about-phone { display:block; width:31%; object-fit:contain; object-position:bottom; height:100%; filter:drop-shadow(0 8px 10px #30125a18); }
.about-phone.side-phone { height:84%; }
.about-phone:first-child { transform:rotate(-6deg) translateY(14px); }
.about-phone:last-child { transform:rotate(6deg) translateY(14px); }
.about-purpose { display:grid; grid-template-columns:1fr 1fr; gap:42px; padding-top:16px; padding-bottom:42px; }
.about-purpose > div { padding:26px 28px; border-radius:22px; background:#fff; border:1px solid #e4dcf0; }
.about-purpose > div:last-child { background:#eaf3fd; border-color:#d5e4f5; }
.about-purpose h2,.about-features > h2,.about-contact h2 { font-size:25px; line-height:1.35; letter-spacing:-.03em; margin:0 0 14px; }
.about-purpose .eyebrow { margin-bottom:10px; }
.about-purpose p:not(.eyebrow),.about-feature-grid p,.about-contact p:not(.eyebrow) { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.about-features { padding-bottom:38px; }
.about-features > h2 { text-align:center; margin-bottom:24px; font-size:30px; }
.about-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-feature-grid article { padding:22px; border:1px solid #e4ddef; border-radius:20px; background:white; }
.about-feature-icon { display:inline-grid; place-items:center; min-width:36px; height:36px; padding:0 8px; border-radius:11px; color:var(--brand); background:#f0e7fc; font-weight:700; font-size:13px; }
.about-feature-grid h3 { font-size:18px; line-height:1.4; margin:13px 0 10px; letter-spacing:-.025em; }
.about-contact-wrap { padding-bottom:52px; }
.about-contact { display:flex; align-items:center; justify-content:space-between; gap:32px; background:#e8dff8; border:1px solid #d8c8ee; padding:28px 32px; border-radius:24px; }
.about-contact .btn { flex-shrink:0; }
.about-contact .eyebrow { margin-bottom:10px; }
.contact-intro { padding-top:64px; padding-bottom:32px; max-width:850px; text-align:center; }
.contact-intro h1 { font-size:clamp(32px,4vw,46px); line-height:1.2; letter-spacing:-.04em; margin:16px 0 22px; }
.contact-intro > p:last-child { font-size:17px; line-height:1.85; color:var(--muted); }
.contact-detail-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:24px; max-width:1000px; }
.contact-detail-grid article { background:#fff; border:1px solid #e3d9f1; border-radius:24px; padding:32px; }
.contact-detail-grid h2 { font-size:22px; margin:18px 0 14px; }
.contact-detail-grid p { font-size:15px; line-height:1.85; color:var(--muted); }
.contact-email { font-size:clamp(17px,2vw,23px); color:var(--brand); overflow-wrap:anywhere; }
.contact-detail-grid .contact-location { font-size:22px; color:var(--ink); }
.contact-return { padding-top:30px; padding-bottom:70px; text-align:center; }
@media(max-width:900px) { .about-hero { gap:28px; } .about-phones { height:290px; } .about-purpose { gap:20px; } .about-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .about-hero { grid-template-columns:1fr; padding-top:32px; gap:26px; } .about-phones { height:320px; } .about-purpose,.contact-detail-grid { grid-template-columns:1fr; } .about-feature-grid { grid-template-columns:1fr; } .about-purpose > div { padding:22px; } .about-contact { flex-direction:column; align-items:flex-start; padding:24px; gap:22px; } .about-features > h2 { font-size:26px; } .contact-intro { padding-top:38px; } .contact-detail-grid article { padding:25px; } }

/* Contact: direct support details and a real enquiry form. */
.contact-page-heading { padding-top:56px; padding-bottom:28px; text-align:left; }
.contact-page-heading h1 { font-size:clamp(32px,4vw,46px); letter-spacing:-.04em; line-height:1.2; margin:14px 0 18px; }
.contact-page-heading > p:last-child { max-width:760px; font-size:15px; line-height:1.75; color:var(--muted); }
.contact-page-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:32px; align-items:start; padding-bottom:64px; }
.contact-sidebar { display:grid; gap:20px; }
.contact-info-card { background:linear-gradient(135deg,#eee2ff,#e0e4fb); padding:30px; border:1px solid #d9caee; border-radius:24px; }
.contact-symbol { display:grid; place-items:center; width:48px; height:48px; background:var(--brand); color:white; border-radius:15px; font-size:25px; }
.contact-info-card h2,.contact-help-card h2 { font-size:19px; line-height:1.4; letter-spacing:-.025em; margin:18px 0 10px; }
.contact-info-card > p,.contact-help-card p { font-size:14px; line-height:1.8; color:var(--muted); }
.contact-info-card .contact-email { display:block; font-size:16px; font-weight:600; margin-top:10px; }
.contact-location-row { display:flex; gap:12px; align-items:center; padding-top:24px; margin-top:25px; border-top:1px solid #cdbfe1; }
.contact-location-row > span { font-size:25px; color:var(--brand); }
.contact-location-row small { display:block; font-size:12px; color:var(--muted); margin-bottom:5px; }
.contact-location-row strong { font-size:13px; font-weight:600; }
.contact-help-card { padding:22px 26px; border-radius:22px; border:1px solid #ddd7ec; background:white; }
.contact-help-card h2 { margin-top:0; font-size:18px; }
.contact-help-card .text-link { font-size:14px; }
.contact-business-link { display:flex; align-items:center; justify-content:space-between; gap:16px; background:#e9f3f4; border:1px solid #cfe2e3; border-radius:20px; padding:20px 26px; text-decoration:none; color:var(--ink); }
.contact-business-link span:first-child { font-size:12px; color:var(--muted); }
.contact-business-link strong { display:block; color:var(--brand); font-size:16px; margin-top:5px; }
.contact-business-link > span:last-child { font-size:23px; color:var(--brand); }
.contact-form-panel { min-width:0; scroll-margin-top:110px; }
.contact-enquiry-form { padding:32px; }
.contact-enquiry-form h2 { font-size:25px; margin:0 0 10px; letter-spacing:-.03em; }
.contact-form-intro { font-size:15px; color:var(--muted); line-height:1.7; margin-bottom:10px; }
.contact-required-note { font-size:12px; color:var(--muted); margin-bottom:24px; }
.contact-enquiry-form .business-field label { font-size:14px; }
.contact-enquiry-form .business-field input,.contact-enquiry-form .business-field select,.contact-enquiry-form .business-field textarea { font-size:16px; }
.contact-data-note { font-size:12px; line-height:1.7; color:var(--muted); margin:18px 0 0; }
.contact-enquiry-form .btn { font-size:15px; border-radius:14px; min-height:48px; }
.contact-enquiry-form .btn:disabled { opacity:.6; cursor:not-allowed; }
.contact-form-success { background:white; border:1px solid #ded2ed; border-radius:26px; padding:38px; }
.contact-form-success > span { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:#e4f4eb; color:#2b704b; font-size:28px; }
.contact-form-success h2 { font-size:26px; line-height:1.4; margin:22px 0 14px; }
.contact-form-success p { font-size:16px; line-height:1.8; color:var(--muted); margin-bottom:25px; }
@media(max-width:900px) { .contact-page-layout { gap:20px; } .contact-info-card { padding:24px; } .contact-enquiry-form { padding:26px; } }
@media(max-width:760px) { .contact-page-layout { grid-template-columns:1fr; } .contact-form-panel { order:1; } .contact-sidebar { order:2; } .contact-page-heading { padding-top:34px; } .contact-enquiry-form,.contact-form-success { padding:24px; } }

/* Compact support invitation above the homepage footer. */
.marketing-home .final-section { padding-bottom:26px; }
.home-contact-section { padding-bottom:56px; }
.home-contact-banner { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:32px; padding:32px 42px; border-radius:26px; background:linear-gradient(120deg,#49206e,#631cb1 70%,#7528bf); border:1px solid #7440a9; color:white; }
.home-contact-banner::after { content:""; position:absolute; width:200px; height:200px; border:1px solid #ffffff12; border-radius:50%; right:-60px; top:-120px; pointer-events:none; }
.home-contact-copy { min-width:0; }
.home-contact-banner h2 { font-size:25px; letter-spacing:-.03em; line-height:1.35; margin:0 0 10px; }
.home-contact-banner p { color:#ede1fa; font-size:14px; line-height:1.7; margin:0 0 14px; max-width:680px; }
.home-contact-email { display:inline-flex; align-items:center; gap:9px; color:#fff; font-size:14px; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.home-contact-email svg { flex-shrink:0; }
.home-contact-email:hover { text-decoration:underline; text-underline-offset:4px; }
.home-contact-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex-shrink:0; padding:11px 18px; border-radius:999px; border:1px solid #ffffffb0; background:#fff; color:#53217d; font-size:13px; font-weight:700; text-decoration:none; }
.home-contact-button:hover { background:#eee4fa; }
.home-contact-button:focus-visible,.home-contact-email:focus-visible { outline:2px solid #e1f49c; outline-offset:5px; }
@media(max-width:760px) { .home-contact-banner { flex-direction:column; align-items:flex-start; padding:26px; gap:22px; border-radius:22px; } .home-contact-banner h2 { font-size:22px; } .home-contact-section { padding-bottom:40px; } }

/* Quiet, centred contact and social section above the footer. */
.home-contact-social { padding:48px 0 46px; background:linear-gradient(180deg,#f6f4fc,#eeebf8); border-top:1px solid #e3dcef; }
.home-contact-social .home-contact-banner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:0; border:0; border-radius:0; background:none; color:var(--ink); overflow:visible; }
.home-contact-social .home-contact-banner::after { display:none; }
.home-contact-social .home-contact-copy { max-width:690px; }
.home-contact-social h2 { font-size:26px; margin-bottom:15px; }
.home-contact-social p { color:var(--muted); font-size:14px; margin:0 auto 12px; }
.home-contact-social .home-contact-email { color:var(--brand); font-size:14px; }
.home-contact-social .home-contact-email svg { display:none; }
.home-contact-social .home-contact-button { font-size:12px; padding:3px 0; border:0; border-radius:0; background:none; color:var(--brand); text-decoration:underline; text-underline-offset:4px; gap:6px; }
.home-social-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:10px; }
.home-social-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:#6022a2; border:1px solid #d9c8ee; text-decoration:none; }
.home-social-icon svg { display:block; }
a.home-social-icon { transition:background .15s,color .15s; }
a.home-social-icon:hover { background:var(--brand); color:#fff; }
a.home-social-icon:focus-visible,.home-contact-social .home-contact-button:focus-visible,.home-contact-social .home-contact-email:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
@media(max-width:760px) { .home-contact-social { padding:36px 0; } .home-contact-social h2 { font-size:23px; } }

/* Shared Langlen directory footer. */
.directory-footer { background:#f9f8fd; padding:48px 0 30px; border-top:1px solid #e3def0; }
.footer-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:48px; padding-bottom:34px; }
.footer-directory-column { min-width:0; }
.footer-directory-column h2 { font-size:18px; font-weight:700; line-height:1.4; margin:0 0 25px; letter-spacing:-.02em; color:var(--ink); }
.footer-directory-column ul { list-style:none; padding:0; margin:0; }
.footer-directory-column li { margin:0 0 12px; }
.footer-directory-column a { display:inline-block; font-size:14px; line-height:1.5; color:#70677b; text-decoration:none; }
.footer-directory-column a:hover { color:var(--brand); text-decoration:underline; text-underline-offset:4px; }
.directory-footer a:focus-visible { outline:2px solid var(--brand); outline-offset:4px; border-radius:3px; }
.footer-company-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding-top:24px; padding-bottom:24px; border-top:1px solid #e6e0ef; border-bottom:1px solid #e6e0ef; }
.footer-location { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.footer-location .brand { font-size:22px; gap:8px; }
.footer-location > span,.footer-location > a:not(.brand),.footer-company-row > p { font-size:13px; color:#70677b; line-height:1.7; margin:0; }
.footer-location > a:not(.brand) { text-decoration:none; }
.footer-site-languages { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 22px; padding:22px 26px; margin-top:24px; border-radius:18px; background:#eeebf7; }
.footer-site-languages a { display:inline-flex; align-items:center; gap:7px; color:#5d526b; font-size:12px; padding:5px 2px; text-decoration:none; }
.footer-site-languages a[aria-current=true] { color:var(--brand); font-weight:700; }
.footer-site-languages .language-flag { width:20px; height:15px; font-size:17px; border-radius:2px; }
@media(max-width:900px) { .footer-directory-grid { gap:26px; } .footer-directory-column h2 { font-size:16px; } .footer-directory-column a { font-size:13px; } }
@media(max-width:640px) { .directory-footer { padding-top:32px; } .footer-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; } .footer-directory-column h2 { margin-bottom:18px; } .footer-directory-column a { font-size:13px; } .footer-directory-column li { margin-bottom:10px; } .footer-company-row { align-items:flex-start; gap:14px; } .footer-location { gap:10px 16px; } .footer-location .brand { width:100%; } .footer-site-languages { padding:16px; gap:8px 16px; justify-content:flex-start; } }

.directory-footer .footer-location > span { font-size:12px; }

/* Learning overview: plain explanations, real screens and clear feature groups. */
.marketing-learning { background:#f6f3ff; }
.nav a[aria-current=page] { color:var(--brand); text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:2px; }
.learning-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:52px; align-items:center; padding-top:48px; padding-bottom:40px; }
.learning-hero h1 { font-size:clamp(32px,3.5vw,47px); line-height:1.18; letter-spacing:-.045em; margin:15px 0 20px; }
.learning-lead { font-size:17px; line-height:1.8; color:var(--muted); }
.learning-highlights { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 24px; }
.learning-highlights span { font-size:12px; line-height:1.5; padding:7px 11px; border-radius:10px; background:#eae1fa; color:#602a92; }
.learning-preview { display:flex; align-items:center; justify-content:center; gap:16px; padding:28px 25px 0; height:390px; background:linear-gradient(140deg,#ebe1fc,#dce9fb); border:1px solid #d9cee8; border-radius:28px; overflow:hidden; }
.learning-preview img { width:44%; height:100%; object-fit:contain; object-position:bottom; filter:drop-shadow(0 7px 10px #32105120); }
.learning-preview-home { transform:translateY(24px) rotate(-5deg); }
.learning-preview-course { transform:rotate(5deg); }
.learning-course-intro { display:grid; grid-template-columns:1fr 1.25fr; gap:40px; align-items:center; border-top:1px solid #dfd6eb; padding-top:30px; padding-bottom:32px; scroll-margin-top:110px; }
.marketing-learning h2 { font-size:28px; line-height:1.3; letter-spacing:-.03em; margin:0 0 16px; }
.learning-course-intro p:not(.eyebrow),.learning-card-grid p,.learning-teacher p:not(.eyebrow),.learning-goals-grid p:not(.eyebrow),.learning-start p { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.learning-activities,.learning-practice { padding-bottom:36px; scroll-margin-top:110px; }
.learning-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.learning-card-grid article { padding:23px; border:1px solid #e2d8ee; border-radius:21px; background:#fff; }
.learning-card-grid article:nth-child(3n+2) { background:#f1f7fd; border-color:#d9e5f2; }
.learning-card-grid article:nth-child(3n) { background:#f0f8f4; border-color:#d9e9df; }
.learning-card-number { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#eee4fb; color:var(--brand); font-size:12px; font-weight:700; }
.learning-card-grid h3 { font-size:19px; line-height:1.4; margin:13px 0 10px; letter-spacing:-.02em; }
.learning-practice .learning-card-grid h3 { margin-top:0; }
.learning-teacher { display:grid; grid-template-columns:240px 1fr; gap:42px; align-items:center; background:#ebe2fa; border:1px solid #d9caec; border-radius:26px; padding:30px 36px; margin-bottom:36px; scroll-margin-top:110px; }
.learning-teacher-portrait { text-align:center; }
.learning-teacher-portrait img { display:block; width:180px; height:180px; border-radius:50%; margin:0 auto 15px; border:6px solid #f9f4ff; }
.learning-teacher-portrait span { font-size:13px; color:var(--brand); font-weight:600; }
.learning-teacher ul { margin:15px 0 0; padding-left:19px; }
.learning-teacher li { font-size:14px; color:#62526e; line-height:1.8; margin-bottom:5px; }
.learning-goals-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding-bottom:36px; }
.learning-goals-grid section { padding:26px; border-radius:23px; background:#eaf3fd; border:1px solid #d4e3f3; scroll-margin-top:110px; }
.learning-goals-grid section:last-child { background:#fff3e9; border-color:#efddce; }
.learning-goals-grid .learning-availability { font-size:12px; margin-top:14px; }
.learning-start-wrap { padding-bottom:54px; }
.learning-start { display:flex; align-items:center; justify-content:space-between; gap:30px; background:#e8ddf7; padding:28px 32px; border:1px solid #d8c7ec; border-radius:24px; }
.learning-start h2 { font-size:24px; margin-bottom:10px; }
.learning-start .btn { flex-shrink:0; }
@media(max-width:900px) { .learning-hero { gap:26px; } .learning-preview { height:320px; } .learning-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .learning-teacher { grid-template-columns:170px 1fr; gap:25px; padding:26px; } .learning-teacher-portrait img { width:145px; height:145px; } }
@media(max-width:640px) { .learning-hero,.learning-course-intro,.learning-teacher,.learning-goals-grid { grid-template-columns:1fr; } .learning-hero { padding-top:32px; } .learning-preview { height:350px; } .learning-course-intro { gap:0; } .learning-card-grid { grid-template-columns:1fr; } .learning-teacher { width:calc(100% - 64px); padding:24px; } .learning-teacher-portrait img { width:130px; height:130px; } .marketing-learning h2 { font-size:25px; } .learning-start { flex-direction:column; align-items:flex-start; padding:24px; gap:22px; } }

/* Languages catalogue: real published totals and per-language availability. */
.marketing-languages { background:#f6f3ff; }
.languages-hero { display:grid; grid-template-columns:1.3fr 1fr; gap:55px; align-items:center; padding-top:50px; padding-bottom:44px; }
.languages-hero h1 { font-size:clamp(32px,3.6vw,47px); line-height:1.18; letter-spacing:-.04em; margin:16px 0 20px; }
.languages-hero > div:first-child > p:not(.eyebrow) { font-size:17px; line-height:1.8; color:var(--muted); margin-bottom:22px; }
.languages-overview { position:relative; padding:30px; text-align:center; border-radius:26px; border:1px solid #d6c6eb; background:linear-gradient(135deg,#eadefc,#deeafa); }
.languages-overview > strong { display:block; font-size:68px; line-height:1.1; letter-spacing:-.06em; color:var(--brand); }
.languages-overview > span:not(.languages-overview-spark) { font-size:16px; color:#645074; }
.languages-overview-spark { position:absolute; top:22px; right:27px; font-size:27px; color:#9967d0; }
.languages-overview > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; border-top:1px solid #d3c7e6; padding-top:20px; margin-top:22px; }
.languages-overview p { font-size:12px; color:var(--muted); margin:0; }
.languages-overview b { display:block; font-size:23px; line-height:1.5; color:#49365b; }
.languages-catalogue { padding-bottom:30px; }
.languages-catalogue-heading { margin-bottom:24px; }
.languages-catalogue-heading h2,.languages-shared h2 { font-size:28px; line-height:1.3; letter-spacing:-.03em; margin:0 0 12px; }
.languages-catalogue-heading p { font-size:14px; line-height:1.75; color:var(--muted); }
.languages-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.language-detail-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid #e0d5ee; border-radius:24px; background:white; scroll-margin-top:110px; }
.language-detail-title { display:flex; align-items:center; gap:13px; margin-bottom:22px; }
.language-detail-title > span { display:grid; place-items:center; width:42px; height:42px; font-size:30px; border-radius:50%; background:#f4f0fa; }
.language-detail-title h3 { font-size:23px; line-height:1.4; letter-spacing:-.03em; margin:0; }
.language-detail-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 20px; padding:16px 12px; border-radius:14px; background:#f5f1fc; }
.language-detail-counts div { display:flex; flex-direction:column-reverse; align-items:center; gap:4px; }
.language-detail-counts dt { font-size:11px; color:var(--muted); }
.language-detail-counts dd { font-size:22px; font-weight:700; color:#51237e; margin:0; }
.language-detail-card h4 { font-size:12px; color:var(--muted); margin:0 0 9px; font-weight:600; }
.language-level-list,.language-activity-list { list-style:none; display:flex; gap:6px; flex-wrap:wrap; padding:0; margin:0 0 18px; }
.language-level-list li { padding:4px 7px; border:1px solid #e1d5ed; border-radius:7px; font-size:11px; color:#734c92; }
.language-activity-list li { font-size:11px; line-height:1.5; padding:4px 8px; background:#eef5fb; color:#4d6685; border-radius:7px; }
.language-exam-info { display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px; padding:10px 12px; border-radius:10px; background:#fdf2e8; margin-bottom:14px; font-size:12px; color:#896044; }
.language-exam-info strong { font-weight:600; }
.language-story-info,.language-preparing { font-size:13px; line-height:1.7; color:var(--muted); margin:0 0 16px; }
.language-detail-cta { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:16px; border-top:1px solid #eee7f4; font-size:13px; color:var(--brand); font-weight:700; text-decoration:none; }
.language-detail-cta:hover { text-decoration:underline; text-underline-offset:4px; }
.languages-exam-note { font-size:12px; line-height:1.7; color:var(--muted); margin-top:22px; }
.languages-shared-wrap { padding-bottom:55px; }
.languages-shared { display:flex; gap:28px; align-items:center; padding:28px 32px; border-radius:25px; border:1px solid #d9c9ee; background:#ece2fa; }
.languages-shared img { flex-shrink:0; border-radius:50%; width:104px; height:104px; border:5px solid #fff8; }
.languages-shared p { font-size:15px; line-height:1.8; color:var(--muted); margin:0 0 14px; }
.directory-footer .footer-directory-column h2 a { font:inherit; color:inherit; }
@media(max-width:1000px) { .languages-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .languages-hero { gap:30px; } }
@media(max-width:640px) { .languages-hero { grid-template-columns:1fr; padding-top:32px; gap:26px; } .languages-card-grid { grid-template-columns:1fr; } .languages-shared { flex-direction:column; align-items:flex-start; padding:24px; gap:20px; } .languages-catalogue-heading h2,.languages-shared h2 { font-size:25px; } }

/* AI tutor overview with real voice preview and a labelled conversation example. */
.marketing-ai-tutor { background:#f6f3ff; }
.ai-page-hero { display:grid; grid-template-columns:1.25fr 1fr; gap:60px; align-items:center; padding-top:48px; padding-bottom:42px; }
.ai-page-hero h1 { font-size:clamp(32px,3.6vw,47px); line-height:1.18; letter-spacing:-.045em; margin:16px 0 22px; }
.ai-page-lead { font-size:17px; line-height:1.85; color:var(--muted); margin-bottom:24px; }
.ai-teacher-choice { font-size:12px; line-height:1.7; color:var(--muted); margin:16px 0 0; }
.ai-voice-preview { margin:0; padding:24px 24px 18px; border:1px solid #d9c8ef; border-radius:28px; background:linear-gradient(140deg,#eadefc,#e1eafa); text-align:center; }
.ai-voice-preview > img { display:block; width:100%; height:410px; object-fit:contain; filter:drop-shadow(0 8px 14px #35105120); }
.ai-voice-preview figcaption { font-size:12px; color:#775b90; line-height:1.5; margin-top:14px; }
.marketing-ai-tutor h2 { font-size:28px; line-height:1.35; letter-spacing:-.03em; margin:0 0 18px; }
.ai-page-features { padding-bottom:40px; }
.ai-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ai-feature-grid article { padding:25px; border:1px solid #e0d5ee; border-radius:22px; background:#fff; scroll-margin-top:110px; }
.ai-feature-grid article:nth-child(3n+2) { background:#edf5fc; border-color:#d5e3f1; }
.ai-feature-grid article:nth-child(3n) { background:#eef8f3; border-color:#d5e9df; }
.ai-feature-number { display:inline-grid; place-items:center; width:35px; height:35px; background:#ede1fb; border-radius:11px; color:var(--brand); font-size:12px; font-weight:700; }
.ai-feature-grid h3 { font-size:20px; letter-spacing:-.02em; line-height:1.4; margin:15px 0 12px; }
.ai-feature-grid p,.ai-topic-copy > p:not(.eyebrow) { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.ai-conversation-section { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; padding-bottom:40px; }
.ai-topic-tags { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:20px 0 23px; }
.ai-topic-tags li { padding:7px 10px; border-radius:9px; font-size:12px; color:#724c8f; background:#ece1f8; }
.ai-chat-example { padding:26px; background:linear-gradient(140deg,#ede5f8,#e8eff9); border:1px solid #dcd0ed; border-radius:24px; }
.ai-example-person { display:flex; gap:11px; align-items:center; margin-bottom:20px; }
.ai-example-person img { border-radius:50%; width:44px; height:44px; }
.ai-example-person strong { font-size:15px; display:block; }
.ai-example-person span { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.ai-example-message { background:#fff; border:1px solid #e4d8ef; border-radius:17px 17px 17px 4px; padding:19px; margin-right:18px; }
.ai-chat-example small { display:block; color:#83699a; font-size:11px; line-height:1.6; }
.ai-chat-example p { font-size:16px; color:var(--ink); line-height:1.7; margin:7px 0 0; }
.ai-example-translation { margin-top:13px; padding-top:12px; border-top:1px solid #ece4f3; }
.ai-example-translation p { font-size:14px; color:#796b86; }
.ai-example-suggestion { margin:16px 0 0 24px; border:1px solid #d8c6eb; border-radius:16px 16px 4px 16px; background:#f7f1ff; padding:15px 18px; }
.ai-example-suggestion p { font-size:14px; color:#632f95; }
.ai-page-start-wrap { padding-bottom:54px; }
.ai-page-start { display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid #d7c4ed; border-radius:24px; padding:28px 32px; background:#eaddf9; }
.ai-page-start h2 { font-size:25px; margin-bottom:10px; }
.ai-page-start p { font-size:15px; line-height:1.75; color:var(--muted); margin:0; }
.ai-page-start .btn { flex-shrink:0; }
@media(max-width:900px) { .ai-page-hero { gap:30px; } .ai-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ai-voice-preview > img { height:360px; } .ai-conversation-section { gap:25px; } }
@media(max-width:640px) { .ai-page-hero,.ai-conversation-section { grid-template-columns:1fr; } .ai-page-hero { padding-top:32px; } .ai-feature-grid { grid-template-columns:1fr; } .ai-voice-preview > img { height:380px; } .ai-page-start { flex-direction:column; align-items:flex-start; padding:24px; gap:22px; } .ai-chat-example { padding:21px; } .marketing-ai-tutor h2 { font-size:25px; } }

.learning-pronunciation-wrap { padding-bottom:36px; }
.learning-pronunciation { display:flex; align-items:flex-start; gap:22px; padding:28px 32px; border:1px solid #ccddd8; border-radius:23px; background:linear-gradient(120deg,#eaf6ef,#eee7fb); }
.pronunciation-symbol { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; border-radius:16px; background:var(--brand); color:#fff; }
.learning-pronunciation h2 { font-size:25px; margin-bottom:12px; }
.learning-pronunciation p { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.learning-pronunciation .pronunciation-steps { color:#632596; font-size:14px; font-weight:700; margin-top:17px; }
.learning-pronunciation .pronunciation-note { font-size:12px; margin-top:12px; }
.marketing-home .feature-copy .home-pronunciation-highlight { display:block; color:#612a98; font-size:14px; line-height:1.7; font-weight:600; margin:16px 0; }
@media(max-width:640px) { .learning-pronunciation { flex-direction:column; gap:17px; padding:24px; } .learning-pronunciation h2 { font-size:23px; } }

/* Business: clear benefits, a short rollout plan and a focused enquiry form. */
/* Legal pages use the same lavender canvas and readable type as marketing. */
.marketing-legal { --bg:#e8e3ff; background:var(--bg); }
.marketing-legal .site-header { background:#faf9ff; border-bottom:1px solid #ded6f7; }
.legal-heading { padding-block:54px 36px; scroll-margin-top:110px; }
.legal-heading h1 { font-size:clamp(34px,4.2vw,54px); line-height:1.16; letter-spacing:-.04em; margin:16px 0 20px; }
.legal-intro { max-width:820px; font-size:18px; color:#625970; line-height:1.85; margin-bottom:16px; }
.legal-updated { color:var(--muted); font-size:13px; margin-bottom:28px; }
.legal-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.legal-summary article { border:1px solid #ddd3ef; border-radius:22px; background:#f8f5ff; padding:22px 24px; }
.legal-summary article:nth-child(2) { background:#edf4fd; border-color:#d8e3f2; }
.legal-summary article:nth-child(3) { background:#eaf4ef; border-color:#d4e5da; }
.legal-summary article > span { color:var(--brand); font-size:12px; font-weight:800; }
.legal-summary h2 { font-size:18px; line-height:1.4; margin:10px 0; }
.legal-summary p { color:var(--muted); font-size:14px; line-height:1.8; margin:0; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:28px; padding-bottom:72px; }
.legal-contents { position:sticky; top:110px; padding:24px; background:#f6f2ff; border:1px solid #ddd2ef; border-radius:22px; max-height:calc(100vh - 140px); overflow-y:auto; }
.legal-contents h2 { font-size:16px; line-height:1.5; margin:0 0 14px; }
.legal-contents ol { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.legal-contents a { color:#675775; font-size:13px; line-height:1.6; display:block; }
.legal-contents a:hover { color:var(--brand); text-decoration:underline; text-underline-offset:3px; }
.legal-contents .legal-top-link { border-top:1px solid #dfd5ee; padding-top:16px; margin-top:20px; color:var(--brand); }
.legal-document { min-width:0; border:1px solid #ded5ed; background:#fff; border-radius:26px; padding:36px 40px; }
.legal-operator { background:#f6f2fd; border:1px solid #e6dcf1; padding:22px 24px; border-radius:18px; margin-bottom:32px; }
.legal-operator .eyebrow { font-size:11px; margin-bottom:9px; }
.legal-operator strong { display:block; font-size:17px; }
.legal-operator address { white-space:pre-line; font-style:normal; font-size:14px; color:var(--muted); margin-block:6px; }
.legal-operator > a { font-size:14px; overflow-wrap:anywhere; }
.legal-section { scroll-margin-top:115px; padding-block:26px; border-top:1px solid #ece6f2; }
.legal-section h2,.legal-help h2 { font-size:22px; letter-spacing:-.025em; line-height:1.45; margin:0 0 16px; }
.legal-section p { font-size:16px; line-height:1.95; color:#61586b; margin:0 0 18px; overflow-wrap:anywhere; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section a,.legal-help > a { text-decoration:underline; text-underline-offset:4px; }
.legal-help { margin-top:22px; padding:24px; border:1px solid #ded0f1; border-radius:20px; background:#f4edff; }
.legal-help > a { font-size:15px; font-weight:700; }
.legal-related { display:flex; flex-wrap:wrap; gap:12px 20px; border-top:1px solid #e2d6ef; margin-top:22px; padding-top:18px; font-size:13px; }
@media(max-width:900px) { .legal-layout { grid-template-columns:1fr; gap:22px; } .legal-contents { position:static; max-height:none; } .legal-contents ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; } }
@media(max-width:640px) { .legal-heading { padding-top:36px; } .legal-intro { font-size:16px; } .legal-summary { grid-template-columns:1fr; gap:12px; } .legal-summary article { padding:18px 20px; } .legal-document { padding:22px; border-radius:22px; } .legal-contents ol { grid-template-columns:1fr; } .legal-section h2,.legal-help h2 { font-size:20px; } .legal-section p { font-size:15px; line-height:1.9; } .legal-operator,.legal-help { padding:18px; } }

.marketing-business { --bg:#e8e3ff; background:var(--bg); }
.marketing-business .site-header { background:#faf9ff; border-bottom:1px solid #ded6f7; }
.marketing-business .business-hero { gap:56px; padding-block:64px 72px; }
.marketing-business .business-hero h1 { font-size:clamp(38px,4.5vw,62px); max-width:660px; }
.marketing-business .business-hero .hero-description { font-size:18px; line-height:1.8; max-width:610px; }
.business-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.business-hero-note { color:var(--muted); font-size:13px; line-height:1.7; margin:18px 0 0; }
.marketing-business .business-visual { background:radial-gradient(ellipse at top right,#e5d4ff,transparent 65%),#f6f0ff; padding:30px; box-shadow:0 18px 50px #4b16800a; }
.marketing-business .business-visual img { width:130px; height:130px; margin-bottom:14px; }
.marketing-business .business-visual h2 { font-size:26px; max-width:350px; margin:0 auto 12px; }
.marketing-business .business-visual > p { font-size:13px; }
.business-practice-preview { text-align:left; background:#ffffffd9; border:1px solid #e7dcef; border-radius:20px; padding:20px; margin-top:24px; }
.business-practice-preview strong { font-size:14px; color:var(--ink); }
.business-practice-preview ul { list-style:none; padding:0; margin:14px 0 0; display:grid; gap:12px; }
.business-practice-preview li { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:14px; line-height:1.5; }
.business-practice-preview li::before { content:'✓'; display:grid; place-items:center; width:23px; height:23px; flex-shrink:0; border-radius:50%; color:#64349a; background:#ede3fc; font-size:12px; }
.business-section-heading { max-width:740px; margin:0 auto 32px; text-align:center; }
.business-section-heading h2,.business-team-offer h2 { font-size:clamp(26px,3vw,36px); letter-spacing:-.035em; line-height:1.2; margin:0 0 14px; }
.business-section-heading p { font-size:16px; line-height:1.8; color:var(--muted); margin:0; }
.marketing-business .business-benefits { padding-bottom:64px; }
.marketing-business .business-benefits article { padding:26px; }
.marketing-business .business-benefits article:nth-child(1) { background:#f0e9ff; border-color:#dfd0fa; }
.marketing-business .business-benefits article:nth-child(2) { background:#edf5ff; border-color:#dce7f7; }
.marketing-business .business-benefits article:nth-child(3) { background:#eaf5f0; border-color:#d8e9df; }
.marketing-business .business-benefits article > span { display:inline-grid; place-items:center; background:#ffffffb3; border:1px solid #e7dfee; width:38px; height:38px; border-radius:12px; }
.marketing-business .business-benefits p { font-size:15px; line-height:1.8; margin-bottom:0; }
.business-process-section { background:#f8f6fc; border-block:1px solid #e9e3f2; padding:56px 0; }
.business-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:0; margin:0; }
.business-steps li > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#ede3fc; color:var(--brand); font-size:15px; font-weight:700; }
.business-steps h3 { font-size:19px; line-height:1.4; margin:17px 0 10px; }
.business-steps p { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.business-team-offer { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:36px; margin-block:64px; padding:36px; background:#eee7ff; border:1px solid #ddd0f4; border-radius:28px; }
.business-team-offer > div { max-width:730px; }
.business-team-offer p:not(.eyebrow) { font-size:16px; color:var(--muted); line-height:1.8; margin:0 0 12px; }
.business-team-offer small { display:block; font-size:12px; color:var(--muted); line-height:1.7; }
.business-team-offer > .btn { flex-shrink:0; }
.marketing-business .business-contact { scroll-margin-top:110px; align-items:start; gap:60px; }
.marketing-business .business-contact h2 { font-size:clamp(28px,3vw,38px); line-height:1.25; letter-spacing:-.035em; }
.marketing-business .business-contact > div > p:not(.eyebrow) { font-size:16px; line-height:1.8; }
.marketing-business .business-form > h3 { margin:0 0 8px; font-size:22px; line-height:1.4; }
.business-required-note { font-size:12px; color:var(--muted); margin:0 0 24px; }
.marketing-business .business-field label { font-size:14px; }
.marketing-business .business-field :is(input,select,textarea) { font-size:16px; }
.marketing-business .business-form .btn:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:900px) {
  .marketing-business .business-hero { gap:28px; }
  .marketing-business .business-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .business-team-offer { flex-direction:column; align-items:flex-start; }
  .marketing-business .business-contact { gap:30px; }
}
@media(max-width:640px) {
  .marketing-business .business-hero { padding-block:36px 44px; }
  .marketing-business .business-hero .hero-description { font-size:16px; }
  .marketing-business .business-benefits,.business-steps { grid-template-columns:1fr; }
  .business-steps { gap:26px; }
  .business-team-offer { padding:26px; margin-block:40px; border-radius:22px; }
  .business-process-section { padding-block:40px; }
  .marketing-business .business-visual { padding:24px; }
  .marketing-business .business-contact { gap:24px; }
}
