:root{--red:#b51f2b;--deep-red:#850d18;--ink:#171212;--cream:#f5f0e8;--muted:#756965;--line:#ddd2c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:66px}body{background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;margin:0}a{color:inherit;text-decoration:none}.skip-link{background:#fff;color:var(--deep-red);left:12px;padding:10px 14px;position:fixed;top:-60px;z-index:50}.skip-link:focus{top:12px}.hero{background:radial-gradient(circle at 72% 14%,#dc4952 0,var(--red) 35%,var(--deep-red) 100%);color:#fff;min-height:min(540px,68vh);overflow:hidden;padding:clamp(22px,5vw,56px) max(22px,calc((100% - 960px)/2));position:relative;text-align:center}.hero:after{border:1px solid rgba(255,255,255,.18);border-radius:50%;content:"";height:min(560px,90vw);left:50%;position:absolute;top:54%;transform:translate(-50%,-50%);width:min(560px,90vw)}.brand,.hero>:not(.brand)::selection{position:relative;z-index:1}.brand{display:inline-block}.brand img{height:102px;object-fit:contain;width:88px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:19px 0 10px;position:relative;text-transform:uppercase;z-index:1}.hero h1{font:700 clamp(50px,13vw,105px)/.88 "Oswald",sans-serif;letter-spacing:.5px;position:relative;text-transform:uppercase;z-index:1}.hero h1 em,.ice-cream h2 em{color:#f1c9a8;font-style:normal}.hero-copy{font-size:clamp(14px,2.5vw,17px);margin:20px auto 25px;position:relative;z-index:1}.open-hours{align-items:center;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.34);display:inline-flex;flex-wrap:wrap;font-size:11px;gap:10px;justify-content:center;letter-spacing:.5px;padding:10px 15px;position:relative;text-transform:uppercase;z-index:1}.open-hours strong{font-size:12px}.category-nav{background:#201919;box-shadow:0 3px 12px rgba(0,0,0,.13);display:flex;gap:4px;overflow-x:auto;padding:10px max(14px,calc((100% - 960px)/2));position:sticky;scrollbar-width:none;top:0;z-index:10}.category-nav::-webkit-scrollbar{display:none}.category-nav a{border:1px solid transparent;color:#fff;flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.4px;padding:10px 13px;text-transform:uppercase}.category-nav a:focus-visible,.category-nav a:hover{border-color:rgba(255,255,255,.65)}.menu-section{padding:clamp(46px,8vw,88px) max(22px,calc((100% - 960px)/2))}.menu-section--dark{background:var(--ink);color:#fff}.section-heading{align-items:flex-start;display:flex;gap:16px;margin-bottom:25px}.section-heading>span{color:var(--red);font-size:11px;font-weight:700;letter-spacing:1px;padding-top:8px}.menu-section--dark .section-heading>span{color:#ee6971}.section-heading p{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:5px;text-transform:uppercase}.menu-section--dark .section-heading p{color:#bbb0aa}.section-heading h2,.ice-cream h2{font:600 clamp(32px,7vw,55px)/.95 "Oswald",sans-serif;letter-spacing:.2px;text-transform:uppercase}.product-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.menu-section--dark .product-grid{border-top-color:#514646}.product{align-items:baseline;border-bottom:1px solid var(--line);display:flex;gap:8px;justify-content:space-between;min-height:63px;padding:14px 15px 14px 0}.product:nth-child(odd){border-right:1px solid var(--line);padding-right:18px}.product:nth-child(even){padding-left:18px}.menu-section--dark .product{border-color:#514646}.product h3{font-size:clamp(12px,2.2vw,14px);font-weight:600;line-height:1.35}.product p{color:var(--red);flex:0 0 auto;font:600 clamp(15px,2.6vw,18px) "Oswald",sans-serif}.menu-section--dark .product p{color:#f2d2b6}.ice-cream{background:linear-gradient(135deg,#a41422,#6d0811);color:#fff;padding:clamp(46px,8vw,86px) max(22px,calc((100% - 960px)/2))}.ice-cream-copy{max-width:560px}.ice-cream-copy .eyebrow{color:#f1c9a8;margin:0 0 12px}.ice-cream-copy>p:last-child{font-size:14px;line-height:1.65;margin-top:20px;max-width:440px}.ice-cream-prices{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:32px 0 22px;max-width:600px}.ice-cream-prices div{background:#fff7eb;color:var(--deep-red);display:flex;flex-direction:column;padding:18px}.ice-cream-prices span{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.ice-cream-prices strong{font:600 clamp(29px,7vw,43px) "Oswald",sans-serif;margin-top:3px}.flavours{display:flex;flex-wrap:wrap;gap:7px;max-width:730px}.flavours span{border:1px solid rgba(255,255,255,.45);font-size:11px;font-weight:600;padding:8px 10px}.price-note{align-items:center;background:#e8ded3;color:#4f4440;display:flex;font-size:12px;gap:10px 22px;justify-content:center;line-height:1.5;padding:20px max(22px,calc((100% - 960px)/2));text-align:center}.price-note strong{color:var(--deep-red)}footer{background:#191313;color:#fff;display:flex;flex-wrap:wrap;font-size:12px;justify-content:center;line-height:1.5;padding:30px 20px 60px;text-align:center}footer a{border-right:1px solid rgba(255,255,255,.3);padding:0 20px}footer a:last-child{border:0}footer a:hover{color:#f1c9a8}.back-to-top{align-items:center;background:var(--red);border:1px solid #fff;border-radius:50%;bottom:16px;color:#fff;display:flex;font-size:20px;height:42px;justify-content:center;position:fixed;right:16px;width:42px}.back-to-top:hover{background:var(--deep-red)}@media(max-width:600px){.hero{min-height:490px}.brand img{height:90px;width:76px}.category-nav{gap:0}.category-nav a{padding:9px 11px}.product-grid{grid-template-columns:1fr}.product,.product:nth-child(odd),.product:nth-child(even){border-right:0;padding-left:0;padding-right:0}.ice-cream-prices{grid-template-columns:1fr;max-width:none}footer{align-items:center;flex-direction:column;gap:14px}footer a{border:0;padding:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
