:root{--ink:#102c25;--green:#a4f247;--paper:#fafaf5;--muted:#54645b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #398521;outline-offset:5px}img{max-width:100%;display:block}.skip{position:fixed;top:-100px;background:white;z-index:99}.skip:focus{top:0}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 4%;background:#fafaf5ee;backdrop-filter:blur(15px);position:sticky;top:0;z-index:10;border-bottom:1px solid #102c2518}.brand{display:flex;align-items:center;gap:12px;font-size:24px;line-height:1.1;font-weight:800}.brand img{width:58px;height:58px;border-radius:50%}.brand b{color:#27751f}.brand small{display:block;font-size:10px;letter-spacing:.18em;margin-top:8px}nav{display:flex;gap:30px;font-size:14px;font-weight:600}.call{background:var(--ink);color:white;border-radius:99px;padding:12px 22px;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:730px;padding:30px 4% 55px;gap:30px;align-items:center}.eyebrow{font-weight:700;font-size:12px;letter-spacing:.14em;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;line-height:.93}h1{font-size:clamp(78px,8.8vw,140px);letter-spacing:-.02em;margin-bottom:28px}em{font-style:normal;color:#328127}h1 em{display:block}h2{font-size:clamp(60px,6vw,90px);margin-bottom:20px}.intro{font-size:19px;line-height:1.6;max-width:520px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.button{padding:16px 24px;border-radius:99px;display:inline-flex;align-items:center;gap:32px;font-size:14px;font-weight:700;transition:transform .2s}.button:hover{transform:translateY(-3px)}.green{background:var(--green)}.dark{background:var(--ink);color:white}.text-link{font-size:15px;font-weight:700;border-bottom:1px solid;padding:5px 0}.hours{margin-top:35px;display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center}.hours>span{font-size:12px;letter-spacing:.1em;max-width:80px;line-height:1.4}.hours strong{font-family:'Barlow Condensed';font-size:42px;line-height:1}.hours i{font-style:normal;color:#358626}.hours small{grid-column:2;font-size:12px;margin-top:5px}.hero-visual{position:relative;align-self:stretch;min-height:620px;margin:15px 0}.hero-food{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:180px 25px 25px 25px}.food-label{position:absolute;top:35px;right:25px;background:var(--green);padding:25px;transform:rotate(7deg);font-family:'Barlow Condensed';font-size:35px;font-weight:800;line-height:1;border-radius:50%;width:170px;height:170px;display:flex;flex-direction:column;justify-content:center;text-align:center}.food-label em{color:var(--ink)}.hero-logo{position:absolute;bottom:22px;left:-28px;border-radius:50%;width:155px;box-shadow:0 10px 30px #0003;animation:bob 6s ease-in-out infinite}.ticker{background:var(--ink);color:var(--green);overflow:hidden;padding:17px 0;transform:rotate(-1deg);font:700 26px 'Barlow Condensed';letter-spacing:.06em}.ticker>div{white-space:nowrap;width:max-content;animation:marquee 35s linear infinite}.ticker span{margin:0 30px;color:#fff}.wrap{width:min(1320px,92%);margin:auto}.menu{padding:110px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading p:last-child{color:var(--muted)}.food-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.food-card{background:white;border-radius:22px;overflow:hidden;border:1px solid #102c251a}.photo{height:360px;position:relative;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.food-card:hover img{transform:scale(1.04)}.pill{position:absolute;bottom:20px;left:20px;background:white;padding:8px 14px;border-radius:99px;font-size:12px;font-weight:700}.card-body{padding:30px}.card-body h3{font-size:44px;margin-bottom:18px}.card-body p{color:var(--muted);max-width:490px;min-height:52px}.card-body a{display:flex;justify-content:space-between;border-top:1px solid #102c2520;padding-top:18px;font-weight:600;font-size:14px}.desserts{background:var(--green);display:grid;grid-template-columns:1fr 1fr}.dessert-photo img{width:100%;height:100%;min-height:640px;object-fit:cover}.dessert-copy{padding:65px 9%;align-self:center}.dessert-copy h2 em{color:#fff}.dessert-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.dessert-tabs button{border:1px solid #102c2540;border-radius:99px;background:transparent;padding:11px 17px;font-size:14px}.dessert-tabs button[aria-pressed=true]{background:var(--ink);color:white}.dessert-copy h3{font-size:30px;margin-bottom:12px}#dessert-info{min-height:145px}.dessert-copy .button{font-size:13px}.visit{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}address{font-style:normal;font-size:22px;line-height:1.4;margin:25px 0}.visit-hours strong{display:block;font-size:20px}.map{height:440px;border-radius:25px;overflow:hidden;border:1px solid #102c2520}.map iframe{width:100%;height:100%;border:0}footer{background:var(--ink);color:white;padding:40px 4%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}.footer-brand{font:800 32px 'Barlow Condensed'}.footer-brand span{display:block;font:600 10px 'DM Sans';letter-spacing:.15em;color:var(--green)}footer p{margin:0;color:#c0d0c6}footer button{background:transparent;color:#c0d0c6;border:1px solid #ffffff45;border-radius:99px;padding:10px;font-size:12px}.mobile-bar{display:none}@keyframes bob{50%{translate:0 -12px}}@keyframes marquee{to{transform:translateX(-50%)}}.no-motion *{animation:none!important;scroll-behavior:auto!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media(max-width:1000px){nav{gap:15px}.hero{min-height:600px}.hero-visual{min-height:530px}.hero h1{font-size:90px}.food-label{width:140px;height:140px;font-size:28px}.dessert-copy{padding:45px 7%}.visit{gap:30px}}@media(max-width:700px){header{padding:12px 5%;gap:12px}.brand{font-size:19px}.brand img{width:43px;height:43px}.brand small{font-size:8px}nav{display:none}.call{font-size:12px;padding:10px 14px}.hero{grid-template-columns:1fr;padding:35px 5% 45px;gap:28px}.hero h1{font-size:clamp(78px,18vw,115px)}.hero .eyebrow{font-size:10px}.hero-visual{height:420px;min-height:0;margin:0 0 0 15px}.hero-food{border-radius:110px 20px 20px 20px}.hero-logo{width:120px;left:-15px;bottom:15px}.food-label{top:20px;right:15px}.hours{margin-top:28px}.intro{font-size:17px}.actions{gap:18px}.button{padding:14px 20px}.section-heading{display:block}.menu{padding:65px 0}.food-grid{grid-template-columns:1fr}.photo{height:280px}.card-body{padding:24px}.card-body h3{font-size:39px}.desserts{grid-template-columns:1fr}.dessert-photo img{height:350px;min-height:0}.dessert-copy{padding:40px 6%}.visit{grid-template-columns:1fr;padding:65px 0}.map{height:330px}footer{flex-wrap:wrap;padding:35px 5% 105px}.mobile-bar{display:flex;position:fixed;bottom:12px;left:5%;right:5%;background:var(--ink);border:1px solid #ffffff40;border-radius:99px;padding:7px;z-index:20;box-shadow:0 10px 30px #0003}.mobile-bar a{flex:1;text-align:center;padding:10px;color:white;font-size:13px}.mobile-bar a:last-child{background:var(--green);border-radius:99px;color:var(--ink);font-weight:700}}

.category-card{position:relative}.category-card .card-body a:after{content:"";position:absolute;inset:0;z-index:2}.category-card:focus-within{outline:3px solid #398521;outline-offset:4px}.menu-page{padding-top:35px;padding-bottom:65px}.menu-heading{padding:45px 0}.menu-heading h1{font-size:clamp(65px,8vw,110px)}.menu-heading nav{display:flex;flex-wrap:wrap}.dish-section{margin:15px 0 65px}.dish-section h2{font-size:48px}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dish-card{background:white;border:1px solid #102c251a;border-radius:22px;overflow:hidden}.dish-card img{width:100%;height:260px;object-fit:contain;background:#faf8f4}.dish-card>div{padding:24px}.dish-card h3{font-size:30px;line-height:1.1;margin:0}.dish-card p{margin:12px 0 0;color:var(--muted)}.menu-contact{padding:35px;background:#eaf4df;border-radius:24px}.menu-contact h2{font-size:45px}@media(max-width:900px){.dish-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.dish-grid{grid-template-columns:1fr}.dish-card img{height:270px}.menu-heading{padding:35px 0}.menu-heading nav{display:flex}.menu-contact{padding:24px}}

.dish-price{display:flex;align-items:center;gap:16px;font:800 44px/1.1 'Barlow Condensed',sans-serif;color:#267320;margin:18px 0}.dish-price small{font:500 12px/1.4 'DM Sans',sans-serif;color:var(--muted)}.menu-price{float:right;background:var(--green);border-radius:24px;padding:25px 35px;display:flex;flex-direction:column;text-align:center;margin:0 0 25px 25px}.menu-price strong{font:800 76px/1 'Barlow Condensed',sans-serif}.menu-price span{font-size:14px;margin-top:10px}.loyalty-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px;background:var(--ink);color:white;border-radius:26px;margin:0 0 65px}.loyalty-banner h2{font-size:56px}.loyalty-banner h2 em{color:var(--green)}.loyalty-banner p:last-child{margin-bottom:0}.loyalty-banner .eyebrow{color:var(--green);margin-bottom:18px}.loyalty-stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;flex-shrink:0}.loyalty-stamps span{display:flex;align-items:center;justify-content:center;text-align:center;border:2px solid #ffffff65;border-radius:50%;width:62px;height:62px;font-weight:700}.loyalty-stamps .gift{background:var(--green);border-color:var(--green);color:var(--ink);font-size:12px;line-height:1.2}@media(max-width:750px){.loyalty-banner{flex-direction:column;align-items:flex-start;padding:28px;gap:25px}.loyalty-stamps{gap:8px;width:100%;max-width:360px}.loyalty-stamps span{width:100%;height:auto;aspect-ratio:1}.menu-price{float:none;width:fit-content;margin:0 0 30px;padding:20px 28px}.menu-price strong{font-size:60px}.loyalty-banner h2{font-size:48px}}

.loyalty-logo{width:160px;height:160px;flex:0 0 160px;object-fit:contain;border-radius:50%;box-shadow:0 8px 26px #0003}.loyalty-banner{gap:24px}@media(min-width:751px) and (max-width:1100px){.loyalty-logo{width:110px;height:110px;flex-basis:110px}.loyalty-stamps span{width:44px;height:44px}.loyalty-stamps{gap:7px}}@media(max-width:750px){.loyalty-logo{align-self:center;width:140px;height:140px;flex-basis:auto}.loyalty-stamps{align-self:center}}

.loyalty-logo{width:240px;height:240px;flex-basis:240px}.loyalty-banner{padding:32px;gap:24px}@media(min-width:751px) and (max-width:1100px){.loyalty-logo{width:180px;height:180px;flex-basis:180px}.loyalty-banner{flex-wrap:wrap}.loyalty-stamps{margin-left:auto}}@media(max-width:750px){.loyalty-logo{width:min(260px,100%);height:auto;aspect-ratio:1;flex-basis:auto}}

.dessert-prices{margin:20px 0 28px}.dessert-prices>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #102c2530}.dessert-prices dt{font-weight:600}.dessert-prices dd{margin:0;font:800 32px/1.1 "Barlow Condensed",sans-serif;white-space:nowrap}

.catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0 70px}.catalog-intro h2{font-size:60px}@media(max-width:750px){.catalog-intro{flex-direction:column;align-items:flex-start}header nav{gap:16px}}

.points-rewards{min-width:230px;max-width:340px}.points-rewards>div{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #ffffff35;padding:10px 0}.points-rewards strong{font:800 36px "Barlow Condensed",sans-serif;color:var(--green)}.points-rewards small{display:block;line-height:1.5;margin-top:14px;color:#d4dfd7;font-size:11px}@media(max-width:750px){.points-rewards{width:100%;max-width:none;min-width:0}}

/* Prominent, fully clickable catalogue entrance. */
.catalog-intro{display:block;padding:0 0 70px}.catalog-banner{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px;padding:48px;border-radius:28px;background:#e7f5ce;border:1px solid #c5dfad;overflow:hidden;transition:box-shadow .2s,transform .2s}.catalog-banner:hover{box-shadow:0 16px 40px #102c2518;transform:translateY(-3px)}.catalog-banner .eyebrow{margin-bottom:20px}.catalog-banner h2{font-size:clamp(44px,5vw,72px)}.catalog-banner-copy>p:not(.eyebrow){font-size:18px}.catalog-banner-cta{display:inline-flex;align-items:center;gap:25px;background:var(--ink);color:white;padding:18px 24px;border-radius:50px;font-size:17px;font-weight:800}.catalog-banner-cta>span{font-size:28px;line-height:1}.catalog-banner-products{display:flex;align-items:center;justify-content:center;padding:20px 0}.catalog-banner-products>span{background:white;border-radius:22px;padding:15px;width:38%;flex-shrink:0;box-shadow:0 12px 28px #102c2515;transform:rotate(-9deg)}.catalog-banner-products>span:nth-child(2){transform:translateY(-18px) rotate(3deg);z-index:1}.catalog-banner-products>span:nth-child(3){transform:rotate(12deg)}.catalog-banner-products img{width:100%;aspect-ratio:1;object-fit:contain}@media(max-width:750px){.catalog-banner{grid-template-columns:1fr;padding:28px 24px;gap:12px}.catalog-banner-products{max-width:340px;width:90%;margin:auto}.catalog-banner-cta{font-size:14px;gap:15px;padding:16px 20px}.catalog-banner-copy>p:not(.eyebrow){font-size:16px}}@media(prefers-reduced-motion:reduce){.catalog-banner{transition:none}.catalog-banner:hover{transform:none}}

.catalog-banner-photo{min-width:0}.catalog-banner-photo img{width:100%;height:auto;border-radius:20px;box-shadow:0 12px 32px #102c2518}.catalog-banner{grid-template-columns:1fr 1.2fr}@media(max-width:750px){.catalog-banner{grid-template-columns:1fr}.catalog-banner-photo{margin-top:10px}}

nav.ticker{display:block}.ticker>.ticker-track{display:flex;animation-duration:95s}.ticker-group{display:flex;align-items:center;flex-shrink:0}.ticker-group a{display:inline-block;padding:8px 4px}.ticker-group a:hover{text-decoration:underline;text-underline-offset:6px;color:white}.ticker:hover>.ticker-track,.ticker:focus-within>.ticker-track{animation-play-state:paused}.ticker-group a:focus-visible{outline-color:white;outline-offset:-1px}@media(prefers-reduced-motion:reduce){nav.ticker{overflow-x:auto}.ticker>.ticker-track{animation:none}.ticker-group[aria-hidden="true"]{display:none}}.no-motion nav.ticker{overflow-x:auto}.no-motion .ticker-group[aria-hidden="true"]{display:none}

/* Keep decorative animations inside the viewport without disabling zoom. */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none}
.hero>*,.desserts>*,.visit>*,.catalog-banner>*{min-width:0}

.shop-gallery{padding:105px 0}.gallery-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-template-rows:320px 320px;gap:18px}.gallery-grid figure{position:relative;margin:0;border-radius:24px;overflow:hidden;background:#e7eee5}.gallery-grid .gallery-feature{grid-row:1/3}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{position:absolute;left:16px;bottom:16px;padding:8px 13px;border-radius:99px;background:#fafaf5e8;backdrop-filter:blur(8px);font-size:12px;font-weight:700}@media(max-width:750px){.shop-gallery{padding:65px 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:390px 230px 230px}.gallery-grid .gallery-feature{grid-column:1/3;grid-row:auto}.gallery-grid figure:last-child{grid-column:1/3}.gallery-grid figcaption{font-size:11px}.gallery-grid figure:hover img{transform:none}}
