/* v220 layout + v231 approved curriculum CTA and consistent card spacing. */
html[data-theme] body.landing-shell .landing-page {
  --home-card-gap:18px;gap:var(--home-card-gap);
}
html[data-theme] body.landing-shell .landing-page > .landing-catalog {
  width: var(--home-desktop-width, min(1000px, calc(100% - 48px)));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}
html[data-theme] body.landing-shell .landing-catalog .landing-grades {
  width: 100%; max-width: none; margin: 0; padding: 0;
}
html[data-theme] body.landing-shell .landing-page .landing-actions {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%; gap: var(--home-card-gap); margin: 0; padding: 0;
}
html[data-theme] body.landing-shell .landing-page .landing-actions[data-home-actions="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html[data-theme] body.landing-shell .landing-page .landing-actions .landing-action {
  grid-column: auto; grid-row: auto; width: 100%; min-width: 0;
  height: auto; min-height: 166px; padding: 20px 12px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 7px; position: relative; overflow: hidden;
}
html[data-theme] body.landing-shell .landing-page .landing-actions .landing-action--curriculum {
  grid-column: 1 / -1; display: grid; grid-template-columns: 120px minmax(0, 1fr);
  direction: rtl; min-height: 210px; padding: 28px; gap: 22px 24px;overflow:visible;
  background: linear-gradient(270deg, color-mix(in srgb, #629cff 12%, var(--bg)), var(--bg) 70%);
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__identity {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; min-width: 0; align-self: stretch;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__guidance {
  display: flex; flex-direction: column; justify-content: center; gap: 8px;
  padding-inline: 26px 8px; border-inline-start: 1px solid var(--line);
  text-align: start; min-width: 0; overflow-wrap: anywhere;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__guidance > strong {
  font-size: 23px; line-height: 1.5; color: var(--text);
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__guidance > span {
  font-size: 17px; line-height: 1.9; color: var(--muted);
}
html[data-theme] body.landing-shell .landing-page .landing-action--curriculum .landing-action__icon {
  position:static;inset:auto;margin:0;width:54px;height:54px;min-width:54px;min-height:54px;
  flex-basis:54px;border:1px solid color-mix(in srgb,var(--home-soft-light) 85%,#2467f4);border-radius:16px;
  background:linear-gradient(145deg,var(--home-soft-light),var(--bg) 52%,color-mix(in srgb,#629cff 12%,var(--bg)));
  color:#2467f4;transform:rotate(-6deg);
  box-shadow:0 4px 0 color-mix(in srgb,#2467f4 20%,var(--line)),0 8px 12px var(--home-soft-shadow),inset 0 2px 3px var(--home-soft-light);
}
html[data-theme] body.landing-shell .landing-page .landing-action--curriculum .landing-action__icon svg {
  width:30px;height:30px;stroke:currentColor;stroke-width:2.3;transform:rotate(6deg);
  filter:drop-shadow(0 2px 0 #2467f42e);
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta {
  grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;
  box-sizing:border-box;width:100%;min-width:0;min-height:60px;padding:9px 12px 11px;
  border:1px solid #ffffff30;border-radius:15px;background:linear-gradient(130deg,#2467f4,#1549bb);
  box-shadow:0 5px 0 #1549bb,0 8px 14px #2467f438,inset 0 1px 1px #ffffff66;
  color:#fff;text-align:right;transition:transform .15s ease,box-shadow .15s ease;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta-label {
  display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;flex:0 0 auto;
  width:max-content;min-width:0;min-height:28px;gap:2px;font-size:16px;font-weight:750;line-height:1.5;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta-text {
  display:block;width:auto;margin:0;white-space:nowrap;line-height:1.5;color:inherit;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta-book {
  display:flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:24px;
  margin:0;padding:0;line-height:0;color:inherit;filter:drop-shadow(0 2px 1px #07317c77);
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta-book svg {
  display:block;flex:none;width:22px;height:22px;margin:0;stroke:currentColor;stroke-width:3.2;
  stroke-linecap:round;stroke-linejoin:round;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta-arrow {
  display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;
  border:1px solid #ffffffb3;border-radius:50%;background:linear-gradient(145deg,#fff 10%,#edf5ff 48%,#c1dbff);
  box-shadow:0 3px 0 #1d55ba,0 6px 9px #0d38875c,inset 0 2px 2px #fff,inset 0 -2px 3px #6c9de633;
  color:#174ba8;direction:ltr;transition:transform .15s ease,box-shadow .15s ease;
}
html[data-theme] body.landing-shell .landing-page .home-curriculum__cta-arrow svg {
  display:block;flex:none;width:22px;height:22px;margin:0;stroke:currentColor;stroke-width:3;
  stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 #fff);
}
html[data-theme] body.landing-shell .landing-action--curriculum:active .home-curriculum__cta {
  transform:translateY(3px);box-shadow:0 2px 0 #1549bb,inset 0 2px 5px #0002;
}
html[data-theme] body.landing-shell .landing-page>.home-podium {
  width:var(--home-desktop-width,min(1000px,calc(100% - 48px)));max-width:none;margin:0 auto;
}
@media(min-width:981px) {
  html[data-theme] body.landing-shell .landing-page .landing-actions .landing-action--curriculum {
    grid-template-columns:120px minmax(0,1fr) 238px;min-height:172px;
  }
  html[data-theme] body.landing-shell .landing-page .home-curriculum__cta { grid-column:auto; }
}
html[data-theme] body.landing-shell .landing-page .landing-action__copy {
  position: static; transform: none; display: flex; flex-direction: column;
  align-items: center; gap: 3px; min-width: 0;
}
html[data-theme] body.landing-shell .landing-page .landing-action__copy strong { font-size: 23px; }
html[data-theme] body.landing-shell .landing-page .landing-action__copy small { font-size: 13px; }
html[data-theme] body.landing-shell .landing-page .landing-action>.landing-action__free {
  position: absolute; top: 10px; left: 12px; right: auto; font-size: 10px;
}
html[data-theme] body.landing-shell .landing-page .landing-action--game .landing-action__icon--game {
  position: relative; inset: auto; width: min(100%, 180px); height: 78px;
  min-height: 0; margin: 0; display: block;
}
html[data-theme] body.landing-shell .landing-page .landing-action--game .landing-action__icon--game img {
  position: static; width: 100%; height: 100%; object-fit: contain;
}
html[data-theme] body.landing-shell .landing-page .landing-action--game>.landing-game-live {
  top: 12px; right: 12px; width: 8px; height: 8px;
}
/* The text stays inside the green surface, away from the frame and students. */
body.landing-shell .home-board {
  position: absolute; left: 27.5%; top: 9.5%; width: 46%; height: 34%;
  box-sizing: border-box; padding: 10px 14px; overflow: auto;
  color: #fff8dc; text-align: center; scrollbar-width: thin;
  scrollbar-color: #f3ddb57a transparent; overscroll-behavior: contain;
  font-family: system-ui, sans-serif; text-shadow: 0 1px 2px #001f20;
}
body.landing-shell .home-board:focus-visible { outline: 2px solid #ffe29c; outline-offset: -3px; }
body.landing-shell .home-board.has-overflow { mask-image: linear-gradient(#000 calc(100% - 10px), transparent); }
body.landing-shell .home-board .home-board__title {
  color: #ffe29c; font-size: clamp(15px, 2.6vw, 28px); font-weight: 800;
  line-height: 1.35; margin: 0 0 10px; overflow-wrap: anywhere;
}
body.landing-shell .home-board .home-board__body {
  color: #fff8eb; font-size: clamp(11px, 1.7vw, 18px); font-weight: 600;
  line-height: 1.65; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  html[data-theme] body.landing-shell .landing-page { --home-card-gap:14px; }
  html[data-theme] body.landing-shell .landing-page > .landing-catalog { width: min(440px, calc(100% - 24px)); }
  html[data-theme] body.landing-shell .landing-page .landing-actions { gap: var(--home-card-gap); }
  html[data-theme] body.landing-shell .landing-page .landing-actions .landing-action { min-height: 142px; padding: 29px 5px 12px; gap: 5px; border-radius: 17px; }
  html[data-theme] body.landing-shell .landing-page .landing-actions .landing-action--curriculum { grid-template-columns: 86px minmax(0, 1fr); min-height: 230px; padding: 28px 12px 20px; gap: 14px 12px; }
  html[data-theme] body.landing-shell .landing-page .home-curriculum__guidance { padding-inline: 12px 0; gap: 5px; }
  html[data-theme] body.landing-shell .landing-page .home-curriculum__guidance > strong { font-size: 16px; }
  html[data-theme] body.landing-shell .landing-page .home-curriculum__guidance > span { font-size: 13px; line-height: 1.8; }
  html[data-theme] body.landing-shell .landing-page .landing-action__copy strong { font-size: 17px; }
  html[data-theme] body.landing-shell .landing-page .landing-action__copy small { font-size: 11px; }
  html[data-theme] body.landing-shell .landing-page .landing-action>.landing-action__free { font-size: 8px; left: 7px; top: 9px; }
  html[data-theme] body.landing-shell .landing-page .landing-action--game .landing-action__icon--game { height: 49px; width: 100%; }
  html[data-theme] body.landing-shell .landing-page .landing-action--game>.landing-game-live { width: 6px; height: 6px; right: 9px; top: 12px; }
  html[data-theme] body.landing-shell .landing-page>.home-podium { width:min(440px,calc(100% - 24px)); }
  body.landing-shell .home-board { padding: 4px 5px; }
  body.landing-shell .home-board .home-board__title { font-size: 14px; margin-bottom: 4px; }
  body.landing-shell .home-board .home-board__body { font-size: 11px; line-height: 1.55; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme] body.landing-shell .landing-page :is(.home-curriculum__cta,.home-curriculum__cta-arrow) { transition:none; }
}
@media print {
  body.landing-shell .home-board { position: static; width: auto; height: auto; overflow: visible; color: #111; text-shadow: none; }
  body.landing-shell .home-board :is(.home-board__title,.home-board__body) { color: #111; }
}
