@media (max-width: 800px) {
  .beast-summary {
    order: 0 !important;
  }

  .beast-builder__package-select {
    display: grid !important;
    margin-bottom: 1rem;
  }

  .beast-builder__packages {
    display: none !important;
  }
}

.beast-builder__guest-count strong {
  color: #806022;
  font-size: 1rem;
}

.beast-builder__guest-count input[type="range"] {
  accent-color: #c99a3d;
  cursor: pointer;
  padding: 0;
}

.beast-builder__extras {
  display: grid;
  gap: .7rem;
  margin-top: 1rem;
}

.beast-builder__extras label {
  display: flex;
  align-items: center;
  gap: .55rem;
  border: 1px solid #ddd5c8;
  background: #fffdf8;
  padding: .85rem;
}

.beast-builder__extras input { width: auto; }
.beast-builder__extras b { margin-left: auto; color: #806022; }
.beast-builder__extras small { display: block; width: 100%; margin-left: 1.55rem; color: #645e54; font-weight: 400; }
.beast-builder__package-details { margin: 0 0 1rem; border: 1px solid #ddd5c8; background: #fffdf8; padding: .85rem; }
.beast-builder__package-details summary { cursor: pointer; font-weight: 800; }
.beast-builder__package-details p { margin: .65rem 0 0; line-height: 1.45; font-size: .85rem; }
.beast-builder__package-details ul, .beast-builder__enquiry ul { margin: .55rem 0 0; padding-left: 1.15rem; line-height: 1.5; }
.beast__builder-tagline { color: #806022; font-weight: 800; font-size: 1rem; margin: .8rem 0 1rem; }
.beast__hero { overflow: hidden; }
.beast__hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; filter: saturate(.86) contrast(1.06) brightness(.72); }
.beast__hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,23,20,.20), rgba(23,23,20,.68)); z-index: 1; pointer-events: none; }
.beast__hero-inner, .beast__hero .beast__scroll { position: relative; z-index: 2; }
.beast-hero-community { position:absolute; top:1.6rem; right:1.7rem; z-index:3; width:150px; height:150px; }.beast-hero-community__portrait { width:100%; height:100%; overflow:hidden; border:3px solid #fffdf8; border-radius:50%; background:#171714; box-shadow:0 10px 28px rgba(0,0,0,.38); }.beast-hero-community__portrait img { width:100%; height:100%; object-fit:cover; transform:scale(1.6); transform-origin:50% 26%; }.beast-hero-community__ribbon { position:absolute; top:-.6rem; left:50%; z-index:2; display:flex; align-items:center; justify-content:center; gap:.32rem; min-width:180px; transform:translateX(-50%); padding:.45rem .7rem; border:1px solid rgba(255,253,248,.65); border-radius:999px; background:rgba(23,23,20,.92); color:#fffdf8; font-size:.64rem; white-space:nowrap; box-shadow:0 4px 16px rgba(0,0,0,.3); backdrop-filter:blur(8px); }.beast-hero-community__ribbon svg { width:1rem; height:1rem; fill:#1877f2; }.beast-hero-community__ribbon strong { font-size:.8rem; }.beast-hero-community__ribbon span { color:#e4dfd5; }
@media (max-width:800px) { .beast-hero-community { top:1.35rem; right:1rem; width:118px; height:118px; }.beast-hero-community__ribbon { min-width:164px; font-size:.58rem; }.beast-hero-community__ribbon strong { font-size:.72rem; } }

/* Full logo framing and revised hero position. */
.beast-hero-community { top: 3.5rem; right: .4rem; }
.beast-hero-community__portrait img { transform: scale(1); transform-origin: 50% 50%; }
@media (max-width:800px) { .beast-hero-community { top: 3.1rem; right: .25rem; } }

.beast__hero-inner .beast-hero-community { position: relative; top: auto; right: auto; width: 126px; height: 126px; margin: 0 0 1.75rem 1rem; }.beast__hero-inner .beast-hero-community__ribbon { bottom: -1rem; }
@media (max-width:800px) { .beast__hero-inner .beast-hero-community { width: 108px; height: 108px; margin-left: .8rem; margin-bottom: 1.6rem; transform: none; } }

/* Mobile layout rhythm: one gutter and a consistent vertical scale. */
@media (max-width:800px) {
  .beast { --mobile-gutter: 1rem; }
  .beast__hero { padding: var(--mobile-gutter); }
  .beast__hero-inner { margin-left: 0; margin-right: 0; }
  .beast__builder-wrap, .beast__trust, .beast__faq { padding: 3.5rem var(--mobile-gutter); }
  .beast__gallery { padding: 3.5rem var(--mobile-gutter); }
  .beast__cafe { padding: 3.5rem var(--mobile-gutter); }
  .beast__final { padding: 3.5rem var(--mobile-gutter); }
  .beast__section-intro { margin-bottom: 1.75rem; }
  .beast-builder { gap: 1rem; }
  .beast-builder__steps { gap: 1rem; }
  .beast-builder__step { padding: 1rem; }
  .beast-builder__package-select, .beast-builder__guest-count { max-width: none; }
  .beast-summary { padding: 1.15rem; }
  .beast-social-reviews { margin-top: .5rem; }
  .beast-social-reviews__heading { padding-inline: 0; }
  .beast-hero-proof { gap: .45rem; }
  .beast__hero-inner .beast-hero-community { margin-left: 0; }
}

/* Community badge: aligned to hero copy, with the team breaking above the circular frame. */
.beast__hero-inner .beast-hero-community { width: 158px; height: 158px; margin: .4rem 0 3.3rem; }
.beast__hero-inner .beast-hero-community__portrait { overflow: hidden; border: 3px solid #fffdf8; border-radius: 50%; box-shadow: 0 10px 28px rgba(0,0,0,.38); background: #171714; }
.beast__hero-inner .beast-hero-community__portrait > img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); transform-origin: 50% 50%; }
.beast__hero-inner .beast-hero-community__portrait { transform: translateY(-.55rem); }
.beast__hero-inner .beast-hero-community__ribbon { left: 0; bottom: -2rem; transform: none; min-width: 100%; width: 100%; padding-inline: .55rem; }
@media (max-width:800px) { .beast__hero-inner .beast-hero-community { width: 142px; height: 142px; margin-top: .3rem; margin-bottom: 3.15rem; }.beast__hero-inner .beast-hero-community__ribbon { min-width:100%; width:100%; font-size:.55rem; } }

