body{font-family:'Inter',sans-serif;background:#0a0b10;color:#e8eaf2;overflow-x:hidden}

/* ═══ HERO ═══ */
.hero{position:relative;min-height:50vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:60px 28px;}
.hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(-45deg,#0a0b10 0%,#1a1028 20%,#1a0a1a 40%,#0a1a20 60%,#141018 80%,#0a0b10 100%);background-size:400% 400%;animation:gradwave 18s ease-in-out infinite;}
@keyframes gradwave{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.hero-shape{position:absolute;border-radius:50%;animation:float-shape var(--dur,8s) var(--delay,0s) ease-in-out infinite alternate;}
@keyframes float-shape{from{transform:translate(0,0) rotate(0deg);}to{transform:translate(var(--tx,20px),var(--ty,-20px)) rotate(var(--rot,15deg));}}
.hero-emoji{position:absolute;font-size:var(--size,2rem);opacity:.18;animation:float-emoji var(--dur,7s) var(--delay,0s) ease-in-out infinite alternate;user-select:none;pointer-events:none;}
@keyframes float-emoji{from{transform:translateY(0) rotate(0deg);}to{transform:translateY(var(--ty,-18px)) rotate(var(--rot,10deg));}}
.hero-content{position:relative;z-index:1;max-width:760px;text-align:center;}
.hero-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:10px;}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';flex:0 0 32px;height:1.5px;background:var(--teal);opacity:.5;}
.hero-title{font-family:'Fredoka',cursive;font-size:clamp(2.6rem,7vw,4.5rem);font-weight:700;line-height:1.05;color:#fff;margin-bottom:18px;}
.hero-title .accent{color:var(--rose);}
.hero-desc{font-size:clamp(.95rem,2vw,1.1rem);color:rgba(240,234,214,.8);font-weight:500;line-height:1.7;max-width:580px;margin:0 auto 32px;}
.hero-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hero-buttons .btn-primary{box-shadow:0 4px 0 var(--rose-dk);}
.hero-buttons .btn-primary:hover{background:var(--rose-dk);transform:translateY(-2px);box-shadow:0 6px 0 #7a2e2f;}
.hero-buttons .btn-outline{border:2px solid rgba(255,255,255,.4);}
.hero-buttons .btn-outline:hover{background:rgba(255,255,255,.25);}
@media(prefers-reduced-motion:reduce){.hero-bg,.hero-shape,.hero-emoji{animation:none!important;}}

/* ═══ STATS ═══ */
.stats-strip{background:var(--charcoal);padding:36px 28px;}
.stats-inner{max-width:900px;margin:0 auto;display:flex;justify-content:center;gap:56px;flex-wrap:wrap;}
.stat-item{text-align:center;}
.stat-num{font-family:'Fredoka',cursive;font-size:2.8rem;font-weight:700;color:var(--teal);line-height:1;}
.stat-lbl{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,234,214,.4);margin-top:5px;}

/* ═══ SECTIONS ═══ */
.section-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:8px;}
.section-eyebrow::before,.section-eyebrow::after{content:'';flex:0 0 28px;height:1.5px;background:var(--teal);opacity:.4;}
.section-heading{font-family:'Fredoka',cursive;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;color:white;text-align:center;margin-bottom:8px;}
.section-subtext{font-size:.95rem;color:rgba(240,234,214,.6);line-height:1.7;text-align:center;max-width:580px;margin:0 auto 44px;}

/* ═══ CURRICULUM ═══ */
.curriculum-section{padding:72px 28px 80px;position:relative;overflow:hidden;}
.curriculum-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(129,140,248,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(62,201,167,.06) 0%,transparent 45%);pointer-events:none;}
.curriculum-inner{max-width:1060px;margin:0 auto;position:relative;z-index:1;}
.curr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:860px){.curr-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
.curr-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 22px;transition:transform .2s,border-color .2s;}
.curr-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.16);}
.curr-card .cc-icon{font-size:2rem;margin-bottom:10px;}
.curr-card h3{font-family:'Fredoka',cursive;font-size:1.1rem;font-weight:700;color:white;margin-bottom:6px;}
.curr-card p{font-size:.85rem;color:rgba(240,234,214,.55);line-height:1.6;}
.curr-card ul{list-style:none;padding:0;margin:10px 0 0;}
.curr-card ul li{font-size:.82rem;color:rgba(240,234,214,.5);padding:4px 0;display:flex;align-items:center;gap:6px;}
.curr-card ul li::before{content:'✓';color:var(--teal);font-weight:800;}

