/* Adams Catering — full-width template
   Local, Higgsfield-free. Rebrand: colours and fonts in :root. */

@font-face {
  font-family: "Anton";
  src: url("/catering-demo/fonts/anton-regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Dan Display";
  src: url("/catering-demo/fonts/dan-1.ttf") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Dan Hand";
  src: url("/catering-demo/fonts/dan-2.ttf") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Dan Review";
  src: url("/catering-demo/fonts/dan-3.ttf") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --ac-ink: #0a2622;
  --ac-teal: #0e7c6f;
  --ac-teal-deep: #07453e;
  --ac-bg: #fdf9f6;
  --ac-surface: #fdf9f6;
  --ac-mist: #eaf2ee;
  --ac-line: #dbe4e0;
  --ac-text: #12302b;
  --ac-text-muted: #5c6f6b;
  --ac-on-dark: #eaf2ee;
  --ac-on-dark-muted: #9fbcb5;
  --w-honey: #f2b230;
  --w-honey-hi: #f8c655;
  --w-void: #061a17;
  --container: 1280px;
  --gutter: clamp(24px, 5vw, 80px);
  --pad-y: clamp(56px, 8svh, 120px);
  --r-media: 18px;
  --r-input: 12px;
  --ac-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ac-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --f-punch: "Anton", "Archivo Black", Haettenschweiler, Impact, sans-serif;
  --f-script: "Dan Display", "Segoe Script", "Bradley Hand", cursive;
  --f-hand: "Dan Hand", "Dan Display", "Segoe Script", "Bradley Hand", cursive;
  --f-review: "Dan Review", "Dan Display", "Segoe Script", "Bradley Hand", cursive;
  --f-display: Georgia, "Iowan Old Style", serif;
  --f-body: "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}
html, body {
  margin: 0;
  background: var(--ac-bg);
  color: var(--ac-text);
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
html { background: var(--ac-bg); }
body { background: var(--ac-bg); }
.site {
  width: 100%;
  max-width: var(--site-max, 1920px);
  margin-inline: auto;
  background: var(--ac-bg);
}
body[data-site-width="1440"] { --site-max: 1440px; }
body[data-site-width="1600"] { --site-max: 1600px; }
body[data-site-width="1680"] { --site-max: 1680px; }
body[data-site-width="1920"] { --site-max: 1920px; }
body[data-site-width="full"] { --site-max: none; }
body[data-site-width="phone"] { --site-max: 390px; }
.width-switch { display: none !important; }
.width-switch button {
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.7);
  border-radius: 999px;
  padding: 6px 9px;
  cursor: pointer;
}
.width-switch button[data-on="true"] {
  background: var(--w-honey);
  color: #10231f;
}
img, video { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

.ac-wrap {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.ac-section { padding-block: var(--pad-y); }
.ac-section__head { max-width: 38rem; }
.ac-section--dark {
  background: var(--ac-ink);
  color: var(--ac-on-dark);
}
.ac-section--dark .ac-h2,
.ac-section--dark .ac-display { color: var(--ac-on-dark); }
.ac-section--dark .ac-lede { color: var(--ac-on-dark-muted); }

.ac-display {
  font-family: var(--f-display);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.03;
  color: var(--ac-ink);
}
.ac-h2 { font-size: clamp(1.9rem, 3.6vw, 3.1rem); }
.ac-h3 {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(1.25rem, 1.7vw, 1.6rem);
  line-height: 1.08;
  margin: 0;
}
.ac-lede {
  font-size: clamp(1.02rem, 1.25vw, 1.2rem);
  line-height: 1.35;
  color: var(--ac-text-muted);
  max-width: 46ch;
  margin: 0;
}
.ac-body { color: var(--ac-text-muted); max-width: 62ch; margin: 0; }
.ac-helper { font-size: 0.8rem; color: var(--ac-text-muted); }

.ac-nav-sentinel { height: 1px; }

/* Nav */
.ac-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  background: color-mix(in srgb, var(--ac-bg) 88%, transparent);
  backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid transparent;
}
.ac-nav[data-stuck="true"] {
  border-bottom-color: var(--ac-line);
  background: color-mix(in srgb, var(--ac-bg) 96%, transparent);
}
.ac-nav__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  height: 72px;
}
.ac-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
}
.ac-mark__roundel {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--ac-teal);
  color: #fff;
  display: grid;
  place-items: center;
  font-family: var(--f-display);
  font-size: 1.25rem;
}
.ac-mark__words { display: flex; flex-direction: column; line-height: 1; }
.ac-mark__top {
  font-family: var(--f-display);
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--ac-ink);
}
.ac-mark__bottom {
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ac-teal);
  margin-top: 3px;
}
.ac-nav__links {
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ac-nav__link {
  font-size: 0.93rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  padding-block: 4px;
}
.ac-nav__link::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1.5px;
  background: var(--ac-teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ac-ease);
}
.ac-nav__link:hover::after { transform: scaleX(1); }
.ac-nav__toggle {
  display: none;
  border: 1px solid var(--ac-line);
  background: var(--ac-surface);
  border-radius: 999px;
  width: 42px;
  height: 42px;
  cursor: pointer;
}
.ac-nav__toggle span {
  display: block;
  width: 16px;
  height: 1.5px;
  background: var(--ac-ink);
  margin-inline: auto;
  position: relative;
}
.ac-nav__toggle span::before,
.ac-nav__toggle span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 16px;
  height: 1.5px;
  background: var(--ac-ink);
}
.ac-nav__toggle span::before { top: -5px; }
.ac-nav__toggle span::after { top: 5px; }
.ac-drawer {
  display: none;
  border-top: 1px solid var(--ac-line);
  background: var(--ac-surface);
  padding: 1rem var(--gutter) 1.6rem;
}
.ac-drawer a {
  display: block;
  padding: 0.85rem 0;
  text-decoration: none;
  border-bottom: 1px solid var(--ac-line);
}
.ac-drawer__social {
  display: flex;
  gap: 10px;
  padding: 1rem 0 0.35rem;
}
.ac-drawer__social a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
}
.ac-drawer__social a:hover {
  background: var(--w-honey-hi);
}
.ac-drawer .ac-cta-solid {
  margin-top: 12px;
  text-align: center;
  border-bottom: 0;
}
.ac-nav__end { display: flex; align-items: center; gap: 12px; }
.ac-basket-btn {
  position: relative;
  width: 44px;
  height: 44px;
  border: 1px solid var(--ac-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ac-ink);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.ac-basket-btn:hover { border-color: var(--ac-teal); color: var(--ac-teal); }
.ac-basket-btn__count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 18px;
  text-align: center;
}
.ac-basket-btn__count[hidden] { display: none; }
.ac-drawer [data-basket-open] {
  display: block;
  width: 100%;
  padding: 0.85rem 0;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--ac-line);
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.ac-cta-solid {
  display: inline-flex;
  align-items: center;
  background: var(--ac-teal);
  color: #fff;
  border: 1px solid var(--ac-teal);
  border-radius: 999px;
  padding: 0.85rem 1.55rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.ac-cta-solid:hover { background: var(--ac-teal-deep); }
.ac-cta-solid--on-teal {
  background: #fff;
  color: var(--ac-teal-deep);
  border-color: #fff;
}

/* Display type */
.w-display {
  font-family: var(--f-punch);
  font-weight: 400;
  text-transform: uppercase;
  color: #fff;
  line-height: 0.85;
  letter-spacing: -0.008em;
  font-size: clamp(2.7rem, 7vw, 7.4rem);
  margin: 0;
}
.w-display > span { display: block; white-space: nowrap; }
.w-letter {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 0.32em, 0);
}
.w-display.is-in .w-letter,
.w-hero__phone-title.is-in .w-letter,
.w-band__live-title.is-in .w-letter {
  animation: w-letter-in 0.48s var(--ac-ease) forwards;
  animation-delay: calc(var(--i) * 42ms);
}
@keyframes w-letter-in {
  to {
    opacity: 1;
    transform: none;
  }
}
.w-display--xl {
  font-size: clamp(3.1rem, 10.2vw, 11.5rem);
  line-height: 0.82;
}
.w-display--md {
  font-size: clamp(2.1rem, 4.4vw, 4.4rem);
  line-height: 0.9;
}
.w-script {
  font-family: var(--f-script);
  font-weight: 600;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  line-height: 1.1;
  color: var(--w-honey);
  margin: 0 0 clamp(8px, 1.2vh, 16px);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Hero — full-bleed 16:9 film */
.w-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 100svh;
  overflow: hidden;
  background: var(--w-void);
  isolation: isolate;
}
.w-hero picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  transition: opacity 0.9s var(--ac-ease-soft);
}
.w-hero.is-film picture { opacity: 0; }
.w-hero__still--phone { display: none; }
.w-hero__still,
.w-hero__video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.w-hero__video {
  z-index: 1;
  opacity: 0;
  transition: opacity 0.9s var(--ac-ease-soft);
  pointer-events: none;
}
.w-hero.is-film .w-hero__video { opacity: 1; }
.w-hero__video--phone { display: none; }
.w-hero__pips {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: clamp(14px, 2.4vh, 28px);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
}
.w-hero__pip {
  width: 52px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: rgba(6, 26, 23, 0.32);
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 18px rgba(6, 26, 23, 0.28);
  transition: background 0.2s var(--ac-ease), border-color 0.2s var(--ac-ease);
}
.w-hero__pip span {
  display: block;
  width: 18px;
  height: 4px;
  border-radius: 999px;
  background: #fff;
  transition: width 0.25s var(--ac-ease), background 0.25s var(--ac-ease);
}
.w-hero__pip[aria-pressed="true"] {
  background: var(--w-honey);
  border-color: var(--w-honey);
}
.w-hero__pip[aria-pressed="true"] span {
  width: 22px;
  background: #10231f;
}
.w-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image:
    radial-gradient(118% 124% at 0% 100%, rgba(6, 26, 23, 0.95) 0%, rgba(6, 26, 23, 0.72) 26%, rgba(6, 26, 23, 0.34) 50%, rgba(6, 26, 23, 0) 74%),
    linear-gradient(to right, rgba(6, 26, 23, 0.34) 0%, rgba(6, 26, 23, 0) 44%);
}
.w-hero__scrim--film {
  background-image: linear-gradient(to top, rgba(6, 26, 23, 0.55) 0%, rgba(6, 26, 23, 0.12) 38%, rgba(6, 26, 23, 0) 62%);
  pointer-events: none;
}
.w-hero__type--film {
  grid-template-columns: 1fr;
  justify-items: start;
}
.w-hero__type--film .w-hero__actions { margin-top: 0; }
.w-hero__type {
  position: absolute;
  z-index: 2;
  inset: auto 0 0 0;
  max-width: var(--container);
  margin-inline: auto;
  padding: clamp(40px, 7vh, 90px) var(--gutter) clamp(26px, 5vh, 62px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: clamp(24px, 3vw, 48px);
  row-gap: clamp(16px, 2.4vh, 30px);
}
.w-hero__head { grid-column: 1 / -1; }
.w-hero__lede { grid-column: 1; }
.w-hero__inset {
  grid-column: 2;
  margin: 0;
  width: clamp(220px, 20vw, 320px);
  border-radius: var(--r-media);
  overflow: hidden;
  background: var(--w-void);
  border: 1px solid rgba(234, 242, 238, 0.3);
  box-shadow: 0 26px 60px rgba(4, 18, 16, 0.55);
}
.w-hero__film {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.w-hero__sub {
  max-width: 44ch;
  margin: clamp(14px, 2vh, 24px) 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1rem, 1.05vw, 1.16rem);
  line-height: 1.55;
}
.w-hero__phone { display: none; }
.w-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: clamp(20px, 3vh, 34px);
}
.w-cta {
  display: inline-flex;
  align-items: center;
  padding: clamp(13px, 1.4vh, 17px) clamp(22px, 2vw, 32px);
  border-radius: 999px;
  background: var(--w-honey);
  color: #10231f;
  font-weight: 700;
  font-size: clamp(0.94rem, 0.95vw, 1.04rem);
  text-decoration: none;
}
.w-cta:hover { background: var(--w-honey-hi); }
.w-cta--ghost {
  background: rgba(255, 255, 255, 0.09);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.34);
}

