:root{
  --red:#e72428;
  --red-dark:#9f1117;
  --yellow:#ffc433;
  --yellow-soft:#fff3bf;
  --blue:#0f76e8;
  --green:#2b8f3a;
  --jamaica-green:#0b7a3b;
  --jamaica-gold:#f7c928;
  --jamaica-black:#14120d;
  --accent-olive:#8fa232;
  --accent-honey:#f1ca55;
  --accent-umber:#7c6417;
  --uber-green:#06c167;
  --ink:#11110f;
  --muted:#665f55;
  --paper:#fff8e8;
  --white:#fff;
  --line:#eadfca;
  --shadow:0 16px 36px rgba(124,100,23,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  background:var(--paper);
  background-attachment:fixed;
  color:var(--ink);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
.wrap{width:min(1160px,92vw);margin:auto}
.top{position:sticky;top:0;z-index:40;background:rgba(255,250,240,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,18,13,.12)}
.top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(20,18,13,.34);box-shadow:none;pointer-events:none}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}
.brand img{width:54px;height:54px;border-radius:16px;object-fit:cover;background:white;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.links{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:750}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border-radius:14px;border:1px solid var(--ink);background:var(--ink);color:white;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.14)}
.btn.primary{background:#11110f;border-color:#11110f;color:white;box-shadow:0 10px 22px rgba(17,17,15,.14)}
.btn.primary:hover{background:#242018;box-shadow:0 12px 26px rgba(17,17,15,.18)}
.btn.yellow{background:#f1ca55;border-color:#e4bd4b;color:var(--ink)}
.btn.uber{background:var(--uber-green);border-color:var(--uber-green);color:var(--ink)}
.btn.light{background:white;color:var(--ink);border-color:rgba(0,0,0,.1);box-shadow:none}
.menuBtn{display:none;position:relative;width:46px;height:46px;padding:0;border-radius:13px;border:1px solid rgba(0,0,0,.12);background:white;box-shadow:0 8px 18px rgba(0,0,0,.06)}
.menuBtn span{position:absolute;left:50%;top:50%;display:block;width:20px;height:2.5px;margin:0;border-radius:999px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .18s ease,opacity .14s ease,width .18s ease}
.menuBtn span:nth-child(1){transform:translate(-50%,calc(-50% - 6px))}
.menuBtn span:nth-child(3){transform:translate(-50%,calc(-50% + 6px))}
.menuBtn[aria-expanded="true"] span:nth-child(1){width:22px;transform:translate(-50%,-50%) rotate(45deg)}
.menuBtn[aria-expanded="true"] span:nth-child(2){opacity:0;transform:translate(-50%,-50%) scaleX(.35)}
.menuBtn[aria-expanded="true"] span:nth-child(3){width:22px;transform:translate(-50%,-50%) rotate(-45deg)}
.menuBtn:focus-visible{outline:3px solid rgba(255,196,51,.8);outline-offset:3px}
.mobileMenu{display:none}
.hero{padding:58px 0 44px}
.heroGrid{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:center}
h1{max-width:720px;font-size:clamp(46px,7.4vw,84px);line-height:.96;letter-spacing:0}
.lead{max-width:640px;margin-top:20px;font-size:20px;line-height:1.5;color:var(--muted)}
.heroActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.heroMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;color:#413b33;font-weight:800;font-size:14px}
.heroMeta span:not(:last-child):after{content:"/";margin-left:8px;color:#b09c79}
.heroPhoto{position:relative;min-height:575px;border-radius:28px;overflow:hidden;background:#1a1711;box-shadow:var(--shadow);display:grid;place-items:center;padding:32px}
.heroPhoto:before{content:"";position:absolute;inset:18px;border:2px solid rgba(255,255,255,.62);border-radius:28px}
.heroPhoto img{position:relative;z-index:1;width:min(430px,82%);filter:drop-shadow(0 22px 34px rgba(0,0,0,.26))}
.heroPhoto.drinkSlideshow{display:block;padding:0}
.heroPhoto.drinkSlideshow:after{content:"";position:absolute;inset:0;z-index:1;background:rgba(20,18,13,.08);pointer-events:none}
.heroPhoto.drinkSlideshow:before{z-index:2;pointer-events:none}
.drinkSlides{position:absolute;inset:0;z-index:1}
.drinkSlides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;opacity:0;transition:opacity .7s ease}
.drinkSlides img.active{opacity:1}
.heroBadge{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;padding:18px;border-radius:18px;background:rgba(20,18,13,.92);color:white;border-top:3px solid var(--accent-honey)}
.heroBadge span{display:block;color:var(--yellow);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.heroBadge strong{display:block;margin-top:6px;font-size:clamp(24px,3vw,34px);line-height:1}
.section{padding:66px 0}
@supports(content-visibility:auto){
  .section,.footer{content-visibility:auto;contain-intrinsic-size:1px 760px}
}
.section.soft{padding-top:42px}
.sectionHead{max-width:760px;margin-bottom:26px}
.sectionHead h2{max-width:680px;font-size:clamp(34px,5vw,58px);line-height:1}
.sectionHead p{margin-top:12px;max-width:650px;color:var(--muted);font-size:18px;line-height:1.5}
.storyPanel,.featurePanel{position:relative;overflow:hidden;display:grid;grid-template-columns:.88fr 1.12fr;gap:26px;align-items:stretch;padding:18px;border:1px solid var(--line);border-radius:24px;background:#fffdf7;box-shadow:var(--shadow)}
.storyPanel:before,.featurePanel:before,.ingredientPanel:before,.finalCta:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#d8bd61;opacity:.7}
.storyImage,.featureImage{overflow:hidden;border-radius:24px;background:#111;min-height:430px}
.storyImage img,.featureImage img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center 38%}
.storyImage.logoStage img{object-fit:contain;padding:32px;background:#fff7df}
.storyCopy,.featureCopy{display:flex;flex-direction:column;justify-content:center;padding:32px 30px 32px 4px}
.eyebrow{display:block;margin-bottom:10px;color:#6d7d23;font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.storyCopy h2,.featureCopy h2{font-size:clamp(32px,4vw,52px);line-height:1.03;margin-bottom:16px}
.storyCopy p,.featureCopy p{max-width:650px;color:var(--muted);font-size:18px;line-height:1.55}
.storyCopy p+p,.featureCopy p+p{margin-top:12px}
.featurePanel{grid-template-columns:1.05fr .95fr;background:white}
.featureImage{background:#1a1711}
.featureImage img{object-fit:cover;padding:0}
.featuredDrinkGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.featuredDrink{overflow:hidden;display:grid;grid-template-rows:auto 1fr;border-radius:14px;background:white;border:1px solid var(--line);box-shadow:0 8px 20px rgba(124,100,23,.06)}
.featuredDrink:after,.menuCard:after,.reviewCard:after,.locationCard:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#d8bd61;opacity:.55}
.featuredDrink,.menuCard,.reviewCard,.locationCard{position:relative}
.featuredDrink img{width:100%;height:300px;object-fit:cover;object-position:center 38%;background:#fffaf0;border-bottom:1px solid var(--line)}
.featuredDrink div{padding:16px;display:flex;flex-direction:column;justify-content:flex-start}
.featuredDrink h3{font-size:22px;line-height:1.05;margin-bottom:6px}
.featuredDrink p{color:var(--muted);line-height:1.4}
.ingredient-spotlight{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}
.ingredient-spotlight.loaded{opacity:1;transform:translateY(0)}
.ingredientPanel{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:34px;border-radius:20px;background:#fffdf5;border:1px solid rgba(124,100,23,.14);box-shadow:var(--shadow)}
.ingredientPanel h2{font-size:clamp(34px,5vw,56px);line-height:1;margin-bottom:12px}
.ingredientPanel h3{font-size:clamp(30px,4vw,46px);line-height:1;color:#50651c;margin-bottom:12px}
.ingredientPanel p{color:var(--muted);font-size:18px;line-height:1.5}
.ingredientStory{margin-top:12px;color:#4f4638!important;font-weight:750}
.ingredientDrinks{margin-top:14px;padding-top:14px;border-top:1px solid rgba(124,100,23,.18);font-weight:850;color:var(--ink)!important}
.ingredientPanel ul{display:grid;gap:16px;margin:0 0 24px;padding:0;list-style:none;border-left:2px solid rgba(143,162,50,.32)}
.ingredientPanel li{position:relative;padding:0 0 0 26px;background:transparent;border:0;border-radius:0;color:#26231b;font-size:18px;line-height:1.45;font-weight:850}
.ingredientPanel li:before{content:"";position:absolute;left:-8px;top:.45em;width:13px;height:13px;border-radius:10px 10px 10px 2px;background:#8fa232;transform:rotate(-35deg);box-shadow:0 0 0 4px #fffdf5}
.reviewGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.reviewCard{padding:22px;border-radius:14px;background:white;border:1px solid var(--line);box-shadow:0 8px 20px rgba(124,100,23,.05)}
.stars{color:#f0b429;font-size:18px;letter-spacing:1px;margin-bottom:10px}
.reviewCard p{color:#34302b;line-height:1.5}
.reviewCard cite{display:block;margin-top:14px;color:var(--muted);font-style:normal;font-weight:850}
.reviewCard cite a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ratingStrip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}
.ratingStrip b{font-size:24px}
.ratingStrip span{color:var(--muted);line-height:1.4}
.menuGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.menuCard{position:relative;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:20px;border-radius:14px;background:white;border:1px solid var(--line);box-shadow:0 8px 20px rgba(124,100,23,.05)}
.menuCard h3{font-size:24px;line-height:1.05}
.menuCard p{color:var(--muted);line-height:1.45}
.priceLine{margin-top:auto;color:var(--red-dark);font-weight:950}
.menuCard .btn{margin-top:4px;width:100%;min-height:44px;padding:12px 14px}
.menuCard.favorite{border:1px solid rgba(143,162,50,.42);background:#fffdf5;box-shadow:0 10px 24px rgba(124,100,23,.07)}
.menuCard.favorite h3{padding-right:80px}
.menuCard.signature{border-color:#e4bd4b;background:#fff9e5;box-shadow:0 10px 24px rgba(124,100,23,.08)}
.faqList{display:grid;gap:12px;max-width:880px}
.faqItem{border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 6px 16px rgba(124,100,23,.04);overflow:hidden}
.faqItem summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:18px 56px 18px 20px;font-size:20px;line-height:1.2;font-weight:950;cursor:pointer;list-style:none}
.faqItem summary::-webkit-details-marker{display:none}
.faqItem summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--yellow-soft);border:1px solid #f0d06a;color:var(--ink);font-size:22px;line-height:1}
.faqItem[open] summary{border-bottom:1px solid var(--line)}
.faqItem[open] summary:after{content:"-";background:var(--red);border-color:var(--red);color:white}
.faqItem summary:hover,.faqItem summary:focus-visible{background:#fff8df;outline:none}
.faqItem p{padding:18px 20px 20px;color:var(--muted);font-size:18px;line-height:1.55}
.favoriteBadge{align-self:flex-start;display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:6px;background:var(--jamaica-green);color:white;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.signature .favoriteBadge{background:var(--ink);color:var(--yellow)}
.favoriteRank{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f1ca55;border:2px solid white;color:var(--jamaica-black);font-weight:950;box-shadow:0 6px 14px rgba(0,0,0,.1)}
.favoritePills{display:flex;flex-wrap:wrap;gap:0 18px;align-content:start;padding:16px 0;background:transparent;border:0}
.favoritePills a{display:inline-flex;align-items:center;min-height:36px;padding:0;border-radius:0;border:0;background:transparent;font-weight:900;color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:rgba(124,100,23,.22);text-underline-offset:5px}
.favoritePills a:hover{color:#6d7d23;text-decoration-color:var(--accent-honey)}
.featuredMenuShowcase{position:relative;overflow:hidden;margin:0 0 34px;padding:26px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.featuredMenuHead{max-width:700px;margin-bottom:18px}
.featuredMenuHead h2{font-size:clamp(30px,4.4vw,50px);line-height:1;margin-bottom:10px}
.featuredMenuHead p{color:var(--muted);font-size:18px;line-height:1.45}
.featuredMenuRail{display:flex;gap:16px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.featuredMenuRail:hover .featuredMenuTrack{animation-play-state:paused}
.featuredMenuTrack{display:flex;flex:0 0 auto;gap:16px;min-width:max-content;animation:featured-menu-slide 46s linear infinite}
.featuredMenuCard{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:stretch;width:430px;min-height:178px;padding:12px;border-radius:14px;background:#fffdf7;border:1px solid var(--line);box-shadow:0 8px 20px rgba(124,100,23,.05)}
.featuredMenuCard img{width:132px;height:154px;border-radius:12px;object-fit:cover;object-position:center 38%;background:#fffaf0}
.featuredMenuCard div{display:flex;min-width:0;flex-direction:column;justify-content:center}
.featuredMenuCard h3{font-size:24px;line-height:1.05;margin-bottom:8px}
.featuredMenuCard p{color:var(--muted);font-size:15px;line-height:1.42}
.featuredMenuCard a{display:inline-flex;margin-top:12px;color:#6d7d23;font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@keyframes featured-menu-slide{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% - 16px))}
}
.categoryNav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.categoryNav a{padding:8px 0;border-radius:0;background:transparent;border:0;border-bottom:2px solid rgba(124,100,23,.18);font-weight:850}
.categoryNav a:hover{border-color:var(--accent-olive);color:#6d7d23}
.category{padding:44px 0;border-top:1px solid var(--line)}
.category:first-of-type{border-top:0;padding-top:12px}
.categoryTitle{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.categoryTitle h2{font-size:clamp(30px,4vw,46px);line-height:1}
.categoryTitle p{color:var(--muted);font-weight:800}
.photoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.photoGrid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--line);box-shadow:0 8px 18px rgba(124,100,23,.05)}
.locationGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.locationCard{padding:28px;border-radius:var(--radius);background:white;border:1px solid var(--line)}
.locationCard h2{font-size:clamp(30px,4vw,46px);line-height:1;margin-bottom:14px}
.locationCard p,.locationCard a{font-size:17px;line-height:1.5}
.locationCard a{font-weight:850;color:#6d7d23}
.locationHero{max-width:820px}
.locationPageGrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;align-items:stretch}
.locationInfoPanel,.mapPanel{position:relative;overflow:hidden;padding:28px;border-radius:var(--radius);background:white;border:1px solid var(--line);box-shadow:0 8px 20px rgba(124,100,23,.05)}
.locationInfoPanel:after,.mapPanel:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#d8bd61;opacity:.55}
.locationInfoPanel h2,.mapPanel h2{font-size:clamp(30px,4vw,46px);line-height:1;margin-bottom:16px}
.locationDetail{padding:16px 0;border-top:1px solid rgba(124,100,23,.16)}
.locationDetail:first-of-type{border-top:0;padding-top:0}
.locationDetail b{display:block;margin-bottom:6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#6d7d23}
.locationDetail p{color:var(--muted);font-size:17px;line-height:1.5}
.locationDetail a{font-weight:900;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.mapHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.mapHead h2{margin-bottom:0}
.mapHead a{font-weight:900;color:#6d7d23;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;white-space:nowrap}
.mapEmbed{display:block;width:100%;min-height:460px;border:0;border-radius:18px;background:#f7efd8}
.mapNote{margin-top:14px;color:var(--muted);font-size:16px;line-height:1.5}
.hours{display:grid;gap:8px;margin-top:14px}
.hoursRow{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}
.hoursRow b{color:var(--ink)}
.contactActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.finalCta{position:relative;padding:48px;border-radius:24px;background:#14120d;color:white;text-align:center;overflow:hidden}
.finalCta h2{font-size:clamp(36px,6vw,66px);line-height:1;margin-bottom:12px}
.finalCta p{max-width:660px;margin:0 auto 24px;color:#f3e9d1;font-size:18px;line-height:1.5}
.footer{position:relative;padding:52px 0 34px;background:#120d0b;color:#eadfcf;font-size:15px}
.footer:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#d8bd61}
.footerGrid{display:grid;grid-template-columns:1.25fr .9fr .85fr .95fr;gap:30px;align-items:start}
.footerBrand{display:flex;gap:16px;align-items:flex-start}
.footerBrand img{width:66px;height:66px;border-radius:16px;object-fit:cover;background:white}
.footer h2,.footer h3{color:white;margin:0}
.footer h2{font-size:24px}
.footer h3{font-size:14px;text-transform:uppercase;color:#ffc433;margin-bottom:14px}
.footer p{line-height:1.55}
.footer a{color:#fff7e8}
.footerLink{display:block;margin:10px 0}
.footer .hours{margin-top:0}
.footer .hoursRow{color:#eadfcf}
.footer .hoursRow b{color:#fff7e8}
.socialFollow{margin-top:24px}
.socialFollow h3{margin-bottom:12px!important;color:var(--red-dark);font-size:18px;text-transform:none;letter-spacing:0}
.socialFollow p{display:none}
.socialButtons{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.socialButton{display:inline-grid!important;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--red);background:var(--yellow-soft);border:1px solid #f0d06a;box-shadow:none;transition:transform .2s ease,background .2s ease,color .2s ease}
.socialButton:hover{transform:translateY(-2px);background:var(--yellow);color:var(--ink)}
.socialButton svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.socialButton.facebook svg,.socialButton.tiktok svg{fill:currentColor;stroke:none}
.footer .socialFollow{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.footer .socialFollow h3{color:var(--yellow)}
.footer .socialButton{color:var(--yellow);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.footer .socialButton:hover{background:var(--yellow);color:var(--ink)}
.footerSeo{margin-top:24px;color:#d8cbb6;line-height:1.55}
.footerCredit{margin-top:22px;text-align:center;color:#cbbfaa;font-weight:800;letter-spacing:.02em}
.footerCredit a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.footerBottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#cbbfaa}
.stickyCta{display:none}
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(17,17,15,.58)}
.modal.open{display:grid}
.modalPanel{width:min(440px,100%);padding:24px;border-radius:22px;background:white;box-shadow:var(--shadow)}
.modalPanel h2{font-size:28px;line-height:1.05;margin-bottom:8px}
.modalPanel p{color:var(--muted);line-height:1.45;margin-bottom:16px}
.modalActions{display:grid;gap:10px}
.modalClose{margin-top:12px;width:100%;border:0;background:transparent;font-weight:900;color:var(--muted);min-height:40px}

@media(max-width:960px){
  .links{display:none}
  .menuBtn{display:block}
  .mobileMenu{position:fixed;top:78px;left:14px;right:14px;z-index:50;display:grid;gap:8px;max-height:calc(100dvh - 96px);overflow:auto;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(17,17,15,.12);opacity:0;pointer-events:none;transform:translateY(-8px) scale(.985);transform-origin:top right;transition:opacity .16s ease,transform .16s ease}
  .mobileMenu.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
  .mobileMenu a{display:flex;align-items:center;min-height:48px;padding:12px 14px;border-radius:16px;font-weight:850}
  .mobileMenu a:hover,.mobileMenu a:focus-visible{background:var(--yellow-soft);outline:none}
  .mobileMenu .btn{width:100%}
  .heroGrid,.storyPanel,.featurePanel,.locationGrid,.locationPageGrid{grid-template-columns:1fr}
  .ingredientPanel{grid-template-columns:1fr}
  .heroGrid{gap:30px}
  .storyCopy,.featureCopy{padding:4px 6px 14px}
}
@media(max-width:640px){
  body{background-attachment:scroll;background-size:auto}
  .wrap{width:min(100% - 28px,1160px)}
  .nav{height:68px}
  .brand{gap:10px;font-size:16px}
  .brand img{width:44px;height:44px}
  .mobileMenu{top:72px}
  .hero{padding:30px 0 34px}
  h1{font-size:40px;line-height:1}
  .lead{margin-top:14px;font-size:17px}
  .heroActions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .heroActions .btn{width:100%}
  .heroMeta{display:block;font-size:13px;line-height:1.6}
  .heroMeta span{display:inline}
  .heroMeta span:not(:last-child):after{margin:0 7px}
  .heroPhoto{min-height:410px;border-radius:26px;padding:20px}
  .heroBadge{left:18px;right:18px;bottom:18px}
  .section{padding:42px 0}
  .sectionHead{margin-bottom:18px}
  .sectionHead h2{font-size:34px}
  .sectionHead p,.storyCopy p,.featureCopy p{font-size:16px}
  .featuredDrinkGrid{grid-template-columns:1fr}
  .featuredDrink img{height:240px}
  .featuredMenuShowcase{margin-bottom:24px;padding:22px 0 26px}
  .featuredMenuHead p{font-size:16px}
  .featuredMenuRail{margin-left:-14px;margin-right:-14px;padding-left:14px;mask-image:none;overflow-x:auto;scroll-snap-type:x mandatory}
  .featuredMenuTrack{animation:none}
  .featuredMenuTrack[aria-hidden="true"]{display:none}
  .featuredMenuCard{width:min(82vw,340px);grid-template-columns:1fr;scroll-snap-align:start}
  .featuredMenuCard img{width:100%;height:210px}
  .storyPanel,.featurePanel{padding:12px;border-radius:24px;gap:18px}
  .storyImage,.featureImage{min-height:300px;border-radius:18px}
  .storyImage img,.featureImage img{min-height:300px}
  .ingredientPanel{padding:18px;border-radius:22px;gap:18px}
  .ingredientPanel h2{font-size:34px}
  .ingredientPanel h3{font-size:30px}
  .ingredientPanel p{font-size:16px}
  .faqItem summary{min-height:58px;padding:16px 50px 16px 16px;font-size:18px}
  .faqItem summary:after{right:16px}
  .faqItem p{padding:16px;font-size:16px}
  .categoryTitle{display:block}
  .categoryTitle p{margin-top:8px}
  .favoritePills{padding:12px 0;border-radius:0}
  .favoritePills a{width:100%;justify-content:flex-start}
  .locationCard{padding:22px;border-radius:20px}
  .locationInfoPanel,.mapPanel{padding:22px;border-radius:20px}
  .mapHead{display:block}
  .mapHead a{display:inline-block;margin-top:10px;white-space:normal}
  .mapEmbed{min-height:360px;border-radius:16px}
  .contactActions{display:grid;grid-template-columns:1fr}
  .contactActions .btn{width:100%}
  .finalCta{padding:34px 18px;border-radius:26px}
  .footer{padding:38px 0 96px}
  .footerGrid{grid-template-columns:1fr;gap:28px}
  .footerBrand{display:grid;grid-template-columns:58px 1fr;gap:14px}
  .footerBrand img{width:58px;height:58px}
  .footerBottom{display:grid;gap:8px}
  .stickyCta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 14px;background:rgba(255,250,240,.96);border-top:1px solid rgba(0,0,0,.08);backdrop-filter:blur(14px)}
  .stickyCta .btn{min-height:48px;padding:12px 16px}
}
@media(prefers-reduced-motion:reduce){
  .featuredMenuTrack{animation:none}
  .featuredMenuRail{overflow-x:auto;scroll-snap-type:x mandatory}
  .featuredMenuTrack[aria-hidden="true"]{display:none}
  .featuredMenuCard{scroll-snap-align:start}
}

/* =========================================================
   Fusion Health Soul Upgrade
   Modern Caribbean wellness styling: warmer background,
   organic texture, richer buttons, softer cards, and subtle motion.
   ========================================================= */
:root{
  --paper:#fff6df;
  --cream:#fff9ec;
  --sun:#ffd76a;
  --mango:#ff9f2e;
  --citrus:#f36b21;
  --leaf:#2f8f46;
  --leaf-dark:#165f32;
  --berry:#7b3f98;
  --ink:#14120d;
  --muted:#6c6252;
  --line:rgba(124,100,23,.18);
  --shadow:0 18px 46px rgba(92,65,18,.12);
  --shadow-soft:0 10px 28px rgba(92,65,18,.08);
  --radius:26px;
}

html{background:#fff3d5}
body{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 7%,rgba(255,159,46,.20) 0 9rem,transparent 20rem),
    radial-gradient(circle at 90% 11%,rgba(47,143,70,.14) 0 8rem,transparent 22rem),
    radial-gradient(circle at 82% 55%,rgba(255,215,106,.22) 0 10rem,transparent 24rem),
    radial-gradient(circle at 12% 75%,rgba(243,107,33,.10) 0 8rem,transparent 23rem),
    linear-gradient(135deg,#fff9ea 0%,#fff1cc 52%,#fff8e8 100%);
  background-attachment:fixed;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.52;
  background-image:
    radial-gradient(circle at 20px 20px,rgba(20,18,13,.055) 1px,transparent 1.2px),
    radial-gradient(ellipse at 12% 28%,rgba(47,143,70,.10) 0 1.5rem,transparent 7rem),
    radial-gradient(ellipse at 92% 34%,rgba(247,201,40,.16) 0 2rem,transparent 8rem),
    radial-gradient(ellipse at 44% 88%,rgba(243,107,33,.08) 0 2rem,transparent 9rem);
  background-size:34px 34px,100% 100%,100% 100%,100% 100%;
  mix-blend-mode:multiply;
}

body:after{
  content:"";
  position:fixed;
  inset:auto -90px 8% auto;
  width:260px;
  height:260px;
  z-index:-1;
  pointer-events:none;
  opacity:.16;
  border-radius:44% 56% 52% 48%;
  background:radial-gradient(circle at 40% 35%,#2f8f46,#f7c928 55%,transparent 68%);
  filter:blur(28px);
  animation:fusion-float 12s ease-in-out infinite;
}

.top{
  background:rgba(255,249,236,.82);
  border-bottom:1px solid rgba(92,65,18,.13);
  box-shadow:0 8px 28px rgba(92,65,18,.06);
}
.top:after{
  background:linear-gradient(90deg,transparent,rgba(247,201,40,.75),rgba(47,143,70,.55),transparent);
  opacity:.9;
}
.brand span{letter-spacing:-.02em}
.brand img{
  border-radius:18px;
  background:#fffaf0;
  box-shadow:0 10px 24px rgba(92,65,18,.12);
}
.links a:not(.btn){position:relative}
.links a:not(.btn):after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--leaf),var(--sun));
  transition:right .22s ease;
}
.links a:not(.btn):hover:after{right:0}

.btn{
  position:relative;
  overflow:hidden;
  min-height:50px;
  padding:14px 24px;
  border-radius:999px;
  border:1px solid rgba(20,18,13,.12);
  box-shadow:0 12px 24px rgba(92,65,18,.13);
  letter-spacing:.01em;
  transform:translateZ(0);
}
.btn:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.36) 42%,transparent 70%);
  transform:translateX(-80%);
  transition:opacity .2s ease,transform .55s ease;
}
.btn:hover:before{opacity:1;transform:translateX(80%)}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(92,65,18,.17)}
.btn.primary{
  background:linear-gradient(135deg,#11110f 0%,#2b2317 58%,#4b3a18 100%);
  border-color:rgba(20,18,13,.9);
  color:#fff8e8;
}
.btn.primary:hover{background:linear-gradient(135deg,#17140e,#352916,#6d4b12)}
.btn.yellow{
  background:linear-gradient(135deg,#ffe28a 0%,#f7c928 52%,#f29d2e 100%);
  border-color:rgba(180,120,20,.22);
  color:#17140e;
}
.btn.light{
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(12px);
  border-color:rgba(124,100,23,.16);
  box-shadow:0 12px 28px rgba(92,65,18,.08);
}
.btn.uber{background:linear-gradient(135deg,#06c167,#85e39c);border-color:rgba(6,193,103,.5)}

.hero{
  position:relative;
  padding:78px 0 56px;
}
.hero:before,.hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
  filter:blur(70px);
}
.hero:before{
  width:360px;height:360px;left:max(-140px,calc((100vw - 1160px)/2 - 170px));top:28px;
  background:rgba(255,159,46,.24);
}
.hero:after{
  width:300px;height:300px;right:max(-130px,calc((100vw - 1160px)/2 - 150px));top:120px;
  background:rgba(47,143,70,.18);
}

h1{
  letter-spacing:-.055em;
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}
.lead{color:#685b47;font-size:clamp(18px,2vw,21px)}
.heroMeta span{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(124,100,23,.13);
}
.heroMeta span:not(:last-child):after{content:"";margin:0}

.heroPhoto{
  border-radius:34px;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,215,106,.42),transparent 34%),
    radial-gradient(circle at 90% 18%,rgba(47,143,70,.26),transparent 31%),
    linear-gradient(135deg,#1a1711,#2b2113 58%,#11110f);
  box-shadow:0 28px 70px rgba(64,43,12,.22);
}
.heroPhoto:before{
  inset:18px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:30px;
}
.heroPhoto img{animation:fusion-float 8s ease-in-out infinite}
.heroBadge{
  border-radius:22px;
  background:rgba(20,18,13,.78);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.12);
  border-top:3px solid var(--sun);
}

.section{position:relative}
.section:nth-of-type(even):before,
.category:nth-of-type(even):before{
  content:"";
  position:absolute;
  left:50%;top:22px;
  width:min(1040px,88vw);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(47,143,70,.22),rgba(247,201,40,.34),transparent);
}
.sectionHead h2,.categoryTitle h2,.featuredMenuHead h2,.storyCopy h2,.featureCopy h2,.ingredientPanel h2,.locationCard h2,.locationInfoPanel h2,.mapPanel h2{letter-spacing:-.04em;text-wrap:balance}
.eyebrow{
  color:#4f7c2c;
  letter-spacing:.12em;
}

.storyPanel,.featurePanel,.ingredientPanel,.locationCard,.locationInfoPanel,.mapPanel,.reviewCard,.menuCard,.featuredDrink,.featuredMenuCard,.modalPanel{
  border-color:rgba(124,100,23,.16)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,249,236,.66));
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}
.storyPanel,.featurePanel,.ingredientPanel,.finalCta{
  border-radius:30px;
}
.storyPanel:before,.featurePanel:before,.ingredientPanel:before,.finalCta:before{
  width:7px;
  background:linear-gradient(180deg,var(--leaf),var(--sun),var(--citrus));
  opacity:.88;
}
.storyPanel:after,.featurePanel:after,.ingredientPanel:after{
  content:"";
  position:absolute;
  right:-60px;bottom:-70px;
  width:190px;height:190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,215,106,.23),transparent 66%);
  pointer-events:none;
}
.storyImage,.featureImage{
  border-radius:28px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
}
.storyImage img,.featureImage img,.photoGrid img,.featuredDrink img,.featuredMenuCard img{
  transition:transform .45s ease,filter .45s ease;
}
.storyPanel:hover img,.featurePanel:hover img,.photoGrid img:hover,.featuredDrink:hover img,.featuredMenuCard:hover img{
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.02);
}

.featuredDrink,.menuCard,.reviewCard,.locationCard,.featuredMenuCard{
  border-radius:22px!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.featuredDrink:hover,.menuCard:hover,.reviewCard:hover,.locationCard:hover,.featuredMenuCard:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 42px rgba(92,65,18,.14);
  border-color:rgba(47,143,70,.24)!important;
}
.featuredDrink:after,.menuCard:after,.reviewCard:after,.locationCard:after,.locationInfoPanel:after,.mapPanel:after{
  height:3px;
  background:linear-gradient(90deg,var(--leaf),var(--sun),var(--citrus));
  opacity:.72;
}

.menuGrid{gap:18px}
.menuCard{
  background:
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,250,236,.78)),
    radial-gradient(circle at 90% 0%,rgba(255,215,106,.20),transparent 38%);
}
.menuCard h3{letter-spacing:-.025em}
.menuCard p{color:#6b604e}
.favoriteBadge{border-radius:999px;background:linear-gradient(135deg,var(--leaf),#69ad44)}
.favoriteRank{background:linear-gradient(135deg,#ffe48f,#f7c928,#ef9f2d)}
.categoryNav a{
  padding:9px 13px;
  border:1px solid rgba(124,100,23,.12);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  backdrop-filter:blur(10px);
  text-decoration:none;
}
.categoryNav a:hover{background:#fff6d8;transform:translateY(-1px)}

.featuredMenuShowcase{
  padding:32px 22px 36px;
  border:1px solid rgba(124,100,23,.14);
  border-radius:30px;
  background:rgba(255,249,236,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.featuredMenuCard{
  background:rgba(255,255,255,.76);
}
.featuredMenuCard img{border-radius:18px}

.ingredientPanel li:before{
  background:linear-gradient(135deg,var(--leaf),#8fa232);
  box-shadow:0 0 0 4px #fff8e8;
}
.finalCta{
  background:
    radial-gradient(circle at 16% 20%,rgba(255,215,106,.25),transparent 34%),
    radial-gradient(circle at 85% 0%,rgba(47,143,70,.22),transparent 35%),
    linear-gradient(135deg,#14120d,#251b10 62%,#3a2a13);
  box-shadow:0 26px 70px rgba(20,18,13,.20);
}
.finalCta:after{
  content:"";
  position:absolute;
  inset:auto -50px -70px auto;
  width:220px;height:220px;
  border-radius:50%;
  background:rgba(247,201,40,.18);
  filter:blur(24px);
}
.footer{
  background:
    radial-gradient(circle at 12% 0%,rgba(247,201,40,.16),transparent 28%),
    radial-gradient(circle at 88% 22%,rgba(47,143,70,.14),transparent 30%),
    #120d0b;
}
.footer:before{background:linear-gradient(90deg,var(--leaf),var(--sun),var(--citrus))}

.socialButton{
  background:linear-gradient(135deg,#fff4c5,#ffe082);
  color:#b21b1e;
  box-shadow:0 10px 20px rgba(92,65,18,.10);
}

.mobileMenu{
  background:rgba(255,249,236,.96);
  backdrop-filter:blur(18px);
}

@keyframes fusion-float{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-8px) rotate(.6deg)}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:640px){
  body{background-attachment:scroll}
  .hero{padding-top:48px}
  .btn{width:auto;min-height:48px;padding:13px 20px}
  .heroPhoto img{animation:none}
  .featuredMenuShowcase{padding:24px 14px}
}

/* =========================================================
   FINAL MENU CARD CLEANUP - applied after all previous styles
   This block fixes the fuzzy menu product card borders.
   ========================================================= */
body{
  background:
    radial-gradient(circle at 8% 7%,rgba(255,159,46,.10) 0 9rem,transparent 20rem),
    radial-gradient(circle at 90% 11%,rgba(47,143,70,.07) 0 8rem,transparent 22rem),
    linear-gradient(135deg,#fff9ea 0%,#fff3d8 52%,#fff8e8 100%) !important;
}
body:before{opacity:.22 !important;}
body:after{opacity:.04 !important;}

.menuGrid{gap:18px !important;}

.menuCard{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-height:100% !important;
  padding:26px !important;
  background:#ffffff !important;
  border:none !important;
  border-color:transparent !important;
  border-radius:32px !important;
  overflow:hidden !important;
  isolation:isolate !important;
  backdrop-filter:none !important;
  box-shadow:
    0 3px 10px rgba(0,0,0,.04),
    0 20px 42px rgba(255,180,60,.10) !important;
  transition:transform .25s ease,box-shadow .25s ease !important;
}

.menuCard:after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:4px !important;
  border-radius:32px 32px 0 0 !important;
  background:linear-gradient(90deg,#4CAF50 0%,#FFD54F 50%,#FF7043 100%) !important;
  opacity:1 !important;
}

.menuCard:hover{
  transform:translateY(-6px) !important;
  box-shadow:
    0 8px 18px rgba(0,0,0,.05),
    0 28px 55px rgba(255,180,60,.18) !important;
  border:none !important;
  border-color:transparent !important;
}

.menuCard.favorite,
.menuCard.signature{
  border:none !important;
  background:#ffffff !important;
}

.menuCard h3{letter-spacing:-.025em !important;}
.menuCard p{color:#6b604e !important;}

.menuCard .btn{
  margin-top:14px !important;
  width:100% !important;
  min-height:56px !important;
  border:none !important;
  border-radius:999px !important;
  background:#ffffff !important;
  color:#111 !important;
  font-size:20px !important;
  font-weight:800 !important;
  box-shadow:
    0 2px 8px rgba(0,0,0,.05),
    0 10px 24px rgba(0,0,0,.08) !important;
  transition:transform .25s ease,box-shadow .25s ease !important;
}

.menuCard .btn:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.12) !important;
}

/* =========================================================
   Organic calm pass
   Yellow-first Jamaican palette, softer shapes, quieter motion.
   ========================================================= */
:root{
  --paper:#fff5d8;
  --cream:#fffaf0;
  --sun:#f2c94c;
  --sun-soft:#ffefb4;
  --leaf:#27783b;
  --leaf-soft:#dfe9b5;
  --ink:#15130f;
  --muted:#625947;
  --line:rgba(118,91,27,.16);
  --shadow:0 14px 30px rgba(97,73,18,.08);
  --shadow-soft:0 8px 20px rgba(97,73,18,.06);
}

html{background:#fff5d8 !important}
body{
  background:
    radial-gradient(ellipse at 15% 0%,rgba(242,201,76,.18),transparent 34rem),
    radial-gradient(ellipse at 92% 18%,rgba(39,120,59,.055),transparent 30rem),
    linear-gradient(180deg,#fff8e8 0%,#fff1cc 48%,#fff8e7 100%) !important;
  background-attachment:scroll !important;
}
body:before{
  opacity:.16 !important;
  background-image:
    radial-gradient(circle at 18px 18px,rgba(91,69,20,.045) 1px,transparent 1.4px) !important;
  background-size:38px 38px !important;
  mix-blend-mode:multiply !important;
}
body:after,
.hero:before,
.hero:after,
.storyPanel:after,
.featurePanel:after,
.ingredientPanel:after,
.finalCta:after{
  display:none !important;
}

.top{
  background:rgba(255,250,238,.92) !important;
  box-shadow:0 6px 18px rgba(97,73,18,.045) !important;
}
.top:after,
.footer:before,
.featuredDrink:after,
.menuCard:after,
.reviewCard:after,
.locationCard:after,
.locationInfoPanel:after,
.mapPanel:after{
  background:#d2a92f !important;
  opacity:.42 !important;
}

.btn{
  border-radius:18px 22px 18px 24px !important;
  box-shadow:0 8px 18px rgba(97,73,18,.08) !important;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease !important;
}
.btn:before{display:none !important}
.btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 10px 22px rgba(97,73,18,.10) !important;
}
.btn.primary,
.menuCard .btn{
  background:#15130f !important;
  border-color:#15130f !important;
  color:#fff9ec !important;
}
.btn.primary:hover,
.menuCard .btn:hover{
  background:#242016 !important;
}
.btn.yellow{
  background:#f2c94c !important;
  border-color:#d8ad34 !important;
  color:#15130f !important;
}
.btn.light{
  background:#fffaf0 !important;
  border-color:rgba(118,91,27,.16) !important;
  backdrop-filter:none !important;
}

.heroPhoto,
.storyPanel,
.featurePanel,
.ingredientPanel,
.featuredMenuShowcase,
.finalCta{
  border-radius:28px 34px 26px 36px !important;
}
.heroPhoto{
  background:#18150f !important;
  box-shadow:0 16px 34px rgba(45,33,9,.14) !important;
}
.heroPhoto img{animation:none !important}
.heroBadge{
  border-radius:18px 22px 18px 24px !important;
  background:rgba(21,19,15,.84) !important;
  backdrop-filter:none !important;
}

.storyPanel,
.featurePanel,
.ingredientPanel,
.locationCard,
.locationInfoPanel,
.mapPanel,
.reviewCard,
.menuCard,
.featuredDrink,
.featuredMenuCard,
.faqItem,
.modalPanel{
  background:#fffaf0 !important;
  border:1px solid rgba(118,91,27,.14) !important;
  box-shadow:var(--shadow-soft) !important;
  backdrop-filter:none !important;
}
.storyPanel:before,
.featurePanel:before,
.ingredientPanel:before,
.finalCta:before{
  width:4px !important;
  background:#d2a92f !important;
  opacity:.58 !important;
}

.storyImage,
.featureImage,
.featuredDrink img,
.featuredMenuCard img,
.photoGrid img,
.mapEmbed{
  border-radius:20px 26px 18px 28px !important;
}
.storyImage img,
.featureImage img,
.photoGrid img,
.featuredDrink img,
.featuredMenuCard img{
  transition:filter .18s ease !important;
}
.storyPanel:hover img,
.featurePanel:hover img,
.photoGrid img:hover,
.featuredDrink:hover img,
.featuredMenuCard:hover img{
  transform:none !important;
  filter:saturate(1.03) contrast(1.01) !important;
}

.featuredDrink,
.menuCard,
.reviewCard,
.locationCard,
.featuredMenuCard{
  border-radius:20px 26px 18px 28px !important;
  transition:box-shadow .18s ease,border-color .18s ease !important;
}
.featuredDrink:hover,
.menuCard:hover,
.reviewCard:hover,
.locationCard:hover,
.featuredMenuCard:hover{
  transform:none !important;
  box-shadow:0 10px 22px rgba(97,73,18,.08) !important;
  border-color:rgba(39,120,59,.18) !important;
}

.menuCard{
  padding:22px !important;
  gap:12px !important;
}
.menuCard.favorite,
.menuCard.signature{
  background:#fff8e7 !important;
}
.favoriteBadge{
  border-radius:14px 18px 14px 20px !important;
  background:#27783b !important;
  color:#fffaf0 !important;
}
.signature .favoriteBadge{
  background:#15130f !important;
  color:#f2c94c !important;
}
.favoriteRank{
  width:40px !important;
  height:40px !important;
  border-radius:46% 54% 48% 52% !important;
  background:#f2c94c !important;
  border:2px solid #fffaf0 !important;
  box-shadow:0 5px 12px rgba(97,73,18,.10) !important;
  transform:rotate(-3deg) !important;
}

.categoryNav a,
.heroMeta span,
.faqItem summary:after,
.socialButton,
.menuBtn,
.mobileMenu a{
  border-radius:16px 20px 16px 22px !important;
}
.categoryNav a{
  background:#fffaf0 !important;
  border-color:rgba(118,91,27,.14) !important;
}
.categoryNav a:hover,
.faqItem summary:hover,
.faqItem summary:focus-visible,
.mobileMenu a:hover,
.mobileMenu a:focus-visible{
  background:#fff1c8 !important;
  transform:none !important;
}

.featuredMenuRail{
  mask-image:none !important;
  overflow-x:auto !important;
  scroll-snap-type:x proximity !important;
}
.featuredMenuTrack{
  animation:featured-menu-slide 95s linear infinite !important;
}
.featuredMenuTrack[aria-hidden="true"]{
  display:none !important;
}
.featuredMenuCard{
  scroll-snap-align:start !important;
}

.finalCta{
  background:#15130f !important;
  box-shadow:0 16px 34px rgba(21,19,15,.16) !important;
}
.footer{
  background:#15130f !important;
}
.socialButton{
  background:#fff1c8 !important;
  color:#27783b !important;
  box-shadow:0 6px 14px rgba(97,73,18,.07) !important;
}
.socialButton:hover{
  background:#f2c94c !important;
  color:#15130f !important;
  transform:translateY(-1px) !important;
}

@media(max-width:640px){
  .featuredMenuTrack{animation:none !important}
  .featuredMenuRail{overflow-x:auto !important}
  .menuCard{padding:20px !important}
}

/* Card CTAs must stay readable. This sits after .btn.light on purpose. */
.menuCard .btn,
.menuCard .btn.light,
.menuCard .btn.primary,
.featuredDrink .btn,
.featuredDrink .btn.light,
.featuredDrink .btn.primary{
  background:#15130f !important;
  border-color:#15130f !important;
  color:#fff9ec !important;
  box-shadow:0 8px 18px rgba(21,19,15,.12) !important;
}
.menuCard .btn:hover,
.menuCard .btn.light:hover,
.menuCard .btn.primary:hover,
.featuredDrink .btn:hover,
.featuredDrink .btn.light:hover,
.featuredDrink .btn.primary:hover{
  background:#242016 !important;
  border-color:#242016 !important;
  color:#fff9ec !important;
}

/* =========================================================
   Premium polish pass
   Layered shadows, subtle gradients, soft borders, restrained motion.
   ========================================================= */
:root{
  --premium-border:rgba(89,68,21,.13);
  --premium-border-strong:rgba(89,68,21,.20);
  --premium-shadow:
    0 1px 1px rgba(30,22,8,.035),
    0 8px 18px rgba(97,73,18,.055),
    0 22px 46px rgba(97,73,18,.075);
  --premium-shadow-hover:
    0 2px 2px rgba(30,22,8,.04),
    0 12px 24px rgba(97,73,18,.07),
    0 30px 58px rgba(97,73,18,.09);
  --premium-inset:inset 0 1px 0 rgba(255,255,255,.58);
}

.top,
.stickyCta{
  background:rgba(255,250,239,.88) !important;
  backdrop-filter:blur(14px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.05) !important;
  border-color:rgba(89,68,21,.10) !important;
}

.storyPanel,
.featurePanel,
.ingredientPanel,
.locationCard,
.locationInfoPanel,
.mapPanel,
.reviewCard,
.menuCard,
.featuredDrink,
.featuredMenuCard,
.faqItem,
.modalPanel{
  background:
    linear-gradient(145deg,rgba(255,252,244,.96),rgba(255,246,224,.88)) !important;
  border-color:var(--premium-border) !important;
  box-shadow:var(--premium-shadow),var(--premium-inset) !important;
}

.storyPanel:hover,
.featurePanel:hover,
.ingredientPanel:hover,
.locationCard:hover,
.locationInfoPanel:hover,
.mapPanel:hover,
.reviewCard:hover,
.menuCard:hover,
.featuredDrink:hover,
.featuredMenuCard:hover,
.faqItem:hover{
  border-color:rgba(39,120,59,.16) !important;
  box-shadow:var(--premium-shadow-hover),var(--premium-inset) !important;
}

.menuCard,
.reviewCard,
.featuredDrink,
.featuredMenuCard,
.locationCard{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease !important;
}

.menuCard:hover,
.reviewCard:hover,
.featuredDrink:hover,
.featuredMenuCard:hover,
.locationCard:hover{
  transform:translateY(-2px) !important;
}

.btn{
  background:
    linear-gradient(180deg,#211d15 0%,#15130f 100%) !important;
  border:1px solid rgba(21,19,15,.82) !important;
  color:#fff9ec !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 2px 2px rgba(21,19,15,.08),
    0 12px 24px rgba(21,19,15,.12) !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease !important;
}

.btn:hover,
.btn:focus-visible{
  transform:translateY(-2px) !important;
  background:
    linear-gradient(180deg,#2b261b 0%,#18150f 100%) !important;
  border-color:rgba(21,19,15,.95) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 3px 4px rgba(21,19,15,.08),
    0 18px 34px rgba(21,19,15,.15) !important;
}

.btn:active{
  transform:translateY(0) scale(.99) !important;
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,.18),
    0 8px 16px rgba(21,19,15,.10) !important;
}

.btn.yellow{
  background:
    linear-gradient(180deg,#ffe08a 0%,#f2c94c 100%) !important;
  border-color:rgba(166,119,21,.28) !important;
  color:#15130f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 2px 2px rgba(97,73,18,.05),
    0 12px 24px rgba(166,119,21,.12) !important;
}

.btn.yellow:hover,
.btn.yellow:focus-visible{
  background:
    linear-gradient(180deg,#ffe69a 0%,#f3ce5e 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.50),
    0 3px 4px rgba(97,73,18,.06),
    0 16px 30px rgba(166,119,21,.14) !important;
}

.btn.light{
  background:
    linear-gradient(180deg,rgba(255,253,248,.95),rgba(255,246,224,.90)) !important;
  border-color:var(--premium-border) !important;
  color:#15130f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 8px 18px rgba(97,73,18,.06) !important;
}

.btn.light:hover,
.btn.light:focus-visible{
  background:
    linear-gradient(180deg,#fffdfa,#fff2cc) !important;
  border-color:var(--premium-border-strong) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.76),
    0 12px 24px rgba(97,73,18,.08) !important;
}

.menuCard .btn,
.menuCard .btn.light,
.menuCard .btn.primary,
.featuredDrink .btn,
.featuredDrink .btn.light,
.featuredDrink .btn.primary{
  background:
    linear-gradient(180deg,#211d15 0%,#15130f 100%) !important;
  border-color:rgba(21,19,15,.86) !important;
  color:#fff9ec !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 2px 2px rgba(21,19,15,.08),
    0 12px 24px rgba(21,19,15,.13) !important;
}

.menuCard .btn:hover,
.menuCard .btn.light:hover,
.menuCard .btn.primary:hover,
.featuredDrink .btn:hover,
.featuredDrink .btn.light:hover,
.featuredDrink .btn.primary:hover{
  background:
    linear-gradient(180deg,#2b261b 0%,#18150f 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 3px 4px rgba(21,19,15,.08),
    0 18px 34px rgba(21,19,15,.15) !important;
}

.heroBadge,
.mobileMenu,
.modalPanel{
  backdrop-filter:blur(14px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.05) !important;
}

.heroBadge{
  background:rgba(21,19,15,.78) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 14px 30px rgba(0,0,0,.16) !important;
}

.mobileMenu,
.modalPanel{
  background:rgba(255,250,239,.90) !important;
}

.favoriteRank,
.favoriteBadge,
.socialButton,
.categoryNav a,
.heroMeta span{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 6px 14px rgba(97,73,18,.06) !important;
}

.favoriteRank{
  transition:transform .18s ease,box-shadow .18s ease !important;
}
.menuCard:hover .favoriteRank{
  transform:rotate(-3deg) translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 8px 18px rgba(97,73,18,.09) !important;
}

.top:after,
.footer:before,
.featuredDrink:after,
.menuCard:after,
.reviewCard:after,
.locationCard:after,
.locationInfoPanel:after,
.mapPanel:after{
  height:2px !important;
  background:linear-gradient(90deg,rgba(39,120,59,.32),rgba(242,201,76,.72),rgba(21,19,15,.24)) !important;
  opacity:.62 !important;
}

@media(prefers-reduced-motion:reduce){
  .btn,
  .menuCard,
  .reviewCard,
  .featuredDrink,
  .featuredMenuCard,
  .locationCard,
  .favoriteRank{
    transition:none !important;
  }
}

/* =========================================================
   Static shadcn-style component layer
   Applies the shadcn/ui interaction model to this non-React site.
   ========================================================= */
:root{
  --component-bg:rgba(255,250,239,.92);
  --component-popover:rgba(255,252,246,.94);
  --component-ring:rgba(242,201,76,.72);
  --component-ring-soft:rgba(242,201,76,.24);
  --component-muted:rgba(89,68,21,.09);
}

body.has-modal{
  overflow:hidden;
}

.btn,
.menuBtn,
.modalClose,
.categoryNav a,
.mobileMenu a,
.faqItem summary,
.socialButton{
  -webkit-tap-highlight-color:transparent;
}

.btn:focus-visible,
.menuBtn:focus-visible,
.modalClose:focus-visible,
.categoryNav a:focus-visible,
.mobileMenu a:focus-visible,
.faqItem summary:focus-visible,
.socialButton:focus-visible{
  outline:3px solid var(--component-ring) !important;
  outline-offset:3px !important;
}

.links a:not(.btn){
  border-radius:10px !important;
  transition:color .18s ease,background-color .18s ease !important;
}
.links a:not(.btn):hover,
.links a:not(.btn):focus-visible{
  color:#15130f !important;
  background:rgba(242,201,76,.14) !important;
  outline:none !important;
}

.menuBtn{
  background:
    linear-gradient(180deg,rgba(255,253,248,.95),rgba(255,246,224,.90)) !important;
  border-color:var(--premium-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 8px 18px rgba(97,73,18,.06) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}
.menuBtn:hover{
  transform:translateY(-1px) !important;
  border-color:var(--premium-border-strong) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 12px 24px rgba(97,73,18,.08) !important;
}

.mobileMenu{
  background:var(--component-popover) !important;
  border:1px solid var(--premium-border) !important;
  box-shadow:
    0 1px 1px rgba(30,22,8,.04),
    0 18px 44px rgba(30,22,8,.16) !important;
}
.mobileMenu a{
  transition:background-color .16s ease,color .16s ease,transform .16s ease !important;
}
.mobileMenu a:hover,
.mobileMenu a:focus-visible{
  background:var(--component-muted) !important;
  color:#15130f !important;
}

.modal{
  background:rgba(21,19,15,.54) !important;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease !important;
}
.modal.open{
  opacity:1;
  pointer-events:auto;
}
.modalPanel{
  background:var(--component-popover) !important;
  border:1px solid var(--premium-border) !important;
  box-shadow:
    0 1px 1px rgba(30,22,8,.05),
    0 20px 54px rgba(30,22,8,.20),
    inset 0 1px 0 rgba(255,255,255,.62) !important;
  transform:translateY(8px) scale(.985);
  transition:transform .2s ease,opacity .2s ease !important;
}
.modal.open .modalPanel{
  transform:translateY(0) scale(1);
}
.modalClose{
  border-radius:14px 18px 14px 20px !important;
  color:#5f5546 !important;
  transition:background-color .16s ease,color .16s ease !important;
}
.modalClose:hover{
  background:var(--component-muted) !important;
  color:#15130f !important;
}

.faqItem{
  overflow:hidden !important;
}
.faqItem summary{
  transition:background-color .16s ease,color .16s ease !important;
}
.faqItem[open]{
  border-color:rgba(39,120,59,.16) !important;
}
.faqItem[open] summary:after{
  background:#15130f !important;
  border-color:#15130f !important;
  color:#fff9ec !important;
}

.toastViewport{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:120;
  display:grid;
  gap:10px;
  width:min(360px,calc(100vw - 32px));
  pointer-events:none;
}
.toast{
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px 20px 16px 22px;
  background:rgba(21,19,15,.90);
  color:#fff9ec;
  font-weight:850;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 34px rgba(21,19,15,.18);
  opacity:0;
  transform:translateY(8px) scale(.98);
  transition:opacity .18s ease,transform .18s ease;
}
.toast.show{
  opacity:1;
  transform:translateY(0) scale(1);
}

@media(max-width:640px){
  .toastViewport{
    left:14px;
    right:14px;
    bottom:86px;
    width:auto;
  }
  .mobileMenu{
    border-radius:20px 26px 20px 28px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .modal,
  .modalPanel,
  .toast,
  .menuBtn,
  .mobileMenu a,
  .faqItem summary{
    transition:none !important;
  }
}

/* Menu card button alignment */
.menuGrid{
  align-items:stretch !important;
}
.menuCard{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.menuCard p:not(.priceLine){
  margin-bottom:10px !important;
}
.menuCard p:not(.priceLine):last-of-type{
  flex:1 1 auto !important;
}
.menuCard .priceLine{
  margin-top:auto !important;
  margin-bottom:10px !important;
}
.menuCard .btn,
.menuCard .btn.light,
.menuCard .btn.primary{
  align-self:stretch !important;
  margin-top:auto !important;
  min-height:42px !important;
  height:42px !important;
  padding:9px 14px !important;
  font-size:16px !important;
  line-height:1 !important;
}
@media(max-width:640px){
  .menuCard .btn,
  .menuCard .btn.light,
  .menuCard .btn.primary{
    min-height:42px !important;
    height:42px !important;
    font-size:16px !important;
  }
}

/* Seamless featured menu marquee */
.featuredMenuRail{
  --featured-marquee-gap:16px;
  display:flex !important;
  gap:var(--featured-marquee-gap) !important;
  overflow:hidden !important;
  scroll-snap-type:none !important;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent) !important;
}
.featuredMenuTrack,
.featuredMenuTrack[aria-hidden="true"]{
  display:flex !important;
  flex:0 0 max-content !important;
  min-width:max-content !important;
  gap:var(--featured-marquee-gap) !important;
  animation:featured-menu-marquee 58s linear infinite !important;
  will-change:transform;
}
.featuredMenuRail:hover .featuredMenuTrack{
  animation-play-state:paused !important;
}
@keyframes featured-menu-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-100% - var(--featured-marquee-gap)),0,0)}
}
@media(max-width:640px){
  .featuredMenuRail{
    overflow-x:auto !important;
    scroll-snap-type:x proximity !important;
    mask-image:none !important;
  }
  .featuredMenuTrack{
    animation:none !important;
  }
  .featuredMenuTrack[aria-hidden="true"]{
    display:none !important;
  }
}

/* Instagram reaction embeds */
.reactionShowcase{
  display:grid;
  gap:24px;
}
.reactionIntro{
  max-width:760px;
}
.reactionIntro h2{
  max-width:620px;
  font-size:clamp(34px,5vw,58px);
  line-height:1;
}
.reactionIntro p{
  margin-top:12px;
  max-width:680px;
  color:var(--muted);
  font-size:18px;
  line-height:1.55;
}
.reelGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.reelEmbed{
  overflow:hidden;
  border-radius:22px 28px 20px 26px;
  background:rgba(255,253,247,.86);
  border:1px solid rgba(44,38,24,.1);
  box-shadow:
    0 16px 34px rgba(44,38,24,.08),
    0 2px 10px rgba(44,38,24,.04);
}
.reelEmbed .instagram-media{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
@media(max-width:900px){
  .reelGrid{
    grid-template-columns:1fr;
  }
}

/* Cream page background reset */
html{
  background:#fff8e8 !important;
}
body{
  background:#fff8e8 !important;
  background-image:none !important;
  background-attachment:scroll !important;
}
body:before,
body:after{
  display:none !important;
}

/* Keep Uber Eats on-brand everywhere. */
.btn.uber,
.modalActions .btn.uber{
  background:#06c167 !important;
  border-color:#06c167 !important;
  color:#11110f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 10px 22px rgba(6,193,103,.18) !important;
}
.btn.uber:hover,
.btn.uber:focus-visible,
.modalActions .btn.uber:hover,
.modalActions .btn.uber:focus-visible{
  background:#05ad5c !important;
  border-color:#05ad5c !important;
  color:#11110f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 14px 28px rgba(6,193,103,.22) !important;
}

/* Keep the Peanut Punch feature tight enough to scan. */
#peanut-punch{
  padding-top:34px !important;
  padding-bottom:46px !important;
}
#peanut-punch .featurePanel{
  grid-template-columns:1.05fr .72fr !important;
  align-items:stretch !important;
  gap:18px !important;
  padding:14px !important;
}
#peanut-punch .featureCopy{
  justify-content:flex-start !important;
  padding:16px 22px 16px 8px !important;
}
#peanut-punch .featureCopy h2{
  max-width:600px !important;
  font-size:clamp(30px,3.5vw,44px) !important;
  margin-bottom:12px !important;
}
#peanut-punch .featureCopy p{
  max-width:590px !important;
  font-size:17px !important;
  line-height:1.48 !important;
}
#peanut-punch .featureCopy p+p{
  margin-top:8px !important;
}
#peanut-punch .heroActions{
  margin-top:22px !important;
}
#peanut-punch .featureImage,
#peanut-punch .featureImage img{
  min-height:0 !important;
  height:100% !important;
}
@media(max-width:760px){
  #peanut-punch{
    padding-top:24px !important;
    padding-bottom:34px !important;
  }
  #peanut-punch .featurePanel{
    grid-template-columns:1fr !important;
  }
  #peanut-punch .featureCopy{
    padding:10px 8px 14px !important;
  }
  #peanut-punch .featureImage,
  #peanut-punch .featureImage img{
    min-height:250px !important;
  }
}

/* Store interior palette: yellow wall, green foliage, black trim, small red accent. */
:root{
  --store-yellow:#f2d20a;
  --store-yellow-soft:#fff6cc;
  --store-yellow-cream:#fff7d8;
  --store-red:#c92c2f;
  --store-foliage:#2f5f31;
  --store-black:#14120d;
  --store-floor:#8b7f6a;
  --store-metal:#b7b7ad;
}
html,
body{
  background:var(--store-yellow-cream) !important;
  background-image:none !important;
}
.top,
.stickyCta{
  background:rgba(255,247,216,.92) !important;
  border-color:rgba(20,18,13,.12) !important;
}
.top:after,
.footer:before{
  background:var(--store-black) !important;
  opacity:.72 !important;
}
.heroMeta span:not(:last-child):after{
  color:rgba(20,18,13,.42) !important;
}
.storyPanel,
.featurePanel,
.ingredientPanel,
.locationCard,
.locationInfoPanel,
.mapPanel,
.reviewCard,
.menuCard,
.featuredDrink,
.featuredMenuCard,
.faqItem,
.reelEmbed,
.modalPanel{
  background:#fffaf0 !important;
  border-color:rgba(20,18,13,.12) !important;
}
.storyPanel:before,
.featurePanel:before,
.ingredientPanel:before,
.finalCta:before{
  background:var(--store-yellow) !important;
  opacity:.86 !important;
}
.featuredDrink:after,
.menuCard:after,
.reviewCard:after,
.locationCard:after,
.locationInfoPanel:after,
.mapPanel:after{
  background:var(--store-yellow) !important;
  opacity:.62 !important;
}
.eyebrow,
.heroBadge span{
  color:var(--store-foliage) !important;
}
.heroPhoto,
.featureImage,
.storyImage,
.finalCta,
.footer{
  background:var(--store-black) !important;
}
.btn.yellow,
.favoriteRank,
.faqItem summary:after{
  background:var(--store-yellow) !important;
  border-color:rgba(20,18,13,.18) !important;
  color:var(--store-black) !important;
}
.favoriteBadge,
.socialButton:hover{
  background:var(--store-foliage) !important;
  color:#fffaf0 !important;
}
.signature .favoriteBadge{
  background:var(--store-black) !important;
  color:var(--store-yellow) !important;
}
.categoryNav a:hover,
.faqItem summary:hover,
.faqItem summary:focus-visible,
.mobileMenu a:hover,
.mobileMenu a:focus-visible{
  background:rgba(242,210,10,.18) !important;
}
.reviewCard cite a,
.locationCard a,
.locationInfoPanel a,
.footerLink:hover{
  color:var(--store-foliage) !important;
}
.heroBadge{
  border-top-color:var(--store-yellow) !important;
}
.socialButton{
  background:rgba(242,210,10,.18) !important;
  color:var(--store-red) !important;
  border-color:rgba(20,18,13,.10) !important;
}
.brand img,
.footerBrand img{
  box-shadow:0 0 0 2px rgba(242,210,10,.34),0 8px 18px rgba(20,18,13,.10) !important;
}

/* Warm store-yellow background and final modern button polish. */
:root{
  --store-yellow:#d7bb08;
  --store-yellow-soft:#fff0a6;
  --store-yellow-cream:#f3df72;
  --store-yellow-panel:#fff7d2;
  --button-black:#14120d;
}
html,
body{
  background:var(--store-yellow-cream) !important;
  background-image:none !important;
}
.top,
.stickyCta{
  background:rgba(255,247,210,.94) !important;
}
.storyPanel,
.featurePanel,
.ingredientPanel,
.locationCard,
.locationInfoPanel,
.mapPanel,
.reviewCard,
.menuCard,
.featuredDrink,
.featuredMenuCard,
.faqItem,
.reelEmbed,
.modalPanel{
  background:var(--store-yellow-panel) !important;
}
.btn,
.btn.primary,
.order-now,
.order-item,
.stickyCta .btn.primary{
  min-height:48px !important;
  border-radius:16px 20px 16px 22px !important;
  background:linear-gradient(180deg,#242017 0%,var(--button-black) 100%) !important;
  border:1px solid rgba(20,18,13,.92) !important;
  color:#fff9ec !important;
  font-weight:900 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 2px 3px rgba(20,18,13,.12),
    0 14px 28px rgba(20,18,13,.18) !important;
  text-shadow:none !important;
  opacity:1 !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease !important;
}
.btn:hover,
.btn:focus-visible,
.btn.primary:hover,
.btn.primary:focus-visible,
.order-now:hover,
.order-now:focus-visible,
.order-item:hover,
.order-item:focus-visible{
  transform:translateY(-2px) !important;
  background:linear-gradient(180deg,#2f291d 0%,#17140f 100%) !important;
  border-color:#14120d !important;
  color:#fff9ec !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 3px 4px rgba(20,18,13,.12),
    0 18px 34px rgba(20,18,13,.22) !important;
}
.btn:active{
  transform:translateY(0) scale(.99) !important;
  box-shadow:
    inset 0 2px 8px rgba(0,0,0,.20),
    0 8px 18px rgba(20,18,13,.14) !important;
}
.btn.light,
.stickyCta .btn.light,
.heroActions .btn.light{
  background:linear-gradient(180deg,#fffdf4 0%,#fff1b8 100%) !important;
  border:1px solid rgba(20,18,13,.18) !important;
  color:var(--button-black) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 10px 22px rgba(20,18,13,.10) !important;
}
.btn.light:hover,
.btn.light:focus-visible,
.stickyCta .btn.light:hover,
.stickyCta .btn.light:focus-visible,
.heroActions .btn.light:hover,
.heroActions .btn.light:focus-visible{
  background:linear-gradient(180deg,#fffef7 0%,#ffe987 100%) !important;
  color:var(--button-black) !important;
  border-color:rgba(20,18,13,.26) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 14px 28px rgba(20,18,13,.13) !important;
}
.btn.yellow{
  background:linear-gradient(180deg,#f8dc35 0%,#d7bb08 100%) !important;
  border-color:rgba(20,18,13,.22) !important;
  color:var(--button-black) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 12px 24px rgba(111,89,0,.18) !important;
}
.menuCard .btn,
.menuCard .btn.light,
.menuCard .btn.primary,
.featuredDrink .btn,
.featuredDrink .btn.light,
.featuredDrink .btn.primary{
  align-self:stretch !important;
  background:linear-gradient(180deg,#242017 0%,var(--button-black) 100%) !important;
  border-color:rgba(20,18,13,.92) !important;
  color:#fff9ec !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 10px 22px rgba(20,18,13,.16) !important;
}
.menuCard .btn:hover,
.menuCard .btn.light:hover,
.menuCard .btn.primary:hover,
.featuredDrink .btn:hover,
.featuredDrink .btn.light:hover,
.featuredDrink .btn.primary:hover{
  background:linear-gradient(180deg,#2f291d 0%,#17140f 100%) !important;
  color:#fff9ec !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 14px 28px rgba(20,18,13,.20) !important;
}
.btn.uber,
.modalActions .btn.uber{
  background:linear-gradient(180deg,#10d878 0%,#06c167 100%) !important;
  border-color:#06ad5c !important;
  color:#10140f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 12px 26px rgba(6,193,103,.24) !important;
}
.btn.uber:hover,
.btn.uber:focus-visible,
.modalActions .btn.uber:hover,
.modalActions .btn.uber:focus-visible{
  background:linear-gradient(180deg,#14e681 0%,#05ad5c 100%) !important;
  border-color:#059f54 !important;
  color:#10140f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    0 16px 32px rgba(6,193,103,.28) !important;
}

/* Restore the softer cream backdrop from the earlier direction. */
:root{
  --page-cream:#fff8e8;
  --surface-cream:#fffaf0;
  --surface-cream-soft:#fffdf7;
}
html,
body{
  background:var(--page-cream) !important;
  background-image:none !important;
  background-attachment:scroll !important;
}
.top,
.stickyCta{
  background:rgba(255,250,240,.94) !important;
  border-color:rgba(20,18,13,.10) !important;
}
.storyPanel,
.featurePanel,
.ingredientPanel,
.locationCard,
.locationInfoPanel,
.mapPanel,
.reviewCard,
.menuCard,
.featuredDrink,
.featuredMenuCard,
.faqItem,
.reelEmbed,
.modalPanel{
  background:var(--surface-cream) !important;
  border-color:rgba(20,18,13,.11) !important;
}
.heroPhoto,
.featureImage,
.storyImage{
  background:var(--store-black) !important;
}

/* All accent borders use subtle black gradients. */
:root{
  --accent-line-black:linear-gradient(90deg,rgba(20,18,13,.08),rgba(20,18,13,.82),rgba(20,18,13,.08));
  --accent-line-black-soft:linear-gradient(90deg,rgba(20,18,13,.04),rgba(20,18,13,.48),rgba(20,18,13,.04));
  --accent-rail-black:linear-gradient(180deg,rgba(20,18,13,.18),rgba(20,18,13,.86),rgba(20,18,13,.18));
}
.top:after,
.footer:before,
.featuredDrink:after,
.menuCard:after,
.reviewCard:after,
.locationCard:after,
.locationInfoPanel:after,
.mapPanel:after{
  background:var(--accent-line-black) !important;
  opacity:.58 !important;
}
.storyPanel:before,
.featurePanel:before,
.ingredientPanel:before,
.finalCta:before{
  background:var(--accent-rail-black) !important;
  opacity:.42 !important;
}
.heroBadge{
  border-top-color:rgba(20,18,13,.82) !important;
}
.featuredMenuShowcase,
.category,
.ingredientDrinks,
.locationDetail,
.footer .socialFollow,
.footerBottom,
.stickyCta{
  border-color:rgba(20,18,13,.12) !important;
}
.links a:not(.btn):after{
  background:var(--accent-line-black-soft) !important;
}

.heroBadge span{
  color:#f8dc35 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}

/* Our Story page: simple editorial layout, no hero card treatment. */
.storyPage{
  padding:72px 0 84px;
}
.storyTitle{
  max-width:820px;
  margin:0 0 26px;
}
.storyTitle h1{
  font-size:clamp(48px,8vw,92px);
  line-height:.95;
  letter-spacing:0;
}
.storyPlaceholders{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 0 42px;
}
.storyPlaceholder{
  position:relative;
  display:grid;
  place-items:end start;
  min-height:280px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(20,18,13,.12);
  border-radius:20px 26px 18px 28px;
  background:
    linear-gradient(135deg,rgba(20,18,13,.08),rgba(20,18,13,.02)),
    var(--surface-cream);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.54),
    0 10px 24px rgba(20,18,13,.06);
}
.storyPlaceholder img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.storyPlaceholder:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(20,18,13,0) 46%,rgba(20,18,13,.64) 100%),
    linear-gradient(90deg,rgba(20,18,13,.08),transparent 34%,rgba(20,18,13,.10));
  z-index:1;
}
.storyPlaceholder:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:var(--accent-line-black);
  opacity:.52;
  z-index:2;
}
.storyEditorial{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:34px;
  align-items:start;
}
.storyText{
  max-width:780px;
}
.storyText p,
.missionText p{
  color:var(--muted);
  font-size:19px;
  line-height:1.65;
}
.storyText p+p{
  margin-top:18px;
}
.missionText{
  padding:26px;
  border-left:3px solid rgba(20,18,13,.68);
  background:rgba(255,250,240,.52);
}
.missionText h2{
  margin-bottom:12px;
  font-size:clamp(28px,3vw,40px);
  line-height:1;
}
@media(max-width:820px){
  .storyPage{
    padding:46px 0 64px;
  }
  .storyPlaceholders,
  .storyEditorial{
    grid-template-columns:1fr;
  }
  .storyPlaceholder{
    min-height:220px;
  }
  .missionText{
    padding:22px 0 0;
    border-left:0;
    border-top:2px solid rgba(20,18,13,.22);
    background:transparent;
  }
}

/* Social buttons: icon-only yellow tiles with green marks. */
.socialFollow{
  margin-top:22px !important;
}
.socialFollow h3,
.socialFollow p{
  display:none !important;
}
.socialButtons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:18px !important;
  align-items:center !important;
}
.socialButton,
.footer .socialButton{
  display:inline-grid !important;
  place-items:center !important;
  width:52px !important;
  height:52px !important;
  border-radius:18px !important;
  background:#fff3bf !important;
  border:1px solid rgba(207,177,1,.34) !important;
  color:#2f5f31 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    0 8px 18px rgba(20,18,13,.08) !important;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease !important;
}
.socialButton:hover,
.socialButton:focus-visible,
.footer .socialButton:hover,
.footer .socialButton:focus-visible{
  transform:translateY(-2px) !important;
  background:#ffe98a !important;
  color:#244c28 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 12px 24px rgba(20,18,13,.12) !important;
}
.socialButton svg{
  width:28px !important;
  height:28px !important;
}
.footer .socialFollow{
  margin-top:24px !important;
  padding-top:20px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}

/* Clean light buttons and align action rows. */
.btn.light,
.heroActions .btn.light,
.stickyCta .btn.light,
.contactActions .btn.light{
  background:#fffaf0 !important;
  background-image:none !important;
  border:1px solid rgba(20,18,13,.16) !important;
  color:#14120d !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 8px 18px rgba(20,18,13,.06) !important;
}
.btn.light:hover,
.btn.light:focus-visible,
.heroActions .btn.light:hover,
.heroActions .btn.light:focus-visible,
.stickyCta .btn.light:hover,
.stickyCta .btn.light:focus-visible,
.contactActions .btn.light:hover,
.contactActions .btn.light:focus-visible{
  background:#fffdf7 !important;
  background-image:none !important;
  border-color:rgba(20,18,13,.24) !important;
  color:#14120d !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 12px 24px rgba(20,18,13,.09) !important;
}
.heroActions,
.contactActions{
  align-items:stretch !important;
}
#peanut-punch .heroActions{
  display:grid !important;
  grid-template-columns:minmax(220px,1.05fr) minmax(180px,.82fr) !important;
  gap:12px !important;
  align-items:stretch !important;
}
#peanut-punch .heroActions .btn{
  width:100% !important;
  min-height:52px !important;
  white-space:nowrap !important;
}
@media(max-width:900px){
  #peanut-punch .heroActions{
    grid-template-columns:1fr !important;
  }
}

#peanut-punch .featureImage{
  justify-self:stretch !important;
  width:100% !important;
}
#peanut-punch .featureImage img{
  width:100% !important;
  object-position:center center !important;
}

/* Keep the local search copy useful for SEO without making it a hero section. */
#hartford-juice-bar{
  padding-top:28px !important;
  padding-bottom:30px !important;
}
#hartford-juice-bar .sectionHead{
  max-width:820px !important;
  margin-bottom:14px !important;
}
#hartford-juice-bar .sectionHead h2{
  max-width:760px !important;
  font-size:clamp(24px,3vw,34px) !important;
  line-height:1.06 !important;
  letter-spacing:-.025em !important;
}
#hartford-juice-bar .sectionHead p{
  max-width:780px !important;
  margin-top:8px !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
#hartford-juice-bar .menuGrid{
  gap:12px !important;
}
#hartford-juice-bar .menuCard{
  padding:18px !important;
  border-radius:18px !important;
  gap:10px !important;
  box-shadow:
    0 2px 8px rgba(20,18,13,.04),
    0 12px 24px rgba(20,18,13,.06) !important;
}
#hartford-juice-bar .menuCard:after{
  height:2px !important;
  border-radius:18px 18px 0 0 !important;
  opacity:.6 !important;
}
#hartford-juice-bar .menuCard:hover{
  transform:translateY(-2px) !important;
  box-shadow:
    0 4px 10px rgba(20,18,13,.05),
    0 14px 26px rgba(20,18,13,.08) !important;
}
#hartford-juice-bar .menuCard h3{
  font-size:clamp(18px,2vw,22px) !important;
  line-height:1.08 !important;
}
#hartford-juice-bar .menuCard p{
  font-size:14px !important;
  line-height:1.45 !important;
}
#hartford-juice-bar .menuCard .btn{
  min-height:40px !important;
  margin-top:6px !important;
  padding:9px 14px !important;
  font-size:15px !important;
}

/* Final layout cleanup: the product feature should fit the copy, and SEO links belong low on the page. */
#peanut-punch.section{
  padding-top:28px !important;
  padding-bottom:34px !important;
}
#peanut-punch .featurePanel{
  grid-template-columns:minmax(0,1fr) minmax(300px,420px) !important;
  align-items:center !important;
  gap:20px !important;
  padding:16px !important;
}
#peanut-punch .featureCopy{
  padding:22px 24px 22px 10px !important;
}
#peanut-punch .featureImage{
  align-self:center !important;
  height:clamp(330px,28vw,410px) !important;
  min-height:0 !important;
  border-radius:22px !important;
}
#peanut-punch .featureImage img{
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center 42% !important;
}
#ingredients{
  padding-top:26px !important;
  padding-bottom:32px !important;
}
#ingredients .sectionHead{
  max-width:760px !important;
  margin-bottom:12px !important;
}
#ingredients .sectionHead h2{
  max-width:700px !important;
  font-size:clamp(24px,3vw,34px) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
}
#ingredients .sectionHead p{
  max-width:720px !important;
  margin-top:8px !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
#ingredients .favoritePills{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr)) !important;
  gap:8px !important;
  padding:0 !important;
}
#ingredients .favoritePills a{
  width:auto !important;
  min-height:38px !important;
  justify-content:center !important;
  padding:8px 12px !important;
  border:1px solid rgba(20,18,13,.12) !important;
  border-radius:999px !important;
  background:rgba(255,250,240,.72) !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 4px 12px rgba(20,18,13,.04) !important;
}
@media(max-width:760px){
  #peanut-punch .featurePanel{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #peanut-punch .featureCopy{
    padding:12px 8px 6px !important;
  }
  #peanut-punch .featureImage{
    height:260px !important;
    min-height:0 !important;
  }
  #peanut-punch .featureImage img{
    min-height:0 !important;
  }
  #ingredients .favoritePills{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #ingredients .favoritePills a{
    font-size:14px !important;
  }
}

/* Peanut Punch video and first-visit introduction. */
#peanut-punch .featureImage .peanutPunchVideo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.welcomeVideoModal{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(17,17,15,.76);
  backdrop-filter:blur(8px);
}
.welcomeVideoModal.open{display:grid}
.welcomeVideoPanel{
  width:min(520px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:20px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
  text-align:center;
  animation:welcomeVideoIn .3s ease-out both;
}
.welcomeVideoPanel h2{
  margin:0 0 6px;
  font-size:clamp(26px,5vw,38px);
  line-height:1.05;
}
.welcomeVideoPanel p{
  margin:0 auto 14px;
  color:var(--muted);
  line-height:1.45;
}
.welcomeVideo{
  display:block;
  width:100%;
  max-height:min(58vh,560px);
  border-radius:18px;
  background:#fff;
  object-fit:contain;
  pointer-events:none;
}
.welcomeVideoActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-height:0;
  margin-top:0;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:max-height .3s ease,margin .3s ease,opacity .3s ease,transform .3s ease;
}
.welcomeVideoActions.visible{
  max-height:80px;
  margin-top:14px;
  opacity:1;
  visibility:visible;
  transform:none;
}
.welcomeVideoLater{border:1px solid rgba(20,18,13,.16)}
body.has-welcome-video{overflow:hidden}
@keyframes welcomeVideoIn{
  from{opacity:0;transform:translateY(14px) scale(.98)}
  to{opacity:1;transform:none}
}
@media(max-width:520px){
  .welcomeVideoModal{padding:10px}
  .welcomeVideoPanel{padding:14px;border-radius:20px}
  .welcomeVideoActions{grid-template-columns:1fr}
  .welcomeVideoActions.visible{max-height:140px}
}
@media(prefers-reduced-motion:reduce){
  .welcomeVideoPanel{animation:none}
  .welcomeVideoActions{transition:none}
}

/* White and soft-orange site theme. Kept last to cover every generated page. */
:root{
  --paper:#fff;
  --page-cream:#fff;
  --surface-cream:#fff;
  --store-yellow-cream:#fff;
  --store-yellow-panel:#fff8f1;
  --soft-orange:#f58a00;
  --soft-orange-hover:#dc7600;
  --soft-orange-border:#cf6f00;
  --soft-orange-text:#241305;
  --line:rgba(104,61,27,.16);
  --shadow:0 14px 32px rgba(104,61,27,.08);
}
html,body{background:#fff !important}
.top,.stickyCta{background:rgba(255,255,255,.94) !important}
.storyPanel,.featurePanel,.ingredientPanel,.featuredDrink,.featuredMenuCard,
.menuCard,.menuCard.favorite,.menuCard.signature,.reviewCard,.faqItem,
.locationCard,.locationInfoPanel,.mapPanel,.modalPanel{background:#fff !important}
.storyImage.logoStage img,.featuredDrink img,.featuredMenuCard img,.mapEmbed{
  background:#fff8f1 !important;
}

/* All CTA variants share a faint orange fill and accessible dark-orange text. */
.btn,.btn.primary,.btn.yellow,.btn.light,.btn.uber,
.menuCard .btn,.menuCard .btn.light,.menuCard .btn.primary,
.featuredDrink .btn,.featuredDrink .btn.light,.featuredDrink .btn.primary,
.modalActions .btn.uber,.stickyCta .btn,.heroActions .btn,.contactActions .btn{
  background:var(--soft-orange) !important;
  border-color:var(--soft-orange-border) !important;
  color:var(--soft-orange-text) !important;
  text-shadow:none !important;
  box-shadow:0 8px 18px rgba(145,79,29,.10) !important;
}
.btn:hover,.btn:focus-visible,.btn.primary:hover,.btn.primary:focus-visible,
.btn.yellow:hover,.btn.yellow:focus-visible,.btn.light:hover,.btn.light:focus-visible,
.btn.uber:hover,.btn.uber:focus-visible,.menuCard .btn:hover,.menuCard .btn:focus-visible,
.featuredDrink .btn:hover,.featuredDrink .btn:focus-visible,
.modalActions .btn.uber:hover,.modalActions .btn.uber:focus-visible,
.stickyCta .btn:hover,.stickyCta .btn:focus-visible,
.heroActions .btn:hover,.heroActions .btn:focus-visible,
.contactActions .btn:hover,.contactActions .btn:focus-visible{
  background:var(--soft-orange-hover) !important;
  border-color:#bd6200 !important;
  color:#1f1003 !important;
  box-shadow:0 12px 24px rgba(145,79,29,.14) !important;
}
.menuBtn,.modalClose,.socialButton,.footer .socialButton{
  background:var(--soft-orange) !important;
  border:1px solid var(--soft-orange-border) !important;
  color:var(--soft-orange-text) !important;
}
.menuBtn:hover,.menuBtn:focus-visible,.modalClose:hover,.modalClose:focus-visible,
.socialButton:hover,.socialButton:focus-visible,
.footer .socialButton:hover,.footer .socialButton:focus-visible{
  background:var(--soft-orange-hover) !important;
  color:#1f1003 !important;
}
.menuBtn span{background:var(--soft-orange-text) !important}
.finalCta{
  background:#fff4ea !important;
  color:var(--ink) !important;
  border:1px solid var(--soft-orange-border) !important;
}
.finalCta p{color:var(--muted) !important}
.storyPanel:before,.featurePanel:before,.ingredientPanel:before,.finalCta:before,
.featuredDrink:after,.menuCard:after,.reviewCard:after,.locationCard:after,
.locationInfoPanel:after,.mapPanel:after{background:#efb987 !important}
.faqItem summary:hover,.faqItem summary:focus-visible,
.mobileMenu a:hover,.mobileMenu a:focus-visible{background:#fff4ea !important}

/* Compact, straight-edged orange button system. */
.btn,
.btn.primary,
.btn.yellow,
.btn.light,
.btn.uber,
.order-now,
.order-item,
.menuCard .btn,
.featuredDrink .btn,
.modalActions .btn,
.stickyCta .btn,
.heroActions .btn,
.contactActions .btn{
  width:auto !important;
  min-width:0 !important;
  min-height:44px !important;
  padding:10px 18px !important;
  border:1px solid var(--soft-orange-border) !important;
  border-radius:10px !important;
  background:var(--soft-orange) !important;
  background-image:none !important;
  color:var(--soft-orange-text) !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  transform:none !important;
}
.btn:hover,
.btn:focus-visible,
.order-now:hover,
.order-now:focus-visible,
.order-item:hover,
.order-item:focus-visible,
.menuCard .btn:hover,
.menuCard .btn:focus-visible,
.modalActions .btn:hover,
.modalActions .btn:focus-visible,
.stickyCta .btn:hover,
.stickyCta .btn:focus-visible,
.heroActions .btn:hover,
.heroActions .btn:focus-visible,
.contactActions .btn:hover,
.contactActions .btn:focus-visible{
  background:var(--soft-orange-hover) !important;
  border-color:#bd6200 !important;
  color:#1f1003 !important;
  box-shadow:none !important;
  transform:none !important;
}
.btn.light,
.btn.yellow,
.stickyCta .btn.light,
.heroActions .btn.light,
.contactActions .btn.light{
  background:var(--soft-orange) !important;
  border-color:var(--soft-orange-border) !important;
  color:var(--soft-orange-text) !important;
}
.btn.light:hover,
.btn.light:focus-visible,
.btn.yellow:hover,
.btn.yellow:focus-visible,
.stickyCta .btn.light:hover,
.heroActions .btn.light:hover,
.contactActions .btn.light:hover{
  background:var(--soft-orange-hover) !important;
  border-color:#bd6200 !important;
  color:#1f1003 !important;
}
.btn.uber,
.modalActions .btn.uber{
  background:var(--soft-orange) !important;
  border-color:var(--soft-orange-border) !important;
  color:var(--soft-orange-text) !important;
}
.btn.uber:hover,
.btn.uber:focus-visible,
.modalActions .btn.uber:hover,
.modalActions .btn.uber:focus-visible{
  background:var(--soft-orange-hover) !important;
  border-color:#bd6200 !important;
  color:#1f1003 !important;
}
.heroActions,
.contactActions,
.modalActions{
  align-items:center !important;
}
.menuCard .btn,
.featuredDrink .btn{
  align-self:flex-start !important;
  margin-top:auto !important;
}
#peanut-punch .heroActions{
  display:flex !important;
  grid-template-columns:none !important;
  flex-wrap:wrap !important;
}
#peanut-punch .heroActions .btn{width:auto !important}
.modalActions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100% !important;
}
.modalActions .btn{
  width:100% !important;
}
#doorDashLink{
  background:#d71920 !important;
  border-color:#b9141a !important;
  color:#fff !important;
}
#doorDashLink:hover,
#doorDashLink:focus-visible{
  background:#b9141a !important;
  border-color:#9f1016 !important;
  color:#fff !important;
}
.modalActions #uberLink,
.modalActions .btn.uber{
  background:#06c167 !important;
  border-color:#05a958 !important;
  color:#08150d !important;
}
.modalActions #uberLink:hover,
.modalActions #uberLink:focus-visible,
.modalActions .btn.uber:hover,
.modalActions .btn.uber:focus-visible{
  background:#05ad5c !important;
  border-color:#05934f !important;
  color:#08150d !important;
}
.modalClose{
  width:auto !important;
  min-height:38px !important;
  margin:12px auto 0 !important;
  padding:8px 12px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#555 !important;
  box-shadow:none !important;
}
.welcomeVideoSkip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin:12px auto 0;
  padding:8px 14px;
  border:1px solid var(--soft-orange-border);
  border-radius:8px;
  background:var(--soft-orange);
  color:var(--soft-orange-text);
  font:inherit;
  font-size:14px;
  font-weight:750;
  cursor:pointer;
}
.welcomeVideoSkip:hover,
.welcomeVideoSkip:focus-visible{background:var(--soft-orange-hover);border-color:#bd6200}
.welcomeVideoSkip.hidden{display:none}
.welcomeVideoActions{justify-content:center}
.welcomeVideoActions .btn{min-width:130px !important}
@media(max-width:520px){
  .welcomeVideoActions{display:flex;flex-wrap:wrap}
  .welcomeVideoActions.visible{max-height:140px}
  .welcomeVideoActions .btn{flex:0 1 auto}
}

/* Clean full-width brand mark in every shared navigation header. */
.brand img{
  content:url("assets/fusion-health-logo-clean.png");
  width:158px !important;
  height:64px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  object-fit:contain !important;
  box-shadow:none !important;
}
.brand > span{display:none}
@media(max-width:760px){
  .brand img{
    width:132px !important;
    height:58px !important;
  }
}

/* Mobile photos retain their full composition instead of cropping faces and products. */
@media(max-width:820px){
  .storyPlaceholder{
    min-height:0 !important;
    aspect-ratio:3 / 4 !important;
    background:#fff !important;
  }
  .storyPlaceholder img{
    object-fit:contain !important;
    object-position:center !important;
  }
  .storyPlaceholder:before{display:none !important}
}
@media(max-width:640px){
  .featuredDrink img{
    width:min(78%,280px) !important;
    height:auto !important;
    aspect-ratio:2 / 3 !important;
    margin:14px auto 0 !important;
    object-fit:contain !important;
    border:0 !important;
    border-radius:14px !important;
  }
  .featuredMenuCard img{
    width:min(76%,260px) !important;
    height:auto !important;
    aspect-ratio:2 / 3 !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }
  .featuredMenuRail{
    display:block !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth !important;
    touch-action:pan-x pan-y !important;
    overscroll-behavior-inline:contain !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .featuredMenuRail::-webkit-scrollbar{display:none}
  .featuredMenuTrack{
    display:flex !important;
    width:max-content !important;
    min-width:max-content !important;
    transform:none !important;
    animation:none !important;
  }
  .featuredMenuTrack[aria-hidden="true"]{display:none !important}
  .featuredMenuCard{
    flex:0 0 min(82vw,340px) !important;
    width:min(82vw,340px) !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }
}
