/* A neighbourhood ice-cream shop: printed menu, heritage lettering, original brand colours. */
:root{--ink:#173967;--blue:#254d82;--muted:#5e6570;--line:#d9d3c6;--paper:#fffdf7;--soft:#f4efdf;--warm:#f2d565;--red:#a42d2b;--yellow:#f4d363}
body{background:var(--paper);color:var(--ink)}
h1,h2,.section-title h3,.brand>span,.service-title strong,.history-year,.timeline-year{font-family:'Frank Ruhl Libre',Georgia,serif;letter-spacing:-.025em}
.wrap{max-width:1260px}.header{background:var(--paper);border-bottom:1px solid var(--ink)}.header-inner{max-width:1260px;padding-block:12px}.brand img{width:72px;height:72px;border-radius:50%}.brand>span{font-size:28px;font-weight:800}.brand small{font-family:Heebo,Arial,sans-serif;font-size:12px;letter-spacing:0}.header nav{gap:30px}.header nav a{font-weight:500}.header nav a:hover{color:var(--red)}.bag-button{border:1px solid var(--ink);background:transparent;border-radius:4px;box-shadow:3px 3px 0 #17396713}#cart-count{background:var(--red)}
.hero{grid-template-columns:1fr 1fr;gap:70px;padding-block:60px 70px;align-items:center}.heritage-kicker{color:var(--red);font-size:14px;font-weight:600;display:flex;align-items:center;gap:14px;letter-spacing:.03em}.heritage-kicker:before{content:'';width:34px;height:2px;background:var(--red)}.hero h1{font-size:clamp(52px,6.6vw,88px);font-weight:800;line-height:1.06;margin:27px 0 24px;letter-spacing:-.045em}.hero h1 em{font-style:normal;color:var(--red)}.hero-copy p{font-size:17px;line-height:1.9;max-width:390px;color:var(--ink);margin-bottom:26px}.hero-photo{height:480px;border-radius:48% 48% 5px 5px;box-shadow:12px 12px 0 var(--yellow);border:1px solid var(--ink);background:var(--yellow)}.hero-photo>img{object-position:47% 50%;height:100%}.hero-photo-caption{background:var(--ink);padding:14px 22px;letter-spacing:0}.hero-photo-caption span:first-child{font-family:'Frank Ruhl Libre',Georgia,serif;font-size:22px;font-weight:700}.hero-photo-caption span:last-child{font-size:12px}.hero-meta{gap:18px;font-size:13px;margin-top:28px}.hero-meta span+span{border-color:var(--line)}
.button{border-radius:3px;font-size:15px;font-weight:600;padding:13px 25px;min-height:48px}.primary{background:var(--red);color:white}.primary:hover{background:#832421}.outline{border-color:var(--ink);color:var(--ink)}.outline:hover{background:var(--soft)}.hero .primary{box-shadow:4px 4px 0 var(--yellow)}.eyebrow{color:var(--red);font-size:14px;letter-spacing:0}
.service-strip{background:var(--ink);color:var(--paper);padding:28px 36px;border:0;border-radius:3px;max-width:1180px;margin-inline:auto;gap:25px}.service-title strong{font-size:27px;font-weight:700;line-height:1.3}.service-title div>span{color:#e1e7ec;font-size:14px;margin-top:6px}.line-icon{border:1px solid #fff7;background:transparent;color:var(--yellow);width:44px;height:44px}.order-actions>span{color:#e1e7ec;font-size:13px}.service-strip .primary{background:var(--yellow);color:var(--ink)}.service-strip .primary:hover{background:#ffe69a}.service-strip .outline{border-color:#fff9;color:white}.service-strip .outline:hover{background:#ffffff15}.service-action{color:white}
.catalog{padding-block:78px 68px}.catalog-heading{align-items:end;margin-bottom:32px}.catalog-heading h2{font-size:51px;font-weight:800;margin-top:8px}.search{width:295px;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:12px 3px}.search input{font-size:15px}.catalog-layout{display:block}.category-tabs{gap:34px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:0 3px;margin-bottom:40px}.category-tabs button{font-size:16px;padding:16px 0;color:var(--ink);border-bottom-width:3px}.category-tabs button.active{color:var(--red);border-color:var(--red);font-weight:700}.product-section{margin-bottom:52px}.section-title{gap:18px;margin-bottom:12px}.section-title h3{font-size:35px;font-weight:700;color:var(--red)}.section-title span{font-size:13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.product-card{border:0;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;background:transparent;box-shadow:none}.product-card:hover{border-color:var(--ink);box-shadow:none}.product-card>button{display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;align-items:center;padding:23px 0;text-align:right}.product-image{width:140px;height:140px;aspect-ratio:1;border-radius:50%;border:1px solid #d1c7b4;background:var(--soft)}.product-image img{object-fit:cover}.product-body{padding:0}.product-body h4{font-family:'Frank Ruhl Libre',Georgia,serif;font-weight:700;font-size:26px;line-height:1.2;margin-bottom:8px}.product-description{font-size:14px;min-height:0;line-height:1.65;margin-bottom:14px;-webkit-line-clamp:3}.product-bottom{gap:12px}.price{font-size:17px;font-weight:600}.price small{font-size:13px}.add-circle{width:auto;min-width:62px;height:32px;padding:5px 10px;border:0;border-bottom:1px solid var(--red);border-radius:0;color:var(--red);font-size:14px;line-height:1.4;font-weight:500}.product-card:hover .add-circle{background:var(--red);border-color:var(--red);color:white}.allergens{border-top:1px solid var(--ink);padding-top:20px;font-size:14px}.allergens summary{font-size:15px}
.cart-panel{display:none}.cart-panel.mobile-open{display:block;position:fixed;top:0;bottom:0;left:0;width:430px;max-width:94vw;z-index:40;overflow-y:auto;border-radius:0;padding:26px;background:var(--paper);box-shadow:0 0 45px #17396735;border:0;border-top:5px solid var(--red)}.mobile-close{display:grid}.cart-head h2{font-size:28px;font-weight:700}.cart-help,.cart-note,.cart-details,.empty-cart span{font-size:14px}.cart-line h3{font-size:17px}.cart-panel .button{font-size:15px}.pickup-location{background:var(--soft);border-radius:3px}.pickup-location span{font-size:13px}.cart-overlay{background:#102e54a6}.empty-cart p{font-size:16px}.edit-item{font-size:14px}.cart-line .price{font-size:16px}.cart-line-top{gap:14px}.cart-line-bottom{gap:18px}.stepper{background:var(--paper)}.icon-button{background:var(--paper);border-color:var(--line)}.active-order{background:var(--yellow)}
.history{padding:60px 48px;background:var(--ink);color:var(--paper);border:0;border-radius:3px;max-width:1180px;margin-bottom:65px}.history-intro{grid-template-columns:.7fr 1.3fr;gap:60px}.history-year{font-size:122px;font-weight:800;letter-spacing:-.055em;color:var(--yellow)}.history-year span{color:var(--paper);font-family:Heebo,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0}.history .eyebrow{color:var(--yellow)}.history-intro h2{font-size:44px;font-weight:700;line-height:1.15;margin:13px 0 24px}.history-intro p{color:#f0f0e7;font-size:16px;line-height:1.9}.history .text-link{color:var(--yellow);border-color:var(--yellow)}.history-timeline{gap:38px;margin-top:50px}.history-timeline li{border-color:#fff5}.timeline-year{color:var(--yellow);font-size:29px;font-weight:700}.history-timeline h3{color:white;font-size:19px}.history-timeline p,.history-source{color:#f0f0e7;font-size:14px}.history-source{margin-top:32px;font-size:13px}
.visit{background:#f4efdf;border-color:var(--line);padding:55px 0}.visit h2{font-size:46px;font-weight:700;line-height:1.1}.visit h3{font-family:'Frank Ruhl Libre',Georgia,serif;font-size:27px;font-weight:700}.visit p,.hours>div{font-size:15px}.contact-block img{border:1px solid #d3c5a3;width:115px;height:115px;background:white}.location-map{border-radius:3px;border-color:#b8b4a4}.map-placeholder{background:var(--paper)}footer{font-size:13px;padding-block:28px}footer span:first-child{font-weight:700;color:var(--red)}.footer-links button{font-size:13px}.back-to-top,.accessibility-button{border-color:var(--ink);box-shadow:0 3px 0 #17396720}.back-to-top{background:var(--paper)}.accessibility-button{background:var(--ink)}
dialog{background:var(--paper);border-radius:5px;border-top:5px solid var(--red)}dialog::backdrop{background:#102e548f}.item-intro h2,.checkout-content h2,.handoff-content h2{font-size:34px;font-weight:700}.item-intro p{font-size:15px}.option-row{background:var(--paper);border-radius:3px;border-color:#cfc6b4}.option-row.selected{background:#f8efcd;border-color:#9c7a22}.option-name{font-size:14px}.option-hint{font-size:14px}.option-price{font-size:13px}.required-badge{background:var(--soft);color:var(--ink);font-size:12px}.item-actions{background:var(--paper)}.item-notes textarea{background:#fff}.item-notes p{font-size:13px}.summary-line small{font-size:14px}.cookie-banner{background:var(--paper);border-color:var(--ink);border-radius:4px}.cookie-banner h2{font-family:Heebo,Arial,sans-serif;font-size:19px}.accessibility-controls button{border-radius:3px}.mobile-cart-bar:not([hidden]){background:var(--red);border-radius:3px}.toast{background:var(--ink);border-radius:3px}
@media(max-width:1259px){.service-strip,.history{margin-inline:28px}.hero{gap:45px}.hero-photo{height:430px}.product-grid{gap:0 30px}}
@media(max-width:1000px){.hero{gap:32px}.hero h1{font-size:66px}.hero-photo{height:400px}.service-title strong{font-size:23px}.service-strip{padding:26px}.product-card>button{grid-template-columns:115px minmax(0,1fr);gap:18px}.product-image{width:115px;height:115px}.product-body h4{font-size:24px}.history-intro{gap:34px}.history-intro h2{font-size:38px}}
@media(max-width:850px){.header-inner{padding-top:10px;padding-bottom:0}.header nav{gap:4px;font-size:14px;border-color:var(--line)}.header nav a{font-weight:500}.brand>span{font-size:25px}.brand img{width:58px;height:58px}.hero{padding-top:40px;padding-bottom:45px}.hero h1{font-size:57px}.hero-photo{height:340px}.hero-copy p{font-size:16px}.hero-meta{flex-direction:row;align-items:center;gap:10px;font-size:12px}.hero-meta span+span{border-right:1px solid var(--line);padding-right:10px}.service-strip{display:block}.service-action{align-items:flex-start;margin-top:20px;padding-top:0;border:0}.service-title strong{font-size:26px}.order-actions>span{font-size:13px}.catalog{padding-block:50px}.catalog-heading h2{font-size:43px}.product-grid{gap:0 24px}.product-card>button{grid-template-columns:95px minmax(0,1fr);gap:16px}.product-image{width:95px;height:95px}.product-body h4{font-size:23px}.product-description{font-size:14px}.history{padding:40px 30px}.history-intro{grid-template-columns:1fr 1.4fr;gap:26px}.history-year{font-size:98px}.history-intro h2{font-size:35px}.history-timeline{gap:22px}.history-timeline h3{font-size:17px}.history-timeline p{font-size:14px}}
@media(max-width:600px){.header-inner{padding-inline:18px;gap:6px 12px}.brand{gap:9px}.brand img{width:52px;height:52px}.brand>span{font-size:24px}.brand small{font-size:11px;margin-top:1px}.header nav{font-size:14px}.header nav a{min-height:44px;padding:7px 1px}.hero{grid-template-columns:1fr;gap:30px;padding-top:29px;padding-bottom:39px}.hero h1{font-size:58px;margin:18px 0 17px;line-height:1.02}.heritage-kicker{font-size:13px;gap:10px}.heritage-kicker:before{width:24px}.hero-copy p{font-size:16px;line-height:1.7;margin-bottom:20px;max-width:320px}.hero .button{font-size:15px}.hero-meta{margin-top:21px;gap:13px;font-size:12px}.hero-photo{height:290px;aspect-ratio:auto;border-radius:46% 46% 3px 3px;margin-left:8px;box-shadow:8px 8px 0 var(--yellow)}.hero-photo>img{object-position:50% 46%}.hero-photo-caption{padding:10px 17px}.hero-photo-caption span:first-child{font-size:21px}.hero-photo-caption span:last-child{font-size:12px}.service-strip{margin-inline:20px;padding:23px 20px}.service-title{gap:12px;align-items:flex-start}.service-title strong{font-size:24px;line-height:1.25}.line-icon{width:35px;height:35px;flex-shrink:0}.service-title div>span{font-size:13px}.service-action{margin-top:19px}.order-actions .wolt-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}.order-actions .wolt-buttons .button{font-size:14px;white-space:normal;padding:10px 9px;line-height:1.5}.catalog{padding-top:43px;padding-bottom:40px}.catalog-heading h2{font-size:42px}.catalog-heading .eyebrow{font-size:13px}.search{width:100%;margin-top:21px}.category-tabs{gap:23px;margin-bottom:28px}.category-tabs button{font-size:15px;padding:13px 0}.section-title h3{font-size:31px}.section-title span{font-size:13px}.product-grid{grid-template-columns:1fr;gap:0}.product-card>button{grid-template-columns:105px minmax(0,1fr);gap:20px;padding:20px 0;min-height:148px}.product-image{width:105px;height:105px}.product-body h4{font-size:26px;margin-bottom:7px}.product-description{font-size:14px;min-height:0;margin-bottom:11px}.product-body{padding:0}.price{font-size:17px}.add-circle{font-size:14px;min-width:62px;height:32px}.product-section{margin-bottom:34px}.history{margin-inline:20px;padding:35px 24px;margin-bottom:40px}.history-intro{grid-template-columns:1fr;gap:30px}.history-year{text-align:right;font-size:95px;line-height:.9}.history-year span{font-size:13px;margin-top:15px}.history-intro h2{font-size:35px;line-height:1.16}.history-intro p{font-size:15px}.history-intro .text-link{font-size:13px;white-space:normal}.history-timeline{grid-template-columns:1fr;gap:25px;margin-top:35px}.history-timeline h3{font-size:19px}.history-timeline p{font-size:15px}.history-source{font-size:13px}.visit{padding:36px 0}.visit h2{font-size:38px}.visit h2 br{display:block}.visit-grid{gap:30px}.visit h3{font-size:27px}.contact-block{display:none}.cart-panel.mobile-open{padding:24px 20px}.cart-head h2{font-size:28px}.item-intro h2,.checkout-content h2{font-size:30px}.option-name{font-size:14px}.option-price{font-size:12px}.cookie-banner p{font-size:14px}.cookie-actions .button{font-size:14px}.item-actions .button{font-size:14px}.allergens{font-size:14px}}
@media(max-width:360px){.hero h1{font-size:51px}.product-card>button{grid-template-columns:88px minmax(0,1fr);gap:15px}.product-image{width:88px;height:88px}.product-body h4{font-size:23px}.service-strip{padding:20px 16px}.history{padding:32px 20px}.history-intro h2{font-size:31px}}
/* Accessibility preferences remain authoritative over the visual theme. */
.access-contrast{--ink:#000;--blue:#00356b;--red:#8c1c1c;--muted:#222;--paper:#fff;--line:#555}.access-contrast .history,.access-contrast .service-strip{background:#000;color:#fff}.access-contrast .history p,.access-contrast .history .eyebrow,.access-contrast .history .text-link,.access-contrast .history-year,.access-contrast .history-year span,.access-contrast .timeline-year,.access-contrast .service-strip span{color:#fff!important}.access-contrast .service-strip .primary{background:#fff;color:#000}.access-contrast .hero-copy p{color:#000}.access-contrast .hero-photo{box-shadow:none}.access-contrast .primary{background:#000;color:white}