/* Marquee */
.w-marquee {
  overflow: hidden;
  background: var(--ac-teal);
  color: #fff;
  padding-block: clamp(11px, 1.5vh, 17px);
}
.w-marquee__track {
  display: flex;
  width: max-content;
  animation: w-marq 44s linear infinite;
}
.w-marquee__group { display: flex; align-items: center; }
.w-marquee__item {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.6vw, 40px);
  padding-right: clamp(18px, 2.6vw, 40px);
  font-family: var(--f-punch);
  font-size: clamp(0.92rem, 1.35vw, 1.3rem);
  letter-spacing: 0.015em;
  text-transform: uppercase;
  white-space: nowrap;
}
.w-marquee__dot {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: var(--w-honey);
}
@keyframes w-marq {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

/* Honey facts strip */
.w-block {
  background: var(--w-honey);
  color: #10231f;
  display: flex;
  align-items: center;
  padding-block: clamp(14px, 2.1vh, 24px);
  scroll-margin-top: 88px;
}
.w-note-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(28px, 3.6vw, 52px);
  align-items: center;
}
.w-note { max-width: none; margin: 0; }
.w-note__copy {
  margin: 0;
  font-family: var(--f-hand);
  font-size: clamp(1.42rem, 2.35vw, 2.12rem);
  line-height: 1.22;
  font-weight: 400;
}
.w-note__copy a {
  color: inherit;
  text-underline-offset: 0.18em;
}
.w-type { opacity: 0; }
[data-typewriter].is-in .w-type {
  animation: w-type-in 0.01s linear forwards;
  animation-delay: calc(var(--i) * 16ms);
}
@keyframes w-type-in {
  to { opacity: 1; }
}
.w-pillrow {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}
.w-pill {
  padding: 5px 11px;
  border-radius: 999px;
  border: 1.5px solid rgba(16, 35, 31, 0.3);
  font-size: 0.75rem;
  font-weight: 600;
}

/* Full-bleed bands */
.w-band {
  position: relative;
  display: grid;
  align-items: end;
  min-height: clamp(460px, 74svh, 840px);
  overflow: hidden;
  background: var(--w-void);
  isolation: isolate;
}
.w-band--art {
  min-height: 0;
  aspect-ratio: 21 / 9;
  display: block;
  container-type: inline-size;
}
.w-bands--painted {
  background: var(--ac-bg);
  padding-block: 0;
  scroll-margin-top: 88px;
}
.w-bands--painted .w-band--art {
  background: var(--w-void);
}
.w-band-break {
  height: clamp(22px, 3.2vh, 38px);
  margin: 4px 7%;
  background: var(--w-honey);
  -webkit-mask-image: url("/catering-demo/assets/marks/swipe-flat.webp");
  mask-image: url("/catering-demo/assets/marks/swipe-flat.webp");
  -webkit-mask-size: 100% 240%;
  mask-size: 100% 240%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.w-band-break[data-tint="teal"] { background: var(--ac-teal); }
.w-band-break[data-tint="tomato"] { background: #e4573d; }
.w-band-break[data-tint="pink"] { background: #e07a9a; }
.w-band-break[data-tint="lilac"] { background: #b57bb8; }
.w-band-break--air {
  margin-block: clamp(12px, 1.9vh, 22px);
}
.w-band__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.w-band__media--phone { display: none; }
.w-bands__scrub { display: none; }
.w-bands__nudge { display: none; }
.w-band__phone { display: none; }
.w-band__scrim { position: absolute; inset: 0; z-index: 1; }
.w-band[data-align="left"] .w-band__scrim {
  background-image: linear-gradient(to top, rgba(6, 26, 23, 0.92) 0%, rgba(6, 26, 23, 0.52) 38%, rgba(6, 26, 23, 0.03) 72%);
}
.w-band[data-align="right"] .w-band__scrim {
  background-image: linear-gradient(212deg, rgba(6, 26, 23, 0.92) 0%, rgba(6, 26, 23, 0.46) 42%, rgba(6, 26, 23, 0.02) 76%);
}
.w-band[data-align="center"] .w-band__scrim {
  background-image: radial-gradient(126% 92% at 50% 80%, rgba(6, 26, 23, 0.9) 0%, rgba(6, 26, 23, 0.44) 46%, rgba(6, 26, 23, 0.04) 80%);
}
.w-band__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding: clamp(30px, 5vh, 62px) var(--gutter) clamp(34px, 6vh, 78px);
}
.w-band[data-align="right"] .w-band__inner { text-align: right; }
.w-band[data-align="center"] .w-band__inner { text-align: center; }
.w-band__body { max-width: 58ch; }
.w-band[data-align="right"] .w-band__body { margin-left: auto; }
.w-band[data-align="center"] .w-band__body { margin-inline: auto; }
.w-band__copy {
  max-width: 50ch;
  margin: clamp(16px, 2.2vh, 24px) 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1rem, 1.02vw, 1.12rem);
  line-height: 1.6;
}
.w-band[data-align="right"] .w-band__copy { margin-left: auto; }
.w-band[data-align="center"] .w-band__copy { margin-inline: auto; }
.w-band__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(12px, 1.6vw, 22px);
  margin: clamp(20px, 3vh, 32px) 0 0;
}
.w-band[data-align="right"] .w-band__foot { justify-content: flex-end; }
.w-band[data-align="center"] .w-band__foot { justify-content: center; }
.w-band__price {
  font-family: var(--f-punch);
  font-size: clamp(1.3rem, 1.9vw, 1.95rem);
  color: var(--w-honey);
  text-transform: uppercase;
}
.w-band__meta {
  padding: 8px 15px;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 255, 255, 0.38);
  color: #fff;
  font-size: 0.87rem;
  font-weight: 600;
}
.w-seal {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: clamp(86px, 8vw, 126px);
  aspect-ratio: 1;
  padding: 12px;
  border-radius: 50%;
  text-align: center;
  font-family: var(--f-punch);
  font-size: clamp(0.62rem, 0.82vw, 0.84rem);
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transform: rotate(-9deg);
  box-shadow: 0 16px 36px rgba(4, 20, 18, 0.34);
  background: var(--w-honey);
  color: #10231f;
}
.w-seal--tr { top: clamp(22px, 4vh, 50px); right: var(--gutter); }
.w-seal--tl {
  top: clamp(22px, 4vh, 50px);
  left: var(--gutter);
  transform: rotate(8deg);
}
.w-band[data-tone="light"] .w-band__scrim {
  background-image:
    linear-gradient(to top, rgba(251, 248, 242, 0.95) 0%, rgba(251, 248, 242, 0.62) 36%, rgba(251, 248, 242, 0) 70%),
    linear-gradient(to bottom, rgba(6, 26, 23, 0.24) 0%, rgba(6, 26, 23, 0) 28%);
}
.w-band[data-tone="light"] .w-display { color: var(--ac-ink); }
.w-band[data-tone="light"] .w-band__copy { color: rgba(18, 48, 43, 0.8); }
.w-band[data-tone="light"] .w-band__price { color: var(--ac-teal); }
.w-band[data-tone="light"] .w-band__meta {
  color: var(--ac-ink);
  border-color: rgba(16, 35, 31, 0.32);
}

