:root {
  --ink: #1a1033;
  --ink-2: #2d1b5e;
  --muted: #667085;
  --blue: #74b9ee;
  --blue-light: #eaf7ff;
  --violet: #a78bfa;
  --violet-light: #f3efff;
  --pink: #f472b6;
  --pink-light: #fff0ef;
  --cream: #fff7ea;
  --green-light: #edf8ef;
  --white: #fff;
  --line: rgba(26, 16, 51, .09);
  --shadow: 0 24px 70px rgba(26, 16, 51, .10);
  --soft-shadow: 0 14px 40px rgba(26, 16, 51, .08);
  --gradient: linear-gradient(135deg, #74b9ee, #a78bfa 64%, #f472b6);
  --text-gradient: linear-gradient(110deg, #589fe8 0%, #7889ed 42%, #a779e7 72%, #dd77b4 100%);
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fbfbff;
  color: var(--ink);
  font-family: Inter, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.modal-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.svg-sprite { width: 0; height: 0; position: absolute; overflow: hidden; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.section-pad { position: relative; padding: 78px 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  backdrop-filter: blur(20px);
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(26,16,51,.06);
}
.header-inner { min-height: 78px; display: flex; align-items: center; gap: 28px; }
.brand { width: 205px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.header-nav { display: flex; gap: 26px; margin-left: auto; }
.header-nav a { color: var(--muted); font-size: 14px; font-weight: 600; transition: .2s ease; }
.header-nav a:hover { color: var(--ink); }
.header-button {
  padding: 12px 20px;
  border-radius: 999px;
  color: var(--ink-2);
  font-size: 14px;
  font-weight: 700;
  border: 1px solid rgba(167,139,250,.36);
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 20px rgba(167,139,250,.10);
}

.hero-section {
  min-height: calc(100vh - 78px);
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 7% 8%, rgba(191,229,255,.58), transparent 28%),
    radial-gradient(circle at 96% 25%, rgba(243,239,255,.96), transparent 31%),
    linear-gradient(180deg, #fff, #faf9ff);
  overflow: hidden;
}
.hero-section::after {
  content: "";
  position: absolute;
  inset: 28px;
  border-radius: 46px;
  border: 1px solid rgba(167,139,250,.10);
  pointer-events: none;
}
.hero-glow { position: absolute; border-radius: 50%; filter: blur(5px); opacity: .7; }
.hero-glow-one { width: 300px; height: 300px; background: rgba(116,185,238,.18); left: -90px; bottom: 40px; }
.hero-glow-two { width: 420px; height: 420px; background: rgba(244,114,182,.10); right: -150px; top: 90px; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .78fr 1.22fr; gap: 54px; align-items: center; }
.hero-copy { position: relative; min-width: 0; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 15px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(191,229,255,.82), rgba(243,239,255,.92));
  color: #6651a8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.eyebrow > span { width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg,#a78bfa,#f472b6); box-shadow: 0 0 12px rgba(244,114,182,.7); }
.eyebrow.light { color: rgba(255,255,255,.86); background: rgba(255,255,255,.12); }
.hero-copy h1 {
  margin: 24px 0 18px;
  font-family: Manrope, sans-serif;
  font-size: clamp(44px, 4.6vw, 72px);
  line-height: 1.02;
  letter-spacing: -.048em;
  font-weight: 800;
}
.hero-copy h1 em, .section-heading h2 em {
  font-style: normal;
  background: var(--text-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-lead { margin: 0 0 24px; max-width: 560px; color: var(--muted); font-size: 17px; line-height: 1.7; }

.form-card {
  position: relative;
  z-index: 1;
  padding: 22px;
  border-radius: 30px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: var(--shadow);
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.field { display: grid; gap: 6px; min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.field > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.field input, .field select {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid rgba(26,16,51,.09);
  background: #fff;
  color: var(--ink);
  outline: none;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.field input:focus, .field select:focus { border-color: rgba(116,185,238,.9); box-shadow: 0 0 0 4px rgba(116,185,238,.13); transform: translateY(-1px); }
.field input::placeholder { color: #a1a6b1; }
.field small { min-height: 0; color: #d74461; font-size: 11px; line-height: 1.2; }
.field.invalid input, .field.invalid select { border-color: #e86c7e; background: #fff8fa; }
.consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; margin: 15px 0 4px; color: #747080; font-size: 12px; line-height: 1.45; cursor: pointer; }
.consent input { position: absolute; opacity: 0; pointer-events: none; }
.consent-box { width: 20px; height: 20px; border-radius: 7px; background: #fff; border: 1px solid rgba(26,16,51,.16); display: grid; place-items: center; }
.consent input:checked + .consent-box { background: var(--gradient); border-color: transparent; }
.consent input:checked + .consent-box::after { content: "✓"; color: #fff; font-weight: 900; font-size: 13px; }
.inline-link { border: 0; padding: 0; color: #735ede; background: none; cursor: pointer; text-decoration: underline; }
.consent-message { color: #d74461; font-size: 11px; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.primary-button, .secondary-button {
  min-height: 54px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 26px;
  font-weight: 800;
  font-size: 15px;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, opacity .2s;
}
.primary-button { border: 0; color: #fff; background: var(--gradient); box-shadow: 0 15px 35px rgba(167,139,250,.34); }
.primary-button:hover, .secondary-button:hover { transform: translateY(-3px); }
.primary-button:disabled { opacity: .55; cursor: wait; transform: none; }
.secondary-button { border: 1.5px solid rgba(116,185,238,.36); color: var(--ink-2); background: rgba(255,255,255,.9); }
.spin-submit { width: 100%; margin-top: 10px; }
.form-note { margin-top: 14px; padding: 12px 14px; border-radius: 15px; background: linear-gradient(135deg, var(--blue-light), var(--violet-light)); color: #6c6590; font-size: 12px; line-height: 1.5; }
.form-status { min-height: 20px; margin-top: 8px; font-size: 13px; line-height: 1.45; }
.form-status.error { color: #c93c59; }
.form-status.success { color: #2b8560; }

.hero-bear-peek {
  position: absolute;
  left: -170px;
  bottom: 22px;
  width: 255px;
  z-index: 0;
  filter: drop-shadow(0 18px 24px rgba(26,16,51,.14));
  pointer-events: none;
  user-select: none;
}

.hero-game { position: relative; min-width: 0; padding-top: 14px; }
.wheel-wrap { --wheel-size: min(46vw, 570px); position: relative; width: var(--wheel-size); height: var(--wheel-size); margin: 0 auto; isolation:isolate; }
.wheel-shadow { position: absolute; z-index:0; width: 78%; height: 10%; left: 11%; bottom: 1%; border-radius: 50%; background: rgba(32,58,128,.22); filter: blur(18px); }
.wheel-frame-art { position:absolute; z-index:4; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; filter:drop-shadow(0 24px 30px rgba(32,58,128,.18)); }
.wheel-sparkles-art { position:absolute; z-index:1; inset:-4%; width:108%; height:108%; object-fit:contain; pointer-events:none; user-select:none; opacity:.72; animation:wheel-glow 3.6s ease-in-out infinite alternate; }
.wheel-pointer-art { position:absolute; z-index:8; left:50%; top:-1.5%; width:15%; height:auto; transform:translateX(-50%); pointer-events:none; user-select:none; filter:drop-shadow(0 8px 8px rgba(29,35,89,.28)); }
.wheel-rotor-position { position:absolute; z-index:2; left:12%; top:4%; width:76%; aspect-ratio:1; }
.wheel-rotor {
  position: relative; width:100%; height:100%; border-radius:50%;
  transform: rotate(0deg);
  will-change: transform;
}
.wheel-rotor-art { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; }
.wheel-marker { position: absolute; z-index: 2; left: 50%; top: 50%; width:19%; height:19%; margin:-9.5%; transform: rotate(var(--slot-angle)) translateY(-145%); transform-origin: 50% 50%; }
.marker-upright { width: 100%; height: 100%; display: grid; justify-items: center; align-content: center; gap: 1px; transform: rotate(var(--upright-angle)); transform-origin: center; will-change: transform; }
.marker-upright strong { font-family:Manrope,sans-serif; font-size:clamp(12px,1.45vw,20px); line-height:1.05; color:#fff; text-align:center; text-shadow:0 2px 6px rgba(13,34,91,.78),0 0 2px #173d91; font-weight:900; letter-spacing:-.04em; }
.wheel-marker-long .marker-upright strong { font-size:clamp(9px,1.1vw,15px); }
@keyframes wheel-glow { from { opacity:.48; transform:scale(.985) rotate(-1deg); } to { opacity:.82; transform:scale(1.015) rotate(1deg); } }
.prizes-section { background:linear-gradient(180deg,#fff,#f7f5ff); }
.prizes-heading { max-width:900px; margin:0 auto; text-align:center; }
.prize-gallery { margin-top:32px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.prize-zoom { position:relative; display:block; padding:0; border:0; border-radius:22px; overflow:hidden; background:#fff; box-shadow:var(--soft-shadow); cursor:zoom-in; text-align:inherit; }
.prize-zoom img { display:block; width:100%; aspect-ratio:2/1; object-fit:cover; border-radius:22px; border:1px solid rgba(26,16,51,.06); background:#fff; transition:transform .22s ease,filter .22s ease; }
.prize-zoom span { position:absolute; right:14px; bottom:14px; padding:8px 12px; border-radius:999px; color:#fff; background:rgba(26,16,51,.78); backdrop-filter:blur(8px); font:700 11px Manrope; opacity:0; transform:translateY(5px); transition:.2s ease; pointer-events:none; }
.prize-zoom:hover img,.prize-zoom:focus-visible img { transform:scale(1.018); filter:brightness(.94); }
.prize-zoom:hover span,.prize-zoom:focus-visible span { opacity:1; transform:none; }
.prize-zoom:focus-visible { outline:3px solid rgba(116,185,238,.7); outline-offset:4px; }
.prize-disclaimer { margin:13px 8px 0; color:var(--muted); font-size:11px; line-height:1.5; text-align:center; }
.floating-badge { position: absolute; z-index: 3; display: grid; place-items: center; width: 62px; aspect-ratio: 1; border-radius: 22px; font-size: 31px; transform: rotate(-8deg); box-shadow: var(--soft-shadow); }
.badge-heart {
  left: -48px;
  top: 15%;
  color: #fff;
  background: linear-gradient(145deg,#ff9aaa,#f36d88);
}
.badge-star { right: 2%; top: 28%; color: #fff1a6; background: linear-gradient(145deg,#ac92ff,#7d6fe6); transform: rotate(9deg); }
.decor-img { position: absolute; pointer-events: none; user-select: none; }
.decor-books, .decor-teddy { display:none; }

.teacher-panel { padding: clamp(28px,4vw,54px); border-radius: 46px; background: radial-gradient(circle at 100% 0,rgba(243,239,255,.96),transparent 35%), linear-gradient(135deg,#fff,#faf9ff); box-shadow: var(--shadow); display: grid; grid-template-columns: .9fr 1.15fr .55fr; gap: 40px; align-items: center; }
.teacher-visual { position: relative; }
.teacher-visual > img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 34px; box-shadow: 0 22px 45px rgba(26,16,51,.16); }
.abc-blocks { position: absolute; left: -12px; bottom: -20px; display: flex; gap: 7px; }
.abc-blocks span { width: 54px; height: 54px; border-radius: 14px; color: #fff; display: grid; place-items: center; font: 800 27px Manrope; box-shadow: 0 10px 20px rgba(26,16,51,.18); }
.abc-blocks span:nth-child(1){background:#f472b6;transform:rotate(-6deg)}.abc-blocks span:nth-child(2){background:#74b9ee;transform:rotate(3deg)}.abc-blocks span:nth-child(3){background:#f7bf43;transform:rotate(-2deg)}
.teacher-copy h2, .section-heading h2, .consultation-copy h2 { margin: 17px 0 13px; font-family: Manrope,sans-serif; font-size: clamp(32px,3.6vw,48px); line-height: 1.12; letter-spacing: -.04em; }
.teacher-copy h3 { margin: 0 0 15px; font: 800 clamp(18px,2vw,25px)/1.35 Manrope; background: var(--text-gradient); -webkit-background-clip:text; color:transparent; }
.teacher-copy p, .section-heading p { color: var(--muted); line-height: 1.7; font-size: 16px; }
.check-list { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 11px; }
.check-list li { position: relative; padding-left: 29px; color: #4e4563; font-size: 14px; line-height: 1.45; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:900; background:var(--gradient); }
.teacher-facts { padding: 20px; border-radius: 28px; background: rgba(255,255,255,.92); box-shadow: var(--soft-shadow); display: grid; gap: 13px; }
.teacher-facts div { padding: 13px; border-radius: 18px; background: linear-gradient(135deg,var(--blue-light),#fff); }
.teacher-facts strong { display:block; font-family: Manrope; font-size: 16px; }
.teacher-facts span { display:block; margin-top:3px; color:var(--muted); font-size:12px; line-height:1.35; }

.section-soft { background: linear-gradient(180deg,#fbfbff,#f7f5ff); }
.section-heading { max-width: 930px; }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading.small-heading { max-width: 760px; }
.section-heading p { margin: 0; }
.support-layout { margin-top:36px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:stretch; }
.support-visual { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:34px; box-shadow:var(--shadow); background:#fff; }
.support-visual img { display:block; width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center; }
.support-visual figcaption { position:absolute; left:20px; right:20px; bottom:20px; padding:16px 18px; border-radius:20px; background:rgba(255,255,255,.9); box-shadow:0 12px 32px rgba(26,16,51,.14); backdrop-filter:blur(10px); }
.support-visual figcaption b, .support-visual figcaption span { display:block; }
.support-visual figcaption b { font:800 16px/1.3 Manrope; color:var(--ink); }
.support-visual figcaption span { margin-top:4px; color:var(--muted); font-size:12px; }
.benefit-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.benefit-grid article, .kids-grid article { padding:26px; border-radius:27px; background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.9); box-shadow:var(--soft-shadow); }
.benefit-grid article { display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; align-items:start; }
.benefit-grid article:nth-child(2){background:linear-gradient(135deg,var(--cream),#fff)}
.benefit-grid article:nth-child(3){background:linear-gradient(135deg,var(--green-light),#fff)}
.feature-icon, .kids-grid article > span { width: 54px; height: 54px; border-radius: 18px; display:grid; place-items:center; font-size:25px; background:#fff; box-shadow:0 8px 20px rgba(33,19,68,.07); }
.benefit-grid h3 { margin:2px 0 8px; font:800 19px/1.3 Manrope; }
.kids-grid h3 { margin:17px 0 9px; font:800 19px/1.3 Manrope; }
.benefit-grid p, .kids-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.62; }
.benefit-slider-controls { display:none; }
.facts-bar { margin-top: 22px; padding: 17px 19px; border-radius: 28px; display: grid; grid-template-columns: repeat(4,1fr) auto; gap: 15px; align-items:center; background:#fff; box-shadow:var(--soft-shadow); }
.facts-bar span { color:var(--muted); font-size:12px; line-height:1.4; padding-left:14px; border-left:3px solid rgba(167,139,250,.35); }
.facts-bar b { display:block; color:var(--ink); font-size:13px; }
.primary-button.compact { min-height:48px; padding-inline:21px; font-size:13px; }

.lesson-layout { display:grid; grid-template-columns: minmax(0,1fr) 330px; gap:28px; align-items:start; }
.steps-grid { margin-top:30px; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.steps-grid article { position:relative; min-height:205px; padding:23px 18px 19px; border-radius:25px; background:#fff; border:1px solid var(--line); box-shadow:var(--soft-shadow); }
.steps-grid b { width:39px; height:39px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,var(--blue-light),var(--violet-light)); color:#735ede; font:800 13px Manrope; }
.steps-grid h3 { margin:16px 0 9px; font:800 15px/1.35 Manrope; }
.steps-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.lesson-note { margin-top:16px; padding:14px 18px; border-radius:18px; background:var(--cream); color:#755f42; font-size:13px; }
.lesson-button { margin-top:20px; }
.lesson-tools { position:sticky; top:108px; padding:24px; border-radius:32px; background:linear-gradient(145deg,#fff,var(--violet-light)); box-shadow:var(--shadow); }
.lesson-tools img { width:180px; margin:-55px auto 3px; }
.lesson-tools h3 { margin:0 0 16px; font:800 21px Manrope; }
.lesson-tools ul { list-style:none; padding:0; margin:0; display:grid; gap:11px; }
.lesson-tools li { position:relative; padding-left:24px; color:#554c68; font-size:13px; line-height:1.42; }
.lesson-tools li::before { content:"✓"; position:absolute; left:0; color:#8b72ea; font-weight:900; }

.kids-section { padding-top: 34px; }
.kids-grid { margin-top:30px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.kids-grid article:nth-child(1){background:linear-gradient(135deg,var(--blue-light),#fff)}
.kids-grid article:nth-child(2){background:linear-gradient(135deg,var(--pink-light),#fff)}
.kids-grid article:nth-child(3){background:linear-gradient(135deg,var(--cream),#fff)}
.kids-grid article:nth-child(4){background:linear-gradient(135deg,var(--green-light),#fff)}

.rules-section { background:linear-gradient(180deg,#f7f5ff,#fbfbff); }
.rules-panel { width:100%; padding:clamp(28px,5vw,58px); border-radius:44px; background:#fff; box-shadow:var(--shadow); }
.rules-panel .section-heading { max-width:820px; }
.rules-list { list-style:none; counter-reset:rule; padding:0; margin:32px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rules-list li { counter-increment:rule; position:relative; min-height:126px; padding:22px 22px 20px 72px; border-radius:24px; background:linear-gradient(135deg,var(--blue-light),#fff); border:1px solid rgba(26,16,51,.05); }
.rules-list li:nth-child(even) { background:linear-gradient(135deg,var(--violet-light),#fff); }
.rules-list li::before { content:counter(rule); position:absolute; left:20px; top:21px; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--gradient); font:800 14px Manrope; }
.rules-list b { display:block; margin-bottom:7px; font:800 16px/1.3 Manrope; color:var(--ink); }
.rules-list span { display:block; color:var(--muted); font-size:13px; line-height:1.55; }
.rules-actions { display:flex; justify-content:center; margin-top:24px; }
.rules-actions .secondary-button { min-width:min(100%,310px); }

.consultation-panel { position:relative; overflow:hidden; padding:clamp(30px,5vw,58px); border-radius:44px; background: radial-gradient(circle at 100% 0,rgba(167,139,250,.3),transparent 40%), linear-gradient(135deg,#1a1033,#2d1b5e 52%,#4c1d95); box-shadow:var(--shadow); display:grid; grid-template-columns: .9fr 1.1fr; gap:50px; color:#fff; }
.consultation-panel::after { content:""; position:absolute; width:330px; height:330px; border-radius:50%; background:rgba(116,185,238,.15); right:-130px; bottom:-130px; }
.consultation-copy { position:relative; z-index:1; }
.consultation-copy h2 { font-size:clamp(34px,4vw,54px); }
.consultation-copy p { color:rgba(255,255,255,.72); line-height:1.7; font-size:16px; }
.consultation-points { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:25px; }
.consultation-points span { padding:11px 13px; border-radius:15px; background:rgba(255,255,255,.08); font-size:12px; color:rgba(255,255,255,.84); }
.consultation-form { position:relative; z-index:1; padding:23px; border-radius:30px; background:rgba(255,255,255,.96); color:var(--ink); box-shadow:0 25px 50px rgba(0,0,0,.22); }
.consultation-form-title { margin:0 0 28px; font-family:Manrope,sans-serif; font-size:clamp(24px,2.3vw,32px); line-height:1.18; letter-spacing:-.025em; color:var(--ink); }
.consultation-form .consultation-submit { width:100%; margin-top:10px; }

.site-footer { padding:25px 0 38px; }
.footer-inner { display:flex; align-items:center; gap:30px; color:#878290; font-size:12px; }
.footer-inner > img { width:150px; }
.footer-links { display:flex; gap:20px; margin-left:auto; }
.footer-links button, .footer-links a { border:0; padding:0; background:none; color:#6e6684; cursor:pointer; font:inherit; text-decoration:none; }

.modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; opacity:0; visibility:hidden; transition:.22s ease; }
.modal.is-open { opacity:1; visibility:visible; }
.modal-backdrop { position:absolute; inset:0; background:rgba(20,13,38,.58); backdrop-filter:blur(8px); }
.modal-dialog { position:relative; z-index:2; width:min(680px,100%); max-height:min(84vh,820px); overflow:auto; padding:34px; border-radius:30px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.25); }
.modal-dialog h2 { margin:0 45px 18px 0; font:800 30px Manrope; letter-spacing:-.03em; }
.modal-dialog p, .modal-dialog li { color:#5f586b; line-height:1.7; font-size:14px; }
.modal-dialog ul { padding-left:20px; }
.modal-close { position:absolute; top:18px; right:18px; width:38px; height:38px; border:0; border-radius:50%; background:var(--violet-light); color:var(--ink); font-size:27px; line-height:1; cursor:pointer; }
.rules-dialog { width:min(820px,100%); background:radial-gradient(circle at 100% 0,var(--blue-light),transparent 34%),#fff; }
.rules-dialog > .eyebrow { margin-bottom:12px; }
.full-rules-list { list-style:none; counter-reset:full-rule; margin:24px 0 0; padding:0; display:grid; gap:12px; }
.full-rules-list li { counter-increment:full-rule; position:relative; padding:17px 18px 17px 62px; border-radius:18px; background:#f8f8ff; border:1px solid rgba(26,16,51,.06); }
.full-rules-list li::before { content:counter(full-rule); position:absolute; left:17px; top:16px; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--gradient); font:800 12px Manrope; }
.full-rules-list b { display:block; margin-bottom:4px; color:var(--ink); font:800 14px/1.35 Manrope; }
.full-rules-list span { display:block; color:var(--muted); font-size:13px; line-height:1.55; }
.result-dialog { text-align:center; width:min(650px,100%); background:radial-gradient(circle at 50% 0,var(--blue-light),transparent 46%),#fff; }
.result-confetti { color:#e5ad22; font-size:29px; letter-spacing:10px; }
.result-label { display:block; margin-top:13px; color:#7b6fa1; text-transform:uppercase; letter-spacing:.13em; font-weight:800; font-size:11px; }
.result-prize-image { display:block; width:100%; aspect-ratio:2/1; margin:18px 0 12px; object-fit:cover; border-radius:22px; border:1px solid rgba(26,16,51,.07); box-shadow:0 18px 42px rgba(45,27,94,.16); background:#fff; }
.result-prize-image[hidden] { display:none; }
.result-prize { margin:12px 0; padding:17px 20px; border-radius:20px; background:linear-gradient(135deg,var(--blue-light),var(--violet-light),var(--pink-light)); font:800 clamp(22px,4vw,32px) Manrope; }
.result-dialog .primary-button { min-width:180px; margin-top:10px; }
.prize-lightbox-dialog { width:min(1120px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:54px 18px 18px; overflow:hidden; background:#fff; }
.prize-lightbox-dialog > img { display:block; width:100%; max-height:calc(100vh - 132px); object-fit:contain; border-radius:18px; background:#fff; }
.prize-lightbox-dialog > p { margin:13px 42px 0; color:var(--ink); text-align:center; font:700 13px/1.45 Manrope; }

@media (max-width: 1120px) {
  .header-nav { display:none; }
  .facts-bar { grid-template-columns:repeat(2,1fr); }
  .facts-bar .primary-button { grid-column:1/-1; }
}

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns:1fr; gap:42px; }
  .hero-copy { max-width:760px; margin-inline:auto; text-align:center; }
  .hero-lead { margin-inline:auto; }
  .form-card { max-width:720px; margin-inline:auto; text-align:left; }
  .hero-game { margin-top:0; }
  .wheel-wrap { --wheel-size:min(72vw,620px); }
  .teacher-panel { grid-template-columns:1fr; }
  .teacher-visual { width:min(100%,520px); margin-inline:auto; }
  .teacher-copy { max-width:720px; margin-inline:auto; text-align:center; }
  .check-list { max-width:620px; margin-inline:auto; text-align:left; }
  .teacher-facts { grid-column:auto; grid-template-columns:repeat(4,1fr); }
  .support-layout { grid-template-columns:1fr; }
  .support-visual { width:min(100%,760px); margin-inline:auto; }
  .support-visual img { min-height:0; aspect-ratio:16/10; object-position:center 36%; }
  .lesson-layout { grid-template-columns:1fr; }
  .lesson-tools { position:relative; top:auto; }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .kids-grid { grid-template-columns:repeat(2,1fr); }
  .consultation-panel { grid-template-columns:1fr; gap:34px; }
  .consultation-copy { max-width:720px; margin-inline:auto; text-align:center; }
  .consultation-form { width:min(100%,720px); margin-inline:auto; }
}

@media (max-width: 860px) {
  .section-pad { padding:56px 0; }
  .container { width:min(var(--max),calc(100% - 28px)); }
  .header-inner { min-height:68px; }
  .brand { width:170px; }
  .header-button { margin-left:auto; font-size:0; width:44px; height:44px; padding:0; }
  .header-button::after { content:"✉"; font-size:19px; line-height:1; font-family:Arial,sans-serif; }
  .hero-section { min-height:auto; padding-top:44px; }
  .hero-section::after { inset:10px; border-radius:30px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { text-align:center; }
  .hero-lead { margin-inline:auto; }
  .form-card { max-width:620px; margin-inline:auto; text-align:left; }
  .hero-game { margin-top:10px; }
  .wheel-wrap { --wheel-size:min(86vw,560px); }
  .hero-bear-peek { left:-95px; width:190px; bottom:30px; }
  .badge-heart { left: 2%; top: 10%; }
  .teacher-panel { grid-template-columns:1fr; }
  .teacher-visual { max-width:480px; margin:auto; }
  .teacher-copy { text-align:center; }
  .check-list { text-align:left; max-width:560px; margin-inline:auto; }
  .teacher-facts { grid-column:auto; grid-template-columns:repeat(2,1fr); }
  .support-layout { grid-template-columns:1fr; }
  .support-visual img { min-height:0; aspect-ratio:16/10; object-position:center 36%; }
  .lesson-layout { grid-template-columns:1fr; }
  .lesson-tools { position:relative; top:auto; }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .kids-grid { grid-template-columns:repeat(2,1fr); }
  .consultation-panel { grid-template-columns:1fr; }
  .consultation-copy { text-align:center; }
  .footer-inner { flex-wrap:wrap; justify-content:center; text-align:center; }
  .footer-links { margin-left:0; }
}

@media (max-width: 600px) {
  .section-pad { padding:44px 0; }
  .hero-copy h1 { font-size:42px; }
  .hero-lead { font-size:15px; }
  .form-grid { grid-template-columns:1fr; }
  .field-wide { grid-column:auto; }
  .wheel-wrap { --wheel-size:min(92vw,480px); }
  .prize-gallery { grid-template-columns:1fr; gap:12px; }
  .prize-gallery img { border-radius:16px; }
  .floating-badge { width:44px; border-radius:15px; font-size:22px; }
  .hero-bear-peek { display:none; }
  .badge-heart { left: 0; top: 8%; }
  .teacher-panel { padding:24px; border-radius:32px; }
  .teacher-facts { grid-template-columns:1fr 1fr; }
  .kids-grid { grid-template-columns:1fr; }
  .support-layout { margin-top:28px; gap:16px; }
  .support-visual { border-radius:26px; }
  .support-visual img { aspect-ratio:4/3; }
  .support-visual figcaption { left:14px; right:14px; bottom:14px; }
  .benefit-grid { gap:12px; }
  .benefit-grid article { grid-template-columns:50px minmax(0,1fr); gap:14px; padding:21px 18px; }
  .feature-icon { width:50px; height:50px; border-radius:16px; font-size:23px; }
  .facts-bar { grid-template-columns:1fr; }
  .facts-bar .primary-button { grid-column:auto; }
  .rules-panel { padding:25px 18px; border-radius:32px; }
  .rules-list { grid-template-columns:1fr; margin-top:24px; }
  .rules-list li { min-height:auto; padding:19px 17px 19px 63px; }
  .full-rules-list li { padding:15px 13px 15px 55px; }
  .steps-grid { grid-template-columns:1fr; }
  .steps-grid article { min-height:auto; }
  .consultation-panel { padding:25px; border-radius:32px; gap:25px; }
  .consultation-form-title { margin-bottom:24px; font-size:24px; }
  .consultation-points { grid-template-columns:1fr; }
  .footer-links { flex-direction:column; gap:8px; }
  .modal-dialog { padding:26px 20px; border-radius:24px; }
  .prize-zoom span { opacity:1; transform:none; right:9px; bottom:9px; padding:6px 9px; font-size:9px; }
  .prize-lightbox-dialog { padding:50px 10px 14px; border-radius:22px; }
  .prize-lightbox-dialog > img { max-height:calc(100vh - 120px); border-radius:14px; }
  .prize-lightbox-dialog > p { margin:10px 34px 0; font-size:11px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}
