:root {
  --ink: #17304a;
  --muted: #50708d;
  --sky: #e9f8ff;
  --blue: #3b8cf5;
  --purple: #7d5cff;
  --yellow: #ffcf4a;
  --coral: #ff7d76;
  --mint: #63d9bd;
  --card: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--sky); font-family: "Avenir Next", "Nunito", "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; }
.site-header { padding: 18px 24px; }
.nav { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { font-weight: 900; font-size: 1.1rem; text-decoration: none; }
.brand span { color: var(--purple); }
.back { color: var(--muted); font-weight: 800; text-decoration: none; font-size: .94rem; }
.back:hover { color: var(--purple); }
.container { max-width: 1100px; margin: 0 auto; padding: 30px 24px 72px; }
.hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; min-height: 480px; }
.eyebrow { color: var(--purple); font-size: .82rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
h1 { font-size: clamp(3rem, 7vw, 5.8rem); line-height: .94; letter-spacing: -.065em; margin: 14px 0 20px; }
h2 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.05em; margin: 0 0 14px; }
h3 { margin: 0 0 8px; font-size: 1.25rem; }
.lede { max-width: 620px; color: var(--muted); font-size: 1.18rem; }
.button { display: inline-block; margin-top: 12px; padding: 13px 20px; color: #fff; background: var(--purple); border-radius: 999px; box-shadow: 0 8px 0 #5a40cf; font-weight: 900; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 11px 0 #5a40cf; }
.scene { position: relative; min-height: 390px; overflow: hidden; border: 5px solid #fff; border-radius: 34px; background: linear-gradient(145deg, #8fe4ff, #b7c5ff 62%, #ffd8f1); box-shadow: 0 20px 44px rgba(43, 76, 111, .14); }
.cloud { position: absolute; padding: 8px 17px; color: white; border-radius: 99px; background: rgba(255,255,255,.74); filter: blur(.1px); animation: drift 7s ease-in-out infinite alternate; }
.cloud.one { top: 13%; left: 10%; } .cloud.two { top: 25%; right: 7%; animation-delay: -3s; }
.robot { position: absolute; left: 50%; top: 50%; z-index: 2; width: 185px; height: 190px; transform: translate(-50%,-50%); animation: bob 3.2s ease-in-out infinite; }
.robot-head { position: absolute; inset: 0 0 42px; border: 7px solid var(--ink); border-radius: 48% 48% 42% 42%; background: #fff; }
.robot-head::before { content: ""; position: absolute; left: 50%; top: -34px; width: 8px; height: 35px; background: var(--ink); transform: translateX(-50%); }
.robot-head::after { content: "✦"; position: absolute; left: 50%; top: -48px; color: var(--yellow); font-size: 34px; transform: translateX(-50%); }
.eye { position: absolute; top: 54px; width: 26px; height: 34px; border-radius: 50%; background: var(--ink); animation: blink 4s infinite; transform-origin: center; }
.eye.left { left: 39px; } .eye.right { right: 39px; }
.smile { position: absolute; left: 50%; bottom: 24px; width: 42px; height: 21px; border-bottom: 6px solid var(--coral); border-radius: 0 0 30px 30px; transform: translateX(-50%); }
.robot-body { position: absolute; left: 28px; right: 28px; bottom: 0; height: 55px; border: 7px solid var(--ink); border-radius: 22px; background: var(--mint); }
.robot-body::after { content: "♥"; position: absolute; left: 50%; top: 8px; color: var(--coral); transform: translateX(-50%); }
.star { position: absolute; font-size: clamp(2rem, 5vw, 4.5rem); animation: twinkle 2.4s ease-in-out infinite alternate; }
.star.one { left: 11%; bottom: 13%; color: var(--yellow); } .star.two { right: 12%; bottom: 17%; color: #fff; animation-delay: -1.2s; }
.section { padding-top: 68px; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: 24px; }
.card { display: flex; flex-direction: column; min-height: 250px; padding: 24px; border: 3px solid rgba(23,48,74,.07); border-radius: 25px; background: var(--card); box-shadow: 0 15px 30px rgba(35,70,104,.09); text-decoration: none; transition: transform .2s ease; }
.card:hover { transform: translateY(-7px) rotate(-.5deg); }
.card-icon { display: grid; width: 70px; height: 70px; margin-bottom: 20px; place-items: center; border-radius: 22px; background: #f2eeff; font-size: 2.3rem; }
.card p { color: var(--muted); margin: 0; }
.card strong { margin-top: auto; color: var(--purple); padding-top: 18px; }
.tip { margin-top: 25px; padding: 22px 25px; border-radius: 22px; background: #fff4bf; font-weight: 700; }
.topic-hero { max-width: 800px; margin: 28px auto 0; text-align: center; }
.topic-hero .lede { margin: 0 auto; }
.lesson { max-width: 800px; margin: 50px auto 0; }
.lesson-card { margin-top: 20px; padding: 28px; border-radius: 26px; background: #fff; box-shadow: 0 15px 30px rgba(35,70,104,.09); }
.lesson-card p, .lesson-card li { color: var(--muted); }
.example { margin-top: 18px; padding: 20px; border-radius: 17px; background: #edfaff; }
.example strong { color: var(--blue); }
.pill-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.pill { padding: 8px 13px; border-radius: 99px; background: white; color: var(--purple); font-weight: 900; box-shadow: 0 4px 0 rgba(88,64,207,.14); }
.footer { margin-top: 70px; padding: 26px 24px; color: var(--muted); text-align: center; font-size: .9rem; }
@keyframes bob { 50% { transform: translate(-50%, calc(-50% - 14px)) rotate(2deg); } }
@keyframes drift { to { transform: translateX(30px); } }
@keyframes twinkle { to { transform: scale(1.2) rotate(15deg); opacity: .7; } }
@keyframes blink { 0%, 46%, 50%, 100% { transform: scaleY(1); } 48% { transform: scaleY(.08); } }
@media (max-width: 760px) { .hero, .cards { grid-template-columns: 1fr; } .hero { padding-top: 18px; } .scene { min-height: 330px; } }
