/* LAYOUT AND COMPONENTS. Uses only the tokens defined in theme.css. */
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.55 var(--font-body)}
a{color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-track);line-height:1.1;margin:0}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--card-bg);padding:8px 12px;z-index:50}
.announce{background:var(--announce-bg);color:var(--announce-fg);text-align:center;padding:8px 12px;font-size:var(--announce-size);font-weight:500;text-transform:var(--announce-case);letter-spacing:var(--announce-track)}
.top{display:flex;align-items:center;gap:24px;padding:14px clamp(16px,4vw,48px);border-bottom:var(--line-w) solid var(--text);background:var(--bg);position:sticky;top:0;z-index:20}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:var(--logo-weight) calc(24px * var(--display-scale)) var(--font-display);color:var(--primary)}
.top nav{display:flex;gap:22px;margin-left:auto;font-weight:500;font-size:15px}.top nav a{text-decoration:none}.top nav a:hover{color:var(--accent)}
.bag-btn{border:var(--line-w) solid var(--btn-border);background:var(--bag-bg);color:var(--on-dark);font:var(--btn-weight) 14px var(--font-body);text-transform:var(--btn-case);letter-spacing:var(--btn-track);padding:9px 16px;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm)}
.bag-btn span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:var(--card-bg);color:var(--text);margin-left:6px;font-size:13px}
.btn{display:inline-block;border:var(--line-w) solid var(--btn-border);background:var(--primary);color:var(--on-dark);font:var(--btn-weight) 15px var(--font-body);text-transform:var(--btn-case);letter-spacing:var(--btn-track);padding:14px 26px;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;box-shadow:var(--shadow-btn);transition:transform .12s,box-shadow .12s,filter .12s}
.btn:hover{transform:var(--hover-move);box-shadow:var(--shadow-sm);filter:var(--hover-filter)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn.ghost{background:var(--card-bg);color:var(--text)}.btn.wide{width:100%;text-align:center;margin-top:14px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.kicker{font-weight:var(--kicker-weight);letter-spacing:var(--kicker-track);text-transform:uppercase;font-size:13px;color:var(--accent);margin:0 0 10px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:clamp(28px,6vw,80px) clamp(16px,5vw,64px);
  background-color:var(--hero-bg);color:var(--hero-fg);background-image:var(--hero-pattern);border-bottom:var(--line-w) solid var(--text)}
.hero h1{font-size:calc(clamp(42px,6.4vw,84px) * var(--display-scale))}.hero h1 em{color:var(--hero-accent);font-style:italic}.hero .kicker{color:var(--hero-accent)}.hero .btn:not(.ghost){background:var(--hero-btn-bg);color:var(--hero-btn-fg);border-color:var(--hero-btn-bg)}
.lead{font-size:clamp(18px,2vw,21px);max-width:34em;margin:18px 0 26px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}.chips{list-style:none;padding:0;margin:26px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.chips li{background:var(--chip-bg);color:var(--chip-fg);border:var(--line-w-sm) solid var(--chip-border);border-radius:var(--radius-pill);padding:5px 14px;font-weight:700;font-size:14px}
.hero-art{position:relative;height:clamp(260px,38vw,460px)}
.shape{position:absolute;border:2px solid var(--shape-line);box-shadow:var(--shadow)}.s1{left:0;bottom:0;width:31%;height:88%;border-radius:999px 999px 0 0;background:var(--pattern-1),var(--shape-1)}.s2{left:34%;bottom:0;width:30%;height:64%;border-radius:999px 999px 0 0;background:var(--pattern-2),var(--shape-2)}.s3{right:0;top:4%;width:32%;height:43%;border-radius:22px;background:var(--pattern-3),var(--shape-3)}.s4{right:0;bottom:0;width:32%;height:43%;border-radius:22px;background:var(--pattern-4),var(--shape-4)}.logo-mark{display:block;width:38px;height:38px;flex:none}
.leaf{position:absolute;width:20%;left:40%;top:0;z-index:2;transform:rotate(18deg);filter:var(--leaf-shadow)}
.band{background:var(--band-bg);color:var(--band-fg);padding:clamp(34px,5vw,64px) clamp(16px,5vw,64px);border-bottom:var(--line-w) solid var(--text)}
.band h2{font-size:calc(clamp(28px,4vw,44px) * var(--display-scale));margin-bottom:26px}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{background:var(--card-bg);color:var(--text);border:var(--line-w) solid var(--text);border-radius:var(--radius-box);padding:20px;box-shadow:var(--shadow)}
.steps li:nth-child(1) b{background:var(--art-0);color:var(--on-dark)}.steps li:nth-child(2) b{background:var(--art-1)}.steps li:nth-child(3) b{background:var(--art-2);color:var(--on-dark)}.steps li:nth-child(4) b{background:var(--art-4);color:var(--on-dark)}.steps li:nth-child(2) b{color:var(--on-dark)}.steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--highlight);border:var(--line-w-sm) solid var(--text);margin-bottom:10px}
.steps h3{font-size:calc(22px * var(--display-scale));margin-bottom:6px}.steps p{margin:0;font-size:15px}
.shop{padding:clamp(34px,5vw,70px) clamp(16px,5vw,64px)}.shop.alt{background:var(--surface-soft);border-top:var(--line-w) solid var(--text);border-bottom:var(--line-w) solid var(--text)}
.section-head{margin-bottom:28px}.section-head h2{font-size:calc(clamp(30px,4.4vw,52px) * var(--display-scale))}.sub{margin:8px 0 0;color:var(--text-muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px}
.status{grid-column:1/-1;color:var(--text-muted)}
.card{background:var(--card-bg);border:var(--line-w) solid var(--text);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.art{height:190px;display:flex;align-items:flex-end;justify-content:center;border-bottom:var(--line-w) solid var(--text);padding-top:22px;position:relative}
.art i{display:block;width:56%;height:100%;border:var(--line-w) solid var(--text);border-bottom:0;border-radius:var(--radius-arch);background:var(--bg)}
.art i::after{content:"";display:block;margin:30% auto 0;width:34%;aspect-ratio:1;border-radius:50%;border:var(--line-w) solid var(--text);background:var(--highlight)}
.v0{background:var(--art-0)}.v1{background:var(--art-1)}.v2{background:var(--art-2)}.v3{background:var(--art-3)}.v4{background:var(--art-4)}.v5{background:var(--art-5)}
.badge{position:absolute;top:12px;left:12px;background:var(--card-bg);border:var(--line-w-sm) solid var(--text);border-radius:var(--radius-pill);padding:2px 10px;font-weight:700;font-size:12px}
.badge.warn{background:var(--warn)}
.card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:calc(24px * var(--display-scale))}.card p{margin:0;color:var(--text-muted);font-size:15px}
.price{font:var(--price-weight) calc(22px * var(--display-scale)) var(--font-display);margin-top:auto;padding-top:10px}
.card .btn{margin-top:10px;padding:12px 18px;font-size:14px;box-shadow:var(--shadow-btn)}
.delivery{display:grid;grid-template-columns:1.4fr .6fr;gap:30px;padding:clamp(34px,5vw,70px) clamp(16px,5vw,64px);align-items:center}
.delivery h2{font-size:calc(clamp(28px,4vw,46px) * var(--display-scale));margin-bottom:12px}.small{font-size:14px;color:var(--text-muted)}
.windows{list-style:none;padding:0;margin:0;display:grid;gap:12px}.windows li{background:var(--highlight);border:var(--line-w) solid var(--text);border-radius:var(--radius-pill);padding:12px 20px;font-weight:500;text-align:center;box-shadow:var(--shadow-sm)}
footer{background:var(--text);color:var(--bg);padding:34px clamp(16px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:20px}footer p{margin:4px 0}footer .small{grid-column:1/-1;color:var(--footer-muted)}footer a{color:var(--highlight)}
.bag{width:min(560px,calc(100% - 20px));max-height:92vh;border:var(--line-w) solid var(--text);border-radius:var(--radius-card);padding:22px;background:var(--bg);box-shadow:var(--shadow);color:var(--text)}
.bag::backdrop{background:var(--overlay)}
.bag-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.bag-head h2{font-size:calc(30px * var(--display-scale))}
.x{border:var(--line-w) solid var(--text);background:var(--card-bg);border-radius:50%;width:38px;height:38px;font-size:22px;line-height:1;cursor:pointer}
.line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:var(--line-w-sm) var(--rule-style) var(--rule)}
.line small{display:block;color:var(--text-muted)}.qty{display:flex;align-items:center;gap:8px}
.qty button{width:30px;height:30px;border-radius:50%;border:var(--line-w-sm) solid var(--text);background:var(--card-bg);font-weight:700;cursor:pointer}
.empty{color:var(--text-muted);padding:20px 0}
#complete{margin:18px 0}#complete h3,#checkout h3{font-size:calc(22px * var(--display-scale));margin:22px 0 10px}
.suggest{display:grid;gap:10px}.sg{display:flex;justify-content:space-between;align-items:center;background:var(--surface-soft);border:var(--line-w-sm) solid var(--text);border-radius:var(--radius-box);padding:10px 14px;gap:10px}
.sg button{border:var(--line-w-sm) solid var(--text);background:var(--card-bg);border-radius:var(--radius-pill);padding:6px 14px;font-weight:700;cursor:pointer}
.totals{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:16px 0;font-size:16px}.totals dt,.totals dd{margin:0}.totals dd{text-align:right;font-weight:700}
label{display:grid;gap:5px;margin:10px 0;font-weight:700;font-size:15px}
input,select,textarea{font:inherit;font-weight:400;border:var(--line-w-sm) solid var(--text);border-radius:var(--radius-field);padding:11px 12px;background:var(--card-bg);color:var(--text);width:100%}
.check{display:flex;gap:10px;align-items:center;font-weight:500}.check input{width:22px;height:22px}
.opt{font-weight:400;color:var(--text-muted);display:inline}.row3{display:grid;grid-template-columns:1.4fr .6fr .8fr;gap:10px}
fieldset{border:0;padding:0;margin:12px 0}legend{font-weight:700;font-size:15px;margin-bottom:6px}
.win{display:flex;gap:10px;align-items:center;border:var(--line-w-sm) solid var(--text);border-radius:var(--radius-box);padding:10px 14px;margin:6px 0;background:var(--card-bg);font-weight:500;cursor:pointer}.win input{width:20px;height:20px}
.win:has(input:checked){background:var(--highlight)}
.note{min-height:24px;font-weight:700;color:var(--danger);margin:10px 0 0}.note.ok{color:var(--primary)}
.legal-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.legal{max-width:760px;margin:0 auto;padding:clamp(34px,6vw,72px) clamp(16px,5vw,32px)}.legal h1{font-size:calc(clamp(34px,5vw,52px) * var(--display-scale));margin-bottom:6px}.legal h2{font-size:calc(24px * var(--display-scale));margin:30px 0 8px}.legal p,.legal li{color:var(--text)}.legal ul{padding-left:20px}.legal li{margin:6px 0}.legal .updated{color:var(--text-muted);font-size:14px}.legal a{color:var(--primary)}
@media(max-width:860px){.hero,.delivery{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.top nav{display:none}.top{justify-content:space-between}.bag-btn{margin-left:auto}footer{grid-template-columns:1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}.row3{grid-template-columns:1fr 1fr}.row3 label:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
/* Content pages (journal, occasions, FAQ). Tokens only, so every theme restyles them. */
.content,.preview{padding:clamp(28px,5vw,64px) clamp(16px,5vw,32px)}
.prose{max-width:760px;margin:0 auto}.prose h1{font-size:calc(clamp(36px,5.4vw,58px) * var(--display-scale));line-height:1.05;margin:6px 0 10px}
.prose h2{font-size:calc(clamp(24px,3vw,30px) * var(--display-scale));margin:38px 0 10px}.prose h3{font-size:calc(20px * var(--display-scale));margin:24px 0 6px}
.prose p,.prose li{color:var(--text);line-height:1.7;font-size:17px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}
.prose a:not(.btn){color:var(--primary);text-underline-offset:3px}.prose .meta,.prose .lede{color:var(--text-muted)}.prose .meta{font-size:14px;margin:0 0 22px}
.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:var(--line-w-sm) var(--rule-style) var(--rule)}
.prose th{font-family:var(--font-body);font-weight:600}
.answer{background:var(--surface-soft);border-left:4px solid var(--primary);border-radius:var(--radius-card);padding:18px 22px;margin:8px 0 28px}
.answer .answer-label{font-size:12px;letter-spacing:var(--kicker-track);text-transform:uppercase;font-weight:var(--kicker-weight);color:var(--primary);margin:0 0 4px}.answer p{margin:6px 0}
.faq{margin-top:44px;border-top:var(--line-w-sm) var(--rule-style) var(--rule);padding-top:8px}
.cta{margin:48px 0 10px;padding:clamp(24px,4vw,40px);background:var(--hero-bg);color:var(--hero-fg);border-radius:var(--radius-box);text-align:center}
.cta h2{color:var(--hero-fg);margin:6px 0 8px}.cta p{color:var(--hero-fg)}.cta .kicker{color:var(--hero-accent)}.cta .btn{background:var(--hero-btn-bg);color:var(--hero-btn-fg);margin-top:10px}
.related ul{list-style:none;padding:0}.related li{margin:8px 0}
.posts{list-style:none;padding:0;display:grid;gap:16px;margin:28px 0}.post a{display:block;padding:22px 24px;background:var(--card-bg);border:var(--line-w-sm) var(--rule-style) var(--rule);border-radius:var(--radius-card);text-decoration:none;color:var(--text);transition:transform .12s,box-shadow .12s}
.post a:hover{transform:var(--hover-move);box-shadow:var(--shadow-sm)}.post h2{margin:0 0 6px;font-size:calc(24px * var(--display-scale))}.post p{margin:0;color:var(--text-muted)}
/* Address lookup, map preview, delivery-area check and waitlist. Tokens only. */
.addr-find{margin:6px 0 4px}.addr-find>label{display:block;font-weight:600;margin-bottom:6px}.combo{position:relative}
.addr-list{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;background:var(--card-bg);border:var(--line-w-sm) var(--rule-style) var(--rule);border-radius:var(--radius-field);box-shadow:var(--shadow)}
.addr-opt{padding:10px 12px;border-radius:var(--radius-field);cursor:pointer;display:flex;flex-direction:column;gap:2px}.addr-opt span{font-size:13px;color:var(--text-muted)}
.addr-opt[aria-selected="true"],.addr-opt:hover{background:var(--surface-soft)}
.addr-map{margin:12px 0;border-radius:var(--radius-card);overflow:hidden;border:var(--line-w-sm) var(--rule-style) var(--rule)}.addr-map img{display:block;width:100%;height:auto;aspect-ratio:600/260;object-fit:cover;background:var(--surface-soft)}
.addr-map figcaption{padding:8px 12px;font-size:13px;color:var(--text-muted)}
.waitlist{margin:14px 0;padding:18px;background:var(--surface-soft);border-left:4px solid var(--primary);border-radius:var(--radius-card)}.waitlist label{margin:10px 0 0}
.waitlist .btn{margin-top:12px}.waitlist-title{font-weight:600;margin:0 0 4px}.waitlist-done{font-weight:600;color:var(--primary)}
.zip-check{margin-top:16px}.zip-check>label{display:block;font-weight:600;margin-bottom:8px}.zip-row{display:flex;gap:10px;max-width:340px}.zip-row input{flex:1;min-width:0}
.delivery .waitlist{color:var(--text)}
#totals .hint{font-size:13px;color:var(--text-muted)}

/* "Yes, we deliver to you" card: a small celebration. Tokens only. */
.zip-win{position:relative;overflow:hidden;margin-top:16px;padding:26px 24px 24px;text-align:center;color:var(--hero-fg);
  background-color:var(--hero-bg);background-image:var(--hero-pattern);border:2px solid var(--hero-accent);border-radius:var(--radius-box);
  box-shadow:var(--shadow);animation:zipPop .55s cubic-bezier(.2,1.4,.4,1) both}
.zip-win::before{content:"";position:absolute;inset:6px;border:1px solid var(--hero-accent);opacity:.45;border-radius:inherit;pointer-events:none}
.zip-crest{width:76px;height:76px;display:block;margin:0 auto 6px;animation:zipCrest .8s .15s ease-out both}
.zip-kicker{margin:0;font-size:12px;letter-spacing:var(--kicker-track);text-transform:uppercase;font-weight:var(--kicker-weight);color:var(--hero-accent)}
.zip-title{margin:8px auto 12px;max-width:22ch;font-family:var(--font-display);font-size:calc(clamp(26px,3.2vw,34px) * var(--display-scale));line-height:1.1;color:var(--hero-fg)}
.zip-badge{display:inline-block;margin:0 0 12px;padding:7px 16px;border:1px solid var(--hero-accent);border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--hero-fg)}
.zip-win.is-free .zip-badge{background:var(--hero-accent);color:var(--hero-btn-fg);border-color:var(--hero-accent)}
.zip-line{margin:0 auto 18px;max-width:40ch;font-size:15px;line-height:1.55;color:var(--hero-fg);opacity:.9}
.zip-win .btn{background:var(--hero-btn-bg);color:var(--hero-btn-fg);border-color:var(--hero-btn-bg)}
.zip-confetti{position:absolute;inset:0;pointer-events:none}
.zip-confetti i{position:absolute;top:40%;left:50%;width:8px;height:12px;border-radius:2px;opacity:0;animation:zipConfetti 1.3s calc(var(--i) * 25ms) ease-out both}
.zip-confetti i:nth-child(4n+1){background:var(--shape-1)}.zip-confetti i:nth-child(4n+2){background:var(--shape-3)}.zip-confetti i:nth-child(4n+3){background:var(--shape-4)}.zip-confetti i:nth-child(4n){background:var(--hero-accent);border-radius:50%;width:9px;height:9px}
.zip-confetti i{--a:calc(var(--i) * 25.7deg)}
@keyframes zipConfetti{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) rotate(0)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-150px) rotate(220deg)}}
@keyframes zipPop{0%{opacity:0;transform:translateY(10px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes zipCrest{0%{opacity:0;transform:translateY(-8px) scale(.6) rotate(-8deg)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.zip-win,.zip-crest{animation:none}.zip-confetti{display:none}}

/* Occasions: mascot, speech bubble and a row of round occasion badges. Tokens only. */
.occasions{display:grid;grid-template-columns:clamp(200px,24vw,300px) minmax(0,1fr);gap:clamp(18px,4vw,48px);align-items:center;
  padding:calc(clamp(34px,5vw,64px) + 14px) clamp(16px,5vw,64px);background:var(--occasion-wave) top left/80px 14px repeat-x,var(--occasion-wave) bottom left/80px 14px repeat-x,var(--occasion-bg);color:var(--text)}
.occasions{background-position:0 -1px,0 calc(100% + 1px)}
.occ-main{min-width:0}.mascot-wrap{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:var(--mascot-bg);border:3px solid var(--text);box-shadow:var(--shadow);overflow:hidden}
.mascot{position:absolute;left:7%;top:8%;width:86%;height:auto;transform-origin:50% 100%;animation:mascotHi 3.6s ease-in-out infinite}
@keyframes mascotHi{0%,100%{transform:rotate(0)}8%{transform:rotate(-4deg)}16%{transform:rotate(3deg)}24%{transform:rotate(0)}}
.bubble{position:relative;margin:0 0 22px;padding:18px 26px;background:var(--card-bg);border:2px solid var(--text);border-radius:26px;
  font-family:var(--font-display);font-size:calc(clamp(22px,2.8vw,32px) * var(--display-scale));line-height:1.15;color:var(--primary);max-width:30ch}
.bubble em{color:var(--shape-2);font-style:italic}
.bubble::before{content:"";position:absolute;left:-22px;top:28px;border:12px solid transparent;border-right:20px solid var(--text)}
.bubble::after{content:"";position:absolute;left:-15px;top:31px;border:9px solid transparent;border-right:16px solid var(--card-bg)}
.occ-carousel{display:flex;align-items:center;gap:8px}
.occ-list{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;list-style:none;margin:0;padding:6px 4px 14px;scrollbar-width:none;flex:1}
.occ-list::-webkit-scrollbar{display:none}
.occ-list li{scroll-snap-align:start;flex:0 0 auto}
.occ{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:150px;height:150px;border-radius:50%;
  background:var(--c);border:2px solid var(--text);color:var(--on-dark);cursor:pointer;font:inherit;padding:0;transition:transform .15s}
.occ:hover,.occ:focus-visible{transform:translateY(-4px) rotate(-2deg)}.occ[aria-pressed="true"]{outline:3px solid var(--text);outline-offset:4px}
.occ svg{width:46px;height:46px;fill:none;stroke:var(--on-dark);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.occ-tag{background:var(--card-bg);color:var(--text);border:2px solid var(--text);border-radius:6px;padding:3px 10px;font-family:var(--font-display);
  font-weight:600;font-size:17px;line-height:1.05;transform:rotate(-3deg)}
.occ:nth-child(odd) .occ-tag,.occ-list li:nth-child(even) .occ-tag{transform:rotate(2deg)}
.occ-more{font-size:12px;letter-spacing:.08em;color:var(--on-dark)}
.occ-arrow{flex:0 0 auto;width:38px;height:38px;border:2px solid var(--text);border-radius:50%;background:var(--card-bg);color:var(--text);font-size:24px;line-height:1;cursor:pointer}
.occ-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;font-size:15px}
.occ-filter button{background:none;border:0;padding:0;color:var(--primary);text-decoration:underline;cursor:pointer;font:inherit}
@media(max-width:860px){.occasions{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.occ-main{width:100%}.bubble{margin-left:auto;margin-right:auto}.mascot-wrap{width:200px}
  .bubble::before,.bubble::after{display:none}.occ-arrow{display:none}.occ{width:128px;height:128px}.occ-tag{font-size:15px}}
@media (prefers-reduced-motion:reduce){.mascot{animation:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.occ-all{display:inline-block;margin-top:8px;font-weight:600;color:var(--primary);text-underline-offset:4px}
