:root{--pink:#FE4871;--deep:#C8174A;--blush:#FFB0C2;--soft:#FFE4EA;--lime:#E4F229;--limesoft:#F6FAC8;--ink:#1A1014;--muted:#5C4650;--line:#F6D3DC;--white:#FFFFFF}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.5;overflow-x:hidden}
a{color:var(--ink)}a:hover{color:var(--deep)}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:900;font-variation-settings:'SOFT' 100,'WONK' 1;margin:0;letter-spacing:-0.01em}
p{margin:0}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.white{color:#fff}.deep{color:var(--deep)}.lime{color:var(--lime)}
.pink{background:var(--pink)}.soft{background:var(--soft)}
.bg-pink{background:var(--pink)}.bg-pinkfill{background:var(--pink)}.bg-lime{background:var(--lime)}.bg-blush{background:var(--blush)}.bg-white{background:#fff}
.tilt-l{transform:rotate(-1.5deg)}.tilt-r{transform:rotate(1.5deg)}
.tilt-l,.tilt-r,.card,.feature,.pkg-link{transition:transform .2s ease}
.tilt-l:hover,.tilt-r:hover,.card:hover,.feature:hover,.pkg-link:hover{transform:rotate(0) scale(1.03)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid var(--ink);cursor:pointer;font-family:inherit}
.btn-ink{background:var(--ink);color:var(--lime)}.btn-ink:hover{color:#fff}
.btn-white{background:#fff;color:var(--ink)}
.btn-lime{background:var(--lime);color:var(--ink)}
.big-btn{min-height:60px;padding:0 36px;font-size:18px}
.btn:focus-visible,.chip:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

.ticker{background:var(--lime);border-bottom:2px solid var(--ink);overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;gap:40px;padding:12px 0;font-size:15px;font-weight:700;animation:marquee 30s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.site-header{background:var(--pink)}
.header-row{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}
.logo-link{display:block;line-height:0}.logo-link img{height:64px;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;font-weight:700;font-size:16px}
.nav a{text-decoration:none}.nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}

.today{display:flex;flex-direction:column;gap:28px;padding-top:24px;padding-bottom:40px}
.notice{background:var(--ink);color:var(--lime);border-radius:24px;padding:16px 22px;font-weight:700;font-size:18px}
.today-head{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end}
.today-title{flex:1 1 520px;display:flex;flex-direction:column;gap:14px}
.live-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--ink);color:var(--lime);font-size:14px;font-weight:700}
.dot{width:9px;height:9px;border-radius:50%;background:var(--pink)}
#today-h{font-size:clamp(48px,7.5vw,104px);line-height:.9;letter-spacing:-0.02em}
.today-sub{font-size:19px;font-weight:600}
.mini-cone{position:relative;width:210px;height:190px;flex:0 0 auto}
.bob{position:absolute;left:40px;top:0;width:130px;height:190px;animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}
.cone{position:absolute;clip-path:polygon(0 0,100% 0,50% 100%);background-color:#E8A95B;background-image:repeating-linear-gradient(45deg,rgba(26,16,20,.2) 0 2px,transparent 2px 12px),repeating-linear-gradient(-45deg,rgba(26,16,20,.2) 0 2px,transparent 2px 12px)}
.mini-cone .cone{left:28px;top:84px;width:74px;height:100px}
.scoop{position:absolute;border:3px solid var(--ink)}
.mini-cone .s1{left:14px;top:56px;width:102px;height:50px;border-radius:50px 50px 26px 26px;background:#B7D46A}
.mini-cone .s2{left:24px;top:6px;width:82px;height:62px;border-radius:50%;background:var(--blush)}
.spr{position:absolute;width:12px;height:5px;border-radius:3px}
.spr.a{left:44px;top:22px;background:var(--lime);transform:rotate(30deg)}
.spr.b{left:74px;top:30px;background:var(--ink);transform:rotate(-20deg)}
.spr.c{left:58px;top:44px;background:#fff;transform:rotate(70deg)}
.sticker{position:absolute;right:0;top:0;width:86px;height:86px;border-radius:50%;background:var(--lime);border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(12deg);font-family:'Fraunces',serif;font-weight:900;font-size:15px;line-height:1.05}

.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filters-label{font-size:15px;font-weight:700;margin-right:6px}
.chip{min-height:48px;padding:0 22px;border-radius:999px;border:2px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--lime);transform:rotate(-2deg)}

.flavour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;transition:opacity .2s}
.card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 14px 18px;border:2px solid var(--ink);border-radius:28px;background:#fff;text-align:center}
.card:nth-child(5n+1){transform:rotate(-2deg)}.card:nth-child(5n+2){transform:rotate(1.5deg);background:var(--soft)}.card:nth-child(5n+3){transform:rotate(-1deg)}.card:nth-child(5n+4){transform:rotate(2deg);background:var(--limesoft)}.card:nth-child(5n){transform:rotate(-1.5deg)}
.card:hover{transform:rotate(0) scale(1.04)}
.card h3{font-size:21px;line-height:1.1}
.card .desc{font-size:14px;color:var(--muted)}
.card-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--ink)}
.drawn{position:relative;width:80px;height:96px}
.drawn .cone{left:18px;top:46px;width:44px;height:48px}
.drawn .top{position:absolute;left:6px;top:0;width:68px;height:56px;border-radius:34px 34px 20px 20px;border:2px solid var(--ink)}
.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
.tag{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;border:2px solid var(--ink);background:#fff}
.badge{position:absolute;top:-14px;right:10px;padding:5px 12px;border-radius:999px;border:2px solid var(--ink);font-size:13px;font-weight:700;transform:rotate(6deg);white-space:nowrap}
.badge.new{background:var(--lime)}.badge.gone{background:var(--ink);color:var(--lime)}.badge.fotw{background:var(--pink)}
.badge.second{top:auto;bottom:-14px;right:auto;left:10px;transform:rotate(-5deg)}
.skeleton{height:220px;background:rgba(255,255,255,.5);border-style:dashed}
.empty{padding:20px 24px;border-radius:24px;background:#fff;border:2px solid var(--ink);font-size:17px;font-weight:600;grid-column:1/-1}
.today-foot{display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;align-items:center}
.back-soon{font-size:15px;font-weight:600;max-width:42rem}
.wave{display:block;width:100%;height:46px}
.wave-top{background:#fff}

.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;align-items:center;padding-top:56px;padding-bottom:72px}
.stack{display:flex;flex-direction:column;gap:20px}
.big{font-size:clamp(44px,6vw,84px);line-height:.92;letter-spacing:-0.02em}
.lead{font-size:19px;line-height:1.55;max-width:32rem;color:#3E2A33}
.lead.light{color:#F2E6EA}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.art-block{aspect-ratio:4/3;border-radius:36px;background:var(--soft);border:2px solid var(--ink);position:relative;overflow:hidden;transform:rotate(2deg)}
.art-block.dark{background:var(--pink);border-color:var(--lime)}
.big-cone{position:absolute;left:50%;top:50%;width:220px;height:300px;margin:-150px 0 0 -110px}
.big-cone .cone{left:50px;top:140px;width:120px;height:160px}
.big-cone .b1{left:28px;top:104px;width:164px;height:76px;border-radius:80px 80px 40px 40px;background:#B7D46A}
.big-cone .b2{left:44px;top:46px;width:132px;height:84px;border-radius:50%;background:#fff}
.big-cone .b3{left:60px;top:0;width:100px;height:76px;border-radius:50%;background:var(--blush)}

.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;padding-top:48px;padding-bottom:88px}
.feature{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:32px;background:#fff;border:2px solid var(--ink)}
.feature-art{aspect-ratio:4/3;border-radius:22px}
.feature h3{font-size:30px}.feature p{color:var(--muted)}

.ink-band{background:var(--ink);color:#fff}
.ink-band .two-col{padding-top:88px;padding-bottom:88px}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.tag-pink{align-self:flex-start;padding:6px 14px;border-radius:999px;background:var(--pink);color:var(--ink);font-size:14px;font-weight:700;transform:rotate(-3deg)}
.pkg-link{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px;border-radius:28px;text-decoration:none;color:var(--ink)}
.pkg-link strong{display:block;font-family:'Fraunces',serif;font-weight:900;font-size:28px;font-variation-settings:'SOFT' 100}
.pkg-link small{display:block;font-size:16px;font-weight:600}
.arrow{flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:24px}

.visit{padding-top:88px;padding-bottom:88px;align-items:start}
.visit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.visit-grid p+p{margin-top:8px}
.label{font-weight:700;margin-bottom:6px}
.deep-link{color:var(--deep);font-weight:700}
.hours-card{border:2px solid var(--ink);border-radius:32px;background:var(--soft);padding:28px;transform:rotate(1deg)}
.hours-card h3{font-size:30px;margin-bottom:12px}
.hours{width:100%;border-collapse:collapse;font-size:17px}
.hours td{padding:8px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:600}
.hours tr.today td{font-weight:800}

.site-footer{background:var(--pink)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;align-items:start;padding-top:32px;padding-bottom:40px;font-size:16px;font-weight:500}
.footer-grid img{width:172px;height:auto}
.footer-grid p+p{margin-top:8px}
.footer-h{font-family:'Fraunces',serif;font-weight:900;font-size:24px}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding-top:40px;padding-bottom:16px}
.step{display:flex;gap:16px;align-items:flex-start}
.step p{color:var(--muted);font-size:16px}.step .label{color:var(--ink);font-size:18px}
.num{flex:none;width:52px;height:52px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:900;font-size:24px;transform:rotate(-6deg)}
.request{display:flex;flex-direction:column;gap:32px;padding-top:48px;padding-bottom:96px}
form{display:flex;flex-direction:column;gap:36px}
fieldset{border:none;margin:0;padding:0}
legend{padding:0;margin-bottom:18px;font-weight:700;font-size:20px}
.soft-box{background:var(--soft);border-radius:32px;padding:28px}
.soft-box legend{float:left;width:100%}
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.pkg{position:relative;cursor:pointer}
.pkg input{position:absolute;opacity:0;width:1px;height:1px}
.pkg-body{display:flex;flex-direction:column;gap:10px;padding:30px;border-radius:32px;border:3px solid var(--ink);background:#fff;height:100%}
.pkg-name{font-family:'Fraunces',serif;font-weight:900;font-size:30px;font-variation-settings:'SOFT' 100,'WONK' 1}
.pkg-meta{font-weight:700}
.pkg-blurb{color:var(--muted)}
.picked{display:none;position:absolute;top:-16px;right:20px;padding:6px 14px;border-radius:999px;background:var(--lime);border:2px solid var(--ink);font-size:14px;font-weight:700;transform:rotate(6deg)}
.pkg input:checked+.pkg-body{background:var(--pink);transform:rotate(-1deg)}
.pkg input:checked+.pkg-body .picked{display:block}
.pkg input:checked+.pkg-body .pkg-blurb{color:var(--ink)}
.pkg input:focus-visible+.pkg-body{outline:3px solid var(--ink);outline-offset:4px}
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;clear:both}
.field-grid label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700}
.field-grid .full{grid-column:1/-1}
input,select,textarea{min-height:54px;padding:0 18px;border-radius:18px;border:2px solid var(--ink);font:inherit;font-size:16px;font-weight:400;background:#fff;color:var(--ink)}
textarea{padding:14px 18px;resize:vertical}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--deep);background:#FFF5F7}
.field-error{color:var(--deep);font-size:14px;font-weight:600}
.form-error{padding:14px 18px;border-radius:18px;background:#FFF5F7;border:2px solid var(--deep);color:var(--deep);font-weight:700}
.submit-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.submit-row p{color:var(--muted);font-size:15px}
.thanks{padding:40px;border-radius:36px;background:var(--pink);border:2px solid var(--ink);display:flex;flex-direction:column;gap:12px;max-width:660px;transform:rotate(-1deg)}
.thanks h3{font-size:38px;line-height:1}
.thanks .btn{align-self:flex-start;margin-top:8px}
button[disabled]{opacity:.6;cursor:wait}
@media (max-width:600px){.mini-cone{display:none}.nav{gap:6px 16px;font-size:15px}.logo-link img{height:52px}}
@media (prefers-reduced-motion:reduce){.ticker-track,.bob{animation:none}*{transition:none!important}}
/* animated cup in the flavours header */
.mini-cone{width:240px;height:240px}
.mini-cone .cup{position:absolute;left:20px;top:10px;width:180px;height:auto;transform-origin:50% 92%;animation:cupbounce 3.6s ease-in-out infinite;filter:drop-shadow(0 10px 0 rgba(26,16,20,.18));cursor:pointer}
.mini-cone .cup:hover{animation:cupjiggle .6s ease-in-out infinite}
.mini-cone .sticker{right:-6px;top:-4px}
@keyframes cupbounce{0%,100%{transform:translateY(0) rotate(-4deg) scale(1,1)}18%{transform:translateY(-14px) rotate(3deg) scale(.98,1.03)}34%{transform:translateY(0) rotate(-2deg) scale(1.05,.95)}46%{transform:translateY(-6px) rotate(2deg) scale(1,1)}60%{transform:translateY(0) rotate(-4deg) scale(1,1)}}
@keyframes cupjiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-9deg) scale(1.05)}40%{transform:rotate(8deg) scale(1.05)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}
@media (max-width:600px){.mini-cone{display:block;width:150px;height:160px;margin-left:auto}.mini-cone .cup{width:112px;left:12px;top:14px}.mini-cone .sticker{width:62px;height:62px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.mini-cone .cup{animation:none}}

/* full case layout: 6 across on desktop, 2 across on phones */
.flavour-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px}
@media (max-width:600px){
.flavour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.card{padding:16px 8px 14px;border-radius:22px;gap:8px}
.card h3{font-size:17px}
.card .desc{font-size:13px}
.drawn{width:64px;height:78px}.drawn .cone{left:14px;top:37px;width:36px;height:39px}.drawn .top{left:5px;width:54px;height:45px}
.card-photo{width:88px;height:88px}
.tag{font-size:11px;padding:3px 8px}
.badge{font-size:11px;padding:4px 9px;top:-12px;right:6px}
.badge.second{bottom:-12px;left:6px}
.chip{min-height:44px;padding:0 16px;font-size:15px}
}

/* cut-out flavour images: show the whole illustration, no circle crop */
.card-photo{width:140px;height:120px;border-radius:0;border:none;object-fit:contain;background:none}
@media (max-width:600px){.card-photo{width:104px;height:90px}}

/* google map in the visit section */
.map-card{border:2px solid #1A1014;border-radius:28px;overflow:hidden;background:#FFE4EA;transform:rotate(-0.5deg);box-shadow:0 8px 0 rgba(26,16,20,.12)}
.map-card iframe{display:block;width:100%;height:340px;border:0}
@media (max-width:600px){.map-card iframe{height:260px}}

/* announcements: make closures impossible to miss */
.notice-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:#1A1014;color:#E4F229;font-weight:800;font-size:18px;line-height:1.3;text-align:center;border-bottom:4px solid #E4F229}
.notice-bar[hidden]{display:none}
.nb-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#FE4871;box-shadow:0 0 0 0 rgba(254,72,113,.7);animation:nbpulse 1.6s ease-out infinite}
@keyframes nbpulse{0%{box-shadow:0 0 0 0 rgba(254,72,113,.7)}100%{box-shadow:0 0 0 14px rgba(254,72,113,0)}}
.notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:#E4F229;color:#1A1014;border:3px solid #1A1014;border-radius:28px;padding:22px 26px;box-shadow:0 8px 0 #1A1014;transform:rotate(-1deg);animation:noticewiggle 1s ease-in-out 2}
.notice[hidden]{display:none}
.notice-tag{flex:none;padding:6px 14px;border-radius:999px;background:#1A1014;color:#E4F229;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.notice-text{font-family:Fraunces,Georgia,serif;font-weight:900;font-variation-settings:"SOFT" 100,"WONK" 1;font-size:clamp(24px,3.4vw,38px);line-height:1.1}
@keyframes noticewiggle{0%,100%{transform:rotate(-1deg)}25%{transform:rotate(1.5deg) scale(1.02)}50%{transform:rotate(-2deg)}75%{transform:rotate(1deg)}}
@media (prefers-reduced-motion:reduce){.nb-dot,.notice{animation:none}}

/* occasion chips on the events copy */
.occasions{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.occasions li{padding:8px 16px;border-radius:999px;border:2px solid #E4F229;color:#E4F229;font-weight:700;font-size:15px}
.occasions li:nth-child(1){transform:rotate(-2deg)}.occasions li:nth-child(2){transform:rotate(1.5deg);background:#FE4871;border-color:#FE4871;color:#1A1014}.occasions li:nth-child(3){transform:rotate(-1deg)}.occasions li:nth-child(4){transform:rotate(2deg);background:#E4F229;color:#1A1014}

/* card colour meanings: white by default, colour only when it means something */
:root{--c-new:#DCEBFF;--c-new-ink:#1F6FD0;--c-vegan:#DDF2CF;--c-vegan-ink:#2E7D2C;--c-fotw:#ECE0FF;--c-fotw-ink:#8A5AD6;--c-gone:#FFE6CC;--c-gone-ink:#F07A1A}
.flavour-grid .card,.flavour-grid .card:nth-child(n){background:#FFFFFF}
.flavour-grid .card.is-new{background:var(--c-new)}
.flavour-grid .card.is-vegan{background:var(--c-vegan)}
.flavour-grid .card.is-fotw{background:var(--c-fotw)}
.flavour-grid .card.is-gone{background:var(--c-gone)}
.badge.new{background:var(--c-new-ink);color:#FFFFFF}
.badge.fotw{background:var(--c-fotw-ink);color:#FFFFFF}
.badge.gone{background:var(--c-gone-ink);color:#1A1014}
.card.is-vegan .tag:first-child{background:var(--c-vegan-ink);border-color:#1A1014;color:#FFFFFF}
.card-key{list-style:none;margin:0;padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;align-self:flex-start;background:#FFFFFF;border:2px solid #1A1014;border-radius:999px;font-size:14px;font-weight:700}
.card-key li{display:flex;align-items:center;gap:7px}
.card-key .sw{width:18px;height:18px;border-radius:50%;border:2px solid #1A1014}
.sw-new{background:var(--c-new)}.sw-vegan{background:var(--c-vegan)}.sw-fotw{background:var(--c-fotw)}.sw-gone{background:var(--c-gone)}
@media (max-width:600px){.card-key{border-radius:20px;font-size:13px}}

/* badge animations */
.badge{--r:6deg;z-index:2;overflow:hidden;box-shadow:0 3px 0 #1A1014}
.badge.second{--r:-5deg}
.badge::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:badgeshine 3.2s ease-in-out infinite}
@keyframes badgeshine{0%,55%{left:-60%}85%,100%{left:130%}}
.badge.new::before{content:"\2726  ";}
.badge.new{animation:badgepop 2.4s ease-in-out infinite}
@keyframes badgepop{0%,70%,100%{transform:rotate(var(--r)) scale(1)}78%{transform:rotate(calc(var(--r) - 8deg)) scale(1.18)}86%{transform:rotate(calc(var(--r) + 6deg)) scale(1.08)}93%{transform:rotate(var(--r)) scale(1.12)}}
.badge.fotw::before{content:"\2605  ";color:#FFE45C}
.badge.fotw{animation:badgefloat 2.8s ease-in-out infinite}
@keyframes badgefloat{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(calc(var(--r) - 3deg)) translateY(-5px) scale(1.06)}}
.badge.gone::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#1A1014;vertical-align:1px;animation:gonedot 1s ease-in-out infinite}
.badge.gone{animation:badgeshake 2s ease-in-out infinite}
@keyframes badgeshake{0%,60%,100%{transform:rotate(var(--r))}64%{transform:rotate(calc(var(--r) - 7deg))}68%{transform:rotate(calc(var(--r) + 7deg))}72%{transform:rotate(calc(var(--r) - 5deg))}76%{transform:rotate(calc(var(--r) + 4deg))}80%{transform:rotate(var(--r))}}
@keyframes gonedot{0%,100%{opacity:1}50%{opacity:.2}}
.card:hover .badge{animation-duration:.9s}
@media (prefers-reduced-motion:reduce){.badge,.badge::after,.badge.gone::before{animation:none!important}}

/* bigger sticker badges that break out of the card corner */
.flavour-grid .badge{font-size:15px;padding:8px 15px;border-width:2.5px;top:-18px;right:-10px;letter-spacing:.01em}
.flavour-grid .badge.second{top:auto;right:auto;bottom:-18px;left:-10px}
.flavour-grid .card{margin-top:6px}
@media (max-width:600px){.flavour-grid .badge{font-size:13px;padding:6px 11px;top:-15px;right:-6px}.flavour-grid .badge.second{bottom:-15px;left:-6px}}

/* desktop: spread today's flavours over 3 rows */
@media (min-width:1000px){.flavour-grid{grid-template-columns:repeat(var(--cols,7),minmax(0,1fr));gap:16px}.flavour-grid .card-photo{width:100%;max-width:140px;height:auto;aspect-ratio:7/6}.flavour-grid .card h3{font-size:16px}}
/* compact allergen tags so cards stay short */
.flavour-grid .tags{gap:4px 3px}
.flavour-grid .tag{font-size:10.5px;line-height:1.25;padding:2px 7px;border-width:1.5px}
.flavour-grid .card{gap:8px;padding-bottom:16px}
/* bigger flavour illustrations */
.flavour-grid .card-photo{width:160px;height:140px}
@media (min-width:1000px){.flavour-grid .card{padding-left:6px;padding-right:6px}.flavour-grid .card-photo{width:100%;max-width:none;height:auto;aspect-ratio:1/1;margin:-6px 0 -4px}}
@media (max-width:600px){.flavour-grid .card-photo{width:100%;max-width:140px;height:auto;aspect-ratio:1/1}}
/* 8-across fits on smaller laptops: shrink the stickers a little */
@media (min-width:1000px) and (max-width:1180px){.flavour-grid .badge{font-size:12px;padding:5px 10px;right:-4px}.flavour-grid .badge.second{left:-4px}}

/* swap logo sizes: big in the header, small in the footer */
.logo-link img{height:120px;width:auto}
.footer-grid img{width:92px;height:auto}
@media (max-width:600px){.logo-link img{height:88px}.footer-grid img{width:80px}}
/* breathing room between the big heading and the filter chips */
.today .filters{margin-top:28px}
@media (max-width:600px){.today .filters{margin-top:16px}}

/* section labels styled exactly like the flavour card badges ("New!" / "Flavour of the week") */
p.sec-badge{--r:-4deg;position:relative;overflow:hidden;align-self:flex-start;display:inline-block;padding:8px 15px;border-radius:999px;border:2.5px solid #1A1014;box-shadow:0 3px 0 #1A1014;font-size:15px;font-weight:700;letter-spacing:.01em;white-space:nowrap;transform:rotate(var(--r))}
.sec-badge::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:badgeshine 3.2s ease-in-out infinite}
p.sec-new{background:var(--c-new-ink);color:#FFFFFF;animation:badgepop 2.4s ease-in-out infinite}
.sec-new::before{content:"\2726  "}
p.sec-fotw{background:var(--c-fotw-ink);color:#FFFFFF;animation:badgefloat 2.8s ease-in-out infinite}
.sec-fotw::before{content:"\2605  ";color:#FFE45C}
.ink-band p.sec-badge{border-color:#FFFFFF;box-shadow:0 3px 0 #FFFFFF}
@media (prefers-reduced-motion:reduce){p.sec-badge,.sec-badge::after{animation:none!important}}
/* bigger section badges */
p.sec-badge{font-size:20px;padding:10px 22px;border-width:3px;box-shadow:0 4px 0 #1A1014}
.ink-band p.sec-badge{box-shadow:0 4px 0 #FFFFFF}
@media (max-width:600px){p.sec-badge{font-size:17px;padding:8px 17px}}

.hours tr.is-today td{font-weight:800}
.hours td:last-child{white-space:nowrap}

/* Cafe Latte art has extra space around it; scale to match the others */
img[src*="85f849e3f4b7477290f233e3a9fa0561"]{transform:translateY(-9%) scale(.84)}

/* flavour suggestions */
.suggest{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:20px 32px;align-items:center;background:#FFFFFF;border:3px solid #1A1014;border-radius:32px;padding:26px 30px;box-shadow:0 7px 0 #1A1014;transform:rotate(-.6deg);margin-top:8px}
.suggest-h{font-family:'Fraunces',Georgia,serif;font-weight:900;font-variation-settings:'SOFT' 100,'WONK' 1;font-size:clamp(26px,2.6vw,34px);line-height:1;margin:0 0 8px}
.suggest-copy p{margin:0;color:#5C4650;font-size:16px}
.suggest-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.suggest-field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.suggest-field input{width:100%;min-height:52px;padding:0 18px;border-radius:999px;border:2.5px solid #1A1014;background:#FFF;font:inherit;font-weight:500;font-size:16px;color:#1A1014}
.suggest-field input:focus{outline:3px solid #FE4871;outline-offset:2px}
.suggest-btn{min-height:52px;padding:0 26px;border-radius:999px;border:2.5px solid #1A1014;background:#1A1014;color:#E4F229;font-weight:800;font-size:17px;cursor:pointer;box-shadow:0 4px 0 #FE4871;white-space:nowrap}
.suggest-btn:hover{transform:translateY(-1px);box-shadow:0 6px 0 #FE4871}
.suggest-btn:disabled{opacity:.6;cursor:wait}
.suggest-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.suggest-msg{grid-column:1/-1;margin:0;padding:10px 16px;border-radius:16px;background:#FFE4EA;border:2px solid #C8174A;color:#C8174A;font-weight:700;font-size:15px}
.suggest-msg.ok{background:#F6FAC8;border-color:#1A1014;color:#1A1014}
@media (max-width:900px){.suggest{grid-template-columns:1fr;padding:22px}.suggest-form{grid-template-columns:1fr 1fr}.suggest-btn{grid-column:1/-1}}
@media (max-width:560px){.suggest-form{grid-template-columns:1fr}}

/* consistent hard drop shadows: cards 8px, buttons and pills 4px, small tags 2-3px */
.card,.feature,.hours-card,.art-block,.pkg-body,.wizard,.thanks,.map-card,.suggest,.cake-card,.done,.notice{box-shadow:0 8px 0 #1A1014}
.card:hover,.feature:hover{box-shadow:0 11px 0 #1A1014}
.card.skeleton{box-shadow:0 8px 0 rgba(26,16,20,.15)}
.btn,.chip,.pint,.date-btn,.sticker,.card-key{box-shadow:0 4px 0 #1A1014}
.btn{transition:transform .2s ease,box-shadow .15s ease}
.btn:hover,.chip:hover{box-shadow:0 6px 0 #1A1014}
.btn:active,.chip:active{box-shadow:0 1px 0 #1A1014}
.chip[aria-pressed="true"]{box-shadow:0 4px 0 #FE4871}
.occasions li,.picked,.done-tag,.num,.progress li,.cal-nav,.cake-caption{box-shadow:0 3px 0 #1A1014}
.tag{box-shadow:0 2px 0 #1A1014}
/* phones: compact header with menu button; homepage shows one section at a time */
.m-open,.m-burger,.m-menu{display:none}
@media (max-width:600px){
  .ticker{display:none}
  .site-header{position:sticky;top:0;z-index:30;border-bottom:3px solid var(--ink)}
  .site-header .header-row{flex-wrap:nowrap;gap:12px;padding-top:10px;padding-bottom:10px}
  .site-header .logo-link img{height:58px}
  .site-header .nav{display:none}
  .m-open{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:7px 12px;border-radius:999px;background:#fff;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-weight:800;font-size:13px;white-space:nowrap}
  .m-open[hidden]{display:none}
  .m-dot{width:9px;height:9px;border-radius:50%;background:#2E9B3C}
  .m-open.closed .m-dot{background:#C8174A}
  .m-burger{display:flex;flex:none;margin-left:auto;width:50px;height:50px;border-radius:50%;background:var(--ink);border:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 4px 0 #FFE4EA;cursor:pointer;padding:0}
  .m-open:not([hidden]) + .m-burger{margin-left:0}
  .m-burger span{display:block;width:22px;height:3px;border-radius:3px;background:var(--lime)}
  .m-burger:focus-visible,.m-close:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
  .m-menu{position:fixed;inset:0;z-index:60;background:var(--pink);padding:14px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;overflow-y:auto}
  .m-menu[hidden]{display:none}
  html.m-locked,html.m-locked body{overflow:hidden}
  .m-menu-top{display:flex;align-items:center;justify-content:space-between}
  .m-menu-logo{height:58px;width:auto}
  .m-close{width:50px;height:50px;border-radius:50%;background:var(--ink);color:var(--lime);border:0;font-size:22px;font-weight:800;box-shadow:0 4px 0 #FFE4EA;cursor:pointer}
  .m-links{display:flex;flex-direction:column;border-top:3px solid var(--ink)}
  .m-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;border-bottom:3px solid var(--ink);font-family:'Fraunces',Georgia,serif;font-weight:900;font-variation-settings:'SOFT' 100,'WONK' 1;font-size:29px;line-height:1.05;text-decoration:none;color:var(--ink)}
  .m-links a::after{content:"\2192";font-family:'DM Sans',sans-serif;font-size:22px}
  .m-links a[aria-current="page"]{color:#fff}
  .m-book{align-self:stretch;justify-content:center;min-height:62px;font-size:20px;font-weight:800;background:var(--ink);color:var(--lime)}
  .m-info{font-size:15px;line-height:1.5;font-weight:600}
  .m-info a{color:inherit}
  .mini-cone{display:none!important}
  /* homepage */
  .m-home main > section:not(.m-on){display:none!important}
  .m-home .today{padding-top:14px;gap:16px}
  .m-home .today .filters{display:none!important}
  .m-home .live-pill{white-space:nowrap;font-size:13px;padding:8px 14px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .m-home #today-h{font-size:38px;line-height:1}
  .m-home .flavour-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 14px!important}
  .m-home main > section > .wave,.m-home .site-footer .wave-top{display:none}
  .m-home main > section{padding-bottom:40px}
  .m-home .site-footer{border-top:3px solid var(--ink)}
}

@media (max-width:600px){.m-home #today.m-on > .wave{display:block}.m-home main > section#today{padding-bottom:0}}

/* instagram icon button + suggestion band */
.ig-link{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#FFFFFF;color:#1A1014;border:2.5px solid #1A1014;box-shadow:0 4px 0 #1A1014;transition:transform .2s ease,box-shadow .15s ease}
.ig-link:hover{transform:translateY(-2px) rotate(-6deg);box-shadow:0 6px 0 #1A1014}
.ig-link:focus-visible{outline:3px solid #1A1014;outline-offset:3px}
.suggest-band{background:#FFE4EA;padding:56px 0 8px}
.suggest-band .suggest{margin-top:0}
@media (max-width:600px){.m-home #pints.m-on > .wave{display:block}.m-home main > section#pints{padding-bottom:0}.suggest-band{padding:36px 0 8px}}

/* flavour suggestion section: pastel mint */
.suggest-band{background:#C3EBD3;padding-bottom:0}
.suggest-wave{margin-top:56px}

/* privacy policy page + form privacy notes */
.legal{max-width:780px;padding-top:40px;padding-bottom:88px}
.legal h1{margin-bottom:8px}
.legal .legal-date{color:var(--muted);font-weight:600;margin:0 0 18px}
.legal h2{font-family:'Fraunces',Georgia,serif;font-weight:900;font-size:28px;line-height:1.1;margin:36px 0 10px}
.legal p,.legal li{font-size:17px;line-height:1.6}
.legal ul{padding-left:1.2em;margin:0 0 12px}
.legal li{margin:6px 0}
.legal a{color:var(--deep);font-weight:700}
.form-privacy{margin:6px 0 0;font-size:14px;color:var(--muted)}
.form-privacy a{color:inherit;font-weight:700}
.suggest-form .form-privacy{grid-column:1/-1;margin:0}
@media (max-width:600px){.legal h2{font-size:24px}.legal{padding-top:24px}}
/* third badge: bottom-right corner */
.flavour-grid .badge.third{top:auto;left:auto;bottom:-18px;right:-10px;--r:4deg}
.flavour-grid .card.has-3{margin-bottom:6px}
.flavour-grid .card.has-3 .badge.second,.flavour-grid .card.has-3 .badge.third{font-size:12px;padding:5px 9px;border-width:2px}
.flavour-grid .card.has-3 .badge.second{left:-8px}
.flavour-grid .card.has-3 .badge.third{right:-8px}
@media (max-width:600px){.flavour-grid .badge.third{bottom:-15px;right:-6px}.flavour-grid .card.has-3 .badge.second,.flavour-grid .card.has-3 .badge.third{font-size:10.5px;padding:4px 7px}.flavour-grid .card.has-3 .badge.second{left:-6px}.flavour-grid .card.has-3 .badge.third{right:-6px}}
@media (min-width:1000px){.flavour-grid .card.has-3 .badge.second,.flavour-grid .card.has-3 .badge.third{font-size:11px;padding:4px 7px;letter-spacing:0}.flavour-grid .card.has-3 .badge.second{left:-12px}.flavour-grid .card.has-3 .badge.third{right:-12px}.flavour-grid .card.has-3 .badge.gone::before{width:6px;height:6px;margin-right:4px}}
/* phones: header sits under the announcement bar instead of sliding beneath it */
@media (max-width:600px){.site-header{top:var(--nb-h,0px)}.notice-bar{font-size:15px;padding:10px 16px;gap:10px;border-bottom-width:3px}.nb-dot{width:10px;height:10px}}
/* Chestnut artwork fills more of its canvas: shrink to match the others, keeping its base level */
img[src*="2086fd65939641569e52fba03d3745f2"]{transform:scale(.7)!important;transform-origin:50% 80%}
/* suggestion button: pink with the black hard shadow, like the other buttons */
.suggest-btn{background:#FE4871;color:#FFFFFF;border:2.5px solid #1A1014;box-shadow:0 4px 0 #1A1014}
.suggest-btn:hover{transform:translateY(-1px);box-shadow:0 6px 0 #1A1014}


/* header buttons: Flavour alerts (white) + Book an event (lime), black outline and hard shadow */
.site-header .nav{gap:8px 20px}
.site-header .nav .btn{min-height:44px;padding:9px 18px;font-size:15px;font-weight:800;white-space:nowrap;text-decoration:none;color:#1A1014;border:2.5px solid #1A1014;box-shadow:0 4px 0 #1A1014}
.site-header .nav .btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 #1A1014;color:#1A1014}
.site-header .nav .nav-alerts{background:#FFFFFF}
.site-header .nav .nav-alerts[aria-current]{background:#FFFFFF;text-decoration:none}
.site-header .nav .nav-book{background:#E4F229}
.m-book{background:#E4F229!important;color:#1A1014!important;border:2.5px solid #1A1014!important;box-shadow:0 5px 0 #1A1014!important}
@media (min-width:601px) and (max-width:1180px){.site-header .nav{gap:8px 14px;font-size:15px}.site-header .nav .btn{padding:8px 13px;font-size:14px;min-height:40px}}
/* homepage: alerts button beside "Want these at your party?" */
.foot-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.alert-cta{background:#FFFFFF;color:#1A1014}
@media (max-width:600px){.today-foot{flex-direction:column;align-items:stretch;gap:12px}.foot-btns{flex-direction:column;align-items:stretch}.foot-btns .btn{justify-content:center;text-align:center}.alert-cta{font-size:15px}}

/* flavour alerts page */
.al-band{background:#FFE4EA;padding:40px 0 80px}
.al-card{background:#fff;border:3px solid #1A1014;border-radius:32px;box-shadow:0 8px 0 #1A1014;padding:36px 40px;max-width:900px;margin:0 auto}
.al-kick{display:inline-block;background:#E4F229;border:2.5px solid #1A1014;border-radius:999px;padding:6px 14px;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 3px 0 #1A1014;transform:rotate(-2deg)}
.al-h{font-size:clamp(34px,4.4vw,52px);line-height:1;margin:18px 0 10px}
.al-lead{font-size:18px;color:#5C4650;max-width:40rem;margin:0 0 28px}
.al-step{font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;display:flex;align-items:center;gap:10px}
.al-step i{font-style:normal;width:28px;height:28px;border-radius:50%;background:#1A1014;color:#E4F229;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none}
.al-search-wrap{max-width:560px}
.al-search{position:relative;display:block}
.al-search input{width:100%;min-height:58px;padding:0 20px 0 52px;border:2.5px solid #1A1014;border-radius:999px;font:inherit;font-size:17px;font-weight:600;background:#fff;box-sizing:border-box;color:#1A1014}
.al-search input:focus{outline:3px solid #FE4871;outline-offset:2px}
.al-mag{position:absolute;left:20px;top:19px;width:20px;height:20px;border:3px solid #1A1014;border-radius:50%;box-sizing:border-box;pointer-events:none}
.al-mag:after{content:"";position:absolute;width:3px;height:9px;background:#1A1014;right:-5px;bottom:-8px;transform:rotate(-45deg);border-radius:2px}
.al-drop{margin-top:10px;background:#fff;border:2.5px solid #1A1014;border-radius:24px;box-shadow:0 6px 0 #1A1014;padding:8px}
.al-drop[hidden]{display:none}
.al-opt{display:flex;width:100%;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;font:inherit;font-weight:700;font-size:16px;background:none;border:0;text-align:left;cursor:pointer;color:#1A1014}
.al-opt.hl,.al-opt:hover{background:#FFE4EA}
.al-dot{width:28px;height:28px;border-radius:50%;border:2px solid #1A1014;flex:none;box-sizing:border-box}
.al-nm{flex:1;min-width:0}
.al-nm mark{background:none;color:#FE4871;font-weight:900}
.al-t{margin-left:auto;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;border:1.5px solid #1A1014;background:#fff;flex:none}
.al-t.v{background:#2E7D2C;color:#fff}
.al-none{margin:0;padding:10px 12px;font-size:15px;color:#5C4650}
.al-none a{color:#1A1014;font-weight:800}
.al-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.al-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 8px 7px 12px;border-radius:999px;border:2.5px solid #1A1014;background:#C3EBD3;font-weight:800;font-size:15px;box-shadow:0 3px 0 #1A1014}
.al-chip .al-dot{width:16px;height:16px;border-width:1.5px}
.al-x{width:24px;height:24px;border-radius:50%;background:#1A1014;color:#fff;border:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;padding:0}
.al-hint{font-size:14px;color:#5C4650;margin:6px 0 28px}
.al-hint a{color:#1A1014;font-weight:800}
#al-count{font-weight:800;color:#1A1014;margin-right:6px}
.al-where{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.al-where button{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;border:2.5px solid #1A1014;font:inherit;font-weight:700;background:#fff;box-shadow:0 3px 0 #1A1014;cursor:pointer;color:#1A1014}
.al-where button[aria-pressed="true"]{background:#E4F229}
.al-where button[aria-pressed="true"]::before{content:"✓"}
.al-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;max-width:620px}
.al-row input{flex:1;min-width:240px;min-height:56px;padding:0 20px;border:2.5px solid #1A1014;border-radius:999px;font:inherit;font-size:17px;box-sizing:border-box;color:#1A1014}
.al-row input:focus{outline:3px solid #FE4871;outline-offset:2px}
.al-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:999px;border:2.5px solid #1A1014;background:#FE4871;color:#FFFFFF;font:inherit;font-weight:800;font-size:17px;box-shadow:0 4px 0 #1A1014;white-space:nowrap;cursor:pointer;text-decoration:none}
.al-btn:hover{transform:translateY(-1px);box-shadow:0 6px 0 #1A1014;color:#fff}
.al-btn:disabled{opacity:.6;cursor:wait}
.al-btn-white{background:#fff;color:#1A1014}.al-btn-white:hover{color:#1A1014}
.al-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 6px;font-size:15px;cursor:pointer;max-width:620px}
.al-consent input{width:22px;height:22px;margin:0;accent-color:#FE4871;flex:none}
.al-msg{margin:10px 0 0;padding:10px 16px;border-radius:16px;background:#FFE4EA;border:2px solid #C8174A;color:#C8174A;font-weight:700;font-size:15px;max-width:620px}
.al-msg[hidden]{display:none}
.al-fine{font-size:13px;color:#5C4650;margin:10px 0 0}
.al-fine a{color:inherit;font-weight:700}
.al-card p{margin-top:0}.al-card .al-step{margin-top:0}.al-consent input{margin:1px 0 0!important;padding:0!important;min-height:0!important}.al-consent span{line-height:1.4}
#al-form{display:block}
#al-form[hidden],.al-done[hidden],#al-unsub-q[hidden],#al-unsub-done[hidden]{display:none}
.al-t.now{background:#C3EBD3}
.al-now-note{margin:4px 0 10px;padding:10px 14px;border-radius:16px;background:#C3EBD3;border:2px solid #1A1014;font-weight:700;font-size:15px;max-width:620px}
.al-now-note[hidden]{display:none}
.al-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.al-done p{display:flex;gap:12px;flex-wrap:wrap}
.al-band + .site-footer .wave-top,body.page-alerts .site-footer .wave-top{background:#FFE4EA}
@media (max-width:600px){.al-band{padding:20px 0 48px}.al-card{padding:24px 20px;border-radius:26px}.al-lead{font-size:16px}.al-row .al-btn,.al-done .al-btn{width:100%}.al-row input{min-width:0;width:100%}}
/* flavour alerts badge: bell icon on the left, like the other section badges */
.al-kick{display:inline-flex;align-items:center;gap:8px}
.al-kick::before{content:"";flex:none;width:1.15em;height:1.15em;background:#1A1014;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a1.6 1.6 0 0 1 1.6 1.6v.5A6.6 6.6 0 0 1 18.6 10.6v3.6l1.9 2.6a1 1 0 0 1-.8 1.6H4.3a1 1 0 0 1-.8-1.6l1.9-2.6v-3.6a6.6 6.6 0 0 1 5-6.5v-.5A1.6 1.6 0 0 1 12 2zm-2.8 17.4h5.6a2.8 2.8 0 0 1-5.6 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a1.6 1.6 0 0 1 1.6 1.6v.5A6.6 6.6 0 0 1 18.6 10.6v3.6l1.9 2.6a1 1 0 0 1-.8 1.6H4.3a1 1 0 0 1-.8-1.6l1.9-2.6v-3.6a6.6 6.6 0 0 1 5-6.5v-.5A1.6 1.6 0 0 1 12 2zm-2.8 17.4h5.6a2.8 2.8 0 0 1-5.6 0z'/%3E%3C/svg%3E") center/contain no-repeat;transform-origin:50% 10%;animation:alring 3s ease-in-out infinite}
@keyframes alring{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(14deg)}80%{transform:rotate(-12deg)}85%{transform:rotate(8deg)}90%{transform:rotate(-5deg)}}
@media (prefers-reduced-motion:reduce){.al-kick::before{animation:none}}
/* phones: if a flavour name is too long for the 2-across cards, give every card a bit more inner room */
.m-home .flavour-grid.roomy,.flavour-grid.roomy{gap:14px 8px!important}
.flavour-grid.roomy .card{padding-left:3px!important;padding-right:3px!important}
/* flavour names are never broken mid-word; widen-cards.js makes room instead */
/* phone menu: in-between spacing, no arrows */
@media (max-width:600px){
  .m-menu{gap:14px;padding-top:14px}
  .m-menu-logo{height:56px}
  .m-links a{padding:11px 4px;font-size:26px;line-height:1.15}
  .m-links a::after{content:none}
  .m-book{min-height:56px;font-size:19px}
  .m-info{font-size:15px;line-height:1.5}
}
