/* SEN2gether — rebuild in a KIDS-inspired style.
   Bubblegum pink + deep navy on cream, bright colour blocks, bold friendly type,
   mega-menu, curvy hero dividers. Flat, playful, accessible. */

:root{
  --ink:#181a3a; --ink-soft:#54567a; --muted:#83859e;
  --pink:#ff5a8a; --pink-dark:#e63e72; --pink-soft:#ffe2ec;
  --yellow:#ffc83d; --yellow-soft:#fff1cf;
  --teal:#13c4b4; --teal-soft:#d4f6f2;
  --coral:#ff7a59; --coral-soft:#ffe4dc;
  --sky:#4fa3ff; --sky-soft:#dcecff;
  --lilac:#9c8cff; --lilac-soft:#e9e4ff;
  --cream:#fff6ee; --paper:#ffffff; --line:#eee5da;
  --radius:18px; --radius-lg:28px; --radius-sm:12px;
  --shadow:0 18px 40px rgba(24,26,58,.10);
  --maxw:1180px; --ease:cubic-bezier(.22,.7,.16,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink-soft);background:var(--cream);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--ink);line-height:1.08;margin:0 0 .4em;font-weight:800;letter-spacing:-.02em;}
a{color:var(--pink-dark);text-decoration:none;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pink-dark);margin-bottom:14px;}
.eyebrow svg{width:16px;height:16px;}
.lead{font-size:19px;color:var(--ink-soft);}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;padding:14px 28px;border-radius:99px;border:2.5px solid transparent;cursor:pointer;transition:transform .16s var(--ease),background .16s,color .16s,border-color .16s;}
.btn svg{width:18px;height:18px;}
.btn-primary{background:var(--pink);color:#fff;}
.btn-primary:hover{background:var(--pink-dark);color:#fff;transform:translateY(-2px);}
.btn-ink{background:var(--ink);color:#fff;}
.btn-ink:hover{transform:translateY(-2px);color:#fff;}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}
.btn-outline.on-dark{color:#fff;border-color:#fff;}
.btn-outline.on-dark:hover{background:#fff;color:var(--ink);}
.arrow{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:700;color:var(--ink);}
.arrow svg{width:20px;height:20px;color:var(--pink);transition:transform .2s var(--ease);}
.arrow:hover svg{transform:translateX(5px);}
.arrow.on-dark,.arrow.on-dark svg{color:#fff;}

/* Store badges */
.store-badges{display:flex;gap:12px;flex-wrap:wrap;}
.store-badge{display:inline-flex;align-items:center;gap:11px;border-radius:14px;padding:10px 18px;border:2px solid var(--ink);background:var(--ink);color:#fff;transition:transform .16s var(--ease);}
.store-badge:hover{transform:translateY(-3px);color:#fff;}
.store-badge svg{width:25px;height:25px;}
.store-badge.light{background:#fff;color:var(--ink);}
.store-badge.light svg{fill:var(--ink);}
.store-badge.dark svg{fill:#fff;}
.store-badge small{display:block;font-size:11px;opacity:.8;line-height:1.1;}
.store-badge b{font-size:16px;line-height:1.2;font-family:'Poppins',sans-serif;}

/* ---------- Header ---------- */
.utility{background:var(--ink);color:#fff;font-size:13.5px;}
.utility .wrap{display:flex;align-items:center;justify-content:flex-end;gap:22px;height:40px;}
.utility a{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:7px;opacity:.9;}
.utility a:hover{opacity:1;}
.utility a svg{width:15px;height:15px;}

header.site{position:sticky;top:0;z-index:80;background:var(--paper);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;gap:20px;height:78px;}
.nav .logo{display:flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-weight:800;font-size:23px;color:var(--ink);letter-spacing:-.02em;}
.nav .logo img{height:42px;width:auto;}
.nav .logo b{color:var(--pink);}
.nav .menu{display:flex;align-items:center;gap:4px;margin-left:14px;}
.nav .menu>li{list-style:none;position:relative;}
.nav .menu>li>button,.nav .menu>li>a{font-family:'Poppins',sans-serif;font-weight:600;font-size:15.5px;color:var(--ink);background:none;border:0;cursor:pointer;padding:10px 14px;border-radius:10px;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s;}
.nav .menu>li>button:hover,.nav .menu>li>a:hover,.nav .menu>li.open>button{background:var(--pink-soft);color:var(--pink-dark);}
.nav .menu>li>button .caret{width:16px;height:16px;transition:transform .2s var(--ease);}
.nav .menu>li.open>button .caret{transform:rotate(180deg);}
.nav .spacer{flex:1;}
.nav .actions{display:flex;align-items:center;gap:12px;}
.icon-btn{background:var(--cream);border:1px solid var(--line);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:background .15s;}
.icon-btn:hover{background:var(--pink-soft);color:var(--pink-dark);}
.icon-btn svg{width:20px;height:20px;}
.nav-toggle{display:none;}

/* Mega-menu panel (intro column + link list) */
.mega{position:absolute;top:calc(100% + 12px);left:0;width:660px;max-width:90vw;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:32px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:90;}
.nav .menu>li.open .mega{opacity:1;visibility:visible;transform:none;}
.mega .inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;}
.mega .intro h4{font-family:'Poppins',sans-serif;font-size:23px;font-weight:800;color:var(--ink);text-transform:none;letter-spacing:-.02em;margin-bottom:10px;}
.mega .intro p{font-size:14.5px;color:var(--muted);line-height:1.55;margin:0 0 18px;}
.mega .links{display:flex;flex-direction:column;gap:2px;}
.mega .links a{font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;color:var(--ink);padding:11px 14px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;transition:background .14s,color .14s;}
.mega .links a:hover{background:var(--cream);color:var(--pink-dark);}
.mega .links a svg{width:18px;height:18px;color:var(--pink);opacity:0;transform:translateX(-5px);transition:.16s;}
.mega .links a:hover svg{opacity:1;transform:none;}

/* Search drawer */
.search-drawer{display:none;background:var(--ink);}
.search-drawer.open{display:block;}
.search-drawer .wrap{padding:22px 24px;}
.search-drawer form{display:flex;gap:10px;max-width:720px;margin:0 auto;}
.search-drawer input{flex:1;border:0;border-radius:99px;padding:15px 22px;font-size:17px;font-family:'Inter',sans-serif;}
.search-drawer .go{background:var(--pink);color:#fff;border:0;border-radius:99px;padding:0 28px;font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;cursor:pointer;}
.search-drawer .go:hover{background:var(--pink-dark);}

/* ---------- Page hero (text left · diagonal image right · triangle accents) ---------- */
.phero{position:relative;background:var(--lilac);overflow:hidden;min-height:470px;display:flex;align-items:center;}
.phero.pink{background:var(--pink);}.phero.teal{background:var(--teal);}.phero.yellow{background:var(--yellow);}
.phero.sky{background:var(--sky);}.phero.coral{background:var(--coral);}.phero.ink{background:var(--ink);}
.phero.pastel{background:#e8def9;}
.phero .wrap{position:relative;z-index:3;width:100%;}
.phero .h-copy{max-width:540px;padding:62px 0;}
.phero .crumbs{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.82);margin-bottom:18px;}
.phero .crumbs a{color:rgba(255,255,255,.82);text-decoration:underline;}
.phero .crumbs b{color:#fff;font-weight:700;}
.phero .h-copy h1{color:#fff;font-size:clamp(34px,5vw,58px);}
.phero .h-copy .eyebrow{color:#fff;opacity:.92;}
.phero .h-copy p{color:#fff;font-size:18px;opacity:.96;margin:14px 0 26px;}
.phero .h-copy .cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.phero.yellow .h-copy h1,.phero.yellow .h-copy p,.phero.yellow .h-copy .eyebrow,.phero.yellow .crumbs b{color:var(--ink);}
.phero.yellow .crumbs,.phero.yellow .crumbs a{color:rgba(24,26,58,.7);}
/* pastel hero — soft band, dark text */
.phero.pastel .h-copy h1,.phero.pastel .h-copy p,.phero.pastel .crumbs b{color:var(--ink);}
.phero.pastel .h-copy .eyebrow{color:var(--pink-dark);}
.phero.pastel .crumbs,.phero.pastel .crumbs a{color:rgba(24,26,58,.62);}
.phero.pastel .pm-panel{background-color:#fff;}
/* diagonal media (KIDS-style): clip-path photo/illustration panel + fixed triangle accents */
.phero-media{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:1;}
.pm-panel{position:absolute;inset:0;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);background:#fff6ee center/cover no-repeat;overflow:hidden;}
.pm-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:28px 32px 28px 22%;}
.pm-art svg,.pm-art img{width:min(86%,380px);height:auto;}
/* triangle accents — fixed px sizes, pinned to top & bottom of the seam */
.pm-tri{position:absolute;z-index:2;}
/* all three cluster at the top of the diagonal seam (slopes down-left) */
.pm-tri.top{top:-1px;left:13%;width:120px;height:150px;background:var(--lilac);clip-path:polygon(0 0,100% 0,14% 100%);}
.pm-tri.bigb{top:11%;left:7%;width:100px;height:122px;background:var(--pink);clip-path:polygon(0 4%,88% 0,30% 100%);}
.pm-tri.smb{top:3%;left:23%;width:58px;height:72px;background:var(--yellow);clip-path:polygon(0 0,100% 16%,6% 100%);}
.pm-scribble{position:absolute;top:16px;left:15%;width:84px;height:40px;z-index:3;pointer-events:none;}
.pm-scribble path{stroke:#fff;stroke-width:5;fill:none;stroke-linecap:round;opacity:.6;}
@media (max-width:860px){
  .phero{display:block;min-height:0;}
  .phero-media{display:none;}
  .phero .h-copy{max-width:none;padding:48px 0;}
}

/* ---------- Sections ---------- */
section{position:relative;}
.block{padding:80px 0;}
.block.cream{background:var(--cream);}
.block.paper{background:var(--paper);}
.sec-head{max-width:720px;margin:0 0 44px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head h2{font-size:clamp(28px,4vw,44px);}
.sec-head p{font-size:18px;margin-top:10px;}

/* Colour-blocked cards */
.blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.blocks.four{grid-template-columns:repeat(4,1fr);}
.cblock{border-radius:var(--radius-lg);padding:32px 28px 26px;color:#fff;position:relative;overflow:hidden;min-height:230px;display:flex;flex-direction:column;transition:transform .2s var(--ease);}
.cblock:hover{transform:translateY(-6px);}
.cblock.pink{background:var(--pink);}.cblock.teal{background:var(--teal);}.cblock.yellow{background:var(--yellow);color:var(--ink);}
.cblock.sky{background:var(--sky);}.cblock.coral{background:var(--coral);}.cblock.lilac{background:var(--lilac);}.cblock.ink{background:var(--ink);}
.cblock .ic{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.cblock.yellow .ic{background:rgba(24,26,58,.12);}
.cblock .ic svg{width:28px;height:28px;color:#fff;}
.cblock.yellow .ic svg{color:var(--ink);}
.cblock h3{color:inherit;font-size:22px;margin-bottom:8px;}
.cblock p{color:inherit;opacity:.94;font-size:15px;flex:1;margin:0 0 16px;}
.cblock .arrow{color:inherit;}
.cblock .arrow svg{color:inherit;}

/* Split feature row */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split + .split{margin-top:72px;}
.split.flip .s-art{order:2;}
.s-art{border-radius:var(--radius-lg);overflow:hidden;}
.s-art svg,.s-art img{width:100%;display:block;}
.checks{list-style:none;padding:0;margin:18px 0 0;}
.checks li{display:flex;gap:11px;align-items:flex-start;margin:11px 0;font-size:16px;color:var(--ink-soft);}
.checks li svg{width:24px;height:24px;flex-shrink:0;color:var(--teal);margin-top:1px;}

/* Help search band */
.helpband{background:var(--yellow);border-radius:var(--radius-lg);padding:44px;text-align:center;}
.helpband h2{font-size:clamp(26px,3.5vw,38px);}
.helpband form{display:flex;gap:10px;max-width:560px;margin:20px auto 0;}
.helpband input{flex:1;border:2px solid var(--ink);border-radius:99px;padding:14px 22px;font-size:16px;font-family:'Inter',sans-serif;background:#fff;}
.helpband .go{background:var(--ink);color:#fff;border:0;border-radius:99px;padding:0 26px;font-family:'Poppins',sans-serif;font-weight:700;cursor:pointer;}

/* News / cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.card .thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;}
.card .thumb svg{width:84px;height:84px;color:#fff;}
.card .body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;}
.card .tag{font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pink-dark);margin-bottom:8px;}
.card h3{font-size:20px;margin-bottom:8px;}
.card p{font-size:14.5px;margin:0 0 16px;flex:1;color:#202020;}

/* Stat-free trust row */
.trust{display:flex;gap:36px;flex-wrap:wrap;justify-content:center;align-items:center;}
.trust .item{display:inline-flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-weight:600;color:var(--ink);}
.trust .item svg{width:26px;height:26px;color:var(--pink);}

/* Newsletter bar */
.newsletter{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:44px 48px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;}
.newsletter h2{color:#fff;font-size:30px;}
.newsletter p{color:rgba(255,255,255,.85);margin:6px 0 0;}
.newsletter form{display:flex;gap:10px;}
.newsletter input{flex:1;border:0;border-radius:99px;padding:15px 22px;font-size:16px;font-family:'Inter',sans-serif;}
.newsletter .go{background:var(--pink);color:#fff;border:0;border-radius:99px;padding:0 26px;font-family:'Poppins',sans-serif;font-weight:700;cursor:pointer;}
.newsletter .go:hover{background:var(--pink-dark);}

/* FAQ accordion */
.faq{max-width:760px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;}
.faq-item[open]{box-shadow:var(--shadow);border-color:transparent;}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .cv{width:20px;height:20px;color:var(--pink);transition:transform .25s var(--ease);flex-shrink:0;}
.faq-item[open] summary .cv{transform:rotate(180deg);}
.faq-item .ans{padding:0 22px 20px;font-size:15.5px;line-height:1.65;color:var(--ink-soft);}
.faq-item .ans a{font-weight:600;}

/* Prose */
.prose .updated{margin-top:34px;font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;}
.prose .callout{margin-top:22px;background:var(--lilac-soft);border-radius:14px;padding:18px 22px;font-size:15.5px;}
.prose .callout svg{width:20px;height:20px;color:var(--lilac);vertical-align:-4px;margin-right:8px;}
.prose{max-width:760px;margin:0 auto;}
.prose h2{font-size:30px;margin-top:38px;}
.prose h3{font-size:22px;margin-top:26px;}
.prose p,.prose li{font-size:17px;line-height:1.7;}
.prose ul{padding-left:22px;}

/* ---------- Footer ---------- */
footer.site{background:var(--ink);color:#c7c8da;padding:64px 0 28px;}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;}
footer.site h4{color:#fff;font-family:'Poppins',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;}
footer.site a{color:#c7c8da;font-size:15px;display:block;margin:9px 0;}
footer.site a:hover{color:#fff;}
footer.site .brand{font-family:'Poppins',sans-serif;font-weight:800;font-size:24px;color:#fff;display:flex;align-items:center;gap:10px;margin-bottom:12px;}
footer.site .brand b{color:var(--pink);}
footer.site .brand img{height:38px;}
footer.site .tagline{font-size:14.5px;max-width:300px;color:#a9aac2;}
footer.site .social{display:flex;gap:11px;margin-top:18px;}
footer.site .social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin:0;transition:background .16s;}
footer.site .social a:hover{background:var(--pink);}
footer.site .social svg{width:19px;height:19px;fill:#fff;}
footer.site .bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#9a9bb4;}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}.reveal.d2{transition-delay:.16s;}.reveal.d3{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* (decorative float removed — animating many SVG nodes was causing jank) */
.bob{}

/* Hero illustration micro-animation — opacity only (smooth, never choppy) */
@keyframes hiPulse{0%,100%{opacity:.3;}50%{opacity:1;}}
@keyframes hiTw{0%,100%{opacity:.45;}50%{opacity:1;}}
@keyframes hiType{0%{opacity:0;}5%,42%{opacity:1;}48%,100%{opacity:0;}}
@keyframes hiSent{0%,46%{opacity:0;}54%,94%{opacity:1;}100%{opacity:0;}}
.hi-dot{animation:hiPulse 1.2s ease-in-out infinite;}
.hi-dot.d2{animation-delay:.2s;}.hi-dot.d3{animation-delay:.4s;}
.hi-type{animation:hiType 4.8s ease-in-out infinite;}
.hi-sent{opacity:0;animation:hiSent 4.8s ease-in-out infinite;}
.hi-tw{animation:hiTw 3s ease-in-out infinite;}
.hi-tw.t2{animation-delay:-1s;}.hi-tw.t3{animation-delay:-2s;}
@media (prefers-reduced-motion:reduce){.hi-dot,.hi-type,.hi-sent,.hi-tw{animation:none;}.hi-type{opacity:0;}.hi-sent{opacity:1;}}

/* Responsive */
@media (max-width:980px){
  .blocks,.blocks.four,.cards{grid-template-columns:1fr 1fr;}
  .split,.split.flip,.newsletter{grid-template-columns:1fr;gap:32px;}
  .split.flip .s-art{order:0;}
}
@media (max-width:760px){
  .nav .menu{display:none;}
  .nav-toggle{display:flex;}
  .blocks,.cards{grid-template-columns:1fr;}
  .utility{display:none;}
  /* Mobile menu */
  .nav .menu.open{display:block;position:fixed;inset:78px 0 0;background:var(--paper);overflow-y:auto;padding:18px 24px;border-top:1px solid var(--line);z-index:70;}
  .nav .menu.open>li{position:static;}
  .nav .menu.open>li>button,.nav .menu.open>li>a{width:100%;justify-content:space-between;font-size:18px;padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0;}
  .mega,.nav .menu.open>li.open .mega{position:static;width:auto;min-width:0;max-width:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:6px 0 14px;display:none;}
  .nav .menu.open>li.open .mega{display:block;}
  .mega .inner{grid-template-columns:1fr;gap:8px;}
  .mega .intro{display:none;}
}
@media (max-width:560px){.helpband form,.newsletter form,.search-drawer form{flex-direction:column;}.helpband .go,.newsletter .go,.search-drawer .go{padding:14px;}footer.site .cols{grid-template-columns:1fr 1fr;}}
