:root {
  --ink: #090a0d;
  --ink-soft: #1d1e23;
  --paper: #f5f5f7;
  --white: #ffffff;
  --text-2: #6e6e73;
  --line: rgba(0,0,0,.08);
  --blue: #0066cc;
  --quest-blue: #063f95;
  --quest-sky: #27aef3;
  --quest-cyan: #0fd2c3;
  --quest-yellow: #ffbe25;
  --quest-purple: #9149df;
  --quest-navy: #061d49;
  --orange: #ff9f0a;
  --max: 1220px;
  --nav-h: 52px;
  --radius: 32px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }

.shell { width: min(calc(100% - 44px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 44px), 980px); margin-inline: auto; }

.global-nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  height: var(--nav-h);
  background: rgba(250,250,252,.78);
  border-bottom: 1px solid rgba(0,0,0,.06);
  backdrop-filter: saturate(180%) blur(22px);
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  transition: background .35s ease, color .35s ease, border-color .35s ease;
}
.global-nav.on-dark {
  color: #fff;
  background: rgba(8,10,15,.68);
  border-color: rgba(255,255,255,.12);
}
.nav-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand { display: inline-flex; align-items: center; gap: 9px; min-width: 0; font-weight: 650; letter-spacing: -.025em; }
.brand-logo { width: 28px; height: 28px; object-fit: contain; }
.brand-name { font-size: 14px; white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: 28px; font-size: 12px; color: rgba(0,0,0,.72); }
.on-dark .nav-links { color: rgba(255,255,255,.78); }
.nav-links a { transition: opacity .2s ease; }
.nav-links a:hover { opacity: .58; }
.nav-pill { padding: 7px 13px; border-radius: 999px; background: #0071e3; color: #fff !important; font-weight: 600; }
.nav-menu { display: none; border: 0; background: transparent; padding: 8px; cursor: pointer; }
.nav-menu span { display:block; width:18px; height:1.5px; background:currentColor; margin:4px 0; transition: transform .25s ease, opacity .25s ease; }

main { padding-top: var(--nav-h); }

/* Home hero */
.artemis-hero {
  min-height: calc(100svh - var(--nav-h));
  display: grid;
  place-items: center;
  position: relative;
  overflow: clip;
  background: #fff;
}
.artemis-hero::before {
  content: "";
  position: absolute;
  width: 680px;
  height: 680px;
  border-radius: 50%;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(25,116,255,.10), rgba(255,180,47,.05) 44%, transparent 70%);
  filter: blur(12px);
  pointer-events:none;
}
.artemis-hero-copy { position: relative; z-index: 2; text-align:center; padding: 82px 0 100px; }
.artemis-logo-large { width: clamp(150px, 19vw, 240px); margin: 0 auto 36px; filter: drop-shadow(0 20px 35px rgba(0,49,105,.08)); }
.kicker { font-size: 20px; font-weight: 650; letter-spacing: -.025em; margin-bottom: 14px; }
.display {
  font-size: clamp(58px, 9.2vw, 118px);
  line-height: .92;
  letter-spacing: -.075em;
  font-weight: 720;
  margin: 0;
}
.gradient-text {
  background: linear-gradient(94deg,#0f58d5 8%,#2a83f0 36%,#f1a11a 74%,#ffba2c 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-sub {
  margin: 30px auto 0;
  max-width: 690px;
  color: var(--text-2);
  font-size: clamp(20px, 2.3vw, 28px);
  line-height: 1.33;
  letter-spacing: -.025em;
}
.link-row { display:flex; justify-content:center; align-items:center; gap:24px; flex-wrap:wrap; margin-top:32px; }
.text-link { color:#0066cc; font-size:18px; font-weight:500; }
.text-link::after { content:"›"; padding-left:5px; }

.statement {
  padding: 150px 0 170px;
  background: var(--paper);
  text-align: center;
}
.statement h2 {
  font-size: clamp(48px, 7vw, 90px);
  line-height: .98;
  letter-spacing: -.06em;
  max-width: 1050px;
  margin: 0 auto;
}
.statement .muted { color:#a1a1a6; }

/* Quest reveal */
.quest-reveal {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 30%, #102d68 0%, #071730 45%, #020713 80%);
  color:#fff;
}
.quest-reveal::before,
.quest-reveal::after {
  content:"";
  position:absolute;
  width: 600px;
  height: 600px;
  border-radius:50%;
  filter: blur(120px);
  opacity:.32;
}
.quest-reveal::before { background:#0e7af0; left:-300px; top:10%; }
.quest-reveal::after { background:#ffb421; right:-380px; bottom:-160px; opacity:.16; }
.quest-reveal-inner { text-align:center; position:relative; z-index:2; padding:110px 0 90px; }
.quest-icon-hero {
  width: clamp(190px, 26vw, 340px);
  margin:0 auto 35px;
  filter: drop-shadow(0 35px 50px rgba(0,0,0,.38));
  transform: translateZ(0);
}
.quest-reveal .product-label { font-size:18px; color:#9dc7ff; font-weight:650; letter-spacing:-.02em; }
.quest-reveal h2 { margin:8px 0 0; font-size:clamp(64px,11vw,150px); letter-spacing:-.075em; line-height:.88; }
.quest-reveal p { max-width:720px; margin:32px auto 0; color:#b9c5d8; font-size:clamp(20px,2.4vw,28px); line-height:1.35; letter-spacing:-.025em; }
.quest-reveal .text-link { color:#79baff; }

/* Product storytelling */
.story { background:#fff; }
.story-intro { padding: 150px 0 90px; text-align:center; }
.story-intro .eyebrow, .section-eyebrow { font-size:18px; font-weight:650; color:#f5a000; letter-spacing:-.02em; }
.story-intro h2 { margin:10px auto 0; max-width:950px; font-size:clamp(52px,7.6vw,96px); line-height:.95; letter-spacing:-.065em; }
.story-intro p { color:var(--text-2); max-width:720px; margin:28px auto 0; font-size:23px; line-height:1.4; letter-spacing:-.02em; }

.product-story { padding: 40px 0 140px; }
.product-row {
  min-height: 76svh;
  display:grid;
  grid-template-columns: .94fr 1.06fr;
  gap: clamp(48px, 8vw, 110px);
  align-items:center;
  padding: 90px 0;
}
.product-row.reverse { grid-template-columns: 1.06fr .94fr; }
.product-row.reverse .product-copy { order:2; }
.product-row.reverse .product-visual { order:1; }
.product-copy .count { font-size:16px; font-weight:700; color:#0d88d8; margin-bottom:17px; }
.product-copy h3 { margin:0; font-size:clamp(44px,5.4vw,72px); line-height:.98; letter-spacing:-.055em; }
.product-copy p { color:var(--text-2); font-size:21px; line-height:1.5; letter-spacing:-.018em; margin:24px 0 0; max-width:560px; }
.product-copy .micro { margin-top:20px; font-size:15px; color:#86868b; }
.product-visual { min-height: 670px; display:grid; place-items:center; position:relative; }
.visual-halo { position:absolute; width:88%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,#eaf8ff 0 35%,rgba(232,248,255,.25) 57%,transparent 72%); }
.visual-halo.gold { background:radial-gradient(circle,#fff5d5 0 35%,rgba(255,242,194,.24) 57%,transparent 72%); }
.visual-halo.purple { background:radial-gradient(circle,#f3ebff 0 35%,rgba(241,231,255,.22) 57%,transparent 72%); }
.phone {
  width:min(330px,82vw);
  position:relative;
  z-index:2;
  border-radius:52px;
  background:#111;
  padding:8px;
  box-shadow: 0 42px 90px rgba(0,0,0,.22), 0 10px 30px rgba(0,0,0,.12);
}
.phone::before { display:none; }
.phone img { width:100%; border-radius:45px; }
.profile-shot { overflow:hidden; }
.profile-shot span { position:absolute; z-index:5; top:34.6%; left:50%; transform:translate(-50%,-50%); background:#202027; color:#fff; border-radius:999px; padding:7px 17px; font-size:14px; font-weight:750; white-space:nowrap; box-shadow:0 5px 18px rgba(0,0,0,.28); }
.float-card {
  position:absolute;
  z-index:3;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.7);
  border-radius:20px;
  padding:14px 18px;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
  backdrop-filter: blur(16px);
  font-size:14px;
  font-weight:650;
}
.float-card strong { display:block; font-size:22px; letter-spacing:-.04em; margin-bottom:2px; }
.float-a { left:1%; top:21%; }
.float-b { right:0; bottom:22%; }

/* Kids strip */
.kids-strip {
  position:relative;
  overflow:hidden;
  background:#dff5ff;
  padding:125px 0 130px;
}
.kids-strip::before { content:""; position:absolute; inset:auto -8% -210px -8%; height:460px; border-radius:50% 50% 0 0; background:#68cf86; opacity:.85; }
.kids-strip::after { content:""; position:absolute; inset:auto -15% -280px -15%; height:430px; border-radius:50% 50% 0 0; background:#2a9d73; }
.kids-inner { position:relative; z-index:2; text-align:center; }
.kids-icon { width:160px; margin:0 auto 28px; }
.kids-inner h2 { font-size:clamp(50px,7.5vw,96px); line-height:.94; letter-spacing:-.065em; margin:0; }
.kids-inner p { font-size:22px; color:#33566a; max-width:690px; margin:26px auto 0; line-height:1.45; }
.quest-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:58px; }
.quest-step { background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:26px; padding:26px 22px; text-align:left; box-shadow:0 12px 30px rgba(0,40,90,.08); }
.quest-step b { display:block; font-size:24px; letter-spacing:-.04em; margin-bottom:7px; }
.quest-step span { color:#667985; line-height:1.45; font-size:15px; }
.quest-step .dot { width:34px; height:34px; border-radius:12px; display:grid; place-items:center; margin-bottom:20px; background:#ffca38; font-weight:800; color:#0a1a2a; }

/* Professional section */
.school-teaser { background:#0b0b0d; color:#fff; padding:145px 0; }
.school-teaser-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center; }
.school-teaser h2 { font-size:clamp(52px,7vw,92px); line-height:.95; letter-spacing:-.065em; margin:10px 0 0; }
.school-teaser p { color:#a1a1a6; font-size:21px; line-height:1.5; max-width:600px; margin-top:26px; }
.metrics { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.metric { background:#17171b; border:1px solid rgba(255,255,255,.08); border-radius:24px; padding:24px; min-height:180px; }
.metric .icon { font-size:27px; color:#70a7ff; }
.metric strong { display:block; font-size:20px; margin-top:36px; letter-spacing:-.03em; }
.metric span { display:block; color:#8e8e93; font-size:14px; margin-top:5px; line-height:1.4; }

/* CTA */
.final-cta { padding: 150px 0; text-align:center; background:#fff; }
.final-cta h2 { font-size:clamp(50px,8vw,104px); line-height:.93; letter-spacing:-.07em; margin:0; }
.final-cta p { color:var(--text-2); font-size:22px; max-width:650px; margin:26px auto 0; line-height:1.45; }
.button-row { display:flex; justify-content:center; gap:12px; margin-top:30px; flex-wrap:wrap; }
.button { min-height:46px; padding:0 20px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-size:17px; font-weight:520; transition:transform .22s ease, background .22s ease; }
.button:hover { transform:scale(1.025); }
.button.primary { background:#0071e3; color:#fff; }
.button.secondary { color:#0071e3; border:1px solid #0071e3; }

/* Questibbles page */
.q-page { background:#020713; color:#fff; }
.q-hero { min-height:calc(100svh - var(--nav-h)); display:grid; place-items:center; text-align:center; position:relative; overflow:hidden; }
.q-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%,rgba(0,105,255,.28),transparent 48%), radial-gradient(circle at 80% 80%,rgba(255,184,35,.12),transparent 30%); }
.q-hero-inner { position:relative; z-index:2; padding:90px 0 80px; }
.q-hero-logo { width:clamp(200px,30vw,370px); margin:0 auto 30px; filter:drop-shadow(0 32px 60px rgba(0,0,0,.46)); }
.q-hero h1 { font-size:clamp(64px,10vw,135px); line-height:.9; letter-spacing:-.075em; margin:0; }
.q-hero .tagline { color:#b8c5db; font-size:clamp(24px,3vw,34px); letter-spacing:-.03em; margin:25px auto 0; }
.q-hero .status { color:#79baff; font-size:15px; font-weight:650; margin-top:24px; }
.q-white { background:#fff; color:#090a0d; }
.q-section { padding:140px 0; }
.q-title { max-width:900px; margin-bottom:65px; }
.q-title small { color:#0b79d0; font-weight:650; font-size:17px; }
.q-title h2 { font-size:clamp(52px,7.5vw,92px); line-height:.96; letter-spacing:-.065em; margin:9px 0 0; }
.q-title p { color:#6e6e73; font-size:21px; line-height:1.5; max-width:700px; margin:26px 0 0; }
.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.feature-panel { border-radius:34px; min-height:400px; padding:38px; background:#f5f5f7; position:relative; overflow:hidden; }
.feature-panel.dark { background:#111318; color:white; }
.feature-panel.blue { background:linear-gradient(145deg,#e5f7ff,#caefff); }
.feature-panel.gold { background:linear-gradient(145deg,#fff9e7,#ffefbc); }
.feature-panel.purple { background:linear-gradient(145deg,#f7f0ff,#eaddff); }
.feature-panel .label { font-size:15px; color:#77777c; font-weight:650; }
.feature-panel.dark .label { color:#a5a5aa; }
.feature-panel h3 { font-size:clamp(34px,4vw,48px); line-height:1.02; letter-spacing:-.05em; margin:13px 0 0; max-width:520px; }
.feature-panel p { color:#6e6e73; font-size:17px; line-height:1.55; max-width:520px; margin:17px 0 0; }
.feature-panel.dark p { color:#a1a1a6; }
.feature-orb { position:absolute; width:180px; height:180px; border-radius:50%; right:-30px; bottom:-30px; display:grid; place-items:center; font-size:72px; background:rgba(255,255,255,.55); box-shadow:0 20px 60px rgba(0,0,0,.08); }

/* School page */
.pro-hero { padding:150px 0 115px; background:#fff; }
.pro-hero .label { color:#0066cc; font-size:18px; font-weight:650; }
.pro-hero h1 { margin:10px 0 0; font-size:clamp(58px,9vw,118px); max-width:1050px; line-height:.92; letter-spacing:-.075em; }
.pro-hero p { max-width:720px; color:#6e6e73; font-size:23px; line-height:1.46; margin:31px 0 0; }
.pro-band { background:#f5f5f7; padding:120px 0; }
.pro-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pro-card { background:#fff; border-radius:28px; padding:30px; min-height:310px; border:1px solid rgba(0,0,0,.05); }
.pro-card .num { font-size:14px; color:#86868b; }
.pro-card h3 { margin:52px 0 0; font-size:30px; letter-spacing:-.04em; line-height:1.08; }
.pro-card p { color:#6e6e73; line-height:1.55; margin:15px 0 0; }
.pro-dark { background:#0b0b0d; color:#fff; padding:130px 0; }
.pro-dark h2 { font-size:clamp(52px,7vw,88px); line-height:.95; letter-spacing:-.065em; margin:0; max-width:960px; }
.pro-dark p { color:#a1a1a6; font-size:20px; line-height:1.5; max-width:720px; margin-top:26px; }
.pro-list { margin-top:60px; border-top:1px solid rgba(255,255,255,.16); }
.pro-list-row { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.pro-list-row strong { font-size:20px; }
.pro-list-row span { color:#a1a1a6; line-height:1.5; }

/* About and contact */
.simple-hero { padding:150px 0 100px; }
.simple-hero h1 { font-size:clamp(60px,9vw,116px); line-height:.92; letter-spacing:-.075em; margin:0; max-width:980px; }
.simple-hero p { color:#6e6e73; font-size:24px; line-height:1.45; max-width:760px; margin:30px 0 0; }
.about-split { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; padding:40px 0 130px; }
.about-split .logo-card { position:sticky; top:100px; background:#f5f5f7; border-radius:34px; padding:48px; }
.about-split .logo-card img { width:100%; max-width:340px; margin:auto; }
.about-copy h2 { font-size:45px; letter-spacing:-.05em; margin:0 0 20px; }
.about-copy p { color:#55565a; font-size:19px; line-height:1.65; margin:0 0 26px; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; padding:30px 0 130px; }
.contact-options { display:grid; gap:12px; }
.contact-option { padding:24px; border-radius:22px; background:#f5f5f7; }
.contact-option strong { display:block; font-size:19px; }
.contact-option span { display:block; color:#6e6e73; font-size:14px; margin-top:5px; }
.form-card { background:#f5f5f7; border-radius:30px; padding:32px; }
.field { display:grid; gap:8px; margin-bottom:16px; }
.field label { font-size:13px; font-weight:650; }
.field input, .field textarea, .field select { width:100%; border:1px solid rgba(0,0,0,.1); background:#fff; border-radius:14px; padding:14px 15px; outline:none; }
.field textarea { min-height:140px; resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:#0071e3; box-shadow:0 0 0 3px rgba(0,113,227,.12); }
.form-status { color:#6e6e73; font-size:13px; margin-top:13px; min-height:20px; }

/* Footer */
footer { background:#f5f5f7; color:#515154; border-top:1px solid rgba(0,0,0,.06); padding:34px 0 26px; font-size:12px; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-bottom:24px; border-bottom:1px solid rgba(0,0,0,.09); }
.footer-brand { display:flex; align-items:center; gap:8px; color:#1d1d1f; font-weight:650; }
.footer-brand img { width:24px; height:24px; object-fit:contain; }
.footer-links { display:flex; gap:20px; flex-wrap:wrap; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:18px; }

/* Motion */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in { opacity:1; transform:none; }
.reveal.delay-1 { transition-delay:.1s; }
.reveal.delay-2 { transition-delay:.2s; }
.scale-in { opacity:0; transform:scale(.92); transition:opacity 1s var(--ease), transform 1.1s var(--ease); }
.scale-in.in { opacity:1; transform:scale(1); }
.parallax { will-change: transform; }

@media (max-width: 980px) {
  .nav-links { gap:18px; }
  .product-row, .product-row.reverse, .school-teaser-grid, .about-split, .contact-grid { grid-template-columns:1fr; }
  .product-row.reverse .product-copy, .product-row.reverse .product-visual { order:initial; }
  .product-row { padding:65px 0; }
  .product-visual { min-height:600px; }
  .pro-grid { grid-template-columns:repeat(2,1fr); }
  .school-teaser-grid { gap:50px; }
  .about-split .logo-card { position:relative; top:auto; max-width:520px; }
}

@media (max-width: 720px) {
  :root { --nav-h: 48px; }
  .shell, .narrow { width:min(calc(100% - 32px), var(--max)); }
  .brand-name { font-size:13px; }
  .nav-menu { display:block; }
  .nav-links {
    position:fixed;
    left:0; right:0; top:var(--nav-h);
    height:calc(100svh - var(--nav-h));
    background:rgba(250,250,252,.98);
    color:#111 !important;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:28px 28px;
    opacity:0;
    pointer-events:none;
    transform:translateY(-12px);
    transition:.25s ease;
  }
  .nav-links.open { opacity:1; pointer-events:auto; transform:none; }
  .nav-links a { width:100%; padding:16px 0; border-bottom:1px solid rgba(0,0,0,.07); font-size:28px; letter-spacing:-.04em; }
  .nav-links .nav-pill { margin-top:18px; width:auto; font-size:16px; padding:10px 15px; border:0; }
  .artemis-hero-copy { padding:70px 0 90px; }
  .display { font-size:clamp(54px,17vw,82px); }
  .hero-sub { font-size:20px; }
  .statement { padding:105px 0; }
  .statement h2 { font-size:48px; }
  .quest-reveal-inner { padding:90px 0 80px; }
  .quest-reveal h2 { font-size:66px; }
  .story-intro { padding:105px 0 40px; }
  .story-intro h2 { font-size:50px; }
  .story-intro p { font-size:19px; }
  .product-story { padding-bottom:90px; }
  .product-copy h3 { font-size:45px; }
  .product-copy p { font-size:18px; }
  .product-visual { min-height:530px; }
  .phone { width:min(300px,79vw); }
  .float-card { width:min(145px,42vw); padding:11px 13px; font-size:12px; border-radius:16px; }
  .float-card strong { font-size:18px; }
  .float-a { left:0; top:14%; }
  .float-b { right:0; bottom:14%; }
  .quest-steps, .metrics, .feature-grid, .pro-grid { grid-template-columns:1fr; }
  .kids-strip { padding:100px 0 160px; }
  .school-teaser, .q-section, .pro-dark, .pro-band { padding:100px 0; }
  .pro-list-row { grid-template-columns:1fr; gap:10px; }
  .feature-panel { min-height:340px; padding:28px; }
  .footer-top, .footer-bottom { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal, .scale-in { opacity:1; transform:none; }
}

/* V3 Questibbles hybrid: Apple motion and spacing, playful illustrated world */
.q-page { background:#fff; color:var(--ink); }
.q-page .global-nav.on-dark { background:rgba(255,255,255,.76); color:var(--ink); border-bottom:1px solid rgba(0,0,0,.06); }
.q-page .global-nav.on-dark .brand-name,.q-page .global-nav.on-dark .nav-links a { color:var(--ink); }
.q-page .global-nav.on-dark .nav-pill { color:#fff; }
.q-hero {
  min-height:100svh;
  color:var(--quest-navy);
  background:linear-gradient(180deg,#eaf9ff 0%,#c8efff 58%,#a8e6ff 100%);
  isolation:isolate;
}
.q-hero::before {
  inset:0;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.95) 0 4%,transparent 4.3%),
    radial-gradient(circle at 78% 19%,rgba(255,255,255,.85) 0 5%,transparent 5.3%),
    radial-gradient(circle at 50% 5%,rgba(255,255,255,.8),transparent 34%);
  opacity:.75;
}
.q-hero::after {
  content:""; position:absolute; z-index:-1; left:-8%; right:-8%; bottom:-15%; height:43%;
  background:linear-gradient(160deg,#83d987 0 36%,#39ad73 36% 58%,#18725f 58%);
  border-radius:50% 50% 0 0 / 36% 36% 0 0;
  transform:rotate(-2deg);
}
.q-hero-inner { padding:118px 0 150px; }
.q-logo-wrap { position:relative; width:min(680px,92vw); margin:0 auto 25px; display:grid; place-items:center; }
.q-hero-logo {
  width:clamp(190px,26vw,330px); margin:0;
  border-radius:26%;
  filter:drop-shadow(0 28px 34px rgba(2,34,81,.18));
  -webkit-mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,#000 87%,transparent 100%);
  mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,#000 87%,transparent 100%);
}
.q-doodle { position:absolute; font-weight:800; color:#154e98; font-size:clamp(14px,1.5vw,20px); transform:rotate(-7deg); opacity:.9; }
.q-doodle.left { left:5%; bottom:10%; } .q-doodle.right { right:4%; top:13%; transform:rotate(7deg); color:#d88900; }
.q-hero h1 { font-size:clamp(70px,11vw,148px); color:#082a67; text-shadow:0 3px 0 rgba(255,255,255,.65); }
.q-hero .tagline { color:#174d7d; font-weight:650; }
.q-hero .status { color:#0c70c9; background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.8); padding:9px 14px; border-radius:999px; width:max-content; max-width:90%; margin:24px auto 0; backdrop-filter:blur(14px); }
.q-cloud { position:absolute; width:150px; height:46px; border-radius:999px; background:rgba(255,255,255,.8); filter:blur(.1px); z-index:-1; }
.q-cloud::before,.q-cloud::after { content:""; position:absolute; border-radius:50%; background:inherit; }
.q-cloud::before { width:70px;height:70px;left:23px;bottom:0; } .q-cloud::after { width:90px;height:90px;right:16px;bottom:0; }
.q-cloud.c1 { left:5%; top:25%; transform:scale(.72); opacity:.7; } .q-cloud.c2 { right:4%; top:35%; transform:scale(.9); opacity:.65; }
.q-white { background:#fffdf8; }
.q-section { position:relative; overflow:hidden; }
.q-title small { color:#117ecb; }
.feature-panel { border:3px solid #0a224c; box-shadow:0 14px 0 rgba(8,40,84,.08),0 28px 60px rgba(12,73,118,.08); }
.feature-panel.blue { background:linear-gradient(145deg,#dff7ff,#bfeaff); }
.feature-panel.gold { background:linear-gradient(145deg,#fff9df,#ffe594); }
.feature-panel.purple { background:linear-gradient(145deg,#f8efff,#dfcaff); }
.feature-panel.dark { background:linear-gradient(145deg,#08234f,#061936); border-color:#05152f; }
.feature-orb { border:3px solid rgba(7,31,69,.85); box-shadow:0 10px 0 rgba(7,31,69,.1); }
.product-row { position:relative; }
.product-visual::after { content:""; position:absolute; width:78%; height:17%; bottom:7%; border-radius:50%; background:rgba(23,113,93,.12); filter:blur(20px); }
.phone { border:4px solid #07152e; box-shadow:0 35px 0 -20px rgba(4,35,76,.18),0 42px 90px rgba(0,0,0,.2); }
.q-page .float-card { border:3px solid #0b2249; box-shadow:0 8px 0 rgba(11,34,73,.12),0 24px 45px rgba(0,0,0,.11); }
.q-adventure {
  position:relative; overflow:hidden; padding:150px 0 180px; text-align:center;
  background:linear-gradient(#bfefff 0 53%,#8cdd8d 53% 66%,#39a96f 66% 78%,#14715e 78%);
}
.q-adventure::before { content:""; position:absolute; width:75%; height:35%; left:-18%; bottom:10%; background:#69cb7c; border-radius:50% 50% 0 0; transform:rotate(7deg); }
.q-adventure::after { content:""; position:absolute; width:75%; height:31%; right:-22%; bottom:8%; background:#268c69; border-radius:50% 50% 0 0; transform:rotate(-7deg); }
.q-adventure .shell { position:relative; z-index:2; }
.q-adventure-logo { width:clamp(140px,18vw,230px); margin:0 auto 22px; border-radius:28%; box-shadow:0 18px 45px rgba(3,43,90,.18); transform:rotate(-3deg); }
.q-adventure h2 { font-size:clamp(54px,8vw,104px); line-height:.92; letter-spacing:-.065em; color:#082a67; margin:0; }
.q-adventure p { max-width:720px; margin:24px auto 0; color:#285b73; font-size:21px; line-height:1.45; }
.quest-steps { position:relative; z-index:3; }
.quest-step { border:3px solid #0a224c; box-shadow:0 9px 0 rgba(8,40,84,.12),0 20px 38px rgba(0,40,90,.08); }
.quest-step .dot { border:2px solid #0a224c; box-shadow:0 4px 0 rgba(8,40,84,.12); }
.q-sign { position:absolute; left:4%; bottom:15%; z-index:2; transform:rotate(-4deg); display:grid; gap:8px; }
.q-sign span { background:#d8923d; color:#482b12; border:3px solid #5a381d; border-radius:8px; padding:8px 18px; font-weight:800; box-shadow:0 5px 0 #75471f; }
.q-page .school-teaser { border-top:8px solid #ffbe25; }
.review-section { padding:145px 0; color:#fff; background:radial-gradient(circle at 12% 12%,rgba(38,128,255,.25),transparent 36%),linear-gradient(145deg,#071b43,#081127 58%,#120c28); }
.review-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(50px,8vw,105px); align-items:center; }
.review-copy small { color:#7fc4ff; font-size:16px; font-weight:750; }
.review-copy h2 { margin:11px 0 0; font-size:clamp(48px,6.4vw,82px); line-height:.96; letter-spacing:-.06em; }
.review-copy>p { margin:25px 0 0; color:#b4bed0; font-size:20px; line-height:1.55; }
.review-note { display:flex; gap:15px; align-items:flex-start; margin-top:34px; padding:20px; border:1px solid rgba(255,255,255,.13); border-radius:22px; background:rgba(255,255,255,.06); }
.review-note>span { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; border-radius:13px; background:#2088f2; font-size:22px; }
.review-note b { display:block; font-size:17px; }
.review-note p { margin:5px 0 0; color:#9daabd; line-height:1.45; font-size:14px; }
.review-flow { display:grid; gap:13px; }
.review-step { display:grid; grid-template-columns:56px 1fr; gap:18px; align-items:start; padding:24px; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:rgba(255,255,255,.075); backdrop-filter:blur(18px); }
.review-step>span { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; background:linear-gradient(145deg,#3ba8ff,#1767db); color:#fff; font-size:13px; font-weight:850; box-shadow:0 8px 20px rgba(0,94,214,.28); }
.review-step b { display:block; font-size:23px; letter-spacing:-.035em; }
.review-step p { margin:7px 0 0; color:#aeb8c9; line-height:1.45; }
.q-screens { padding:145px 0 165px; overflow:hidden; }
.screen-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:74px; align-items:start; }
.screen-card { margin:0; padding:20px 20px 25px; background:linear-gradient(145deg,#f8fbff,#eef7ff); border:3px solid #0a224c; border-radius:34px; box-shadow:0 12px 0 rgba(8,40,84,.1),0 28px 55px rgba(12,73,118,.1); }
.screen-card:nth-child(2),.screen-card:nth-child(5) { margin-top:60px; background:linear-gradient(145deg,#fff9df,#ffeaa8); }
.screen-card:nth-child(3),.screen-card:nth-child(6) { background:linear-gradient(145deg,#f8efff,#e5d2ff); }
.screen-device { position:relative; overflow:hidden; border:4px solid #07152e; border-radius:28px; background:#101116; aspect-ratio:9/19.5; box-shadow:0 22px 44px rgba(8,34,73,.18); }
.screen-device img { width:100%; height:100%; object-fit:cover; object-position:top; }
.screen-card figcaption { display:grid; gap:6px; padding:21px 7px 2px; }
.screen-card figcaption b { font-size:22px; letter-spacing:-.035em; color:#082a67; }
.screen-card figcaption span { color:#426079; font-size:15px; line-height:1.4; }
@media(max-width:800px){ .q-doodle,.q-sign{display:none}.q-hero-inner{padding-top:95px}.q-adventure{padding:110px 0 120px}.q-hero::after{height:31%;bottom:-8%} }
@media(max-width:900px){ .screen-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-card:nth-child(2),.screen-card:nth-child(5){margin-top:0} }
@media(max-width:900px){ .review-grid{grid-template-columns:1fr}.review-copy{max-width:720px} }
@media(max-width:560px){ .q-screens{padding:95px 0 110px}.screen-gallery{grid-template-columns:1fr;gap:25px;margin-top:45px}.screen-card{max-width:390px;margin:0 auto!important;padding:15px 15px 22px}.screen-device{border-radius:24px}.screen-card figcaption b{font-size:20px} }


/* V4 homepage: Artemis polish with the playful Questibbles transition */
.home-pillars { padding-bottom:130px; }
.home-eyebrow { color:#1478c9; font-size:15px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; margin-bottom:24px; }
.home-values { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:72px; text-align:left; }
.home-values>div { background:rgba(255,255,255,.78); border:1px solid rgba(0,0,0,.06); border-radius:26px; padding:28px; box-shadow:0 18px 45px rgba(0,0,0,.05); }
.home-values span { display:block; color:#0b72d1; font-size:13px; font-weight:800; margin-bottom:24px; }
.home-values b { display:block; font-size:24px; letter-spacing:-.04em; }
.home-values small { display:block; color:#6e6e73; font-size:15px; line-height:1.45; margin-top:8px; }
.home-quest-reveal { min-height:100svh; position:relative; overflow:hidden; display:grid; align-items:center; background:linear-gradient(180deg,#eaf9ff 0%,#c7efff 61%,#a8e6ff 100%); color:var(--quest-navy); }
.home-quest-reveal::after { content:""; position:absolute; left:-8%; right:-8%; bottom:-19%; height:42%; background:linear-gradient(160deg,#83d987 0 36%,#39ad73 36% 60%,#18725f 60%); border-radius:50% 50% 0 0 / 38% 38% 0 0; transform:rotate(-2deg); }
.home-quest-grid { position:relative; z-index:3; display:grid; grid-template-columns:.92fr 1.08fr; gap:60px; align-items:center; padding:105px 0 130px; }
.home-quest-copy { position:relative; z-index:4; }
.home-quest-copy .product-label { color:#117ecb; font-size:16px; font-weight:750; }
.home-quest-mark { width:118px; margin:22px 0 20px; border-radius:26%; filter:drop-shadow(0 16px 24px rgba(2,34,81,.15)); -webkit-mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,#000 87%,transparent 100%); mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,#000 87%,transparent 100%); }
.home-quest-copy h2 { margin:0; font-size:clamp(66px,9vw,126px); line-height:.86; letter-spacing:-.075em; color:#082a67; }
.home-tagline { margin-top:18px; color:#d88900; font-size:clamp(22px,2.5vw,31px); font-weight:760; letter-spacing:-.035em; }
.home-quest-copy p { max-width:590px; margin:25px 0 0; color:#285b73; font-size:clamp(19px,2vw,24px); line-height:1.42; letter-spacing:-.02em; }
.home-quest-copy .link-row { justify-content:flex-start; }
.home-quest-visual { position:relative; min-height:660px; display:grid; place-items:center; }
.home-sun { position:absolute; width:460px; height:460px; border-radius:50%; background:rgba(255,255,255,.48); box-shadow:0 0 100px rgba(255,255,255,.7); }
.home-phone { position:relative; z-index:2; width:min(330px,68vw); border:4px solid #07152e; border-radius:52px; overflow:hidden; background:#111; box-shadow:0 38px 90px rgba(4,35,76,.25); transform:rotate(4deg); }
.home-phone img { width:100%; }
.home-float-card { position:absolute; z-index:3; width:210px; padding:20px; background:rgba(255,255,255,.9); border:3px solid #0a224c; border-radius:24px; box-shadow:0 9px 0 rgba(8,40,84,.12),0 22px 40px rgba(0,40,90,.12); backdrop-filter:blur(14px); }
.home-float-card span { display:block; color:#117ecb; font-size:11px; font-weight:850; letter-spacing:.1em; margin-bottom:8px; }
.home-float-card strong { font-size:20px; line-height:1.1; letter-spacing:-.04em; }
.home-float-card.card-one { left:1%; top:19%; transform:rotate(-7deg); }
.home-float-card.card-two { right:-2%; bottom:19%; transform:rotate(7deg); }
.home-cloud { position:absolute; z-index:1; width:160px; height:48px; border-radius:999px; background:rgba(255,255,255,.76); }
.home-cloud::before,.home-cloud::after { content:""; position:absolute; border-radius:50%; background:inherit; }
.home-cloud::before { width:72px;height:72px;left:25px;bottom:0; } .home-cloud::after { width:92px;height:92px;right:17px;bottom:0; }
.home-cloud.hc1 { left:4%; top:16%; transform:scale(.72); } .home-cloud.hc2 { right:3%; top:10%; transform:scale(.9); }
@media(max-width:900px){ .home-values{grid-template-columns:1fr}.home-quest-grid{grid-template-columns:1fr;text-align:center;gap:25px;padding:90px 0 120px}.home-quest-mark{margin:22px auto 20px}.home-quest-copy p{margin-left:auto;margin-right:auto}.home-quest-copy .link-row{justify-content:center}.home-quest-visual{min-height:570px}.home-float-card.card-one{left:4%}.home-float-card.card-two{right:4%} }
@media(max-width:560px){ .home-quest-copy h2{font-size:clamp(50px,15vw,60px);letter-spacing:-.06em}.home-quest-visual{min-height:510px}.home-float-card{width:145px;padding:13px;border-width:2px}.home-float-card strong{font-size:15px}.home-phone{width:250px;border-radius:42px}.home-quest-reveal::after{height:28%;bottom:-8%} }

/* Small-screen centring and readability */
@media(max-width:560px){
  html,body{max-width:100%;overflow-x:hidden}
  .shell,.narrow{width:calc(100% - 32px);max-width:100%}
  .brand{max-width:calc(100% - 48px)}
  .brand-name{overflow:hidden;text-overflow:ellipsis}
  .q-hero{min-height:calc(100svh - var(--nav-h));width:100%}
  .q-hero-inner{width:100%;max-width:100%;padding:72px 0 105px}
  .q-logo-wrap{width:100%;max-width:100%;margin-bottom:20px}
  .q-hero-logo{width:min(235px,66vw)}
  .q-hero h1{width:100%;max-width:100%;font-size:clamp(48px,14.5vw,58px);line-height:.94;letter-spacing:-.055em;overflow-wrap:normal}
  .q-hero .tagline{max-width:100%;font-size:clamp(20px,6vw,24px);line-height:1.18;margin-top:20px}
  .q-hero .status{width:auto;max-width:100%;margin:22px auto 0;padding:10px 14px;font-size:14px;line-height:1.35;white-space:normal}
  .q-title{margin-bottom:42px}
  .q-title h2,.school-teaser h2,.final-cta h2,.pro-dark h2{font-size:clamp(42px,12.5vw,52px);line-height:.98;letter-spacing:-.05em}
  .q-title p,.school-teaser p,.final-cta p,.kids-inner p{font-size:18px;line-height:1.5}
  .feature-panel{min-height:0;padding:26px 24px 150px}
  .feature-panel h3{font-size:36px}
  .feature-orb{width:118px;height:118px;right:-18px;bottom:-18px;font-size:50px}
  .product-row{min-height:0;padding:58px 0;gap:24px}
  .product-copy h3{font-size:clamp(38px,11vw,45px);line-height:1}
  .product-visual{width:100%;min-height:520px}
  .visual-halo{width:100%;max-width:430px}
  .kids-inner h2{font-size:clamp(42px,12vw,50px);letter-spacing:-.05em}
  .quest-steps{grid-template-columns:1fr;gap:12px;margin-top:40px}
  .quest-step{padding:22px 20px}
  .quest-step b{font-size:22px}
  .review-section{padding:95px 0}
  .review-grid{gap:42px}
  .review-copy h2{font-size:clamp(42px,12vw,50px);line-height:.98;letter-spacing:-.05em}
  .review-copy>p{font-size:18px}
  .review-step{grid-template-columns:44px 1fr;gap:14px;padding:19px 17px}
  .review-step>span{width:42px;height:42px;border-radius:14px}
  .review-step b{font-size:20px}
  .review-step p{font-size:14px}
  .home-float-card.card-one{left:0}
  .home-float-card.card-two{right:0}
  .footer-links{gap:14px}
}

/* Questibbles feature bento */
.q-hero .q-hero-name { color:#1267ae; font-size:clamp(18px,2vw,25px); font-weight:800; letter-spacing:.03em; }
.q-hero h1 { max-width:1000px; margin:16px auto 0; font-size:clamp(58px,9vw,118px); line-height:.94; text-wrap:balance; }
.q-hero .tagline { margin-top:24px; font-size:clamp(23px,3.2vw,38px); color:#063d79; }
.q-hero-explain { max-width:650px; margin:19px auto 0; color:#285b73; font-size:clamp(17px,1.8vw,22px); line-height:1.45; }
.q-bento-section { padding:120px 0 130px; background:#f5f5f7; color:#1d1d1f; }
.q-bento-heading { max-width:860px; margin:0 auto 60px; text-align:center; }
.bento-eyebrow { color:#126dc5; font-size:14px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.q-bento-heading h2 { margin:14px 0 16px; font-size:clamp(42px,5.6vw,76px); line-height:1.04; letter-spacing:-.055em; text-wrap:balance; }
.q-bento-heading p { max-width:680px; margin:0 auto; color:#5f6067; font-size:19px; line-height:1.5; }
.q-bento { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:335px; gap:18px; }
.bento-tile { position:relative; isolation:isolate; overflow:hidden; min-width:0; border-radius:30px; background:#fff; box-shadow:0 8px 32px rgba(16,35,68,.055); }
.bento-copy { position:relative; z-index:2; padding:32px; }
.bento-copy>span { display:block; margin-bottom:12px; font-size:13px; font-weight:800; letter-spacing:.04em; opacity:.75; }
.bento-copy h3 { margin:0; max-width:550px; font-size:clamp(26px,2.5vw,39px); line-height:1.05; letter-spacing:-.05em; text-wrap:balance; }
.bento-copy p { max-width:390px; margin:13px 0 0; font-size:16px; line-height:1.45; opacity:.78; }
.bento-tile img { position:absolute; z-index:1; display:block; height:auto; filter:drop-shadow(0 20px 22px rgba(0,0,0,.16)); border-radius:23px 23px 0 0; }
.bento-map { grid-column:span 2; grid-row:span 2; color:#fff; background:linear-gradient(145deg,#132d6b,#09234c 65%,#061a38); }
.bento-map .bento-copy { padding:39px; }
.bento-map .bento-copy p { max-width:330px; }
.bento-map img { width:47%; right:5%; bottom:-18%; transform:rotate(5deg); }
.bento-questions { grid-column:span 2; color:#fff; background:linear-gradient(135deg,#713eaf,#252169); }
.bento-questions .bento-copy { max-width:58%; }
.bento-questions img { width:33%; right:4%; top:11%; transform:rotate(7deg); }
.bento-review { background:linear-gradient(145deg,#e6f6ff,#cfe9ff); }
.bento-cards { background:linear-gradient(145deg,#ebfff7,#d2f6eb); }
.bento-review img,.bento-cards img { width:48%; right:-10%; bottom:-31%; transform:rotate(7deg); }
.bento-review .bento-copy,.bento-cards .bento-copy { padding:25px; }
.bento-review h3,.bento-cards h3 { max-width:220px; font-size:27px; }
.bento-review p,.bento-cards p { max-width:145px; font-size:14px; }
.bento-games,.bento-progress,.bento-teacher,.bento-creator { grid-column:span 2; }
.bento-games { color:#fff; background:linear-gradient(135deg,#142449,#123e75); }
.bento-progress { background:linear-gradient(145deg,#fff5d8,#ffe4a5); }
.bento-games .bento-copy,.bento-progress .bento-copy { max-width:61%; }
.bento-games img,.bento-progress img { width:31%; right:6%; top:10%; transform:rotate(6deg); }
.bento-teacher { background:linear-gradient(135deg,#e6efff,#bed4ff); }
.bento-creator { color:#fff; background:linear-gradient(135deg,#2e2364,#6239a2); }
.bento-teacher .bento-copy,.bento-creator .bento-copy { max-width:67%; }
.bento-teacher .bento-copy a { display:inline-block; margin-top:18px; color:#0b56ae; font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.bento-illustration { position:absolute; right:5%; bottom:-15%; width:34%; height:75%; border-radius:28px; transform:rotate(8deg); box-shadow:0 16px 30px rgba(9,35,80,.17); }
.bento-teacher .bento-illustration { display:flex; align-items:end; justify-content:center; background:#fff; padding:22px; }
.mini-chart { width:100%; height:70%; display:flex; align-items:end; gap:8%; }
.mini-chart i { flex:1; border-radius:8px 8px 0 0; background:#6d91e8; height:55%; }
.mini-chart i:nth-child(2) { height:78%; background:#8eb8f6; }
.mini-chart i:nth-child(3) { height:42%; }
.mini-chart i:nth-child(4) { height:90%; background:#3f71d8; }
.mini-chart i:nth-child(5) { height:66%; }
.mini-badge { position:absolute; top:9%; right:13%; color:#3a6cd5; font-size:31px; font-weight:800; }
.bento-creator .bento-illustration { display:grid; place-items:center; background:linear-gradient(160deg,#a380fb,#6941bc); border:2px solid rgba(255,255,255,.24); }
.mini-pack { display:grid; place-items:center; width:58%; aspect-ratio: .73; border-radius:14px; background:#fff3be; color:#7451bd; font-size:80px; font-weight:800; box-shadow:8px 9px 0 rgba(0,0,0,.15); }
.mini-plus { position:absolute; right:9%; bottom:14%; display:grid; place-items:center; width:55px; height:55px; border-radius:50%; background:#fff; color:#6239a2; font-size:37px; font-weight:700; }
.bento-caption { margin:22px 0 0; text-align:center; color:#767780; font-size:13px; }
@media(max-width:1000px) {
  .q-bento { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:340px; }
  .bento-map { grid-row:span 1; }
  .bento-map img { width:28%; bottom:-65%; }
  .bento-map .bento-copy { max-width:62%; }
  .bento-questions .bento-copy { max-width:60%; }
  .bento-review,.bento-cards { grid-column:span 1; }
}
@media(max-width:620px) {
  .q-hero h1 { max-width:100%; font-size:clamp(48px,12.8vw,74px); }
  .q-hero .tagline { font-size:clamp(22px,6vw,30px); }
  .q-bento-section { padding:80px 0; }
  .q-bento-heading { margin-bottom:38px; }
  .q-bento-heading p { font-size:17px; }
  .q-bento { grid-template-columns:1fr; grid-auto-rows:auto; gap:14px; }
  .bento-tile,.bento-map,.bento-review,.bento-cards,.bento-games,.bento-progress,.bento-teacher,.bento-creator { grid-column:span 1; grid-row:span 1; min-height:400px; }
  .bento-copy,.bento-map .bento-copy,.bento-review .bento-copy,.bento-cards .bento-copy { padding:25px; max-width:100%; }
  .bento-copy h3,.bento-review h3,.bento-cards h3 { max-width:100%; font-size:32px; }
  .bento-copy p,.bento-map .bento-copy p,.bento-review p,.bento-cards p { max-width:95%; font-size:15px; }
  .bento-map img,.bento-questions img,.bento-review img,.bento-cards img,.bento-games img,.bento-progress img { width:42%; right:8%; top:auto; bottom:-34%; transform:rotate(5deg); }
  .bento-map .bento-copy,.bento-questions .bento-copy,.bento-games .bento-copy,.bento-progress .bento-copy,.bento-teacher .bento-copy,.bento-creator .bento-copy { max-width:100%; }
  .bento-teacher .bento-illustration,.bento-creator .bento-illustration { width:39%; height:44%; right:8%; bottom:-5%; }
  .bento-teacher .bento-copy p,.bento-creator .bento-copy p { max-width:80%; }
}