/* Duo */
.w-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(5px, 0.45vw, 8px);
  background: var(--ac-bg);
}
.w-duo__item {
  position: relative;
  display: grid;
  align-items: end;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--w-void);
  container-type: inline-size;
}
.w-duo__slides {
  position: absolute;
  inset: 0;
}
.w-duo__item img,
.w-duo__slides img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.w-duo__slides img {
  opacity: 0;
  transition: opacity 0.9s ease;
}
.w-duo__slides img.is-on { opacity: 1; }
.w-duo__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(to top, rgba(6, 26, 23, 0.88) 0%, rgba(6, 26, 23, 0.4) 44%, rgba(6, 26, 23, 0.04) 76%);
}
.w-duo__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  align-items: end;
  padding: clamp(24px, 3.4vh, 46px) clamp(22px, 2.6vw, 52px);
}
.w-duo__copy {
  grid-area: 1 / 1 / 2 / 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  align-items: end;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.9s ease, visibility 0.9s ease;
}
.w-duo__copy.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.w-duo__note {
  grid-column: 1 / -1;
  grid-row: 2;
  max-width: 34ch;
  margin: clamp(12px, 1.6vh, 18px) 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 2.24cqi;
  line-height: 1.32;
}
.w-duo__inner > .w-display,
.w-duo__copy > .w-display {
  grid-column: 1;
  grid-row: 1;
}
.w-duo .w-display--md {
  font-size: 9.8cqi;
}
.w-duo__pill {
  position: relative;
  z-index: 3;
  top: auto;
  right: auto;
  bottom: auto;
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0 0 0.18em;
  box-sizing: border-box;
  min-width: 0;
  padding: 0.42rem 0.7rem;
  border: 0;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
  font-family: inherit;
  font-size: 1.85cqi;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.w-duo__pill[data-duo-panel] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.9s ease, visibility 0.9s ease;
}
.w-duo__pill[data-duo-panel].is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.w-duo__pill:hover,
.w-duo__pill:focus-visible {
  background: var(--w-honey-hi);
}
.w-duo__pill:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.w-duo__item.is-care .w-duo__inner {
  max-width: 64%;
}
.w-duo__item.is-care .w-duo__pill--plant,
.w-duo__item.is-care .w-duo__pill--blog {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.w-duo__care {
  position: absolute;
  z-index: 4;
  right: clamp(16px, 1.8vw, 28px);
  bottom: clamp(20px, 3vh, 40px);
  top: auto;
  width: min(46%, 300px);
  max-height: calc(100% - 36px);
  overflow: auto;
  box-sizing: border-box;
  padding: 1.05rem 1.05rem 1.15rem;
  border-radius: 16px;
  background: var(--ac-bg);
  color: var(--ac-text);
  box-shadow: 0 18px 40px rgba(4, 18, 16, 0.35);
  transition: opacity 0.22s var(--ac-ease), transform 0.22s var(--ac-ease);
}
.w-duo__care.is-leaving {
  opacity: 0;
  transform: translateY(6px);
}
.w-duo__care[hidden] { display: none; }
.w-duo__care-close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: transparent;
  color: var(--ac-teal);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}
.w-duo__care-kicker {
  margin: 0 1.8rem 0 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ac-teal);
}
.w-duo__care-title {
  margin: 0.35rem 1.6rem 0.7rem 0;
  font-family: var(--f-punch);
  font-size: clamp(1.35rem, 2.2cqi, 1.85rem);
  line-height: 0.95;
  text-transform: uppercase;
  color: var(--ac-ink);
}
.w-duo__care p {
  margin: 0 0 0.7rem;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--ac-text);
}
.w-duo__care p:last-child { margin-bottom: 0; }
.w-duo__care-post {
  margin: 0.65rem 0 0;
  padding-top: 0.6rem;
  border-top: 1px solid var(--ac-line);
}
.w-duo__care-post time {
  display: block;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ac-teal);
}
.w-duo__care-post h4 {
  margin: 0.16rem 0 0.18rem;
  font-size: 0.92rem;
  line-height: 1.2;
  color: var(--ac-ink);
}
.w-duo__care-post p { margin: 0; }

