@font-face{font-family:"Fredoka";src:url(/assets/fonts/fredoka-latin-600-normal.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"Nunito";src:url(/assets/fonts/nunito-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito";src:url(/assets/fonts/nunito-latin-700-normal.woff2) format("woff2");font-weight:700 800;font-display:swap}
:root{--sun:#FFC83D;--sun2:#FFE08A;--berry:#D62F6E;--berry-d:#A8174F;--ink:#1d1531;--sky:#8FD3F4;--blush:#FFF1F6;--blue:#1F6FEB;--leaf:#22B07D;--grape:#7A3FF2;--tang:#FF8A1F;--milk:#fff8ea;--r:28px;--disp:"Fredoka","Baloo 2",ui-rounded,system-ui,sans-serif;--body:"Nunito",ui-rounded,system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sun);color:var(--ink);font:400 1.06rem/1.65 var(--body)}
img{max-width:100%;display:block}
a{color:var(--berry-d);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:4px solid var(--ink);outline-offset:3px;border-radius:10px}
h1,h2,h3{font-family:var(--disp);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--milk);padding:.6em 1em;border-radius:99px;z-index:100}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
main{outline:none}
/* header */
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1rem;padding:.7rem clamp(1rem,3vw,2.5rem);background:color-mix(in srgb,var(--sun) 88%,transparent);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:baseline;gap:.4rem;text-decoration:none;color:var(--ink)}
.wm{display:inline-flex;align-items:center;font:600 2.1rem/1 var(--disp);letter-spacing:-.02em}
.wm-o svg{width:1.55rem;height:1.55rem;margin:0 .04em;transform:translateY(.1em);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.brand:hover .wm-o svg{transform:translateY(.1em) rotate(-18deg) scale(1.12)}
.brand-sub{font:700 .72rem/1 var(--body);text-transform:uppercase;letter-spacing:.18em;background:var(--ink);color:var(--sun);padding:.3em .6em;border-radius:99px}
.quick{margin-left:auto;display:flex;gap:.25rem;flex-wrap:wrap}
.quick a{font:700 .9rem/1 var(--body);text-decoration:none;color:var(--ink);padding:.55em .8em;border-radius:14px 18px 12px 20px}
.quick a:hover,.quick a[aria-current]{background:var(--milk);box-shadow:3px 3px 0 var(--ink)}
.book-btn{display:flex;align-items:center;gap:.55rem;font:600 1rem/1 var(--disp);background:var(--berry);color:var(--milk);border:3px solid var(--ink);border-radius:20px 26px 18px 24px;padding:.6em 1em;cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform .2s}
.book-btn:hover{transform:translate(-2px,-2px) rotate(-2deg)}
.book-ico{width:22px;height:16px;position:relative;display:inline-block}
.book-ico i{position:absolute;top:0;width:11px;height:16px;background:var(--milk);border-radius:2px 6px 6px 2px}
.book-ico i:first-child{left:0;border-radius:6px 2px 2px 6px}.book-ico i:last-child{right:0}
@media (max-width:1100px){.quick{display:none}.book-btn{margin-left:auto}}
/* chapter book overlay */
.book{position:fixed;inset:0;z-index:60;background:rgba(29,21,49,.55);display:grid;place-items:center;padding:1rem}
.book[hidden]{display:none}
.book-in{background:var(--milk);border:3px solid var(--ink);border-radius:36px;max-width:1080px;width:100%;max-height:92dvh;overflow:auto;padding:clamp(1.2rem,3vw,2.4rem);box-shadow:10px 10px 0 var(--ink);animation:bookIn .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes bookIn{from{opacity:0;transform:perspective(900px) rotateY(-24deg) scale(.92)}to{opacity:1;transform:none}}
.book-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.book-head h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:0}
.book-close{font:700 1rem var(--body);border:3px solid var(--ink);background:var(--sun);border-radius:99px;padding:.5em 1em;cursor:pointer}
.bk-grid{list-style:none;padding:0;margin:1.4rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem}
.bk-card{display:flex;flex-direction:column;gap:.2rem;min-height:128px;padding:1rem;border:3px solid var(--ink);text-decoration:none;color:var(--ink);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.bk-card:hover,.bk-card:focus-visible{transform:rotate(-2.5deg) scale(1.04)}
.bk-card[aria-current]{box-shadow:inset 0 0 0 4px var(--milk),6px 6px 0 var(--ink)}
.bk-0{background:var(--sky);border-radius:30px 12px 30px 12px}.bk-1{background:#FFB3CF;border-radius:12px 34px 12px 34px}.bk-2{background:#B9F0D6;border-radius:40px 40px 14px 14px}.bk-3{background:#D9C7FF;border-radius:16px 16px 40px 40px}.bk-4{background:#FFD0A3;border-radius:50px 18px}
.bk-n{font:700 .75rem var(--body);text-transform:uppercase;letter-spacing:.14em}
.bk-t{font:600 1.35rem/1.1 var(--disp)}.bk-s{font-size:.9rem;opacity:.8}
.book-foot{margin:0;font-weight:700}
/* chapter tag */
.chap-tag{margin:1.2rem auto 0;width:max-content;font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--sun);padding:.45em 1em;border-radius:99px}
/* hero */
.hero{position:relative;min-height:min(88dvh,820px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.2rem 5rem;isolation:isolate;overflow:clip}
.hero-h{font-size:clamp(2.8rem,9vw,7.6rem);max-width:12ch;margin:0 auto .3em;line-height:.98}
.hero-h .w{display:inline-block;animation:pop .7s cubic-bezier(.2,1.6,.4,1) backwards}
.hero-h .w:nth-child(2){animation-delay:.06s}.hero-h .w:nth-child(3){animation-delay:.12s}.hero-h .w:nth-child(4){animation-delay:.18s}.hero-h .w:nth-child(5){animation-delay:.24s}.hero-h .w:nth-child(6){animation-delay:.3s}.hero-h .w:nth-child(7){animation-delay:.4s}
.hl{background:var(--berry);color:var(--milk);padding:0 .18em .06em;border-radius:.3em .5em .25em .55em;transform:rotate(-3deg)}
@keyframes pop{from{opacity:0;transform:translateY(40px) scale(.6) rotate(6deg)}}
.hero-p{max-width:40rem;font-size:clamp(1.05rem,1.6vw,1.25rem);margin:0 auto 1.6rem}
.hero-cta,.lost-links{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.hero-blob{position:absolute;z-index:-1;animation:morph 14s ease-in-out infinite alternate}
.b1{width:38vw;height:38vw;max-width:520px;max-height:520px;background:var(--sky);left:-8vw;top:6%;border-radius:42% 58% 63% 37%/45% 41% 59% 55%}
.b2{width:30vw;height:30vw;max-width:420px;max-height:420px;background:#FFB3CF;right:-6vw;bottom:2%;border-radius:63% 37% 54% 46%/55% 48% 52% 45%;animation-delay:-5s}
.b3{width:14vw;height:14vw;background:var(--sun2);right:22%;top:8%;border-radius:50%;animation-duration:9s}
@keyframes morph{50%{border-radius:58% 42% 35% 65%/52% 63% 37% 48%;transform:rotate(14deg) scale(1.05)}100%{border-radius:40% 60% 70% 30%/40% 50% 50% 60%;transform:rotate(-8deg)}}
.hero-cast .pal{position:absolute;width:clamp(64px,9vw,128px)}
.c1{left:8%;bottom:16%}.c2{right:10%;top:16%;width:clamp(56px,7vw,100px)!important}.c3{left:16%;top:14%;width:clamp(48px,6vw,86px)!important}.c4{right:14%;bottom:12%}
@media(max-width:700px){.c3,.c2{display:none}.c1{left:4%;bottom:4%}.c4{right:4%;bottom:3%}}
.pal svg{width:100%;height:auto;display:block;overflow:visible}
.bob{animation:bob 4.2s ease-in-out infinite}.d2{animation-delay:-1s}.d3{animation-delay:-2s}.d4{animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-12px) rotate(4deg)}}
/* buttons */
.btn{display:inline-flex;align-items:center;font:600 1.08rem/1 var(--disp);padding:.85em 1.4em;border:3px solid var(--ink);border-radius:22px 30px 20px 28px;text-decoration:none;cursor:pointer;box-shadow:5px 5px 0 var(--ink);transition:transform .2s cubic-bezier(.3,1.6,.5,1),box-shadow .2s}
.btn:hover{transform:translate(-2px,-3px) rotate(-1.5deg);box-shadow:7px 8px 0 var(--ink)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn-berry{background:var(--berry);color:var(--milk)}.btn-berry:hover{color:var(--milk)}
.btn-ghost{background:var(--milk);color:var(--ink)}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn[disabled]{opacity:.6;cursor:wait}
/* bands and waves */
.wave{line-height:0;margin-bottom:-1px}.wave svg{width:100%;height:clamp(30px,5vw,60px)}
.band{padding:clamp(2.5rem,6vw,5.5rem) clamp(1rem,4vw,3rem)}
.sky{background:var(--sky)}.sun{background:var(--sun)}.blush{background:var(--blush)}.night{background:var(--ink);color:var(--milk)}
.night a{color:var(--sun)}
.big-h{font-size:clamp(2rem,4.6vw,3.6rem);text-align:center}
.lede{font-size:clamp(1.05rem,1.5vw,1.22rem);max-width:44rem;margin-inline:auto}
.narrow{max-width:52rem;margin:0 auto}
.narrow .big-h{text-align:left}
/* cast */
.cast-row{max-width:1240px;margin:0 auto;text-align:center}
.cast{list-style:none;padding:0;margin:2.4rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}
.cast li{flex:1 1 200px;max-width:240px}
.cast li:nth-child(odd){transform:translateY(22px)}
.cast a{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.4rem 1rem 1.6rem;background:var(--milk);border:3px solid var(--ink);border-radius:46% 54% 40% 60%/30% 34% 66% 70%;text-decoration:none;color:var(--ink);height:100%;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.cast a:hover,.cast a:focus-visible{transform:translateY(-8px) rotate(-3deg);background:color-mix(in srgb,var(--c) 18%,var(--milk))}
.cast .pal{width:84px}.cast b{font:600 1.35rem var(--disp)}.cast span{font-size:.95rem}
.wig{transition:transform .4s}.cast a:hover .wig{transform:rotate(-12deg) scale(1.1)}
@media(max-width:700px){.cast li:nth-child(odd){transform:none}}
/* picker */
.picker{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}
.picker .big-h,.picker .lede{text-align:left;margin-left:0}
.chips{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.chips button{font:700 1.02rem/1.3 var(--body);text-align:left;background:var(--milk);color:var(--ink);border:3px solid var(--ink);border-radius:999px 999px 999px 8px;padding:.75em 1.2em;cursor:pointer;transition:transform .2s}
.chips button:nth-child(even){border-radius:999px 999px 8px 999px;margin-left:clamp(0px,4vw,3rem)}
.chips button:hover{transform:scale(1.03)}
.chips button[aria-checked=true]{background:var(--ink);color:var(--sun)}
.picker-card{background:var(--milk);border:3px solid var(--ink);border-radius:40px 40px 40px 10px;padding:1.8rem;box-shadow:8px 8px 0 var(--berry);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.pa-k{font:600 1.6rem/1.1 var(--disp);margin:0 0 .5rem}
@media(max-width:860px){.picker{grid-template-columns:1fr}}
/* trail */
.story-steps{max-width:1100px;margin:0 auto}
.trail{list-style:none;padding:0;margin:2rem 0 0;position:relative}
.trail::before{content:"";position:absolute;left:31px;top:20px;bottom:20px;border-left:6px dotted var(--berry)}
.trail li{position:relative;padding:0 0 1.8rem 92px;max-width:44rem}
.trail li:nth-child(even){margin-left:auto}
.trail li:nth-child(even)::after{content:"";}
.dot{position:absolute;left:0;top:0;width:68px;height:68px;display:grid;place-items:center;font:600 1.8rem var(--disp);background:var(--sun);border:3px solid var(--ink);border-radius:46% 54% 42% 58%}
.trail li:nth-child(2) .dot{background:var(--sky)}.trail li:nth-child(3) .dot{background:#B9F0D6}.trail li:nth-child(4) .dot{background:#D9C7FF}.trail li:nth-child(5) .dot{background:#FFB3CF}
.trail h3{font-size:1.5rem;margin:.4rem 0 .3rem}
@media(min-width:900px){.trail li:nth-child(even){padding-left:92px}.trail::before{display:none}}
.snaps{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:2rem}
.snap{margin:0;background:var(--milk);padding:12px 12px 14px;border:3px solid var(--ink);border-radius:18px;max-width:380px;box-shadow:6px 6px 0 var(--ink)}
.snap img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.snap figcaption{font-size:.85rem;margin-top:.5rem;font-weight:700}
.tilt-l{transform:rotate(-3deg)}.tilt-r{transform:rotate(2.5deg) translateY(24px)}
/* promise */
.promise{max-width:1100px;margin:0 auto;text-align:center}
.promise-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.2rem;margin:2rem 0;text-align:left}
.promise-grid article{padding:1.6rem;border-radius:32px;color:var(--ink)}
.promise-grid article:nth-child(1){grid-column:1/8;background:var(--sun);border-radius:60px 20px 60px 20px}
.promise-grid article:nth-child(2){grid-column:8/13;background:var(--sky);transform:rotate(2deg)}
.promise-grid article:nth-child(3){grid-column:3/11;background:#FFB3CF;border-radius:20px 60px}
@media(max-width:760px){.promise-grid article{grid-column:1/-1!important;transform:none!important}}
/* page hero */
.page-hero{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,4vw,3rem);align-items:center;max-width:1180px;margin:1.6rem auto 0;padding:clamp(1.6rem,4vw,3.4rem);border-radius:60px 60px 60px 16px;border:3px solid var(--ink);background:var(--phb,var(--sky));color:var(--ink);width:calc(100% - 2rem)}
.page-hero[style*="--phb:#1F6FEB"],.page-hero[style*="--phb:#7A3FF2"],.page-hero[style*="--phb:#D62F6E"]{color:var(--milk)}
.page-hero h1{font-size:clamp(2.3rem,6vw,4.8rem)}
.page-hero .lede{margin:0}
.page-hero.sun{background:var(--milk)}
.ph-art .pal{width:clamp(90px,14vw,180px)}
@media(max-width:640px){.page-hero{grid-template-columns:1fr;border-radius:40px 40px 40px 12px}.ph-art .pal{width:90px}}
/* spreads */
.spread{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(1rem,4vw,3.5rem);max-width:1180px;margin:clamp(2rem,5vw,4rem) auto;padding:0 1rem;align-items:center}
.spread.flip{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr)}
.spread.flip .spread-art{order:2}
.spread-art{aspect-ratio:1;background:var(--bg);border-radius:48% 52% 38% 62%/52% 40% 60% 48%;display:grid;place-items:center;border:3px solid var(--ink);animation:morph 16s ease-in-out infinite alternate}
.spread-art .pal{width:48%}
.spread-txt{background:var(--milk);border:3px solid var(--ink);border-radius:34px;padding:clamp(1.3rem,3vw,2.4rem)}
.spread-txt h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
@media(max-width:760px){.spread,.spread.flip{grid-template-columns:1fr}.spread .spread-art{width:46%;margin:0 auto;order:0!important}}
.bubbles{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.bubbles li{background:color-mix(in srgb,var(--sun) 35%,var(--milk));border-radius:22px 22px 22px 6px;padding:.8rem 1rem}
.bubbles li:nth-child(even){background:color-mix(in srgb,var(--sky) 40%,var(--milk));border-radius:22px 22px 6px 22px}
/* filters */
.toy{max-width:1180px;margin:0 auto}
.filters{display:flex;gap:.5rem;flex-wrap:wrap}
.filters button{font:700 .98rem var(--body);background:var(--milk);border:3px solid var(--ink);border-radius:99px;padding:.55em 1.1em;cursor:pointer;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--sun)}
.filter-status{font-weight:700;margin:.8rem 0 1.2rem}
.toy-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem}
.toy-grid li{grid-column:span 2;background:var(--milk);border:3px solid var(--ink);border-top:18px solid var(--c);border-radius:28px;padding:1.4rem;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}
.toy-grid li:nth-child(4),.toy-grid li:nth-child(5){grid-column:span 3}
.toy-grid li[hidden]{display:none}
.toy-grid h2{font-size:1.7rem}
.toy-grid a{font-weight:800}
@media(max-width:860px){.toy-grid{grid-template-columns:1fr}.toy-grid li{grid-column:1/-1!important}}
.faq details{background:var(--milk);border:3px solid var(--ink);border-radius:24px;margin:.7rem 0;padding:.2rem 1.2rem}
.faq summary{cursor:pointer;font:600 1.2rem/1.3 var(--disp);padding:.8rem 0;list-style:none}
.faq summary::before{content:"+";display:inline-block;width:1.4em;color:var(--berry);transition:transform .3s}
.faq details[open] summary::before{transform:rotate(45deg)}
/* checklist + triage */
.check fieldset,.triage fieldset{border:3px solid var(--ink);border-radius:26px;background:var(--milk);margin:0 0 1rem;padding:1rem 1.2rem}
.check legend,.triage legend{font:600 1.2rem var(--disp);background:var(--berry);color:var(--milk);padding:.2em .8em;border-radius:99px}
.check label,.triage label{display:flex;gap:.6rem;align-items:flex-start;padding:.35rem 0;cursor:pointer}
.check input,.triage input{width:1.3rem;height:1.3rem;accent-color:var(--berry);flex:none;margin-top:.2rem}
.meter{height:22px;border:3px solid var(--ink);border-radius:99px;background:var(--milk);overflow:hidden}
.meter span{display:block;height:100%;width:100%;background:repeating-linear-gradient(-45deg,var(--berry) 0 12px,var(--tang) 12px 24px);transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.check-out{font:600 1.3rem var(--disp)}
.triage-out{background:var(--ink);color:var(--milk);border-radius:28px;padding:1.4rem}
.triage-out .pri{font:600 1.8rem var(--disp);color:var(--sun);margin:0}
/* resources */
.res-tools{display:flex;gap:1rem;flex-wrap:wrap;align-items:end;justify-content:space-between}
.search{display:flex;flex-direction:column;font-weight:800;flex:1 1 280px;max-width:420px}
.search input,.dform input,.dform select,.dform textarea{font:400 1.02rem var(--body);border:3px solid var(--ink);border-radius:18px;padding:.7em .9em;background:var(--milk);color:var(--ink);width:100%}
.res-grid{list-style:none;padding:0;margin:0;columns:3 280px;column-gap:1.2rem}
.res{break-inside:avoid;margin:0 0 1.2rem;background:var(--milk);border:3px solid var(--ink);padding:1.3rem;border-radius:26px}
.r-check{border-radius:8px 32px;background:#E5FBF0}.r-glossary{border-radius:50px 50px 50px 10px;background:#F0E8FF}
.res-k{font:800 .75rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--berry-d)}
.res h3{font-size:1.4rem;margin:.3rem 0}
.res[hidden]{display:none}
.empty{text-align:center}.empty .pal{width:90px;margin:0 auto}
.credits li{margin:.5rem 0}
/* tabs */
[role=tablist]{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:-3px;position:relative;z-index:1}
[role=tab]{font:600 1.05rem var(--disp);background:var(--sun2);color:var(--ink);border:3px solid var(--ink);border-radius:22px 22px 0 0;padding:.7em 1.1em;cursor:pointer}
[role=tab][aria-selected=true]{background:var(--milk);border-bottom-color:var(--milk)}
.tabs [role=tabpanel]{background:var(--milk);border:3px solid var(--ink);border-radius:0 30px 30px 30px;padding:clamp(1.2rem,3vw,2rem)}
/* contact */
.contact-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:1.6rem;align-items:start}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr}}
.form-card{background:var(--milk);border:3px solid var(--ink);border-radius:40px;padding:clamp(1.2rem,3vw,2.2rem);box-shadow:8px 8px 0 var(--berry)}
.kind-toggle{display:flex;gap:.3rem;background:var(--sun2);border-radius:99px;padding:5px;border:3px solid var(--ink);width:max-content;max-width:100%}
.kind-toggle [role=tab]{border:0;border-radius:99px;background:transparent;padding:.55em 1.1em}
.kind-toggle [role=tab][aria-selected=true]{background:var(--ink);color:var(--sun)}
.form-h{font-size:2rem;margin-top:1.2rem}
.dform label{display:block;font-weight:800;margin:0 0 1rem}
.dform input,.dform select,.dform textarea{margin-top:.3rem;font-weight:400}
.dform [aria-invalid=true]{border-color:var(--berry);background:#FFE4EE}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:600px){.row2{grid-template-columns:1fr}}
.req,.opt{font:700 .7rem var(--body);text-transform:uppercase;letter-spacing:.1em;padding:.15em .5em;border-radius:99px;background:var(--berry);color:var(--milk);margin-left:.3rem}
.opt{background:var(--sky);color:var(--ink)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex!important;gap:.6rem;font-weight:400!important}
.consent input{width:1.3rem!important;height:1.3rem;flex:none;accent-color:var(--berry)}
.form-msg{margin-top:1rem}
.form-msg .ok,.form-msg .err{border:3px solid var(--ink);border-radius:22px;padding:1rem 1.2rem;font-weight:700}
.form-msg .ok{background:#B9F0D6}.form-msg .err{background:#FFD0DE}
.plan-note{font-size:.9rem;font-style:italic}
.side-card{background:var(--milk);border:3px solid var(--ink);border-radius:30px;padding:1.4rem;margin-bottom:1.2rem}
.side-card.sun{background:var(--sun)}.side-card.sky{background:var(--sky)}
.side-card h2{font-size:1.5rem}
.map-ph{display:flex;gap:1rem;align-items:center;padding:1rem;border:3px dashed var(--ink);border-radius:24px;background:repeating-linear-gradient(45deg,#E5FBF0 0 14px,#d6f5e6 14px 28px)}
.map-ph .pal{width:70px;flex:none}.map-ph p{margin:0;font-size:.92rem}
.prose h2{font-size:1.8rem;margin-top:1.6em}
.prose{background:var(--milk);border:3px solid var(--ink);border-radius:36px;padding:clamp(1.3rem,4vw,3rem)}
/* turn */
.turn{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1180px;margin:3rem auto;padding:0 1rem}
.turn a{display:flex;flex-direction:column;padding:1.2rem 1.5rem;background:var(--milk);border:3px solid var(--ink);text-decoration:none;color:var(--ink);transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.turn-prev{border-radius:40px 14px 14px 40px}.turn-next{border-radius:14px 40px 40px 14px;text-align:right;background:var(--berry)!important;color:var(--milk)!important}
.turn a:hover{transform:perspective(600px) rotateY(-10deg)}
.turn-prev:hover{transform:perspective(600px) rotateY(10deg)!important}
.turn small{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}
.turn b{font:600 1.5rem var(--disp)}
/* lost */
.lost{text-align:center;padding:4rem 1rem 6rem;max-width:44rem;margin:0 auto}.lost .pal{width:140px;margin:0 auto}
.lost h1{font-size:clamp(2.2rem,6vw,4rem)}
/* footer */
.foot{background:var(--ink);color:var(--milk);position:relative;margin-top:3rem}
.foot-wave{color:var(--ink);position:absolute;top:-58px;left:0;right:0;line-height:0}.foot-wave svg{width:100%;height:60px}
.foot-in{max-width:1240px;margin:0 auto;padding:3rem 1.5rem 1rem;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}
.foot .wm{color:var(--sun);font-size:2.6rem}
.foot a,.linkish{color:var(--sun)}
.foot-h{font-size:1.2rem;color:#FFB3CF}
.linkish{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer;text-underline-offset:3px}
.foot-legal{max-width:1240px;margin:0 auto;padding:1rem 1.5rem 2rem;font-size:.85rem;opacity:.85}
@media(max-width:900px){.foot-in{grid-template-columns:1fr 1fr}}@media(max-width:560px){.foot-in{grid-template-columns:1fr}}
/* cookie */
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;max-width:720px;margin:0 auto;background:var(--milk);border:3px solid var(--ink);border-radius:30px 30px 30px 8px;padding:1.2rem 1.4rem;box-shadow:8px 8px 0 var(--berry);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.cookie p{margin:0 0 .8rem;font-size:.95rem}
.cookie-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.cookie-btns button{flex:1 1 160px;font:600 1.05rem var(--disp);padding:.75em 1em;border:3px solid var(--ink);border-radius:18px;cursor:pointer;background:var(--sun);color:var(--ink)}
/* reveal */
.js [data-reveal]{opacity:0;transform:translateY(40px) scale(.97);transition:opacity .7s,transform .8s cubic-bezier(.2,1.3,.4,1)}
.js [data-reveal].in{opacity:1;transform:none}
.no-js [data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
