/* Shared brand shell and seven deliberately different page compositions. */
:root{--cream:#fff6e8;--cream2:#f8ebd5;--ink:#2a1a12;--muted:#7a6555;--pink:#e84568;--blush:#ffe1e8;--plum:#3b2470;--display:"Anton","Impact","Arial Narrow Bold",sans-serif;--body:"DM Sans","Helvetica Neue",Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 var(--body)}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit;color:inherit}a{color:inherit}figure,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--plum);outline-offset:5px;border-radius:5px}main:focus{outline:0}h1,h2,h3{font-weight:400}h1,h2,h3,p,a{overflow-wrap:break-word}.gut{padding-inline:max(24px,env(safe-area-inset-left,0px)) max(24px,env(safe-area-inset-right,0px))}.wrap{max-width:1240px;margin-inline:auto}.kick,.eyebrow{display:block;font:700 11px/1.5 var(--body);text-transform:uppercase;letter-spacing:.15em}.kick{color:var(--pink)}.made{display:inline-flex;align-items:center;gap:10px;font:700 10px/1.4 var(--body);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.flag{width:19px;height:19px;flex:none;border-radius:50%;background:linear-gradient(90deg,#008751 0 33.3%,white 33.3% 66.6%,#008751 66.6%);box-shadow:0 0 0 1px #e2d3bc}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:16px 24px;border:2px solid transparent;border-radius:99px;text-decoration:none;font:700 14px/1.3 var(--body);cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:var(--cream)}.btn-pink{background:var(--pink);color:white}.btn-line{border-color:currentColor;background:transparent}.text-link{display:inline-flex;gap:30px;align-items:center;font:400 clamp(28px,3.7vw,50px)/1.2 var(--display);text-transform:uppercase;text-decoration:none}.text-link span{color:var(--pink)}.skip-link{position:fixed;left:20px;top:12px;translate:0 -160%;z-index:100;background:var(--ink);color:white;padding:12px 18px;border-radius:9px}.skip-link:focus{translate:0}
/* Shared navigation is ordinary multi-page navigation. No client router. */
.nav{position:fixed;z-index:50;inset:0 0 auto;background:rgba(255,246,232,.96);border-bottom:1px solid #2a1a1210}.nav .wrap{display:flex;align-items:center;gap:20px;padding-block:10px;min-height:76px}.nav .logo img{height:56px;width:auto}.nav .links{display:flex;align-items:center;gap:3px;margin-left:auto}.nav .links a{display:block;font-size:13px;font-weight:700;text-decoration:none;padding:10px 13px;border-radius:99px;white-space:nowrap}.nav .links a:hover{background:#2a1a1209}.nav .links a[aria-current=page]{background:#3b247010;box-shadow:inset 0 -2px var(--plum)}.nav .links a.cta{background:var(--ink);color:var(--cream);margin-left:8px}.menu{display:none;margin-left:auto;border:0;background:var(--ink);color:var(--cream);border-radius:99px;padding:12px 20px;min-height:44px;font-weight:700;cursor:pointer}
.site-footer{background:#2b1a55;color:var(--cream);padding-block:44px 28px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-logo{height:74px;width:auto}.site-footer .made{color:#d9cef2}.site-footer nav{display:flex;gap:12px 28px;flex-wrap:wrap;margin-block:28px 36px}.site-footer nav a{font-size:13px;text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid #ffffff22;padding-top:22px}.footer-bottom small{font-size:11px;color:#d9cef2}.footer-bottom>a{font-size:13px;text-decoration:none}
.page-top{padding-top:144px;padding-bottom:64px}.display{font:400 clamp(60px,8.4vw,122px)/.97 var(--display);text-transform:uppercase;letter-spacing:-.025em;margin:26px 0 0;max-width:15ch}.display em,h2 em{font-style:normal;color:var(--pink)}.intro-copy{font-size:clamp(16px,1.45vw,20px);line-height:1.65;max-width:52ch;margin-top:28px;color:var(--muted)}.intro-line{display:flex;gap:24px;align-items:center;justify-content:space-between}.section-heading{margin-bottom:34px}.section-heading h2{font:400 clamp(36px,5vw,64px)/1 var(--display);text-transform:uppercase;margin:14px 0 0}.page-outro{padding-block:48px 64px;background:var(--cream2)}.page-outro .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.page-outro p{max-width:47ch}.page-outro .kick{width:100%}
/* A short homepage gateway, rather than the full site's content. */
.explore{padding-block:78px 88px;scroll-margin-top:78px}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.explore-card{position:relative;display:block;min-height:218px;padding:26px 28px 54px;border:1px solid #2a1a121c;border-radius:16px;text-decoration:none;background:#fffaf1;transition:border-color .2s,transform .2s}.explore-card:hover{border-color:var(--pink);transform:translateY(-3px)}.explore-card h3{font:400 clamp(28px,2.7vw,38px)/1.12 var(--display);text-transform:uppercase;margin:27px 0 0;max-width:18ch}.explore-card .eyebrow{font-size:9px;color:var(--muted)}.card-arrow{position:absolute;bottom:20px;right:26px;font-size:26px;color:var(--pink)}.explore-flavours{background:#f7e6bf}.explore-events{background:#ffe1e8}.explore-business{background:#eee8f5}.explore-find h3{font:700 19px/1.45 var(--body)}
/* Editorial brand story. */
.about-intro{padding-bottom:76px}.about-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center;margin-top:48px}.about-feature img{border-radius:18px;aspect-ratio:3/2;object-fit:cover}.about-feature figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:14px}.story-opening{font-size:18px;line-height:1.85;color:var(--muted)}.story-section{padding-block:76px 90px;background:var(--plum);color:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:86px}.story-grid h2{font:400 clamp(31px,3.8vw,52px)/1.08 var(--display);text-transform:uppercase;margin:0 0 25px}.story-grid h2 em{color:#ff9db3}.story-grid p{color:#e6def3;line-height:1.9}
/* A dedicated flavour collection with five stable deep links. */
.flavour-intro{padding-bottom:48px}.flavour-nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.flavour-nav a{font-size:12px;font-weight:700;border:1px solid #2a1a1240;border-radius:99px;padding:11px 16px;text-decoration:none;min-height:44px}.flavour-nav a:hover{background:var(--ink);color:white}.flavour-panel{padding-block:64px;scroll-margin-top:76px}.flavour-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1100px;min-height:440px}.product-art{position:relative;display:grid;place-items:center;isolation:isolate}.product-art img{width:min(340px,80%);height:auto;filter:drop-shadow(0 24px 18px #2a1a1220);position:relative;z-index:1}.product-halo{position:absolute;width:94%;max-width:420px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.13}.product-copy h2{font:400 clamp(46px,6vw,84px)/1 var(--display);text-transform:uppercase;letter-spacing:-.02em;margin:18px 0 24px;overflow-wrap:anywhere}.product-copy p{font-size:19px;line-height:1.65;max-width:29ch}.sizes{display:flex;gap:10px;margin-top:29px}.sizes span{font-size:11px;font-weight:700;border:1px solid currentColor;border-radius:99px;padding:8px 14px;letter-spacing:.05em}.flavour-vanilla{background:#f7e6bf;color:#4a3410}.flavour-strawberry{background:#f7a4b5;color:#4e1a2b}.flavour-banana{background:#ffd23f;color:#4a3600}.flavour-stracciatella{background:#eee7de;color:#2e211b}.flavour-chocolate{background:#5a3020;color:#fff6e8}.flavour-panel:nth-of-type(odd) .product-art{order:2}
/* The cart leads; the secondary event experiences follow. */
.events-intro{background:#ffe1e8}.events-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.events-hero .display{font-size:clamp(56px,6.9vw,100px)}.events-hero .btn{margin-top:30px}.cart-portrait{background:#ffc2d0;border-radius:48% 48% 16px 16px;overflow:hidden;max-width:440px;justify-self:end}.cart-portrait img{width:100%;height:auto}.event-details{padding-block:68px 82px}.event-cart-copy{display:grid;grid-template-columns:.6fr 1fr 1.2fr;gap:30px;align-items:start;border-bottom:1px solid #2a1a1220;padding-bottom:44px;margin-bottom:44px}.event-cart-copy h2,.event-card h2{font:400 clamp(30px,3.4vw,46px)/1.08 var(--display);text-transform:uppercase;margin:0 0 18px}.event-cart-copy p,.event-card p{color:var(--muted)}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.event-card{border:1px solid #2a1a1218;border-radius:20px;overflow:hidden;background:#fffaf2}.event-card>div:last-child{padding:28px 32px 34px}.event-card .kick{margin-bottom:15px}.event-art{height:275px;display:grid;place-items:center;padding:32px;background:#f7e6bf}.event-art .wheelwrap{width:225px;max-width:100%;aspect-ratio:1}.event-art .wheelwrap svg{width:100%;height:auto}.photo-card .event-art{background:#ffd4df}.event-art>img{max-height:100%;width:85%;object-fit:contain}
/* Business information is typographic, not invented packaging. */
.business-intro{background:#eee8f5}.business-intro .display em{color:var(--plum)}.business-lead{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:8px}.business-lead .btn{flex-shrink:0}.business-formats{padding-block:76px 88px}.business-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}.business-art{position:sticky;top:116px}.business-art img{border-radius:18px}.business-art .made{margin-top:24px}.format-list article{border-top:1px solid #2a1a1224;padding:24px 0 32px}.format-list .eyebrow{color:var(--muted);font-size:9px}.format-list h2{font:400 clamp(30px,3.2vw,44px)/1.1 var(--display);text-transform:uppercase;margin:17px 0}.format-list p{color:var(--muted);max-width:40ch}
/* A location page without fabricated store inventory. */
.find-intro{background:#e8f1eb}.find-intro .display em{color:#29735f}.find-content{padding-block:56px 76px}.mapbox{border:1px solid #d9d1be;background:#fbf0dc;border-radius:20px;overflow:hidden}.mapbox svg{display:block;width:100%;height:auto}.waterlabel{font:700 12px var(--body);fill:#6996a2;letter-spacing:.12em}.maplabel{font:700 12px var(--body);fill:var(--ink);paint-order:stroke;stroke:#fff6e8;stroke-width:4px;stroke-linejoin:round}.area-directory{display:grid;grid-template-columns:1fr 3fr;gap:36px;margin-top:38px;align-items:start}.area-directory h2{font:400 42px/1 var(--display);text-transform:uppercase;margin:0}.area-directory ul{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px}.area-directory li{font-size:14px;border-bottom:1px solid #2a1a1218;padding-bottom:10px}
/* Honest local-only inquiry form. */
.contact-intro{background:var(--plum);color:var(--cream);padding-bottom:52px}.contact-intro .display em{color:#ff9db3}.contact-intro .kick{color:#ff9db3}.contact-intro .intro-copy{color:#e6def3}.contact-content{padding-block:48px 76px}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:start}.preview-notice{font-size:12px;color:var(--muted);margin-bottom:16px}.contact-content form{border:1px solid #2a1a1220;background:#fffaf1;border-radius:20px;padding:30px}.contact-content #formBody{gap:20px!important}.chips{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.chips legend,.field label{font:700 10px/1.5 var(--body);text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px}.chips label{position:relative;display:inline-flex;cursor:pointer}.chips input{position:absolute;width:1px;height:1px;opacity:0}.chips label span{display:block;border:1px solid #b6a997;border-radius:99px;padding:10px 14px;font-size:11px;font-weight:700;min-height:40px}.chips input:checked+span{background:var(--plum);border-color:var(--plum);color:white}.chips input:focus-visible+span{outline:3px solid var(--pink);outline-offset:3px}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block}.field input,.field textarea{width:100%;border:1px solid #b6a997;border-radius:8px;padding:12px;background:transparent;min-height:48px;font-size:16px}.field textarea{min-height:132px;resize:vertical}.field [aria-invalid=true]{border-color:#b32245}.err{font-size:13px;color:#a91e41}.err:empty,.form-note:empty{display:none}.form-note{font-size:14px;border-left:3px solid var(--plum);padding:8px 14px;background:#eee8f5}.ways{display:grid;gap:0}.way{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:14px;padding:24px 0;border-bottom:1px solid #2a1a1220}.way svg{width:22px;height:22px;fill:var(--plum)}.way .t{min-width:0}.way small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.way b{font-size:clamp(13px,1.3vw,17px);overflow-wrap:anywhere}.way button,.way a.go{border:1px solid #2a1a1228;padding:8px 12px;border-radius:99px;font-size:11px;font-weight:700;text-decoration:none;background:transparent;cursor:pointer;min-height:40px;display:grid;place-items:center}.detail-note{font-size:10px;color:var(--muted);max-width:8ch}
@media(max-width:1100px){.nav .links a{padding-inline:10px;font-size:12px}.about-feature,.business-grid,.contact-grid{gap:36px}.flavour-layout{gap:44px}.events-hero{gap:36px}.business-lead{align-items:start;flex-direction:column;gap:25px}}
@media(max-width:900px){html{scroll-padding-top:76px}.nav .wrap{min-height:68px;padding-block:8px}.nav .logo img{height:48px}.menu{display:block}.nav .links{position:absolute;inset:100% 0 auto;display:flex;flex-direction:column;align-items:stretch;background:var(--cream);padding:12px 24px 18px;max-height:calc(100svh - 68px);overflow-y:auto;box-shadow:0 12px 20px #2a1a1215;margin:0}.nav .links a{font-size:16px;padding:12px 16px}.nav .links a.cta{margin:4px 0 0}.page-top{padding-top:116px;padding-bottom:44px}.display{font-size:clamp(48px,10vw,84px)}.intro-copy{font-size:16px;margin-top:24px}.explore-grid{grid-template-columns:1fr 1fr}.explore-card{min-height:205px;padding:24px 24px 50px}.explore-card h3{font-size:30px}.about-feature{grid-template-columns:1fr;margin-top:32px;gap:30px}.about-feature figure{max-width:680px}.story-opening{font-size:17px;max-width:62ch}.story-grid{gap:40px}.story-grid h2{font-size:34px}.events-hero{grid-template-columns:1.05fr .95fr;gap:24px}.events-hero .display{font-size:clamp(46px,7.1vw,70px)}.event-cart-copy{grid-template-columns:1fr 1fr}.event-cart-copy .kick{grid-column:1/-1}.business-grid{gap:36px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact-grid aside{max-width:650px}.way b{font-size:16px}.flavour-layout{gap:28px;min-height:350px}.product-copy h2{font-size:clamp(36px,6.7vw,60px)}.product-copy p{font-size:16px}.product-art img{width:88%}}
@media(max-width:600px){.gut{padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}.page-top{padding-top:108px}.display{font-size:clamp(44px,12.7vw,76px);margin-top:22px}.intro-line{align-items:start;flex-direction:column;gap:14px}.intro-line .made{font-size:8px}.explore{padding-block:48px}.explore-grid{gap:12px}.explore-card{padding:20px 18px 48px;min-height:210px;border-radius:12px}.explore-card h3{font-size:clamp(22px,5.6vw,30px);line-height:1.15}.explore-card .eyebrow{font-size:8px;letter-spacing:.08em}.explore-find h3{font:700 14px/1.5 var(--body)}.card-arrow{right:18px;bottom:15px;font-size:22px}.section-heading h2{font-size:38px}.story-section{padding-block:48px 56px}.story-grid{grid-template-columns:1fr;gap:42px}.story-grid h2{font-size:34px}.story-grid p{font-size:16px}.about-intro{padding-bottom:44px}.about-feature{gap:25px}.story-opening{font-size:16px}.flavour-intro{padding-bottom:32px}.flavour-nav{margin-top:26px;gap:7px}.flavour-nav a{font-size:11px;padding:10px 13px}.flavour-panel{padding-block:35px 42px;scroll-margin-top:68px}.flavour-layout{grid-template-columns:1fr;gap:24px;min-height:0}.product-art{min-height:240px}.product-art img{width:min(240px,70%)}.product-halo{width:86%;max-width:270px}.flavour-panel:nth-of-type(odd) .product-art{order:0}.product-copy{padding-top:4px}.product-copy h2{font-size:clamp(38px,11.8vw,60px);margin:12px 0 18px;overflow-wrap:normal}.product-copy p{max-width:35ch}.sizes{margin-top:22px}.events-hero{grid-template-columns:1fr;gap:36px}.events-hero .display{font-size:clamp(44px,11.9vw,68px)}.cart-portrait{justify-self:center;max-width:330px}.events-hero .btn{margin-top:24px}.event-details{padding-block:42px}.event-cart-copy{grid-template-columns:1fr;gap:18px;padding-bottom:30px;margin-bottom:30px}.event-cart-copy h2{margin:0}.event-grid{grid-template-columns:1fr;gap:20px}.event-art{height:245px}.event-card>div:last-child{padding:25px}.business-grid{grid-template-columns:1fr;gap:40px}.business-formats{padding-block:44px}.business-art{position:relative;top:auto}.business-lead .btn{padding-inline:18px;font-size:12px}.format-list h2{font-size:34px}.find-content{padding-block:32px 48px}.mapbox{border-radius:12px}.mapbox svg{min-height:220px}.area-directory{grid-template-columns:1fr;gap:24px;margin-top:30px}.area-directory h2{font-size:34px}.area-directory ul{grid-template-columns:1fr 1fr;gap:12px 16px}.area-directory li{font-size:13px}.contact-content{padding-block:30px 48px}.contact-content form{padding:20px;border-radius:14px}.row{grid-template-columns:1fr;gap:20px}.chips label span{font-size:10px;padding:9px 12px}.way{gap:10px;grid-template-columns:20px minmax(0,1fr) auto}.way b{font-size:13px}.detail-note{font-size:9px}.way button,.way a.go{padding-inline:10px}.page-outro{padding-block:32px 42px}.page-outro .wrap{align-items:start;flex-direction:column;gap:22px}.text-link{font-size:32px;gap:18px}.footer-top{gap:18px;align-items:start}.footer-logo{height:62px}.site-footer .made{font-size:8px;max-width:16ch;line-height:1.6;margin-top:12px}.site-footer .flag{width:14px;height:14px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}.footer-bottom{align-items:start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Without scripts, navigation stays visible in normal document flow. */
@media(max-width:900px){html:not([data-js]) .nav{position:relative}html:not([data-js]) .nav .wrap{flex-wrap:wrap}html:not([data-js]) .nav .menu{display:none}html:not([data-js]) .nav .links{position:static;display:grid;grid-template-columns:1fr 1fr;width:100%;max-height:none;padding:8px 0;box-shadow:none}html:not([data-js]) .nav .links a{font-size:13px}html:not([data-js]) .nav .links a.cta{margin:0}}
