/* Pink Chalk – professional theme (warm white, pink #D64D87, teal #267F78, charcoal #273440, blush #E8D9DE) */
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700&family=Great+Vibes&family=Nunito+Sans:wght@400;600;700&display=swap');
:root{--bg:#FAF8F6;--white:#fff;--pink:#D64D87;--pink-d:#B83A70;--pink-l:#F7E6EE;--teal:#267F78;--teal-d:#1D6560;--teal-l:#E3F1EF;--ink:#273440;--sub:#4E5A66;--blush:#E8D9DE;--line:#E7E1DE;--head:#273440;
--r:14px;--sh:0 1px 2px #2734400d,0 4px 14px #2734400a;--sh-h:0 10px 26px #27344020;--fh:'Baloo 2',system-ui,sans-serif;--fb:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box;animation:none!important}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--fb);overflow-x:hidden}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--fh);font-weight:700;color:var(--ink);line-height:1.2;margin:0 0 .5em;letter-spacing:-.005em}
h2{font-size:clamp(1.6rem,3vw,2.15rem)}h3{font-size:1.18rem;font-weight:600}
p{margin:0 0 1em}a{color:var(--teal-d)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;padding:8px 14px;border-radius:8px}.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.frame{max-width:none;margin:0;padding:0;border:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.c{text-align:center}
.kicker{font:700 .78rem/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin:0 0 10px}
/* header */
.site-head{position:sticky;top:0;z-index:40;background:var(--ink);color:#fff;box-shadow:0 1px 0 #ffffff12}
.head-in{max-width:1120px;margin:0 auto;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:40px;height:auto}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font:700 1.55rem/1 var(--fh);color:#FF4F9A;letter-spacing:.01em}.brand-name em{font-style:normal;color:#FF4F9A}
.brand-sub{font:600 .78rem/1.3 var(--fb);color:#E9EDF1;letter-spacing:.03em}
.nav-list,.sub{list-style:none;margin:0;padding:0}
.nav-list{display:flex;align-items:center;gap:4px}
.nav-list>li{position:relative;display:flex;align-items:center}
.nav-list a{display:inline-block;color:#fff;text-decoration:none;font:600 .95rem/1 var(--fb);padding:10px 12px;border-radius:8px;transition:transform .2s ease,background .2s ease,color .2s ease}
.nav-list a:hover{color:#FF8DBE;transform:translateY(-2px)}
.nav-cta{background:var(--pink);margin-left:6px}.nav-list .nav-cta:hover{background:var(--pink-d);color:#fff}
.sub-btn{background:none;border:0;color:#fff;padding:8px 6px;margin-left:-8px;cursor:pointer;border-radius:6px}
.sub{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border-radius:12px;box-shadow:var(--sh-h);padding:8px;display:none}
.sub a{display:block;color:var(--ink);padding:10px 12px}.sub a:hover{background:var(--pink-l);color:var(--pink-d);transform:none}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{display:block}
.shop-link{display:none}body.shop-enabled .shop-link{display:block}
.menu-btn{display:none;align-items:center;gap:8px;background:transparent;border:1px solid #ffffff40;color:#fff;font:600 .9rem var(--fb);padding:8px 12px;border-radius:8px;cursor:pointer}
.mb-bars,.mb-bars::before,.mb-bars::after{display:block;width:18px;height:2px;background:#fff;border-radius:2px;position:relative}
.mb-bars::before,.mb-bars::after{content:"";position:absolute;left:0}.mb-bars::before{top:-6px}.mb-bars::after{top:6px}
@media(max-width:900px){
 .menu-btn{display:inline-flex}
 #site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:8px 20px 18px;border-top:1px solid #ffffff1a}
 .site-head.nav-open #site-nav{display:block}
 .nav-list{flex-direction:column;align-items:stretch;gap:0}
 .nav-list>li{flex-wrap:wrap;border-bottom:1px solid #ffffff14}
 .nav-list>li>a{flex:1;padding:14px 4px;font-size:1rem}
 .sub-btn{padding:12px 14px;margin:0}
 .sub{position:static;display:none;width:100%;box-shadow:none;background:#ffffff0d;margin:0 0 10px}
 .has-sub:hover .sub,.has-sub:focus-within .sub{display:none}.has-sub.open .sub{display:block}
 .sub a{color:#fff}.sub a:hover{background:#ffffff14;color:#fff}
 .nav-cta{margin:12px 0 0;text-align:center}
 .nav-list>li:last-child{border:0}
}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 1rem/1.2 var(--fb);background:var(--pink);color:#fff;border:2px solid var(--pink);padding:12px 24px;border-radius:10px;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:none}
.btn:hover{transform:translateY(-3px);box-shadow:0 8px 18px #D64D8740;background:var(--pink-d);border-color:var(--pink-d)}
.btn.alt{background:transparent;color:var(--teal-d);border-color:var(--teal)}.btn.alt:hover{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 8px 18px #267F7838}
.btn-lg{padding:15px 32px;font-size:1.08rem}
.btn.disabled{background:#F1EEEC;border-color:var(--line);color:var(--sub);cursor:not-allowed}.btn.disabled:hover{transform:none;box-shadow:none}
/* hero */
.hero{background:var(--bg);padding:64px 0 56px;border-bottom:1px solid var(--line)}
.hero-in{max-width:1120px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1.25fr .85fr;gap:56px;align-items:center}
.hero-sub{font:700 .85rem/1.4 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-d);margin:0 0 14px}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.08;margin:0 0 18px;color:var(--ink)}
.hero-intro{font-size:1.12rem;color:var(--sub);max-width:600px}
.hero-cred{display:inline-flex;align-items:center;gap:10px;margin:4px 0 26px;padding:10px 16px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:10px;font-weight:600;font-size:.95rem;color:var(--ink)}
.hero-cred .ico{color:var(--pink);flex:none}.hero-cred abbr{text-decoration:none}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero-art{position:relative;aspect-ratio:5/6;max-width:380px;width:100%;justify-self:end;background:var(--blush);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;padding:24px}
.chalk-lines{position:absolute;inset:0;width:100%;height:100%}
.art-logo{position:relative;width:46%;max-width:160px}
.art-name{position:relative;font-family:'Great Vibes',cursive;font-size:2.1rem;color:var(--ink);margin:0}
.art-tags{position:relative;list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.art-tags li{display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 12px;font-weight:600;font-size:.88rem}
.art-tags li:nth-child(2n) .ico{color:var(--teal)}.art-tags .ico{width:18px;height:18px;color:var(--pink)}
/* sections */
.sec{padding:64px 0}.sec.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-lead{max-width:760px;margin:0 auto 30px;text-align:center;color:var(--sub);font-size:1.05rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.paths{padding:40px 0 8px}
.path-card{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-top:3px solid var(--pink);border-radius:var(--r);box-shadow:var(--sh);padding:28px;transition:transform .2s ease,box-shadow .2s ease}
.path-card.pc-teal{border-top-color:var(--teal)}.path-card:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.path-k{display:block;font:700 .78rem/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}.pc-teal .path-k{color:var(--teal)}
.path-card h2{font-size:1.6rem;margin-bottom:8px}.path-card p{color:var(--sub);margin-bottom:12px}
.path-go{font-weight:700;color:var(--pink-d)}.pc-teal .path-go{color:var(--teal-d)}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.about-lead{font-size:1.15rem;color:var(--ink);font-weight:600}
.facts-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.facts-list li{display:flex;gap:10px;align-items:center;font-weight:600}.facts-list .ico{width:20px;height:20px;color:var(--teal);flex:none}
.about-b p{color:var(--sub)}
.cred{text-align:center;color:var(--sub);font-weight:600;margin:-4px 0 28px}
/* cards */
.cards{display:grid;gap:24px}
.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.subj{grid-template-columns:repeat(6,1fr)}.cards.subj>.card{grid-column:span 2}.cards.subj>.card:nth-child(4){grid-column:2/span 2}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--pink);border-radius:var(--r);box-shadow:var(--sh);padding:26px;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.card.acc-teal{border-top-color:var(--teal)}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.card h3{margin-bottom:10px}.card p,.card li{color:var(--sub);font-size:.97rem}
.card ul{margin:0;padding-left:18px}.card li{margin:0 0 6px}
.ci{width:46px;height:46px;border-radius:12px;background:var(--pink-l);color:var(--pink-d);display:grid;place-items:center;margin-bottom:16px;transition:transform .2s ease}
.acc-teal .ci{background:var(--teal-l);color:var(--teal-d)}.card:hover .ci{transform:translateY(-3px)}
.grade{font-weight:700;color:var(--ink)!important;font-size:.9rem!important;margin-bottom:8px}
.benefit{margin:auto 0 0!important;padding-top:10px;border-top:1px solid var(--line);font-weight:600;color:var(--teal-d)!important}
.acc-pink .benefit{color:var(--pink-d)!important}
.strengths{margin-top:36px;text-align:center}.strengths h3{font-size:1.05rem;color:var(--sub)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0}
.chips span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:600;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.chips span:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.steps-row{list-style:none;padding:0;margin:32px 0 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps-row li{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px}
.steps-row b{flex:none;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.9rem}
.steps-row span{font-size:.92rem;color:var(--sub)}.steps-row strong{display:block;color:var(--ink);font-size:.98rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:30px}
.panel:nth-child(2){background:var(--blush);border-color:#E0CDD3}
.panel h2{font-size:1.55rem}.more a{font-weight:700;color:var(--teal-d)}
.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.note{font-size:.85rem;color:var(--sub);margin:6px 0 0;width:100%}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #CFC7C4;border-radius:10px;padding:12px 14px;width:100%}
.inline-form input{flex:1 1 220px;width:auto}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #267F7833}
.soon{max-width:720px;margin:0 auto;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:26px;color:var(--sub)}
.contact{align-items:start}.contact-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-weight:600}
.contact-list a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--pink)}
.cform{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:var(--r);box-shadow:var(--sh);padding:26px;display:grid;gap:14px}
.cform label{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cbtns{display:flex;flex-wrap:wrap;gap:10px}
.cform .err{border-color:#B3261E}
/* footer */
.site-foot{background:var(--ink);color:#D5DBE1;padding:34px 0}
.foot-in{max-width:1120px;margin:0 auto;padding:0 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.foot-in p{margin:0}.foot-brand{font:700 1.25rem var(--fh);color:#FF4F9A}.foot-brand em{font-style:normal}.foot-brand span{font:600 .85rem var(--fb);color:#D5DBE1;margin-left:6px}
.foot-links{display:flex;flex-wrap:wrap;gap:16px}.foot-links a{color:#fff;text-decoration:none;font-weight:600;font-size:.92rem}.foot-links a:hover{color:#FF8DBE}
.foot-copy{width:100%;font-size:.85rem;color:#AEB8C2}
/* resources page */
.res-hero{padding:52px 0 40px;text-align:center}.res-hero .hero-in{display:block;text-align:center}.res-hero h1{margin-bottom:10px}.res-hero p{max-width:680px;margin:0 auto 12px;color:var(--sub)}
.quick{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px}
#resources{max-width:1120px;margin:0 auto;padding:40px 28px 64px}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.fl-label{font-weight:700;min-width:70px}
.chipset{display:flex;flex-wrap:wrap;gap:6px}
.fchip{font:600 .88rem var(--fb);background:#fff;color:var(--ink);border:1px solid #CFC7C4;border-radius:999px;padding:6px 14px;cursor:pointer;transition:transform .2s ease}
.fchip:hover{transform:translateY(-2px)}.fchip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px;margin-top:26px}
.rcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.rcard:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.rcover{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--blush)}
.rbody{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}.rbody h3{font-size:1.08rem}.rbody p{font-size:.92rem;color:var(--sub)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag{font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px}
.tag.s{background:var(--pink-l);color:var(--pink-d)}.tag.g{background:var(--teal-l);color:var(--teal-d)}.tag.t{background:#F1EEEC;color:var(--ink)}
.ract{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.ract .btn{padding:9px 10px;font-size:.88rem}
.sample-tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--ink);color:#fff;font:700 .72rem var(--fb);letter-spacing:.08em;padding:4px 10px;border-radius:8px}
.lb{position:fixed;inset:0;z-index:60;background:#273440d9;display:grid;place-items:center;padding:20px}.lb[hidden]{display:none}
.lb-box{position:relative;background:#fff;border-radius:16px;padding:18px;max-width:min(900px,96vw);width:100%}
.lb-stage img,.lb-stage video{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:10px;background:var(--bg)}
.lb-x{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:1rem;cursor:pointer}
.lb-nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-weight:700}
/* practice + video + shop pages */
.pw{font-family:var(--fb)!important;color:var(--ink)!important}
.pw h1,.pw h2,.pw h3{font-family:var(--fh)!important;color:var(--ink)!important;font-weight:700!important}
.phero{background:#fff!important;border:1px solid var(--line);border-top:3px solid var(--pink);border-radius:var(--r)!important;box-shadow:var(--sh)!important}
.phero .nm{color:var(--pink-d)!important}.phero .em{display:none}
.facts li{background:var(--bg)!important;border:1px solid var(--line)}
.disc{background:var(--bg)!important;border:1px solid var(--line)!important}
#bar{background:var(--teal)!important}
#qcard,.review,.sg{border:1px solid var(--line);box-shadow:var(--sh)!important}
.rhead{background:var(--blush)!important}.rbox.s{background:var(--teal-l)!important}.rbox.w{background:var(--pink-l)!important}
.chip{background:var(--ink)!important}.mv{background:var(--teal-l)!important;color:var(--teal-d)!important}
body>.frame>section,main>section:not(.sec):not(.hero):not(.paths){max-width:1120px;margin:0 auto;padding:40px 28px}
.vid{border:1px solid var(--line)!important;border-radius:var(--r)!important}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.wave,.squig,.floaters,.sym,.spk,.doodle{display:none!important}
.reveal{opacity:1!important;transform:none!important}
/* responsive */
@media(max-width:1020px){.cards.four{grid-template-columns:repeat(2,1fr)}.steps-row{grid-template-columns:repeat(2,1fr)}
 .cards.subj{grid-template-columns:repeat(2,1fr)}.cards.subj>.card,.cards.subj>.card:nth-child(4){grid-column:auto}.cards.subj>.card:nth-child(5){grid-column:1/-1}}
@media(max-width:860px){.hero-in{grid-template-columns:1fr;gap:36px}.hero-art{justify-self:center;max-width:420px;aspect-ratio:16/10}.art-logo{width:28%}
 .about{grid-template-columns:1fr;gap:20px}.two{grid-template-columns:1fr}.cards.three{grid-template-columns:1fr}}
@media(max-width:600px){body{font-size:16px}.wrap,.hero-in,.head-in,.foot-in,#resources{padding-left:18px;padding-right:18px}
 .hero{padding:40px 0}.sec{padding:48px 0}.cards.four,.cards.subj,.steps-row{grid-template-columns:1fr}.cards.subj>.card:nth-child(5){grid-column:auto}
 .f2{grid-template-columns:1fr}.hero-btns .btn,.cbtns .btn{flex:1 1 100%}.brand-name{font-size:1.35rem}.brand img{width:34px}
 .hero-art{aspect-ratio:4/3}.card,.panel,.cform,.path-card{padding:22px}.ract{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Playful premium layer ===== */
:root{--lav:#EEE8F6;--blush2:#F6E6EC;--peach:#E8F3F1;--lav-d:#6B5499;--peach-d:#1F6B65}
.tint-peach{background:var(--peach)!important}.tint-lav{background:var(--lav)!important}.tint-blush{background:var(--blush2)!important}
.sec.tint-peach,.sec.tint-lav,.sec.tint-blush{border:0}
.deco-sec{position:relative;overflow:hidden}
.deco-sec::before,.deco-sec::after{content:"";position:absolute;pointer-events:none;z-index:0}
.deco-sec::before{width:180px;height:180px;right:-60px;top:-50px;border-radius:50%;border:2px dashed #D64D8740}
.deco-sec::after{width:0;height:0;left:4%;bottom:28px;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:28px solid #267F7826;transform:rotate(-12deg)}
.tint-lav.deco-sec::before{border-color:#6B549940}.tint-peach.deco-sec::after{border-bottom-color:#D64D8726}
.deco-sec>.wrap{position:relative;z-index:1}
.chalk-ul{position:relative;display:inline-block;z-index:0}
.chalk-ul::after{content:"";position:absolute;left:-4%;right:-4%;bottom:-.12em;height:.42em;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13C40 5 80 15 120 9s60-4 77 1' fill='none' stroke='%23D64D87' stroke-width='7' stroke-linecap='round' opacity='.35'/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* hero composition */
.hero{position:relative;overflow:hidden}
.hero-in{grid-template-columns:1.1fr 1fr}
.hero-stage{position:relative;width:100%;max-width:520px;justify-self:end;aspect-ratio:1/0.92}
.fan{position:absolute;inset:0}
.deco-blob{position:absolute;inset:4% 2% 0 6%;width:92%;height:96%}
.deco-dots{position:absolute;left:-6%;bottom:2%;width:42%}
.pg{position:absolute;width:52%;height:auto;border-radius:10px;background:#fff;box-shadow:0 2px 4px #27344014,0 18px 36px #27344024;transition:transform .25s ease,box-shadow .25s ease;border:6px solid #fff}
.pg1{left:4%;top:16%;transform:rotate(-9deg)}
.pg2{left:25%;top:5%;transform:rotate(1deg);z-index:2;width:54%}
.pg3{right:2%;top:20%;transform:rotate(8deg);z-index:1}
.fan:hover .pg1{transform:rotate(-12deg) translate(-8px,-3px)}.fan:hover .pg3{transform:rotate(11deg) translate(8px,-3px)}.fan:hover .pg2{transform:rotate(0) translateY(-5px)}
.tool{position:absolute;z-index:3;filter:drop-shadow(0 4px 6px #27344022)}
.pencil{width:44%;left:44%;bottom:7%;transform:rotate(-18deg)}
.ruler{width:42%;left:2%;bottom:12%;transform:rotate(6deg);z-index:2}
.clip{width:5%;left:31%;top:2%;transform:rotate(8deg)}
.chalk{width:30%;right:4%;top:6%}
.sticky{position:absolute;z-index:4;right:0;bottom:24%;width:30%;aspect-ratio:1;background:#F3EFF8;background:#E8F3F1;border-radius:4px;padding:10px;transform:rotate(5deg);box-shadow:0 10px 18px #27344020;display:flex;flex-direction:column;justify-content:center;font-family:'Baloo 2',sans-serif;line-height:1.1;color:#273440}
.sticky::before{content:"";position:absolute;top:-8px;left:30%;width:40%;height:16px;background:#EEE8F6cc;transform:rotate(-3deg)}
.sticky span{font-size:.85rem;color:#4E5A66}.sticky strong{font-size:1.15rem;color:#B83A70}

/* expertise */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:6px 0 22px}
.stat{background:#fff;border-radius:18px;padding:24px 22px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:4px;transition:transform .2s ease,box-shadow .2s ease}
.stat:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.stat b{font:700 3.2rem/1 'Baloo 2',sans-serif;letter-spacing:-.02em}
.stat span{color:var(--sub);font-weight:600;font-size:.95rem;line-height:1.35}
.s-pink b{color:var(--pink)}.s-teal b{color:var(--teal)}.s-lav b{color:var(--lav-d)}
.stat:nth-child(2){transform:translateY(14px)}.stat:nth-child(4){transform:translateY(14px)}
.stat:nth-child(2):hover,.stat:nth-child(4):hover{transform:translateY(11px)}
.s-badge{background:var(--ink);color:#fff;align-items:flex-start}.s-badge strong{font:700 1.35rem/1.1 'Baloo 2',sans-serif;color:#fff}.s-badge span{color:#D5DBE1}
.seal{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--pink);color:#fff;margin-bottom:8px;box-shadow:0 0 0 5px #D64D8740}
.tagcloud{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:34px 0 34px}
.tagcloud span{font:700 .92rem var(--fb);padding:8px 16px;border-radius:999px;background:#fff;border:1.5px solid;transition:transform .2s ease}
.tagcloud span:hover{transform:translateY(-3px)}
.t-pink{color:var(--pink-d);border-color:#D64D8766}.t-teal{color:var(--teal-d);border-color:#267F7866}.t-lav{color:var(--lav-d);border-color:#6B549966}.t-peach{color:var(--peach-d);border-color:#1F6B6566}
.xp{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border-radius:18px;box-shadow:var(--sh);overflow:hidden}
.xp-i{padding:24px 28px;border-left:4px solid transparent;transition:background .2s ease}
.xp-i:nth-child(1){border-left-color:var(--pink)}.xp-i:nth-child(2){border-left-color:var(--teal)}.xp-i:nth-child(3){border-left-color:var(--lav-d)}.xp-i:nth-child(4){border-left-color:var(--peach-d)}
.xp-i:nth-child(-n+2){border-bottom:1px solid var(--line)}.xp-i:hover{background:#FCFAFB}
.xp-i h3{margin-bottom:6px}.xp-i p{color:var(--sub);margin:0;font-size:.96rem}
.tint-lav .strengths .chips span{background:#fff}
/* subjects */
.scard{position:relative;overflow:hidden;border-top:0!important;border:0!important;padding-top:24px}
.scard .ill{width:84px;height:84px;margin-bottom:12px;transition:transform .25s ease}
.scard:hover .ill{transform:translateY(-3px) rotate(-4deg)}
.t-math{background:linear-gradient(180deg,#FCEEF4,#fff 60%)!important}.t-sci{background:linear-gradient(180deg,#E6F4F2,#fff 60%)!important}
.t-eng{background:linear-gradient(180deg,#F1ECF9,#fff 60%)!important}.t-inc{background:linear-gradient(180deg,#EEF6F4,#fff 60%)!important}
.t-map{background:linear-gradient(180deg,#EAF3F7,#fff 60%)!important}
.t-eng .benefit{color:var(--lav-d)!important}.t-inc .benefit{color:var(--peach-d)!important}
.t-math .benefit{color:var(--pink-d)!important}.t-sci .benefit,.t-map .benefit{color:var(--teal-d)!important}
@media(min-width:1021px){.cards.subj>.card:nth-child(2){transform:translateY(18px)}.cards.subj>.card:nth-child(2):hover{transform:translateY(15px)}}
.tint-blush .card{border-top-width:3px}
.steps-wrap{position:relative}
.steps-path{position:absolute;left:0;right:0;top:50%;width:100%;height:40px;transform:translateY(-50%);z-index:0}
.steps-row{position:relative;z-index:1}.steps-row li{background:#fff}
.cta-block{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#fff;border-radius:18px;padding:26px 30px;position:relative;overflow:hidden}
.cta-block::after{content:"";position:absolute;right:-30px;bottom:-40px;width:140px;height:140px;border-radius:50%;border:2px dashed #FF8DBE66}
.cta-block h3{color:#fff;margin-bottom:4px}.cta-block p{color:#D5DBE1;margin:0}.cta-block .btn{position:relative;z-index:1;flex:none}
/* featured resources */
.feat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.feat-head p{color:var(--sub);max-width:620px;margin:0}
.bundle{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center;background:#fff;border-radius:20px;box-shadow:var(--sh);padding:22px;margin-bottom:26px}
.bundle img{border-radius:14px;transform:rotate(-2deg);box-shadow:0 12px 26px #27344022;transition:transform .25s ease}.bundle:hover img{transform:rotate(0) translateY(-3px)}
.ribbon{display:inline-block;background:var(--pink);color:#fff;font:700 .75rem var(--fb);letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:10px}
.bundle-b p{color:var(--sub)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{background:#fff;border-radius:16px;box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.pc-img{position:relative;aspect-ratio:1;background:var(--blush2);overflow:hidden}
.pc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}
.pc-peek{opacity:0}.pcard:hover .pc-peek,.pcard:focus-within .pc-peek{opacity:1}
.pc-b{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}.pc-b h3{font-size:1.05rem;margin-bottom:4px}.pc-b p{font-size:.88rem;color:var(--sub);margin-bottom:14px}
.pc-act{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.pc-act .btn{padding:9px 10px;font-size:.9rem}
.bundle .pc-act{max-width:360px}
.ms-h{margin:40px 0 16px;font-size:1.15rem}
.mshelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.mshelf li{position:relative;background:#fff;border-radius:14px;padding:10px 10px 14px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:2px;transition:transform .2s ease}
.mshelf li:hover{transform:translateY(-3px)}
.mshelf img{border-radius:8px;margin-bottom:8px;aspect-ratio:1;object-fit:cover}
.ms-t{font-weight:700;font-size:.88rem;line-height:1.25}.ms-g{font-size:.8rem;color:var(--sub)}
.soon-tag{position:absolute;top:16px;left:16px;background:#273440e6;color:#fff;font:700 .7rem var(--fb);letter-spacing:.06em;padding:4px 9px;border-radius:999px}
/* misc */
.path-card{position:relative;overflow:hidden}.path-card::after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:#F6E6EC}.pc-teal::after{background:#E3F1EF}
.path-card>*{position:relative;z-index:1}
.about-h{position:relative}
.facts-list li{background:#fff;padding:10px 14px;border-radius:12px;box-shadow:var(--sh)}
/* responsive */
@media(max-width:1020px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(n){transform:none}.pgrid{grid-template-columns:repeat(2,1fr)}.mshelf{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.hero-stage{justify-self:center;max-width:460px}.xp{grid-template-columns:1fr}.xp-i:nth-child(3){border-bottom:1px solid var(--line)}
 .bundle{grid-template-columns:200px 1fr}.feat-head{flex-direction:column;align-items:flex-start}.cta-block{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.stats{gap:14px}.stat{padding:18px}.stat b{font-size:2.5rem}.bundle{grid-template-columns:1fr}.bundle img{max-width:240px;margin:0 auto}
 .pgrid{grid-template-columns:1fr}.mshelf{grid-template-columns:repeat(2,1fr)}.cta-block .btn{width:100%}.steps-path{display:none}.sticky{width:34%}.sticky strong{font-size:.95rem}.sticky span{font-size:.72rem}
 .deco-sec::before{width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){.pg,.fan:hover .pg1,.fan:hover .pg2,.fan:hover .pg3{transition:none}.pc-peek{transition:none}}
@media(max-width:860px){.hero-in{grid-template-columns:1fr}.hero-stage{justify-self:center;width:100%;max-width:460px}}
@media(max-width:600px){.hero-cred{display:flex;align-items:flex-start}.hero-stage{max-width:360px}}

/* ===== baseline refinements ===== */
.sec{padding:56px 0}
.paths{padding:40px 0 28px}
.about{grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
.about-h h2{margin-bottom:10px}.about-lead{margin:0}
.about-b p:last-child{margin-bottom:0}
#about.sec{padding:48px 0}
/* soft transitions between pastel bands */
.tint-peach{background:linear-gradient(180deg,var(--bg) 0,var(--peach) 56px,var(--peach) calc(100% - 56px),var(--bg) 100%)!important}
.tint-lav{background:linear-gradient(180deg,var(--bg) 0,var(--lav) 56px,var(--lav) calc(100% - 56px),var(--bg) 100%)!important}
.tint-blush{background:linear-gradient(180deg,var(--bg) 0,var(--blush2) 56px,var(--blush2) calc(100% - 56px),var(--bg) 100%)!important}
.sec.tint-peach,.sec.tint-lav,.sec.tint-blush{padding:72px 0}
.hero{border-bottom:0}
/* hero collage clarity */
.hero-in{grid-template-columns:1fr 1.05fr;gap:44px}
.hero-stage{max-width:580px}
.pg{width:56%;border:5px solid #fff;box-shadow:0 1px 2px #27344026,0 10px 18px #27344026,0 26px 48px #2734402e;filter:contrast(1.04) saturate(1.06)}
.pg2{width:58%}
.pg1{left:1%;top:15%}.pg3{right:0;top:19%}
/* featured strip */
.sec-feat{padding:8px 0 40px}
.featured{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;background:#fff;border-radius:20px;box-shadow:var(--sh);padding:28px 32px;border-top:3px solid var(--pink)}
.ft-imgs{position:relative;aspect-ratio:16/11}
.ft-imgs img{position:absolute;border-radius:12px;border:4px solid #fff;box-shadow:0 12px 26px #27344026;transition:transform .2s ease}
.ft-main{width:56%;left:22%;top:2%;z-index:2}
.ft-a{width:40%;left:0;top:22%;transform:rotate(-7deg)}
.ft-b{width:40%;right:0;top:22%;transform:rotate(7deg)}
.featured:hover .ft-main{transform:translateY(-3px)}
.ft-b-txt h2{margin-bottom:8px}.ft-b-txt p{color:var(--sub)}.ft-b-txt .pc-act{max-width:340px}
@media(max-width:860px){.featured{grid-template-columns:1fr;gap:20px}.about{grid-template-columns:1fr;gap:14px}}
@media(max-width:600px){.featured{padding:20px}.sec.tint-peach,.sec.tint-lav,.sec.tint-blush{padding:56px 0}.sec{padding:48px 0}}
@media(max-width:860px){.hero-in{grid-template-columns:1fr;gap:32px}.hero-stage{justify-self:center;max-width:480px}.ft-imgs{max-width:460px;width:100%;margin:0 auto}}
@media(max-width:600px){.hero-stage{max-width:380px}}
/* spacing fix: My Story + Expertise */
#about.sec{padding-bottom:26px}
#about .about,#expertise .stats,#expertise .stat{min-height:0;height:auto}
#expertise .stats{align-items:stretch;margin-top:0}
#expertise .stat{padding:18px 20px;justify-content:flex-start}
#expertise h2.c{margin-bottom:.35em}
@media(max-width:600px){#about.sec{padding-bottom:24px}}

/* ===== reduce pink: pink kept for primary buttons, "Pink Chalk" wordmark and a few small accents ===== */
.kicker,.path-k{color:var(--teal-d)}
.chalk-ul::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13C40 5 80 15 120 9s60-4 77 1' fill='none' stroke='%23267F78' stroke-width='7' stroke-linecap='round' opacity='.3'/%3E%3C/svg%3E")}
.card,.card.acc-pink{border-top-color:var(--teal)}
.card.acc-teal{border-top-color:var(--lav-d)}
.ci{background:var(--teal-l);color:var(--teal-d)}.acc-teal .ci{background:var(--lav);color:var(--lav-d)}
.acc-pink .benefit{color:var(--teal-d)!important}
.path-card{border-top-color:var(--ink)}.path-card::after{background:var(--peach)}.pc-teal::after{background:var(--teal-l)}
.path-go{color:var(--ink)}.pc-teal .path-go{color:var(--teal-d)}
.hero-cred{border-left-color:var(--teal)}.hero-cred .ico{color:var(--teal)}
.tool.chalk path{stroke:#267F78}
.sticky strong{color:var(--teal-d)}
.deco-sec::before{border-color:#267F7840}.tint-peach.deco-sec::after{border-bottom-color:#6B549926}
.tint-blush{background:linear-gradient(180deg,var(--bg) 0,var(--lav) 56px,var(--lav) calc(100% - 56px),var(--bg) 100%)!important}
.steps-path path{stroke:#267F78}
.contact-list a{border-bottom-color:var(--teal)}
.seal{background:var(--teal);box-shadow:0 0 0 5px #267F7840}
.s-pink b{color:var(--ink)}
.t-pink{color:var(--ink);border-color:#27344055}
.t-math{background:linear-gradient(180deg,#EEF6F4,#fff 60%)!important}.t-math .benefit{color:var(--peach-d)!important}
.featured{border-top-color:var(--teal)}
.ribbon{background:var(--teal)}
.cform{border-top-color:var(--lav-d)}
.cta-block::after{border-color:#9ED2CB66}
.facts-list .ico{color:var(--teal)}
.sub a:hover{background:var(--teal-l);color:var(--teal-d)}
.nav-list a:hover{color:#9ED2CB}.foot-links a:hover{color:#9ED2CB}
.foot-brand span{color:#D5DBE1}
.more a,a{color:var(--teal-d)}
.btn,.btn:visited{color:#fff}.btn.alt{color:var(--teal-d)}.btn.alt:hover{color:#fff}
.nav-list a,.foot-links a,.sub a{color:inherit}.nav-list>li>a{color:#fff}.sub a{color:var(--ink)}
@media(max-width:900px){.sub a{color:#fff}}
.tag.s{background:var(--peach);color:var(--peach-d)}
.fchip.on{background:var(--ink)}
.phero{border-top-color:var(--teal)!important}.phero .nm{color:var(--teal-d)!important}
.xp-i:nth-child(1){border-left-color:var(--ink)}

/* ===== pink minimal: only hero primary CTA + "Pink Chalk" wordmark ===== */
.btn{background:var(--teal);border-color:var(--teal)}.btn:hover{background:var(--teal-d);border-color:var(--teal-d)}
.hero .btn:not(.alt){background:var(--pink);border-color:var(--pink)}.hero .btn:not(.alt):hover{background:#B83A70;border-color:#B83A70}
.cta-block .btn{background:#fff;border-color:#fff;color:var(--ink)!important}.cta-block .btn:hover{background:var(--teal-l);border-color:var(--teal-l)}
.nav-cta,.nav-list .nav-cta{background:var(--teal)!important;border-color:var(--teal)!important}
.tool.pencil rect:nth-of-type(1){fill:#D6EEEA}.tool.pencil rect:nth-of-type(2){fill:#E8F3F1}.tool.pencil rect:nth-of-type(4){fill:#C9BEE0}
.ill [fill="#D64D87"]{fill:#6B5499}.ill [stroke="#D64D87"]{stroke:#6B5499}
.pc-img{background:#F3EFF8!important}
.btn:hover{box-shadow:0 8px 18px #267F7840}.hero .btn:not(.alt):hover{box-shadow:0 8px 18px #D64D8740}
.nav-list .nav-cta:hover{background:var(--teal-d)!important;border-color:var(--teal-d)!important}

/* ===== anchor offset under sticky header ===== */
/* section padding (48-72px) already sits above each heading, so land the section a little under the header */
section[id]{scroll-margin-top:calc(var(--hh,72px) - 36px)}
[id="contact-form"]{scroll-margin-top:calc(var(--hh,72px) + 16px)}

/* My Story: cool fades instead of warm white so the band never reads beige/peach */
#about.tint-peach{background:linear-gradient(180deg,#F1F5F6 0,#E8F3F1 56px,#E8F3F1 calc(100% - 56px),#F1F5F6 100%)!important}

/* ===== softer "Adaptive Math Practice" (home panel + practice hero) ===== */
.res-row .panel{background:#F1E7EB;border-color:#E6D8DE}
.res-row .panel h2{font-weight:600;color:#33414E}
.phero{border-top:2px solid #9ED2CB!important;box-shadow:0 4px 14px #2734400d}
.phero h1{font-size:clamp(1.6rem,3.2vw,2.15rem);font-weight:600;color:#33414E}
.phero .nm{color:#3E8C85!important}

/* hero signature, top-right */
.hero-sig{position:absolute;top:14px;right:max(28px,calc((100% - 1120px)/2 + 28px));margin:0;z-index:3;font-family:'Great Vibes',cursive;font-weight:400;font-size:1.9rem;line-height:1.1;color:#267F78;-webkit-text-stroke:.6px #267F78;text-shadow:0 0 .5px #267F78;pointer-events:none}
@media(max-width:860px){.hero-sig{position:static;text-align:right;font-size:1.35rem;padding:0 22px;margin:-18px 0 8px}}


/* ===== Free Practice hub + quizzes ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qp-hero{background:linear-gradient(180deg,var(--bg),#F3EFF8);padding:40px 0 28px}
.qp-hero h1{margin:.1em 0 .25em}.qp-lead{color:var(--sub);max-width:640px;margin:0}
.crumbs{font-size:.88rem;margin-bottom:8px;color:var(--sub)}.crumbs a{color:var(--teal-d)}
.qp.sec{padding:32px 0 56px}
.qp-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}
.qp-side{display:grid;gap:16px}
.qp-tip,.qp-side-b{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--sh)}
.qp-tip{background:#F1E7EB;border-color:#E6D8DE}.qp-tip h2,.qp-side-b h2{font-size:1.05rem;margin:0 0 6px;color:#33414E}
.qp-tip p,.qp-side-b p{margin:0 0 10px;font-size:.95rem}.qp-tip p{margin:0}
.qp-btns{display:flex;flex-wrap:wrap;gap:8px}
.qz-top{display:flex;justify-content:space-between;font-size:.9rem;color:var(--sub);margin-bottom:6px}
.qz-bar{height:6px;background:#E6E0F0;border-radius:6px;overflow:hidden;margin-bottom:14px}.qz-bar i{display:block;height:100%;background:var(--teal)}
.qz-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:16px;padding:22px;box-shadow:var(--sh)}
.qz-kind{margin:0 0 4px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d);font-weight:700}
.qz-q{font-size:1.25rem;margin:0 0 14px;color:#33414E;outline:none}
.qz-opts{display:grid;gap:8px}
.qz-opt{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;background:#fff}
.qz-opt:hover{border-color:var(--teal)}.qz-opt:has(input:checked){border-color:var(--teal);background:#EEF6F4}
.qz-opt input{width:20px;height:20px;accent-color:var(--teal);flex:none}
.qz-fill input{width:100%;max-width:260px;font-size:1.15rem;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px}
.qz-fill input:focus,.qz-opt:focus-within{outline:3px solid #267F7855;outline-offset:2px}
.qz-act{margin-top:16px}
.qz-fb{margin-top:12px;padding:0;border-radius:12px}.qz-fb:empty{display:none}
.qz-fb.ok,.qz-fb.no,.qz-fb.warn{padding:12px 14px}
.qz-fb.ok{background:#E8F3F1;border:1px solid #9ED2CB}.qz-fb.no{background:#F3EFF8;border:1px solid #D9CFEA}.qz-fb.warn{background:#F6F7F8;border:1px solid var(--line)}
.qz-hint{display:block;margin-top:4px;color:var(--sub)}
.qz-end{text-align:center}.qz-pct{font-family:'Baloo 2',sans-serif;font-size:3rem;font-weight:700;color:var(--teal-d);margin:0}
.hub.sec{padding:28px 0 56px}
.hub-fwrap{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-bottom:18px}
.hub-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hub-fl{font-weight:700;font-size:.9rem;margin-right:4px}
.hub-f button{font:inherit;font-size:.9rem;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.hub-f button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.hub-f button:hover{border-color:var(--teal)}
.hub-count{margin:0 0 0 auto;color:var(--sub);font-size:.9rem}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.hub-card{background:#F1E7EB;border:1px solid #E6D8DE;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px;transition:transform .15s,box-shadow .15s}
.hub-card:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.hub-card h3{margin:0;color:#33414E;font-size:1.12rem}.hub-card p{margin:0;color:var(--sub);font-size:.93rem}.hub-card .btn{margin-top:auto;align-self:flex-start}
.hub-card[hidden]{display:none}
.hub-tags{display:flex;gap:6px}.hub-tags span{font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;background:#fff;color:var(--teal-d)}
.weekly{margin-top:32px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:16px;padding:22px 24px;box-shadow:var(--sh)}
.weekly .wk-label{margin:0;color:var(--sub);font-size:.9rem}.weekly .wk-q{font-size:1.15rem;line-height:1.5;margin:.3em 0 .8em;color:#33414E}
.wk-a{margin:12px 0 0;padding:12px 14px;background:#E8F3F1;border-radius:12px}
.hub-more{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.hub-more h2{font-size:1.1rem;margin:0 0 4px}.hub-more p{margin:0;color:var(--sub)}
.panel .hub-teaser{margin:14px 0 0;padding-top:12px;border-top:1px solid #E6D8DE}
@media(max-width:860px){.qp-grid{grid-template-columns:1fr}.hub-more{grid-template-columns:1fr}.hub-count{margin-left:0;width:100%}}
@media(max-width:600px){.qz-card{padding:18px}.qz-q{font-size:1.12rem}.qp-hero{padding:28px 0 18px}}

/* full-width band on hub/quiz pages */
main>section.qp-hero{max-width:none!important;margin:0!important;padding:40px 0 28px!important}
@media(max-width:600px){main>section.qp-hero{padding:28px 0 18px!important}}

/* ===== Home: Free Math Practice ===== */
.hp.sec{padding:40px 0 48px;background:linear-gradient(180deg,var(--bg),#F7F3F5 30%,#F7F3F5 70%,var(--bg))}
.hp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.hp-head h2{margin:.1em 0 .3em}.hp-lead{margin:0;color:var(--sub);max-width:620px}
.hp-grid,.hp-vids{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.hp-grid{grid-template-columns:repeat(5,1fr)}
.hp-card{background:#F1E7EB;border:1px solid #E6D8DE;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;transition:transform .15s,box-shadow .15s}
.hp-card:hover,.hp-card:focus-within{transform:translateY(-2px);box-shadow:var(--sh)}
.hp-card h3{margin:0;font-size:1.02rem;color:#33414E;line-height:1.25}.hp-card p{margin:0;font-size:.88rem;color:var(--sub)}
.hp-go{margin-top:auto;padding-top:6px;font-weight:700;color:var(--teal-d);text-decoration:none}
.hp-go:hover{text-decoration:underline}
.hp-go::after{content:"";position:absolute;inset:0}.hp-card{position:relative}
.hp-row{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:18px}
.hp-weekly{margin-top:0}.hp-weekly .wk-q{font-size:1.05rem}
.hp-adapt{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:16px;padding:22px 24px;box-shadow:var(--sh)}
.hp-adapt h3{margin:.1em 0 .3em;color:#33414E}.hp-adapt p{color:var(--sub);margin:0 0 14px}
.hp-vh{margin:26px 0 10px;font-size:1.1rem;color:#33414E}
.hp-vids{grid-template-columns:repeat(5,1fr)}
.hp-vid{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:box-shadow .15s}
.hp-vid:hover,.hp-vid:focus-visible{box-shadow:var(--sh)}
.hp-thumb{position:relative;display:block;aspect-ratio:16/9;background:#EEF6F4}
.hp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hp-thumb svg{position:absolute;width:34px;height:34px;left:50%;top:50%;transform:translate(-50%,-50%)}
.hp-vt{display:block;padding:8px 10px;font-size:.88rem;font-weight:700;line-height:1.3}.hp-vt small{display:block;font-weight:600;color:var(--teal-d);font-size:.75rem}
@media(max-width:1000px){.hp-grid{grid-template-columns:repeat(3,1fr)}.hp-vids{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hp-row{grid-template-columns:1fr}}
@media(max-width:600px){.hp-grid{grid-template-columns:1fr 1fr}.hp-vids{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.hp-vids li{scroll-snap-align:start}.hp-head .btn{width:100%;text-align:center}}

/* compact My Story (moved lower) */
#about.sec{padding:40px 0 22px!important}
#about .about{gap:28px}
#about .about-b p{font-size:.97rem;line-height:1.6;margin-bottom:.6em}
#about .about-h h2{margin-bottom:6px}
@media(max-width:600px){#about.sec{padding:32px 0 18px!important}}

/* ===== homepage section bands: distinct soft full-width colours ===== */
:root{--b-white:#FAF8F6;--b-grey:#F1F5F6;--b-blush:#F1E7EB;--b-teal:#E8F3F1;--b-lav:#EEE8F6}
.hero{background:var(--b-white)!important}
.paths{background:var(--b-grey)!important;padding:36px 0!important}
#practice.hp{background:var(--b-blush)!important}
.sec-feat{background:var(--b-teal)!important;padding:40px 0!important}
#shop-favourites{background:var(--b-lav)!important}
#subjects{background:var(--b-white)!important}
#free{background:var(--b-grey)!important}
#blog{background:var(--b-lav)!important}
#about{background:var(--b-teal)!important}
#expertise{background:var(--b-lav)!important}
#contact{background:var(--b-white)!important}
main>section.sec{padding-top:56px;padding-bottom:56px}
@media(max-width:600px){main>section.sec{padding-top:44px;padding-bottom:44px}}
/* cards stay white on tinted bands */
.hp-card{background:#fff;border-color:#E6D8DE}
#free .panel,.res-row .panel{background:#fff}
#free .res-row .panel:last-child{background:#fff;border-color:#E6D8DE;border-top:3px solid #D9C3CC}
main>section.sec-feat{max-width:none!important;margin:0!important;padding:40px 0!important}
#about.sec.tint-peach{background:var(--b-teal)!important}


/* ===== Times tables game ===== */
.tt-lead{margin:.4em 0 0;padding-left:1.1em;color:var(--sub)}.tt-lead li{margin:2px 0}
.tt.sec{padding:28px 0 56px}
.tt-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tt-pick button{font:inherit;font-weight:700;min-width:54px;padding:10px 12px;border-radius:14px;border:1.5px solid #E6D8DE;background:#F1E7EB;color:#33414E;cursor:pointer}
.tt-pick button:hover{border-color:#3E8C85}.tt-pick button[aria-pressed="true"]{background:#33414E;border-color:#33414E;color:#fff}
.tt-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid #E6D8DE;margin-bottom:0}
.tt-tabs [role=tab]{font:inherit;font-weight:700;padding:10px 16px;border:0;border-radius:12px 12px 0 0;background:transparent;color:#33414E;cursor:pointer}
.tt-tabs [role=tab][aria-selected="true"]{background:#fff;box-shadow:inset 0 -3px 0 #3E8C85;color:#1F6B65}
.tt-box{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;padding:20px;box-shadow:var(--sh);min-height:320px}
.tt-label{margin:0 0 10px;font-family:'Baloo 2',sans-serif;font-size:1.3rem;color:#3E8C85}
.tt-trick{background:#F1E7EB;border:1px solid #E6D8DE;border-radius:16px;padding:16px 18px;margin-bottom:16px}
.tt-trick h3{margin:.1em 0 .3em;color:#33414E}.tt-trick ul{margin:0;padding-left:1.1em}.tt-trick li{margin:4px 0}
.tt-sub{margin:0;color:#33414E;font-size:1.1rem}.tt-note{margin:2px 0 10px;color:var(--sub);font-size:.9rem}
.tt-skip{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.tt-skip button{width:100%;font:inherit;border:1.5px solid #9ED2CB;background:#EEF6F4;border-radius:12px;padding:8px 4px;cursor:pointer;color:#33414E}
.tt-skip small{display:block;font-size:.75rem;color:var(--sub)}.tt-skip b{font-size:1.25rem}
.tt-skip button.on{background:#fff;border-color:#3E8C85}
.tt-count{margin:0 0 10px;color:var(--sub);font-size:.92rem}
.tt-qt{display:block;font-family:'Baloo 2',sans-serif;font-size:1.5rem;color:#33414E;margin-bottom:10px;line-height:1.3}
.tt-row{display:flex;flex-wrap:wrap;gap:8px}
.tt-row input{font-size:1.4rem;width:120px;padding:8px 12px;border:1.5px solid var(--line);border-radius:12px}
.tt-row input:focus{outline:3px solid #267F7855;outline-offset:2px}
.tt-fb{margin:12px 0 0;min-height:1.4em}.tt-fb.ok{color:#1F6B65;font-weight:700}.tt-fb.no{color:#33414E}.tt-fb.hint{background:#EEF6F4;border-radius:10px;padding:8px 12px}
.tt-end{text-align:center;padding:10px 0}.tt-end h3{color:#33414E;font-size:1.4rem;outline:none}
.tt-stars{font-size:2.4rem;color:#3E8C85;letter-spacing:4px;margin:4px 0}.tt-stars span{color:#E6D8DE}
.tt-sp-top{text-align:center}.tt-mix{display:inline-flex;gap:8px;align-items:center;margin:4px 0 8px}.tt-mix input{width:18px;height:18px;accent-color:#3E8C85}
.tt-best{color:var(--sub)}
.tt-sp-bar{display:flex;justify-content:space-between;align-items:center;background:#F1E7EB;border-radius:12px;padding:8px 14px;font-weight:700;color:#33414E}
.tt-stop{font:inherit;border:1px solid #E6D8DE;background:#fff;border-radius:10px;padding:4px 12px;cursor:pointer}
.tt-sp-q{text-align:center;font-family:'Baloo 2',sans-serif;font-size:3rem;font-weight:700;color:#33414E;margin:16px 0}
.tt-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin:0 auto}
.tt-opts button{font:inherit;font-size:1.6rem;font-weight:700;padding:14px;border-radius:14px;border:1.5px solid #9ED2CB;background:#EEF6F4;color:#33414E;cursor:pointer}
.tt-opts button:hover{border-color:#3E8C85}.tt-opts button.ok{background:#3E8C85;color:#fff}.tt-opts button.no{background:#F1E7EB;border-color:#E6D8DE;color:#8A8F99}
.tt-cards{list-style:none;padding:0;margin:0 0 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tt-card{width:100%;aspect-ratio:4/3;font:inherit;font-weight:700;font-size:1.25rem;border-radius:14px;border:1.5px solid #E6D8DE;background:#F1E7EB;color:#33414E;cursor:pointer}
.tt-card.up{background:#fff;border-color:#3E8C85}.tt-card.done{background:#E8F3F1;border-color:#9ED2CB;color:#1F6B65}
.tt-more{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.tt-more ul{margin:0 0 10px;padding-left:1.1em}
.tt-privacy{color:var(--sub);font-size:.85rem;margin-top:14px}
@media(max-width:700px){.tt-skip{grid-template-columns:repeat(4,1fr)}.tt-cards{grid-template-columns:repeat(3,1fr)}.tt-more{grid-template-columns:1fr}.tt-box{padding:16px}.tt-tabs [role=tab]{padding:9px 11px;font-size:.95rem}.tt-pick button{min-width:48px;padding:9px 8px}}

/* ===== Shop ===== */
.sh-eds-note{color:var(--sub);font-size:.88rem;margin:-6px 0 14px}
.sh-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.sh-card{background:#fff;border:1px solid #E6D8DE;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh);transition:transform .15s}
.sh-card:hover{transform:translateY(-2px)}.sh-card[hidden]{display:none}
.sh-img{background:#F1E7EB;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.sh-img img{width:100%;height:100%;object-fit:contain}
.sh-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.sh-b h3{margin:0;color:#33414E;font-size:1.1rem}.sh-lead{margin:0;color:var(--sub);font-size:.92rem}
.sh-b ul{margin:0;padding-left:1.1em;font-size:.9rem}.sh-b li{margin:2px 0}
.sh-ccss{margin:0;font-size:.8rem;font-weight:700;color:#1F6B65}
.sh-eds{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
.sh-ed{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;padding:6px 12px!important;font-size:.85rem}
.sh-ed b{font-size:.95rem}


/* site search (palette: #F1E7EB #E6D8DE #33414E #9ED2CB #3E8C85) */
.search-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;color:#F1E7EB;border:1px solid #9ED2CB;border-radius:10px;cursor:pointer;transition:background .2s,color .2s}
.search-btn:hover{background:#3E8C85;color:#F1E7EB}.search-btn:focus-visible{outline:3px solid #9ED2CB;outline-offset:2px}
.search-btn svg{width:20px;height:20px;display:block}
.head-in .search-btn{order:3}
html.ps-lock{overflow:hidden}
.ps-ov{position:fixed;inset:0;z-index:100;background:#33414Eb8;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px}
.ps-ov[hidden]{display:none}
.ps-box{width:100%;max-width:640px;max-height:84vh;display:flex;flex-direction:column;background:#F1E7EB;color:#33414E;border:1px solid #E6D8DE;border-radius:16px;padding:14px;box-shadow:0 18px 50px #33414E66}
.ps-row{display:flex;gap:8px;align-items:center}
.ps-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#ps-in{flex:1;min-width:0;font:600 1.05rem/1.2 var(--fb);color:#33414E;background:#F1E7EB;border:2px solid #3E8C85;border-radius:10px;padding:12px 14px}
#ps-in:focus-visible{outline:3px solid #9ED2CB;outline-offset:1px}
.ps-x{font:700 .8rem/1 var(--fb);color:#33414E;background:#E6D8DE;border:1px solid #3E8C85;border-radius:8px;padding:10px 12px;cursor:pointer}
.ps-x:hover{background:#9ED2CB}.ps-x:focus-visible{outline:3px solid #3E8C85;outline-offset:2px}
.ps-st{margin:8px 2px 6px;font-size:.88rem;color:#33414E}
.ps-list{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.ps-it a{display:block;text-decoration:none;color:#33414E;background:#F1E7EB;border:1px solid #E6D8DE;border-radius:10px;padding:10px 12px}
.ps-it.on a,.ps-it a:hover{background:#E6D8DE;border-color:#3E8C85}
.ps-it a:focus-visible{outline:3px solid #3E8C85;outline-offset:1px}
.ps-top{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ps-ty{font:700 .68rem/1 var(--fb);letter-spacing:.06em;text-transform:uppercase;background:#9ED2CB;color:#33414E;border-radius:20px;padding:4px 8px}
.ps-ti{font-weight:700;font-size:1rem;line-height:1.3}
.ps-de{display:block;margin-top:3px;font-size:.88rem;line-height:1.4;color:#33414E}
@media(max-width:900px){.head-in .search-btn{order:1;margin-left:auto}.head-in .menu-btn{order:2}.ps-ov{padding-top:12px}.ps-box{max-height:92vh}}
@media(prefers-reduced-motion:reduce){.search-btn{transition:none}}
#ps-in::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* contact panel + single contact section (palette only) */
.contact-one{max-width:720px;text-align:center}.contact-one p{margin-left:auto;margin-right:auto;max-width:560px}
.cp-h{margin:0;flex:1;font-size:1.3rem;color:#33414E}
.cp-box{max-width:520px}
.cp-form{display:grid;gap:10px;overflow:auto}
.cp-form label{display:grid;gap:4px;font-weight:700;font-size:.88rem;color:#33414E}
.cp-form input,.cp-form select,.cp-form textarea{font:600 1rem/1.3 var(--fb);color:#33414E;background:#F1E7EB;border:2px solid #3E8C85;border-radius:10px;padding:10px 12px;width:100%}
.cp-form input:focus-visible,.cp-form select:focus-visible,.cp-form textarea:focus-visible{outline:3px solid #9ED2CB;outline-offset:1px}
.cp-form .err{border-color:#33414E;background:#E6D8DE}
.cp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-go{display:block;text-align:center;font:700 1rem/1.2 var(--fb);color:#F1E7EB!important;background:#33414E;border:2px solid #3E8C85;border-radius:10px;padding:12px 16px;text-decoration:none}
.cp-go:hover{background:#3E8C85}.cp-go:focus-visible{outline:3px solid #9ED2CB;outline-offset:2px}
@media(max-width:520px){.cp-two{grid-template-columns:1fr}}
