:root {
  --cream: #fff9f0;
  --paper: #ffffff;
  --ink: #26334a;
  --muted: #65718a;
  --blue: #63b7e8;
  --blue-dark: #318fca;
  --yellow: #ffd66b;
  --coral: #ff8e83;
  --green: #6cc7a5;
  --mint: #e9f8f0;
  --lavender: #eee9ff;
  --line: #e8e5df;
  --shadow: 0 20px 55px rgba(54, 66, 91, .10);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Nunito", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.narrow { max-width: 850px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,249,240,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(232,229,223,.7);
}
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-family: "Baloo 2", sans-serif; font-size: 17px; line-height: .92; color: var(--ink); }
.brand strong { font-weight: 800; }
.brand-mark {
  display: grid; place-items: center; width: 39px; height: 39px;
  border-radius: 14px; background: var(--yellow); color: #725d17;
  font-size: 24px; box-shadow: 0 7px 16px rgba(255,214,107,.25);
}
.nav-button {
  padding: 11px 18px; border-radius: 999px; background: var(--ink); color: white;
  font-weight: 800; font-size: 13px; transition: transform .2s;
}
.nav-button:hover, .primary-button:hover, .product-button:hover { transform: translateY(-2px); }

.hero { position: relative; overflow: hidden; padding: 72px 0 90px; background: linear-gradient(135deg, #fff9f0 0%, #f5fbff 52%, #f3fbf7 100%); }
.hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 55px; min-height: 610px; }
.eyebrow, .section-kicker, .product-tag {
  font-weight: 800; letter-spacing: .13em; font-size: 12px;
}
.eyebrow, .section-kicker { color: var(--blue-dark); }
.hero h1 {
  font-family: "Baloo 2", sans-serif; font-size: clamp(48px, 6vw, 76px); line-height: .96;
  letter-spacing: -.035em; margin: 20px 0 24px; max-width: 720px;
}
.hero h1 span, h2 span { color: var(--blue-dark); }
.hero-text { color: var(--muted); font-size: 19px; max-width: 610px; }
.primary-button {
  display: inline-flex; align-items: center; gap: 17px; margin-top: 18px;
  padding: 16px 22px; border-radius: 16px; background: var(--ink); color: white;
  font-size: 14px; font-weight: 800; box-shadow: 0 12px 25px rgba(38,51,74,.18);
  transition: transform .2s;
}
.primary-button span { font-size: 22px; line-height: 0; }
.mini-note { margin-top: 15px; color: #778297; font-size: 13px; font-weight: 700; }

.hero-art { min-height: 520px; position: relative; display: grid; place-items: center; }
.sun { position: absolute; width: 270px; height: 270px; border-radius: 50%; background: #fff0b4; right: 50px; top: 55px; }
.cloud { position: absolute; width: 110px; height: 32px; background: white; border-radius: 30px; box-shadow: 0 8px 20px rgba(75,92,111,.08); }
.cloud:before, .cloud:after { content:""; position:absolute; background:white; border-radius:50%; }
.cloud:before { width: 45px; height:45px; left:15px; top:-20px; }
.cloud:after { width: 58px; height:58px; right:12px; top:-29px; }
.cloud-a { top: 100px; left: 10px; }
.cloud-b { bottom: 90px; right: 0; transform: scale(.7); }
.device {
  position: relative; z-index: 2; width: 270px; height: 390px; padding: 13px;
  border-radius: 38px; background: #26334a; transform: rotate(5deg);
  box-shadow: 0 35px 60px rgba(38,51,74,.24);
}
.device:after { content:""; position:absolute; width:50px; height:6px; border-radius:9px; background:#4a5870; left:50%; top:8px; transform:translateX(-50%); }
.device-screen {
  height: 100%; border-radius: 28px; padding: 60px 24px 25px;
  background: linear-gradient(160deg,#c8efff,#e8fbf5);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
}
.screen-spark { color: #e5a91a; font-size: 34px; }
.screen-title { font-family:"Baloo 2"; font-size:30px; line-height:.95; margin: 15px 0; }
.screen-title strong { color: var(--blue-dark); }
.screen-icons { display:flex; gap:10px; }
.screen-icons span { background:white; border-radius:14px; padding:10px; box-shadow:0 6px 14px rgba(0,0,0,.06); }
.floating-card { position:absolute; z-index:3; display:grid; place-items:center; width:76px; height:76px; border-radius:22px; background:white; box-shadow:var(--shadow); font-size:32px; }
.card-a { top: 120px; right: 50px; transform:rotate(10deg); }
.card-b { bottom: 115px; left: 45px; transform:rotate(-9deg); }
.card-c { top: 250px; right: -5px; transform:rotate(12deg); }

.hero-decoration { position:absolute; opacity:.5; }
.deco-1 { top:70px; left:4%; color:var(--yellow); font-size:50px; }
.deco-2 { bottom:50px; right:4%; color:var(--coral); font-size:25px; }

.section { padding: 105px 0; }
.intro { background:white; text-align:center; }
.intro h2, .center-heading h2, .section-heading h2, .purpose h2 {
  font-family:"Baloo 2"; font-size:clamp(36px,4vw,53px); line-height:1.03; margin:12px 0 24px; letter-spacing:-.025em;
}
.intro p { color:var(--muted); font-size:18px; margin: 12px auto; max-width: 790px; }
.intro strong { color:var(--ink); }

.products { background:var(--cream); }
.section-heading { display:grid; grid-template-columns:1.1fr .7fr; align-items:end; gap:50px; margin-bottom:45px; }
.section-heading > p { color:var(--muted); font-size:16px; margin:0 0 8px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product-card { background:white; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:0 10px 35px rgba(54,66,91,.06); transition:transform .25s, box-shadow .25s; }
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.product-visual { height:235px; position:relative; display:grid; place-items:center; overflow:hidden; }
.product-blue .product-visual { background:#dff4ff; }
.product-coral .product-visual { background:#fff0ec; }
.product-green .product-visual { background:#e5f7ef; }
.phone { font-size:90px; filter:drop-shadow(0 16px 10px rgba(38,51,74,.12)); transform:rotate(6deg); }
.visual-bubble, .game-shape, .book-spark, .book-star, .book-cloud { position:absolute; }
.visual-bubble { width:52px; height:52px; border-radius:18px; display:grid; place-items:center; background:white; font-family:"Baloo 2"; font-size:25px; font-weight:800; box-shadow:0 8px 20px rgba(38,51,74,.1); }
.bubble-1 { top:35px; left:48px; transform:rotate(-12deg); }
.bubble-2 { right:50px; bottom:30px; transform:rotate(10deg); }
.visual-star { position:absolute; top:38px; right:50px; color:#e4aa19; font-size:35px; }
.game-window { background:white; border-radius:24px; padding:24px 30px; box-shadow:0 18px 35px rgba(38,51,74,.12); display:flex; flex-direction:column; align-items:center; gap:5px; transform:rotate(-4deg); }
.game-window span { font-size:50px; }
.game-window strong { font-family:"Baloo 2"; font-size:20px; }
.shape-1 { left:45px; top:38px; color:#f0bd34; font-size:35px; }
.shape-2 { right:55px; top:45px; color:#69b9e7; font-size:25px; }
.shape-3 { bottom:28px; left:70px; color:#77c9a7; font-size:30px; }
.book { font-size:105px; filter:drop-shadow(0 17px 10px rgba(38,51,74,.12)); transform:rotate(-5deg); }
.book-spark { left:55px; top:35px; color:#f1ba2e; font-size:34px; }
.book-star { right:58px; top:48px; color:#ff8e83; font-size:28px; }
.book-cloud { left:70px; bottom:32px; font-size:36px; color:#8dd1ee; }
.product-body { padding:27px 25px 26px; }
.product-tag { font-size:10px; color:#778297; }
.product-body h3 { font-family:"Baloo 2"; font-size:30px; line-height:1; margin:8px 0 12px; }
.product-body p { color:var(--muted); font-size:14px; min-height:105px; }
.product-body ul { list-style:none; padding:0; margin:18px 0 23px; color:#4f5c71; font-size:13px; display:grid; gap:7px; }
.product-button { display:flex; justify-content:space-between; align-items:center; width:100%; padding:13px 15px; border-radius:13px; background:var(--ink); color:white; font-size:12px; font-weight:800; transition:transform .2s; }
.product-button span { font-size:19px; }

.purpose { background:white; }
.purpose-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:80px; }
.purpose-art { min-height:440px; position:relative; display:grid; place-items:center; }
.purpose-device { width:180px; height:180px; border-radius:55px; display:grid; place-items:center; background:linear-gradient(145deg,#dff5ff,#fff0b6); box-shadow:var(--shadow); font-size:85px; position:relative; z-index:2; }
.orbit { position:absolute; border:2px dashed #d6e8ef; border-radius:50%; }
.orbit-one { width:300px; height:300px; }
.orbit-two { width:410px; height:410px; }
.purpose-float { position:absolute; width:62px; height:62px; display:grid; place-items:center; background:white; border-radius:20px; box-shadow:var(--shadow); font-size:27px; z-index:3; }
.pf-1 { top:50px; left:75px; }
.pf-2 { top:85px; right:50px; }
.pf-3 { bottom:45px; left:105px; }
.purpose-copy > p { color:var(--muted); font-size:17px; }
.value-list { margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.value-list div { padding:16px; background:#faf9f6; border:1px solid var(--line); border-radius:18px; }
.value-list b { display:block; font-size:15px; }
.value-list span { color:var(--muted); font-size:12px; }

.families { background:#f5fbff; }
.center-heading { text-align:center; max-width:790px; margin:0 auto 42px; }
.center-heading p { color:var(--muted); font-size:17px; }
.pill-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:850px; margin:auto; }
.pill { background:white; border:1px solid var(--line); border-radius:18px; padding:19px; text-align:center; font-weight:800; box-shadow:0 8px 25px rgba(54,66,91,.04); }

.moments { background:var(--cream); }
.moment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.moment { background:white; border:1px solid var(--line); border-radius:23px; padding:22px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; transition:transform .2s; }
.moment:hover { transform:translateY(-4px); }
.moment > span { width:57px; height:57px; display:grid; place-items:center; border-radius:17px; background:#f5f7fb; font-size:27px; }
.moment small { color:#788397; font-size:9px; font-weight:800; letter-spacing:.12em; }
.moment h3 { font-family:"Baloo 2"; font-size:22px; line-height:1; margin:3px 0 5px; }
.moment p { color:var(--muted); font-size:12px; line-height:1.45; margin:0; }
.moment > b { font-size:22px; color:var(--blue-dark); }

.final-cta { padding:90px 0; background:var(--cream); }
.final-box { position:relative; overflow:hidden; text-align:center; background:var(--ink); color:white; border-radius:38px; padding:75px 25px; box-shadow:0 25px 60px rgba(38,51,74,.2); }
.final-box:before, .final-box:after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.05); }
.final-box:before { width:280px; height:280px; left:-100px; bottom:-130px; }
.final-box:after { width:360px; height:360px; right:-150px; top:-190px; }
.final-box .section-kicker { color:#8dd1ee; position:relative; z-index:1; }
.final-box h2 { font-family:"Baloo 2"; font-size:clamp(39px,5vw,62px); line-height:1; max-width:800px; margin:13px auto 18px; position:relative; z-index:1; }
.final-box h2 span { color:#ffd66b; }
.final-box p { color:#dce3ee; max-width:610px; margin:auto; position:relative; z-index:1; }
.cta-stars { position:absolute; top:20px; left:50%; transform:translateX(-50%); color:#ffd66b; opacity:.75; }
.light-button { background:white; color:var(--ink); position:relative; z-index:1; }

.footer { background:#fff; padding:55px 0 25px; border-top:1px solid var(--line); }
.footer-grid { display:flex; justify-content:space-between; gap:40px; }
.footer-brand { font-size:16px; }
.footer p { color:var(--muted); font-size:13px; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:10px 35px; align-content:start; font-size:13px; font-weight:700; }
.footer-links a:hover { color:var(--blue-dark); }
.footer-bottom { margin-top:45px; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; color:#8992a2; font-size:11px; }

@media (max-width: 900px) {
  .hero-grid, .purpose-grid { grid-template-columns:1fr; }
  .hero { padding-top:50px; }
  .hero-art { min-height:470px; }
  .section-heading { grid-template-columns:1fr; gap:5px; }
  .product-grid, .moment-grid { grid-template-columns:1fr; }
  .product-body p { min-height:0; }
  .purpose-art { min-height:400px; order:2; }
  .purpose-copy { order:1; }
  .pill-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  .container { width:min(100% - 28px, 1120px); }
  .nav { min-height:68px; }
  .brand { font-size:14px; }
  .brand-mark { width:34px; height:34px; font-size:20px; border-radius:12px; }
  .nav-button { display:none; }
  .hero { padding:35px 0 55px; }
  .hero-grid { min-height:0; gap:15px; }
  .hero h1 { font-size:48px; }
  .hero-text { font-size:16px; }
  .primary-button { width:100%; justify-content:center; }
  .hero-art { min-height:390px; transform:scale(.84); margin:-25px 0 -25px; }
  .device { width:230px; height:335px; }
  .sun { width:230px; height:230px; right:15px; top:45px; }
  .card-a { right:15px; }
  .card-b { left:10px; }
  .card-c { right:-10px; top:230px; }
  .section { padding:72px 0; }
  .intro h2, .center-heading h2, .section-heading h2, .purpose h2 { font-size:38px; }
  .intro p { font-size:16px; }
  .product-visual { height:210px; }
  .purpose-grid { gap:25px; }
  .purpose-art { transform:scale(.78); margin:-40px 0; }
  .value-list { grid-template-columns:1fr; }
  .pill-grid { grid-template-columns:1fr; }
  .moment { grid-template-columns:auto 1fr; }
  .moment > b { display:none; }
  .final-box { border-radius:28px; padding:65px 20px; }
  .footer-grid { flex-direction:column; }
  .footer-links { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:5px; }
}