/* Planner — compact quote console */
.ac-planner-sec {
  background: var(--ac-ink);
  color: var(--ac-on-dark);
  padding-block: clamp(28px, 4.5vh, 52px) clamp(20px, 3vh, 32px);
  scroll-margin-top: 88px;
}
.ac-planner-sec:not(.ac-enquiry-sec) {
  padding-block: clamp(32px, 4.2vh, 48px);
}
.ac-planner-sec .ac-h2 { color: var(--ac-on-dark); margin: 0; }
.ac-planner-sec .ac-lede {
  color: var(--ac-on-dark-muted);
  margin: 8px 0 0;
  max-width: 42ch;
}
.ac-planner {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(22px, 3vh, 34px);
}
.ac-planner__intro { margin: 0; }
.ac-planner__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(16px, 3vw, 40px);
  align-items: center;
  padding-bottom: clamp(16px, 2.2vh, 22px);
  border-bottom: 1px solid rgba(234, 242, 238, 0.12);
}
.ac-quote {
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0;
  border-radius: 0;
}
.ac-quote__kicker {
  margin: 0;
  font-size: 0.8rem;
  color: var(--ac-on-dark-muted);
}
.ac-quote__total {
  font-family: var(--f-display);
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  font-weight: 500;
  line-height: 1;
  color: var(--w-honey);
  margin: 6px 0 8px;
}
.ac-planner__result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(16px, 3vw, 40px);
  align-items: center;
  padding-top: clamp(18px, 2.5vh, 26px);
  border-top: 1px solid rgba(234, 242, 238, 0.12);
}
.ac-planner__controls {
  display: grid;
  grid-template-columns: 1.5fr 0.7fr;
  gap: clamp(16px, 2.4vw, 32px);
  align-items: end;
  margin: 0;
}
.ac-guests__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 0.45rem;
}
.ac-guests__head .ac-field-label { margin-bottom: 0; }
.ac-guests__num {
  width: 4.5em;
  height: 36px;
  box-sizing: border-box;
  border-radius: var(--r-input);
  border: 1px solid rgba(234, 242, 238, 0.28);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ac-on-dark);
  font: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: center;
  padding: 0 0.3rem;
  -moz-appearance: textfield;
}
.ac-guests__num::-webkit-outer-spin-button,
.ac-guests__num::-webkit-inner-spin-button { opacity: 1; }
.ac-guests__num:focus {
  outline: 2px solid var(--w-honey);
  outline-offset: 2px;
}
.ac-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: rgba(234, 242, 238, 0.25);
}
.ac-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--w-honey);
  border: 3px solid var(--ac-ink);
}
.ac-range-ends {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 0.74rem;
  color: var(--ac-on-dark-muted);
}
.ac-chiprow { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ac-chip {
  border: 1px solid rgba(234, 242, 238, 0.28);
  background: transparent;
  color: var(--ac-on-dark);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  cursor: pointer;
}
.ac-chip[aria-pressed="true"] {
  background: var(--ac-teal);
  border-color: var(--ac-teal);
  color: #fff;
}
.ac-select {
  width: 100%;
  height: 44px;
  border-radius: var(--r-input);
  border: 1px solid rgba(234, 242, 238, 0.28);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ac-on-dark);
  padding-inline: 0.9rem;
}
.ac-select option { color: #12302b; background: #fff; }
.ac-planner__summary {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(234, 242, 238, 0.82);
  line-height: 1.45;
}
.ac-planner__foods .ac-field-label { margin-bottom: 0.55rem; }
.ac-planner__diets {
  margin-top: clamp(18px, 3vh, 28px);
  padding-top: clamp(16px, 2.2vh, 22px);
  border-top: 1px solid rgba(234, 242, 238, 0.12);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}
.ac-planner__diets .ac-field-label { margin-bottom: 0.55rem; }
.ac-planner__diets .ac-chiprow { justify-content: flex-end; }

@media (min-width: 901px) {
  .ac-planner {
    gap: clamp(16px, 2.2vh, 24px);
  }
  .ac-planner-sec:not(.ac-enquiry-sec) {
    padding-block: clamp(26px, 3.4vh, 40px);
  }
  .ac-planner__diets {
    margin-top: 0;
    padding-top: 14px;
  }
}

/* Menus — a photo strip, not a tall card grid */
.ac-menus {
  padding: clamp(22px, 3.4vh, 40px) var(--gutter) clamp(14px, 2vh, 24px);
  background: var(--ac-bg);
  scroll-margin-top: 88px;
}
.ac-menus__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 14px 28px;
  margin-bottom: 16px;
}
.ac-menus .ac-h2 { line-height: 0.98; margin: 0; }
.ac-menus__bar .ac-lede {
  margin: 4px 0 0;
  max-width: 44ch;
  font-size: 1rem;
}
.ac-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0;
}
.ac-tab {
  border: 1px solid var(--ac-line);
  background: var(--ac-surface);
  border-radius: 999px;
  padding: 0.45rem 1rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ac-text-muted);
  cursor: pointer;
}
.ac-tab[aria-selected="true"] {
  background: var(--ac-ink);
  border-color: var(--ac-ink);
  color: var(--ac-on-dark);
}
.ac-cards {
  display: grid;
  grid-template-columns: repeat(var(--menu-cols, 3), minmax(0, 1fr));
  gap: 8px;
  margin-top: 0;
}
.ac-card {
  border: 0;
  border-radius: 12px;
  background: var(--ac-surface);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@media (min-width: 901px) {
  html:not(.ac-phone-preview) .ac-menus--motion .ac-card {
    opacity: 0;
    transform: translateY(34px) scale(0.92);
  }
  html:not(.ac-phone-preview) .ac-menus--motion .ac-card.is-pop {
    animation: ac-menu-card-pop 0.72s var(--ac-ease) both;
    animation-delay: calc(var(--i, 0) * 85ms);
  }
}
@keyframes ac-menu-card-pop {
  0% { opacity: 0; transform: translateY(34px) scale(0.92); }
  64% { opacity: 1; transform: translateY(-8px) scale(1.03); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.ac-card--slot {
  outline: 1.5px dashed color-mix(in srgb, var(--ac-teal) 35%, var(--ac-line));
  outline-offset: -1px;
}
.ac-card__media {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--ac-mist);
  cursor: pointer;
}
.ac-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 34%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(6, 26, 23, 0.34) 0%, rgba(6, 26, 23, 0.12) 42%, rgba(6, 26, 23, 0) 100%);
}
.ac-card--slot .ac-card__media {
  opacity: 0.72;
}
.ac-card__media img,
.ac-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
}
.ac-card__film {
  position: absolute;
  inset: 0;
}
@media (hover: hover) and (pointer: fine) {
  .ac-card__media img,
  .ac-card__media video {
    transition: transform 0.7s var(--ac-ease-soft);
  }
  .ac-card:hover .ac-card__media:not(:has(video)) img,
  .ac-card:focus-within .ac-card__media:not(:has(video)) img {
    transform: scale(1.045);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ac-card__film { display: none; }
  .ac-card__media img,
  .ac-card__media video {
    transition: none;
    transform: none;
  }
  html:not(.ac-phone-preview) .ac-menus--motion .ac-card,
  html:not(.ac-phone-preview) .ac-menus--motion .ac-card.is-pop {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.ac-card__body {
  padding: 0.7rem 0.9rem 0.95rem;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  flex: 1;
}
.ac-card__slot {
  margin: 0 0 0.15rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ac-teal);
}
.ac-card__body .ac-body {
  font-size: 0.82rem;
  line-height: 1.3;
  max-width: none;
  margin: 0;
  padding-bottom: 0.7rem;
}
.ac-card__price {
  margin-top: auto;
  align-self: flex-start;
  box-sizing: border-box;
  min-width: 8.7em;
  padding: 0.42rem 0.7rem;
  border: 0;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
  font-family: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.ac-card__price:hover,
.ac-card__price:focus-visible {
  background: var(--w-honey-hi);
}
.ac-card__price:focus-visible {
  outline: 2px solid var(--ac-ink);
  outline-offset: 2px;
}
.menu-panel[hidden] { display: none; }

.ac-menu-pop {
  position: fixed;
  width: min(640px, calc(100vw - 28px));
  max-height: min(82vh, 740px);
  overflow: auto;
  padding: 28px 28px 32px;
  border: 0;
  border-radius: 18px;
  background: var(--ac-bg);
  color: var(--ac-text);
  box-shadow: 0 24px 60px rgba(6, 26, 23, 0.28);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.22s var(--ac-ease), transform 0.22s var(--ac-ease);
}
.ac-menu-pop[open] {
  opacity: 1;
  transform: none;
}
.ac-menu-pop[open].is-leaving {
  opacity: 0;
  transform: translateY(6px);
}
.ac-menu-pop::backdrop {
  background: rgba(6, 26, 23, 0.58);
  opacity: 0;
  transition: opacity 0.22s var(--ac-ease);
}
.ac-menu-pop[open]::backdrop { opacity: 1; }
.ac-menu-pop[open].is-leaving::backdrop { opacity: 0; }
.ac-menu-pop__close {
  position: absolute;
  top: 14px;
  right: 14px;
  border: 0;
  background: transparent;
  color: var(--ac-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}
.ac-menu-pop__kicker {
  margin: 0 0 6px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ac-teal);
}
.ac-menu-pop__title {
  margin: 0;
  font-family: var(--f-punch, Anton, sans-serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 0.95;
  text-transform: uppercase;
}
.ac-menu-pop__price {
  display: inline-flex;
  width: max-content;
  max-width: calc(100% - 120px);
  margin: 12px 0 0;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.ac-menu-pop__note {
  margin: 12px 0 0;
  max-width: 46ch;
  padding-right: 128px;
  color: var(--ac-text-muted);
  font-size: 0.95rem;
}
.ac-menu-pop__kicker,
.ac-menu-pop__title {
  padding-right: 128px;
}
.ac-menu-pop__photo {
  position: absolute;
  top: 46px;
  right: 26px;
  width: 108px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 12px;
  background: var(--ac-mist);
}
.ac-menu-pop__groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 18px 24px;
  margin-top: 22px;
}
.ac-menu-pop__groups h4 {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ac-teal);
}
.ac-menu-pop__groups ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ac-menu-pop__groups li {
  padding: 0.22rem 0;
  border-bottom: 1px solid var(--ac-line);
  font-size: 0.92rem;
}
.ac-menu-pop__shop {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--ac-line);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
}
.ac-menu-pop__shop[hidden] { display: none; }
.ac-menu-pop__shop .w-cta:disabled {
  opacity: 0.65;
  cursor: default;
}
.ac-basket {
  position: fixed;
  width: min(560px, calc(100vw - 28px));
  max-height: min(86vh, 760px);
  overflow: auto;
  padding: 28px 28px 32px;
  border: 0;
  border-radius: 18px;
  background: var(--ac-bg);
  color: var(--ac-text);
  box-shadow: 0 24px 60px rgba(6, 26, 23, 0.28);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.22s var(--ac-ease), transform 0.22s var(--ac-ease);
}
.ac-basket[open] {
  opacity: 1;
  transform: none;
}
.ac-basket[open].is-leaving {
  opacity: 0;
  transform: translateY(6px);
}
.ac-basket::backdrop {
  background: rgba(6, 26, 23, 0.58);
  opacity: 0;
  transition: opacity 0.22s var(--ac-ease);
}
.ac-basket[open]::backdrop { opacity: 1; }
.ac-basket[open].is-leaving::backdrop { opacity: 0; }
.ac-basket__close {
  position: absolute;
  top: 14px;
  right: 14px;
  border: 0;
  background: transparent;
  color: var(--ac-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}
.ac-basket .ac-field-label {
  color: var(--ac-ink);
}
.ac-basket .ac-input {
  color: var(--ac-ink);
}
.ac-basket__lede { margin: 8px 0 0; max-width: 52ch; }
.ac-basket__empty { margin: 22px 0 0; color: var(--ac-text-muted); }
.ac-basket__empty[hidden],
.ac-basket__total[hidden],
.ac-basket__form[hidden],
.ac-basket__ok[hidden] { display: none; }
.ac-basket__lines {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.ac-basket__line {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ac-line);
}
.ac-basket__line img {
  width: 48px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--ac-mist);
}
.ac-basket__name { margin: 0; font-weight: 700; }
.ac-basket__each { margin: 2px 0 0; font-size: 0.82rem; color: var(--ac-text-muted); }
.ac-basket__qty {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border: 1px solid var(--ac-line);
  border-radius: 999px;
  padding: 2px;
  background: #fff;
}
.ac-basket__qty button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: var(--ac-mist);
  color: var(--ac-ink);
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
}
.ac-basket__qty button:hover { background: var(--w-honey); }
.ac-basket__qty span {
  min-width: 1.4rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.92rem;
}
.ac-basket__line-total { margin: 0; font-weight: 700; }
.ac-basket__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 14px 0 0;
  font-size: 0.92rem;
}
.ac-basket__total strong {
  font-family: var(--f-display);
  font-size: 1.55rem;
  font-weight: 500;
}
.ac-basket__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 22px;
}
.ac-basket__form-full { grid-column: 1 / -1; }
.ac-basket__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
}
.ac-basket__ok { margin-top: 22px; }

