:root{
  --bg:#fffaf0;--bg2:#fdf0d8;--accent:#e5533d;--text:#1f2a44;--muted:#5f6680;--paper:#1f2a44;--paper-ink:#fff8ea;--band:#2f6e4f;--band-ink:#f3fbf6;--on-accent:#ffffff;
  --yel:#ffc93c;--grn:#2f9e6f;--blu:#3b82f6;--pnk:#f472b6;--red:var(--accent);
  --disp:'PoppinsX','Poppins',system-ui,sans-serif;--ser:'Pagella',Georgia,serif;
  --ink:#1f2a44;--line:color-mix(in srgb,var(--text) 14%,transparent);--ease:cubic-bezier(.34,1.56,.64,1);--radius:999px;
}
body{font:400 16px/1.65 var(--disp);background:var(--bg);overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--disp);font-weight:500;letter-spacing:-.03em;line-height:1.08}
.ser{font-family:var(--ser);font-style:italic;font-weight:400;letter-spacing:-.01em}
.wrap{max-width:1240px}
.small{font-size:13.5px;color:var(--muted)}
.sq{position:relative;white-space:nowrap}
.sq:after{content:'';position:absolute;left:-2%;right:-2%;bottom:-.12em;height:.32em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M2 14C40 4 70 4 100 11s70 6 98-6' stroke='%23ffc93c' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:-1}
.crayon{display:flex;height:6px}.crayon i{flex:1}
.crayon i:nth-child(1){background:var(--red)}.crayon i:nth-child(2){background:var(--yel)}.crayon i:nth-child(3){background:var(--grn)}.crayon i:nth-child(4){background:var(--blu)}.crayon i:nth-child(5){background:var(--pnk)}

/* ---------- buttons: chunky, playful ---------- */
.btn,.cta{display:inline-flex;align-items:center;gap:8px;font:500 15px/1 var(--disp);padding:16px 26px;border-radius:16px;border:2px solid var(--ink);background:var(--accent);color:#fff;box-shadow:4px 4px 0 var(--ink);transition:transform .2s var(--ease),box-shadow .2s}
.btn:hover,.cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);background:var(--accent);color:#fff}
.btn.y{background:var(--yel);color:var(--ink)}
.btn.w{background:#fff;color:var(--ink)}
.btn.g{background:var(--grn)}
.ln{font-weight:500;color:var(--accent);border-bottom:2px solid currentColor}

/* ---------- split nav: links left, crest centre ---------- */
.snv{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:2px dashed var(--line)}
.snv .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;gap:20px}
.snv .links{display:flex;gap:22px}
.snv .links a{font-size:14.5px;font-weight:500;position:relative;padding:4px 0}
.snv .links a.on{color:var(--accent)}
.snv .links a.on:before{content:'';position:absolute;left:50%;top:-8px;width:6px;height:6px;border-radius:50%;background:var(--yel);transform:translateX(-50%)}
.logo{display:flex;align-items:center;gap:12px}
.logo .seal{width:52px;height:52px;color:var(--accent);display:block;flex:none}
.logo .seal svg{width:100%;height:100%}
.logo .lt{display:flex;flex-direction:column;line-height:1}
.logo .lt b{font-family:var(--ser);font-style:italic;font-weight:400;font-size:25px;letter-spacing:-.01em}
.logo .lt small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nr{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.cta{padding:12px 18px;font-size:14px;border-radius:12px;box-shadow:3px 3px 0 var(--ink)}

/* ---------- hero: centred story with collage + stickers ---------- */
.hero{position:relative;text-align:center;padding:70px 0 40px;overflow:hidden}
.hero h1{font-size:clamp(44px,6.6vw,96px);max-width:14ch;margin:0 auto;position:relative;z-index:1}
.hero h1 .ser{color:var(--accent)}
.hero .sub{font-size:18px;max-width:52ch;margin:24px auto 30px;color:var(--muted)}
.hero .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.stk{position:absolute;z-index:2;font:500 14px var(--disp);padding:10px 16px;border-radius:14px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;animation:bob 5s ease-in-out infinite}
.stk b{display:block;font-size:22px;line-height:1}
.s1{left:6%;top:90px;transform:rotate(-8deg);background:var(--yel)}
.s2{right:7%;top:120px;transform:rotate(7deg);background:#c7f0dc;animation-delay:-1.5s}
.s3{left:10%;top:330px;transform:rotate(5deg);background:#dbe7ff;animation-delay:-3s}
.s4{right:9%;top:350px;transform:rotate(-6deg);background:#ffd9e8;animation-delay:-2s}
@keyframes bob{50%{translate:0 -8px}}
.doodle{position:absolute;z-index:0;pointer-events:none}
.d-sun{width:110px;height:110px;left:46%;top:-40px;border-radius:50%;background:radial-gradient(circle,var(--yel) 45%,transparent 46%),repeating-conic-gradient(var(--yel) 0 8deg,transparent 8deg 22deg);opacity:.55;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(1turn)}}
.collage{position:relative;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:22px;align-items:end;max-width:1100px;margin:56px auto 0;padding:0 20px}
.blob{position:relative;overflow:hidden;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.b1{aspect-ratio:4/5;border-radius:58% 42% 46% 54%/50% 44% 56% 50%;transform:rotate(-4deg);background:var(--yel)}
.b2{aspect-ratio:1/1;border-radius:46% 54% 42% 58%/56% 46% 54% 44%;background:var(--grn)}
.b3{aspect-ratio:4/5;border-radius:42% 58% 54% 46%/48% 56% 44% 52%;transform:rotate(5deg);background:var(--blu)}
.blob.uph{background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0 18%,transparent 19%),radial-gradient(circle at 72% 70%,rgba(255,255,255,.22) 0 12%,transparent 13%)}
.blob .cap{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;white-space:nowrap}
.wave{display:block;width:100%;height:70px;color:var(--bg2)}

/* ---------- winding learning path ---------- */
.path{background:var(--bg2);padding:40px 0 90px;position:relative}
.sec-h{text-align:center;max-width:720px;margin:0 auto 44px}
.sec-h h2{font-size:clamp(34px,4.4vw,58px)}
.sec-h h2 .ser{color:var(--accent)}
.sec-h p{color:var(--muted);margin-top:14px;font-size:17px}
.road{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1100px;margin:0 auto;padding:40px 20px 0}
.road svg.rd{position:absolute;left:0;right:0;top:0;width:100%;height:150px;z-index:0}
.stop{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;background:none;border:0;cursor:pointer;font:inherit;color:inherit}
.stop:nth-child(odd){margin-top:60px}
.stop .pin{width:84px;height:84px;border-radius:50%;border:3px solid var(--ink);display:grid;place-items:center;box-shadow:4px 4px 0 var(--ink);font:500 28px var(--disp);transition:transform .3s var(--ease);background:#fff}
.stop[aria-pressed=true] .pin{transform:scale(1.12) rotate(-6deg)}
.stop b{font-size:19px;font-weight:500}
.stop small{font-size:13px;color:var(--muted)}
.stop:nth-of-type(2) .pin{background:var(--yel)}.stop:nth-of-type(3) .pin{background:#c7f0dc}.stop:nth-of-type(4) .pin{background:#dbe7ff}.stop:nth-of-type(5) .pin{background:#ffd9e8}
.spanel{max-width:760px;margin:36px auto 0;background:#fff;border:3px solid var(--ink);border-radius:26px;padding:30px 34px;box-shadow:8px 8px 0 var(--c,var(--ink));position:relative;transition:box-shadow .4s}
.spanel .age{display:inline-block;font-size:13px;font-weight:500;background:color-mix(in srgb,var(--c) 30%,#fff);padding:5px 12px;border-radius:999px}
.spanel h3{font-size:34px;margin:12px 0 8px}
.spanel p{color:var(--muted)}
.spanel ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}
.spanel li{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;font-size:14px}
.spanel li:before{content:'★ ';color:var(--c)}

/* ---------- zig-zag stories ---------- */
.zig{padding:90px 0}
.zz{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:90px}
.zz:last-child{margin-bottom:0}
.zz.r .zi{order:2}
.zi{position:relative}
.zi .blob{aspect-ratio:5/4;border-radius:38% 62% 55% 45%/52% 40% 60% 48%}
.zi .tape{position:absolute;top:-14px;left:50%;width:120px;height:30px;background:color-mix(in srgb,var(--yel) 75%,transparent);transform:translateX(-50%) rotate(-4deg);z-index:4}
.zt h2{font-size:clamp(32px,3.6vw,50px)}
.zt h2 .ser{color:var(--accent)}
.zt p{color:var(--muted);margin:18px 0 22px;font-size:17px}
.fl{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fl li{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.fl li i{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;border:2px solid var(--ink);font-style:normal;font-size:16px}
.fl li:nth-child(4n+1) i{background:var(--yel)}.fl li:nth-child(4n+2) i{background:#c7f0dc}.fl li:nth-child(4n+3) i{background:#dbe7ff}.fl li:nth-child(4n+4) i{background:#ffd9e8}
.fl b{display:block;font-weight:500}.fl small{color:var(--muted);font-size:13px}

/* ---------- chalkboard: a day at school ---------- */
.board{background:#22392f;color:#f1efe6;padding:80px 0 90px;position:relative;border-top:14px solid #8b5e34;border-bottom:14px solid #8b5e34;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:6px 6px}
.board .sec-h h2{font-family:var(--ser);font-style:italic;font-weight:400;font-size:clamp(40px,5vw,68px)}
.board .sec-h p{color:rgba(241,239,230,.7)}
.day{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;max-width:1100px;margin:0 auto}
.day:before{content:'';position:absolute;left:4%;right:4%;top:37px;border-top:2.5px dashed rgba(241,239,230,.4)}
.slot{text-align:center;padding:0 10px;position:relative}
.slot .cl{width:74px;height:74px;border-radius:50%;margin:0 auto 16px;border:2.5px solid rgba(241,239,230,.85);display:grid;place-items:center;font:500 16px var(--disp);background:#22392f;position:relative;z-index:1}
.slot b{font-family:var(--ser);font-style:italic;font-weight:400;font-size:24px;display:block}
.slot small{font-size:13.5px;color:rgba(241,239,230,.7);display:block;margin-top:6px}
.chalk-y{color:#ffe48a}.chalk-p{color:#ffc2da}.chalk-b{color:#bcd6ff}

/* ---------- notebook eligibility ---------- */
.nbw{padding:90px 0}
.nbg{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.nb{position:relative;background:#fff;border:3px solid var(--ink);border-radius:8px 26px 26px 8px;box-shadow:8px 8px 0 var(--ink);padding:40px 40px 34px 76px;background-image:linear-gradient(90deg,transparent 54px,rgba(229,83,61,.55) 54px 56px,transparent 56px),repeating-linear-gradient(transparent 0 33px,rgba(59,130,246,.22) 33px 34px);background-color:#fff}
.nb:before{content:'';position:absolute;left:16px;top:30px;bottom:30px;width:14px;background:radial-gradient(circle,var(--bg) 5px,var(--ink) 5.5px,var(--ink) 6.5px,transparent 7px) 0 0/14px 34px repeat-y}
.nb h3{font-family:var(--ser);font-style:italic;font-weight:400;font-size:38px;line-height:34px;margin-bottom:12px}
.nb label{display:block;font-size:14px;color:var(--muted);line-height:34px}
.nb input[type=date]{font:500 18px var(--disp);border:0;border-bottom:2px solid var(--ink);background:transparent;padding:4px 2px;color:var(--text);width:100%;max-width:280px}
.nb .eout{margin-top:22px;font-size:17px;line-height:34px;min-height:68px}
.nb .eout b{font-weight:500}
.cls{display:inline-block;font-family:var(--ser);font-style:italic;font-size:30px;color:var(--accent);line-height:1;padding:2px 10px;border:2.5px solid var(--accent);border-radius:50% 46% 52% 48%;transform:rotate(-3deg)}
.nbt h2{font-size:clamp(32px,3.6vw,50px)}
.nbt h2 .ser{color:var(--accent)}
.nbt p{color:var(--muted);margin:16px 0 22px;font-size:17px}
.steps{list-style:none;counter-reset:s;display:grid;gap:12px;margin-bottom:26px}
.steps li{counter-increment:s;display:flex;gap:14px;align-items:center;font-size:15.5px}
.steps li:before{content:counter(s);width:34px;height:34px;flex:none;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:14px}

/* ---------- sticky notes + events ---------- */
.notes{padding:20px 0 100px}
.nts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1100px;margin:0 auto}
.note{padding:30px 28px 26px;font-size:17px;line-height:1.55;box-shadow:0 14px 24px -12px rgba(0,0,0,.25);position:relative;transition:transform .3s var(--ease)}
.note:nth-child(1){background:#fff2a8;transform:rotate(-2.5deg)}.note:nth-child(2){background:#ffd9e8;transform:rotate(1.8deg);margin-top:24px}.note:nth-child(3){background:#d4f3e3;transform:rotate(-1.4deg)}
.note:hover{transform:rotate(0) scale(1.03)}
.note:before{content:'';position:absolute;top:-12px;left:50%;width:22px;height:22px;border-radius:50%;background:var(--accent);box-shadow:inset -3px -3px 0 rgba(0,0,0,.2);transform:translateX(-50%)}
.note p{font-family:var(--ser);font-style:italic;font-size:21px;line-height:1.4}
.note cite{display:block;font-style:normal;font-size:13.5px;margin-top:16px;color:#5a5a5a}
.evs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1100px;margin:70px auto 0}
.ev2{background:#fff;border:2.5px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:4px 4px 0 var(--ink)}
.ev2 .dt{background:var(--accent);color:#fff;text-align:center;padding:10px 0 8px;position:relative}
.ev2 .dt:before,.ev2 .dt:after{content:'';position:absolute;top:-6px;width:10px;height:18px;border-radius:6px;background:var(--ink)}
.ev2 .dt:before{left:30%}.ev2 .dt:after{right:30%}
.ev2 .dt b{display:block;font-size:34px;line-height:1;font-weight:500}
.ev2 .dt small{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.ev2:nth-child(2) .dt{background:var(--grn)}.ev2:nth-child(3) .dt{background:var(--blu)}.ev2:nth-child(4) .dt{background:var(--pnk)}
.ev2 p{padding:14px 16px 16px;font-size:15px;font-weight:500}
.ev2 p small{display:block;font-weight:400;color:var(--muted);font-size:13px}

/* CTA band */
.join{background:var(--yel);padding:70px 0;text-align:center;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);position:relative;overflow:hidden}
.join h2{font-size:clamp(34px,4.6vw,62px);max-width:18ch;margin:0 auto 14px;color:var(--ink)}
.join p{color:#3d3a2a;margin-bottom:26px}
.join .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.join:before,.join:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:3px dashed rgba(31,42,68,.25)}
.join:before{left:-60px;top:-60px}.join:after{right:-50px;bottom:-70px}

/* ---------- inner pages ---------- */
.ihero{text-align:center;padding:64px 0 30px;position:relative}
.ihero h1{font-size:clamp(40px,5.4vw,78px);max-width:16ch;margin:0 auto}
.ihero h1 .ser{color:var(--accent)}
.ihero p{color:var(--muted);max-width:56ch;margin:18px auto 0;font-size:17px}
.sec{padding:60px 0}
.card{background:#fff;border:2.5px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--ink);padding:32px}
.card h2{font-size:30px;margin-bottom:12px}
.card h2 .ser{color:var(--accent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tabs button{font:500 14px var(--disp);padding:10px 16px;border-radius:12px;border:2px solid var(--ink);background:#fff;cursor:pointer;color:var(--ink)}
.tabs button[aria-pressed=true]{background:var(--ink);color:#fff}
.ftab{width:100%;border-collapse:collapse;font-size:15px}
.ftab td{padding:13px 0;border-bottom:1.5px dashed var(--line)}
.ftab td:last-child{text-align:right;font-weight:500}
.ftab td small{display:block;color:var(--grn);font-size:12.5px}
.ftab .tt td{border:0;font-size:19px;padding-top:16px}
.ftab .tt td:last-child{color:var(--accent)}
.chk{display:flex;gap:10px;align-items:center;font-size:14.5px;margin-top:12px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--accent)}
.docs{list-style:none;display:grid;gap:8px;margin:10px 0 16px}
.docs label{display:flex;gap:12px;align-items:center;padding:12px 14px;border:2px solid var(--line);border-radius:14px;cursor:pointer;font-size:15px;transition:all .2s}
.docs label:has(input:checked){border-color:var(--grn);background:#e6f6ee;text-decoration:line-through;color:var(--muted)}
.docs input{width:20px;height:20px;accent-color:var(--grn)}
.pbar{height:10px;border-radius:9px;background:var(--bg2);overflow:hidden;border:2px solid var(--ink)}
.pbar b{display:block;height:100%;background:var(--grn);transition:width .4s}
.proc{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:p}
.proc div{counter-increment:p;background:#fff;border:2.5px solid var(--ink);border-radius:20px;padding:22px 18px;position:relative;box-shadow:4px 4px 0 var(--ink)}
.proc div:before{content:counter(p);position:absolute;top:-18px;left:18px;width:38px;height:38px;border-radius:50%;background:var(--yel);border:2.5px solid var(--ink);display:grid;place-items:center;font-weight:500}
.proc b{display:block;font-size:17px;font-weight:500;margin:10px 0 4px}
.proc small{color:var(--muted);font-size:13.5px}
.stages4{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.stg{scroll-margin-top:110px}
.stg .tg{display:inline-block;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;border:2px solid var(--ink)}
.stg h3{font-size:28px;margin:12px 0 8px}
.stg p{color:var(--muted)}
.stg ul{margin:14px 0 0 18px;color:var(--text);font-size:15px;display:grid;gap:4px}
.fac2{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fc{border-radius:22px;padding:24px;border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.fc:nth-child(4n+1){background:#fff2a8}.fc:nth-child(4n+2){background:#d4f3e3}.fc:nth-child(4n+3){background:#dbe7ff}.fc:nth-child(4n+4){background:#ffd9e8}
.fc b{display:block;font-size:42px;font-weight:500;line-height:1;letter-spacing:-.04em}
.fc h4{font-size:18px;margin:12px 0 4px}
.fc p{font-size:14px;color:#4a4f63}
.gal{columns:3;column-gap:18px}
.gi{break-inside:avoid;margin-bottom:18px;border:2.5px solid var(--ink);border-radius:22px;overflow:hidden;position:relative;box-shadow:4px 4px 0 var(--ink)}
.gi .uph{aspect-ratio:var(--ar,4/3)}
.gi .ill{aspect-ratio:var(--ar,1/1);display:grid;place-items:center;font-size:64px}
.gi figcaption{padding:12px 16px;font-size:14.5px;font-weight:500;background:#fff;border-top:2.5px solid var(--ink)}
.gi figcaption small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.calw{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:start}
.calh{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.calh h3{font-family:var(--ser);font-style:italic;font-weight:400;font-size:32px}
.calh button{width:42px;height:42px;border-radius:12px;border:2px solid var(--ink);background:#fff;cursor:pointer;font-size:18px;color:var(--ink)}
.calg{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calg span{aspect-ratio:1;display:grid;place-items:center;border-radius:12px;font-size:15px}
.calg .dh{aspect-ratio:auto;font-size:12px;font-weight:500;color:var(--muted);padding-bottom:6px}
.calg .d{background:var(--bg)}
.calg .ev{color:#fff;font-weight:500;cursor:help;border:2px solid var(--ink)}
.calg .td{outline:2.5px solid var(--accent);outline-offset:-2px}
.e-fun{--e:var(--accent)}.e-pt{--e:var(--blu)}.e-sp{--e:var(--grn)}.e-ac{--e:#8b5cf6}.e-hol{--e:#64748b}.e-ad{--e:#d97706}
.calg .ev{background:var(--e)}
.call{list-style:none;display:grid;gap:10px}
.call li{display:flex;gap:14px;align-items:center;padding:12px 14px;background:#fff;border:2px solid var(--ink);border-left:10px solid var(--e);border-radius:14px}
.call li b{font-size:24px;font-weight:500;width:34px;text-align:center}
.call li span{font-size:15px;font-weight:500}
.call li small{display:block;color:var(--muted);font-weight:400;font-size:12.5px}
.call .none{border-left-width:2px;color:var(--muted)}
.trout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.trout div{background:var(--bg);border:2px solid var(--ink);border-radius:16px;padding:14px}
.trout small{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.trout b{font-size:20px;font-weight:500}
.busm{position:relative;height:170px;margin-top:24px;border-radius:18px;background:repeating-linear-gradient(90deg,transparent 0 30px,rgba(31,42,68,.06) 30px 31px),repeating-linear-gradient(0deg,transparent 0 30px,rgba(31,42,68,.06) 30px 31px),#f6f1e3;border:2px solid var(--ink);overflow:hidden}
.busm svg{position:absolute;inset:0;width:100%;height:100%}
.k-form input,.k-form select,.k-form textarea{border:2px solid var(--ink);border-radius:12px;padding:12px 14px;background:#fff;font:400 16px var(--disp);color:var(--text)}
.k-form label{letter-spacing:0;color:var(--muted);font-size:13.5px;gap:6px}
.k-form .btn{justify-self:start}
.faq details{border-bottom:2px dashed var(--line)}
.faq summary{font-family:var(--disp);font-weight:500;font-size:17px}

/* ---------- footer ---------- */
.sfoot{background:var(--paper);color:var(--paper-ink);margin-top:0;position:relative}
.sfoot .wave{position:absolute;top:-69px;left:0;color:var(--paper)}
.fin{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-top:60px;padding-bottom:40px}
.fin .logo .seal{color:var(--yel)}
.fin .logo .lt small{color:rgba(255,248,234,.6)}
.fin p{font-size:14.5px;color:rgba(255,248,234,.75);margin-top:14px}
.fin h4{font-size:17px;color:var(--yel)}
.fin a:hover{color:var(--yel)}
.fin .cr{grid-column:1/-1;font-size:12px;opacity:.6;border-top:1px dashed rgba(255,248,234,.25);padding-top:18px}

@media(max-width:1000px){
 .snv .wrap{grid-template-columns:auto 1fr;height:70px}
 .snv .links.l{display:none}
 .snv .links.l.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:2px dashed var(--line);padding:8px 24px 18px}
 .snv .links.l.open a{padding:13px 0;font-size:18px;border-bottom:1px dashed var(--line)}
 .burger{display:block}
 .logo .seal{width:42px;height:42px}.logo .lt b{font-size:21px}
 .stk{display:none}
 .collage{grid-template-columns:1fr 1fr;gap:14px}.collage .b3{display:none}
 .road{grid-template-columns:1fr 1fr;row-gap:30px}.road svg.rd{display:none}.stop:nth-child(odd){margin-top:0}
 .zz{grid-template-columns:1fr;gap:34px;margin-bottom:70px}.zz.r .zi{order:0}
 .day{grid-template-columns:1fr 1fr 1fr;row-gap:30px}.day:before{display:none}
 .nbg,.two,.calw{grid-template-columns:1fr}
 .nts{grid-template-columns:1fr;max-width:480px}.note:nth-child(2){margin-top:0}
 .evs{grid-template-columns:1fr 1fr}
 .proc{grid-template-columns:1fr 1fr;row-gap:30px}
 .stages4,.fac2{grid-template-columns:1fr 1fr}
 .gal{columns:2}
 .fin{grid-template-columns:1fr 1fr}.fin>div:first-child{grid-column:1/-1}
}
@media(max-width:640px){
 .wrap{padding-left:14px!important;padding-right:14px!important}
 .cta{display:none}
 .hero{padding:44px 0 20px}.hero h1{font-size:42px}.hero .sub{font-size:16px}
 .hero .row .btn{flex:1;justify-content:center;padding:15px 12px}
 .collage{margin-top:36px;padding:0 6px}
 .blob .cap{font-size:11.5px;padding:4px 10px;bottom:10px}
 .path{padding-bottom:60px}.sec-h{margin-bottom:28px}.sec-h p{font-size:15.5px}
 .stop .pin{width:64px;height:64px;font-size:22px}.stop b{font-size:16px}
 .spanel{padding:24px 20px;margin-top:26px;border-radius:20px;box-shadow:5px 5px 0 var(--c)}.spanel h3{font-size:27px}
 .zig{padding:60px 0}.fl{grid-template-columns:1fr}
 .board{padding:60px 0}.day{grid-template-columns:1fr 1fr;gap:24px 8px}.slot .cl{width:62px;height:62px;font-size:14px}.slot b{font-size:20px}
 .nbw{padding:60px 0}.nb{padding:30px 20px 26px 54px;background-image:linear-gradient(90deg,transparent 40px,rgba(229,83,61,.55) 40px 42px,transparent 42px),repeating-linear-gradient(transparent 0 33px,rgba(59,130,246,.22) 33px 34px)}.nb:before{left:10px}.nb h3{font-size:30px}.nb .eout{font-size:15.5px}
 .notes{padding-bottom:70px}.note p{font-size:19px}
 .evs{gap:12px}.ev2 p{font-size:13.5px;padding:12px}.ev2 .dt b{font-size:28px}
 .join{padding:54px 0}
 .ihero{padding:44px 0 16px}.ihero h1{font-size:38px}
 .card{padding:22px 18px;border-radius:20px;box-shadow:4px 4px 0 var(--ink)}
 .proc,.stages4,.fac2{grid-template-columns:1fr}
 .gal{columns:1}.trout{grid-template-columns:1fr}
 .calg{gap:4px}.calg span{border-radius:9px;font-size:13px}
 .fin{grid-template-columns:1fr 1fr;gap:22px}
}

/* dark palettes */
.ns-dark{--ink:#0b0f1c}
.ns-dark .spanel,.ns-dark .card,.ns-dark .ev2,.ns-dark .nb,.ns-dark .gi figcaption,.ns-dark .tabs button,.ns-dark .calh button,.ns-dark .call li,.ns-dark .stop .pin,.ns-dark .k-form input,.ns-dark .k-form select,.ns-dark .k-form textarea,.ns-dark .btn.w{background:color-mix(in srgb,var(--bg) 85%,#fff);color:var(--text)}
.ns-dark .nb{background-image:linear-gradient(90deg,transparent 54px,rgba(229,83,61,.55) 54px 56px,transparent 56px),repeating-linear-gradient(transparent 0 33px,rgba(255,255,255,.08) 33px 34px)}
.ns-dark .stk,.ns-dark .blob .cap{color:#1f2a44}
.ns-dark .note p,.ns-dark .note cite,.ns-dark .fc,.ns-dark .fc p,.ns-dark .join h2,.ns-dark .join p{color:#1f2a44}
.ns-dark .spanel li,.ns-dark .calg .d,.ns-dark .trout div,.ns-dark .busm{background:var(--bg)}
.ns-dark .snv{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.snv .links{gap:18px}.snv .links a{white-space:nowrap;font-size:14px}
@media(max-width:1180px) and (min-width:1001px){.snv .links a:nth-child(5){display:none}}
.zi .blob{max-height:420px;width:100%}
@media(max-width:640px){.zi .blob{max-height:260px}.hero .row .btn{font-size:14px}}
