/* Genie Schools – "Fizz Pop" design layer (chosen by Alex, 29 Oct 2026).
   Loaded after style.css on every page. Bright cream base, chunky ink outlines with offset shadows,
   bouncy pop-in reveals, floating science doodles, blob photos. Motion is driven by js/fizzpop.js and
   switched off completely for prefers-reduced-motion. Brand colours/fonts unchanged. */
:root{--ink:#1E2A4A;--yellow:#FFB81F;--red:#E5432A;--deep:#C4361F;--teal:#0E7F7A;--cream:#FFF7EA;--mist:#EEF1F6;--slate:#55607A;
  --fd:"Fredoka","Nunito Sans",system-ui,sans-serif;--fh:"Caveat",cursive;
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);--pop:4px 4px 0 var(--ink);--radius:24px}
html,body{overflow-x:clip}
body{background:var(--cream)}
body h1,body h2,body h3{font-weight:700;letter-spacing:-.02em}
body h1{font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1}
body h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04}
section{padding:80px 0}
.bg-white,.fp-white{background:#fff}
.bg-cream{background:var(--cream)}
.eyebrow{display:inline-block;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-size:.74rem;box-shadow:3px 3px 0 var(--ink)}
.sep{display:none}
.lead{font-size:clamp(1.05rem,1.4vw,1.22rem)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:0 5px 0 var(--ink);padding:14px 26px;transition:transform .3s var(--spring),box-shadow .2s,background .2s,color .2s}
.btn:hover{background:var(--yellow);border-color:var(--ink);color:var(--ink);transform:translateY(-3px);box-shadow:0 8px 0 var(--ink)}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.btn .ar{display:inline-block;transition:transform .35s var(--spring)}
.btn:hover .ar{transform:translateX(5px)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:0 5px 0 var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink,.band-yellow .btn{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 5px 0 #0c1224}
.btn-ink:hover,.band-yellow .btn:hover{background:var(--red);color:#fff;border-color:var(--ink);box-shadow:0 8px 0 #0c1224}
.btn-red{background:var(--deep);color:#fff}
.btn-sm{padding:9px 18px;font-size:.92rem;box-shadow:0 4px 0 var(--ink)}
.btn-lg{padding:19px 34px;font-size:1.15rem}
.btn-bounce{animation:fp-boing 2.8s var(--spring) infinite 2s}
@keyframes fp-boing{0%,80%,100%{transform:none}86%{transform:translateY(-8px) scale(1.04,.96)}92%{transform:scale(.97,1.03)}}
.btn-ghost-light,.cta .btn-ghost-light{background:transparent;color:#fff;border-color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.35)}
.btn-ghost-light:hover,.cta .btn-ghost-light:hover{background:#fff;color:var(--ink);border-color:#fff}
.pill{display:inline-block;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:7px 16px;font:800 .82rem var(--font-ui,inherit);box-shadow:3px 3px 0 var(--ink);margin-bottom:18px}

/* ---------- header / top bar / footer ---------- */
.topbar{background:var(--ink)}
.site-header{background:rgba(255,247,234,.86);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:2px solid var(--ink);transition:box-shadow .3s,background .3s}
.site-header.scrolled{background:rgba(255,255,255,.92);box-shadow:0 6px 0 rgba(30,42,74,.08)}
.site-header .wrap{transition:min-height .3s}
.site-header.scrolled .wrap{min-height:66px}
.nav a:not(.btn){position:relative;border-radius:10px}
.nav a:not(.btn):hover{background:transparent}
.nav a:not(.btn)::after{content:"";position:absolute;left:7px;right:7px;bottom:4px;height:3px;border-radius:3px;background:var(--yellow);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
.nav a[aria-current=page]{box-shadow:none;color:var(--deep)}
.nav a[aria-current=page]::after{transform:scaleX(1)}
.nav a.btn{box-shadow:0 4px 0 var(--ink);border-radius:999px;margin-left:10px}
.nav-toggle{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px}
.site-footer{background:var(--ink);position:relative;margin-top:70px;padding-top:40px}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-58px;height:60px;background:var(--ink);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path d='M0 40 C 240 90 480 -10 720 40 S 1200 90 1440 40 V80 H0Z'/></svg>") center/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path d='M0 40 C 240 90 480 -10 720 40 S 1200 90 1440 40 V80 H0Z'/></svg>") center/100% 100% no-repeat}
body .site-footer h4{color:var(--yellow)}
.site-footer li a{display:inline-block;transition:transform .3s var(--spring),color .2s}
.site-footer li a:hover{transform:translateX(5px)}

/* ---------- inner page heroes ---------- */
.page-hero{position:relative;overflow:hidden;background:var(--cream);padding:76px 0 64px;border-bottom:0}
.page-hero .wrap{position:relative;z-index:1}
body .page-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.98;letter-spacing:-.03em}
.page-hero p{font-size:1.15rem}
.motion .page-hero .eyebrow{animation:fp-pop .7s var(--spring) both .1s}
.motion .page-hero h1{animation:fp-rise .9s var(--ease) both .2s}
.motion .page-hero p,.motion .page-hero .btn-row{animation:fp-rise .9s var(--ease) both .38s}
@keyframes fp-rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes fp-pop{from{opacity:0;transform:scale(.6) rotate(-6deg)}to{opacity:1;transform:none}}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:36px;background:#fff;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path d='M0 40 C 240 90 480 -10 720 40 S 1200 90 1440 40 V80 H0Z'/></svg>") center/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path d='M0 40 C 240 90 480 -10 720 40 S 1200 90 1440 40 V80 H0Z'/></svg>") center/100% 100% no-repeat;opacity:0}
/* schools hero (uses the older .hero layout) */
.hero{background:var(--cream);position:relative}
.hero::before{display:none}
.hero .wrap{position:relative;z-index:1}
body .hero h1 em::after{background:var(--yellow)}
.hero-media img{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--yellow);border-radius:46% 54% 48% 52%/52% 46% 54% 48%;animation:fp-morph 12s ease-in-out infinite}
.hero-media .tag{font-family:var(--fh);background:var(--teal);border:2px solid var(--ink);box-shadow:var(--pop);transform:rotate(-5deg)}
.motion .hero-media{animation:fp-pop 1s var(--spring) both .3s}
.motion .hero .wrap>div:first-child{animation:fp-rise .9s var(--ease) both .1s}
.audience a{border:2px solid var(--ink);border-left:8px solid var(--yellow);box-shadow:var(--pop);transition:transform .35s var(--spring),box-shadow .2s}
.audience a:nth-child(2){border-left-color:var(--teal)}
.audience a:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:6px 7px 0 var(--ink)}
@keyframes fp-morph{50%{border-radius:40% 60% 45% 55%/55% 45% 60% 40%}}

/* floating doodles */
.floaters{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.fl{position:absolute;display:block;width:var(--s,60px)}
.fl span{display:block;animation:fp-float var(--d,7s) ease-in-out infinite;animation-delay:var(--dl,0s)}
.fl svg{display:block;width:100%;height:auto}
@keyframes fp-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(10deg)}}
@keyframes fp-spin{to{transform:rotate(360deg)}}
.floaters.auto .g0{--s:70px;left:4%;top:16%;--d:9s}
.floaters.auto .g1{--s:30px;left:22%;bottom:16%;--d:5s;--dl:-2s}
.floaters.auto .g2{--s:54px;right:6%;top:14%;--d:8s;--dl:-1s}
.floaters.auto .g3{--s:40px;right:18%;bottom:12%;--d:6s}
.floaters.auto .g4{--s:26px;right:34%;top:10%;--d:4.5s;--dl:-3s}
.floaters.auto .g0 span{animation:fp-spin 24s linear infinite}
.cta .floaters.auto,.band-yellow .floaters.auto{opacity:.55}

/* ---------- bands, strips ---------- */
.band-brown{background:var(--yellow);color:var(--ink);padding:34px 0;border-block:2px solid var(--ink)}
.strip div{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:14px;box-shadow:var(--pop);color:var(--ink);transition:transform .35s var(--spring)}
.strip div:hover{transform:rotate(-3deg) scale(1.04)}
.band-yellow{position:relative;overflow:hidden;border-block:2px solid var(--ink)}
.band-yellow .wrap{position:relative;z-index:1}
.essentials-band{background:#fff;border-block:2px solid var(--ink)}
.essentials li{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .3s var(--spring)}
.essentials li:hover{transform:translateY(-3px) rotate(-1deg)}

/* ---------- cards & blocks ---------- */
.section-head{margin-bottom:44px}
.card{border:3px solid var(--ink);border-radius:var(--radius);box-shadow:6px 6px 0 var(--ink);transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out,box-shadow .3s,opacity .8s}
.card:hover{box-shadow:10px 10px 0 var(--yellow)}
.card img{transition:transform .8s var(--ease)}
.card:hover img{transform:scale(1.06)}
.card h3{font-size:1.55rem}
.split img{border:4px solid var(--ink);border-radius:42% 58% 50% 50%/50% 45% 55% 50%;box-shadow:12px 12px 0 var(--yellow);transition:rotate .6s var(--spring)}
.split img:hover{rotate:-2deg}
.theme{border:2px solid var(--ink);border-left:8px solid var(--yellow);box-shadow:var(--pop);transition:transform .35s var(--spring),box-shadow .2s}
.theme:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:6px 7px 0 var(--ink)}
.step{border:3px solid var(--ink);border-radius:26px;box-shadow:5px 5px 0 var(--ink);padding-top:62px;transition:transform .35s var(--spring)}
.step:hover{transform:translateY(-4px)}
.step::before{width:58px;height:58px;border:3px solid var(--ink);box-shadow:none;font-weight:700;top:-26px}
.price{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--yellow)}
.quote{background:var(--cream);border:3px solid var(--ink);border-radius:30px 30px 30px 6px;box-shadow:5px 5px 0 var(--ink)}
.bg-white .quote,.fp-white .quote{background:var(--cream)}
.cta{background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);border-radius:34px}
.cta::after{display:none}
.cta>*{position:relative;z-index:1}
body .cta h2{color:var(--ink)}
.cta .lead{color:var(--ink)}
.cta .btn{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 5px 0 #0c1224}
.cta .btn:hover{background:var(--red);color:#fff;border-color:var(--ink)}
.cta .btn-ghost-light{color:var(--ink);border-color:var(--ink);background:#fff}
.sister-box{border:2px solid var(--ink);box-shadow:var(--pop)}
.ticks li::before{background-color:var(--teal);border:2px solid var(--ink)}
details{border:2px solid var(--ink);box-shadow:var(--pop);border-radius:18px;transition:transform .3s var(--spring),box-shadow .2s}
details:hover{transform:translateY(-2px)}
details[open]{box-shadow:6px 6px 0 var(--yellow)}
summary::after{transition:transform .3s var(--spring)}
details[open] summary::after{transform:rotate(180deg)}
.table{border:2px solid var(--ink);box-shadow:var(--pop)}
form.gs-form{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:28px}
input,select,textarea{border:2px solid var(--ink);border-radius:14px}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:4px 4px 0 var(--teal)}
.vcard{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:var(--radius);transition:transform .35s var(--spring),box-shadow .3s}
.vcard:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:10px 10px 0 var(--yellow)}
.vplay{border:3px solid var(--ink);transition:transform .35s var(--spring)}
.vfacade:hover .vplay{transform:scale(1.15)}
.consent-note{border:2px solid var(--ink);border-left:8px solid var(--teal)}

/* ---------- reveal system ---------- */
.motion [data-rv]{opacity:0;transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.motion [data-rv=up]{transform:translateY(50px)}
.motion [data-rv=left]{transform:translateX(-70px)}
.motion [data-rv=right]{transform:translateX(70px)}
.motion [data-rv=zoom]{transform:scale(.88)}
.motion [data-rv=pop]{transform:translateY(40px) scale(.7) rotate(-6deg);transition-timing-function:var(--ease),var(--spring)}
.motion [data-rv].in{opacity:1;transform:none}
.motion .card[data-rv].in{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out,box-shadow .3s,opacity .7s}
.ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.ln>span{display:inline-block}
.motion .ln>span{transform:translateY(110%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--l,0)*120ms + 150ms)}
.motion.loaded .ln>span{transform:none}
/* marquee */
.mq{overflow:hidden;display:flex;-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.mq-t{display:flex;flex:none;gap:var(--gap,16px);padding-right:var(--gap,16px);animation:fp-mq var(--dur,40s) linear infinite}
.mq.rev .mq-t{animation-direction:reverse}
.mq:hover .mq-t{animation-play-state:paused}
@keyframes fp-mq{to{transform:translateX(-100%)}}

/* ---------- HOME ---------- */
.fp-hero{position:relative;padding:44px 0 70px;overflow:hidden}
.fp-hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;position:relative;z-index:1}
body h1.fp-mega{font-size:clamp(3rem,6vw,5.4rem);line-height:.95;letter-spacing:-.03em;margin-bottom:.1em}
.fp-mega em{font-style:normal;color:var(--red);position:relative;display:inline-block}
.scribble{position:absolute;left:-2%;bottom:-.12em;width:104%;height:.32em;overflow:visible}
.scribble path{stroke-dasharray:340;stroke-dashoffset:340}
.motion.loaded .scribble path{animation:fp-draw 1s var(--ease) 1.1s forwards}
@keyframes fp-draw{to{stroke-dashoffset:0}}
.fp-hero .lead{margin:18px 0 26px;max-width:40ch}
.fp-stack{position:relative;height:520px}
.blob{position:absolute;margin:0;overflow:hidden;border:6px solid #fff;box-shadow:0 20px 50px rgba(30,42,74,.18)}
.blob img{width:100%;height:100%;object-fit:cover}
.b1{width:72%;height:300px;left:0;top:20px;border-radius:58% 42% 55% 45%/50% 60% 40% 50%;animation:fp-morph 12s ease-in-out infinite}
.b2{width:58%;height:250px;right:0;top:190px;border-radius:45% 55% 40% 60%/60% 40% 60% 40%;animation:fp-morph 14s ease-in-out infinite reverse}
.b3{width:52%;height:200px;left:8%;bottom:0;border-radius:50% 50% 60% 40%/40% 60% 50% 50%;animation:fp-morph 10s ease-in-out infinite}
.sticker{position:absolute;font:700 1.9rem/1 var(--fh);padding:10px 18px;border-radius:14px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);z-index:2}
.s1{background:var(--yellow);left:56%;top:6px;rotate:6deg}.s2{background:var(--teal);color:#fff;left:-10px;top:300px;rotate:-7deg}.s3{background:var(--red);color:#fff;right:4%;bottom:30px;rotate:4deg}
.dash{position:absolute;right:-30px;top:0;height:100%;width:140px;opacity:.45}
.dash path{animation:fp-march 2s linear infinite}
@keyframes fp-march{to{stroke-dashoffset:-36}}
.fp-facts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:46px 0 0;position:relative;z-index:1}
.fp-facts li{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:16px;text-align:center;font:600 1.12rem/1.2 var(--fd);box-shadow:var(--pop);transition:transform .4s var(--spring)}
.fp-facts li.in:hover{transform:rotate(-3deg) scale(1.05)}
.fp-facts i{display:block;font-style:normal;font-size:1.9rem;margin-bottom:4px}
.fp-aud{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;position:relative;z-index:1}
.fp-aud a{display:block;text-decoration:none;color:var(--ink);background:#fff;border:2px solid var(--ink);border-left:8px solid var(--yellow);border-radius:20px;padding:16px 20px;box-shadow:var(--pop);transition:transform .35s var(--spring),box-shadow .2s}
.fp-aud a:nth-child(2){border-left-color:var(--teal)}
.fp-aud a.in:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:6px 7px 0 var(--ink)}
.fp-aud strong{font:700 1.3rem var(--fd);display:block}.fp-aud span{color:var(--slate);font-size:.95rem}
.fp-hero .f0{--s:84px;left:3%;top:12%;--d:8s}.fp-hero .f1{--s:62px;left:44%;top:6%;--d:6s;--dl:-2s}.fp-hero .f2{--s:38px;left:47%;top:60%;--d:5s}.fp-hero .f3{--s:54px;right:3%;top:8%;--d:9s;--dl:-1s}
.fp-hero .f4{--s:46px;left:2%;bottom:24%;--d:7s;--dl:-3s}.fp-hero .f5{--s:30px;right:42%;bottom:8%;--d:6s}.fp-hero .f6{--s:26px;left:30%;top:2%;--d:4s}.fp-hero .f7{--s:70px;right:6%;bottom:4%;--d:11s}
.fp-hero .f0 span,.fp-hero .f7 span{animation:fp-spin 22s linear infinite}
.fp-chips{padding:26px 0 40px;display:grid;gap:14px}
.chip{display:inline-block;white-space:nowrap;font:600 1.3rem var(--fd);padding:12px 24px;border-radius:999px;border:2px solid var(--ink);transition:transform .3s var(--spring)}
.c0{background:var(--yellow)}.c1{background:#fff}.c2{background:var(--teal);color:#fff}.c3{background:var(--red);color:#fff}
.chip:hover{transform:rotate(-4deg) scale(1.06)}
.wave{display:block;width:100%;height:70px;margin-top:-69px;position:relative}
.fp-special .wave path{fill:#fff}
.fp-special{padding:20px 0 100px;position:relative;margin-top:80px}
.fp-head{text-align:center;max-width:820px;margin:0 auto 56px}
.fp-head h2{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1;letter-spacing:-.03em}
.fp-head p{font-size:1.15rem;max-width:60ch;margin:0 auto}
.hl{background:linear-gradient(transparent 60%,var(--yellow) 60%);padding:0 .08em;font-weight:800}
.hl.t{background:linear-gradient(transparent 60%,rgba(14,127,122,.35) 60%)}
.fp-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin:0 0 70px}
.fp-row.rev figure{order:2}
.blob-wob{margin:0;border-radius:42% 58% 50% 50%/50% 45% 55% 50%;overflow:hidden;aspect-ratio:4/3;border:8px solid var(--cream);box-shadow:14px 14px 0 var(--yellow);transition:rotate .6s var(--spring)}
.fp-row.rev .blob-wob{box-shadow:-14px 14px 0 var(--teal)}
.fp-row:nth-of-type(4) .blob-wob{box-shadow:14px 14px 0 var(--red)}
.blob-wob:hover{rotate:-3deg}
.blob-wob img{width:100%;height:100%;object-fit:cover}
.bignum{font:700 5rem/1 var(--fd);color:var(--yellow);-webkit-text-stroke:3px var(--ink);display:block}
body .fp-row h3{font-size:clamp(2rem,3.6vw,3.2rem);color:var(--red)}
body .fp-row.rev h3{color:var(--teal)}
.fp-row p{font-size:1.25rem;max-width:32ch}
.fp-extra{font:600 1.5rem var(--fd)}
.center-row{justify-content:center}
.fp-offer{padding:100px 0}
.fp-steps{padding:100px 0;background:var(--yellow);border-block:2px solid var(--ink)}
.fp-steps .pill{background:var(--cream)}
.fp-path{position:relative}
.fp-line{position:absolute;left:0;right:0;top:0;width:100%;height:120px}
.fp-line path{stroke:#fff;stroke-dasharray:1;stroke-dashoffset:calc(1 - min(1, var(--p,0)*2.2))}
.fp-path ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.fp-path li{background:#fff;border:3px solid var(--ink);border-radius:26px;padding:70px 22px 24px;margin-top:30px;position:relative;box-shadow:5px 5px 0 var(--ink)}
.fp-path li:nth-child(even){margin-top:70px}
.dot{position:absolute;top:-30px;left:22px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:700 2rem var(--fd);background:var(--red);color:#fff;border:3px solid var(--ink)}
.fp-path li:nth-child(2) .dot{background:var(--teal)}.fp-path li:nth-child(3) .dot{background:var(--ink)}.fp-path li:nth-child(4) .dot{background:var(--yellow);color:var(--ink)}
.fp-path h3{font-size:1.5rem}
.fp-reel{padding:70px 0}
.fp-reel .mq{--gap:18px;margin-bottom:30px}
.pm{display:block;margin:0;width:clamp(240px,26vw,380px);aspect-ratio:4/3;border-radius:22px;overflow:hidden;flex:none;border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.pm:nth-child(odd){rotate:-2deg}.pm:nth-child(even){rotate:2deg}
.pm img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pm:hover img{transform:scale(1.1)}
.fp-quotes{padding:90px 0}
.fp-cta{background:var(--yellow);padding:40px 0 110px;margin-top:70px;position:relative;text-align:center}
.fp-cta .wave path{fill:var(--yellow)}
.fp-cta-in{position:relative}
body .fp-cta h2{font-size:clamp(2.6rem,7vw,6rem);position:relative;z-index:1}
.fp-cta .lead{max-width:52ch;margin:0 auto 30px;position:relative;z-index:1}
.fp-cta .btn{position:relative;z-index:1}
.fp-cta .floaters{opacity:.55}

/* ---------- reduced motion: show everything, move nothing ---------- */
.rm *,.rm *::before,.rm *::after{animation:none!important;transition:none!important}
.rm .mq{overflow-x:auto}
.rm .scribble path,.rm .fp-line path{stroke-dashoffset:0}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}[data-rv]{opacity:1!important;transform:none!important}.ln>span{transform:none!important}}

/* ---------- responsive ---------- */
@media (max-width:1000px){
 .fp-hero-in{grid-template-columns:1fr}.fp-stack{height:440px}.fp-facts{grid-template-columns:1fr 1fr}
 .fp-path ol{grid-template-columns:1fr 1fr}.fp-line{display:none}.fp-row{grid-template-columns:1fr;gap:26px}.fp-row.rev figure{order:0}
}
@media (max-width:760px){
 section{padding:56px 0}
 .page-hero{padding:48px 0 44px}
 .fp-stack{height:360px}.b1{height:200px}.b2{height:170px;top:150px}.b3{height:140px}.s2{top:220px}.sticker{font-size:1.4rem}
 .fp-path ol,.fp-aud{grid-template-columns:1fr}.fp-path li:nth-child(even){margin-top:30px}.chip{font-size:1.05rem}.fp-hero{padding-top:30px}
 .motion [data-rv=left]{transform:translateX(-36px)}.motion [data-rv=right]{transform:translateX(36px)}
 .bignum{font-size:3.6rem}.cta{box-shadow:6px 6px 0 var(--ink)}
}
/* doodle positions in the home CTA */
.fp-cta .fl{--s:44px}
.fp-cta .f0{--s:80px;left:2%;top:4%;--d:9s}.fp-cta .f1{--s:56px;right:4%;top:10%;--d:7s}.fp-cta .f2{--s:34px;left:16%;bottom:12%;--d:5s}.fp-cta .f3{--s:50px;right:16%;bottom:6%;--d:8s}
.fp-cta .f4{--s:40px;left:30%;top:0;--d:6s}.fp-cta .f5{--s:28px;right:30%;top:6%;--d:5s}.fp-cta .f6{--s:24px;left:8%;top:52%;--d:4s}.fp-cta .f7{--s:64px;right:2%;bottom:30%;--d:11s}
.fp-cta .f0 span,.fp-cta .f7 span{animation:fp-spin 26s linear infinite}
@media (max-width:760px){.floaters .fl{opacity:.4}.fp-hero .f0,.fp-hero .f4,.fp-hero .f6,.floaters.auto .g1,.floaters.auto .g4{display:none}.fp-hero .f2{top:auto;bottom:40%}}