/* Meet the kitchen (9:16) + reviews board (16:9) */
.w-confidence {
  display: grid;
  grid-template-columns: 81fr 256fr;
  gap: clamp(14px, 1.65vw, 32px);
  align-items: stretch;
  padding: clamp(18px, 2.4vw, 40px) var(--gutter);
  background: var(--ac-bg);
  scroll-margin-top: 88px;
}
.w-meet-cue {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  top: 0;
  display: grid;
  justify-items: center;
  gap: 0.08rem;
  margin: 0;
  padding: 1rem 0.65rem 2.8rem;
  background-image: linear-gradient(to bottom, rgba(6, 26, 23, 0.82) 0%, rgba(6, 26, 23, 0.3) 58%, rgba(6, 26, 23, 0) 100%);
  pointer-events: none;
}
.w-meet-cue__bounce {
  display: grid;
  justify-items: center;
  gap: 0.08rem;
}
.w-meet-cue.is-in .w-meet-cue__bounce {
  animation: w-cue-bounce 1.65s ease-in-out infinite;
}
.w-meet-cue__copy {
  font-family: var(--f-hand);
  font-size: clamp(1.18rem, 1.55vw, 1.62rem);
  line-height: 1.1;
  text-align: center;
  color: #fff;
}
.w-meet-cue__action {
  font-family: var(--f-script);
  font-weight: 400;
  font-size: clamp(1.7rem, 2.35vw, 2.35rem);
  line-height: 0.95;
  color: #fff;
}
.w-meet-cue__arrow {
  width: 26px;
  height: auto;
  color: var(--w-honey);
}
@keyframes w-cue-bounce {
  0%, 100% { transform: translateY(0); }
  42% { transform: translateY(7px); }
  58% { transform: translateY(3px); }
}
@keyframes w-nudge-bounce {
  0%, 100% { transform: translateX(0); }
  42% { transform: translateX(7px); }
  58% { transform: translateX(3px); }
}
.w-meet {
  position: relative;
  margin: 0;
  aspect-ratio: 9 / 16;
  border-radius: 18px;
  overflow: hidden;
  background: var(--w-void);
  box-shadow: 0 22px 40px -28px rgba(8, 28, 24, 0.5);
}
.w-meet-split { display: none; }
.w-meet__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.w-meet__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 72px;
  height: 72px;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--w-honey) 92%, #fff);
  color: var(--ac-ink);
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 28px -12px rgba(8, 28, 24, 0.55);
  transition: opacity 0.2s var(--ac-ease), transform 0.2s var(--ac-ease);
}
.w-meet__play span {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 0 11px 18px;
  border-color: transparent transparent transparent var(--ac-ink);
  margin-left: 3px;
}
.w-meet__play[hidden] { display: none; }
.w-meet.is-playing .w-meet__play {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.92);
}
.w-reviews-panel {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0d6e7a;
  border-radius: var(--r-media);
  box-shadow: 0 22px 40px -28px rgba(8, 28, 24, 0.5);
}
.w-reviews-panel__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 50%;
}
.w-prints {
  position: absolute;
  inset: 2.4% 4% 7% 3%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}
.w-print {
  position: relative;
  flex: 0 0 34.6%;
  width: 34.6%;
  height: auto;
  min-width: 0;
  margin: 0 -2.1%;
  filter: drop-shadow(0 16px 16px rgba(6, 26, 23, 0.38));
}
.w-print--note {
  flex: none;
  width: clamp(122px, 12.4vw, 168px);
  max-width: 168px;
  margin: 0;
  filter: drop-shadow(0 14px 18px rgba(16, 35, 31, 0.28));
}
.w-print--note .w-print__window {
  background: #d4c4b0;
}
.w-print--note .w-print__window img {
  object-position: 50% 28%;
}
.w-print figure {
  margin: 0;
  position: relative;
  width: 100%;
  container-type: inline-size;
  container-name: polaroid;
}
.w-print__frame {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.w-print__window {
  position: absolute;
  left: 4.55%;
  top: 9.15%;
  width: 90.95%;
  height: 69.15%;
  z-index: 1;
  overflow: hidden;
  background: #111;
}
.w-print__window img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 46%;
}
.w-print figcaption {
  position: absolute;
  top: 78.6%;
  height: 20%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.15cqi;
  color: #101c19;
  pointer-events: none;
  overflow: visible;
  font-size: 7.6cqi;
}
.w-print__stars {
  margin: 0;
  font-size: 0.72em;
  line-height: 1;
  letter-spacing: 0.08em;
  color: var(--w-honey);
  flex-shrink: 0;
  white-space: nowrap;
}
.w-print blockquote {
  margin: 0;
  font-family: var(--f-review);
  font-size: 1em;
  line-height: 1.02;
  font-weight: 400;
}
.w-print__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.35em 0.45em;
  flex-wrap: nowrap;
  vertical-align: middle;
}
.w-print__last {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35em 0.45em;
  white-space: nowrap;
  flex-wrap: nowrap;
}
.w-print__phrase {
  white-space: nowrap;
}
.w-print cite {
  font-family: var(--f-review);
  font-style: normal;
  font-size: 0.7em;
  opacity: 0.88;
}
.w-print[data-tilt="0"] { transform: rotate(-7.5deg) translate(-1%, 2%); z-index: 1; }
.w-print--note[data-tilt="0"] { transform: rotate(-7.5deg) translateX(-12px); }
.w-print[data-tilt="1"] { transform: rotate(1.2deg) translateY(-7%); z-index: 4; }
.w-print[data-tilt="2"] { transform: rotate(7.8deg) translate(2%, 3%); z-index: 2; }
.w-print[data-tilt="0"] figcaption {
  top: 79.4%;
  left: 6%;
  right: 18%;
  align-items: flex-start;
  text-align: left;
  transform: rotate(-3.5deg);
}
.w-print--note[data-tilt="0"] figcaption {
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  height: 21.4%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--f-hand);
  font-size: 18cqi;
  line-height: 1;
  transform: none;
}
.w-print[data-tilt="0"] blockquote {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.w-print[data-tilt="0"] .w-print__meta { justify-content: flex-start; margin-top: 0.12em; }
.w-print[data-tilt="1"] figcaption {
  top: 81.2%;
  left: 6%;
  right: 6%;
  align-items: flex-start;
  text-align: left;
  transform: rotate(0.35deg);
}
.w-print[data-tilt="1"] .w-print__meta {
  justify-content: flex-start;
  margin-top: 0.12em;
}
.w-print[data-tilt="1"] .w-print__line--keep {
  white-space: nowrap;
}
.w-print[data-tilt="1"] blockquote,
.w-print[data-tilt="2"] blockquote {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.w-print__line { display: block; }
.w-print[data-tilt="2"] figcaption {
  top: 80.6%;
  left: 20%;
  right: 4%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.16em;
  text-align: left;
  transform: rotate(1.4deg);
}
.w-print[data-tilt="2"] blockquote {
  padding-left: 0;
  min-width: 0;
}
.w-print[data-tilt="2"] .w-print__meta {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 1100px) {
  .ac-cards {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }
}

/* Polaroids */
.ac-moments {
  background: var(--ac-teal);
  color: #fff;
  padding: clamp(4.5rem, 9vh, 7rem) var(--gutter);
  text-align: center;
}
.ac-moments__kicker {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}
.ac-moments__title {
  font-family: var(--f-script);
  font-weight: 600;
  font-size: clamp(2.4rem, 6.5vw, 4.4rem);
  line-height: 1.05;
  max-width: 14ch;
  margin: 8px auto 0;
}
.ac-moments__sub {
  margin: 14px auto 0;
  max-width: 36ch;
  color: rgba(255, 255, 255, 0.86);
}
.ac-moments__occasions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
  font-weight: 600;
}
.ac-polaroids {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 220px));
  justify-content: center;
  gap: 24px;
  margin: 42px auto 0;
}
.ac-polaroid {
  margin: 0;
  background: #f7f3ea;
  color: var(--ac-ink);
  padding: 12px 12px 18px;
  box-shadow: 0 18px 36px -22px rgba(8, 28, 24, 0.55);
}
.ac-polaroid[data-tilt="0"] { transform: rotate(-6deg); }
.ac-polaroid[data-tilt="1"] { transform: rotate(3.5deg) translateY(-10px); }
.ac-polaroid[data-tilt="2"] { transform: rotate(-3deg); }
.ac-polaroid__photo {
  aspect-ratio: 1;
  background: linear-gradient(#e6ebe8, #d5ddd9);
  display: grid;
  place-items: center;
}
.ac-polaroid__empty {
  font-family: var(--f-script);
  font-size: 1.25rem;
  color: #7b8b86;
}
.ac-polaroid figcaption {
  margin-top: 12px;
  font-family: var(--f-script);
  font-size: 1.45rem;
}
.ac-moments__note {
  max-width: 42rem;
  margin: 40px auto 0;
}
.ac-moments__note blockquote {
  margin: 0;
  font-family: var(--f-display);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.4;
}
.ac-moments__note figcaption {
  margin-top: 12px;
  opacity: 0.8;
}
.ac-moments .ac-cta-solid { margin-top: 32px; }

/* Enquiry — same compact dark panel as Plan your spread */
.ac-enquiry-sec {
  padding-block: clamp(32px, 4.2vh, 48px);
}
.ac-enquiry-sec .ac-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ac-enquiry-sec .ac-h2 { margin: 0; }
.ac-enquiry__head { align-items: center; }
.ac-enquiry-sec .ac-lede { max-width: 52ch; }
.ac-call {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  text-decoration: none;
  color: inherit;
  text-align: right;
}
.ac-call__kicker {
  display: block;
  font-size: 0.8rem;
  color: var(--ac-on-dark-muted);
}
.ac-call__num {
  display: block;
  font-family: var(--f-display);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--w-honey);
  margin-top: 4px;
}
.ac-call__icon {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--w-honey);
  color: #10231f;
  display: grid;
  place-items: center;
}
.ac-call:hover .ac-call__icon { background: var(--w-honey-hi); }
.ac-call-dock {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-sizing: border-box;
  z-index: 35;
  min-height: 48px;
  padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px));
  background: var(--w-void);
  color: var(--w-honey);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ac-call-dock__copy strong {
  font-weight: 700;
  letter-spacing: 0.04em;
}
.ac-call-dock__icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
  display: grid;
  place-items: center;
}
.ac-call-dock:hover .ac-call-dock__icon { background: var(--w-honey-hi); }
.ac-enquiry-sec .ac-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 16px;
  margin-top: 18px;
}
.ac-enquiry-sec .ac-input,
.ac-enquiry-sec .ac-textarea {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(234, 242, 238, 0.28);
  color: var(--ac-on-dark);
  color-scheme: dark;
  padding: 0 0.9rem;
}
.ac-enquiry-sec .ac-input { height: 44px; }
.ac-enquiry-sec .ac-textarea {
  min-height: 108px;
  padding-block: 0.7rem;
}
.ac-enquiry__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
}
.ac-enquiry-sec .ac-helper {
  margin: 0;
  color: var(--ac-on-dark-muted);
}
button.w-cta {
  border: 0;
  cursor: pointer;
  font-family: inherit;
}
.ac-enquiry-sec .ac-ok {
  border-color: rgba(234, 242, 238, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: var(--ac-on-dark);
  margin-top: 16px;
  padding: 1.1rem 1.2rem;
}
.ac-enquiry-sec .ac-ok .ac-h3 { color: var(--ac-on-dark); }
.ac-enquiry-sec .ac-ok .ac-body { color: var(--ac-on-dark-muted); }
.ac-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1rem;
  margin-top: 24px;
}
.ac-form__full { grid-column: 1 / -1; }
.ac-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.45rem;
}
.ac-input, .ac-textarea {
  width: 100%;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--r-input);
  padding: 0.85rem 1rem;
}
.ac-textarea { min-height: 118px; resize: vertical; }
.ac-ok {
  border: 1px solid var(--ac-teal);
  background: var(--ac-mist);
  border-radius: var(--r-media);
  padding: 1.6rem;
  margin-top: 24px;
}
.ac-footer a { color: inherit; }
.ac-footer a:hover { color: var(--ac-teal); }
.ac-footer {
  background: #fff;
  color: var(--ac-text);
  border-top: 1px solid var(--ac-line);
}
.ac-footer > .ac-wrap {
  max-width: none;
  padding-block: clamp(44px, 5.4vh, 62px) 0;
}
.ac-recipes {
  background: var(--ac-bg);
  padding: clamp(18px, 2.4vw, 40px) var(--gutter) clamp(28px, 3.4vw, 52px);
  scroll-margin-top: 88px;
}
.ac-recipes__head { margin-bottom: 16px; }
.ac-recipes__head .ac-h2 { margin: 0; line-height: 0.98; }
.ac-recipes__head .ac-lede {
  margin: 4px 0 0;
  max-width: 44ch;
  font-size: 1rem;
}
.ac-recipes__duo {
  display: grid;
  grid-template-columns: 256fr 81fr;
  grid-template-rows: auto auto;
  gap: 12px clamp(14px, 1.65vw, 32px);
  align-items: stretch;
}
.ac-recipes__stage {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 9;
  justify-self: stretch;
  align-self: start;
  border-radius: var(--r-media);
  overflow: hidden;
  background: #ead7c4;
  box-shadow: 0 22px 40px -28px rgba(8, 28, 24, 0.5);
}
.ac-recipes__track {
  position: absolute;
  inset: 0;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  background: #061a17;
}
.ac-recipes__track::-webkit-scrollbar { display: none; }
.ac-recipes__card {
  flex: 0 0 100%;
  height: 100%;
  margin: 0;
}
.ac-recipes__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ac-recipes__scrub {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  height: 6px;
  margin: 6px 0 0;
  background: color-mix(in srgb, var(--ac-ink) 22%, var(--ac-bg));
  cursor: pointer;
}
.ac-recipes__scrub::-webkit-slider-thumb {
  border-color: #fff;
  box-shadow: 0 4px 10px rgba(8, 28, 24, 0.22);
}
.ac-recipes__scrub::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--w-honey);
  border: 3px solid #fff;
  box-shadow: 0 4px 10px rgba(8, 28, 24, 0.22);
}
.ac-recipes__take {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: stretch;
  height: 0;
  min-height: 100%;
  gap: 14px;
  margin: 0;
  padding: clamp(18px, 1.8vw, 26px) clamp(16px, 1.5vw, 22px);
  border-radius: 18px;
  overflow: hidden;
  background: #4a1c28;
  color: #f6e8d8;
  box-shadow: 0 22px 40px -28px rgba(8, 28, 24, 0.5);
}
.ac-recipes__take .ac-label { color: var(--w-honey); }
.ac-recipes__take-title {
  margin: 0.15em 0 0;
  font-family: var(--f-display);
  font-size: clamp(1.7rem, 2.2vw, 2.35rem);
  line-height: 1.08;
  color: #fff;
}
.ac-recipes__take-copy .ac-body {
  margin-top: 10px;
  color: rgba(246, 232, 216, 0.78);
}
.ac-recipes__take-still {
  flex: 1 1 0;
  min-height: 0;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background: #2a1018;
}
.ac-recipes__take-still img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 62%;
}
.ac-recipes__take-form {
  display: grid;
  gap: 10px;
}
.ac-recipes__take-form[hidden] { display: none; }
.ac-recipes__take-form .ac-input {
  width: 100%;
  height: 48px;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}
