@font-face{font-family:"Baloo 2";font-weight:600;font-display:swap;src:url(/assets/fonts/baloo-2-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-weight:800;font-display:swap;src:url(/assets/fonts/baloo-2-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Caveat;font-weight:600;font-display:swap;src:url(/assets/fonts/caveat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(/assets/fonts/caveat-latin-700-normal.woff2) format("woff2")}
:root{--pink:#c81f78;--crimson:#b8335f;--blush:#fde8f1;--blush2:#fff4f9;--sky:#8fd0f0;--lilac:#b88fd0;--ink:#3b2433;--mute:#7a5a6c;--r:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--blush2)}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--crimson)}
h1,h2,h3{font-family:"Baloo 2",system-ui,sans-serif;font-weight:800;line-height:1.1;margin:0 0 .5em;color:var(--crimson)}
h1{font-size:clamp(2.1rem,6vw,3.6rem)}
h2{font-size:clamp(1.55rem,3.6vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.hand{font-family:Caveat,cursive;font-weight:700;font-size:1.3em;line-height:1.1}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}.center{text-align:center}
.small{font-size:.9rem;color:var(--mute)}
.sr{position:absolute;left:-9999px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 14px;z-index:99}.skip:focus{left:8px;top:8px}
.concept{background:var(--ink);color:#fff;text-align:center;font-size:.85rem;padding:6px 12px}

/* header + awning */
header.top{background:#fff;position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-logo{width:56px;height:56px;border-radius:50%}
.brand-txt{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;font-family:"Baloo 2",sans-serif;line-height:1}
.brand-dk{font-size:1.7rem;font-weight:800;color:var(--sky);-webkit-text-stroke:0}
.brand-s{font-size:1.7rem;font-weight:800;color:var(--crimson)}
.brand-t{flex-basis:100%;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.nav{display:flex;align-items:center;gap:4px}
.nav a{font-family:"Baloo 2",sans-serif;font-weight:600;text-decoration:none;color:var(--ink);padding:6px 14px;border-radius:99px}
.nav a:hover{background:var(--blush)}
.nav a[aria-current]{background:var(--blush);color:var(--crimson)}
.nav .navcta{background:var(--pink);color:#fff;margin-left:6px}
.nav .navcta:hover{background:var(--crimson)}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer}
.burger span{display:block;width:26px;height:3px;border-radius:2px;background:var(--crimson);margin:5px 0;transition:.2s}
.awning{height:34px;background:url(/assets/awning.svg) repeat-x 0 0/72px 34px;position:sticky;top:72px;z-index:19;margin-bottom:-2px}
.stripe{height:14px;background:repeating-linear-gradient(90deg,var(--pink) 0 28px,#fff 28px 56px)}

/* labels + buttons */
.jarlabel{display:inline-block;background:#fff;border:2px solid var(--pink);border-radius:8px;padding:3px 3px;margin-bottom:14px;transform:rotate(-1.5deg);box-shadow:0 3px 0 rgba(224,54,140,.18)}
.jarlabel span{display:block;border:1px dashed #f3b3d3;border-radius:5px;padding:2px 12px;font-family:"Baloo 2",sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.btn{display:inline-block;font-family:"Baloo 2",sans-serif;font-weight:800;font-size:1.05rem;text-decoration:none;color:#fff;background:var(--pink);padding:10px 24px;border-radius:99px;box-shadow:0 5px 0 var(--crimson);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--crimson)}
.btn:active{transform:translateY(5px);box-shadow:0 0 0 var(--crimson)}
.btn.alt{background:var(--lilac);box-shadow:0 5px 0 #8c63a8}
.btn.alt:hover{box-shadow:0 3px 0 #8c63a8}
.btn.small{font-size:.95rem;padding:7px 18px;color:#fff}
.msg{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 8px}
.center .msg{justify-content:center}
.msg.light .btn{background:#fff;color:var(--crimson);box-shadow:0 5px 0 rgba(0,0,0,.2)}
.msg.light .btn.alt{background:var(--blush);}
.link{font-family:"Baloo 2",sans-serif;font-weight:800;color:var(--pink)}
.squig{background:linear-gradient(transparent 62%,#ffd1e6 62%);padding:0 .1em}
.note{margin-top:10px}

/* hero */
.hero{background:var(--blush);padding:38px 0 60px;position:relative;border-bottom:0}
.hero::after,.band::before{content:"";position:absolute;left:0;right:0;height:22px;background:radial-gradient(circle at 18px 0,var(--blush) 17px,transparent 18px) repeat-x 0 0/36px 22px}
.hero::after{bottom:-21px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center}
.hero-logo{width:150px;height:150px;border-radius:50%;margin-bottom:14px;box-shadow:0 6px 0 rgba(184,51,95,.2);transform:rotate(-4deg)}
.lead{font-size:1.15rem}
.hero-pics{position:relative;min-height:420px}
.hero-pics .big{width:56%;position:absolute;left:0;top:0}
.hero-pics .small{width:58%;position:absolute;right:0;bottom:-6px;color:inherit;font-size:inherit}

/* polaroids */
.polaroid{margin:0;background:#fff;padding:10px 10px 8px;border-radius:4px;box-shadow:0 8px 20px rgba(80,30,60,.18);position:relative;max-width:100%}
.polaroid::before{content:"";position:absolute;top:-12px;left:50%;width:84px;height:24px;margin-left:-42px;background:rgba(255,212,230,.85);transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.polaroid img{width:100%;border-radius:2px}
.polaroid figcaption{text-align:center;color:var(--crimson);padding-top:6px}
.t-a{transform:rotate(-2.5deg)}.t-b{transform:rotate(2deg)}.t-c{transform:rotate(-1deg)}
.polaroid.wide{max-width:760px;margin:0 auto}
.pics{display:flex;justify-content:center}.pics .polaroid{max-width:340px}

/* sections */
.sec{padding:58px 0;position:relative}
.tint{background:var(--blush)}
.sprinkle{background-image:url(/assets/sprinkles.svg)}
.sprinkle.tint,.pagehead.sprinkle{background-color:var(--blush)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fact{background:#fff;border:2px dashed #f3b3d3;border-radius:var(--r);padding:22px}
.num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sky);color:#fff;font-family:"Baloo 2",sans-serif;font-weight:800;margin-bottom:8px}
.fact:nth-child(2) .num{background:var(--lilac)}.fact:nth-child(3) .num{background:var(--pink)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split.rev>:first-child{order:0}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cols2.top{align-items:start}
.head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:22px}
.panel{background:#fff;border-radius:var(--r);padding:26px;box-shadow:0 6px 0 rgba(224,54,140,.14)}
.addr{font-weight:600}
.hours{width:100%;border-collapse:collapse;margin:8px 0 14px}
.hours th,.hours td{text-align:left;padding:6px 0;border-bottom:1px dashed #f3b3d3;font-weight:400}
.hours th{font-weight:600}
.hours td{text-align:right}
.ticks,.facts{list-style:none;padding:0;margin:0 0 1em}
.ticks li,.facts li{padding-left:30px;position:relative;margin:.45em 0}
.ticks li::before,.facts li::before{content:"";position:absolute;left:2px;top:.45em;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#fff 28%,var(--pink) 30% 62%,#fff 64% 72%,var(--pink) 74%)}
.facts li::before{background:var(--sky)}
.space{margin-top:1.2em}
.person{background:#fff;border-radius:var(--r);padding:26px;box-shadow:0 6px 0 rgba(184,143,208,.35)}
.links{list-style:none;padding:0;margin:0 0 14px}
.links a{display:block;text-decoration:none;padding:10px 14px;border-radius:14px;margin-bottom:8px;background:var(--blush)}
.links a:hover{background:#ffd9ea}
.links b{display:block;font-family:"Baloo 2",sans-serif;color:var(--crimson)}
.links span{font-size:.9rem;color:var(--mute)}

/* band + page heads */
.band{background:var(--pink);color:#fff;text-align:center;padding:56px 0;position:relative;margin-top:22px}
.band::before{top:-21px;background:radial-gradient(circle at 18px 22px,var(--pink) 17px,transparent 18px) repeat-x 0 0/36px 22px}
.band h2{color:#fff}
.sprinkle-w{background-image:url(/assets/sprinkles-w.svg)}
.pagehead{padding:46px 0 40px;position:relative}
.pagehead .lead{max-width:640px}
.pagehead.center .lead{margin-left:auto;margin-right:auto}

/* videos */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px}
.vcard{background:#fff;border-radius:var(--r);padding:12px;box-shadow:0 6px 0 rgba(143,208,240,.55)}
.vframe{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,var(--pink),var(--lilac))}
.vframe iframe,.vframe video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;object-fit:cover}
.vplay{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;padding:16px;background-image:url(/assets/sprinkles-w.svg)}
.vtri{width:72px;height:72px;border-radius:50%;background:#fff;position:relative;box-shadow:0 5px 0 rgba(0,0,0,.2);transition:transform .15s}
.vtri::after{content:"";position:absolute;left:28px;top:20px;border-left:26px solid var(--pink);border-top:16px solid transparent;border-bottom:16px solid transparent}
.vplay:hover .vtri{transform:scale(1.08)}
.vtitle{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:1.2rem;line-height:1.15;text-shadow:0 2px 0 rgba(0,0,0,.18)}
.vcap{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 4px 2px;font-size:.88rem}
.vcap .hand{color:var(--crimson);flex:1;font-size:1.15rem}

/* footer */
.foot{background:var(--ink);color:#f3dfe8;padding:46px 0 20px}
.foot a{color:#ffc4de}
.foot h2{font-size:1.1rem;color:#fff}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.foot-brand img{border-radius:50%;width:90px;height:90px}
.soc a{display:block;margin:2px 0}
.legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);margin-top:26px;padding-top:14px;font-size:.85rem;color:#c9aebd}
.foot .small{color:#c9aebd}

:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

@media (max-width:860px){
 .burger{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 18px;box-shadow:0 12px 20px rgba(0,0,0,.12)}
 .nav.open{display:flex}
 .nav a{padding:10px 14px}
 .nav .navcta{text-align:center;margin:6px 0 0}
 .awning{top:72px}
 .hero-grid,.split,.cols2,.three{grid-template-columns:1fr}
 .hero-pics{min-height:0;display:flex;flex-direction:column;gap:22px;align-items:center}
 .hero-pics .big,.hero-pics .small{position:static;width:min(88%,360px)}
 .foot-grid{grid-template-columns:1fr 1fr}
 .head{flex-direction:column;align-items:start}
 .sec{padding:44px 0}
}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}.brand-s,.brand-dk{font-size:1.45rem}.brand-logo{width:48px;height:48px}.hero-logo{width:120px;height:120px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* v3.1 extras: loader, reveal, sprinkles, confetti, badge, quiz, textured labels */
#loader{display:none}
.js #loader{display:grid;place-items:center;position:fixed;inset:0;z-index:200;background:var(--blush);transition:opacity .35s}
.js.seen #loader{display:none}
#loader.done{opacity:0;pointer-events:none}
.lolly{position:relative;width:84px;height:130px}
.lolly i{display:block;width:84px;height:84px;border-radius:50%;background:repeating-conic-gradient(var(--pink) 0 18deg,#fff 18deg 36deg);box-shadow:0 0 0 4px #fff,0 6px 0 4px rgba(184,51,95,.25);animation:lspin 1s linear infinite}
.lolly::after{content:"";position:absolute;left:38px;top:84px;width:8px;height:46px;border-radius:0 0 4px 4px;background:#fff;box-shadow:0 0 0 1px #f1c1d9}
@keyframes lspin{to{transform:rotate(360deg)}}
.js .reveal{opacity:0;translate:0 26px;transition:opacity .6s ease,translate .6s ease}
.js .reveal.in{opacity:1;translate:0 0}
.spr,.cf{position:fixed;pointer-events:none;z-index:150;border-radius:3px}
.spr{width:12px;height:5px;margin:-2px 0 0 -6px;animation:burst .75s ease-out forwards}
@keyframes burst{from{transform:translate(0,0) rotate(var(--rot));opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--rot) + 200deg));opacity:0}}
.cf{top:-16px;width:12px;height:6px;animation:fall 3s ease-in forwards}
@keyframes fall{from{transform:translateY(0) rotate(var(--rot));opacity:1}to{transform:translateY(105vh) rotate(calc(var(--rot) + 540deg));opacity:.9}}
.openbadge{display:inline-flex;align-items:center;gap:9px;margin:10px 0 0;padding:6px 16px 6px 12px;border-radius:99px;background:#fff;border:2px solid #f3b3d3;font-family:"Baloo 2",sans-serif;font-weight:600;font-size:.95rem;color:var(--ink)}
.openbadge .dot{width:12px;height:12px;border-radius:50%;background:#c4a8b8}
.openbadge.is-open{border-color:#7bd3a6}.openbadge.is-open .dot{background:#2fb872;animation:pulse 2s infinite}
.openbadge.is-closed .dot{background:var(--pink)}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(47,184,114,.2)}}
.openbadge.foot{background:transparent;color:#f3dfe8;border-color:rgba(255,255,255,.3);font-size:.85rem}
.center .openbadge{margin-left:auto;margin-right:auto}
.soundtoggle{font:inherit;font-size:.85rem;color:#ffc4de;background:none;border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:2px 12px;margin-right:12px;cursor:pointer}
.soundtoggle[aria-pressed=true]{background:rgba(255,196,222,.18)}
.quizbox{background:#fff;border-radius:var(--r);padding:32px 28px;box-shadow:0 6px 0 rgba(224,54,140,.16);text-align:center}
.qstep{font-family:"Baloo 2",sans-serif;font-weight:600;color:var(--mute);margin-bottom:6px}
.qbar{display:flex;gap:6px;justify-content:center;margin-bottom:18px}
.qbar span{width:34px;height:8px;border-radius:99px;background:#f3d6e5}.qbar span.on{background:var(--pink)}
.qopts{display:grid;gap:12px;max-width:440px;margin:0 auto}
.qopt{font-family:"Baloo 2",sans-serif;font-weight:600;font-size:1.1rem;color:var(--ink);background:var(--blush);border:2px solid #f3b3d3;border-radius:99px;padding:11px 20px;cursor:pointer;transition:transform .12s,background .12s}
.qopt:hover{background:#ffd9ea;transform:translateY(-2px)}
.qagain{margin-top:14px;font:inherit;color:var(--crimson);background:none;border:0;text-decoration:underline;cursor:pointer}
.story-logo{width:min(300px,80%);border-radius:50%;box-shadow:0 8px 0 rgba(184,51,95,.18);transform:rotate(3deg)}
.quizcta{padding:44px 0}
/* hand-stamped, slightly textured jar labels */
.jarlabel{background:#fffdf8 url(/assets/paper.svg);border-color:#d92f84;box-shadow:0 1px 0 #fff inset,0 4px 0 rgba(184,51,95,.2),0 8px 14px rgba(80,30,60,.14)}
.jarlabel span{border-color:#eba3c6;color:#c42a78;text-shadow:.6px .6px 0 rgba(196,42,120,.35),-.4px 0 0 rgba(196,42,120,.2);letter-spacing:.14em}
.jarlabel:nth-of-type(2n){transform:rotate(1.2deg)}
@media (max-width:860px){.nav a{padding:10px 14px}}

/* v3.2 phone tuning */
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(224,54,140,.18)}
.awning{position:static;height:34px;margin-bottom:-2px;background:none}
header.top::after{content:"";position:absolute;left:0;right:0;top:100%;height:34px;background:url(/assets/awning.svg) repeat-x 0 0/72px 34px;pointer-events:none}
.js #loader{height:100vh;height:100dvh}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.burger{min-width:48px;min-height:48px}
.soundtoggle{min-height:44px;padding:4px 16px}
.vcap a{padding:10px 4px;display:inline-block}
.soc a,.foot-grid a{padding:4px 0}
.foot{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.bar{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.vframe video{background:#000;object-fit:contain;-webkit-tap-highlight-color:transparent}
@media (hover:none){.btn:hover,.qopt:hover{transform:none}.nav a:hover{background:none}.nav a[aria-current]:hover{background:var(--blush)}}
@media (max-width:860px){
 .msg{flex-direction:column;align-items:stretch}
 .msg .btn{width:100%}
 .center .msg{align-items:stretch}
 .vgrid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}
 .nav a{min-height:48px;display:flex;align-items:center}
 .nav{max-height:calc(100dvh - 120px);overflow:auto}
 .quizbox{padding:24px 16px}
 .qopt{min-height:50px}
 .openbadge{font-size:.9rem}
 .legal{flex-direction:column}
 .soundtoggle{margin:0 0 10px}
 h1{font-size:clamp(2rem,9vw,2.8rem)}
 .hero{padding-top:26px}
}
.foot-grid a,.soc a{display:inline-flex;align-items:center;min-height:44px}
.foot-grid p a{min-height:44px}
.link{display:inline-flex;align-items:center;min-height:44px}
p a[href^="mailto"]{display:inline-block;padding:10px 0}
@media (max-width:860px){.nav{z-index:3}.nav .navcta{justify-content:center}header.top{overflow:visible}}

/* v4 Candy Counter: cleaner, more professional layout */
body{background:#fff8fb}
.hero2{padding:44px 0 64px;background:#fff8fb}
.hero2-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.pill{display:inline-block;background:#ffe3ef;color:#8a0e48;padding:6px 16px;border-radius:99px;font-weight:700;font-size:.9rem;margin:0 0 16px}
.hero2 h1{font-size:clamp(2.4rem,6.4vw,4.6rem);line-height:1.02;margin-bottom:.35em}
.hero2 .lead{max-width:30em;font-size:1.2rem}
.hero2-pic{margin:0}
.hero2-pic img{width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:28px;box-shadow:0 24px 48px rgba(184,19,95,.18)}
.btn.ghost{background:#fff;color:var(--crimson);box-shadow:inset 0 0 0 2px var(--pink)}
.btn.ghost:hover{background:var(--blush)}
.infostrip{background:var(--pink);color:#fff}
.infogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:24px;padding-bottom:24px;text-align:center}
.infogrid b{display:block;font-family:"Baloo 2",sans-serif;font-weight:800;font-size:1.3rem;line-height:1.2}
.infogrid span{display:block;font-size:.95rem}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:8px}
.ph{margin:0}
.phlink{display:block;border-radius:20px;overflow:hidden;line-height:0;box-shadow:0 8px 24px rgba(80,30,60,.14);transition:transform .2s,box-shadow .2s}
.phlink:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(80,30,60,.2)}
.trio .ph img,.mosaic .ph img{width:100%;height:340px;object-fit:cover}
.split .ph img,.ph.wide img{width:100%;height:auto;max-height:520px;object-fit:cover}
.ph.wide{max-width:820px;margin:0 auto}
.ph figcaption{padding:10px 4px 0;font-weight:700;color:var(--ink);font-size:.95rem}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:16px}
.cat{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(184,19,95,.1);border-top:6px solid var(--pink)}
.cat:nth-child(3n+2){border-top-color:var(--sky)}.cat:nth-child(3n){border-top-color:var(--lilac)}
.cat h3{margin-bottom:.3em}.cat p{margin:0}
.steps{padding-left:0;list-style:none;counter-reset:s;margin:0}
.steps li{counter-increment:s;position:relative;padding:4px 0 14px 54px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-family:"Baloo 2",sans-serif;font-weight:800}
.findgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
.mapbox{position:relative;min-height:360px;border-radius:24px;overflow:hidden;background:#ffd9e9;box-shadow:0 8px 24px rgba(184,19,95,.14)}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapfallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:repeating-linear-gradient(45deg,#ffe3ef 0 18px,#ffd1e6 18px 36px)}
.mapfallback h3{margin-bottom:.1em}
.pin{width:34px;height:34px;background:var(--pink);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-bottom:14px;position:relative;box-shadow:0 5px 0 rgba(184,19,95,.25)}
.pin::after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}
.mapbtns{margin-top:16px}
.faq details{background:#fff;border-radius:16px;margin:0 0 12px;box-shadow:0 4px 14px rgba(184,19,95,.08)}
.faq summary{cursor:pointer;list-style:none;padding:16px 52px 16px 20px;font-family:"Baloo 2",sans-serif;font-weight:800;font-size:1.1rem;color:var(--crimson);position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;translate:0 -50%;font-size:1.6rem;color:var(--pink)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 20px 18px;margin:0}
#lb{position:fixed;inset:0;z-index:300;background:rgba(40,16,32,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:12px}
#lb img{max-width:min(94vw,900px);max-height:78vh;width:auto;height:auto;border-radius:12px}
#lb p{color:#fff;margin:0;font-weight:700}
#lb button{position:absolute;top:14px;right:14px;min-width:48px;min-height:48px;border:0;border-radius:50%;background:#fff;color:var(--crimson);font-size:1.6rem;cursor:pointer}
.panel{box-shadow:0 8px 24px rgba(184,19,95,.1)}
.fact{border:0;box-shadow:0 8px 24px rgba(184,19,95,.1)}
.tint{background:#ffeef6}
@media (max-width:860px){
 .hero2{padding:26px 0 44px}
 .hero2-grid,.findgrid,.cats{grid-template-columns:1fr;gap:28px}
 .infogrid{grid-template-columns:1fr 1fr;gap:18px 12px}
 .trio,.mosaic{grid-template-columns:1fr 1fr;gap:14px}
 .trio .ph img,.mosaic .ph img{height:200px}
 .mapbox{min-height:320px}
 .hero2-pic img{aspect-ratio:4/3.4}
}
@media (max-width:480px){.trio,.mosaic{grid-template-columns:1fr}.trio .ph img,.mosaic .ph img{height:260px}}
.nav a{white-space:nowrap;padding:6px 11px}
.nav .navcta{padding:6px 16px}
.hero2 h1{font-size:clamp(2.2rem,4.8vw,3.9rem)}
@media (min-width:861px){.hero2 .squig{white-space:nowrap}}
.vgrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media (max-width:860px){.vgrid{grid-template-columns:1fr}}

/* v4.1: hero loop, follow grid, category photos, reviews */
.hero2-pic{position:relative}
.heroloop{width:100%;aspect-ratio:576/662;object-fit:cover;border-radius:28px;box-shadow:0 24px 48px rgba(184,19,95,.18);background:#ffd9e9}
.heropause{position:absolute;right:14px;bottom:14px;min-height:44px;padding:6px 16px;border:0;border-radius:99px;background:rgba(255,255,255,.92);color:#8a0e48;font:700 .9rem/1 system-ui,sans-serif;cursor:pointer}
.vname{font-size:1.05rem;margin:10px 4px 0;color:var(--crimson)}
.ftiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:8px}
.ftile{display:block;aspect-ratio:1;border-radius:16px;overflow:hidden;line-height:0;box-shadow:0 6px 16px rgba(80,30,60,.14);transition:transform .2s}
.ftile:hover{transform:translateY(-3px) rotate(-1deg)}
.ftile img{width:100%;height:100%;object-fit:cover}
.cat{padding:0;overflow:hidden;border-top:0}
.cat img{width:100%;height:170px;object-fit:cover}
.catb{padding:20px 22px 22px}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev{margin:0;background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(184,19,95,.1)}
.rev blockquote{margin:0 0 12px;font-size:1.05rem}
.rev figcaption{font-weight:700;color:var(--crimson)}
@media (max-width:860px){.ftiles{grid-template-columns:repeat(3,1fr)}.revs{grid-template-columns:1fr}.heroloop{aspect-ratio:4/3.4}}
.btn.alt{background:#7b4fa6;box-shadow:0 5px 0 #5a3880}.btn.alt:hover{box-shadow:0 3px 0 #5a3880}
.msg.light .btn.alt{background:var(--blush);color:#8a0e48;box-shadow:0 5px 0 rgba(0,0,0,.2)}
.btn.ghost{color:#8a0e48}
.tagline{font-size:1.9rem;color:var(--pink);margin:0 0 .3em;line-height:1}.foot-tag{font-size:1.6rem;color:#ffc4de;margin:0 0 .4em}
.center .lead,.center p{margin-left:auto;margin-right:auto}
.center .lead{max-width:640px}
.center .quizbox,.center .qopts{margin-left:auto;margin-right:auto}

/* v4.2 centring pass: page heads, section heads, captions */
.pagehead .wrap{text-align:center}
.pagehead .lead{margin-left:auto;margin-right:auto;max-width:640px}
.pagehead .openbadge{margin-left:auto;margin-right:auto}
.head{flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:6px}
.sec>.wrap>h2{text-align:center}
.ph figcaption{text-align:center}
.cats+.small,.sec .note{text-align:center}
.faq{max-width:720px;margin-left:auto;margin-right:auto}
.follow .msg,.sec>.wrap>.msg{justify-content:center}
.sec .link{justify-content:center}
@media (max-width:860px){.head{align-items:center}}
.mapbtns{justify-content:center}
.fact{text-align:center}.fact .num{margin-left:auto;margin-right:auto}
.vplay[hidden]{display:none}
.vplay.vstart{z-index:2}

/* v4 welcome screen (home page, first visit) */
#welcome{display:none}
.js:not(.seen) #welcome{display:grid;place-items:center;position:fixed;inset:0;z-index:300;height:100vh;height:100dvh;overflow:hidden;padding:20px;transition:opacity .6s ease,transform .6s ease}
html.welcoming,html.welcoming body{overflow:hidden}
#welcome.leave{opacity:0;transform:scale(1.06);pointer-events:none}
.w-bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,244,249,.92) 0%,rgba(253,232,241,.86) 45%,rgba(224,54,140,.8) 100%),url(/img/jar-wall.jpg) center/cover;animation:wzoom 14s ease-out both}
@keyframes wzoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.w-candy{position:absolute;inset:0;overflow:hidden}
.wc{position:absolute;bottom:-70px;display:block;opacity:.9;animation:wfloat var(--s) linear var(--dl) infinite}
.wc0{border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff 0 12%,var(--c) 13% 100%);box-shadow:0 4px 10px rgba(184,51,95,.25)}
.wc1{border-radius:50%;background:repeating-conic-gradient(var(--c) 0 18deg,#fff 18deg 36deg);box-shadow:0 0 0 3px #fff,0 4px 10px rgba(184,51,95,.25)}
.wc2{border-radius:999px;background:var(--c);box-shadow:0 3px 8px rgba(184,51,95,.2)}
@keyframes wfloat{0%{transform:translate(0,0) rotate(var(--rot))}100%{transform:translate(var(--dx),-115vh) rotate(calc(var(--rot) + 400deg))}}
.w-card{position:relative;z-index:1;width:min(520px,100%);text-align:center;background:rgba(255,255,255,.92);border:3px solid #fff;border-radius:32px;padding:clamp(26px,5vw,44px) clamp(22px,5vw,48px) 30px;box-shadow:0 30px 70px rgba(184,51,95,.35),0 0 0 8px rgba(255,255,255,.35);overflow:hidden;animation:wcard .9s cubic-bezier(.2,1.3,.4,1) .15s both}
@keyframes wcard{from{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:none}}
.w-logo{width:clamp(96px,22vw,132px);height:auto;margin:0 auto 6px;animation:wlogo 1.1s cubic-bezier(.2,1.4,.4,1) .35s both}
@keyframes wlogo{from{opacity:0;transform:rotate(-200deg) scale(.2)}to{opacity:1;transform:none}}
.w-kick{margin:0 0 4px;font:700 .85rem/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson);animation:wup .7s ease .7s both}
#welcome h2{margin:0;font-size:clamp(3rem,13vw,5.2rem);line-height:.95;color:var(--crimson);animation:wup .8s ease .85s both}
#welcome h2 span{color:var(--pink)}
.w-hand{margin:6px 0 20px;font-size:clamp(1.5rem,5vw,2rem);color:var(--ink);animation:wup .8s ease 1.05s both}
.w-go{font:800 1.15rem "Baloo 2",system-ui,sans-serif;min-height:54px;padding:10px 34px;border:0;border-radius:999px;background:var(--pink);color:#fff;cursor:pointer;box-shadow:0 5px 0 #8f1558;animation:wup .8s ease 1.25s both,wpulse 2s ease-in-out 2.2s infinite}
.w-go:hover{background:#b0186a}
.w-go:focus-visible{outline:4px solid var(--ink);outline-offset:4px}
.w-go:active{transform:translateY(3px);box-shadow:0 2px 0 #8f1558}
.w-note{margin:16px 0 0;font-size:.9rem;color:var(--mute)}
.w-bar{position:absolute;left:0;bottom:0;height:5px;width:100%;background:linear-gradient(90deg,var(--pink),var(--sky),var(--lilac));transform-origin:left;animation:wbar 8s linear both}
@keyframes wup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes wpulse{50%{transform:scale(1.05)}}
@keyframes wbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.w-bg,.w-card,.w-logo,.w-kick,#welcome h2,.w-hand,.w-go,.w-bar,.ws{animation:none!important}.w-bar{display:none}}

/* ===== v5 Boutique: calm ivory and berry, photo-led, flat buttons, no sprinkles or awnings ===== */
@font-face{font-family:Outfit;font-weight:100 900;font-display:swap;src:url(/assets/fonts/outfit-latin-wght-normal.woff2) format("woff2")}
:root{--pink:#a8156a;--crimson:#8f1558;--blush:#fde8f1;--blush2:#fff9f6;--ink:#3b1a2c;--mute:#5c3d4e;--line:#ecd2df;--r:22px}
body{background:#fff9f6;color:var(--ink);font-family:Outfit,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17.5px}
h1,h2,h3{color:var(--ink);letter-spacing:-.015em}
a{color:var(--pink)}
.small{color:var(--mute)}
.concept{background:var(--ink)}
/* header: clean, no awning */
header.top{background:#fff9f6;border-bottom:1px solid var(--line)}
header.top::after,.awning,.stripe{display:none}
.brand-dk{color:var(--pink)}.brand-s{color:var(--ink)}.brand-t{color:var(--mute)}
.nav a{font-family:Outfit,sans-serif;font-weight:600;color:var(--ink);border-radius:999px}
.nav a:hover{background:var(--blush)}
.nav a[aria-current]{background:var(--blush);color:var(--crimson)}
.nav .navcta{background:var(--pink);color:#fff}
.nav .navcta:hover{background:var(--crimson);color:#fff}
/* buttons: flat pills */
.btn{font-family:Outfit,sans-serif;font-weight:700;font-size:1rem;background:var(--pink);color:#fff;box-shadow:none;border:2px solid var(--pink);padding:10px 26px;transition:background .15s,color .15s}
.btn:hover,.btn:active{transform:none;box-shadow:none;background:var(--crimson);border-color:var(--crimson)}
.btn.alt{background:transparent;color:var(--pink);border-color:var(--pink);box-shadow:none}
.btn.alt:hover{background:var(--blush);box-shadow:none;color:var(--crimson)}
.btn.ghost{background:transparent;color:var(--pink);box-shadow:none;border-color:var(--pink)}
.btn.ghost:hover{background:var(--blush)}
.msg.light .btn{background:#fff;color:var(--crimson);border-color:#fff;box-shadow:none}
.msg.light .btn.alt{background:transparent;color:#fff;border-color:#fff}
.msg.light .btn.alt:hover{background:rgba(255,255,255,.14);color:#fff}
.link{font-family:Outfit,sans-serif;font-weight:700;color:var(--pink)}
/* eyebrow labels replace the jar labels */
.jarlabel,.jarlabel:nth-of-type(2n){background:none;border:0;box-shadow:none;transform:none;padding:0;margin:0 0 10px;display:block}
.jarlabel span{border:0;padding:0;font-family:Outfit,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);text-shadow:none}
.pill{background:none;color:var(--pink);padding:0;border-radius:0;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 16px}
.squig{background:none;color:var(--pink);padding:0}
/* hero: copy and an arched photo */
.hero2{background:#fff9f6;padding:34px 0 70px}
.hero2-grid{gap:56px}
.hero2 h1{font-weight:800;letter-spacing:-.02em;line-height:1.02}
.hero2 .lead{color:var(--mute);font-size:1.2rem}
.tagline{color:var(--pink)}
.hero2-pic{position:relative}
.hero2-pic>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 28px 28px;box-shadow:none}
.hero2-card{position:absolute;left:-16px;bottom:34px;background:#fff;border-radius:18px;padding:14px 22px;box-shadow:0 12px 32px rgba(59,26,44,.16)}
.hero2-card b{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.hero2-card span{font-weight:600}
/* info strip: a calm row, not a pink bar */
.infostrip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.infogrid{padding-top:26px;padding-bottom:26px}
.infogrid b{font-family:Outfit,sans-serif;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:4px}
.infogrid span{color:var(--ink);font-weight:500}
/* the video, now a feature of its own */
.videofeature{background:var(--blush)}
.vf-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.vf-grid .hero2-pic{max-width:440px;justify-self:center;width:100%}
.vf-grid .heroloop{aspect-ratio:576/662;border-radius:28px;box-shadow:0 20px 44px rgba(59,26,44,.18)}
.heropause{color:var(--crimson)}
/* sections */
.sec{padding:84px 0}
.tint{background:var(--blush)}
.sprinkle,.sprinkle.tint,.pagehead.sprinkle,.sprinkle-w{background-image:none}
.pagehead{background:#fff9f6;padding:64px 0 36px;border-bottom:0}
.pagehead.sprinkle{background-color:#fff9f6}
.fact,.panel,.person,.cat,.rev,.quizbox,.vcard,.faq details{border:1px solid var(--line);box-shadow:none;background:#fff}
.fact{text-align:center;padding:28px 24px}
.num{width:40px;height:40px;background:var(--pink);color:#fff}
.fact:nth-child(2) .num{background:#6b3a8a}.fact:nth-child(3) .num{background:#1f6f8a}
.cat{border-top:1px solid var(--line)}
.phlink{border-radius:20px;box-shadow:none;border:1px solid var(--line)}
.phlink:hover{transform:none;box-shadow:0 12px 28px rgba(59,26,44,.14)}
.ph figcaption{color:var(--mute);font-weight:600}
.ftile{border-radius:18px;box-shadow:none}
.ftile:hover{transform:none;box-shadow:0 10px 24px rgba(59,26,44,.18)}
.polaroid{border-radius:20px;padding:0;box-shadow:none;border:1px solid var(--line);overflow:hidden;transform:none}
.polaroid::before{display:none}
.t-a,.t-b,.t-c{transform:none}
.story-logo{transform:none;box-shadow:none}
.mapbox{border-radius:22px;box-shadow:none;border:1px solid var(--line)}
.mapfallback{background:var(--blush)}
.ticks li::before,.facts li::before{background:var(--pink);border-radius:50%;width:10px;height:10px;top:.6em;left:6px}
.hours th,.hours td{border-bottom:1px solid var(--line)}
.links a{background:var(--blush)}
/* videos */
.vcard{padding:12px}
.vplay{background-image:none;background:linear-gradient(160deg,rgba(59,26,44,.55),rgba(168,21,106,.7))}
.vtri{box-shadow:none}
.vtitle{text-shadow:none}
.vcap .hand{color:var(--crimson)}
.vname{color:var(--ink)}
/* faq, quiz */
.faq summary{font-family:Outfit,sans-serif;font-weight:700;color:var(--ink)}
.faq summary::after{color:var(--pink)}
.qopt{font-family:Outfit,sans-serif;background:#fff;border-color:var(--line);border-radius:14px}
.qopt:hover{background:var(--blush);transform:none}
.qbar span.on{background:var(--pink)}
.quizcta{background:#fff9f6}
/* the message band: a rounded card */
.band{background:#fff9f6;margin-top:0;padding:84px 0}
.band::before{display:none}
.band .wrap{background:var(--pink);border-radius:32px;padding:60px 32px;max-width:1080px}
.band h2{color:#fff}.band p{color:#ffe9f4}
/* footer */
.foot{background:var(--ink)}
.foot a{color:#ffc4de}
.foot h2{font-family:Outfit,sans-serif;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
/* welcome screen: matched to the same palette */
.w-card{border-radius:32px}
.w-kick{color:var(--crimson)}
#welcome h2{font-family:"Baloo 2",system-ui,sans-serif}
.w-go{font-family:Outfit,sans-serif;font-weight:700;background:var(--pink);box-shadow:none}
.w-go:hover{background:var(--crimson)}
@media (max-width:860px){
  .vf-grid{grid-template-columns:1fr;gap:32px}
  .hero2-card{left:8px;bottom:18px}
  .hero2-pic>img{aspect-ratio:4/4.2;border-radius:140px 140px 24px 24px}
  .sec{padding:56px 0}
  .band .wrap{padding:44px 22px;border-radius:24px}
  .vf-grid .heroloop{aspect-ratio:4/4.2}
}

/* pink sprinkles: a shower behind the welcome card, and the confetti when the site opens */
.ws{position:absolute;top:-20px;width:14px;height:6px;border-radius:99px;opacity:.95;animation:wrain var(--s) linear var(--dl) infinite}
@keyframes wrain{0%{transform:translate(0,0) rotate(var(--rot))}100%{transform:translate(var(--dx),calc(100vh + 40px)) rotate(calc(var(--rot) + 540deg))}}
.cf{width:14px;height:6px;border-radius:99px}
.w-bar{background:linear-gradient(90deg,#a8156a,#d6307f,#f8b4d2)}
