/* Homepage refinement layer. Kept separate so it cleanly overrides the legacy stack. */

body.page-home {
  --motion-ease: cubic-bezier(.22,1,.36,1);
  --motion-control-size: 13px;
}
body.page-home .motion-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
  color: var(--body);
  font: 700 var(--motion-control-size)/1.5 var(--f-ui);
}
body.page-home .motion-controls[hidden] { display: none; }
body.page-home .motion-controls > div { display: flex; flex-wrap: wrap; gap: 8px; }
body.page-home .motion-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 16px;
  border: 0;
  border-radius: var(--r-pill);
  color: var(--ink);
  background: var(--white);
  box-shadow: var(--s1);
  font: 800 var(--motion-control-size)/1.4 var(--f-ui);
  transition: transform .25s var(--motion-ease), box-shadow .25s var(--motion-ease);
}
body.page-home .motion-controls button:disabled { opacity: .55; cursor: default; }
body.page-home .product-tab { transition-timing-function: var(--motion-ease); }
body.page-home[data-home-motion="off"] :is(.gold-ticker-track,.hero-float-card,.live-badge i),
body.page-home[data-home-motion="off"] .lens-paper::after { animation-play-state: paused; }
body.page-home[data-home-motion="off"] .lens-paper::after { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  body.page-home .motion-controls button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: var(--s2); }
}
@media (max-width: 650px) {
  body.page-home .motion-controls { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .motion-controls button { transition: none; }
}

/* Parent-facing layout tokens for the compact homepage. */
body.page-home {
  --home-label: 13px;
  --home-body: 15px;
  --home-gap: 16px;
  --home-section-space: 64px;
}

body.page-home .compact-teacher {
  padding-block: clamp(64px, 7vw, 92px);
  gap: clamp(44px, 7vw, 96px);
}
body.page-home .compact-teacher-photo { max-width: 540px; }
body.page-home .compact-teacher-photo img {
  aspect-ratio: 5 / 4;
  object-position: center 32%;
  box-shadow: 0 22px 55px rgba(35, 29, 21, .15);
}
body.page-home .compact-teacher-copy { max-width: 680px; }
body.page-home .teacher-coverage {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 4px;
}
body.page-home .teacher-coverage span {
  padding: 7px 11px; border: 1px solid rgba(26,26,26,.13); border-radius: 999px;
  color: #5c554c; font: 800 11px/1 var(--f-ui); letter-spacing: .04em;
}
body.page-home .teacher-proof-row span {
  border: 1px solid rgba(26,26,26,.07);
  background: linear-gradient(145deg,#faf7f1,#f0eadf);
}
body.page-home .teacher-details { margin-top: 12px; }

body.page-home .testimonials-section {
  display: grid;
  grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr);
  column-gap: clamp(44px,7vw,92px);
  align-items: stretch;
  max-width: 1240px;
  margin: 0 auto;
}
body.page-home .testimonials-section > .section-label,
body.page-home .testimonials-section > .section-title,
body.page-home .testimonials-section > .section-sub { grid-column: 1; }
body.page-home .testimonials-section > .section-title { margin-bottom: 18px; }
body.page-home .testimonials-section > .section-sub { max-width: 390px; }
body.page-home .testimonials-section .testimonials-grid {
  grid-column: 2;
  grid-row: 1 / span 4;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 16px;
}
body.page-home .testimonial-card {
  position: relative; min-height: 0; padding: 24px; border: 1px solid rgba(26,26,26,.08);
  border-radius: 22px; box-shadow: 0 12px 36px rgba(30,24,17,.07);
}
body.page-home .testimonial-card:first-child {
  grid-row: span 2;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 34px; background: #171717; color: #fff;
}
body.page-home .testimonial-card:first-child .t-text { color: #fff; font-size: clamp(20px,2.1vw,29px); line-height: 1.35; }
body.page-home .testimonial-card:first-child .t-name { color: #fff; }
body.page-home .testimonial-card:first-child .t-meta { color: rgba(255,255,255,.56); }
body.page-home .testimonial-card:first-child .t-avatar { width: 76px; height: 76px; }
body.page-home .testimonial-card:not(:first-child) .t-stars { display: none; }
body.page-home .testimonial-card:not(:first-child) .t-text { font-size: 16px; line-height: 1.48; }
body.page-home .t-outcome {
  display: inline-flex; align-self: flex-start; width: fit-content; margin: 0 0 18px; padding: 7px 10px;
  border-radius: 999px; background: #f5c518; color: #1a1a1a;
  font: 900 10px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase;
}
body.page-home .t-author { margin-top: 24px; }

body.page-home .curriculum-section {
  background: #fff;
  padding-block: clamp(70px,8vw,104px);
}
body.page-home .curriculum-layout { align-items: center; }
body.page-home .curriculum-aside { align-self: center; }
body.page-home .grade-pill-row {
  margin-bottom: 14px; padding: 4px; border-radius: 14px; background: #f5f1ea;
}
body.page-home .grade-pill { flex: 0 0 auto; min-height: 38px; border-radius: 10px; }
body.page-home .grade-preview-card { border-radius: 22px; overflow: hidden; box-shadow: 0 18px 50px rgba(30,24,17,.09); }
body.page-home .class-featured { grid-template-columns: minmax(0,1.2fr) minmax(245px,.8fr); min-height: 400px; }
body.page-home .class-featured-stage { min-height: 400px; height: 400px; }
body.page-home .class-board { padding: 34px !important; }
body.page-home .class-board {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 10px;
  height: 100%;
  min-height: 0;
}
body.page-home .class-board-slide,
body.page-home .class-board-slide.is-on {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: 82px 1fr;
  align-items: center;
  gap: 14px;
  padding: 15px 18px;
  border: 1px solid rgba(26,26,26,.07);
  border-radius: 13px;
  background: rgba(255,255,255,.82);
  opacity: 1;
  transition: transform .2s ease, background .2s ease;
}
body.page-home .class-board-slide.is-on {
  background: #fff6cf;
  transform: translateX(5px);
}
body.page-home .class-board-kicker { margin: 0; font-size: 10px; }
body.page-home .class-board-q { margin: 0; font-size: 14px; line-height: 1.35; }
body.page-home .class-play { display: none; }
body.page-home .class-featured-meta { padding: 30px; }
body.page-home .class-play { width: 58px; height: 58px; }

/* One-class preview: actual deck imagery + unit coverage + matched game */
body.page-home .curriculum-section {
  padding-inline: 28px;
  background: #f4f0e8;
}
body.page-home .class-preview-head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
  align-items: end;
  gap: 70px;
  max-width: 1180px;
  margin: 0 auto 30px;
}
body.page-home .class-preview-head .section-title { margin-bottom: 0; }
body.page-home .class-preview-head .section-sub { max-width: 500px; margin: 0 0 5px; }
body.page-home .curriculum-section > .grade-pill-row {
  display: flex;
  gap: 7px;
  max-width: 1180px;
  margin: 0 auto 14px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid rgba(26,26,26,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.62);
  scrollbar-width: none;
}
body.page-home .curriculum-section > .grade-pill-row::-webkit-scrollbar { display: none; }
body.page-home .curriculum-section .grade-pill {
  flex: 1 0 72px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 9px;
  box-shadow: none;
  background: transparent;
  font: 800 11px/1 var(--f-ui);
  white-space: nowrap;
  cursor: pointer;
}
body.page-home .curriculum-section .grade-pill.active { background: #1a1a1a; color: #fff; box-shadow: 0 7px 16px rgba(0,0,0,.12); }
body.page-home .class-experience {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: stretch;
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto;
  background: transparent;
}
body.page-home .deck-preview {
  min-width: 0;
  overflow: hidden;
  padding: 18px;
  border-radius: 25px;
  background: #171817;
  box-shadow: 0 24px 65px rgba(37,29,18,.12);
}
body.page-home .deck-toolbar {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 35px;
  padding: 0 2px 12px;
  color: #aaa8a2;
  font-family: var(--f-ui);
}
body.page-home .deck-toolbar > span { display: flex; gap: 5px; }
body.page-home .deck-toolbar > span i { width: 7px; height: 7px; border-radius: 50%; background: #484844; }
body.page-home .deck-toolbar b { font-size: 8px; letter-spacing: .11em; }
body.page-home .deck-toolbar em { margin-left: auto; color: #f5c518; font: 900 8px/1 var(--f-ui); font-style: normal; letter-spacing: .1em; }
body.page-home .deck-hero-slide {
  position: relative;
  height: 390px;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #282824;
}
body.page-home .deck-hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: opacity .2s ease; }
body.page-home .deck-hero-slide::after { content: ''; position: absolute; inset: auto 0 0; height: 32%; background: linear-gradient(transparent,rgba(0,0,0,.65)); pointer-events: none; }
body.page-home .deck-hero-slide figcaption {
  position: absolute;
  z-index: 2;
  left: 17px;
  right: 17px;
  bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #fff;
  font: 800 11px/1.25 var(--f-ui);
}
body.page-home .deck-hero-slide figcaption b { padding: 6px 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; color: rgba(255,255,255,.74); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
body.page-home .deck-mini-slides { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 8px; }
body.page-home .deck-mini-slides article { min-height: 104px; padding: 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: #222320; }
body.page-home .deck-mini-slides article:nth-child(2) { background: #302a16; }
body.page-home .deck-mini-slides small { display: block; margin-bottom: 8px; color: #f5c518; font: 900 7px/1 var(--f-ui); letter-spacing: .11em; }
body.page-home .deck-mini-slides p { margin: 0; color: #ceccc5; font-size: 10px; line-height: 1.45; }
body.page-home .class-experience-meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(24px,2.2vw,30px);
  border: 1px solid rgba(26,26,26,.09);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 24px 65px rgba(37,29,18,.1);
}
body.page-home .class-featured-kicker { margin: 0 0 9px; color: #987300; font: 900 9px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; }
body.page-home .class-experience-meta > h3 { margin: 0 0 9px; font: 600 clamp(27px,2.35vw,35px)/1.04 var(--f-display); letter-spacing: -.03em; }
body.page-home .class-topic-note { margin: 0 0 14px; color: #6f6a62; font-size: 12px; line-height: 1.45; }
body.page-home .unit-coverage { margin-bottom: 12px; padding: 12px; border-radius: 13px; background: #f4f0e8; }
body.page-home .unit-coverage-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
body.page-home .unit-coverage-head span { color: #26231f; font: 900 10px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; }
body.page-home .unit-coverage-head b { color: #9a7500; font: 800 9px/1 var(--f-ui); }
body.page-home .unit-coverage ul {
  counter-reset: course-unit;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 5px 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.page-home .unit-coverage li {
  counter-increment: course-unit;
  position: relative;
  min-height: 28px;
  padding: 5px 5px 5px 27px;
  border: 1px solid rgba(26,26,26,.055);
  border-radius: 8px;
  background: rgba(255,255,255,.68);
  color: #565149;
  font-size: 8.5px;
  line-height: 1.18;
}
body.page-home .unit-coverage li::before {
  content: counter(course-unit,decimal-leading-zero);
  position: absolute;
  left: 7px;
  top: 6px;
  color: #a47b00;
  font: 900 8px/1 var(--f-ui);
  letter-spacing: -.02em;
}
body.page-home .grade-game {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 12px;
  padding: 8px;
  border: 1px solid rgba(26,26,26,.09);
  border-radius: 14px;
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
body.page-home .grade-game:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(34,27,17,.09); }
body.page-home .grade-game-visual {
  --game-accent: #b78300;
  --game-bg: #fff1b8;
  position: relative;
  display: flex;
  min-height: 96px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 10px;
  background: radial-gradient(circle at 80% 18%,rgba(255,255,255,.9),transparent 20%),var(--game-bg);
  color: var(--game-accent);
}
body.page-home .grade-game-visual::before,
body.page-home .grade-game-visual::after { content: ''; position: absolute; width: 54px; height: 54px; border: 10px solid currentColor; border-radius: 50%; opacity: .12; }
body.page-home .grade-game-visual::before { left: -25px; bottom: -25px; }
body.page-home .grade-game-visual::after { right: -30px; top: -30px; }
body.page-home .grade-game-visual > span { position: absolute; left: 8px; top: 8px; font: 900 6px/1 var(--f-ui); letter-spacing: .08em; }
body.page-home .grade-game-visual > strong { position: relative; z-index: 1; font: 700 25px/1 var(--f-display); }
body.page-home .grade-game-visual > i { position: relative; z-index: 1; max-width: 94px; margin-top: 8px; color: #403b34; font: 800 7px/1.3 var(--f-ui); font-style: normal; text-align: center; }
body.page-home .grade-game-copy { align-self: center; }
body.page-home .grade-game-copy small { color: #987300; font: 900 7px/1 var(--f-ui); letter-spacing: .1em; }
body.page-home .grade-game-copy > strong { display: block; margin: 5px 0 4px; font: 900 14px/1.1 var(--f-ui); }
body.page-home .grade-game-copy p { margin: 0 0 6px; color: #777169; font-size: 9px; line-height: 1.3; }
body.page-home .grade-game-copy b { color: #1a1a1a; font: 900 9px/1 var(--f-ui); }
body.page-home .class-book-button { min-height: 42px; margin-top: auto; border: 0; border-radius: 99px; background: #1a1a1a; color: #fff; font: 900 11px/1 var(--f-ui); cursor: pointer; }

@media (max-width: 960px) {
  body.page-home .class-preview-head { grid-template-columns: 1fr; gap: 16px; }
  body.page-home .class-experience { grid-template-columns: 1fr; }
  body.page-home .deck-hero-slide { height: 390px; }
  body.page-home .class-experience-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
  body.page-home .class-experience-meta > .class-featured-kicker,
  body.page-home .class-experience-meta > h3,
  body.page-home .class-experience-meta > .class-topic-note { grid-column: 1 / -1; }
  body.page-home .unit-coverage,
  body.page-home .grade-game { margin-bottom: 0; }
  body.page-home .class-book-button { grid-column: 1 / -1; }
  body.page-home .unit-coverage ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 650px) {
  body.page-home .curriculum-section { padding-inline: 18px; }
  body.page-home .class-preview-head .section-title { font-size: 38px; }
  body.page-home .curriculum-section > .grade-pill-row { margin-right: -18px; border-radius: 12px 0 0 12px; }
  body.page-home .curriculum-section .grade-pill { flex-basis: 68px; }
  body.page-home .deck-preview { padding: 10px; }
  body.page-home .deck-toolbar em { display: none; }
  body.page-home .deck-hero-slide { height: 250px; }
  body.page-home .deck-hero-slide figcaption { align-items: flex-end; }
  body.page-home .deck-hero-slide figcaption b { display: none; }
  body.page-home .deck-mini-slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.page-home .deck-mini-slides::-webkit-scrollbar { display: none; }
  body.page-home .deck-mini-slides article { flex: 0 0 78%; scroll-snap-align: start; }
  body.page-home .class-experience-meta { display: flex; padding: 25px 20px; }
  body.page-home .grade-game { grid-template-columns: 105px 1fr; }
}

body.page-home .compact-faq {
  padding-block: clamp(64px,7vw,88px);
  border-top: 1px solid rgba(26,26,26,.08);
}
body.page-home .compact-faq-list details { transition: background .2s ease, padding .2s ease; }
body.page-home .compact-faq-list details[open] { margin-inline: -16px; padding-inline: 16px; border-radius: 12px; background: #f7f2e9; }

@media (hover: hover) and (pointer: fine) {
  body.page-home .sticky-demo-btn { display: none !important; }
  body.page-home .testimonial-card:hover { transform: translateY(-3px); }
}

body.page-home button.sticky-demo-btn.cta-primary-btn { display: none !important; }
@media (max-width: 768px) {
  body.page-home button.sticky-demo-btn.cta-primary-btn.sticky-demo-btn--active { display: flex !important; }
}

@media (max-width: 860px) {
  body.page-home .testimonials-section { display: block; }
  body.page-home .testimonials-section .testimonials-grid {
    display: flex; margin-top: 28px; overflow-x: auto; scroll-snap-type: x mandatory;
  }
  body.page-home .testimonial-card,
  body.page-home .testimonial-card:first-child { flex: 0 0 86%; min-height: 340px; scroll-snap-align: start; }
  body.page-home .class-featured { grid-template-columns: 1fr; min-height: 0; }
  body.page-home .class-featured-stage { height: 300px; min-height: 300px; }
}

@media (max-width: 520px) {
  body.page-home .compact-teacher { gap: 30px; }
  body.page-home .compact-teacher-photo img { aspect-ratio: 4 / 3; }
  body.page-home .testimonial-card,
  body.page-home .testimonial-card:first-child { flex-basis: 91%; min-height: 330px; padding: 25px; }
  body.page-home .class-featured-stage { height: 250px; min-height: 250px; }
  body.page-home .class-board { padding: 24px !important; }
  body.page-home .class-board-slide,
  body.page-home .class-board-slide.is-on { grid-template-columns: 64px 1fr; padding: 12px; transform: none; }
  body.page-home .class-board-q { font-size: 12px; }
}

/* ========================================================================== 
   Product story: the three systems that make BananaLearn different
   ========================================================================== */
body.page-home .hero-value-strip { gap: 8px; }
body.page-home .hero-value-pill {
  position: relative;
  padding-left: 22px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(26,26,26,.09);
  color: #28241f;
}
body.page-home .hero-value-pill::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 50%;
  background: #f5c518;
  box-shadow: 0 0 0 3px rgba(245,197,24,.17);
}

body.page-home .product-showcase {
  max-width: 1220px;
  margin: 0 auto;
  padding: clamp(72px,8vw,112px) 28px;
}
body.page-home .product-showcase-head {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
  align-items: end;
  gap: 72px;
  margin-bottom: 38px;
}
body.page-home .product-showcase-head .section-title { margin-bottom: 0; }
body.page-home .product-showcase-head .section-sub { max-width: 480px; margin: 0 0 5px; }
body.page-home .platform-foundation {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-bottom: 42px;
}
body.page-home .foundation-card {
  display: grid;
  grid-template-columns: minmax(124px,.8fr) minmax(145px,1fr);
  align-items: center;
  gap: 17px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(26,26,26,.09);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(36,29,19,.055);
}
body.page-home .foundation-card > div:last-child { min-width: 0; }
body.page-home .foundation-card small {
  display: block;
  margin-bottom: 7px;
  color: #997400;
  font: 900 8px/1.2 var(--f-ui);
  letter-spacing: .1em;
}
body.page-home .foundation-card > div:last-child strong {
  display: block;
  color: #211f1c;
  font: 800 13px/1.32 var(--f-ui);
}
body.page-home .foundation-preview {
  position: relative;
  min-width: 0;
  height: 104px;
  overflow: hidden;
  border-radius: 11px;
  background: #ece8df;
}
body.page-home .foundation-card--live .foundation-preview { background: #1d2024; }
body.page-home .live-badge {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border-radius: 99px;
  background: rgba(20,20,20,.72);
  color: #fff;
  font: 900 7px/1 var(--f-ui);
  letter-spacing: .06em;
}
body.page-home .live-badge i { width: 5px; height: 5px; border-radius: 50%; background: #f45d5d; box-shadow: 0 0 0 3px rgba(244,93,93,.18); }
body.page-home .participant { position: absolute; overflow: hidden; border-radius: 8px; background: linear-gradient(145deg,#6b726e,#343a39); }
body.page-home .participant::before { content: ''; position: absolute; left: 50%; top: 27%; width: 24px; height: 24px; border-radius: 50%; background: #d5ab82; transform: translate(-50%,-50%); }
body.page-home .participant::after { content: ''; position: absolute; left: 50%; bottom: -15px; width: 60px; height: 62px; border-radius: 48% 48% 0 0; background: #e3c041; transform: translateX(-50%); }
body.page-home .participant b,
body.page-home .participant span { position: absolute; z-index: 2; left: 6px; color: #fff; font-family: var(--f-ui); }
body.page-home .participant b { bottom: 16px; font-size: 7px; }
body.page-home .participant span { bottom: 6px; color: rgba(255,255,255,.64); font-size: 6px; }
body.page-home .participant--teacher { left: 8px; right: 48%; top: 35px; bottom: 8px; }
body.page-home .participant--student { left: 54%; right: 8px; top: 35px; bottom: 8px; background: linear-gradient(145deg,#7b7069,#413a36); }
body.page-home .participant--student::after { background: #7690aa; }

body.page-home .foundation-card--board .foundation-preview { background: repeating-linear-gradient(#faf8f1 0,#faf8f1 19px,#e4e0d5 20px); }
body.page-home .board-equation { position: absolute; left: 12px; top: 14px; color: #24324a; font: 700 15px/1 var(--f-display); transform: rotate(-1deg); }
body.page-home .board-equation b { color: #1c9864; }
body.page-home .fraction-bars { position: absolute; left: 12px; right: 34px; top: 47px; display: grid; grid-template-columns: repeat(4,1fr); height: 19px; overflow: hidden; border: 2px solid #34312c; border-radius: 3px; }
body.page-home .fraction-bars i { border-right: 1px solid #34312c; background: #f5c518; }
body.page-home .fraction-bars i:last-child { border-right: 0; background: transparent; }
body.page-home .widget-tray { position: absolute; left: 11px; bottom: 8px; display: flex; gap: 5px; }
body.page-home .widget-tray span { display: grid; place-items: center; width: 23px; height: 20px; border: 1px solid rgba(26,26,26,.13); border-radius: 5px; background: #fff; color: #5a5650; font: 800 8px/1 var(--f-ui); box-shadow: 0 3px 7px rgba(26,26,26,.06); }

body.page-home .foundation-card--portal .foundation-preview { padding: 9px; background: #18232d; }
body.page-home .portal-nav { display: block; margin-bottom: 7px; color: #74d9b5; font: 900 7px/1 var(--f-ui); letter-spacing: .12em; }
body.page-home .portal-next { display: grid; gap: 4px; padding: 9px; border-radius: 7px; background: #fff5cd; }
body.page-home .portal-next small { margin: 0; color: #826500; font-size: 6px; }
body.page-home .portal-next b { color: #24211c; font: 800 8px/1.2 var(--f-ui); }
body.page-home .portal-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 6px; }
body.page-home .portal-stats span { padding: 7px 5px; border-radius: 6px; background: rgba(255,255,255,.08); color: #8f9ca7; font: 700 6px/1 var(--f-ui); }
body.page-home .portal-stats b { display: block; margin-bottom: 3px; color: #fff; font-size: 9px; }
body.page-home .differentiator-intro {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 15px;
}
body.page-home .differentiator-intro span { flex: 0 0 auto; color: #8c6800; font: 900 10px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; }
body.page-home .differentiator-intro p { max-width: 650px; margin: 0; color: #706b63; font-size: 13px; line-height: 1.5; }
body.page-home .product-tabs {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin-bottom: 12px;
  padding: 7px;
  border: 1px solid rgba(26,26,26,.08);
  border-radius: 18px;
  background: #f3efe7;
}
body.page-home .product-tab {
  min-width: 0;
  padding: 16px 19px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #716c65;
  text-align: left;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.page-home .product-tab small {
  display: block;
  margin-bottom: 7px;
  font: 900 9px/1 var(--f-ui);
  letter-spacing: .12em;
}
body.page-home .product-tab strong { display: block; font: 800 16px/1.2 var(--f-ui); }
body.page-home .product-tab.is-active {
  background: #fff;
  color: #1a1a1a;
  box-shadow: 0 7px 22px rgba(40,32,20,.08);
}
body.page-home .product-tab:focus-visible { outline: 3px solid rgba(245,197,24,.55); outline-offset: 2px; }
body.page-home .product-panel {
  display: grid;
  grid-template-columns: minmax(300px,.75fr) minmax(0,1.45fr);
  align-items: stretch;
  gap: clamp(30px,5vw,68px);
  min-height: 500px;
  padding: clamp(32px,4.5vw,58px);
  border-radius: 28px;
  overflow: hidden;
  background: #171715;
  color: #fff;
  box-shadow: 0 28px 70px rgba(38,30,18,.16);
}
body.page-home .product-panel[hidden] { display: none !important; }
body.page-home .product-panel--arcade { background: #17202b; }
body.page-home .product-panel--lens { background: #ece9e1; color: #1a1a1a; }
body.page-home .product-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
body.page-home .product-chip {
  display: inline-flex;
  margin-bottom: 22px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: #f5c518;
  font: 900 10px/1 var(--f-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.page-home .product-panel--lens .product-chip { border-color: rgba(26,26,26,.12); color: #8a6700; }
body.page-home .product-copy h3 {
  max-width: 430px;
  margin: 0 0 18px;
  color: inherit;
  font: 600 clamp(31px,3.5vw,48px)/1.04 var(--f-display);
  letter-spacing: -.035em;
}
body.page-home .product-copy > p { max-width: 450px; margin: 0 0 23px; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.65; }
body.page-home .product-panel--lens .product-copy > p { color: #5d5953; }
body.page-home .product-proof {
  margin-bottom: 28px;
  padding: 13px 15px;
  border-left: 3px solid #f5c518;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.45;
}
body.page-home .product-panel--lens .product-proof { background: rgba(255,255,255,.72); color: #605b54; }
body.page-home .product-proof strong { color: inherit; }
body.page-home .product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: #f5c518;
  color: #1a1a1a;
  font: 900 13px/1 var(--f-ui);
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
body.page-home .product-action:hover { transform: translateY(-2px); box-shadow: 0 9px 24px rgba(245,197,24,.23); }

/* Diagnostic map interface */
body.page-home .diagnostic-ui {
  align-self: center;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  overflow: hidden;
  background: #22221f;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
body.page-home .product-window-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 43px;
  padding: 0 15px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #2a2926;
}
body.page-home .product-window-bar > span { width: 8px; height: 8px; border-radius: 50%; background: #4b4943; }
body.page-home .product-window-bar > b { margin-left: auto; color: #8e8a82; font: 800 8px/1 var(--f-ui); letter-spacing: .12em; }
body.page-home .diagnostic-workspace { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(170px,.7fr); min-height: 350px; }
body.page-home .map-canvas { position: relative; min-height: 350px; background: radial-gradient(circle at 50% 45%,rgba(245,197,24,.09),transparent 35%), linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: auto,26px 26px,26px 26px; }
body.page-home .map-node {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 126px;
  min-height: 82px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  background: #2d2d29;
  box-shadow: 0 15px 30px rgba(0,0,0,.18);
}
body.page-home .map-node small { margin-bottom: 6px; color: #8c8982; font: 900 7px/1 var(--f-ui); letter-spacing: .12em; }
body.page-home .map-node strong { font: 800 13px/1.2 var(--f-ui); }
body.page-home .map-node em { margin-top: 8px; color: #b5b0a7; font: 800 10px/1 var(--f-ui); font-style: normal; }
body.page-home .map-node--mastered { left: 7%; top: 38%; border-color: rgba(92,210,148,.34); }
body.page-home .map-node--mastered small, body.page-home .map-node--mastered em { color: #69d89c; }
body.page-home .map-node--gap { left: 39%; top: 13%; border: 2px solid #f5c518; background: #39331b; transform: scale(1.06); }
body.page-home .map-node--gap small, body.page-home .map-node--gap em { color: #f5c518; }
body.page-home .map-node--next { right: 5%; bottom: 18%; opacity: .72; }
body.page-home .map-link { position: absolute; z-index: 1; height: 2px; transform-origin: left center; background: linear-gradient(90deg,#5cd294,#f5c518); }
body.page-home .map-link--a { left: 29%; top: 50%; width: 112px; transform: rotate(-28deg); }
body.page-home .map-link--b { left: 60%; top: 37%; width: 138px; transform: rotate(37deg); background: linear-gradient(90deg,#f5c518,#5b5a55); }
body.page-home .map-insight { display: flex; flex-direction: column; justify-content: center; padding: 25px; border-left: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }
body.page-home .map-pulse { width: 13px; height: 13px; margin-bottom: 22px; border: 3px solid #f5c518; border-radius: 50%; box-shadow: 0 0 0 8px rgba(245,197,24,.1); }
body.page-home .map-insight > small { margin-bottom: 9px; color: #f5c518; font: 900 8px/1 var(--f-ui); letter-spacing: .12em; }
body.page-home .map-insight > strong { font: 800 18px/1.2 var(--f-ui); }
body.page-home .map-insight > p { margin: 10px 0 24px; color: #aaa69d; font-size: 12px; line-height: 1.5; }
body.page-home .map-insight > div { display: grid; gap: 7px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.08); }
body.page-home .map-insight > div span { color: #aaa69d; font-size: 10px; }
body.page-home .map-insight > div b { color: #f5c518; font-size: 11px; }

/* Syllabus-linked arcade interface */
body.page-home .arcade-ui {
  align-self: center;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(132,184,255,.18);
  border-radius: 18px;
  background: linear-gradient(145deg,#152b40,#101721);
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 0 60px rgba(50,139,231,.08);
}
body.page-home .arcade-top { display: flex; justify-content: space-between; color: #8bbfff; font: 900 9px/1 var(--f-ui); letter-spacing: .12em; }
body.page-home .arcade-top b { color: #f5c518; }
body.page-home .arcade-breadcrumb { margin: 17px 0; padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.05); color: #a7b7c8; font: 800 9px/1 var(--f-ui); letter-spacing: .08em; }
body.page-home .arcade-breadcrumb i { margin: 0 8px; color: #4e718f; font-style: normal; }
body.page-home .arcade-assignment { display: grid; grid-template-columns: minmax(170px,.8fr) minmax(170px,1fr); align-items: center; gap: 28px; padding: 22px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(8,16,25,.64); }
body.page-home .arcade-cabinet { position: relative; max-width: 190px; margin: auto; padding: 13px 13px 24px; border: 3px solid #4587c4; border-radius: 14px 14px 25px 25px; background: #245173; box-shadow: 8px 9px 0 #0b1017, 0 0 30px rgba(59,151,236,.22); transform: perspective(500px) rotateY(3deg); }
body.page-home .cabinet-screen { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 112px; border: 4px solid #0f2333; border-radius: 7px; background: radial-gradient(circle at center,#49366f,#16162b 72%); color: #fff; font: 900 21px/1 var(--f-ui); box-shadow: inset 0 0 25px rgba(137,96,255,.42); }
body.page-home .cabinet-screen b { color: #f5c518; }
body.page-home .cabinet-screen i { position: absolute; right: 8px; top: 8px; color: #63efaa; font: 900 9px/1 var(--f-ui); font-style: normal; }
body.page-home .cabinet-controls { position: relative; height: 34px; margin-top: 10px; }
body.page-home .cabinet-controls i { position: absolute; left: 24px; top: 2px; width: 8px; height: 22px; border-radius: 5px; background: #1a1a1a; transform: rotate(-12deg); }
body.page-home .cabinet-controls i::after { content: ''; position: absolute; left: -3px; top: -5px; width: 14px; height: 14px; border-radius: 50%; background: #f05b62; }
body.page-home .cabinet-controls b { position: absolute; right: 25px; top: 6px; width: 20px; height: 20px; border-radius: 50%; background: #f5c518; box-shadow: 26px 4px 0 #55d9d0; }
body.page-home .arcade-meta small { color: #68e0b2; font: 900 8px/1 var(--f-ui); letter-spacing: .12em; }
body.page-home .arcade-meta h4 { margin: 11px 0 5px; color: #fff; font: 800 23px/1.1 var(--f-ui); }
body.page-home .arcade-meta p { margin: 0 0 20px; color: #8fa3b6; font-size: 11px; }
body.page-home .arcade-progress { height: 7px; margin-bottom: 8px; overflow: hidden; border-radius: 99px; background: #263645; }
body.page-home .arcade-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#51dba9,#f5c518); }
body.page-home .arcade-meta > strong { color: #b8c7d5; font-size: 10px; }
body.page-home .arcade-path { display: flex; align-items: center; justify-content: center; margin-top: 22px; }
body.page-home .arcade-path span { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border: 1px solid #40576b; border-radius: 50%; color: #698197; font: 900 9px/1 var(--f-ui); }
body.page-home .arcade-path i { width: 10%; height: 2px; background: #33495d; }
body.page-home .arcade-path span.done { border-color: #56dcae; background: #173f3b; color: #70edbf; }
body.page-home .arcade-path span.current { border-color: #f5c518; background: #f5c518; color: #15202b; box-shadow: 0 0 0 6px rgba(245,197,24,.11); }

/* Math Lens camera + feedback interface */
body.page-home .lens-ui { display: grid; grid-template-columns: minmax(190px,.8fr) minmax(210px,1fr); align-items: center; gap: 19px; align-self: center; min-width: 0; }
body.page-home .lens-phone { padding: 12px; border: 7px solid #1a1a1a; border-radius: 28px; background: #1a1a1a; box-shadow: 0 24px 45px rgba(30,24,17,.2); transform: rotate(-2deg); }
body.page-home .lens-phone-top { display: flex; align-items: center; justify-content: space-between; height: 25px; color: #eee; font: 900 8px/1 var(--f-ui); letter-spacing: .1em; }
body.page-home .lens-phone-top span { width: 6px; height: 6px; border-radius: 50%; background: #f5c518; }
body.page-home .lens-phone-top i { width: 14px; height: 8px; border: 1px solid #777; border-radius: 2px; }
body.page-home .lens-paper { position: relative; display: flex; min-height: 280px; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border-radius: 13px; background: repeating-linear-gradient(#fdfbf5 0,#fdfbf5 27px,#d8e2ec 28px); color: #273348; }
body.page-home .lens-paper::after { content: ''; position: absolute; inset: 50% 9% auto; height: 1px; background: rgba(245,197,24,.9); box-shadow: 0 0 16px #f5c518; animation: bl-lens-scan 3.2s ease-in-out infinite; }
body.page-home .lens-paper small { margin-bottom: 20px; font: 700 18px/1 var(--f-display); transform: rotate(-2deg); }
body.page-home .lens-paper strong { color: #273348; font: 600 25px/1.45 var(--f-display); transform: rotate(1deg); }
body.page-home .lens-paper strong span { padding-top: 3px; border-top: 2px solid #273348; }
body.page-home .lens-paper em { margin-top: 28px; padding: 8px 12px; border-radius: 99px; background: #1a1a1a; color: #fff; font: 900 9px/1 var(--f-ui); font-style: normal; }
body.page-home .scan-corner { position: absolute; width: 26px; height: 26px; border-color: #f5c518; border-style: solid; }
body.page-home .scan-corner--tl { left: 18px; top: 18px; border-width: 3px 0 0 3px; }
body.page-home .scan-corner--tr { right: 18px; top: 18px; border-width: 3px 3px 0 0; }
body.page-home .scan-corner--bl { left: 18px; bottom: 18px; border-width: 0 0 3px 3px; }
body.page-home .scan-corner--br { right: 18px; bottom: 18px; border-width: 0 3px 3px 0; }
body.page-home .lens-result { padding: 24px; border: 1px solid rgba(26,26,26,.08); border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(30,24,17,.1); transform: translateX(-8px); }
body.page-home .lens-result-head { display: flex; align-items: center; gap: 9px; }
body.page-home .lens-result-head span { padding: 6px 7px; border-radius: 6px; background: #fff2bd; color: #725600; font: 900 8px/1 var(--f-ui); letter-spacing: .08em; }
body.page-home .lens-result-head b { color: #a36a00; font-size: 10px; }
body.page-home .lens-result h4 { margin: 20px 0 15px; font: 800 20px/1.2 var(--f-ui); }
body.page-home .lens-equation { display: flex; align-items: center; gap: 9px; padding: 14px; border-radius: 10px; background: #f5f2eb; font: 700 17px/1 var(--f-display); }
body.page-home .lens-equation i { color: #9b958b; font-style: normal; }
body.page-home .lens-equation strong { color: #168a58; }
body.page-home .lens-result p { color: #706b63; font-size: 12px; line-height: 1.5; }
body.page-home .lens-demo-prompt {
  width: 100%;
  min-height: 38px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(26,26,26,.18);
  border-radius: 8px;
  background: #f3efe7;
  color: #706b63;
  font: 900 9px/1 var(--f-ui);
  letter-spacing: .08em;
  text-transform: uppercase;
}
@keyframes bl-lens-scan { 0%,100% { transform: translateY(-90px); opacity: .35; } 50% { transform: translateY(90px); opacity: 1; } }

@media (hover: hover) and (pointer: fine) {
  body.page-home .product-tab:hover:not(.is-active) { background: rgba(255,255,255,.48); color: #39352f; transform: translateY(-1px); }
}

@media (max-width: 920px) {
  body.page-home .product-showcase-head { grid-template-columns: 1fr; gap: 18px; }
  body.page-home .product-showcase-head .section-sub { max-width: 650px; }
  body.page-home .platform-foundation { grid-template-columns: 1fr 1fr; }
  body.page-home .foundation-card:last-child { grid-column: 1 / -1; }
  body.page-home .product-panel { grid-template-columns: 1fr; min-height: 0; }
  body.page-home .product-copy { display: grid; grid-template-columns: 1fr auto; column-gap: 24px; }
  body.page-home .product-copy .product-chip, body.page-home .product-copy h3, body.page-home .product-copy > p { grid-column: 1 / -1; }
  body.page-home .product-copy .product-proof { margin-bottom: 0; }
  body.page-home .diagnostic-workspace { min-height: 320px; }
}

@media (max-width: 650px) {
  body.page-home .product-showcase { padding: 62px 18px; }
  body.page-home .product-showcase-head { margin-bottom: 28px; }
  body.page-home .product-showcase-head .section-title br { display: none; }
  body.page-home .platform-foundation { display: flex; margin-right: -18px; padding-right: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.page-home .platform-foundation::-webkit-scrollbar { display: none; }
  body.page-home .foundation-card,
  body.page-home .foundation-card:last-child { flex: 0 0 84%; grid-template-columns: minmax(120px,.8fr) 1fr; scroll-snap-align: start; }
  body.page-home .differentiator-intro { display: block; }
  body.page-home .differentiator-intro span { display: block; margin-bottom: 8px; }
  body.page-home .product-tabs { display: flex; margin-right: -18px; padding-right: 18px; overflow-x: auto; scroll-snap-type: x mandatory; border: 0; border-radius: 0; background: transparent; scrollbar-width: none; }
  body.page-home .product-tabs::-webkit-scrollbar { display: none; }
  body.page-home .product-tab { flex: 0 0 76%; min-height: 72px; border: 1px solid rgba(26,26,26,.09); background: #f3efe7; scroll-snap-align: start; }
  body.page-home .product-tab.is-active { border-color: rgba(26,26,26,.16); }
  body.page-home .product-panel { gap: 28px; padding: 27px 20px; border-radius: 22px; }
  body.page-home .product-copy { display: flex; }
  body.page-home .product-copy h3 { font-size: 32px; }
  body.page-home .product-copy > p { font-size: 14px; }
  body.page-home .product-proof { margin-bottom: 23px; }
  body.page-home .diagnostic-workspace { grid-template-columns: 1fr; min-height: 0; }
  body.page-home .map-canvas { min-height: 300px; }
  body.page-home .map-insight { border-top: 1px solid rgba(255,255,255,.08); border-left: 0; }
  body.page-home .arcade-assignment { grid-template-columns: 1fr; }
  body.page-home .arcade-cabinet { width: 170px; }
  body.page-home .lens-ui { grid-template-columns: 1fr; }
  body.page-home .lens-phone { width: min(240px,85%); margin: 0 auto; }
  body.page-home .lens-result { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .lens-paper::after { animation: none; }
}

/* ========================================================================== 
   Interaction language — actions look actionable; evidence cards stay static
   ========================================================================== */
body.page-home :is(a[href],button,summary) { cursor: pointer; }

body.page-home :is(a[href],button,summary):focus-visible {
  outline: 3px solid #f5c518;
  outline-offset: 3px;
}

body.page-home :is(
  .nav-cta,
  .hero-primary-cta,
  .product-action,
  .try-games-explore,
  .class-book-button,
  .final-cta .cta-btn-primary,
  .final-cta .cta-whatsapp-btn
) {
  box-shadow: 0 4px 0 rgba(26,26,26,.2), 0 10px 24px rgba(26,26,26,.1);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

body.page-home :is(.nav-link,.hero-secondary-cta,.try-games-book a,.footer-col a,.cta-proof-link) {
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  transition: color .18s ease, text-decoration-color .18s ease;
}

body.page-home .product-tab {
  position: relative;
  border: 1px solid rgba(26,26,26,.08);
  background: rgba(255,255,255,.42);
}
body.page-home .product-tab::after {
  content: '›';
  position: absolute;
  right: 15px;
  top: 50%;
  color: #987300;
  font: 900 20px/1 var(--f-ui);
  transform: translateY(-50%);
}
body.page-home .product-tab.is-active::after { content: '•'; color: #f5c518; }

body.page-home .curriculum-section .grade-pill {
  border: 1px solid rgba(26,26,26,.11);
  background: rgba(255,255,255,.72);
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
body.page-home .curriculum-section .grade-pill.active { border-color: #1a1a1a; }

body.page-home .try-game-card,
body.page-home .grade-game {
  position: relative;
  border-color: rgba(245,197,24,.34) !important;
  box-shadow: 0 4px 0 rgba(245,197,24,.2), 0 14px 30px rgba(0,0,0,.08);
}
body.page-home .try-game-cta,
body.page-home .grade-game-copy b {
  display: inline-flex;
  width: max-content;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid currentColor;
  border-radius: 999px;
}
body.page-home .try-games-explore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid #f5c518;
  border-radius: 999px;
  background: #f5c518;
  color: #1a1a1a;
  font: 900 12px/1 var(--f-ui);
  text-decoration: none;
}
body.page-home .try-games-book a {
  color: #f5c518;
  font-weight: 800;
}

body.page-home .teacher-details summary {
  padding: 11px 14px;
  border: 1px solid rgba(26,26,26,.13);
  border-radius: 10px;
  background: #f7f3eb;
}
body.page-home .teacher-details summary::after {
  content: '+';
  float: right;
  color: #8b6b00;
  font-size: 18px;
}
body.page-home .teacher-details[open] summary::after { content: '−'; }

body.page-home .compact-faq-list summary {
  margin: -8px -10px;
  padding: 8px 10px;
  border-radius: 9px;
  transition: background .18s ease, color .18s ease;
}

/* These are evidence or information cards, not links. */
body.page-home :is(.foundation-card,.testimonial-card,.unit-coverage li,.deck-mini-slides article) {
  cursor: default;
}
body.page-home .testimonial-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.page-home :is(
    .nav-cta,
    .hero-primary-cta,
    .product-action,
    .try-games-explore,
    .class-book-button,
    .final-cta .cta-btn-primary,
    .final-cta .cta-whatsapp-btn
  ):hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 0 rgba(26,26,26,.24), 0 14px 30px rgba(26,26,26,.16);
    filter: brightness(1.03);
  }
  body.page-home :is(.nav-link,.hero-secondary-cta,.try-games-book a,.footer-col a,.cta-proof-link):hover {
    text-decoration-color: currentColor;
  }
  body.page-home .product-tab:hover:not(.is-active),
  body.page-home .curriculum-section .grade-pill:hover:not(.active) {
    border-color: rgba(26,26,26,.28);
    background: #fff;
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(26,26,26,.08);
  }
  body.page-home :is(.try-game-card,.grade-game):hover {
    border-color: #f5c518 !important;
    transform: translateY(-4px);
    box-shadow: 0 2px 0 rgba(245,197,24,.35), 0 18px 38px rgba(0,0,0,.16);
  }
  body.page-home :is(.teacher-details summary,.compact-faq-list summary):hover {
    background: #fff2bd;
    color: #1a1a1a;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home :is(a[href],button,summary) { transition-duration: .01ms !important; }
}

/* Clear promise, real lesson evidence, and details on demand. */
body.page-home :is(.curriculum-section,.compact-teacher,.product-showcase,.try-games-section,.compact-faq) {
  padding-block: var(--home-section-space);
}
body.page-home .curriculum-section { background: var(--cream); }
body.page-home .hero-h1 { max-width: 850px; text-wrap: balance; }
body.page-home .hero-sub { max-width: 640px; }
body.page-home :is(.section-label,.hero-descriptor,.hero-value-pill,.teacher-coverage span,.class-featured-kicker,.deck-toolbar b,.deck-toolbar em,.deck-mini-slides small,.grade-game-copy small,.grade-game-visual > span,.grade-game-visual > i,.foundation-card small,.product-tab small,.differentiator-intro span,.try-game-cta,.try-games-note) {
  font-size: var(--home-label);
  line-height: 1.4;
}
body.page-home :is(.class-topic-note,.deck-mini-slides p,.grade-game-copy p,.teacher-proof-row span,.foundation-card strong) {
  font-size: var(--home-body);
  line-height: 1.55;
}
body.page-home :is(.class-experience-meta > h3,.product-copy h3) {
  font-family: var(--f-ui);
  font-weight: 800;
  line-height: 1.18;
}
body.page-home .deck-toolbar { flex-wrap: wrap; gap: 8px; }
body.page-home .deck-hero-slide { height: auto; aspect-ratio: 16 / 10; }
body.page-home .deck-hero-slide img { object-fit: contain; background: var(--cream); }
body.page-home .deck-hero-slide figcaption {
  inset: auto 0 0;
  padding: 8px 16px;
  background: var(--ink);
  font-size: var(--home-label);
}
body.page-home .deck-hero-slide figcaption b { display: none; }
body.page-home .deck-hero-slide::after { display: none; }
body.page-home .deck-mini-slides article { min-height: 0; padding: 16px; }
body.page-home .deck-mini-slides article:nth-child(2) { background: var(--ink); }
body.page-home .class-experience-meta { padding: 24px; gap: 8px; border: 0; box-shadow: var(--s1); }
body.page-home .class-experience-meta > h3 { font-size: clamp(24px,2.3vw,32px); }
body.page-home .class-book-button { margin-top: auto; font-size: var(--home-body); }
body.page-home .unit-coverage { padding: 16px; background: var(--cream); }
body.page-home .unit-coverage-head { margin: 0; min-height: 44px; gap: 16px; list-style: none; }
body.page-home .unit-coverage-head::-webkit-details-marker { display: none; }
body.page-home .unit-coverage-head span { font-size: var(--home-label); color: var(--ink); }
body.page-home .unit-coverage[open] .unit-coverage-head > span:last-child { transform: rotate(45deg); }
body.page-home .coverage-note { margin: 8px 0 16px; color: var(--body); font-size: var(--home-label); line-height: 1.6; }
body.page-home .unit-coverage ul { grid-template-columns: 1fr; gap: 8px; }
body.page-home .unit-coverage li { padding: 8px 8px 8px 32px; min-height: 0; border: 0; background: var(--white); color: var(--body); font-size: var(--home-label); line-height: 1.5; }
body.page-home .unit-coverage li::before { top: 11px; left: 8px; font-size: var(--home-label); color: var(--ink); }
body.page-home .grade-game { grid-template-columns: 104px minmax(0,1fr); }
body.page-home .grade-game-visual > i { max-width: none; }
body.page-home .compact-teacher-photo img { aspect-ratio: 16 / 10; object-fit: contain; object-position: center; background: var(--cream); }
body.page-home .teacher-proof-row { gap: 8px; }
body.page-home .teacher-proof-row span { background: var(--white); border: 0; padding: 16px; box-shadow: var(--s1); }
body.page-home .teacher-proof-row strong { font-size: var(--home-body); }
body.page-home .product-showcase-head { margin-bottom: 24px; }
body.page-home .platform-foundation { gap: 16px; }
body.page-home .foundation-card { box-shadow: var(--s1); }
body.page-home .foundation-card small { color: var(--body); }
body.page-home .product-panel { padding: 32px; }
body.page-home .product-copy h3 { font-size: clamp(24px,2.6vw,32px); }
body.page-home .product-tab { padding-right: 32px; }
body.page-home .games-controls { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 24px 0 16px; }
body.page-home .games-controls p { margin: 0; color: var(--white); font-size: var(--home-label); }
body.page-home .games-controls > div { display: flex; gap: 8px; flex-shrink: 0; }
body.page-home .games-arrow { width: 48px; height: 48px; border: 0; border-radius: var(--r-pill); background: var(--white); color: var(--ink); font: 800 24px/1 var(--f-ui); box-shadow: var(--s1); }
body.page-home .games-arrow:disabled { opacity: .4; cursor: default; }
body.page-home .try-games-grid {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  margin: 0;
  padding: 0 0 24px;
}
body.page-home .try-games-grid > li,
body.page-home .try-games-grid > li:first-child {
  flex: 0 0 calc((100% - 32px) / 3);
  min-width: 0;
  grid-column: auto;
  grid-row: auto;
  scroll-snap-align: start;
}
body.page-home .try-game-card { height: 100%; min-height: 0; }
body.page-home .try-games-grid .game-preview,
body.page-home .try-games-grid > li:first-child .game-preview { height: 176px; min-height: 0; }
body.page-home .try-games-grid .try-game-title { font-size: 18px; }
body.page-home .try-game-desc { font-size: var(--home-body); line-height: 1.5; }
body.page-home .try-games-explore { font-size: var(--home-body); }
body.page-home .game-preview--mental { align-content: center; gap: 8px; }
body.page-home .try-games-grid .game-preview { box-sizing: border-box; flex-shrink: 0; overflow: hidden; }
body.page-home .game-preview--mental { display: flex; align-items: center; justify-content: center; gap: 16px; }
body.page-home .game-preview--mental strong { font-family: var(--f-ui); font-size: 28px; }
body.page-home .game-preview--mental .mental-answer { position: static; transform: none; flex-shrink: 0; margin: 0; }
body.page-home .grade-game-visual { display: grid; place-items: center; min-height: 112px; padding: 16px; }
body.page-home .grade-game-visual > :is(span,i) { display: none; }
body.page-home .grade-game-visual > strong { position: static; margin: 0; font: 800 32px/1.2 var(--f-ui); }
body.page-home .try-games-footer { margin-top: 16px; }
body.page-home .parent-evidence {
  max-width: 1160px;
  margin: 0 auto;
  padding: var(--home-section-space) 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
body.page-home .parent-evidence .section-sub { max-width: 480px; }
body.page-home .parent-evidence-cards { display: grid; gap: 16px; }
body.page-home .parent-evidence-cards article { padding: 24px; border-radius: var(--r-card); background: var(--white); box-shadow: var(--s1); }
body.page-home .parent-evidence-cards h3 { margin: 0 0 8px; color: var(--ink); font: 800 17px/1.3 var(--f-ui); }
body.page-home .parent-evidence-cards p { margin: 0; color: var(--body); font-size: var(--home-body); line-height: 1.6; }
body.page-home:has(.form-card.is-open) .whatsapp-float { visibility: hidden; }

/* The concept map has actual vector paths, drawn in teaching order. */
body.page-home .diagnostic-ui .map-canvas { min-height: 320px; background: var(--ink); }
body.page-home .diagnostic-ui .map-node { width: 28%; min-height: 104px; padding: 8px; box-sizing: border-box; }
body.page-home .diagnostic-ui .map-node small,
body.page-home .diagnostic-ui .map-node em { font-size: var(--home-label); line-height: 1.4; }
body.page-home .diagnostic-ui .map-node--mastered { left: 3%; top: 53%; }
body.page-home .diagnostic-ui .map-node--gap { left: 32%; top: 8%; width: 36%; }
body.page-home .diagnostic-ui .map-node small { letter-spacing: .04em; }
body.page-home .diagnostic-ui .product-window-bar { height: auto; min-height: 48px; padding-block: 8px; }
body.page-home .diagnostic-ui .product-window-bar > b { font-size: var(--home-label); line-height: 1.4; letter-spacing: .04em; }
body.page-home .diagnostic-ui .map-node--next { right: 3%; bottom: 8%; }
body.page-home .map-connector-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
body.page-home .map-connector { fill: none; stroke: var(--yellow); stroke-width: 2; vector-effect: non-scaling-stroke; opacity: .7; }
body.page-home .lens-ui .lens-paper::after { animation-iteration-count: 1; animation-play-state: paused; }
body.page-home[data-home-motion="on"] .lens-ui[data-motion-visible="true"] .lens-paper::after { animation-play-state: running; }
body.page-home[data-home-motion] .gold-ticker:not([data-motion-visible="true"]) .gold-ticker-track,
body.page-home[data-home-motion] .hero-float-card:not([data-motion-visible="true"]) { animation-play-state: paused; }
body.page-home[data-home-motion="off"] * { animation-play-state: paused; }

body.page-home .compact-teacher { grid-template-columns: 1fr; gap: 0; }
body.page-home .compact-teacher-copy {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
  column-gap: 48px;
}
body.page-home .compact-teacher-copy > :not(.teacher-standards) { grid-column: 1; }
body.page-home .teacher-standards { grid-column: 2; grid-row: 1 / span 4; align-self: center; }
body.page-home .teacher-standards .teacher-proof-row { grid-template-columns: 1fr; margin: 0 0 16px; }
body.page-home .teacher-standards .teacher-proof-row span { padding: 16px; }
body.page-home .teacher-details summary { font-size: var(--home-label); line-height: 1.5; }
body.page-home .teacher-details ol { font-size: var(--home-body); line-height: 1.7; }
body.page-home .footer-grid { grid-template-columns: 1.3fr repeat(4,minmax(0,1fr)); gap: 24px; }
body.page-home .footer-grade-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 8px; }
body.page-home .footer-grade-links a { margin: 0; }
body.page-home :is(.footer-col-title,.footer-col a,.footer-tagline,.footer-address,.footer-hours,.footer-copy) { font-size: var(--home-label); line-height: 1.6; }

@media (max-width: 768px) {
  body.page-home { --home-section-space: 48px; }
  body.page-home .hero-value-strip { flex-wrap: wrap; }
  body.page-home .deck-mini-slides { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 8px; }
  body.page-home .deck-mini-slides article { flex: 0 0 90%; padding: 16px; scroll-snap-align: start; }
  body.page-home .deck-mini-slides small { margin-bottom: 8px; }
  body.page-home .deck-hero-slide { height: auto; aspect-ratio: 4 / 3; }
  body.page-home .class-experience-meta { display: flex; padding: 24px; }
  body.page-home .product-panel { padding: 24px; gap: 16px; }
  body.page-home .diagnostic-workspace { grid-template-columns: 1fr; }
  body.page-home .map-canvas { min-height: 240px; }
  body.page-home .map-insight { display: none; }
  body.page-home .arcade-assignment { grid-template-columns: 120px minmax(0,1fr); gap: 8px; }
  body.page-home .arcade-cabinet { width: 112px; }
  body.page-home .lens-ui { grid-template-columns: 1fr; }
  body.page-home .lens-phone { display: none; }
  body.page-home .try-games-grid > li,
  body.page-home .try-games-grid > li:first-child { flex-basis: 84%; }
  body.page-home .parent-evidence { grid-template-columns: 1fr; gap: 24px; }
  body.page-home .teacher-proof-row { flex-wrap: wrap; }
  body.page-home .compact-teacher-copy { display: block; }
  body.page-home .teacher-standards { margin-top: 24px; }
  body.page-home .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  body.page-home .footer-brand,
  body.page-home .footer-col:last-child { grid-column: 1 / -1; }
  body.page-home .whatsapp-float { bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
  body.page-home:has(.sticky-demo-btn--active) .whatsapp-float { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}

/* Approved game-inspired extension: product evidence, not decorative card grids. */
body.page-home {
  --home-teal: #258e88;
  --home-coral: #dc7059;
  --home-blue: #517bbe;
  --home-plum: #8c659f;
  --home-deep-plum: #37324f;
  --home-sky: #dceafb;
  --home-lavender: #ece4f5;
  --home-peach: #ffeacf;
  --home-mint: #b8e7c9;
  --home-section-space: 48px;
  --home-small-radius: 8px;
}
body.page-home .section-label { color: var(--home-deep-plum); letter-spacing: .08em; }
body.page-home .hero-h1 em { color: var(--home-deep-plum); }
body.page-home .hero-lead-headline { align-items: center; }
body.page-home .hero-lead { gap: 24px; }
body.page-home .hero-value-pill { background: transparent; box-shadow: none; border-radius: 0; padding-inline: 0; }
body.page-home .hero-value-pill::before { background: var(--home-teal); }
body.page-home .curriculum-section { background: var(--white); }
body.page-home .class-experience { gap: 32px; }
body.page-home .deck-preview { border-radius: var(--home-small-radius); box-shadow: none; background: var(--home-deep-plum); }
body.page-home .deck-mini-slides article,
body.page-home .deck-mini-slides article:nth-child(2) { background: transparent; border: 0; border-radius: 0; padding: 8px; }
body.page-home .deck-mini-slides small { color: var(--home-mint); }
body.page-home .deck-mini-slides p { color: var(--white); }
body.page-home .class-experience-meta { background: transparent; border-radius: 0; box-shadow: none; padding: 16px 0; }
body.page-home .class-featured-kicker { color: var(--home-deep-plum); }
body.page-home .unit-coverage { background: var(--home-sky); border-radius: var(--home-small-radius); }
body.page-home .grade-game { box-shadow: none; border-radius: var(--home-small-radius); }
body.page-home .compact-teacher { background: var(--cream); }
body.page-home .teacher-standards .teacher-proof-row span { position: relative; padding: 8px 8px 8px 24px; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
body.page-home .teacher-proof-row span::before { content: ''; position: absolute; left: 0; top: 12px; width: 4px; height: 24px; background: var(--home-teal); }
body.page-home .teacher-coverage span { border: 0; padding-inline: 0; margin-right: 8px; }
body.page-home .teacher-details summary { background: var(--home-peach); border-radius: var(--home-small-radius); }
body.page-home .product-showcase { background: var(--white); }
body.page-home .platform-foundation { grid-template-columns: .8fr 1fr 1fr; align-items: stretch; gap: 24px; margin-bottom: 24px; }
body.page-home .foundation-card { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.page-home .foundation-card--live { justify-content: center; padding: 16px; background: var(--home-peach); border-radius: var(--home-small-radius); }
body.page-home .foundation-card p { margin: 8px 0 0; font-size: var(--home-label); color: var(--body); }
body.page-home .foundation-card small { color: var(--home-deep-plum); }
body.page-home .product-tabs { background: transparent; border: 0; padding: 0; gap: 8px; }
body.page-home .product-tab { border-radius: var(--home-small-radius); box-shadow: none; background: var(--cream); }
body.page-home #product-tab-diagnostic.is-active { background: var(--home-sky); }
body.page-home #product-tab-arcade.is-active { background: var(--home-mint); }
body.page-home #product-tab-lens.is-active { background: var(--home-lavender); }
body.page-home .product-tab.is-active { box-shadow: inset 0 -3px var(--home-deep-plum); }
body.page-home .product-panel { border-radius: var(--home-small-radius); box-shadow: none; }
body.page-home .try-games-section { background: var(--home-deep-plum); }
body.page-home .try-games-section .section-label { color: var(--home-mint); }
body.page-home .try-game-card { background: transparent; border-radius: var(--home-small-radius); box-shadow: none; }
body.page-home .game-preview--mental { background: var(--home-mint); }
body.page-home .game-preview--grammar { background: var(--home-peach); }
body.page-home .game-preview--digits { background: var(--home-sky); }
body.page-home .game-preview--blaster { background: var(--home-lavender); }
body.page-home .parent-evidence { gap: 32px; }
@media (max-width: 860px) {
}
@media (min-width: 861px) {
  body.page-home .hero-lead { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 24px 40px; }
  body.page-home .hero-lead-headline { display: contents; }
  body.page-home .hero-descriptor { grid-column: 1 / -1; }
  body.page-home .hero-lead-headline .hero-h1 { grid-column: 1; grid-row: 2; font-size: clamp(40px,4vw,56px); }
  body.page-home .hero-lead-headline picture { grid-column: 2; grid-row: 2 / span 4; align-self: center; width: 100%; max-width: none; margin: 0; }
  body.page-home .hero-lead > :is(.hero-sub,.hero-actions,.hero-value-strip,.hero-pricing-note) { grid-column: 1; }
  body.page-home .hero-lead .hero-value-strip { flex-wrap: wrap; gap: 8px 16px; }
}
@media (max-width: 768px) {
  body.page-home { --home-section-space: 32px; }
  body.page-home .class-experience { gap: 16px; }
  body.page-home .class-experience-meta { padding: 8px 0; }
  body.page-home .platform-foundation { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-right: 0; padding-right: 0; overflow: visible; }
  body.page-home .platform-foundation .foundation-card:last-child { grid-column: auto; }
  body.page-home .foundation-card--live { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 24px; padding: 16px; }
  body.page-home .parent-evidence { gap: 16px; }
  body.page-home .teacher-standards { margin-top: 16px; }
}
@media (min-width: 651px) and (max-width: 860px) {
}

/* Preserve the original copy and imagery; vary presentation rather than content. */
/* Readability: darker ink on pale surfaces, solid light text on dark surfaces. */
body.page-home { --home-readable-teal: #116b66; --home-readable-blue: #315da3; --home-readable-plum: #684879; }
body.page-home .hero-descriptor { color: var(--body); }
body.page-home .hero-h1 em { background: none; -webkit-text-fill-color: var(--home-deep-plum); color: var(--home-deep-plum); }
body.page-home .grade-game-copy small { color: var(--home-deep-plum); }
body.page-home #grade-game-symbol { color: var(--ink); }
body.page-home .board-equation b { color: var(--home-readable-teal); }
body.page-home .portal-stats span,
body.page-home .diagnostic-ui .product-window-bar > b,
body.page-home .map-node--next small { color: var(--white); }
body.page-home :is(.try-games-note,.try-games-book,.footer-tagline,.footer-col-title,.footer-copy,.footer-address,.footer-hours) { color: var(--white); }
body.page-home .try-games-book a { color: var(--yellow); }
body.page-home .deck-toolbar { color: var(--white); }
body.page-home .deck-hero-slide img { background: var(--white); }
body.page-home #product-lens .product-chip { color: var(--home-readable-plum); }
body.page-home .lens-paper :is(small,strong,span) { color: var(--ink); }
body.page-home .lens-paper { background: var(--white); }
body.page-home .lens-equation :is(i,strong) { color: var(--home-readable-teal); }
body.page-home .arcade-breadcrumb i,
body.page-home .arcade-path span:not(.current):not(.done) { color: var(--white); }
body.page-home .deck-hero-slide img { box-sizing: border-box; padding-bottom: 32px; }
body.page-home .form-card { background: var(--white); }
body.page-home .form-card :is(.form-sub,.demo-form-step-hint,label,.form-submit-reassurance,.form-note,.form-privacy) { color: var(--body); }
body.page-home .hero-lead-headline picture { background: transparent; border-radius: var(--r-img); }
body.page-home .hero-lead-headline .hero-student-image { box-shadow: none; }
body.page-home .foundation-card--live { padding: 0; background: transparent; }
body.page-home .foundation-preview { flex-shrink: 0; }
body.page-home .foundation-card--board .foundation-preview { background: var(--home-peach); }
body.page-home .foundation-card--portal .foundation-preview { background: var(--home-deep-plum); }
body.page-home .parent-evidence-cards { gap: 0; padding: 8px 0 8px 24px; box-shadow: inset 4px 0 var(--home-teal); }
body.page-home .parent-evidence-cards article { padding: 16px 0; border-radius: 0; background: transparent; box-shadow: none; }
@media (max-width: 768px) {
  body.page-home .foundation-card--live { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  body.page-home .parent-evidence-cards { padding-left: 16px; }
}

/* Focused visual cleanup: benefits, unframed photo and readable maths tools. */
body.page-home .foundation-card--live .foundation-preview { height: 180px; background: var(--ink); }
body.page-home .live-badge { font-size: var(--home-label); padding: 4px 8px; border-radius: 4px; }
body.page-home .participant { top: 40px; background: var(--home-deep-plum); border-radius: 6px; }
body.page-home .participant--student { background: var(--home-readable-blue); }
body.page-home .participant::before { top: 22px; width: 24px; height: 24px; }
body.page-home .participant::after { bottom: 40px; height: 44px; width: 64px; }
body.page-home .participant b { bottom: 40px; left: 4px; right: 4px; padding: 4px; background: var(--ink); color: var(--white); border-radius: 4px; font-size: var(--home-label); line-height: 1.2; }
body.page-home .participant span { bottom: 6px; left: 8px; right: 4px; min-height: 30px; color: var(--white); font-size: var(--home-label); line-height: 1.2; }
body.page-home .foundation-card--portal .foundation-preview { height: 180px; }
body.page-home .portal-nav { font-size: var(--home-label); }
body.page-home .portal-next { padding: 8px; }
body.page-home .portal-next :is(small,b) { font-size: var(--home-label); line-height: 1.25; }
body.page-home .portal-stats { grid-template-columns: 1fr; gap: 4px; }
body.page-home .portal-stats span { padding: 4px 8px; font-size: var(--home-label); line-height: 1.25; background: transparent; }
body.page-home :is(.map-insight > p,.map-insight > div span,.map-insight > div b,.arcade-meta p,.arcade-meta > strong,.lens-result-head b,.lens-result p,.lens-demo-prompt) { font-size: var(--home-label); line-height: 1.5; }
body.page-home .product-panel { box-shadow: none; }
body.page-home .lens-result { box-shadow: none; transform: none; }
@media (max-width: 768px) {
  body.page-home .foundation-card--live { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
}
body.page-home .hero-value-pill {
  position: static; display: inline-flex; align-items: center; gap: 8px;
  padding: 4px 0; border: 0; background: transparent; box-shadow: none;
  color: var(--ink); font-weight: 700;
}
body.page-home .hero-value-pill::before {
  content: '✓'; position: static; display: grid; place-items: center;
  width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%;
  background: var(--home-mint); color: var(--home-readable-teal);
  font: 800 15px/1 var(--f-ui); box-shadow: none;
  margin-top: 0;
}
body.page-home .platform-foundation { margin-bottom: 8px; }
body.page-home .hero-value-pill:nth-child(2)::before { background: var(--home-sky); color: var(--home-readable-blue); }
body.page-home .hero-value-pill:nth-child(3)::before { background: var(--home-lavender); color: var(--home-readable-plum); }
body.page-home .foundation-card--board .foundation-preview { min-height: 144px; background: var(--home-peach); }
body.page-home .board-equation {
  display: flex; align-items: center; gap: 12px; top: 12px; left: 16px;
  color: var(--ink); font: 700 24px/1.1 var(--f-ui); transform: none;
  font-variant-numeric: lining-nums tabular-nums;
}
body.page-home .math-fraction { display: inline-grid; grid-template-rows: 1fr 1fr; text-align: center; min-width: 22px; }
body.page-home .math-fraction > span:first-child { padding-bottom: 2px; border-bottom: 2px solid currentColor; }
body.page-home .math-fraction > span:last-child { padding-top: 2px; }
body.page-home .fraction-bars { top: 74px; left: 16px; right: 16px; height: 24px; border-color: var(--ink); }
body.page-home .fraction-bars i { border-color: var(--ink); }
body.page-home .widget-tray { left: 16px; bottom: 8px; gap: 8px; }
body.page-home .widget-tray span { width: 32px; height: 28px; font: 800 18px/1 var(--f-ui); color: var(--ink); box-shadow: none; }
@media (max-width: 768px) {
  body.page-home .board-equation { left: 8px; gap: 8px; font-size: 22px; }
  body.page-home .fraction-bars { left: 8px; right: 8px; }
  body.page-home .widget-tray { left: 8px; gap: 6px; }
}

/* Layout-only polish: content and image assets intentionally unchanged. */
body.page-home .hero-h1 em { text-wrap: balance; }
body.page-home .diagram-enlarge { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; border-radius: 8px; color: var(--white); background: var(--home-deep-plum); font: 700 28px/1 var(--f-ui); cursor: zoom-in; }
body.page-home .diagram-dialog { width: min(1000px,94vw); max-height: 90dvh; box-sizing: border-box; padding: 16px; border: 0; border-radius: 8px; background: var(--white); color: var(--ink); }
body.page-home .diagram-dialog::backdrop { background: rgba(26,26,26,.8); }
body.page-home .diagram-dialog header { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 8px; }
body.page-home .diagram-dialog h2 { margin: 0; font: 800 18px/1.4 var(--f-ui); }
body.page-home .diagram-dialog button { width: 44px; height: 44px; border: 0; border-radius: 50%; color: var(--white); background: var(--ink); font-size: 28px; }
body.page-home .diagram-scroll { overflow: auto; max-height: 72dvh; }
body.page-home .diagram-scroll img { display: block; width: 100%; min-width: 760px; height: auto; }
body.page-home:has(.diagram-dialog[open]) { overflow: hidden; }
body.page-home:has(.diagram-dialog[open]) :is(.sticky-demo-btn,.whatsapp-float) { visibility: hidden; }
@media (min-width: 861px) {
  body.page-home .hero-lead-headline .hero-h1 { font-size: clamp(38px,3.5vw,50px); }
}
@media (max-width: 768px) {
  body.page-home:has(.sticky-demo-btn--active) .whatsapp-float { visibility: hidden; }
  body.page-home .motion-controls { display: grid; grid-template-columns: 1fr; margin-bottom: 0; }
  body.page-home .motion-controls > div { display: flex; gap: 8px; }
  body.page-home .motion-controls button { min-height: 44px; flex: 1; border-radius: 8px; }
}
body.page-home .hero-lead { gap: 20px 32px; }
body.page-home .hero-lead-headline .hero-student-image { max-width: none; max-height: 340px; margin: 0; }
body.page-home .hero-float-card { border-radius: var(--home-small-radius); animation: none; box-shadow: var(--s1); }
body.page-home .deck-preview { padding: 0; background: transparent; border-radius: 0; }
body.page-home .deck-toolbar { padding: 8px 0; color: var(--body); }
body.page-home .deck-toolbar > span { display: none; }
body.page-home .deck-toolbar em { color: var(--home-readable-teal); }
body.page-home .deck-hero-slide { background: var(--white); border-radius: 0; }
body.page-home .deck-hero-slide figcaption { background: var(--white); color: var(--body); padding-inline: 0; }
body.page-home .deck-mini-slides { gap: 16px; margin-top: 16px; }
body.page-home .deck-mini-slides article { padding: 0; }
body.page-home .deck-mini-slides small { color: var(--home-readable-plum); }
body.page-home .deck-mini-slides p { color: var(--body); }
body.page-home .platform-foundation { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; }
body.page-home .foundation-card .foundation-preview { height: 180px; min-height: 180px; border-radius: var(--home-small-radius); box-sizing: border-box; }
body.page-home .foundation-card { gap: 12px; }
body.page-home .foundation-card--board .fraction-bars { top: 88px; }
body.page-home .foundation-card--board .widget-tray { bottom: 16px; }
body.page-home .final-cta { padding-block: 48px; }
body.page-home .final-cta::before,
body.page-home .final-cta::after { display: none; }
body.page-home .final-cta .cta-title { margin-bottom: 16px; }
body.page-home .final-cta .cta-proof { margin-bottom: 24px; }
body.page-home .try-game-card { box-shadow: none; }
@media (min-width: 861px) {
  body.page-home .hero-lead { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); }
  body.page-home .hero-lead-headline picture { align-self: start; padding-top: 8px; }
}
@media (max-width: 768px) {
  body.page-home .hero-lead { gap: 20px; }
  body.page-home .hero-lead-headline { gap: 20px; }
  body.page-home .deck-mini-slides { margin-top: 8px; }
  body.page-home .platform-foundation { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  body.page-home .foundation-card--live { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
  body.page-home .product-showcase-head { gap: 16px; margin-bottom: 8px; }
  body.page-home .motion-controls { gap: 8px; }
  body.page-home .motion-controls > div { flex-wrap: nowrap; }
  body.page-home .motion-controls button { padding: 8px 12px; box-shadow: none; }
  body.page-home .product-tabs { gap: 8px; }
  body.page-home .product-tab { flex-basis: 68%; }
  body.page-home .final-cta { padding-block: 32px; }
  body.page-home .footer-col a { padding-block: 6px; }
  body.page-home .footer-grade-links { gap: 0 8px; }
  body.page-home .footer-brand-col { grid-column: 1 / -1; }
}

/* Contrast review: no spacing, content or image changes. */
body.page-home :is(a[href],button,summary,input,select,textarea):focus-visible {
  outline: 3px solid var(--home-readable-blue);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--white);
}
body.page-home :is(.lens-paper small,.lens-paper strong,.lens-equation) {
  font-family: var(--f-ui);
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0;
}
body.page-home .lens-paper :is(small,strong) { transform: none; }
body.page-home .lens-paper strong span { border-color: var(--ink); }
body.page-home .scan-corner { border-color: var(--home-readable-teal); }
body.page-home .lens-phone { box-shadow: none; }