.ac-recipes__take-form .ac-input::placeholder { color: rgba(255, 255, 255, 0.55); }
.ac-recipes__take-form .w-cta {
  margin: 0;
  width: 100%;
  height: 48px;
  padding-inline: 16px;
  white-space: nowrap;
}
.ac-footer__free-ok {
  margin: 8px 0 0;
  font-size: 0.95rem;
  color: var(--w-honey);
}
.ac-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(36px, 4.5vw, 80px);
  row-gap: 22px;
  align-items: start;
}
.ac-footer .ac-mark {
  position: relative;
  top: -2.2rem;
}
.ac-footer .ac-label {
  margin: 0 0 6px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ac-teal);
}
.ac-footer .ac-body {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.4;
  max-width: none;
}
.ac-footer__intro {
  margin-top: 1.15rem;
  max-width: 36ch;
}
.ac-footer__social {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.ac-footer__social a {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--ac-teal);
  color: #fff;
  display: grid;
  place-items: center;
}
.ac-footer__social a:hover {
  background: var(--ac-teal-deep);
  color: #fff;
}
.ac-footer__bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin-top: 22px;
  padding-block: 0.95rem 1.05rem;
  border-top: 1px solid var(--ac-line);
  font-size: 0.76rem;
  color: var(--ac-text-muted);
}