/* Facebook community banner beneath the logo. */
.beast-hero-community__ribbon { top: auto; bottom: -1rem; background: #1877f2; color: #fff; border-color: rgba(255,255,255,.82); overflow: hidden; isolation: isolate; }
.beast-hero-community__ribbon svg { fill: #fff; }.beast-hero-community__ribbon span { color: #fff; }.beast-hero-community__ribbon::after { content: ''; position: absolute; inset: -40% auto -40% -45%; width: 30%; transform: skewX(-20deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); animation: beast-facebook-glimmer 4.8s ease-in-out infinite; z-index: -1; }@keyframes beast-facebook-glimmer { 0%, 58% { left: -45%; } 82%, 100% { left: 120%; } }

/* Keep follower text readable over the hero video. */
.beast__hero-inner .beast-hero-community__ribbon { background: #0d5fc5; border-color: #fff; padding: .55rem .7rem; box-shadow: 0 5px 16px rgba(0,0,0,.45); font-size: .66rem; font-weight: 800; text-shadow: 0 1px 2px rgba(0,0,0,.25); }
.beast__hero-inner .beast-hero-community__ribbon strong { font-size: .9rem; }
.beast__hero-inner .beast-hero-community__ribbon svg { width: 1.15rem; height: 1.15rem; }
@media (max-width:800px) { .beast__hero-inner .beast-hero-community__ribbon { width: 178px; min-width: 178px; font-size: .6rem; } }

/* Keep the wide banner fixed; centre the circle over the banner's midpoint. */
.beast__hero-inner .beast-hero-community { width: 178px; }
.beast__hero-inner .beast-hero-community__portrait { width: 158px; height: 158px; margin-inline: auto; }
.beast__hero-inner .beast-hero-community__ribbon { left: 0; bottom: -2.6rem; transform: none; }
@media (max-width:800px) { .beast__hero-inner .beast-hero-community { width: 178px; height: 142px; }.beast__hero-inner .beast-hero-community__portrait { width: 142px; height: 142px; } }

@media (max-width:800px) { .beast__hero .beast__scroll { display: none; } }

.beast-hygiene-reel { position:absolute; z-index:3; right:0; bottom:0; left:0; overflow:hidden; border-block:1px solid rgba(255,255,255,.28); background:#3d7f39; color:#fff; }.beast-hygiene-reel__track { display:flex; align-items:center; width:max-content; min-height:2.7rem; animation:beast-hygiene-scroll 24s linear infinite; }.beast-hygiene-reel__track span { flex:0 0 auto; padding:0 .9rem; font-size:.68rem; font-weight:900; letter-spacing:.06em; white-space:nowrap; }.beast-hygiene-reel__rating { color:#fff5a5; font-size:.82rem!important; letter-spacing:.15em!important; text-shadow:0 1px 1px rgba(0,0,0,.25); }@keyframes beast-hygiene-scroll { to { transform:translateX(-33.333%); } }
.beast-hygiene-sticker { display:flex!important; align-items:center; gap:.35rem; min-height:2.2rem; margin:0 .1rem; padding:.18rem .55rem!important; border:1px solid rgba(255,255,255,.85); background:#fff; color:#2e7134; }.beast-hygiene-sticker b { display:grid; place-items:center; width:1.75rem; height:1.75rem; border-radius:50%; background:#2e7134; color:#fff; font-size:1.3rem; line-height:1; }.beast-hygiene-sticker i { font-size:.45rem; font-style:normal; font-weight:900; letter-spacing:.04em; line-height:1.1; }
@media (prefers-reduced-motion:reduce) { .beast-hygiene-reel__track { animation:none; } }

/* Static, readable Food Hygiene Rating-style trust strip. */
.beast-hygiene-reel { display:flex; align-items:center; min-height:3.55rem; padding:.42rem max(1rem, calc((100vw - 1100px) / 2)); background:#397a36; border:0; }
.beast-hygiene-reel__track { display:flex; align-items:center; justify-content:center; gap:.75rem; width:100%; min-height:0; animation:none; }
.beast-hygiene-reel__track > span { padding:0; }
.beast-hygiene-sticker { flex:0 0 auto; min-height:2.45rem; margin:0; padding:.22rem .6rem!important; border:0; box-shadow:0 2px 8px rgba(0,0,0,.18); }
.beast-hygiene-sticker b { width:1.95rem; height:1.95rem; font-size:1.45rem; }
.beast-hygiene-message { color:#fff; font-size:.77rem!important; font-weight:900!important; letter-spacing:.055em!important; text-align:left; white-space:normal!important; }
.beast-hygiene-message small { display:block; margin-top:.14rem; color:rgba(255,255,255,.85); font-size:.6rem; font-weight:700; letter-spacing:.08em; }
@media (max-width:800px) { .beast-hygiene-reel { min-height:3.35rem; padding:.35rem 1rem; }.beast-hygiene-reel__track { gap:.55rem; justify-content:flex-start; }.beast-hygiene-message { font-size:.68rem!important; }.beast-hygiene-message small { display:none; } }

.beast-hygiene-reel { display:none!important; }
.beast-hygiene-badge { display:inline-flex; align-items:center; gap:.55rem; margin:1rem 0 0; padding:.42rem .7rem; border:1px solid #3d7f39; border-radius:.3rem; background:rgba(244,239,229,.96); color:#171714; box-shadow:0 4px 12px rgba(0,0,0,.16); }
.beast-hygiene-badge b { color:#3d7f39; font-size:1rem; letter-spacing:.02em; }
.beast-hygiene-badge span { font-size:.61rem; font-weight:900; letter-spacing:.08em; line-height:1.1; }
.beast-hygiene-badge small { display:block; margin-top:.16rem; color:#3d7f39; font-size:.5rem; font-weight:800; letter-spacing:.12em; }

.beast-food-collage { width:100%; height:clamp(12rem, 24vw, 21rem); background:center / cover no-repeat url('beast-buffets-food-collage.png'); }
@media (max-width:800px) { .beast-food-collage { height:11.5rem; background-position:center; } }
.beast-hero-proof { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1.2rem; }.beast-hero-proof span { padding: .4rem .6rem; background: rgba(255,253,248,.16); border: 1px solid rgba(255,253,248,.35); color: #fffdf8; font-size: .72rem; font-weight: 700; backdrop-filter: blur(4px); }.beast-hero-reassurance { margin: .75rem 0 0; color: #fffdf8; font-size: .75rem; }.beast-builder-benefits { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }.beast-builder-benefits span { padding:.45rem .65rem; border:1px solid #ddd5c8; background:#fffdf8; color:#645e54; font-size:.75rem; font-weight:700; }.beast-builder-benefits span::before { content:'✓ '; color:#806022; }
.beast__hero-inner .beast-hero-reassurance { display: block; margin: 1.7rem 0 0; }
.beast-whatsapp-button { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.8rem; padding:.9rem 1rem; background:#25d366; color:#102118; text-decoration:none; font-size:.76rem; font-weight:900; letter-spacing:.02em; }.beast-whatsapp-button svg { width:1.35rem; height:1.35rem; fill:currentColor; flex:0 0 auto; }.beast-whatsapp-button span { flex:1; }.beast-whatsapp-button b { font-size:1rem; }.beast-whatsapp-button[aria-disabled="true"] { cursor:not-allowed; }.beast-whatsapp-note { margin:.45rem 0 0; color:#d8d2c9; font-size:.68rem; line-height:1.35; }
.beast-value-promise { display:grid; gap:.35rem; margin:1rem 0 .55rem; padding:.9rem; background:#fffdf8; border:1px solid #ddd5c8; color:#645e54; font-size:.8rem; line-height:1.45; }.beast-value-promise strong { color:#171714; font-size:.9rem; }.beast-portion-promise { margin:.55rem 0 1rem; color:#806022; font-size:.85rem; font-weight:800; line-height:1.45; }.beast-deposit-promise { display:block; margin-top:.5rem; font-weight:700; }.beast-cafe-proof { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; }.beast-cafe-proof span { padding:.45rem .65rem; border:1px solid rgba(255,253,248,.35); font-size:.75rem; font-weight:700; }

.beast-review-reel { overflow: hidden; margin: 1.1rem 0; max-width: 760px; border-block: 1px solid #ddd5c8; background: #fffdf8; }
.beast-review-reel__track { display: flex; width: max-content; animation: beast-review-scroll 28s linear infinite; }
.beast-review-reel span { flex: 0 0 auto; padding: .75rem 1.35rem; color: #806022; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.beast-review-reel--top { max-width: none; margin: 0; border-inline: 0; background: #f4efe5; }
.beast-review-reel--top span { color: #806022; }
@keyframes beast-review-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .beast-review-reel__track { animation: none; } }

.beast-review-reel--top .beast-review-reel__track { gap: .65rem; padding: .35rem 0; }
.beast-review-reel--top .beast-review-reel__track { animation-duration: 48s; }
.beast-review-reel--top .beast-review-reel__track span { display: inline-flex; align-items: center; min-width: 270px; padding: .5rem .9rem; border-right: 1px solid rgba(128,96,34,.22); }
.beast-review-reel--top { display:flex; align-items:center; background:#f4efe5; border-color:#ddd5c8; border-bottom-width:1px; }.beast-review-reel--top .beast-review-reel__track { color:#806022; }.beast-review-reel--top .beast-review-reel__track span { color:#806022; border-color:rgba(128,96,34,.18); text-shadow:none; }.beast-review-reel--top .beast-review-reel__track span::first-letter { color:#c99a3d; }.beast-review-reel__facebook { position:relative; z-index:2; display:grid; place-items:center; align-self:stretch; width:3rem; flex:0 0 3rem; background:#1877f2; box-shadow:4px 0 12px rgba(0,0,0,.2); }.beast-review-reel__facebook svg { width:1.45rem; height:1.45rem; fill:#fff; }
.beast-review-reel--top { border-bottom: 2px solid #c99a3d; }.beast-review-reel--top .beast-review-reel__track span { color: #171714; font-weight: 800; }.beast-review-reel--top .beast-review-reel__track span::first-letter { color: #c99a3d; }
.beast-review-reel__facebook { display: none; }
.beast-hero-community { display: none !important; }
.beast-hero-community__portrait { display: none !important; }
.beast-hero-community__ribbon { position: relative !important; inset: auto !important; width: 196px !important; min-width: 196px !important; transform: none !important; }
.beast__hero-inner > .beast__eyebrow { font-size: .95rem; letter-spacing: .12em; }
.beast__hero-inner > .beast__eyebrow span { font-size: .85rem; }
.beast__hero-inner > .beast__eyebrow { margin-bottom: 1.6rem; }

.beast-summary__social-proof { display:flex; align-items:center; justify-content:center; gap:.4rem; margin:.7rem 0 1rem; color:#d8d2c9; font-size:.72rem; font-weight:700; text-align:center; }.beast-summary__social-proof svg { width:1rem; height:1rem; fill:#1877f2; flex:0 0 auto; }

.beast-social-reviews { display: none !important; }
.beast__gallery { display: none !important; }

/* Blend the Café logo's black background into the dark brand section. */
.beast__cafe img { mix-blend-mode: screen; }
.beast__cafe { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
.beast__cafe > div:first-child { display:grid; place-items:center; height:110px; padding:0; overflow:hidden; }
.beast__cafe > div:first-child img { margin:0; }
@media (min-width:801px) { .beast__cafe > div:first-child { height:145px; } }
.beast-package__star { display:inline-flex; align-items:center; margin-left:.35rem; padding:.16rem .34rem; border-radius:999px; background:#c99a3d; color:#171714; font-size:.56rem; font-weight:900; letter-spacing:.03em; vertical-align:middle; white-space:nowrap; }

.beast-social-reviews { grid-column: 1 / -1; margin-top: 1rem; overflow: hidden; }
.beast-social-reviews__heading { margin-bottom: .8rem; }
.beast-social-reviews__heading h3 { font-size: 1.8rem; margin: 0 0 .3rem; }
.beast-social-reviews__heading small { color: #645e54; }
.beast-social-reviews__window { overflow: hidden; }
.beast-social-reviews__track { display: flex; gap: 1rem; width: max-content; animation: beast-social-scroll 42s linear infinite; }
.beast-social-card { display: flex; flex-direction: column; gap: .7rem; flex: 0 0 300px; min-height: 330px; padding: .75rem; border: 1px solid #ddd5c8; border-radius: .65rem; background: #fffdf8; box-shadow: 0 8px 24px rgba(23,23,20,.10); }
.beast-social-card::before { content: ''; display: block; height: 138px; border-radius: .4rem; background: center / 200% 200% no-repeat url('social-reviews-ai.png'); }
.beast-social-card:nth-child(4n + 1)::before { background-position: 0 0; }.beast-social-card:nth-child(4n + 2)::before { background-position: 100% 0; }.beast-social-card:nth-child(4n + 3)::before { background-position: 0 100%; }.beast-social-card:nth-child(4n + 4)::before { background-position: 100% 100%; }
.beast-social-avatar { flex: 0 0 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fffdf8; font-weight: 800; }
.beast-social-avatar--one { background: #806022; }.beast-social-avatar--two { background: #557061; }.beast-social-avatar--three { background: #9b5854; }.beast-social-avatar--four { background: #4f5b6e; }
.beast-social-card strong,.beast-social-card small,.beast-social-card span { display: block; }.beast-social-card small { margin-top: .15rem; font-size: .68rem; color: #806022; }.beast-social-card p { margin: .65rem 0; font-size: .82rem; line-height: 1.45; }.beast-social-card span { font-size: .7rem; color: #645e54; font-weight: 700; }
@keyframes beast-social-scroll { to { transform: translateX(calc(-50% - .5rem)); } }
@media (prefers-reduced-motion: reduce) { .beast-social-reviews__track { animation: none; } }

.beast-whatsapp-sticky { display:none; }
.beast-whatsapp-validation { position:fixed; z-index:1100; top:1rem; left:50%; translate:-50% 0; width:min(calc(100% - 2rem),34rem); margin:0; padding:.9rem 1rem; border:1px solid #c99a3d; border-radius:.65rem; background:#fffdf8; color:#171714; box-shadow:0 12px 35px rgba(0,0,0,.3); font-size:.82rem; font-weight:800; line-height:1.4; text-align:center; }
.beast-whatsapp-validation[hidden] { display:none; }
.beast-builder [aria-invalid="true"] { border-color:#b94a3b!important; box-shadow:0 0 0 3px rgba(185,74,59,.16); }
.beast-allergy-check { margin:.75rem 0 .15rem; padding:.85rem; border:1px solid #ddd5c8; border-left:3px solid #c99a3d; border-radius:.35rem; background:#fffdf8; }
.beast-allergy-check > label { display:flex; align-items:flex-start; gap:.55rem; color:#171714; font-size:.8rem; font-weight:800; line-height:1.35; cursor:pointer; }
.beast-allergy-check input[type="checkbox"] { width:1.05rem; height:1.05rem; margin:.05rem 0 0; flex:0 0 auto; accent-color:#c99a3d; }
.beast-allergy-details { margin-top:.7rem; }
.beast-allergy-details[hidden] { display:none; }
.beast-allergy-details label { display:block; margin-bottom:.35rem; color:#645e54; font-size:.7rem; }
.beast-allergy-details textarea { width:100%; resize:vertical; min-height:4.5rem; padding:.65rem; border:1px solid #aaa397; border-radius:.25rem; background:#fffdf8; color:#171714; font:inherit; font-size:.75rem; }
@media (max-width:800px) {
  body.beast-sticky-whatsapp-visible .beast { padding-bottom:calc(4.5rem + env(safe-area-inset-bottom)); }
  .beast-whatsapp-sticky { position:fixed; z-index:999; left:1rem; right:1rem; bottom:calc(.7rem + env(safe-area-inset-bottom)); min-height:3.15rem; display:flex; align-items:center; justify-content:space-between; gap:.65rem; padding:.7rem .9rem; border:1px solid rgba(201,154,61,.7); border-radius:.65rem; background:rgba(23,23,20,.96); color:#fffdf8; box-shadow:0 10px 26px rgba(0,0,0,.28); text-decoration:none; font-size:.72rem; font-weight:900; letter-spacing:.045em; line-height:1.1; opacity:0; translate:0 calc(100% + 1.5rem); pointer-events:none; transition:opacity .22s ease,translate .22s ease; backdrop-filter:blur(10px); }
  .beast-whatsapp-sticky.is-visible { opacity:1; translate:0 0; pointer-events:auto; }
  .beast-whatsapp-sticky svg { width:1.4rem; height:1.4rem; flex:0 0 auto; fill:#25d366; }
  .beast-whatsapp-sticky span { flex:1; text-align:center; }
  .beast-whatsapp-sticky b { color:#c99a3d; font-size:1.05rem; }
  .beast-whatsapp-validation { top:.75rem; font-size:.78rem; }
}
