/* ==========================================================================
   Bistro 1427 / Jesjon Foods
   Hand-written CSS replacing Divi. Mobile-first, no framework.
   ========================================================================== */

:root{
  /* exact colours from the old site's header CSS */
  --maroon:#682419;
  --maroon-dark:#4e1b12;
  --cream:#fffaec;
  --cream-2:#fdfaf3;
  --gold:#e8b71d;
  --gold-dark:#c99a0c;
  --ink:#2f2a26;
  --muted:#6d655d;
  --line:#e5ddcd;
  --white:#fff;
  --radius:6px;
  /* Divi row geometry from the old site: width:80%; max-width:1080px.
     Wider rows (facilities, gallery) used max-width:1760px. */
  --wrap:1080px;
  --wrap-wide:1760px;
  --row-width:80%;
  --shadow:0 6px 24px rgba(0,0,0,.08);
  /* Same families the old Divi site loaded. */
  --font-head:"Barlow Condensed",Helvetica,Arial,Lucida,sans-serif;
  --font-body:"Nunito Sans",Helvetica,Arial,Lucida,sans-serif;
  --font-script:"Satisfy",cursive;
  --font-alt:"Montserrat Alternates",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--maroon);text-decoration:none}
a:hover{color:var(--gold-dark)}
iframe{max-width:100%;display:block}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:600;
  line-height:1.12;
  color:#2b2b2b;
  margin:0 0 .5em;
  text-transform:uppercase;
  letter-spacing:.005em;
}
h1{font-size:clamp(1.9rem,4.6vw,3rem)}
h2{font-size:clamp(1.7rem,4vw,2.7rem)}
h3{font-size:clamp(1.05rem,2vw,1.3rem)}
p{margin:0 0 1rem}

.wrap{
  width:var(--row-width);
  max-width:var(--wrap);
  margin-inline:auto;
}
/* wide rows: facilities + gallery strips ran much wider on the old site */
/* the old site's header row ran at 90%; wider content rows at 1760px */
.wrap.wrap--wide{width:90%;max-width:var(--wrap-wide)}

@media (max-width:980px){
  .wrap,.wrap.wrap--wide{width:100%;max-width:100%;padding-inline:30px}
}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--maroon);color:#fff;padding:10px 16px;
}
.skip-link:focus{left:0}

:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ------------------------------------------------------------- buttons --- */
/* Matches the old site's Divi button: 20px / 500 / .3em 1em / 2px / 3px radius */
.btn{
  display:inline-block;
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:20px;
  font-weight:500;
  line-height:1.7em;
  padding:.3em 1em;
  border-radius:3px;
  border:2px solid transparent;
  cursor:pointer;
  transition:all .2s ease;
  text-align:center;
}
.btn--gold{background:var(--gold);color:var(--maroon-dark);border-color:var(--gold)}
.btn--gold:hover{background:var(--gold-dark);color:#fff}
/* the cream "VIEW MENU" button from the old about section */
.btn--cream{background:#f0dcc0;color:var(--maroon);border-color:#d9b98c}
.btn--cream:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.btn--ghost{background:#fff;color:var(--maroon);border-color:#fff}
.btn--ghost:hover{background:transparent;color:#fff;border-color:#fff}
.btn--outline{background:transparent;border-color:#fff;color:#fff}
.btn--outline:hover{background:#fff;color:var(--maroon)}
.btn--maroon{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.btn--maroon:hover{background:var(--maroon-dark);color:#fff}

/* -------------------------------------------------------------- topbar --- */
.topbar{background:var(--cream);font-size:.86rem;color:var(--muted);padding:10px 0}
.topbar__inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.topbar__label{
  font-family:var(--font-script);
  font-size:1rem;
  color:#9a8f80;
  display:block;
  margin-bottom:2px;
}
.topbar__phones,.topbar__mail{margin:0;line-height:1.5}
.topbar__phones a,.topbar__mail a{color:var(--muted)}
.topbar__phones a:hover,.topbar__mail a:hover{color:var(--maroon)}
.topbar__col--right{text-align:right}
.topbar__col--logo{text-align:center}
.logo img{width:110px;height:auto;margin-inline:auto}

.social{display:flex;gap:8px;list-style:none;margin:8px 0 0;padding:0}
.topbar__col--right .social,.foot__col .social{justify-content:flex-start}
.social a{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--maroon);color:#fff;
}
.social a:hover{background:var(--gold);color:var(--maroon-dark)}
.social svg{width:16px;height:16px;fill:currentColor}

.order-btns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.order-btns img{height:38px;width:auto;border-radius:4px}

/* ----------------------------------------------------------------- nav --- */
.nav{background:var(--maroon);position:sticky;top:0;z-index:60}
.nav__inner{display:flex;align-items:center;gap:14px;min-height:56px}
.nav__brand{display:none}
.nav__menu{margin-right:auto}
.nav__menu ul{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap}
/* Old site: Barlow Condensed, 18px, uppercase, 1px letter-spacing, white. */
.nav__menu a{
  display:block;
  color:#fff;
  font-family:var(--font-head);
  text-transform:uppercase;
  font-size:18px;
  font-weight:500;
  line-height:20px;
  letter-spacing:1px;
  padding:19px 20px;
  white-space:nowrap;
}
.nav__menu a:hover,.nav__menu a[aria-current="page"]{color:var(--gold)}
.nav__cta{padding:10px 26px;font-size:18px;letter-spacing:1px}
.nav__cta-mobile{display:none}

.nav__toggle{
  display:none;
  margin-left:auto;
  background:transparent;border:0;padding:10px;cursor:pointer;
}
.nav__bars{display:block;width:26px}
.nav__bars i{display:block;height:2px;background:#fff;margin:5px 0;transition:.25s}
.nav__toggle[aria-expanded="true"] .nav__bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] .nav__bars i:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] .nav__bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --------------------------------------------------------------- hero --- */
.hero{position:relative;background:#111;overflow:hidden}
.hero__slides{position:relative}
.hero__slide{display:none}
.hero__slide.is-active{display:block}
.hero__slide img{width:100%;height:auto;display:block}
.hero__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  background:rgba(255,255,255,.85);border:0;color:var(--maroon);
  width:40px;height:52px;cursor:pointer;display:grid;place-items:center;
}
.hero__nav:hover{background:#fff}
.hero__nav--prev{left:0}
.hero__nav--next{right:0}
.hero__nav svg{width:22px;height:22px;fill:currentColor}
.hero__dots{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  display:flex;gap:8px;z-index:3;
}
.hero__dots button{
  width:10px;height:10px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.5);
}
.hero__dots button[aria-current="true"]{background:var(--gold);width:24px;border-radius:5px}

/* ---------------------------------------------------------- page hero --- */
.phero{
  position:relative;
  background:var(--maroon-dark) center/cover no-repeat;
  color:#fff;
  text-align:center;
  padding:clamp(46px,7vw,92px) 0;
  overflow:hidden;
}
.phero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:1}
.phero__video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
}
.phero .wrap{position:relative;z-index:2}
.phero h1{color:#fff;margin:0;font-size:clamp(1.7rem,4.4vw,3rem);line-height:1.1}
.crumb{font-size:.95rem;color:#e9ded0;margin-bottom:14px}
.crumb a{color:#fff}
.crumb a:hover{color:var(--gold)}

/* ------------------------------------------------------------ section --- */
.sec{padding:clamp(44px,6vw,80px) 0}
.sec--cream{background:var(--cream-2)}
.sec--maroon{background:var(--maroon);color:#f3ece1}
.sec--maroon h2,.sec--maroon h3{color:#fff}
.sec__head{text-align:center;max-width:800px;margin:0 auto clamp(26px,4vw,48px)}
.sec__kicker{
  font-family:var(--font-script);
  font-size:clamp(1.1rem,2.4vw,1.5rem);
  color:var(--muted);
  text-transform:none;
  margin-bottom:.2em;
  display:block;
}
.sec--maroon .sec__kicker{color:var(--gold)}
.sec__head p{color:var(--muted)}
.sec--maroon .sec__head p{color:#e4d9c9}

/* ----------------------------------------------- section video background --- */
/* The combo band on the old site ran tall with a large heading over the
   fire video, so it gets its own larger type scale and vertical padding. */
.sec--video{position:relative;overflow:hidden;background:#1d1a17}
.sec--video{padding:clamp(80px,11vw,170px) 0}
.sec--video .sec__head{max-width:1100px}
.sec--video .sec__head h2{
  font-size:clamp(2rem,4.8vw,3.4rem);
  line-height:1.15;
  margin-bottom:.55em;
}
.sec--video .sec__kicker{font-size:clamp(1.3rem,2.8vw,1.9rem);margin-bottom:.3em}
.sec--video .wrap{position:relative;z-index:2}
.sec--video .sec__head h2,.sec--video .sec__kicker{color:#fff}
.sec--video .sec__kicker{color:var(--gold)}
.sec__video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
}
.sec--video::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:1}

/* the bold-italic opening paragraph in the about copy */
.lede{font-size:1.02rem;font-weight:700;font-style:italic;color:#555}

/* one-line explanation under each facility label */
.fac__note{
  display:block;
  font-family:var(--font-body);
  font-size:.78rem;
  line-height:1.4;
  color:var(--muted);
  margin-top:3px;
}

.social-wall{display:flex;justify-content:center}
.social-wall iframe{border:none;overflow:hidden;max-width:100%}

/* ---------------------------------------------------------- about row --- */
/* Divi 1_2 columns: 47.25% each with a 5.5% gutter. */
.split{display:grid;gap:5.5%;align-items:center}
.split img{border-radius:var(--radius);width:100%}
.split__body p{color:var(--muted);text-align:justify}
.split__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}

/* ------------------------------------------------------------- stats --- */
.stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  text-align:center;
}
.stat{
  border:2px dashed var(--gold);
  border-radius:10px;
  padding:22px 10px 18px;
  background:#fff;
}
.stat__num{
  font-family:var(--font-alt);
  font-weight:500;
  font-size:clamp(2rem,5vw,3rem);
  color:var(--maroon);
  line-height:1;
  display:block;
  text-shadow:2px 2px 0 rgba(90,31,20,.14);
}
.stat h3{
  margin:.55em 0 0;font-size:.82rem;letter-spacing:.05em;color:#2b2b2b;
}

/* --------------------------------------------------- menu carousel --- */
/* Full-bleed horizontal slider, as on the old site: tall edge-to-edge
   slides with the category name overlaid bottom-left. */
/* Transform-driven track: autoplay stays reliable everywhere, unlike
   scrollLeft on a snap container. */
.menuslider{position:relative;overflow:hidden}
.menuslider__track{
  display:flex;
  will-change:transform;
  transition:transform .6s ease;
}
.tile{
  position:relative;
  display:block;
  flex:0 0 66%;
  overflow:hidden;
  background:#000;
}
.tile img{
  width:100%;
  height:clamp(300px,42vw,520px);
  object-fit:cover;
  transition:transform .5s ease;
}
.tile:hover img{transform:scale(1.06)}
.tile h3{
  position:absolute;inset:auto 0 0 0;
  margin:0;padding:48px 18px 18px;
  color:#fff;font-size:1.1rem;text-align:left;
  letter-spacing:.04em;
  background:linear-gradient(transparent,rgba(0,0,0,.75));
}
.menuslider__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:46px;height:58px;border:0;cursor:pointer;
  background:rgba(255,255,255,.9);color:var(--maroon);
  display:grid;place-items:center;
}
.menuslider__nav:hover{background:#fff}
.menuslider__nav--prev{left:0}
.menuslider__nav--next{right:0}
.menuslider__nav svg{width:26px;height:26px;fill:currentColor}

/* -------------------------------------------------------- menu items --- */
.items{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(14px,2.4vw,26px);
}
.item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  text-align:center;
  display:flex;
  flex-direction:column;
  transition:.25s ease;
}
.item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.item img{aspect-ratio:1/1;object-fit:cover;width:100%}
.item__body{padding:12px 10px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.item__name{
  font-family:var(--font-head);
  text-transform:uppercase;
  font-size:.95rem;
  line-height:1.25;
  margin:0;
  color:var(--ink);
}
.item__price{
  font-family:var(--font-head);
  color:var(--maroon);
  font-size:1.1rem;
  margin:auto 0 0;
}
.item--noimg{justify-content:center;min-height:120px}

/* --------------------------------------------------------- facilities --- */
/* Continuous logo carousel, matching the old site's module settings:
   autoplay, delay 0, loop on, 6 per view (2 on mobile), 30px spacing,
   pause on hover. The track holds two copies of the list so the loop is
   seamless. */
.facilities{
  --fac-gap:30px;
  --fac-w:calc((100% - (var(--fac-gap) * 5)) / 6);
  overflow:hidden;
  margin-bottom:clamp(28px,4vw,54px);
}
.facilities__track{
  display:flex;
  gap:var(--fac-gap);
  width:max-content;
  animation:fac-scroll 45s linear infinite;
}
.facilities:hover .facilities__track,
.facilities:focus-within .facilities__track{animation-play-state:paused}
.facilities .fac{flex:0 0 218px}

@keyframes fac-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - (var(--fac-gap) / 2)))}
}

@media (prefers-reduced-motion:reduce){
  .facilities__track{animation:none;flex-wrap:wrap;width:100%;justify-content:center}
}
/* Each badge is a single 250x66 graphic (icon + label baked in). */
.fac{
  display:grid;place-items:center;
  border:2px dotted #c0564a;
  border-radius:4px;
  padding:14px 12px;
  background:#fff;
}
.fac img{width:100%;max-width:250px;height:auto}

/* ------------------------------------------------------------ gallery --- */
.grid-gallery{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
}
.grid-gallery img{
  aspect-ratio:1/1;
  object-fit:cover;
  width:100%;
  border-radius:4px;
  transition:transform .35s;
}
.grid-gallery a:hover img{transform:scale(1.05)}

.videos{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.videos > *{flex:0 1 340px;max-width:340px}
.video-embed{position:relative;aspect-ratio:9/16;background:#000;border-radius:var(--radius);overflow:hidden}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ------------------------------------------------------ buffet panel --- */
/* dark maroon panel on the left, photo on the right */
.buffet{display:grid;align-items:stretch;gap:0}
.buffet__panel{
  background:var(--maroon-dark);
  color:#f2e7da;
  padding:clamp(30px,4.5vw,66px) clamp(26px,4vw,60px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.buffet__panel h2{color:#fff}
.buffet__panel .sec__kicker{color:#fff}
.buffet__quote{
  border-left:3px solid var(--gold);
  padding-left:16px;
  margin:0 0 18px;
  font-style:italic;
  font-weight:700;
  color:#fff;
}
.buffet__quote span{display:block;line-height:1.9}
.buffet__panel p{color:#e2d5c5;text-align:justify}
.buffet__media img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}

/* ----------------------------------------------------------- combos --- */
.combos{display:grid;grid-template-columns:1fr;gap:18px}
.combos img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}

/* -------------------------------------------------------------- steps --- */
.steps{counter-reset:step;display:grid;gap:14px;list-style:none;padding:0;margin:0}
.step{
  position:relative;
  padding:16px 16px 16px 62px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.step::before{
  counter-increment:step;
  content:counter(step);
  position:absolute;left:16px;top:14px;
  width:32px;height:32px;border-radius:50%;
  background:var(--maroon);color:#fff;
  font-family:var(--font-head);
  display:grid;place-items:center;
}
.step h3{margin:0 0 .25em;font-size:1rem}
.step p{margin:0;color:var(--muted);font-size:.95rem}

/* -------------------------------------------------------------- trust --- */
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.trust__item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:14px;text-align:center;
}
.trust__item strong{display:block;font-family:var(--font-head);color:var(--maroon);font-size:1.05rem}
.trust__item span{font-size:.88rem;color:var(--muted)}

/* ---------------------------------------------------------------- why --- */
.why{display:grid;grid-template-columns:1fr;gap:14px}
.why__item{display:flex;gap:12px;align-items:flex-start}
.why__item svg{width:22px;height:22px;fill:var(--gold);flex:none;margin-top:4px}
.why__item h3{margin:0 0 .2em;font-size:1rem}
.why__item p{margin:0;color:var(--muted);font-size:.94rem}

/* ---------------------------------------------------------------- faq --- */
.faq{
  display:grid;
  grid-template-columns:1fr;
  align-items:start;
  gap:12px;
}
.faq details{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  margin:0;
}
.faq summary{
  cursor:pointer;
  padding:14px 44px 14px 16px;
  font-family:var(--font-head);
  text-transform:uppercase;
  font-size:.96rem;
  position:relative;
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:18px;top:50%;
  width:9px;height:9px;margin-top:-6px;
  border-right:2px solid var(--maroon);border-bottom:2px solid var(--maroon);
  transform:rotate(45deg);transition:.2s;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq .faq__a{padding:0 16px 16px;color:var(--muted);margin:0}

/* --------------------------------------------------------- link rows --- */
.linkrow{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.linkrow a{
  border:1px solid var(--line);
  background:#fff;
  border-radius:40px;
  padding:7px 15px;
  font-size:.88rem;
}
.linkrow a:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}

/* --------------------------------------------------------------- nap --- */
.nap{display:grid;gap:18px;grid-template-columns:1fr}
.nap__card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:18px;
}
.nap__card h3{margin-bottom:.4em}
.nap__card p{margin:0 0 .4rem;color:var(--muted)}

/* -------------------------------------------------------------- form --- */
.form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(18px,3vw,30px);
  box-shadow:var(--shadow);
}
.field{margin-bottom:14px}
.field label{
  display:block;font-weight:600;font-size:.88rem;
  margin-bottom:5px;color:var(--ink);
}
.field .req{color:#c0392b}
.field input,.field textarea,.field select{
  width:100%;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font:inherit;
  font-size:.95rem;
  color:var(--ink);
  background:#fdfdfb;
}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:var(--maroon);outline:none;background:#fff;
}
.field textarea{min-height:120px;resize:vertical}
.field--error input,.field--error textarea{border-color:#c0392b;background:#fff6f5}
.field__err{color:#c0392b;font-size:.82rem;margin:4px 0 0;display:block}
.form__row{display:grid;gap:0 14px;grid-template-columns:1fr}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0;height:0;overflow:hidden}

.alert{border-radius:var(--radius);padding:14px 16px;margin-bottom:18px;font-size:.95rem}
.alert--ok{background:#edf7ed;border:1px solid #9ccc9c;color:#245c24}
.alert--err{background:#fdeeec;border:1px solid #e0a9a2;color:#9c2a1c}
.alert p{margin:0}
.alert p + p{margin-top:.5rem}

/* --------------------------------------------------------------- misc --- */
.reviews{display:flex;gap:22px;justify-content:center;align-items:stretch;flex-wrap:wrap}
.reviews a{
  border:2px dotted #c0564a;
  background:#fdfaf2;
  padding:10px 18px;
  display:grid;place-items:center;
}
.reviews img{max-height:46px;width:auto}
.rank-line{text-align:center;color:var(--muted);font-size:.98rem;font-style:italic}

/* ------------------------------------------------------ testimonials --- */
.quotes{max-width:860px;margin:30px auto 0;position:relative}
.quote{display:none;text-align:center}
.quote.is-active{display:block}
.quote__text{color:var(--muted);font-size:1.02rem;line-height:1.85;margin:0 0 14px}
.quote__by{font-weight:700;font-style:italic;color:#2b2b2b;margin:0 0 8px}
.quote__stars{color:var(--gold);letter-spacing:2px;font-size:1.05rem}
.quotes__dots{display:flex;gap:8px;justify-content:center;margin-top:16px}
.quotes__dots button{
  width:9px;height:9px;border-radius:50%;border:0;cursor:pointer;
  background:#d8cfc0;
}
.quotes__dots button[aria-current="true"]{background:var(--maroon);width:22px;border-radius:5px}

.delivery__logos{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.delivery__logos img{height:46px;width:auto;border-radius:4px}

.map{line-height:0}
.map iframe{filter:grayscale(.25)}

/* -------------------------------------------------------------- foot --- */
.foot{background:#1d1a17;color:#c9c0b4;padding:clamp(36px,5vw,60px) 0 24px;font-size:.92rem}
.foot a{color:#c9c0b4}
.foot a:hover{color:var(--gold)}
.foot__cols{display:grid;gap:26px;grid-template-columns:1fr}
.foot__h{color:#fff;font-size:1rem;margin-bottom:.6em;letter-spacing:.06em}
.foot__col p{margin:0 0 .4rem}
.foot__link{text-decoration:underline}
.foot__logo{text-align:center;margin:32px 0 18px}
.foot__logo img{width:110px;margin-inline:auto}
.foot__menu{
  text-align:center;font-size:.86rem;line-height:2.1;
  color:#8d847a;max-width:900px;margin:0 auto 22px;
}
.foot__menu span{opacity:.4;margin:0 2px}
.foot__copy{
  text-align:center;border-top:1px solid #322d28;
  padding-top:16px;margin:0;font-size:.85rem;color:#8d847a;
}
.order-btns--foot{justify-content:flex-start;margin-top:12px}

.to-top{
  position:fixed;right:14px;bottom:14px;z-index:70;
  width:42px;height:42px;border-radius:50%;
  background:var(--maroon);color:#fff;
  display:grid;place-items:center;
  box-shadow:var(--shadow);
  opacity:0;pointer-events:none;transition:.25s;
}
.to-top.is-on{opacity:1;pointer-events:auto}
.to-top svg{width:22px;height:22px;fill:currentColor}

/* ==========================================================================
   Breakpoints
   ========================================================================== */

@media (max-width:900px){
  .nav__inner{min-height:58px}
  .nav__brand{display:block}
  .nav__brand img{width:44px;height:44px;object-fit:contain}
  .nav__cta{display:none}
  .nav__cta-mobile{display:block}
  .nav__toggle{display:block}
  .nav__menu{
    position:fixed;
    inset:0 0 0 auto;
    width:min(82vw,320px);
    background:var(--maroon-dark);
    padding:76px 0 24px;
    transform:translateX(100%);
    transition:transform .3s ease;
    overflow-y:auto;
    margin-right:0;
    box-shadow:-8px 0 30px rgba(0,0,0,.35);
  }
  .nav__menu.is-open{transform:translateX(0)}
  .nav__menu ul{flex-direction:column;flex-wrap:nowrap}
  .nav__menu a{padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.95rem}
  .nav__cta-mobile a{color:var(--gold)}
  body.nav-open{overflow:hidden}

  .topbar__inner{grid-template-columns:1fr;text-align:center;gap:10px}
  .topbar__col--right{text-align:center}
  .topbar .social{justify-content:center}
  .order-btns{justify-content:center}
  .logo img{width:92px}
}

@media (min-width:600px){
  .items{grid-template-columns:repeat(3,1fr)}
  .tile{flex-basis:38%}
  /* old site: maroon panel ~45%, photo ~55% */
  .buffet{grid-template-columns:45% 55%}
  .grid-gallery{grid-template-columns:repeat(3,1fr)}
  .stats{grid-template-columns:repeat(3,1fr)}
  .trust{grid-template-columns:repeat(3,1fr)}
  .form__row{grid-template-columns:1fr 1fr}
  .videos{grid-template-columns:repeat(2,1fr)}
  .combos{grid-template-columns:repeat(2,1fr)}
  .nap{grid-template-columns:repeat(2,1fr)}
  .why{grid-template-columns:repeat(2,1fr)}
  .foot__cols{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:901px){
  .faq{grid-template-columns:repeat(2,1fr);gap:14px 20px}
  .items{grid-template-columns:repeat(4,1fr)}
  .tile{flex-basis:22%}
  .grid-gallery{grid-template-columns:repeat(4,1fr)}
  .stats{grid-template-columns:repeat(5,1fr)}
  .trust{grid-template-columns:repeat(4,1fr)}
  .split{grid-template-columns:47.25% 47.25%}
  .split--rev .split__media{order:2}
  .steps{grid-template-columns:repeat(5,1fr)}
  .videos{grid-template-columns:repeat(4,1fr)}
  .combos{grid-template-columns:repeat(4,1fr)}
  .nap{grid-template-columns:repeat(3,1fr)}
  .foot__cols{grid-template-columns:repeat(4,1fr)}
  .to-top{right:22px;bottom:22px}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}

@media print{
  .topbar,.nav,.to-top,.map,.hero__nav,.hero__dots{display:none!important}
  body{font-size:12pt}
}