@media (prefers-reduced-motion: reduce) {
  .w-marquee__track { animation: none; }
  .w-letter,
  .w-type {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .w-meet-cue.is-in .w-meet-cue__bounce,
  .w-bands__nudge.is-in .w-bands__nudge-bounce {
    animation: none;
  }
  .ac-menu-pop,
  .ac-basket,
  .w-duo__care {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .ac-menu-pop::backdrop,
  .ac-basket::backdrop { opacity: 1; transition: none; }
}

@media (max-width: 1023px) {
  html { scroll-padding-top: 76px; }
  .ac-nav__links, .ac-nav__end > .ac-cta-solid { display: none; }
  .ac-nav__toggle { display: grid; place-items: center; }
  .ac-drawer[data-open="true"] { display: block; }
}

@media (max-width: 900px) {
  :root { --gutter: 18px; }
  html { overflow-x: clip; }
  body {
    padding-top: calc(72px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
  }
  .ac-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: env(safe-area-inset-top, 0px);
    border-bottom-color: var(--ac-line);
    background: color-mix(in srgb, var(--ac-bg) 96%, transparent);
  }
  .width-switch { display: none; }
  .ac-call-dock {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .ac-footer__social {
    gap: 10px;
    margin-top: 16px;
  }
  .ac-footer__social a {
    width: 44px;
    height: 44px;
  }
  .ac-footer__social svg {
    width: 20px;
    height: 20px;
  }
  .w-hero,
  .w-hero--video,
  .w-hero--still {
    aspect-ratio: 9 / 16;
    min-height: 100svh;
    max-height: 100svh;
  }
  .w-hero__video { object-position: center; }
  .w-hero__video--desk { display: none; }
  .w-hero__video--phone { display: block; }
  .w-hero__pips { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .w-hero--still .w-hero__still { object-position: center; }
  .w-hero__still--desk { display: none; }
  .w-hero__still--phone { display: block; }
  .w-hero__phone {
    display: block;
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    top: 36%;
    padding: 0 1.15rem;
    text-align: center;
    pointer-events: none;
  }
  .w-hero__phone-title {
    margin: 0;
    font-family: var(--f-display);
    font-weight: 500;
    font-size: clamp(1.85rem, 8.6vw, 2.45rem);
    line-height: 1.06;
    color: #fff;
    text-shadow: 0 10px 28px rgba(6, 26, 23, 0.45);
  }
  .w-hero__phone-title > span { display: block; }
  .w-hero__phone-script {
    font-family: var(--f-script);
    font-size: 1.18em;
    line-height: 1.05;
    color: #ead7a6;
    margin-top: 0.12em;
  }
  .w-hero--video .w-hero__type {
    position: absolute;
    padding-top: 0;
  }
  .w-hero__type {
    position: static;
    width: 100%;
    padding-top: clamp(104px, 20svh, 190px);
    grid-template-columns: 1fr;
  }
  .w-hero__head, .w-hero__lede, .w-hero__inset { grid-column: 1; }
  .w-hero__inset { width: 100%; }
  .w-note__copy {
    font-family: var(--f-body);
    font-size: 1.05rem;
    line-height: 1.55;
  }
  .w-note__copy a { font-family: var(--f-hand); }
  .ac-planner__head, .ac-planner__controls, .ac-planner__result, .ac-form, .ac-footer__grid { grid-template-columns: 1fr; }
  .ac-recipes__duo {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
  }
  .ac-recipes__stage,
  .ac-recipes__scrub { width: 100%; grid-column: auto; grid-row: auto; }
  .ac-recipes__take {
    width: min(72vw, 340px);
    height: auto;
    min-height: 0;
    aspect-ratio: 9 / 16;
    grid-column: auto;
    grid-row: auto;
  }
  .ac-planner__result .w-cta { justify-self: start; }
  .ac-planner__diets { align-items: flex-start; text-align: left; }
  .ac-planner__diets .ac-chiprow { justify-content: flex-start; }
  .ac-enquiry-sec .ac-form { grid-template-columns: 1fr 1fr; }
  .ac-call { justify-content: flex-start; text-align: left; }
  .ac-quote { text-align: left; }
  .ac-cards {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 2px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }
  .ac-cards::-webkit-scrollbar { display: none; }
  .ac-cards .ac-card {
    flex: 0 0 min(70vw, 260px);
    scroll-snap-align: start;
  }
  .w-band:not(.w-band--art) {
    min-height: auto;
    padding-block: clamp(64px, 12svh, 110px);
  }
  .w-band--art {
    padding-block: 0;
    aspect-ratio: 9 / 16;
    min-height: 0;
    max-height: none;
  }
  .w-bands__stage { min-width: 0; position: relative; }
  .w-bands__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .w-bands__track::-webkit-scrollbar { display: none; }
  .w-bands__track > .w-band--art {
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: start;
  }
  .w-bands__desk-break { display: none; }
  .w-bands__scrub { display: none; }
  .w-bands__nudge {
    display: grid;
    place-items: center;
    position: absolute;
    z-index: 4;
    top: 50%;
    right: 10px;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--w-honey);
    color: var(--ac-ink);
    transform: translateY(-50%);
    cursor: pointer;
  }
  .w-bands__nudge[hidden] { display: none; }
  .w-bands__nudge-bounce {
    display: grid;
    place-items: center;
  }
  .w-bands__nudge.is-in .w-bands__nudge-bounce {
    animation: w-nudge-bounce 1.65s ease-in-out infinite;
  }
  .w-bands__nudge svg {
    width: 18px;
    height: 24px;
  }
  .w-band__media--desk { display: none; }
  .w-band__media--phone { display: block; }
  .w-band--crop-left .w-band__media { object-position: 50% 50%; }
  .w-band--crop-right .w-band__media { object-position: 50% 50%; }
  .w-band--baked .w-band__phone { display: none; }
  .w-band__phone {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: 1.35rem 1.15rem 12%;
    background-image: linear-gradient(to top, rgba(6, 26, 23, 0.72) 0%, rgba(6, 26, 23, 0.18) 42%, rgba(6, 26, 23, 0) 68%);
    color: #fff;
    pointer-events: none;
    text-align: center;
  }
  .w-band__live-title {
    margin: 0;
    font-family: var(--f-display);
    font-weight: 500;
    font-size: clamp(1.85rem, 8.6vw, 2.45rem);
    line-height: 1.06;
    color: #fff;
    text-shadow: 0 10px 28px rgba(6, 26, 23, 0.45);
  }
  .w-band__live-title > span { display: block; }
  .w-band__live-script {
    font-family: var(--f-script);
    font-size: 1.18em;
    line-height: 1.05;
    color: #ead7a6;
    margin-top: 0.12em;
    text-transform: none;
  }
  .w-band__phone-title {
    font-family: var(--f-punch);
    font-size: clamp(2.55rem, 13vw, 3.5rem);
    line-height: 0.88;
    text-transform: uppercase;
    margin: 0;
  }
  .w-band__phone-script {
    font-family: var(--f-script);
    font-size: clamp(2.3rem, 11vw, 3.1rem);
    line-height: 0.95;
    color: #f3e6c8;
    margin: 0 0 0.12em;
  }
  .w-band__phone-kicker {
    margin: 0.55em 0 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  .w-band__phone p {
    margin: 0.7em 0 0;
    max-width: 32ch;
    font-size: 0.98rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.9);
  }
  .w-band__phone .w-band__price {
    margin: 0.85em 0 0;
    color: var(--w-honey);
    font-size: 1.35rem;
  }
  .w-band-break {
    height: 18px;
    margin-inline: 4%;
  }
  .w-band-break--air { margin-block: 8px; }
  .w-band[data-align="right"] .w-band__inner,
  .w-band[data-align="center"] .w-band__inner { text-align: left; }
  .w-band[data-align="right"] .w-band__body,
  .w-band[data-align="center"] .w-band__body,
  .w-band[data-align="right"] .w-band__copy,
  .w-band[data-align="center"] .w-band__copy { margin-left: 0; margin-inline: 0; }
  .w-band[data-align="right"] .w-band__foot,
  .w-band[data-align="center"] .w-band__foot { justify-content: flex-start; }
  .w-note-row { grid-template-columns: 1fr; justify-items: center; }
  .w-print--note { width: min(38vw, 150px); }
  .w-duo { grid-template-columns: 1fr; }
  .w-duo__item.is-care .w-duo__inner { max-width: 100%; }
  .w-duo__inner,
  .w-duo__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 10px;
    align-items: end;
  }
  .w-duo__inner > .w-display,
  .w-duo__copy > .w-display {
    grid-column: 1;
    grid-row: 1;
  }
  .w-duo__note {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0.42em;
    line-height: 1.28;
    font-size: 1rem;
  }
  .w-duo .w-display--md { font-size: 2.1rem; }
  .w-duo__pill {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 0.18em;
    font-size: 0.84rem;
  }
  .w-duo__copy .w-duo__pill {
    margin-right: -8px;
  }
  .w-duo__care {
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
  }
  .w-confidence {
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 0;
    padding: 0;
    background: var(--w-void);
  }
  .w-meet-cue {
    display: grid;
    padding: 0.95rem 0.7rem 2.35rem;
  }
  .w-meet-cue__copy { font-size: 1.12rem; }
  .w-meet-cue__action { font-size: 1.62rem; }
  .w-meet-cue__arrow { width: 22px; }
  .w-meet {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
  }
  .w-meet-split {
    display: block;
    background: var(--ac-bg);
    padding: 10px 0;
  }
  .w-meet-split .w-band-break {
    margin-block: 0;
  }
  .w-reviews-panel {
    width: 100%;
    aspect-ratio: auto;
    overflow: hidden;
    border-radius: 0;
  }
  .w-reviews-panel__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .w-prints {
    position: relative;
    inset: auto;
    z-index: 1;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    gap: 14px;
    padding: 28px 16px 32px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .w-prints::-webkit-scrollbar { display: none; }
  .w-print {
    height: auto;
    flex: 0 0 min(78%, 280px);
    width: min(78%, 280px);
    margin: 0;
    aspect-ratio: 1314 / 1776;
    scroll-snap-align: start;
  }
  .w-print[data-tilt] { transform: none; }
  .ac-polaroids { grid-template-columns: minmax(0, 240px); justify-items: center; }
  .ac-polaroid[data-tilt] { transform: none; }
  .ac-menu-pop {
    width: calc(100vw - 20px);
    max-height: 88vh;
    padding: 22px 18px 24px;
  }
  .ac-menu-pop__kicker,
  .ac-menu-pop__title,
  .ac-menu-pop__note { padding-right: 96px; }
  .ac-menu-pop__price { max-width: calc(100% - 96px); }
  .ac-menu-pop__photo {
    top: 40px;
    right: 16px;
    width: 84px;
  }
  .ac-basket {
    width: calc(100vw - 20px);
    max-height: 88vh;
    padding: 22px 18px 24px;
  }
  .ac-basket__form { grid-template-columns: 1fr; }
  .ac-basket__line {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    grid-template-areas:
      "img copy qty"
      "img total qty";
  }
  .ac-basket__line img { grid-area: img; }
  .ac-basket__line > div:not(.ac-basket__qty) { grid-area: copy; }
  .ac-basket__line-total { grid-area: total; }
  .ac-basket__qty { grid-area: qty; }
}

@media (max-width: 640px) {
  .ac-enquiry-sec .ac-form { grid-template-columns: 1fr; }
}

html.ac-phone-preview {
  --gutter: 18px;
}
html.ac-phone-preview .site {
  box-shadow: 0 18px 50px rgba(6, 26, 23, 0.18);
  padding-top: 72px;
  padding-bottom: 52px;
}
html.ac-phone-preview .ac-nav {
  position: fixed;
  top: 0;
  left: 50%;
  right: auto;
  width: min(390px, 100%);
  transform: translateX(-50%);
  border-bottom-color: var(--ac-line);
  background: color-mix(in srgb, var(--ac-bg) 96%, transparent);
}
html.ac-phone-preview .ac-call-dock {
  display: flex;
  position: fixed;
  left: 50%;
  right: auto;
  bottom: 0;
  width: min(390px, 100%);
  transform: translateX(-50%);
}
html.ac-phone-preview .ac-footer__social {
  gap: 10px;
  margin-top: 16px;
}
html.ac-phone-preview .ac-footer__social a {
  width: 44px;
  height: 44px;
}
html.ac-phone-preview .ac-footer__social svg {
  width: 20px;
  height: 20px;
}
html.ac-phone-preview .ac-nav__links,
html.ac-phone-preview .ac-nav__end > .ac-cta-solid { display: none; }
html.ac-phone-preview .ac-nav__toggle { display: grid; place-items: center; }
html.ac-phone-preview .ac-drawer[data-open="true"] { display: block; }
html.ac-phone-preview .w-hero,
html.ac-phone-preview .w-hero--video,
html.ac-phone-preview .w-hero--still {
  aspect-ratio: 9 / 16;
  min-height: 0;
  max-height: none;
}
html.ac-phone-preview .w-hero__still--desk { display: none; }
html.ac-phone-preview .w-hero__still--phone { display: block; }
html.ac-phone-preview .w-hero__video { object-position: center; }
html.ac-phone-preview .w-hero__video--desk { display: none; }
html.ac-phone-preview .w-hero__video--phone { display: block; }
html.ac-phone-preview .w-hero__pips { bottom: 64px; }
html.ac-phone-preview .w-hero--still .w-hero__still { object-position: center; }
html.ac-phone-preview .w-hero__phone {
  display: block;
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 36%;
  padding: 0 1.15rem;
  text-align: center;
  pointer-events: none;
}
html.ac-phone-preview .w-hero__phone-title {
  margin: 0;
  font-family: var(--f-display);
  font-weight: 500;
  font-size: 1.95rem;
  line-height: 1.06;
  color: #fff;
  text-shadow: 0 10px 28px rgba(6, 26, 23, 0.45);
}
html.ac-phone-preview .w-hero__phone-title > span { display: block; }
html.ac-phone-preview .w-hero__phone-script {
  font-family: var(--f-script);
  font-size: 1.18em;
  line-height: 1.05;
  color: #ead7a6;
  margin-top: 0.12em;
}
html.ac-phone-preview .w-note__copy {
  font-family: var(--f-body);
  font-size: 1.05rem;
  line-height: 1.55;
}
html.ac-phone-preview .w-note__copy a { font-family: var(--f-hand); }
html.ac-phone-preview .ac-planner__head,
html.ac-phone-preview .ac-planner__controls,
html.ac-phone-preview .ac-planner__result,
html.ac-phone-preview .ac-form,
html.ac-phone-preview .ac-footer__grid { grid-template-columns: 1fr; }
html.ac-phone-preview .ac-recipes__duo {
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 12px;
}
html.ac-phone-preview .ac-recipes__stage,
html.ac-phone-preview .ac-recipes__scrub { width: 100%; grid-column: auto; grid-row: auto; }
html.ac-phone-preview .ac-recipes__take {
  width: min(72%, 340px);
  height: auto;
  min-height: 0;
  aspect-ratio: 9 / 16;
  grid-column: auto;
  grid-row: auto;
}
html.ac-phone-preview .ac-planner__result .w-cta { justify-self: start; }
html.ac-phone-preview .ac-planner__diets { align-items: flex-start; text-align: left; }
html.ac-phone-preview .ac-planner__diets .ac-chiprow { justify-content: flex-start; }
html.ac-phone-preview .ac-enquiry-sec .ac-form { grid-template-columns: 1fr; }
html.ac-phone-preview .ac-call { justify-content: flex-start; text-align: left; }
html.ac-phone-preview .ac-quote { text-align: left; }
html.ac-phone-preview .ac-cards {
  display: flex;
  overflow-x: auto;
  gap: 10px;
  padding-bottom: 2px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
html.ac-phone-preview .ac-cards::-webkit-scrollbar { display: none; }
html.ac-phone-preview .ac-cards .ac-card {
  flex: 0 0 240px;
  scroll-snap-align: start;
}
html.ac-phone-preview .w-band--art {
  padding-block: 0;
  aspect-ratio: 9 / 16;
  min-height: 0;
  max-height: none;
}
html.ac-phone-preview .w-bands__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
html.ac-phone-preview .w-bands__track::-webkit-scrollbar { display: none; }
html.ac-phone-preview .w-bands__track > .w-band--art {
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
}
html.ac-phone-preview .w-bands__desk-break { display: none; }
html.ac-phone-preview .w-bands__scrub { display: none; }
html.ac-phone-preview .w-bands__stage { position: relative; }
html.ac-phone-preview .w-bands__nudge {
  display: grid;
  place-items: center;
  position: absolute;
  z-index: 4;
  top: 50%;
  right: 10px;
  width: 46px;
  height: 46px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--w-honey);
  color: var(--ac-ink);
  transform: translateY(-50%);
  cursor: pointer;
}
html.ac-phone-preview .w-bands__nudge[hidden] { display: none; }
html.ac-phone-preview .w-bands__nudge-bounce {
  display: grid;
  place-items: center;
}
html.ac-phone-preview .w-bands__nudge.is-in .w-bands__nudge-bounce {
  animation: w-nudge-bounce 1.65s ease-in-out infinite;
}
html.ac-phone-preview .w-bands__nudge svg {
  width: 18px;
  height: 24px;
}
html.ac-phone-preview .w-band__media--desk { display: none; }
html.ac-phone-preview .w-band__media--phone { display: block; }
html.ac-phone-preview .w-band--crop-left .w-band__media { object-position: 50% 50%; }
html.ac-phone-preview .w-band--crop-right .w-band__media { object-position: 50% 50%; }
html.ac-phone-preview .w-band--baked .w-band__phone { display: none; }
html.ac-phone-preview .w-band__phone {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.35rem 1.15rem 12%;
  background-image: linear-gradient(to top, rgba(6, 26, 23, 0.72) 0%, rgba(6, 26, 23, 0.18) 42%, rgba(6, 26, 23, 0) 68%);
  color: #fff;
  pointer-events: none;
  text-align: center;
}
html.ac-phone-preview .w-band__live-title {
  margin: 0;
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(1.85rem, 8.6cqi, 2.45rem);
  line-height: 1.06;
  color: #fff;
  text-shadow: 0 10px 28px rgba(6, 26, 23, 0.45);
}
html.ac-phone-preview .w-band__live-title > span { display: block; }
html.ac-phone-preview .w-band__live-script {
  font-family: var(--f-script);
  font-size: 1.18em;
  line-height: 1.05;
  color: #ead7a6;
  margin-top: 0.12em;
  text-transform: none;
}
html.ac-phone-preview .w-band-break {
  height: 18px;
  margin-inline: 4%;
}
html.ac-phone-preview .w-note-row { grid-template-columns: 1fr; justify-items: center; }
html.ac-phone-preview .w-print--note { width: min(38%, 150px); }
html.ac-phone-preview .w-duo { grid-template-columns: 1fr; }
html.ac-phone-preview .w-duo__item.is-care .w-duo__inner { max-width: 100%; }
html.ac-phone-preview .w-duo__inner,
html.ac-phone-preview .w-duo__copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 10px;
  align-items: end;
}
html.ac-phone-preview .w-duo__inner > .w-display,
html.ac-phone-preview .w-duo__copy > .w-display {
  grid-column: 1;
  grid-row: 1;
}
html.ac-phone-preview .w-duo__note {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-top: 0.42em;
  line-height: 1.28;
  font-size: 1rem;
}
html.ac-phone-preview .w-duo .w-display--md { font-size: 2.1rem; }
html.ac-phone-preview .w-duo__pill {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0 0 0.18em;
  font-size: 0.84rem;
}
html.ac-phone-preview .w-duo__copy .w-duo__pill {
  margin-right: -8px;
}
html.ac-phone-preview .w-duo__care {
  left: 12px;
  right: 12px;
  width: auto;
  max-width: none;
}
html.ac-phone-preview .w-confidence {
  grid-template-columns: 1fr;
  justify-items: stretch;
  gap: 0;
  padding: 0;
  background: var(--w-void);
}
html.ac-phone-preview .w-meet-cue {
  display: grid;
  padding: 0.95rem 0.7rem 2.35rem;
}
html.ac-phone-preview .w-meet-cue__copy { font-size: 1.12rem; }
html.ac-phone-preview .w-meet-cue__action { font-size: 1.62rem; }
html.ac-phone-preview .w-meet-cue__arrow { width: 22px; }
html.ac-phone-preview .w-meet {
  width: 100%;
  border-radius: 0;
  box-shadow: none;
}
html.ac-phone-preview .w-meet-split {
  display: block;
  background: var(--ac-bg);
  padding: 10px 0;
}
html.ac-phone-preview .w-meet-split .w-band-break {
  margin-block: 0;
}
html.ac-phone-preview .w-reviews-panel {
  width: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: 0;
}
html.ac-phone-preview .w-reviews-panel__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
html.ac-phone-preview .w-prints {
  position: relative;
  inset: auto;
  z-index: 1;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  gap: 14px;
  padding: 28px 16px 32px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
html.ac-phone-preview .w-prints::-webkit-scrollbar { display: none; }
html.ac-phone-preview .w-print {
  height: auto;
  flex: 0 0 min(78%, 280px);
  width: min(78%, 280px);
  margin: 0;
  aspect-ratio: 1314 / 1776;
  scroll-snap-align: start;
}
html.ac-phone-preview .w-print[data-tilt] { transform: none; }
html.ac-phone-preview .ac-polaroids { grid-template-columns: minmax(0, 240px); justify-items: center; }
html.ac-phone-preview .ac-polaroid[data-tilt] { transform: none; }
html.ac-phone-preview .ac-menu-pop {
  width: min(370px, calc(100% - 20px));
  max-height: 88vh;
  padding: 22px 18px 24px;
}
html.ac-phone-preview .ac-menu-pop__kicker,
html.ac-phone-preview .ac-menu-pop__title,
html.ac-phone-preview .ac-menu-pop__note { padding-right: 96px; }
html.ac-phone-preview .ac-menu-pop__price { max-width: calc(100% - 96px); }
html.ac-phone-preview .ac-menu-pop__photo {
  top: 40px;
  right: 16px;
  width: 84px;
}
html.ac-phone-preview .ac-basket {
  width: min(370px, calc(100% - 20px));
  max-height: 88vh;
  padding: 22px 18px 24px;
}
html.ac-phone-preview .ac-basket__form { grid-template-columns: 1fr; }