/* ═══ LESSON PLANS ═══ */
.lessons-section{padding:72px 28px 80px;background:var(--beige);}
.lessons-inner{max-width:1060px;margin:0 auto;}
.lessons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:700px){.lessons-grid{grid-template-columns:1fr;}}
.lesson-card{background:white;border-radius:18px;padding:28px 24px;border:1px solid rgba(64,59,51,.08);box-shadow:0 6px 22px rgba(64,59,51,.08);transition:transform .22s,box-shadow .22s;}
.lesson-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(64,59,51,.14);}
.lesson-card .lc-badge{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:10px;}
.lc-badge.free{background:rgba(34,197,94,.12);color:#16a34a;border:1px solid rgba(34,197,94,.25);}
.lc-badge.printable{background:rgba(188,71,73,.1);color:var(--rose);border:1px solid rgba(188,71,73,.25);}
.lesson-card h3{font-family:'Fredoka',cursive;font-size:1.15rem;font-weight:700;color:var(--charcoal);margin-bottom:6px;}
.lesson-card p{font-size:.88rem;color:var(--charcoal-lt);line-height:1.6;margin-bottom:12px;}
.lesson-card .lc-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem;font-weight:700;color:var(--charcoal-lt);}
.lesson-card .lc-meta span{display:flex;align-items:center;gap:4px;}

/* ═══ SETUP ═══ */
.setup-section{padding:72px 28px 80px;}
.setup-inner{max-width:860px;margin:0 auto;}
.setup-steps{display:flex;flex-direction:column;gap:16px;}
.setup-step{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px 22px;}
.setup-step .ss-num{width:36px;height:36px;border-radius:50%;background:rgba(112,163,167,.15);display:flex;align-items:center;justify-content:center;font-family:'Fredoka',cursive;font-size:1rem;font-weight:700;color:var(--teal);flex-shrink:0;}
.setup-step h3{font-family:'Fredoka',cursive;font-size:1.05rem;font-weight:700;color:white;margin-bottom:4px;}
.setup-step p{font-size:.88rem;color:rgba(240,234,214,.55);line-height:1.6;}

/* ═══ RESOURCES ═══ */
.resources-section{padding:72px 28px 80px;background:var(--charcoal);}
.resources-inner{max-width:960px;margin:0 auto;}
.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.resource-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px 18px;text-decoration:none;transition:transform .2s,border-color .2s;}
.resource-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.16);}
.resource-card .rc-icon{font-size:1.8rem;margin-bottom:10px;}
.resource-card h3{font-family:'Fredoka',cursive;font-size:1rem;font-weight:700;color:white;margin-bottom:4px;}
.resource-card p{font-size:.8rem;color:rgba(240,234,214,.45);line-height:1.5;}

/* ═══ CTA ═══ */
.cta-section{padding:72px 28px;background:var(--teal-dk);position:relative;overflow:hidden;}
.cta-section::before{content:'📚';position:absolute;right:-20px;top:-20px;font-size:160px;opacity:.07;transform:rotate(-15deg);pointer-events:none;}
.cta-inner{max-width:780px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.cta-inner h2{font-family:'Fredoka',cursive;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;color:white;margin-bottom:14px;}
.cta-inner p{font-size:1.05rem;color:rgba(255,255,255,.9);line-height:1.75;margin-bottom:32px;}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-btn-primary{background:white;color:var(--teal-dk);font-weight:700;border-radius:14px;padding:14px 32px;font-size:1rem;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.15);transition:transform .15s,box-shadow .15s;}
.cta-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2);}
.cta-btn-outline{background:rgba(255,255,255,.15);color:white;font-weight:700;border:2px solid rgba(255,255,255,.4);border-radius:14px;padding:13px 30px;font-size:1rem;text-decoration:none;transition:background .2s;}
.cta-btn-outline:hover{background:rgba(255,255,255,.25);}
.reveal{opacity:1!important;transform:none!important}