/* V14. A cohesive, coded site, not a collection of flattened posters.
   Each visual asset/card is 16:9; desktop editorial compositions use a 16:9
   section canvas where the content fits. At small screens text must reflow. */
.site-v5 {
  --sea:#003e49;
  --sea-deep:#002d37;
  --sea-soft:#e8f4f0;
  --chile:#bb0b20;
  --chile-bright:#e52432;
  --sand:#fff8ed;
  --sun:#f3bc54;
}
body.site-v5 { padding-bottom:0 !important; background:var(--sea-deep) !important; }
.site-v5 main { background:var(--sand); }
.site-v5 .site-footer {
  margin:0 !important;
  padding-bottom:16px;
  border-bottom:0 !important;
  background:var(--sea-deep);
}

/* 01 / Hero is an actual 16:9 canvas, with a larger, legible editorial title. */
.site-v5 .hero-section {
  position:relative;
  isolation:isolate;
  aspect-ratio:16 / 9;
  min-height:0;
  height:auto;
  background:var(--sea);
  overflow:hidden;
}
.site-v5 .hero-section::before {
  display:block;
  background:linear-gradient(90deg,rgba(0,43,53,.87) 0%,rgba(0,43,53,.71) 25%,rgba(0,43,53,.26) 49%,transparent 69%),
             linear-gradient(0deg,rgba(0,36,44,.22),transparent 25%);
}
.site-v5 .hero-copy { width:min(46%,670px); max-width:670px; }
.site-v5 .hero-copy h1 {
  max-width:650px;
  font-size:clamp(45px,4.85vw,82px);
  line-height:1.04;
  letter-spacing:-.05em;
  text-wrap:balance;
  margin-bottom:20px;
}
.site-v5 .hero-copy .hero-description { font-size:clamp(16px,1.18vw,20px); line-height:1.6; max-width:470px; }
.site-v5 .hero-copy .hero-kicker { font-size:12px; letter-spacing:.17em; color:#bde4df; }
.site-v5 .hero-delivery { font-size:16px; margin:13px 0 20px; }
.site-v5 .hero-order { min-height:58px; padding:12px 28px !important; }
.site-v5 .hero-buttons .button-link-light { min-height:54px; padding:10px 21px; }
.site-v5 .hero-visual img { object-fit:cover; object-position:50% 50%; }

/* Service shortcuts become four properly proportioned 16:9 interactive tiles. */
.site-v5 .reference-delivery-bar {
  position:relative;
  z-index:5;
  width:100%;
  padding:0 0 clamp(26px,3vw,44px);
  margin:-88px 0 0;
  background:linear-gradient(180deg,transparent 0,transparent 88px,var(--sand) 88px,var(--sand) 100%);
}
.site-v5 .reference-delivery-inner {
  width:calc(100% - (clamp(20px,3vw,52px) * 2));
  max-width:1540px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(13px,1.2vw,22px);
  min-height:0;
  margin-inline:auto;
}
.site-v5 .reference-delivery-inner a {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:4px;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  padding:clamp(17px,1.8vw,31px);
  text-align:left;
  border:1px solid #e7d9c7;
  border-top:4px solid var(--chile);
  border-radius:13px;
  background:rgba(255,251,243,.97);
  box-shadow:0 10px 24px #00313a1c;
  color:var(--sea-deep);
  transition:transform .15s ease,box-shadow .15s ease;
}
.site-v5 .reference-delivery-inner a:hover { transform:translateY(-4px);box-shadow:0 15px 26px #00313a2e; }
.site-v5 .reference-delivery-inner a > i:first-child {
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:13px;
  background:#fbe7df;
  color:var(--chile);
  font-size:29px;
  line-height:1;
}
.site-v5 .reference-delivery-inner a > span {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:4px;
  width:100%;
  line-height:1.2;
  padding-right:22px;
}
.site-v5 .reference-delivery-inner a strong {
  color:var(--sea-deep);
  font-family:'Plus Jakarta Sans','Manrope',sans-serif;
  font-size:clamp(15px,1.1vw,19px);
  font-weight:800;
}
.site-v5 .reference-delivery-inner a small {
  color:#486b70;
  font-size:clamp(11px,.83vw,14px);
  line-height:1.25;
  font-weight:600;
}
.site-v5 .reference-delivery-inner a > .service-arr {
  position:absolute;
  right:18px;
  bottom:20px;
  font-size:24px;
  color:var(--chile);
  line-height:1;
}

/* 02 / Specials: true widescreen section with editorial intro and two hero photos. */
.site-v5 .specials-section {
  position:relative;
  display:grid;
  align-items:center;
  min-height:0;
  aspect-ratio:16 / 9;
  padding:clamp(26px,3.2vw,68px) 0;
  background:linear-gradient(135deg,#fff8ed 0%,#f7eee1 100%);
  overflow:hidden;
}
.site-v5 .specials-layout {
  width:calc(100% - (clamp(26px,4.2vw,76px) * 2));
  max-width:1600px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(34px,5vw,110px);
  align-items:center;
  margin-inline:auto;
}
.site-v5 .specials-intro { text-align:left; margin:0; }
.site-v5 .specials-layout .specials-intro h2 {
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(48px,5vw,86px) !important;
  font-weight:760;
  line-height:1.06;
  letter-spacing:-.052em;
  color:var(--sea-deep);
  margin:14px 0 22px;
}
.site-v5 .specials-intro h2 em { display:block; font-weight:750; color:var(--chile); }
.site-v5 .specials-intro > p {
  max-width:510px;
  font-size:clamp(16px,1.15vw,21px);
  line-height:1.65;
  color:#526b6d;
}
.site-v5 .specials-signatures {
  display:flex;
  flex-direction:column;
  gap:15px;
  margin:28px 0 35px;
}
.site-v5 .specials-signatures span {
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:750;
  font-size:clamp(14px,1.1vw,18px);
  color:var(--sea);
}
.site-v5 .specials-signatures i { font-size:25px; color:var(--chile); }
.site-v5 .editorial-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 0;
  border-bottom:2px solid var(--chile);
  text-decoration:none;
  color:var(--chile);
  font-size:16px;
  font-weight:800;
}
.site-v5 .specials-grid { display:grid; grid-template-columns:1fr; gap:clamp(11px,1.25vw,22px); }
.site-v5 .special-card {
  position:relative;
  min-height:0;
  aspect-ratio:16 / 9;
  width:100%;
  height:auto;
  overflow:hidden;
  border:1px solid #ecd7c4;
  border-radius:16px;
  background:var(--sea);
  box-shadow:0 12px 22px #3c201224;
}
.site-v5 .special-card > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center center;
}
.site-v5 .special-card::after {
  display:block;
  background:linear-gradient(0deg,rgba(0,35,41,.95) 0%,rgba(0,37,44,.66) 29%,rgba(0,37,44,.03) 68%,transparent 100%);
}
.site-v5 .special-content { padding:clamp(15px,1.6vw,28px); gap:3px; }
.site-v5 .special-content h3 { margin:5px 0; font-size:clamp(23px,2.15vw,36px) !important; }
.site-v5 .special-tag { background:#b91225ee; border:1px solid #e89ca2aa; color:#fff; }
.site-v5 .special-actions { margin-top:7px; gap:14px; }
.site-v5 .special-actions strong { font-size:clamp(19px,1.55vw,26px); color:white; }
.site-v5 .special-actions button {
  min-height:42px;
  background:var(--chile-bright);
  color:white;
  border:1px solid #ffd2c7;
}

/* 03 / Ordering guide: visual sequence rather than oversized empty text. */
.site-v5 .steps-section {
  position:relative;
  display:grid;
  align-items:center;
  min-height:0;
  aspect-ratio:16 / 9;
  padding:clamp(30px,3.5vw,64px) 0;
  overflow:hidden;
  background:radial-gradient(ellipse at 8% 88%,#16738199,transparent 41%),
             linear-gradient(126deg,#00323d 0%,#00515b 100%);
  color:#fff;
}
.site-v5 .steps-section::before {
  content:'';
  position:absolute;
  inset:0;
  opacity:.1;
  background-image:repeating-linear-gradient(155deg,transparent 0 36px,#b6e2e3 37px,#b6e2e3 38px,transparent 39px 78px);
  pointer-events:none;
}
.site-v5 .steps-layout {
  position:relative;
  width:calc(100% - (clamp(26px,4.2vw,76px) * 2));
  max-width:1600px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(40px,6vw,124px);
  align-items:center;
  margin-inline:auto;
}
.site-v5 .steps-heading { text-align:left; color:#fff; }
.site-v5 .steps-heading .eyebrow { color:#b1e3e2; }
.site-v5 .steps-heading h2 {
  margin:12px 0 20px;
  max-width:570px;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(51px,5.45vw,92px) !important;
  letter-spacing:-.06em;
  line-height:1.03;
  font-weight:750;
  color:#fff;
}
.site-v5 .steps-heading h2 em { display:block; color:#ffcc74; }
.site-v5 .steps-lead {
  max-width:480px;
  margin:0;
  font-size:clamp(16px,1.12vw,19px);
  line-height:1.65;
  color:#d4e9e8;
}
.site-v5 .steps-emblem {
  display:flex;
  align-items:center;
  gap:16px;
  margin:clamp(20px,3vw,48px) 0;
  padding:16px 0;
  width:max-content;
  max-width:100%;
  border-block:1px solid #bfe6e43d;
  font-family:'Fraunces',Georgia,serif;
  color:#f8ebda;
  font-size:clamp(20px,1.7vw,29px);
  font-style:italic;
}
.site-v5 .steps-emblem i {
  font-size:clamp(55px,6.5vw,100px);
  font-style:normal;
  line-height:1;
  color:#f5bd66;
}
.site-v5 .steps-note {
  display:flex;
  gap:10px;
  align-items:start;
  max-width:460px;
  margin:0;
  font-size:14px;
  color:#fff3cf;
  line-height:1.5;
  text-align:left;
}
.site-v5 .steps-note i { font-size:24px; flex-shrink:0; color:#f5bd66; }
.site-v5 .steps-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(12px,1.35vw,25px);
  border:0;
}
.site-v5 .step,
.site-v5 .step:nth-child(2),
.site-v5 .step:last-child {
  display:grid;
  grid-template-columns:minmax(42px,60px) minmax(0,1fr) 48px;
  align-items:center;
  justify-content:normal;
  gap:clamp(12px,1.5vw,25px);
  aspect-ratio:auto;
  width:100%;
  height:auto;
  min-height:clamp(112px,9.7vw,168px);
  padding:clamp(17px,2vw,32px);
  background:rgba(255,255,255,.09);
  color:#fff;
  border:1px solid #a9d7d451;
  border-radius:16px;
  box-shadow:0 8px 20px #00232d17;
}
.site-v5 .step-num {
  align-self:center;
  margin:0;
  color:#ffca72;
  font-size:clamp(34px,3.1vw,53px);
  line-height:1;
}
.site-v5 .step h3 {
  margin:0 0 7px;
  font-size:clamp(18px,1.48vw,25px) !important;
  color:white;
  line-height:1.2;
}
.site-v5 .step p {
  max-width:510px;
  margin:0;
  font-size:clamp(13px,1.03vw,17px) !important;
  line-height:1.45 !important;
  color:#d1e9e8;
}
.site-v5 .step-icon { align-self:center; justify-self:end; color:#f4c77c; font-size:38px; }

/* 04 / Delivery: a real, aligned 16:9 editorial section. */
.site-v5 .delivery-section {
  position:relative;
  display:grid;
  align-items:center;
  min-height:0;
  aspect-ratio:16 / 9;
  padding:clamp(28px,3.5vw,74px) 0;
  background:linear-gradient(120deg,#e4f3ee,#f1f5ed 68%,#e5efe9);
  overflow:hidden;
}
.site-v5 .delivery-layout {
  width:calc(100% - (clamp(26px,4.2vw,76px) * 2));
  max-width:1600px;
  display:grid;
  grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);
  gap:clamp(35px,5vw,100px);
  align-items:center;
  margin-inline:auto;
}
.site-v5 .delivery-copy h2 {
  max-width:650px;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(46px,5.1vw,85px) !important;
  line-height:1.09;
  letter-spacing:-.053em;
  color:var(--sea-deep);
  margin:15px 0 21px;
}
.site-v5 .delivery-copy h2 em { display:block; color:var(--chile); }
.site-v5 .delivery-copy > p {
  max-width:600px;
  margin:0 0 22px;
  font-size:clamp(16px,1.16vw,20px);
  line-height:1.65;
}
.site-v5 .delivery-facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin:18px 0 23px;
}
.site-v5 .delivery-facts span {
  display:flex;
  align-items:center;
  gap:9px;
  color:#134c55;
  font-weight:760;
  font-size:clamp(12px,.93vw,15px);
  line-height:1.3;
}
.site-v5 .delivery-facts i { color:var(--chile); font-size:23px; }
.site-v5 .delivery-contact { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:11px 0 20px; }
.site-v5 .delivery-copy .button-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:54px;
  padding:12px 24px;
  background:var(--chile);
  border-radius:50px;
  font-size:16px;
}
.site-v5 .delivery-copy small { display:block; max-width:550px; margin-top:14px; line-height:1.5; }
.site-v5 .delivery-photo {
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:16 / 9;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 45px #03495127;
  border:6px solid #ffffffbd;
}
.site-v5 .delivery-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }

/* 05 / Menu: make food items more readable; preserve checkout wiring. */
.site-v5 .menu-section { background:var(--sand); }
.site-v5 .category-card { box-shadow:0 13px 25px #00313a24; }
.site-v5 .product-card { border-radius:13px; box-shadow:0 6px 18px #00333a16; }
.site-v5 .product-body { gap:10px; padding:13px 15px 15px; }
.site-v5 .product-name { font-size:15px; line-height:1.3; }
.site-v5 .product-bottom { margin-top:auto; }
.site-v5 .product-card .product-photo { aspect-ratio:16 / 9; }
@media (min-width:991px) {
  .site-v5 #hot-products { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .site-v5 #cold-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .site-v5 #drink-products { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:681px) and (max-width:990px) {
  .site-v5 #hot-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .site-v5 #cold-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .site-v5 #drink-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* 06 / FAQ is no longer a short strip of isolated text. */
.site-v5 .faq-section {
  position:relative;
  display:grid;
  align-items:center;
  min-height:0;
  aspect-ratio:16 / 9;
  padding:clamp(30px,4vw,75px) 0;
  overflow:hidden;
  background:linear-gradient(145deg,#fffdf8,#f7ede0);
}
.site-v5 .faq-layout {
  width:calc(100% - (clamp(26px,4.2vw,76px) * 2));
  max-width:1600px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:clamp(40px,5.8vw,118px);
  margin-inline:auto;
}
.site-v5 .faq-heading h2 {
  max-width:630px;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(48px,4.8vw,84px) !important;
  line-height:1.08;
  letter-spacing:-.05em;
  color:var(--sea-deep);
  margin:13px 0 14px;
}
.site-v5 .faq-heading h2 em { display:block; color:var(--chile); }
.site-v5 .faq-heading > p { font-size:clamp(16px,1.15vw,20px); color:#5a7271; }
.site-v5 .faq-photo {
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  margin-top:clamp(20px,2.4vw,40px);
  border-radius:17px;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 18px 32px #2a28231e;
}
.site-v5 .faq-photo img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
}
.site-v5 .faq-photo::after {
  content:'';
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(0deg,#002e39c9,transparent);
}
.site-v5 .faq-photo span {
  position:absolute;
  z-index:1;
  left:25px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:12px;
  color:white;
  font-size:clamp(14px,1vw,17px);
  font-weight:800;
  text-shadow:0 2px 5px #0007;
}
.site-v5 .faq-photo span i { font-size:30px; color:#f5cf92; }
.site-v5 .faq-right { min-width:0; }
.site-v5 .faq-items { width:100%; }
.site-v5 .faq-items details {
  background:#fffdf8;
  border:1px solid #e4d8c6;
  border-radius:12px;
  margin:0 0 12px;
  box-shadow:0 6px 14px #253c3f0c;
}
.site-v5 .faq-items details[open] { border-color:#cdab8d; background:#fffaf1; }
.site-v5 .faq-items summary {
  display:flex;
  align-items:center;
  min-height:68px;
  padding:16px 22px;
  font-family:'Plus Jakarta Sans','Manrope',sans-serif;
  font-size:clamp(15px,1.06vw,19px);
  font-weight:800;
  color:var(--sea-deep);
}
.site-v5 .faq-items details p { padding:0 24px 19px; font-size:15px; line-height:1.6; }
.site-v5 .faq-help {
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin-top:23px;
  padding:19px 22px;
  border-radius:13px;
  background:#e3f0ec;
  border:1px solid #d0e3da;
  color:var(--sea-deep);
}
.site-v5 .faq-help > i { font-size:31px; color:var(--chile); }
.site-v5 .faq-help > div { display:flex; flex-direction:column; gap:3px; }
.site-v5 .faq-help strong { font-weight:800; }
.site-v5 .faq-help span { font-size:13px; line-height:1.4; }
.site-v5 .faq-help > a {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--chile);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

/* 07 / Final call to action is red, clearly separated from the teal footer. */
.site-v5 .closing-order {
  position:relative;
  isolation:isolate;
  padding:clamp(65px,6.2vw,115px) 0;
  margin:0;
  overflow:hidden;
  background:radial-gradient(ellipse at 90% 10%,#f03b41a3,transparent 42%),linear-gradient(123deg,#a40819,#d01226 68%,#b60920);
  border-block:0;
  color:#fff;
}
.site-v5 .closing-inner {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:45px;
  width:calc(100% - (clamp(26px,4.2vw,76px) * 2));
  max-width:1600px;
  margin-inline:auto;
}
.site-v5 .closing-copy { z-index:2; max-width:860px; }
.site-v5 .closing-copy .eyebrow { color:#ffdf87; font-weight:800; letter-spacing:.15em; }
.site-v5 .closing-copy h2 {
  margin:10px 0 15px;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(51px,5.3vw,94px) !important;
  line-height:1.08;
  color:#fff;
  letter-spacing:-.054em;
  font-weight:760;
}
.site-v5 .closing-copy h2 em { color:#ffd570; font-weight:760; }
.site-v5 .closing-copy p { color:#fff3ed; font-size:clamp(16px,1.2vw,20px); line-height:1.5; }
.site-v5 .closing-actions {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
}
.site-v5 .closing-actions .button-primary {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:11px;
  width:auto;
  min-height:66px;
  padding:18px 31px;
  border:2px solid #75d3d8 !important;
  background:var(--sea) !important;
  color:white !important;
  border-radius:50px;
  font-size:18px;
  font-weight:850;
  box-shadow:0 12px 24px #58031154;
}
.site-v5 .closing-actions > span { display:flex; align-items:center; gap:8px; font-weight:700; color:#fff0e3; }
.site-v5 .closing-actions > span a { color:white; font-weight:850; text-decoration:none; border-bottom:1px solid #ffffff6b; }
.site-v5 .closing-decor {
  position:absolute;
  z-index:0;
  color:#fff;
  opacity:.09;
  font-size:clamp(130px,18vw,340px);
  line-height:1;
  pointer-events:none;
}
.site-v5 .decor-one { left:34%; top:-110px; transform:rotate(-20deg); }
.site-v5 .decor-two { right:-20px; bottom:-80px; transform:rotate(-22deg); }

/* Mobile: 16:9 image tiles; content sections expand to keep all controls legible. */
@media (max-width:1100px) {
  .site-v5 .specials-section,.site-v5 .steps-section,.site-v5 .delivery-section,.site-v5 .faq-section {
    aspect-ratio:auto;
    min-height:0;
    padding:clamp(44px,5.5vw,74px) 0;
  }
  .site-v5 .specials-layout,.site-v5 .steps-layout,.site-v5 .delivery-layout,.site-v5 .faq-layout {
    width:calc(100% - 52px);
    gap:clamp(22px,3vw,38px);
  }
  .site-v5 .specials-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.03fr); }
  .site-v5 .specials-layout .specials-intro h2 { font-size:clamp(35px,4.9vw,53px) !important; }
  .site-v5 .specials-signatures { margin:18px 0 22px; gap:8px; }
  .site-v5 .specials-signatures span { font-size:13px; }
  .site-v5 .steps-layout { grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); }
  .site-v5 .steps-heading h2 { font-size:clamp(35px,5vw,60px) !important; }
  .site-v5 .steps-emblem { margin:18px 0; font-size:19px; }
  .site-v5 .steps-emblem i { font-size:60px; }
  .site-v5 .step,.site-v5 .step:nth-child(2),.site-v5 .step:last-child {
    min-height:110px; grid-template-columns:42px minmax(0,1fr) 32px; padding:15px; gap:10px;
  }
  .site-v5 .step-num { font-size:33px; }
  .site-v5 .step h3 { font-size:17px !important; }
  .site-v5 .step p { font-size:13px !important; }
  .site-v5 .step-icon { font-size:27px; }
  .site-v5 .delivery-copy h2 { font-size:clamp(36px,4.7vw,56px) !important; }
  .site-v5 .delivery-copy p { font-size:15px; }
  .site-v5 .delivery-facts { grid-template-columns:1fr 1fr; }
  .site-v5 .delivery-facts span { font-size:12px; }
  .site-v5 .faq-layout { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:30px; }
  .site-v5 .faq-heading h2 { font-size:clamp(33px,4.5vw,55px) !important; }
  .site-v5 .faq-items summary { min-height:60px; padding:12px 14px; font-size:14px; }
  .site-v5 .faq-help { padding:13px; grid-template-columns:28px minmax(0,1fr); }
  .site-v5 .faq-help > a { grid-column:2; }
}
@media (max-width:680px) {
  .site-v5 .hero-copy { width:53%; max-width:215px; }
  .site-v5 .hero-copy h1 { font-size:clamp(20px,5.6vw,28px); margin-bottom:13px; }
  .site-v5 .hero-order { min-height:38px; padding:7px 11px !important; font-size:clamp(10px,2.75vw,13px) !important; }
  .site-v5 .hero-section::before { background:linear-gradient(90deg,#00333cc5,rgba(0,49,56,.3) 47%,transparent 67%); }
  .site-v5 .reference-delivery-bar { margin:0; background:var(--sand); padding:20px 0 22px; }
  .site-v5 .reference-delivery-inner {
    width:calc(100% - 24px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
  .site-v5 .reference-delivery-inner a {
    display:flex;
    flex-direction:column;
    justify-content:space-around;
    width:100%;
    aspect-ratio:16 / 9;
    min-height:0;
    max-height:none;
    padding:10px 12px;
    border-top-width:3px;
    border-radius:11px;
  }
  .site-v5 .reference-delivery-inner a > i:first-child {
    width:30px;height:30px;border-radius:8px;font-size:19px;
  }
  .site-v5 .reference-delivery-inner a strong { font-size:clamp(11px,3vw,14px); line-height:1.12; }
  .site-v5 .reference-delivery-inner a small { display:none; }
  .site-v5 .reference-delivery-inner a > span { padding-right:18px; }
  .site-v5 .reference-delivery-inner a .service-arr { font-size:17px; right:9px; bottom:10px; }
  .site-v5 .specials-section,.site-v5 .steps-section,.site-v5 .delivery-section,.site-v5 .faq-section { padding:49px 0; }
  .site-v5 .specials-layout,.site-v5 .steps-layout,.site-v5 .delivery-layout,.site-v5 .faq-layout {
    width:calc(100% - 36px);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:26px;
  }
  .site-v5 .specials-layout .specials-intro h2 { font-size:clamp(38px,10.5vw,53px) !important; margin:10px 0 12px; }
  .site-v5 .specials-intro > p { font-size:15px; line-height:1.5; }
  .site-v5 .specials-signatures { flex-direction:row; flex-wrap:wrap; gap:7px 15px; margin:15px 0 9px; }
  .site-v5 .specials-signatures span { font-size:12px; line-height:1.3; }
  .site-v5 .specials-signatures span i { font-size:19px; }
  .site-v5 .editorial-link { padding:9px 0; font-size:14px; }
  .site-v5 .specials-grid { gap:12px; }
  .site-v5 .special-card { width:100%; aspect-ratio:16 / 9; }
  .site-v5 .special-content { padding:11px 15px; }
  .site-v5 .special-content h3 { font-size:22px !important; margin:3px 0 2px; }
  .site-v5 .special-tag { font-size:9px !important; padding:2px 7px; }
  .site-v5 .special-actions strong { font-size:19px; }
  .site-v5 .special-actions button { min-height:37px; padding:7px 12px; font-size:12px; }
  .site-v5 .steps-heading h2 { font-size:clamp(42px,10.5vw,58px) !important; }
  .site-v5 .steps-lead { font-size:15px; }
  .site-v5 .steps-emblem { display:none; }
  .site-v5 .steps-note { font-size:13px; margin-top:12px; }
  .site-v5 .steps-grid { display:grid; grid-template-columns:1fr; gap:11px; }
  .site-v5 .step,.site-v5 .step:nth-child(2),.site-v5 .step:last-child {
    width:100%;
    min-height:0;
    aspect-ratio:16 / 9;
    display:grid;
    grid-template-columns:39px minmax(0,1fr) 30px;
    align-items:center;
    justify-content:initial;
    gap:9px;
    padding:15px;
  }
  .site-v5 .step-num { font-size:32px; }
  .site-v5 .step h3 { font-size:15px !important; margin-bottom:4px; }
  .site-v5 .step p { font-size:12.5px !important; line-height:1.32 !important; }
  .site-v5 .step-icon { font-size:23px; }
  .site-v5 .delivery-copy h2 { font-size:clamp(40px,9.8vw,57px) !important; margin:10px 0 14px; }
  .site-v5 .delivery-copy > p { font-size:15px; margin-bottom:14px; }
  .site-v5 .delivery-facts { grid-template-columns:1fr; margin:16px 0; gap:10px; }
  .site-v5 .delivery-facts span { font-size:13px; }
  .site-v5 .delivery-copy .button-primary { min-height:48px; padding:10px 15px; font-size:13px; }
  .site-v5 .delivery-photo { aspect-ratio:16 / 9; border-width:4px; border-radius:13px; }
  .site-v5 .menu-section .product-body { padding:10px 12px; }
  .site-v5 #hot-products,.site-v5 #cold-products,.site-v5 #drink-products { grid-template-columns:1fr; }
  .site-v5 .product-card { align-items:center; }
  .site-v5 .faq-heading h2 { font-size:clamp(40px,9.8vw,60px) !important; margin-bottom:10px; }
  .site-v5 .faq-heading > p { font-size:15px; }
  .site-v5 .faq-photo { margin-top:17px; }
  .site-v5 .faq-photo span { left:14px; bottom:13px; font-size:13px; }
  .site-v5 .faq-photo span i { font-size:22px; }
  .site-v5 .faq-items summary { min-height:58px; font-size:14px; padding:14px 16px; }
  .site-v5 .faq-help { grid-template-columns:31px minmax(0,1fr); }
  .site-v5 .faq-help > a { grid-column:2; }
  .site-v5 .closing-order { padding:60px 0 75px; }
  .site-v5 .closing-inner { display:flex; align-items:flex-start; flex-direction:column; gap:25px; width:calc(100% - 40px); }
  .site-v5 .closing-copy h2 { font-size:clamp(43px,10vw,59px) !important; }
  .site-v5 .closing-copy p { font-size:15px; }
  .site-v5 .closing-actions { gap:15px; }
  .site-v5 .closing-actions .button-primary { min-height:55px; padding:14px 23px; font-size:16px; }
  .site-v5 .closing-decor { opacity:.06; font-size:170px; }
  .site-v5 .site-footer { padding-bottom:110px; }
}
@media (max-width:360px) {
  .site-v5 .reference-delivery-inner a { padding:8px 9px; }
  .site-v5 .reference-delivery-inner a strong { font-size:10.8px; }
  .site-v5 .step,.site-v5 .step:nth-child(2),.site-v5 .step:last-child { grid-template-columns:32px minmax(0,1fr); padding:10px; gap:7px; }
  .site-v5 .step-num { font-size:27px; }
  .site-v5 .step-icon { display:none; }
  .site-v5 .step h3 { font-size:13px !important; }
  .site-v5 .step p { font-size:11.2px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .site-v5 .reference-delivery-inner a { transition:none; }
}

/* Final tap-target safeguard on touch screens. */
@media (max-width:680px) {
  .site-v5 .special-actions button,
  .site-v5 .product-bottom .add { min-height:44px; height:44px; }
}
