
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Playfair+Display:wght@600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&display=swap');

:root{
  --coral:#FF7C6B;
  --coral-2:#FF9D8D;
  --peach:#FFC9A8;
  --butter:#FFE59A;
  --mint:#BFE7D2;
  --sky:#CBE8FF;
  --lav:#DCCBFF;
  --cream:#FFF9F3;
  --white:#FFFFFF;
  --ink:#2D2630;
  --muted:#726875;
  --green:#4B8B74;
  --shadow:0 30px 80px rgba(86,54,91,.14);
  --shadow-soft:0 18px 50px rgba(86,54,91,.09);
  --line:rgba(68,45,75,.10);
  --radius:30px;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'DM Sans',system-ui,sans-serif;
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  z-index:-5;
  pointer-events:none;
  filter:blur(2px);
}
body::before{
  width:70vw;height:20vw;left:-10vw;top:18vh;transform:rotate(-13deg);
  background:linear-gradient(90deg,rgba(203,232,255,.75),rgba(220,203,255,.58),rgba(255,201,168,.42));
  border-radius:999px;
}
body::after{
  width:80vw;height:18vw;right:-20vw;top:58vh;transform:rotate(11deg);
  background:linear-gradient(90deg,rgba(191,231,210,.52),rgba(255,229,154,.55),rgba(255,124,107,.34));
  border-radius:999px;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.wrap{width:min(var(--max),calc(100% - 22px));margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px 14px;border-radius:12px}

/* HEADER - modern floating browser names */
.header{
  position:sticky;top:0;z-index:1200;
  padding:10px 0;
  transition:.3s background,.3s box-shadow,.3s backdrop-filter;
}
.header.scrolled{
  background:rgba(255,249,243,.72);
  backdrop-filter:blur(18px) saturate(145%);
  box-shadow:0 14px 38px rgba(62,44,66,.08);
}
.navbar{
  min-height:76px;
  padding:8px 10px 8px 14px;
  display:flex;align-items:center;gap:14px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:26px;
  background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(255,255,255,.60));
  backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 18px 60px rgba(71,46,78,.10);
}
.brand{display:flex;align-items:center;min-width:210px}
.brand img{width:184px;filter:drop-shadow(0 8px 14px rgba(67,43,37,.12))}
.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
.nav-link{
  position:relative;
  min-height:48px;
  padding:0 14px;
  display:inline-flex;align-items:center;gap:8px;
  border-radius:16px;
  color:#554D59;
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:.84rem;
  transition:.25s transform,.25s background,.25s color,.25s box-shadow;
}
.nav-icon{
  width:25px;height:25px;border-radius:9px;display:grid;place-items:center;
  background:rgba(203,232,255,.72);font-size:.85rem;
  transition:.25s transform,.25s background;
}
.nav-link:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.85);
  box-shadow:0 12px 26px rgba(64,42,70,.09);
}
.nav-link:hover .nav-icon{transform:rotate(-6deg) scale(1.08)}
.nav-link::after{
  content:"";position:absolute;left:16px;right:calc(100% - 16px);bottom:6px;height:2px;border-radius:99px;
  background:linear-gradient(90deg,var(--coral),var(--lav));transition:.28s right;
}
.nav-link:hover::after,.nav-link.active::after{right:16px}
.nav-link.active{
  background:linear-gradient(135deg,rgba(255,124,107,.16),rgba(255,229,154,.30));
  color:#3F3444;
}
.nav-link.active .nav-icon{background:linear-gradient(135deg,var(--coral),var(--peach));color:#fff}
.order-pill{
  margin-left:6px;padding:0 18px;min-height:48px;border-radius:16px;
  display:inline-flex;align-items:center;gap:8px;
  color:#fff;font-weight:900;
  background:linear-gradient(135deg,var(--coral),#FF9F74);
  box-shadow:0 14px 30px rgba(255,124,107,.28);
  transition:.25s transform,.25s box-shadow;
}
.order-pill:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 20px 42px rgba(255,124,107,.34)}
.menu-toggle{
  display:none;margin-left:auto;border:0;width:46px;height:46px;border-radius:15px;
  background:linear-gradient(135deg,var(--sky),var(--lav));color:#51465B;font-weight:1000;
}

/* HERO with embedded video */
.hero{position:relative;padding:32px 0 70px;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:4% -8% auto auto;width:66vw;height:18vw;z-index:-2;
  background:linear-gradient(90deg,rgba(203,232,255,.70),rgba(220,203,255,.58),rgba(255,201,168,.46));
  border-radius:999px;transform:rotate(-9deg);
}
.hero::after{
  content:"";position:absolute;left:-18vw;bottom:6%;width:72vw;height:15vw;z-index:-2;
  background:linear-gradient(90deg,rgba(191,231,210,.50),rgba(255,229,154,.64),rgba(255,124,107,.32));
  border-radius:999px;transform:rotate(11deg);
}
.hero-grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
.hero-copy{padding:28px 8px 0}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;
  background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.78);backdrop-filter:blur(10px);
  font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#64596B;
  box-shadow:0 12px 34px rgba(76,54,80,.07)
}
.hero h1{
  margin:18px 0 18px;
  font-family:'Manrope',sans-serif;
  font-size:clamp(3.6rem,15vw,6.3rem);
  line-height:.89;letter-spacing:-.055em;
}
.hero h1 .line2{display:block;color:var(--coral)}
.hero h1 .line3{display:block;color:#8D6AD9}
.hero p{max-width:620px;color:#655B69;line-height:1.78;font-size:1.03rem}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.btn{
  min-height:50px;padding:0 19px;border:0;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:900;transition:.25s transform,.25s box-shadow,.25s background;
}
.btn:hover{transform:translateY(-3px)}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--coral),#FF9B74);box-shadow:0 16px 34px rgba(255,124,107,.28)}
.btn-soft{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.85);box-shadow:0 14px 34px rgba(67,47,74,.08)}

.video-card{
  position:relative;
  border-radius:34px;
  padding:10px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.58));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 35px 95px rgba(63,46,70,.18);
  overflow:hidden;
  transform:perspective(1200px) rotateY(-1deg);
}
.video-frame{position:relative;aspect-ratio:16/10;border-radius:27px;overflow:hidden;background:#EEDFDA}
.video-frame video{width:100%;height:100%;object-fit:cover}
.video-overlay{
  position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;
  background:linear-gradient(180deg,transparent 52%,rgba(40,31,43,.38));
  pointer-events:none;
}
.video-badge{
  padding:9px 12px;border-radius:14px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(10px);
  color:#51485A;font-size:.78rem;font-weight:900;
}

/* floating category strip */
.quick-strip{
  margin-top:24px;
  display:grid;grid-template-columns:1fr;gap:10px;
}
.quick-card{
  padding:17px;border-radius:22px;background:rgba(255,255,255,.74);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow-soft);
  transition:.25s transform,.25s box-shadow;
}
.quick-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.quick-card .icon{
  width:42px;height:42px;border-radius:15px;display:grid;place-items:center;margin-bottom:10px;
  background:linear-gradient(135deg,var(--butter),var(--peach));font-size:1.15rem;
}
.quick-card:nth-child(2) .icon{background:linear-gradient(135deg,var(--sky),var(--lav))}
.quick-card:nth-child(3) .icon{background:linear-gradient(135deg,var(--mint),var(--butter))}
.quick-card h3{margin:0 0 6px}.quick-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem}

/* section system */
.section{position:relative;padding:68px 0}
.section-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}
.kicker{font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#B7597B}
h2{margin:0;font:clamp(2.7rem,11vw,4.8rem)/.95 'Manrope';letter-spacing:-.045em}
.lede{max-width:720px;color:var(--muted);line-height:1.72}

.cards{display:grid;grid-template-columns:1fr;gap:16px}
.card{
  overflow:hidden;border-radius:28px;background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.88);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);
  transition:.25s transform,.25s box-shadow;
}
.card:hover{box-shadow:var(--shadow)}
.card-media{height:230px;overflow:hidden;background:#EEE}
.card-media img{width:100%;height:100%;object-fit:cover;transition:.55s transform}
.card:hover .card-media img{transform:scale(1.045)}
.card-body{padding:20px}
.badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#FFE5DE;color:#A85549;font-size:.72rem;font-weight:900}
.card h3{margin:10px 0 8px;font-size:1.28rem}.card p{color:var(--muted);line-height:1.62}.price{color:#B9574C;font-weight:1000}

.feature-split{
  display:grid;grid-template-columns:1fr;gap:18px;
  padding:16px;border-radius:32px;background:rgba(255,255,255,.64);
  border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)
}
.feature-media{
  min-height:300px;border-radius:24px;background-size:cover;background-position:center;
}
.feature-media.one{background-image:url('https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?auto=format&fit=crop&w=2600&q=92')}
.feature-media.two{background-image:url('https://images.unsplash.com/photo-1555939594-58d7cb561ad1?auto=format&fit=crop&w=2600&q=92')}
.feature-copy{padding:18px}
.feature-copy p{color:var(--muted);line-height:1.72}

.review-grid{display:grid;grid-template-columns:1fr;gap:14px}
.review{
  padding:22px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow-soft)
}
.review .stars{color:#F4B557;letter-spacing:.12em}.review p{color:var(--muted);line-height:1.65}

.gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:220px;gap:12px}
.gallery-shot{border-radius:24px;background-size:cover;background-position:center;box-shadow:var(--shadow-soft);overflow:hidden}
.g1{background-image:url('https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?auto=format&fit=crop&w=2600&q=92')}
.g2{background-image:url('https://images.unsplash.com/photo-1555939594-58d7cb561ad1?auto=format&fit=crop&w=2600&q=92')}
.g3{background-image:url('https://images.unsplash.com/photo-1565299585323-38d6b0865b47?auto=format&fit=crop&w=2600&q=92')}
.g4{background-image:url('https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=2600&q=92')}

.cta{
  border-radius:32px;padding:32px;overflow:hidden;position:relative;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,255,255,.28),transparent 18rem),
    linear-gradient(135deg,#FF9687,var(--coral) 48%,#C58CEB 100%);
  color:#fff;box-shadow:var(--shadow)
}
.cta h2{color:#fff}.cta p{max-width:690px;color:#FFF8FB;line-height:1.7}
.cta .btn-soft{background:#fff;color:#534859}

/* page hero */
.page-hero{padding:48px 0 26px}
.page-hero h1{margin:6px 0;font:clamp(3.6rem,15vw,6.5rem)/.9 'Manrope';letter-spacing:-.055em}
.page-hero p{max-width:760px;color:var(--muted);line-height:1.72}

/* menu */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.filter{border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.76);border-radius:999px;padding:10px 13px;font-weight:900;color:#625768}
.filter.active{background:linear-gradient(135deg,var(--coral),var(--peach));color:#fff;border-color:transparent}
.products{display:grid;grid-template-columns:1fr;gap:15px}
.product{
  overflow:hidden;border-radius:26px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.90);box-shadow:var(--shadow-soft)
}
.product-media{height:190px}.product-media img{width:100%;height:100%;object-fit:cover}
.product-body{padding:19px}.product h3{margin:9px 0}.product p{color:var(--muted);line-height:1.6}.product-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}

/* order */
.order-layout{display:grid;grid-template-columns:1fr;gap:18px}
.cart{
  border-radius:28px;padding:22px;
  background:linear-gradient(145deg,#44364B,#5C4662);color:#fff;box-shadow:var(--shadow)
}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.qty{display:flex;gap:7px;align-items:center}.qty button{width:30px;height:30px;border:0;border-radius:9px}
.cart-total{display:flex;justify-content:space-between;padding:18px 0;font-weight:1000;font-size:1.22rem}
.cart-note{font-size:.82rem;color:#D9CCDD;line-height:1.5}

/* catering/contact */
.package-grid{display:grid;grid-template-columns:1fr;gap:15px}
.package,.panel{
  padding:22px;border-radius:26px;background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.90);box-shadow:var(--shadow-soft)
}
.package ul{padding-left:20px;color:var(--muted);line-height:1.8}
.contact-grid{display:grid;grid-template-columns:1fr;gap:18px}
.panel img{width:190px}
.form-grid{display:grid;grid-template-columns:1fr;gap:13px}
label{font-size:.85rem;font-weight:850}
input,select,textarea{width:100%;margin-top:7px;border:1px solid rgba(89,69,96,.14);background:rgba(255,255,255,.82);border-radius:14px;padding:13px 14px}
textarea{min-height:145px;resize:vertical}

/* footer */
footer{margin-top:72px;background:linear-gradient(135deg,#514257,#3F3444);color:#fff}
footer::before{content:"";display:block;height:7px;background:linear-gradient(90deg,var(--coral),var(--peach),var(--butter),var(--mint),var(--sky),var(--lav))}
.footer-grid{display:grid;grid-template-columns:1fr;gap:22px;padding:46px 0}
.footer-grid img{width:200px}.footer-grid p{color:#E7DAEA;line-height:1.7}.footer-grid a{color:#fff}
.footer-bottom{padding:16px 0 26px;border-top:1px solid rgba(255,255,255,.12);font-size:.83rem;color:#CCBDD0}

.reveal{opacity:0;transform:translateY(24px);transition:.72s opacity,.72s transform cubic-bezier(.2,.75,.2,1)}
.reveal.in{opacity:1;transform:none}
.mobile-dock{display:none}

/* TABLET */
@media(min-width:720px){
  .wrap{width:min(var(--max),calc(100% - 34px))}
  .hero-grid{grid-template-columns:.9fr 1.1fr;gap:30px}
  .quick-strip{grid-template-columns:repeat(3,1fr)}
  .section{padding:82px 0}
  .section-head{flex-direction:row;justify-content:space-between;align-items:end}
  .cards,.products,.package-grid{grid-template-columns:repeat(2,1fr)}
  .feature-split{grid-template-columns:1fr 1fr;align-items:center}
  .review-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:1.2fr .8fr;grid-auto-rows:230px}
  .gallery-shot:first-child{grid-row:span 2}
  .gallery-shot:last-child{grid-column:span 2}
  .form-grid{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}
  .footer-grid{grid-template-columns:1.3fr .7fr .7fr}
}

/* DESKTOP */
@media(min-width:1020px){
  .hero{padding-top:46px}
  .hero-grid{grid-template-columns:.88fr 1.12fr;gap:44px}
  .hero-copy{padding-left:6px}
  .cards,.products,.package-grid{grid-template-columns:repeat(3,1fr)}
  .order-layout{grid-template-columns:1fr 390px;align-items:start}
  .cart{position:sticky;top:104px}
  .contact-grid{grid-template-columns:.9fr 1.1fr}
}

/* MOBILE NAV */
@media(max-width:980px){
  .brand{min-width:auto}.brand img{width:165px}
  .menu-toggle{display:block}
  .nav-links{
    display:none;position:absolute;top:90px;left:12px;right:12px;padding:10px;
    background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--shadow);
    flex-direction:column;align-items:stretch;
  }
  .nav-links.open{display:flex}
  .nav-link,.order-pill{width:100%;justify-content:flex-start;margin:0}
}
@media(max-width:680px){
  .mobile-dock{
    display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:1300;
    padding:7px;border-radius:18px;background:rgba(67,52,72,.91);backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(0,0,0,.22)
  }
  .mobile-dock a{padding:10px 7px;text-align:center;color:#fff;font-size:.76rem;font-weight:900;border-radius:12px}
  .mobile-dock a:nth-child(2){background:linear-gradient(135deg,var(--coral),#FF9D74)}
  footer{padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}


/* V14 — FULL-BLEED HOME HERO
   The hero itself and its content now span the full viewport width.
   Inner padding is fluid instead of constrained by the global .wrap max-width. */
.hero > .wrap.hero-grid{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:clamp(18px,4.6vw,92px);
  padding-right:clamp(18px,4.6vw,92px);
}
.hero > .wrap.quick-strip{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:clamp(18px,4.6vw,92px);
  padding-right:clamp(18px,4.6vw,92px);
}
@media(min-width:1020px){
  .hero-grid{
    grid-template-columns:minmax(420px,.78fr) minmax(620px,1.22fr);
    gap:clamp(34px,4vw,74px);
  }
  .hero-copy{
    max-width:720px;
  }
  .video-card{
    width:100%;
    max-width:none;
  }
  .video-frame{
    aspect-ratio:16/9;
  }
}
@media(min-width:1500px){
  .hero > .wrap.hero-grid,
  .hero > .wrap.quick-strip{
    padding-left:clamp(48px,6vw,128px);
    padding-right:clamp(48px,6vw,128px);
  }
}


/* =========================================================
   V15 — CLEAN FULL-WIDTH VIDEO HERO
   Requested scope:
   - no frame
   - no card
   - no left-side text
   - no hero labels
   - video becomes the visual background itself
   - edge-to-edge across the full viewport
   ========================================================= */
.hero-video-only{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  position:relative;
  overflow:hidden;
  background:#000;
  min-height:clamp(420px,66vw,820px);
}
.hero-video-only::before,
.hero-video-only::after{
  display:none !important;
}
.hero-full-video{
  display:block;
  width:100%;
  height:clamp(420px,66vw,820px);
  object-fit:cover;
  object-position:center center;
  border:0;
  border-radius:0;
  box-shadow:none;
  outline:0;
  margin:0;
  padding:0;
  background:#000;
}

/* remove any inherited full-bleed wrapper treatment from earlier versions */
.hero-video-only .wrap,
.hero-video-only .hero-grid,
.hero-video-only .hero-copy,
.hero-video-only .video-card,
.hero-video-only .video-frame,
.hero-video-only .video-overlay,
.hero-video-only .quick-strip{
  display:none !important;
}

@media(max-width:680px){
  .hero-video-only{
    min-height:62vh;
  }
  .hero-full-video{
    height:62vh;
    min-height:420px;
    object-position:center center;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-full-video{
    animation:none !important;
  }
}


/* =========================================================
   V16 — HALF-OVERLAP FOOD CARDS ON HERO EDGE
   - heading above images removed
   - text inside cards preserved
   - cards sit halfway over lower edge of hero
   - clean pastel separators between cards
   ========================================================= */
.overlap-favorites{
  position:relative;
  z-index:40;
  margin-top:-218px;
  padding:0 0 78px;
  background:
    linear-gradient(
      180deg,
      rgba(255,249,243,0) 0%,
      rgba(255,249,243,0) 46%,
      rgba(255,249,243,.82) 70%,
      var(--cream) 100%
    );
}

.overlap-favorites-inner{
  position:relative;
}

.overlap-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
  position:relative;
}

.overlap-card-grid .card{
  position:relative;
  min-height:430px;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.94);
  box-shadow:
    0 30px 76px rgba(55,39,61,.18),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(14px);
}

.overlap-card-grid .card-media{
  height:232px;
}

.overlap-card-grid .card-body{
  padding:20px 21px 22px;
}

/* vertical separators between the three featured cards */
.overlap-card-grid .card + .card::before{
  content:"";
  position:absolute;
  left:-15px;
  top:9%;
  bottom:9%;
  width:2px;
  border-radius:999px;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      var(--sky) 18%,
      var(--lav) 46%,
      var(--coral-2) 76%,
      transparent 100%
    );
  box-shadow:0 0 18px rgba(176,147,219,.26);
  pointer-events:none;
}

/* the hero remains a pure edge-to-edge video */
.hero-video-only{
  position:relative;
  z-index:1;
}

@media(min-width:1020px){
  .overlap-favorites{
    margin-top:-215px;
  }
}

@media(min-width:720px) and (max-width:1019px){
  .overlap-favorites{
    margin-top:-150px;
    padding-bottom:64px;
  }
  .overlap-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  .overlap-card-grid .card{
    min-height:385px;
  }
  .overlap-card-grid .card-media{
    height:185px;
  }
  .overlap-card-grid .card + .card::before{
    left:-10px;
  }
}

/* Mobile stacks naturally; only first card overlaps the video.
   Separators become horizontal between stacked cards. */
@media(max-width:719px){
  .overlap-favorites{
    margin-top:-92px;
    padding-bottom:54px;
  }
  .overlap-card-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .overlap-card-grid .card{
    min-height:0;
  }
  .overlap-card-grid .card-media{
    height:210px;
  }
  .overlap-card-grid .card + .card::before{
    left:8%;
    right:8%;
    top:-9px;
    bottom:auto;
    width:auto;
    height:2px;
    background:
      linear-gradient(
        90deg,
        transparent 0%,
        var(--sky) 20%,
        var(--lav) 50%,
        var(--coral-2) 80%,
        transparent 100%
      );
  }
}


/* =========================================================
   V17 — CINEMATIC FUSED FEATURE RAIL
   Goal:
   - dissolve the individual white frames
   - fuse the three featured dishes into the hero edge
   - keep only elegant separators
   - brighter pastel cinematic treatment
   - preserve text inside each dish module
   ========================================================= */

.overlap-favorites{
  position:relative;
  z-index:45;
  margin-top:-238px;
  padding:0 0 88px;
  background:
    linear-gradient(
      180deg,
      rgba(255,249,243,0) 0%,
      rgba(255,249,243,0) 40%,
      rgba(255,249,243,.36) 58%,
      rgba(255,249,243,.82) 78%,
      var(--cream) 100%
    );
}

/* shared rail = one visual composition, not 3 separate boxes */
.overlap-favorites-inner{
  position:relative;
  isolation:isolate;
  border-radius:36px;
}

.overlap-favorites-inner::before{
  content:"";
  position:absolute;
  inset:-22px -18px -30px;
  z-index:-2;
  border-radius:46px;
  background:
    radial-gradient(circle at 12% 10%,rgba(203,232,255,.36),transparent 24rem),
    radial-gradient(circle at 52% 8%,rgba(220,203,255,.30),transparent 25rem),
    radial-gradient(circle at 88% 12%,rgba(255,157,141,.28),transparent 23rem),
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.26) 45%,
      rgba(255,255,255,.72) 100%
    );
  filter:blur(1px);
}

.overlap-favorites-inner::after{
  content:"";
  position:absolute;
  top:-14px;
  bottom:18px;
  left:-28%;
  width:24%;
  z-index:8;
  pointer-events:none;
  transform:skewX(-13deg);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.06) 18%,
      rgba(255,255,255,.48) 50%,
      rgba(255,255,255,.08) 82%,
      transparent
    );
  filter:blur(2px);
  animation:featureRailSweep 8.8s ease-in-out infinite;
}

@keyframes featureRailSweep{
  0%,72%,100%{left:-28%;opacity:0}
  77%{opacity:.55}
  88%{left:108%;opacity:.42}
  92%{opacity:0}
}

.overlap-card-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:stretch;
  overflow:visible;
  border-radius:34px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.18) 46%,
      rgba(255,255,255,.56) 100%
    );
  backdrop-filter:blur(12px) saturate(124%);
  -webkit-backdrop-filter:blur(12px) saturate(124%);
}

/* dissolve each card frame */
.overlap-card-grid .card{
  position:relative;
  min-height:424px;
  overflow:visible;
  border:0 !important;
  border-radius:0 !important;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,.09) 48%,
      rgba(255,255,255,.64) 100%
    ) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  transform:translateZ(0);
  transition:
    transform .34s cubic-bezier(.2,.75,.2,1),
    filter .34s ease;
}

/* soft side breathing room instead of individual borders */
.overlap-card-grid .card{
  padding:0 22px;
}
.overlap-card-grid .card:first-child{padding-left:0}
.overlap-card-grid .card:last-child{padding-right:0}

.overlap-card-grid .card:hover{
  transform:translateY(-8px);
  filter:drop-shadow(0 24px 34px rgba(77,55,83,.16));
}

/* imagery becomes the main visual object */
.overlap-card-grid .card-media{
  position:relative;
  height:248px;
  overflow:hidden;
  border-radius:26px;
  background:transparent;
  box-shadow:
    0 24px 50px rgba(63,45,67,.15),
    inset 0 1px 0 rgba(255,255,255,.58);
  isolation:isolate;
}

.overlap-card-grid .card-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.15) 0%,
      transparent 23%,
      transparent 70%,
      rgba(33,25,35,.06) 100%
    );
  mix-blend-mode:screen;
}

.overlap-card-grid .card-media::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:3;
  pointer-events:none;
  opacity:.0;
  transform:translateX(-34%) rotate(10deg);
  background:
    linear-gradient(
      90deg,
      transparent 35%,
      rgba(255,255,255,.55) 50%,
      transparent 65%
    );
  transition:opacity .25s ease;
  animation:cardLightPass 10.5s ease-in-out infinite;
}

@keyframes cardLightPass{
  0%,78%,100%{transform:translateX(-38%) rotate(10deg);opacity:0}
  82%{opacity:.28}
  90%{transform:translateX(38%) rotate(10deg);opacity:.18}
  94%{opacity:0}
}

.overlap-card-grid .card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:
    saturate(1.12)
    contrast(1.04)
    brightness(1.035);
  transform:scale(1.015);
  transition:
    transform .68s cubic-bezier(.2,.75,.2,1),
    filter .38s ease;
}

.overlap-card-grid .card:hover .card-media img{
  transform:scale(1.065);
  filter:saturate(1.18) contrast(1.06) brightness(1.055);
}

.overlap-card-grid .card-body{
  position:relative;
  padding:20px 13px 22px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.20),
      rgba(255,255,255,.52) 58%,
      rgba(255,255,255,.12) 100%
    );
  border-radius:0 0 22px 22px;
}

/* text remains intact but receives modern editorial polish */
.overlap-card-grid .card h3{
  margin-top:10px;
  letter-spacing:-.02em;
}
.overlap-card-grid .card p{
  color:#6A6170;
}
.overlap-card-grid .price{
  display:inline-flex;
  margin-top:3px;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,124,107,.13),rgba(255,229,154,.24));
  color:#B65750;
}

/* luminous separators = clear rhythm without box borders */
.overlap-card-grid .card + .card::before{
  content:"";
  position:absolute;
  left:0;
  top:8%;
  bottom:7%;
  width:2px;
  border-radius:999px;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(203,232,255,.9) 16%,
      rgba(220,203,255,.95) 44%,
      rgba(255,157,141,.88) 72%,
      rgba(255,229,154,.70) 88%,
      transparent 100%
    );
  box-shadow:
    0 0 15px rgba(167,143,216,.28),
    0 0 30px rgba(255,157,141,.12);
  pointer-events:none;
}

/* delicate dots where separators cross the hero/page transition */
.overlap-card-grid .card + .card::after{
  content:"";
  position:absolute;
  left:-4px;
  top:49%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#FFFFFF;
  box-shadow:
    0 0 0 4px rgba(220,203,255,.28),
    0 0 22px rgba(255,157,141,.38);
  pointer-events:none;
}

/* fusion mist across the exact hero/card meeting point */
.overlap-favorites::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:180px;
  height:150px;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(255,249,243,0) 0%,
      rgba(203,232,255,.10) 26%,
      rgba(220,203,255,.12) 47%,
      rgba(255,249,243,.56) 100%
    );
  filter:blur(8px);
}

/* Tablet */
@media(min-width:720px) and (max-width:1019px){
  .overlap-favorites{
    margin-top:-166px;
    padding-bottom:68px;
  }
  .overlap-card-grid .card{
    min-height:385px;
    padding:0 12px;
  }
  .overlap-card-grid .card:first-child{padding-left:0}
  .overlap-card-grid .card:last-child{padding-right:0}
  .overlap-card-grid .card-media{
    height:195px;
    border-radius:22px;
  }
}

/* Mobile:
   keep the first module fused to hero, then stack with glowing
   horizontal separators instead of vertical ones. */
@media(max-width:719px){
  .overlap-favorites{
    margin-top:-102px;
    padding-bottom:58px;
  }
  .overlap-card-grid{
    grid-template-columns:1fr;
    gap:18px;
    background:transparent;
    backdrop-filter:none;
  }
  .overlap-card-grid .card,
  .overlap-card-grid .card:first-child,
  .overlap-card-grid .card:last-child{
    min-height:0;
    padding:0;
    border-radius:26px !important;
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.22),
        rgba(255,255,255,.72)
      ) !important;
  }
  .overlap-card-grid .card-media{
    height:220px;
  }
  .overlap-card-grid .card + .card::before{
    left:8%;
    right:8%;
    top:-10px;
    bottom:auto;
    width:auto;
    height:2px;
    background:
      linear-gradient(
        90deg,
        transparent 0%,
        var(--sky) 20%,
        var(--lav) 48%,
        var(--coral-2) 76%,
        transparent 100%
      );
  }
  .overlap-card-grid .card + .card::after{
    left:50%;
    top:-14px;
    transform:translateX(-50%);
  }
  .overlap-favorites-inner::after{
    display:none;
  }
}

/* Keep accessibility intact */
@media(prefers-reduced-motion:reduce){
  .overlap-favorites-inner::after,
  .overlap-card-grid .card-media::after{
    animation:none !important;
    display:none !important;
  }
  .overlap-card-grid .card,
  .overlap-card-grid .card-media img{
    transform:none !important;
  }
}


/* =========================================================
   V18 — MOUSE CINEMATIC GUIDE
   HOME FEATURE RAIL ONLY
   - cards respond to pointer movement
   - subtle pastel sparkles trail the cursor
   - nearest card gets a soft guiding glow
   - no forced navigation; movement only guides attention
   - disabled for touch / reduced motion
   ========================================================= */

/* fixed cinematic pointer glow */
.cursor-cinema-glow{
  position:fixed;
  left:0;
  top:0;
  width:150px;
  height:150px;
  z-index:1500;
  pointer-events:none;
  border-radius:50%;
  opacity:0;
  transform:translate3d(-200px,-200px,0);
  background:
    radial-gradient(
      circle,
      rgba(255,255,255,.34) 0%,
      rgba(203,232,255,.18) 28%,
      rgba(220,203,255,.15) 45%,
      rgba(255,124,107,.08) 62%,
      transparent 72%
    );
  filter:blur(8px);
  mix-blend-mode:screen;
  transition:opacity .22s ease;
}

/* tiny stealth sparkles */
.cursor-spark{
  position:fixed;
  left:0;
  top:0;
  z-index:1510;
  pointer-events:none;
  border-radius:50%;
  will-change:transform,opacity;
  box-shadow:
    0 0 8px rgba(255,255,255,.48),
    0 0 13px rgba(203,232,255,.28);
  animation:cursorSparkFade .62s ease-out forwards;
}

@keyframes cursorSparkFade{
  0%{
    opacity:.82;
    transform:translate3d(var(--sx),var(--sy),0) scale(1);
  }
  45%{
    opacity:.58;
  }
  100%{
    opacity:0;
    transform:
      translate3d(
        calc(var(--sx) + var(--dx)),
        calc(var(--sy) + var(--dy)),
        0
      )
      scale(.1);
  }
}

/* shared rail receives moving light focus */
.overlap-favorites{
  --guide-x:50%;
  --guide-y:42%;
}

.overlap-favorites::after{
  content:"";
  position:absolute;
  inset:-36px 0 -20px;
  z-index:-1;
  pointer-events:none;
  opacity:.68;
  background:
    radial-gradient(
      circle at var(--guide-x) var(--guide-y),
      rgba(255,255,255,.34) 0%,
      rgba(203,232,255,.18) 12%,
      rgba(220,203,255,.13) 24%,
      rgba(255,124,107,.07) 38%,
      transparent 57%
    );
  filter:blur(9px);
  transition:opacity .25s ease;
}

/* card motion is controlled by JS variables */
.overlap-card-grid .card{
  --move-x:0px;
  --move-y:0px;
  --rot-x:0deg;
  --rot-y:0deg;
  --lift:0px;
  transform:
    perspective(1100px)
    translate3d(var(--move-x),calc(var(--move-y) + var(--lift)),0)
    rotateX(var(--rot-x))
    rotateY(var(--rot-y));
  transform-origin:center center;
  will-change:transform,filter;
  transition:
    transform .28s cubic-bezier(.2,.75,.2,1),
    filter .28s ease,
    opacity .28s ease;
}

/* guided card = nearest visual destination */
.overlap-card-grid .card.mouse-guided{
  --lift:-8px;
  filter:
    drop-shadow(0 28px 36px rgba(77,55,83,.17))
    saturate(1.05);
}

.overlap-card-grid .card.mouse-guided .card-media{
  box-shadow:
    0 30px 62px rgba(63,45,67,.18),
    0 0 0 1px rgba(255,255,255,.62),
    0 0 34px rgba(203,232,255,.22),
    0 0 52px rgba(220,203,255,.12);
}

.overlap-card-grid .card.mouse-guided .badge{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(255,124,107,.12);
}

/* subtle "direction" accent in the text area */
.overlap-card-grid .card-body::after{
  content:"";
  position:absolute;
  left:13px;
  bottom:8px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--coral),var(--lav),var(--sky));
  opacity:.0;
  transition:width .34s ease,opacity .34s ease;
}

.overlap-card-grid .card.mouse-guided .card-body::after{
  width:42%;
  opacity:.72;
}

/* siblings drift very slightly so the whole rail feels alive */
.overlap-card-grid .card.mouse-secondary{
  opacity:.985;
  filter:saturate(.99);
}

/* Motion only on precise pointers */
@media(pointer:coarse){
  .cursor-cinema-glow,
  .cursor-spark{
    display:none !important;
  }
  .overlap-card-grid .card{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .cursor-cinema-glow,
  .cursor-spark{
    display:none !important;
  }
  .overlap-favorites::after{
    display:none !important;
  }
  .overlap-card-grid .card{
    transform:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V19 — CURSOR COMPASS + FASTER STEALTH SPARKS
   - decorated mouse arrow
   - faster / denser pastel sparks
   - compass arrow points toward nearest useful action
   - nearest action receives a subtle guidance pulse
   - visual guidance only; never forces navigation
   ========================================================= */

/* Decorated native arrow for empty page areas */
@media(pointer:fine) and (prefers-reduced-motion:no-preference){
  body.cursor-enhanced{
    cursor:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M4 2 L22 15 L14.6 16.6 L18.8 25.6 L14.4 27.6 L10.4 18.4 L5 23 Z' fill='%23ffffff' stroke='%23FF7C6B' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='23.5' cy='6.5' r='2.3' fill='%23DCCBFF'/%3E%3Cpath d='M23.5 1.8v2.1M23.5 9.1v2.1M18.8 6.5h2.1M26.1 6.5h2.1' stroke='%23CBE8FF' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") 4 2,
      auto;
  }
  body.cursor-enhanced a,
  body.cursor-enhanced button,
  body.cursor-enhanced [role="button"]{
    cursor:pointer;
  }
}

/* Compass follower */
.cursor-compass{
  position:fixed;
  left:0;
  top:0;
  z-index:1530;
  width:42px;
  height:42px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-120px,-120px,0);
  border:1px solid rgba(255,255,255,.74);
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.84),rgba(255,255,255,.34) 38%,rgba(220,203,255,.18) 72%,rgba(203,232,255,.12));
  box-shadow:
    0 8px 24px rgba(73,52,80,.13),
    0 0 0 4px rgba(255,255,255,.11),
    0 0 26px rgba(203,232,255,.15);
  backdrop-filter:blur(8px) saturate(130%);
  -webkit-backdrop-filter:blur(8px) saturate(130%);
  transition:opacity .18s ease,filter .18s ease;
}

.cursor-compass::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:1px dashed rgba(106,88,116,.22);
}

.cursor-compass-arrow{
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:18px;
  transform-origin:50% 50%;
  transform:translate(-50%,-50%) rotate(var(--angle,0deg));
  transition:transform .16s cubic-bezier(.2,.75,.2,1);
}

.cursor-compass-arrow::before{
  content:"";
  position:absolute;
  left:6px;
  top:0;
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-bottom:10px solid var(--coral);
  filter:drop-shadow(0 2px 4px rgba(255,124,107,.26));
}

.cursor-compass-arrow::after{
  content:"";
  position:absolute;
  width:4px;
  height:7px;
  left:8px;
  top:8px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--coral),var(--lav));
}

.cursor-guide-label{
  position:fixed;
  left:0;
  top:0;
  z-index:1532;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-180px,-180px,0);
  padding:6px 9px;
  border-radius:999px;
  white-space:nowrap;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.04em;
  color:#544A5A;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.94);
  box-shadow:0 9px 22px rgba(70,49,76,.10);
  backdrop-filter:blur(8px);
  transition:opacity .16s ease;
}

/* Faster and more visible, but still tiny/quiet */
.cursor-spark{
  box-shadow:
    0 0 7px rgba(255,255,255,.62),
    0 0 13px rgba(203,232,255,.34),
    0 0 18px rgba(220,203,255,.16);
  animation-duration:.46s !important;
}

/* a second sparkle shape: tiny diamond */
.cursor-spark.cursor-spark-diamond{
  border-radius:1px;
  transform:rotate(45deg);
}

/* nearest target visual direction */
.cursor-targeted{
  position:relative;
  z-index:2;
  filter:
    brightness(1.025)
    drop-shadow(0 11px 22px rgba(255,124,107,.11));
}

.cursor-targeted::selection{background:transparent}

.nav-link.cursor-targeted,
.order-pill.cursor-targeted,
.btn.cursor-targeted{
  box-shadow:
    0 15px 34px rgba(255,124,107,.17),
    0 0 0 3px rgba(255,229,154,.10);
}

.quick-card.cursor-targeted,
.card.cursor-targeted,
.product.cursor-targeted{
  box-shadow:
    0 24px 58px rgba(86,54,91,.14),
    0 0 0 2px rgba(203,232,255,.20),
    0 0 34px rgba(220,203,255,.12);
}

/* soft pulse when user first enters the page */
@keyframes guideFirstPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,124,107,0)}
  50%{box-shadow:0 0 0 12px rgba(255,124,107,.09)}
}

.cursor-first-guide{
  animation:guideFirstPulse 1.4s ease-in-out 2;
}

@media(pointer:coarse){
  .cursor-compass,
  .cursor-guide-label,
  .cursor-spark{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .cursor-compass,
  .cursor-guide-label,
  .cursor-spark{
    display:none !important;
  }
  .cursor-first-guide{
    animation:none !important;
  }
}


/* =========================================================
   V20 — FULL-WIDTH TRANSPARENT CINEMATIC HEADER INTRO
   Requested scope:
   - header/nav extends across the full website width
   - transparent / glassy, not boxed
   - on initial load the rail grows left -> right
   - page names emerge from deep background -> camera
   - logo starts dissolved/blurry -> becomes fully formed
   - preserve multipage architecture and existing cursor system
   ========================================================= */

/* Full viewport header surface */
.header{
  position:sticky;
  top:0;
  z-index:1200;
  padding:0;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible;
}

/* Override the global .wrap only for this header row */
.header > .wrap.navbar{
  position:relative;
  isolation:isolate;
  width:100% !important;
  max-width:none !important;
  min-height:92px;
  margin:0 !important;
  padding:
    10px
    clamp(22px,3.2vw,64px)
    10px
    clamp(18px,2.6vw,52px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  perspective:1400px;
  transform-style:preserve-3d;
  overflow:visible;
}

/* The actual cinematic glass rail grows from left to right */
.header > .wrap.navbar::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  transform-origin:left center;
  transform:scaleX(0);
  opacity:0;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.18) 0%,
      rgba(255,255,255,.48) 18%,
      rgba(255,255,255,.24) 52%,
      rgba(255,255,255,.42) 82%,
      rgba(255,255,255,.16) 100%
    );
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  border-bottom:1px solid rgba(255,255,255,.52);
  box-shadow:
    0 18px 54px rgba(72,49,77,.08),
    inset 0 -1px 0 rgba(255,255,255,.28);
  animation:headerRailGrow 1.25s cubic-bezier(.16,.84,.24,1) .08s forwards;
}

/* Luminous traveling edge during expansion */
.header > .wrap.navbar::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:18%;
  height:2px;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      var(--sky) 24%,
      var(--lav) 50%,
      var(--coral) 78%,
      transparent 100%
    );
  filter:drop-shadow(0 0 10px rgba(220,203,255,.38));
  animation:headerRailSweep 1.25s cubic-bezier(.16,.84,.24,1) .08s forwards;
}

@keyframes headerRailGrow{
  0%{
    transform:scaleX(0);
    opacity:.0;
  }
  18%{opacity:.64}
  100%{
    transform:scaleX(1);
    opacity:1;
  }
}

@keyframes headerRailSweep{
  0%{
    left:-18%;
    opacity:0;
  }
  18%{opacity:.86}
  84%{opacity:.72}
  100%{
    left:100%;
    opacity:0;
  }
}

/* Logo "forms" from a diluted state */
.header .brand{
  min-width:210px;
  opacity:0;
  filter:blur(18px) saturate(.55);
  transform:
    perspective(1100px)
    translate3d(-42px,0,-420px)
    scale(.72);
  transform-origin:left center;
  animation:logoMaterialize 1.55s cubic-bezier(.14,.84,.22,1) .22s forwards;
}

.header .brand img{
  width:clamp(170px,14vw,224px);
  max-width:none;
  filter:
    drop-shadow(0 10px 18px rgba(67,43,37,.12));
}

@keyframes logoMaterialize{
  0%{
    opacity:0;
    filter:blur(18px) saturate(.35);
    transform:
      perspective(1100px)
      translate3d(-42px,0,-420px)
      scale(.72);
  }
  42%{
    opacity:.48;
    filter:blur(9px) saturate(.72);
  }
  78%{
    opacity:.92;
    filter:blur(1.8px) saturate(1.02);
    transform:
      perspective(1100px)
      translate3d(0,0,22px)
      scale(1.018);
  }
  100%{
    opacity:1;
    filter:blur(0) saturate(1);
    transform:
      perspective(1100px)
      translate3d(0,0,0)
      scale(1);
  }
}

/* Navigation spreads naturally across the remaining header width */
.header .nav-links{
  flex:1;
  justify-content:flex-end;
  gap:clamp(3px,.7vw,12px);
  margin-left:clamp(18px,3vw,52px);
  transform-style:preserve-3d;
  perspective:1400px;
}

/* Browser names emerge from deep background to the front */
.header .nav-link,
.header .order-pill{
  opacity:0;
  filter:blur(12px);
  transform:
    perspective(1200px)
    translate3d(0,8px,-700px)
    rotateX(11deg)
    scale(.42);
  transform-origin:center center;
  animation:navNameCameraIn .95s cubic-bezier(.12,.82,.20,1) forwards;
}

/* Stagger the individual browser names */
.header .nav-link:nth-child(1){animation-delay:.52s}
.header .nav-link:nth-child(2){animation-delay:.63s}
.header .nav-link:nth-child(3){animation-delay:.74s}
.header .nav-link:nth-child(4){animation-delay:.85s}
.header .nav-link:nth-child(5){animation-delay:.96s}
.header .order-pill{animation-delay:1.07s}

@keyframes navNameCameraIn{
  0%{
    opacity:0;
    filter:blur(12px);
    transform:
      perspective(1200px)
      translate3d(0,8px,-700px)
      rotateX(11deg)
      scale(.42);
  }
  56%{
    opacity:.82;
    filter:blur(4px);
  }
  82%{
    opacity:1;
    filter:blur(.8px);
    transform:
      perspective(1200px)
      translate3d(0,-1px,32px)
      rotateX(-1.2deg)
      scale(1.025);
  }
  100%{
    opacity:1;
    filter:blur(0);
    transform:
      perspective(1200px)
      translate3d(0,0,0)
      rotateX(0)
      scale(1);
  }
}

/* Transparent modern browser names after entrance */
.header .nav-link{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.header .nav-link:hover{
  background:rgba(255,255,255,.56);
  border-color:rgba(255,255,255,.64);
  box-shadow:0 14px 34px rgba(68,46,73,.10);
}

.header .nav-link.active{
  background:
    linear-gradient(
      135deg,
      rgba(255,124,107,.16),
      rgba(255,229,154,.22),
      rgba(220,203,255,.16)
    );
  border-color:rgba(255,255,255,.36);
}

.header .order-pill{
  background:
    linear-gradient(
      135deg,
      rgba(255,124,107,.90),
      rgba(255,157,116,.92)
    );
  box-shadow:0 15px 34px rgba(255,124,107,.24);
}

/* Keep the rail transparent on top, slightly stronger only after scrolling */
.header.scrolled{
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.header.scrolled > .wrap.navbar::before{
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.54),
      rgba(255,249,243,.66),
      rgba(255,255,255,.52)
    );
  backdrop-filter:blur(19px) saturate(145%);
  -webkit-backdrop-filter:blur(19px) saturate(145%);
  box-shadow:0 16px 42px rgba(62,44,66,.08);
}

/* Intro sparkle points across the rail */
.header-intro-spark{
  position:fixed;
  top:0;
  left:0;
  z-index:1400;
  width:4px;
  height:4px;
  border-radius:50%;
  pointer-events:none;
  background:#fff;
  box-shadow:
    0 0 8px rgba(255,255,255,.75),
    0 0 14px rgba(203,232,255,.38),
    0 0 20px rgba(220,203,255,.18);
  animation:headerIntroSpark .8s ease-out forwards;
}

@keyframes headerIntroSpark{
  0%{
    opacity:.0;
    transform:translate3d(var(--x),var(--y),0) scale(.2);
  }
  18%{opacity:.9}
  100%{
    opacity:0;
    transform:
      translate3d(
        calc(var(--x) + var(--dx)),
        calc(var(--y) + var(--dy)),
        0
      )
      scale(.05);
  }
}

/* Mobile/tablet retains real navigation but simplifies the intro */
@media(max-width:980px){
  .header > .wrap.navbar{
    min-height:86px;
    padding:8px 12px;
  }

  .header .brand{
    min-width:auto;
  }

  .header .brand img{
    width:165px;
  }

  .header .nav-links{
    perspective:none;
    margin-left:0;
  }

  .header .nav-links.open{
    display:flex;
    position:absolute;
    top:86px;
    left:10px;
    right:10px;
    width:auto;
    padding:10px;
    border-radius:22px;
    background:rgba(255,255,255,.91);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    box-shadow:var(--shadow);
  }

  .header .nav-links.open .nav-link,
  .header .nav-links.open .order-pill{
    opacity:1;
    filter:none;
    transform:none;
    animation:none;
  }
}

/* Accessibility: preserve layout, remove entrance motion */
@media(prefers-reduced-motion:reduce){
  .header > .wrap.navbar::before,
  .header > .wrap.navbar::after,
  .header .brand,
  .header .nav-link,
  .header .order-pill{
    animation:none !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
  }

  .header-intro-spark{
    display:none !important;
  }
}


/* =========================================================
   V21 — HEADER NAVIGATION UPDATE
   Visible browser names:
   Home · Menu · About Us · Contact · Order
   Catering and Gallery remain as hidden/direct pages only.
   ========================================================= */
.header .nav-link:nth-child(1){animation-delay:.52s}
.header .nav-link:nth-child(2){animation-delay:.66s}
.header .nav-link:nth-child(3){animation-delay:.80s}
.header .nav-link:nth-child(4){animation-delay:.94s}
.header .order-pill{animation-delay:1.08s}


/* =========================================================
   V22 — CATERING RESTORED TO VISIBLE HEADER NAV
   Home · Menu · About Us · Catering · Contact · Order
   ========================================================= */
.header .nav-link:nth-child(1){animation-delay:.50s}
.header .nav-link:nth-child(2){animation-delay:.61s}
.header .nav-link:nth-child(3){animation-delay:.72s}
.header .nav-link:nth-child(4){animation-delay:.83s}
.header .nav-link:nth-child(5){animation-delay:.94s}
.header .order-pill{animation-delay:1.05s}


/* =========================================================
   V23 — ABOUT US MOVED NEXT TO CONTACT
   Visible order:
   Home · Menu · Catering · About Us · Contact · Order
   ========================================================= */
.header .nav-link:nth-child(1){animation-delay:.50s}
.header .nav-link:nth-child(2){animation-delay:.61s}
.header .nav-link:nth-child(3){animation-delay:.72s}
.header .nav-link:nth-child(4){animation-delay:.83s}
.header .nav-link:nth-child(5){animation-delay:.94s}
.header .order-pill{animation-delay:1.05s}


/* =========================================================
   V24 — HOME STORY SPLIT BAND
   Requested scope: only the former "From craving to cart"
   section on HOME.
   - full-width section
   - image runs edge-to-center (50% width)
   - text separated into right half
   - smaller bold heading + readable restaurant copy
   - slogan at the bottom of this section
   ========================================================= */

.home-story-band{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 12%, rgba(220,203,255,.24), transparent 28rem),
    linear-gradient(135deg, rgba(255,249,243,.96), rgba(245,250,255,.92));
  border-top:1px solid rgba(255,255,255,.76);
  border-bottom:1px solid rgba(255,255,255,.72);
}

.home-story-grid{
  display:grid;
  grid-template-columns:50% 50%;
  min-height:620px;
  width:100%;
}

.home-story-photo{
  position:relative;
  margin:0;
  min-height:620px;
  overflow:hidden;
  background:#eee;
}

.home-story-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 72%, rgba(255,249,243,.18) 86%, rgba(255,249,243,.62) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 22%, rgba(40,30,42,.05));
}

.home-story-photo img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.10) contrast(1.035) brightness(1.02);
  transform:scale(1.015);
  transition:transform .85s cubic-bezier(.2,.75,.2,1), filter .45s ease;
}

.home-story-band:hover .home-story-photo img{
  transform:scale(1.045);
  filter:saturate(1.14) contrast(1.045) brightness(1.035);
}

.home-story-copy{
  position:relative;
  display:flex;
  align-items:center;
  min-height:620px;
  padding:clamp(54px,6vw,98px);
}

.home-story-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:10%;
  bottom:10%;
  width:1px;
  background:linear-gradient(
    180deg,
    transparent,
    rgba(203,232,255,.74) 22%,
    rgba(220,203,255,.74) 50%,
    rgba(255,157,141,.56) 78%,
    transparent
  );
}

.home-story-copy-inner{
  width:min(620px,100%);
}

.home-story-copy h2{
  margin:0 0 22px;
  font-family:'Manrope',sans-serif;
  font-size:clamp(1.9rem,3.1vw,3rem);
  line-height:1.07;
  letter-spacing:-.035em;
  font-weight:800;
  color:#322A35;
}

.home-story-copy p{
  max-width:610px;
  margin:0 0 16px;
  color:#6B626E;
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.82;
}

.home-story-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
}

.home-story-slogan{
  position:relative;
  width:100%;
  padding:24px clamp(22px,5vw,84px) 30px;
  text-align:center;
  background:
    linear-gradient(
      90deg,
      rgba(203,232,255,.42),
      rgba(220,203,255,.34),
      rgba(255,201,168,.34),
      rgba(255,229,154,.32)
    );
  border-top:1px solid rgba(255,255,255,.88);
}

.home-story-slogan strong{
  display:block;
  margin:auto;
  max-width:1100px;
  font-family:'Manrope',sans-serif;
  font-size:clamp(1.45rem,2.4vw,2.35rem);
  line-height:1.2;
  letter-spacing:-.03em;
  color:#3B313E;
}

/* soft cinematic pass */
.home-story-band::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-28%;
  width:18%;
  pointer-events:none;
  transform:skewX(-12deg);
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.20),
    rgba(255,255,255,.42),
    rgba(255,255,255,.12),
    transparent
  );
  animation:homeStorySweep 10s ease-in-out infinite;
}

@keyframes homeStorySweep{
  0%,76%,100%{left:-28%;opacity:0}
  80%{opacity:.44}
  91%{left:110%;opacity:.24}
  95%{opacity:0}
}

@media(max-width:900px){
  .home-story-grid{
    grid-template-columns:1fr;
    min-height:0;
  }

  .home-story-photo,
  .home-story-photo img{
    min-height:0;
    height:52vw;
  }

  .home-story-copy{
    min-height:0;
    padding:48px 24px;
  }

  .home-story-copy::before{
    top:0;
    left:10%;
    right:10%;
    bottom:auto;
    width:auto;
    height:1px;
    background:linear-gradient(
      90deg,
      transparent,
      rgba(203,232,255,.72),
      rgba(220,203,255,.72),
      rgba(255,157,141,.52),
      transparent
    );
  }
}

@media(max-width:600px){
  .home-story-photo,
  .home-story-photo img{
    height:68vw;
  }

  .home-story-copy{
    padding:36px 18px;
  }

  .home-story-copy h2{
    font-size:1.75rem;
  }

  .home-story-slogan{
    padding:20px 16px 24px;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-story-band::after{
    display:none !important;
  }

  .home-story-photo img{
    transform:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V25 — HOME STORY PUZZLE + TYPEWRITER
   Only for the El Tucan HOME story section.
   ========================================================= */

.story-puzzle-band{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(255,220,188,.24), transparent 26rem),
    linear-gradient(135deg, rgba(248,246,255,.94) 0%, rgba(255,251,244,.97) 52%, rgba(248,252,255,.95) 100%);
  border-top:1px solid rgba(255,255,255,.8);
  border-bottom:1px solid rgba(255,255,255,.74);
}

.story-puzzle-grid{
  display:grid;
  grid-template-columns:50% 50%;
  min-height:640px;
}

.story-puzzle-visual{
  position:relative;
  margin:0;
  min-height:640px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02)),
    linear-gradient(135deg, rgba(215,231,255,.24), rgba(255,229,197,.10));
}

.story-puzzle-visual::after{
  content:"";
  position:absolute;
  top:8%;
  right:0;
  bottom:8%;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(190,203,235,.8) 25%, rgba(237,185,156,.62) 72%, transparent);
  z-index:3;
}

.puzzle-stage{
  position:relative;
  width:100%;
  height:100%;
  min-height:640px;
  perspective:1600px;
  overflow:hidden;
}

.puzzle-piece{
  position:absolute;
  background-image:url('https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?auto=format&fit=crop&w=3200&q=95');
  background-size:200% 200%;
  background-repeat:no-repeat;
  box-shadow:0 22px 38px rgba(40,22,38,.17), 0 10px 18px rgba(40,22,38,.10);
  opacity:0;
  filter:blur(18px) saturate(1.08);
  transform-style:preserve-3d;
  border-radius:22px;
  will-change:transform, opacity, filter;
}

.story-puzzle-band:not(.is-activated) .puzzle-piece{
  transition:none;
}

.story-puzzle-band.is-activated .puzzle-piece{
  animation:puzzleAssemble .92s cubic-bezier(.16,.88,.24,1.18) forwards;
}

.story-puzzle-band.is-activated .piece-1{animation-delay:.00s;}
.story-puzzle-band.is-activated .piece-2{animation-delay:.16s;}
.story-puzzle-band.is-activated .piece-3{animation-delay:.32s;}
.story-puzzle-band.is-activated .piece-4{animation-delay:.48s;}

@keyframes puzzleAssemble{
  0%{
    opacity:0;
    filter:blur(18px) saturate(1.25);
  }
  14%{
    opacity:.55;
  }
  62%{
    opacity:1;
    filter:blur(1px) saturate(1.14);
  }
  100%{
    opacity:1;
    filter:blur(0) saturate(1.08);
    transform:translate3d(0,0,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(1);
  }
}

.piece-1{
  left:5%;
  top:10%;
  width:44%;
  height:37%;
  background-position:0% 0%;
  clip-path:polygon(0 0, 68% 0, 68% 10%, 78% 15%, 68% 22%, 68% 100%, 0 100%);
  transform:translate3d(-28%, -22%, -440px) rotateY(-24deg) rotateX(16deg) rotateZ(-8deg) scale(.76);
}
.piece-2{
  right:5%;
  top:10%;
  width:44%;
  height:37%;
  background-position:100% 0%;
  clip-path:polygon(22% 0, 100% 0, 100% 100%, 30% 100%, 30% 76%, 20% 70%, 30% 62%, 30% 0);
  transform:translate3d(28%, -20%, -420px) rotateY(21deg) rotateX(15deg) rotateZ(9deg) scale(.78);
}
.piece-3{
  left:5%;
  bottom:10%;
  width:44%;
  height:37%;
  background-position:0% 100%;
  clip-path:polygon(0 0, 68% 0, 68% 34%, 80% 40%, 68% 47%, 68% 100%, 0 100%);
  transform:translate3d(-26%, 24%, -420px) rotateY(-22deg) rotateX(-14deg) rotateZ(7deg) scale(.8);
}
.piece-4{
  right:5%;
  bottom:10%;
  width:44%;
  height:37%;
  background-position:100% 100%;
  clip-path:polygon(32% 0, 100% 0, 100% 100%, 22% 100%, 22% 54%, 10% 47%, 22% 40%, 22% 0);
  transform:translate3d(30%, 25%, -460px) rotateY(24deg) rotateX(-16deg) rotateZ(-8deg) scale(.78);
}

.puzzle-sheen{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  opacity:0;
  background:
    linear-gradient(105deg, transparent 38%, rgba(255,255,255,.42) 49%, rgba(255,255,255,.12) 57%, transparent 66%);
}

.story-puzzle-band.is-activated .puzzle-sheen{
  animation:puzzleSheen 1.4s ease .72s forwards;
}

@keyframes puzzleSheen{
  0%{opacity:0; transform:translateX(-24%)}
  12%{opacity:.20}
  58%{opacity:.55}
  100%{opacity:0; transform:translateX(22%)}
}

.story-puzzle-copy{
  position:relative;
  display:flex;
  align-items:center;
  min-height:640px;
  padding:clamp(46px, 5vw, 90px);
}

.story-puzzle-copy-inner{
  max-width:600px;
  position:relative;
}

.story-puzzle-copy h2,
.story-puzzle-copy p,
.story-puzzle-slogan strong{
  position:relative;
}

.story-puzzle-copy h2{
  margin:0 0 20px;
  font-family:'Manrope',sans-serif;
  font-size:clamp(1.85rem, 2.55vw, 2.85rem);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.04em;
  color:#2f2734;
  min-height:3.2em;
}

.story-puzzle-copy p{
  margin:0 0 16px;
  color:#6e6470;
  font-size:clamp(.99rem, 1.08vw, 1.05rem);
  line-height:1.78;
  min-height:4.1em;
}

.story-puzzle-copy [data-type-text],
.story-puzzle-slogan [data-type-text]{
  white-space:pre-wrap;
}

.story-puzzle-copy .is-typing::after,
.story-puzzle-slogan .is-typing::after{
  content:"";
  display:inline-block;
  width:2px;
  height:1.02em;
  margin-left:.12em;
  vertical-align:-0.12em;
  background:rgba(238,111,86,.88);
  box-shadow:0 0 14px rgba(238,111,86,.32);
  animation:typeBlink .72s steps(1,end) infinite;
}
@keyframes typeBlink{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}

.story-puzzle-actions{
  margin-top:26px;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease, transform .45s ease;
}
.story-puzzle-actions.is-visible{
  opacity:1;
  transform:translateY(0);
}

.story-puzzle-slogan{
  text-align:center;
  padding:24px clamp(20px, 5vw, 90px) 30px;
  background:
    linear-gradient(90deg, rgba(210,227,255,.42), rgba(231,217,255,.30), rgba(255,225,183,.32));
  border-top:1px solid rgba(255,255,255,.88);
}
.story-puzzle-slogan strong{
  display:block;
  max-width:1100px;
  margin:0 auto;
  font-family:'Manrope',sans-serif;
  font-size:clamp(1.35rem, 2.2vw, 2.2rem);
  line-height:1.2;
  color:#382e3e;
  letter-spacing:-.02em;
  min-height:1.6em;
}

@media(max-width:980px){
  .story-puzzle-grid{
    grid-template-columns:1fr;
  }
  .story-puzzle-visual,
  .puzzle-stage,
  .story-puzzle-copy{
    min-height:0;
  }
  .puzzle-stage{
    height:62vw;
  }
  .story-puzzle-visual::after{
    left:10%;
    right:10%;
    top:auto;
    bottom:0;
    width:auto;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(190,203,235,.8), rgba(237,185,156,.62), transparent);
  }
  .story-puzzle-copy{
    padding:38px 20px 46px;
  }
  .story-puzzle-copy h2{
    min-height:auto;
  }
  .story-puzzle-copy p{
    min-height:auto;
  }
}

@media(max-width:640px){
  .puzzle-stage{
    height:74vw;
  }
  .piece-1, .piece-2, .piece-3, .piece-4{
    border-radius:16px;
  }
  .story-puzzle-copy{
    padding:30px 16px 38px;
  }
  .story-puzzle-slogan{
    padding:18px 14px 24px;
  }
}

@media(prefers-reduced-motion:reduce){
  .story-puzzle-band.is-activated .puzzle-piece{
    animation:none;
    opacity:1;
    filter:none;
    transform:none;
  }
  .story-puzzle-band.is-activated .puzzle-sheen{
    animation:none;
  }
  .story-puzzle-copy .is-typing::after,
  .story-puzzle-slogan .is-typing::after{
    display:none;
  }
}


/* =========================================================
   V26 — PUZZLE FIX
   Fixes the large white cross/gaps from V25.
   Four pieces still arrive independently, but they finish as
   one seamless photograph with no missing center.
   ========================================================= */

.story-puzzle-visual{
  background:#F5F0F4;
}

.puzzle-stage{
  position:relative;
  width:100%;
  height:100%;
  min-height:640px;
  overflow:hidden;
  border-radius:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.52),transparent 44%),
    linear-gradient(135deg,#F4EFF8,#FFF7EF);
  perspective:1800px;
  transform-style:preserve-3d;
}

/* exact 2x2 quadrants so the final image is geometrically continuous */
.puzzle-piece{
  position:absolute;
  width:50.12%;
  height:50.12%;
  margin:0;
  opacity:0;
  border-radius:0;
  background-image:url('https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?auto=format&fit=crop&w=3200&q=95');
  background-repeat:no-repeat;
  background-size:200% 200%;
  box-shadow:0 26px 48px rgba(47,29,50,.18);
  filter:blur(14px) saturate(1.12) brightness(.96);
  transform-style:preserve-3d;
  will-change:transform,opacity,filter,clip-path;
  backface-visibility:hidden;
}

/* quadrants + correct background crop */
.piece-1{
  left:0;top:0;
  background-position:0% 0%;
  clip-path:polygon(
    0 0,100% 0,100% 37%,93% 37%,93% 61%,100% 61%,
    100% 100%,62% 100%,62% 93%,38% 93%,38% 100%,0 100%
  );
  transform:translate3d(-34%,-28%,-620px) rotateX(18deg) rotateY(-28deg) rotateZ(-7deg) scale(.68);
}
.piece-2{
  left:49.88%;top:0;
  background-position:100% 0%;
  clip-path:polygon(
    0 0,100% 0,100% 100%,63% 100%,63% 92%,39% 92%,39% 100%,0 100%,
    0 61%,7% 61%,7% 37%,0 37%
  );
  transform:translate3d(34%,-27%,-600px) rotateX(17deg) rotateY(27deg) rotateZ(7deg) scale(.70);
}
.piece-3{
  left:0;top:49.88%;
  background-position:0% 100%;
  clip-path:polygon(
    0 0,38% 0,38% 7%,62% 7%,62% 0,100% 0,
    100% 39%,93% 39%,93% 63%,100% 63%,100% 100%,0 100%
  );
  transform:translate3d(-32%,29%,-610px) rotateX(-18deg) rotateY(-26deg) rotateZ(6deg) scale(.70);
}
.piece-4{
  left:49.88%;top:49.88%;
  background-position:100% 100%;
  clip-path:polygon(
    0 0,39% 0,39% 7%,63% 7%,63% 0,100% 0,100% 100%,0 100%,
    0 63%,7% 63%,7% 39%,0 39%
  );
  transform:translate3d(34%,30%,-640px) rotateX(-19deg) rotateY(28deg) rotateZ(-7deg) scale(.68);
}

/* Professional assembly: puzzle shape during approach,
   then clip-path expands to a perfect rectangle at the end. */
.story-puzzle-band.is-activated .puzzle-piece{
  animation:puzzleAssembleFixed 1.82s cubic-bezier(.12,.82,.18,1) forwards;
}

.story-puzzle-band.is-activated .piece-1{animation-delay:.00s}
.story-puzzle-band.is-activated .piece-2{animation-delay:.13s}
.story-puzzle-band.is-activated .piece-3{animation-delay:.26s}
.story-puzzle-band.is-activated .piece-4{animation-delay:.39s}

@keyframes puzzleAssembleFixed{
  0%{
    opacity:0;
    filter:blur(14px) saturate(1.22) brightness(.92);
  }
  12%{
    opacity:.36;
  }
  42%{
    opacity:1;
    filter:blur(2px) saturate(1.17) brightness(1.01);
  }
  76%{
    opacity:1;
    filter:blur(0) saturate(1.12) brightness(1.025);
    clip-path:var(--keep-shape,inherit);
  }
  88%{
    transform:translate3d(0,0,10px) rotateX(0) rotateY(0) rotateZ(0) scale(1.008);
    filter:blur(0) saturate(1.12) brightness(1.035);
  }
  100%{
    opacity:1;
    filter:blur(0) saturate(1.10) brightness(1.02);
    transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);
    clip-path:inset(0 0 0 0);
    box-shadow:none;
  }
}

/* During assembly, preserve each unique puzzle silhouette until the last beat */
.story-puzzle-band.is-activated .piece-1{--keep-shape:polygon(0 0,100% 0,100% 37%,93% 37%,93% 61%,100% 61%,100% 100%,62% 100%,62% 93%,38% 93%,38% 100%,0 100%)}
.story-puzzle-band.is-activated .piece-2{--keep-shape:polygon(0 0,100% 0,100% 100%,63% 100%,63% 92%,39% 92%,39% 100%,0 100%,0 61%,7% 61%,7% 37%,0 37%)}
.story-puzzle-band.is-activated .piece-3{--keep-shape:polygon(0 0,38% 0,38% 7%,62% 7%,62% 0,100% 0,100% 39%,93% 39%,93% 63%,100% 63%,100% 100%,0 100%)}
.story-puzzle-band.is-activated .piece-4{--keep-shape:polygon(0 0,39% 0,39% 7%,63% 7%,63% 0,100% 0,100% 100%,0 100%,0 63%,7% 63%,7% 39%,0 39%)}

/* small cross-hair seam only while assembling; disappears completely */
.puzzle-stage::before,
.puzzle-stage::after{
  content:"";
  position:absolute;
  z-index:5;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.70),transparent);
}
.puzzle-stage::before{
  left:0;right:0;top:50%;height:1px;
}
.puzzle-stage::after{
  top:0;bottom:0;left:50%;width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.70),transparent);
}
.story-puzzle-band.is-activated .puzzle-stage::before,
.story-puzzle-band.is-activated .puzzle-stage::after{
  animation:puzzleSeamFade 1.9s ease .15s forwards;
}
@keyframes puzzleSeamFade{
  0%{opacity:0}
  35%{opacity:.58}
  72%{opacity:.28}
  100%{opacity:0}
}

/* final cinematic polish across the fully assembled photo */
.story-puzzle-band.is-activated .puzzle-sheen{
  animation:puzzleSheenFixed 1.25s ease 1.48s forwards;
}
@keyframes puzzleSheenFixed{
  0%{opacity:0;transform:translateX(-32%)}
  18%{opacity:.22}
  58%{opacity:.50}
  100%{opacity:0;transform:translateX(30%)}
}

/* keep text side stable while typing */
.story-puzzle-copy h2{
  min-height:3.0em;
}
.story-puzzle-copy p{
  min-height:4.8em;
}
.story-puzzle-slogan strong{
  min-height:1.6em;
}

/* buttons wait until typewriter finishes */
.story-puzzle-actions{
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
}
.story-puzzle-actions.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* Desktop trigger region remains full left half */
@media(min-width:981px){
  .story-puzzle-visual,
  .puzzle-stage{
    min-height:640px;
  }
}

/* Responsive remains coordinated */
@media(max-width:980px){
  .puzzle-stage{
    height:62vw;
    min-height:430px;
  }
}
@media(max-width:640px){
  .puzzle-stage{
    height:76vw;
    min-height:360px;
  }
}

/* reduced motion = final seamless photo immediately */
@media(prefers-reduced-motion:reduce){
  .puzzle-piece{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    clip-path:inset(0)!important;
    box-shadow:none!important;
    animation:none!important;
  }
  .puzzle-stage::before,
  .puzzle-stage::after,
  .puzzle-sheen{
    display:none!important;
  }
}


/* =========================================================
   V27 — STABLE PUZZLE / NO-BLANK FIX
   ========================================================= */
.story-puzzle-band{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 7%,rgba(255,224,190,.25),transparent 27rem),
    linear-gradient(135deg,#F8F7FF 0%,#FFF9F3 56%,#F7FBFF 100%);
}
.story-puzzle-grid{display:grid;grid-template-columns:50% 50%;min-height:640px}
.story-puzzle-visual,.puzzle-stage,.story-puzzle-copy{min-height:640px}
.story-puzzle-visual{
  position:relative;margin:0;overflow:hidden;
  background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.62),transparent 54%),linear-gradient(135deg,#F1F3FA,#FFF5EE);
}
.puzzle-stage{
  position:relative;width:100%;height:100%;overflow:hidden;
  perspective:1800px;transform-style:preserve-3d;isolation:isolate;
}
.puzzle-ghost{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  opacity:.10;filter:blur(10px) saturate(.75);transform:scale(1.03);
  transition:opacity .45s ease,filter .45s ease;
}
.story-puzzle-band.is-activated .puzzle-ghost{opacity:0;filter:blur(18px)}

.puzzle-svg{
  position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  opacity:0;filter:blur(16px) saturate(1.16) brightness(.94);
  transform-origin:center;transform-style:preserve-3d;backface-visibility:hidden;
  will-change:transform,opacity,filter;
}
.puzzle-svg-1{transform:translate3d(-17%,-14%,-720px) rotateX(16deg) rotateY(-24deg) rotateZ(-6deg) scale(.72)}
.puzzle-svg-2{transform:translate3d(17%,-14%,-700px) rotateX(16deg) rotateY(24deg) rotateZ(6deg) scale(.72)}
.puzzle-svg-3{transform:translate3d(-17%,14%,-700px) rotateX(-16deg) rotateY(-24deg) rotateZ(6deg) scale(.72)}
.puzzle-svg-4{transform:translate3d(17%,14%,-740px) rotateX(-16deg) rotateY(24deg) rotateZ(-6deg) scale(.72)}

.story-puzzle-band.is-activated .puzzle-svg{animation:v27PuzzleIn 1.72s cubic-bezier(.14,.86,.18,1) forwards}
.story-puzzle-band.is-activated .puzzle-svg-1{animation-delay:0s}
.story-puzzle-band.is-activated .puzzle-svg-2{animation-delay:.12s}
.story-puzzle-band.is-activated .puzzle-svg-3{animation-delay:.24s}
.story-puzzle-band.is-activated .puzzle-svg-4{animation-delay:.36s}
@keyframes v27PuzzleIn{
  0%{opacity:0;filter:blur(16px) saturate(1.20) brightness(.92)}
  12%{opacity:.35}
  45%{opacity:1;filter:blur(2px) saturate(1.15) brightness(1.01)}
  82%{opacity:1;filter:blur(0) saturate(1.12) brightness(1.03);transform:translate3d(0,0,18px) rotateX(0) rotateY(0) rotateZ(0) scale(1.008)}
  100%{opacity:1;filter:blur(0) saturate(1.10) brightness(1.02);transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1)}
}

.puzzle-seam{position:absolute;z-index:8;pointer-events:none;opacity:0}
.puzzle-seam-v{left:50%;top:7%;bottom:7%;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.82),transparent)}
.puzzle-seam-h{top:50%;left:7%;right:7%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent)}
.story-puzzle-band.is-activated .puzzle-seam{animation:v27Seam 1.55s ease .20s forwards}
@keyframes v27Seam{0%{opacity:0}28%{opacity:.55}70%{opacity:.24}100%{opacity:0}}

.puzzle-final-sheen{
  position:absolute;inset:-10%;z-index:9;opacity:0;pointer-events:none;
  transform:translateX(-38%) skewX(-10deg);
  background:linear-gradient(90deg,transparent 34%,rgba(255,255,255,.46) 50%,transparent 66%);
}
.story-puzzle-band.is-activated .puzzle-final-sheen{animation:v27Sheen 1.15s ease 1.42s forwards}
@keyframes v27Sheen{
  0%{opacity:0;transform:translateX(-38%) skewX(-10deg)}
  20%{opacity:.24}60%{opacity:.48}
  100%{opacity:0;transform:translateX(38%) skewX(-10deg)}
}

/* JS only hides text after it has successfully initialized.
   If JS fails, the real text stays visible. */
.story-motion-js .story-puzzle-band:not(.is-activated) [data-type-text]{opacity:0}
.story-puzzle-copy{
  display:flex;align-items:center;padding:clamp(44px,5vw,88px)
}
.story-puzzle-copy-inner{width:min(610px,100%)}
.story-puzzle-copy h2{
  margin:0 0 20px;font-family:'Manrope',sans-serif;
  font-size:clamp(1.9rem,2.6vw,2.85rem);line-height:1.08;font-weight:800;
  letter-spacing:-.04em;color:#2F2734;min-height:3em
}
.story-puzzle-copy p{
  margin:0 0 16px;color:#6E6470;font-size:clamp(.99rem,1.08vw,1.05rem);
  line-height:1.78;min-height:4.8em
}
.story-puzzle-copy .is-typing::after,.story-puzzle-slogan .is-typing::after{
  content:"";display:inline-block;width:2px;height:1.02em;margin-left:.12em;
  vertical-align:-.12em;background:#FF7C6B;box-shadow:0 0 12px rgba(255,124,107,.32);
  animation:v27Caret .72s steps(1,end) infinite
}
@keyframes v27Caret{0%,49%{opacity:1}50%,100%{opacity:0}}

.story-puzzle-actions{margin-top:24px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
.story-puzzle-actions.is-visible{opacity:1;visibility:visible;transform:none}

.story-puzzle-slogan{
  padding:24px clamp(20px,5vw,88px) 30px;text-align:center;
  background:linear-gradient(90deg,rgba(210,227,255,.42),rgba(231,217,255,.31),rgba(255,226,185,.33));
  border-top:1px solid rgba(255,255,255,.86)
}
.story-puzzle-slogan strong{
  display:block;max-width:1100px;min-height:1.6em;margin:auto;
  font-family:'Manrope',sans-serif;font-size:clamp(1.35rem,2.2vw,2.2rem);
  line-height:1.2;letter-spacing:-.02em;color:#382E3E
}

@media(max-width:980px){
  .story-puzzle-grid{grid-template-columns:1fr}
  .story-puzzle-visual,.puzzle-stage,.story-puzzle-copy{min-height:0}
  .puzzle-stage{height:62vw;min-height:420px}
  .story-puzzle-copy{padding:38px 20px 46px}
}
@media(max-width:640px){
  .puzzle-stage{height:76vw;min-height:350px}
  .story-puzzle-copy{padding:30px 16px 38px}
}
@media(prefers-reduced-motion:reduce){
  .puzzle-ghost{display:none}
  .puzzle-svg{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
  .puzzle-seam,.puzzle-final-sheen{display:none!important}
  .story-motion-js .story-puzzle-band [data-type-text]{opacity:1!important}
}


/* =========================================================
   V29 — RESTORED SPRING LAKE CATERING BAND
   Scope: HOME only. Replaces the old boxed "Catering growth"
   section while preserving every other V27 design/asset.
   ========================================================= */

.spring-lake-catering-band{
  --sl-shadow-x:72%;
  --sl-shadow-y:48%;
  position:relative;
  width:100%;
  min-height:540px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background-color:#28231f;
  background-image:
    url("https://www.cityviewnc.com/wp-content/uploads/2023/05/20220119-141949-Spring20Lake20main20street.jpg");
  background-size:cover;
  background-position:center 48%;
  background-repeat:no-repeat;
  background-attachment:fixed;
  color:#fff;
}

/* permanent cinematic dark cover for readability */
.spring-lake-catering-band::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(12,15,13,.83) 0%,
      rgba(14,18,15,.72) 42%,
      rgba(12,15,13,.58) 72%,
      rgba(10,12,11,.70) 100%),
    linear-gradient(180deg,
      rgba(8,10,9,.18),
      rgba(8,10,9,.42));
}

/* mouse-following dark shadow: only this band */
.spring-lake-catering-band::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(
      circle 255px at var(--sl-shadow-x) var(--sl-shadow-y),
      rgba(0,0,0,.58) 0%,
      rgba(0,0,0,.42) 22%,
      rgba(0,0,0,.18) 48%,
      rgba(0,0,0,0) 72%
    );
  filter:blur(7px);
  transition:opacity .18s ease;
  opacity:.92;
}

.spring-lake-line{
  position:absolute;
  left:0;
  right:0;
  height:2px;
  z-index:4;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(255,178,100,.04) 0%,
      rgba(255,178,100,.95) 26%,
      rgba(132,211,160,.95) 52%,
      rgba(255,178,100,.90) 76%,
      rgba(255,178,100,.04) 100%);
  box-shadow:
    0 0 16px rgba(255,178,100,.26),
    0 0 22px rgba(132,211,160,.18);
}
.spring-lake-line-top{top:0}
.spring-lake-line-bottom{bottom:0}

.spring-lake-catering-content{
  position:relative;
  z-index:3;
  width:min(1180px,calc(100% - 44px));
  margin:auto;
  padding:86px 0 82px;
}

.spring-lake-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:18px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(9px);
  color:#FFF8EF;
  font-size:.76rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.spring-lake-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#FFB567,#84D3A0);
  box-shadow:
    0 0 12px rgba(255,181,103,.52),
    0 0 18px rgba(132,211,160,.22);
}

.spring-lake-catering-band h2{
  max-width:920px;
  margin:0;
  font-family:'Manrope',sans-serif;
  font-size:clamp(2.55rem,5.2vw,5.35rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
  text-wrap:balance;
}

.spring-lake-orange{
  color:#FFB567;
  text-shadow:
    0 0 14px rgba(255,181,103,.20),
    0 0 30px rgba(255,181,103,.10);
}
.spring-lake-green{
  color:#84D3A0;
  text-shadow:
    0 0 14px rgba(132,211,160,.18),
    0 0 30px rgba(132,211,160,.09);
}

.spring-lake-catering-band p{
  max-width:790px;
  margin:25px 0 0;
  color:rgba(255,250,244,.92);
  font-size:clamp(1rem,1.18vw,1.13rem);
  line-height:1.82;
  font-weight:500;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
}

.spring-lake-actions{
  display:flex;
  gap:11px;
  flex-wrap:wrap;
  margin-top:28px;
}
.spring-lake-btn-orange{
  color:#35281f;
  background:linear-gradient(135deg,#FFC27B,#FF9B61);
  box-shadow:0 17px 38px rgba(255,155,97,.23);
}
.spring-lake-btn-green{
  color:#173529;
  background:linear-gradient(135deg,#A7E4B9,#70C894);
  box-shadow:0 17px 38px rgba(112,200,148,.19);
}
.spring-lake-btn-orange:hover,
.spring-lake-btn-green:hover{
  filter:saturate(1.06) brightness(1.04);
}

.spring-lake-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.spring-lake-tags span{
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.09);
  color:rgba(255,250,244,.89);
  backdrop-filter:blur(7px);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.035em;
}

.spring-lake-photo-credit{
  margin-top:26px;
  max-width:760px;
  color:rgba(255,255,255,.48);
  font-size:.66rem;
  line-height:1.45;
}

/* very subtle light sweep so the text/section feels alive */
.spring-lake-catering-content::after{
  content:"";
  position:absolute;
  top:6%;
  bottom:6%;
  left:-34%;
  width:18%;
  pointer-events:none;
  transform:skewX(-12deg);
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.04),
    rgba(255,181,103,.07),
    rgba(132,211,160,.05),
    transparent);
  animation:springLakeSweep 10s ease-in-out infinite;
}
@keyframes springLakeSweep{
  0%,77%,100%{left:-34%;opacity:0}
  81%{opacity:.44}
  92%{left:112%;opacity:.20}
  96%{opacity:0}
}

@media(max-width:980px){
  .spring-lake-catering-band{
    min-height:500px;
    background-attachment:scroll;
    background-position:center center;
  }
  .spring-lake-catering-content{
    width:min(92vw,1180px);
    padding:68px 0 64px;
  }
}

@media(max-width:640px){
  .spring-lake-catering-band{min-height:470px}
  .spring-lake-catering-content{
    width:calc(100% - 28px);
    padding:58px 0 56px;
  }
  .spring-lake-catering-band h2{
    font-size:clamp(2.2rem,12vw,3.6rem);
  }
  .spring-lake-kicker{
    font-size:.67rem;
    letter-spacing:.10em;
  }
}

@media(prefers-reduced-motion:reduce){
  .spring-lake-catering-content::after{
    display:none!important;
  }
}


/* =========================================================
   V30 — DARKER / LIVELIER SPRING LAKE BAND
   User requested:
   - darker headline colors
   - more life / movement
   - preserve readability
   ========================================================= */

.spring-lake-catering-band{
  min-height:560px;
}

/* stronger cinematic cover so headline integrates better */
.spring-lake-catering-band::before{
  background:
    linear-gradient(90deg,
      rgba(10,12,11,.86) 0%,
      rgba(12,15,13,.78) 40%,
      rgba(11,13,12,.66) 72%,
      rgba(10,12,11,.78) 100%),
    linear-gradient(180deg,
      rgba(6,8,7,.22),
      rgba(8,9,8,.46));
}

/* mouse-following shadow a bit more cinematic */
.spring-lake-catering-band::after{
  background:
    radial-gradient(
      circle 290px at var(--sl-shadow-x) var(--sl-shadow-y),
      rgba(0,0,0,.66) 0%,
      rgba(0,0,0,.52) 20%,
      rgba(0,0,0,.22) 46%,
      rgba(0,0,0,0) 70%
    );
  filter:blur(8px);
}

.spring-lake-catering-band h2{
  max-width:980px;
  font-size:clamp(2.6rem,5.25vw,5.55rem);
  letter-spacing:-.058em;
  line-height:.96;
}

.spring-lake-orange,
.spring-lake-green{
  position:relative;
  display:inline-block;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  will-change:filter,background-position,transform;
}

.spring-lake-orange{
  background-image:linear-gradient(
    180deg,
    #F0A040 0%,
    #DE8127 32%,
    #C7641F 58%,
    #F5A650 100%
  );
  text-shadow:none;
  filter:drop-shadow(0 0 10px rgba(199,100,31,.14));
  animation:springLakeOrangeGlow 5.6s ease-in-out infinite;
}

.spring-lake-green{
  background-image:linear-gradient(
    180deg,
    #8ED1A3 0%,
    #5EB07A 34%,
    #3B8458 63%,
    #84C896 100%
  );
  text-shadow:none;
  filter:drop-shadow(0 0 10px rgba(59,132,88,.14));
  animation:springLakeGreenGlow 6.2s ease-in-out infinite;
}

.spring-lake-orange::after,
.spring-lake-green::after{
  content:"";
  position:absolute;
  top:-4%;
  bottom:-4%;
  left:-14%;
  width:18%;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.0) 12%,
    rgba(255,255,255,.22) 45%,
    rgba(255,255,255,.0) 100%
  );
  transform:skewX(-18deg);
  pointer-events:none;
  opacity:0;
}

.spring-lake-orange::after{
  animation:springLakeShine 7.2s ease-in-out infinite;
}
.spring-lake-green::after{
  animation:springLakeShine 8.1s ease-in-out infinite 1.1s;
}

.spring-lake-kicker{
  background:rgba(255,255,255,.11);
  box-shadow:0 10px 26px rgba(0,0,0,.14);
}

.spring-lake-catering-band p{
  max-width:815px;
  color:rgba(255,248,240,.96);
}

.spring-lake-line{
  height:2px;
  background:
    linear-gradient(90deg,
      rgba(223,129,39,.05) 0%,
      rgba(223,129,39,.92) 28%,
      rgba(94,176,122,.95) 52%,
      rgba(223,129,39,.90) 77%,
      rgba(223,129,39,.05) 100%);
  box-shadow:
    0 0 18px rgba(223,129,39,.28),
    0 0 24px rgba(94,176,122,.18);
}

.spring-lake-tags span{
  background:rgba(255,255,255,.11);
}

.spring-lake-catering-content::after{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.03),
    rgba(240,160,64,.08),
    rgba(94,176,122,.07),
    transparent
  );
  animation:springLakeSweep 10.5s ease-in-out infinite;
}

@keyframes springLakeOrangeGlow{
  0%,100%{
    background-position:50% 50%;
    filter:drop-shadow(0 0 8px rgba(199,100,31,.12));
    transform:translateY(0);
  }
  50%{
    background-position:50% 43%;
    filter:drop-shadow(0 0 16px rgba(222,129,39,.20));
    transform:translateY(-1px);
  }
}
@keyframes springLakeGreenGlow{
  0%,100%{
    background-position:50% 50%;
    filter:drop-shadow(0 0 8px rgba(59,132,88,.12));
    transform:translateY(0);
  }
  50%{
    background-position:50% 43%;
    filter:drop-shadow(0 0 16px rgba(94,176,122,.18));
    transform:translateY(-1px);
  }
}
@keyframes springLakeShine{
  0%,72%,100%{
    left:-18%;
    opacity:0;
  }
  76%{
    opacity:.08;
  }
  86%{
    left:112%;
    opacity:.20;
  }
  92%{
    opacity:0;
  }
}

@media(max-width:640px){
  .spring-lake-catering-band{
    min-height:480px;
  }
}

/* Documentation marker for hero video route swap */
.hero-video-only .hero-full-video{
  filter:saturate(1.02) contrast(1.02);
}


/* =========================================================
   V31 — NC87 road background + darker CTA buttons
   User request:
   - keep headline colors exactly as they are
   - darken the buttons
   - swap background image for NC87 / Spring Lake roadway feel
   ========================================================= */

.spring-lake-catering-band{
  background-image:url("images/spring-lake-bridge-background.jpg");
  background-position:center center;
  background-size:cover;
}

.spring-lake-btn-orange{
  color:#FFF4EA;
  background:linear-gradient(135deg,#C46B2F 0%, #9E4E1C 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 18px 40px rgba(90,34,12,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.spring-lake-btn-green{
  color:#F5FFF8;
  background:linear-gradient(135deg,#4E8F63 0%, #2F6344 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 18px 40px rgba(16,46,27,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.spring-lake-btn-orange:hover,
.spring-lake-btn-green:hover{
  filter:brightness(1.08) saturate(1.02);
}

.spring-lake-photo-credit{
  max-width:780px;
}


/* =========================================================
   V33 — Cinematic color polish for Spring Lake band
   User request:
   - keep the lettering, but make the green richer/darker
   - make CTA buttons more eye-catching / cinematic
   ========================================================= */

.spring-lake-green{
  background-image:linear-gradient(
    180deg,
    #7ED49B 0%,
    #56B87A 26%,
    #2F8A58 58%,
    #245F40 100%
  );
  filter:drop-shadow(0 0 12px rgba(46,138,88,.20));
  animation:springLakeGreenGlowV33 6.2s ease-in-out infinite;
}

.spring-lake-green::after{
  animation:springLakeShine 7.6s ease-in-out infinite .9s;
}

.spring-lake-btn-orange,
.spring-lake-btn-green{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  font-weight:900;
  letter-spacing:-.01em;
  transform:translateY(0);
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    filter .28s ease,
    border-color .28s ease;
}

.spring-lake-btn-orange::before,
.spring-lake-btn-green::before{
  content:"";
  position:absolute;
  inset:1px 1px auto 1px;
  height:48%;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0));
  opacity:.9;
}

.spring-lake-btn-orange::after,
.spring-lake-btn-green::after{
  content:"";
  position:absolute;
  top:-22%;
  left:-30%;
  width:24%;
  height:144%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-18deg);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.36), rgba(255,255,255,0));
}

.spring-lake-btn-orange{
  color:#FFF7F0;
  background:linear-gradient(135deg,#D67A33 0%, #B85A21 46%, #8D3E16 100%);
  border:1px solid rgba(255,214,178,.28);
  box-shadow:
    0 18px 42px rgba(91,36,11,.36),
    0 0 0 1px rgba(255,165,94,.12),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -10px 18px rgba(88,35,12,.22);
}

.spring-lake-btn-green{
  color:#F6FFF8;
  background:linear-gradient(135deg,#5AB978 0%, #3E8F5C 42%, #25563B 100%);
  border:1px solid rgba(196,255,216,.24);
  box-shadow:
    0 18px 42px rgba(16,48,28,.34),
    0 0 0 1px rgba(109,214,153,.11),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -10px 18px rgba(18,53,34,.22);
}

.spring-lake-btn-orange:hover,
.spring-lake-btn-green:hover{
  transform:translateY(-2px);
  filter:brightness(1.10) saturate(1.10);
}

.spring-lake-btn-orange:hover{
  box-shadow:
    0 24px 48px rgba(91,36,11,.42),
    0 0 22px rgba(214,122,51,.20),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -12px 20px rgba(88,35,12,.24);
}

.spring-lake-btn-green:hover{
  box-shadow:
    0 24px 48px rgba(16,48,28,.40),
    0 0 22px rgba(90,185,120,.16),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -12px 20px rgba(18,53,34,.24);
}

.spring-lake-btn-orange:hover::after,
.spring-lake-btn-green:hover::after{
  animation:springLakeBtnShine .9s ease forwards;
}

@keyframes springLakeGreenGlowV33{
  0%,100%{
    filter:drop-shadow(0 0 9px rgba(46,138,88,.14));
    transform:translateY(0);
  }
  50%{
    filter:drop-shadow(0 0 18px rgba(86,184,122,.24));
    transform:translateY(-1px);
  }
}

@keyframes springLakeBtnShine{
  0%{left:-30%;opacity:0;}
  18%{opacity:.18;}
  100%{left:122%;opacity:0;}
}


/* =========================================================
   V34 — SOCIAL PROOF REFINEMENT
   - stronger text above reviews
   - half-overlap into previous band
   - photo-led testimonial cards with soft fusion edges
   - cinematic gold stars and motion
   ========================================================= */
.social-proof-showcase{
  margin-top:-110px;
  padding-top:150px;
  position:relative;
}
.social-proof-showcase::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:320px;
  background:linear-gradient(180deg,rgba(255,249,243,0), rgba(255,249,243,.82) 48%, var(--cream) 100%);
  pointer-events:none;
}
.social-proof-wrap{position:relative;z-index:1}
.social-proof-head{margin-bottom:30px}
.social-proof-head h2{max-width:820px}
.social-proof-head h2 span{
  color:#FF7A67;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:700;
}
.social-proof-head .lede{max-width:640px}
.social-proof-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:stretch;
}
.review-story{
  position:relative;
  border-radius:34px;
  overflow:hidden;
  background:transparent;
  border:0;
  box-shadow:0 28px 70px rgba(73,49,76,.12);
  transition:transform .34s ease, box-shadow .34s ease;
}
.review-story:hover{
  transform:translateY(-10px) scale(1.01);
  box-shadow:0 36px 90px rgba(73,49,76,.18);
}
.review-photo-wrap{
  position:relative;
  min-height:440px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.18));
}
.review-photo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(21,14,24,0) 16%, rgba(21,14,24,.10) 44%, rgba(248,243,234,.10) 56%, rgba(248,243,234,.92) 92%),
    radial-gradient(circle at 50% 18%, rgba(255,220,135,.22), transparent 22%);
  pointer-events:none;
}
.review-photo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  animation:reviewKenBurns 14s ease-in-out infinite alternate;
}
.review-story:nth-child(2) .review-photo-wrap img{animation-duration:16s}
.review-story:nth-child(3) .review-photo-wrap img{animation-duration:18s}
.review-copy{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  padding:18px 18px 16px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,249,243,.94));
  backdrop-filter:blur(14px) saturate(130%);
  box-shadow:0 18px 44px rgba(74,50,77,.10);
  text-align:center;
}
.review-copy p{
  margin:6px 0 10px;
  color:#5E5462;
  line-height:1.7;
  font-size:1rem;
}
.review-copy strong{
  display:block;
  font-family:'Manrope',sans-serif;
  font-weight:900;
  font-size:1.34rem;
  color:#253323;
}
.stars{
  margin-bottom:10px;
  letter-spacing:.18em;
  font-size:1.75rem;
  font-weight:900;
}
.gold-shine{
  display:inline-block;
  color:transparent;
  background:linear-gradient(90deg,#A36A0D 0%, #F0B93B 14%, #FFD975 28%, #FFF0BE 38%, #FFD36A 48%, #BA7C13 62%, #F3C146 78%, #FFE48E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 2px 3px rgba(145,100,10,.16)) drop-shadow(0 0 14px rgba(255,214,111,.34));
  animation:goldShimmer 3.4s linear infinite, goldPulse 2.7s ease-in-out infinite;
}
.review-story::before{
  content:"";
  position:absolute;
  inset:auto 18px 96px 18px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(245,173,74,.42), rgba(122,186,126,.30), transparent);
  z-index:2;
}
@keyframes goldShimmer{
  0%{background-position:-140px 0}
  100%{background-position:240px 0}
}
@keyframes goldPulse{
  0%,100%{filter:drop-shadow(0 2px 3px rgba(145,100,10,.16)) drop-shadow(0 0 10px rgba(255,214,111,.28))}
  50%{filter:drop-shadow(0 3px 6px rgba(145,100,10,.22)) drop-shadow(0 0 18px rgba(255,214,111,.50))}
}
@keyframes reviewKenBurns{
  0%{transform:scale(1.02) translate3d(0,0,0)}
  50%{transform:scale(1.06) translate3d(-1.5%, -1.2%, 0)}
  100%{transform:scale(1.03) translate3d(1.2%, 1%, 0)}
}
@media(min-width:720px){
  .social-proof-grid{grid-template-columns:repeat(3,1fr);gap:18px}
  .review-photo-wrap{min-height:500px}
}
@media(min-width:1020px){
  .social-proof-showcase{margin-top:-140px;padding-top:180px}
  .social-proof-head{margin-bottom:34px}
  .review-photo-wrap{min-height:540px}
}
@media(max-width:719px){
  .social-proof-showcase{margin-top:-60px;padding-top:110px}
  .review-photo-wrap{min-height:420px}
  .review-copy strong{font-size:1.2rem}
  .stars{font-size:1.45rem}
}


/* =========================================================
   V35 — SOCIAL PROOF CINEMATIC ALIGNMENT
   Scope: HOME social proof section only.
   - coherent centered heading hierarchy
   - shared fused testimonial stage
   - soft glass captions, no hard frames
   - gold cinematic stars
   - restrained mouse/hover motion
   ========================================================= */

.social-proof-showcase{
  position:relative;
  margin-top:-84px;
  padding:138px 0 102px;
  overflow:visible;
  background:
    radial-gradient(circle at 14% 12%,rgba(220,203,255,.32),transparent 30rem),
    radial-gradient(circle at 83% 18%,rgba(255,201,168,.26),transparent 31rem),
    radial-gradient(circle at 50% 78%,rgba(191,231,210,.22),transparent 34rem);
}

.social-proof-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,249,243,0) 0%,rgba(255,249,243,.76) 22%,rgba(255,249,243,.96) 100%);
}

.social-proof-wrap{
  position:relative;
  z-index:2;
}

.social-proof-head{
  width:min(980px,100%);
  margin:0 auto 42px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:0;
}

.social-proof-head .kicker{
  margin-bottom:12px;
  color:#B45173;
  letter-spacing:.16em;
}

.social-proof-head h2{
  max-width:940px;
  margin:0;
  font-size:clamp(2.7rem,5.5vw,4.9rem);
  line-height:.98;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.social-proof-head h2 span{
  display:inline-block;
  margin-top:.08em;
  color:#F1705F;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:-.035em;
  text-shadow:0 10px 28px rgba(241,112,95,.10);
}

.social-proof-head .lede{
  max-width:760px;
  margin:20px auto 0;
  color:#665C69;
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.82;
}

.social-proof-stage{
  --review-glow-x:50%;
  --review-glow-y:30%;
  position:relative;
  padding:20px;
  border-radius:42px;
  isolation:isolate;
  background:
    linear-gradient(135deg,rgba(255,255,255,.48),rgba(255,255,255,.18));
  backdrop-filter:blur(10px) saturate(120%);
}

.social-proof-stage::before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:-2;
  border-radius:54px;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--review-glow-x) var(--review-glow-y),rgba(255,219,130,.22),transparent 23rem),
    linear-gradient(90deg,rgba(203,232,255,.16),rgba(220,203,255,.14),rgba(255,201,168,.16));
  filter:blur(12px);
}

.social-proof-stage::after{
  content:"";
  position:absolute;
  left:5%;right:5%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,169,69,.48),rgba(117,185,138,.34),transparent);
  pointer-events:none;
}

.social-proof-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:stretch;
}

.review-story{
  --rx:0deg;
  --ry:0deg;
  --tz:0px;
  position:relative;
  overflow:visible;
  border:0!important;
  border-radius:32px;
  background:transparent!important;
  box-shadow:none!important;
  transform:perspective(1200px) translateY(var(--tz)) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;
  transition:transform .34s cubic-bezier(.2,.75,.2,1),filter .34s ease;
}

.review-story:hover{
  --tz:-8px;
  filter:drop-shadow(0 30px 42px rgba(74,49,77,.16));
}

.review-photo-wrap{
  position:relative;
  min-height:480px;
  overflow:hidden;
  border-radius:30px;
  background:#EFE7DD;
  box-shadow:
    0 26px 64px rgba(75,50,78,.13),
    inset 0 1px 0 rgba(255,255,255,.34);
}

.review-photo-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(24,17,24,.02) 0%,rgba(24,17,24,.04) 38%,rgba(255,249,243,.18) 56%,rgba(255,249,243,.93) 94%),
    radial-gradient(circle at 50% 24%,rgba(255,212,116,.16),transparent 26%);
}

.review-photo-wrap::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:3;
  pointer-events:none;
  opacity:0;
  transform:translateX(-38%) rotate(10deg);
  background:linear-gradient(90deg,transparent 34%,rgba(255,255,255,.34) 50%,transparent 66%);
  animation:reviewLightPass 9.5s ease-in-out infinite;
}

.review-story:nth-child(2) .review-photo-wrap::after{animation-delay:1.2s}
.review-story:nth-child(3) .review-photo-wrap::after{animation-delay:2.2s}

.review-photo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transform:scale(1.015);
  filter:saturate(1.06) contrast(1.025) brightness(1.015);
  animation:reviewKenBurnsV35 14s ease-in-out infinite alternate;
}

.review-story:nth-child(2) .review-photo-wrap img{animation-duration:16s}
.review-story:nth-child(3) .review-photo-wrap img{animation-duration:18s}

.review-copy{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:4;
  min-height:196px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:20px 18px 16px;
  border:0;
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,249,243,.94));
  backdrop-filter:blur(15px) saturate(132%);
  box-shadow:
    0 20px 48px rgba(71,47,75,.10),
    inset 0 1px 0 rgba(255,255,255,.72);
  text-align:center;
}

.review-copy::before{
  content:"";
  position:absolute;
  top:0;
  left:16%;right:16%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,178,62,.78),rgba(239,178,62,.22),transparent);
}

.review-copy p{
  margin:5px 0 10px;
  max-width:330px;
  color:#574E5B;
  font-size:.96rem;
  line-height:1.68;
}

.review-copy strong{
  color:#243322;
  font-family:'Manrope',sans-serif;
  font-size:1.18rem;
  font-weight:900;
}

.review-flourish{
  display:block;
  margin-top:10px;
  color:#EAAE39;
  font-size:.62rem;
  text-shadow:0 0 12px rgba(234,174,57,.40);
}

.review-flourish::before,
.review-flourish::after{
  content:"";
  display:inline-block;
  width:44px;
  height:1px;
  margin:0 8px 2px;
  background:linear-gradient(90deg,transparent,rgba(232,169,69,.48));
}
.review-flourish::after{transform:scaleX(-1)}

.gold-shine{
  position:relative;
  display:inline-block;
  margin-bottom:8px;
  font-size:1.7rem;
  letter-spacing:.14em;
  color:transparent;
  background:linear-gradient(90deg,#9A6208 0%,#DFA52E 16%,#FFD66E 31%,#FFF2B9 43%,#FFC84D 55%,#AD710C 68%,#F2BE42 84%,#FFE898 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 2px 3px rgba(124,83,8,.18)) drop-shadow(0 0 12px rgba(255,214,105,.28));
  animation:goldShimmerV35 3.1s linear infinite,goldPulseV35 2.5s ease-in-out infinite;
}

@keyframes reviewLightPass{
  0%,76%,100%{opacity:0;transform:translateX(-38%) rotate(10deg)}
  80%{opacity:.18}
  90%{opacity:.32;transform:translateX(38%) rotate(10deg)}
  94%{opacity:0}
}

@keyframes reviewKenBurnsV35{
  0%{transform:scale(1.015) translate3d(0,0,0)}
  50%{transform:scale(1.055) translate3d(-1.2%,-1%,0)}
  100%{transform:scale(1.03) translate3d(1%,.8%,0)}
}

@keyframes goldShimmerV35{
  0%{background-position:180% 0}
  100%{background-position:-70% 0}
}

@keyframes goldPulseV35{
  0%,100%{filter:drop-shadow(0 2px 3px rgba(124,83,8,.18)) drop-shadow(0 0 9px rgba(255,214,105,.24))}
  50%{filter:drop-shadow(0 3px 6px rgba(124,83,8,.20)) drop-shadow(0 0 18px rgba(255,214,105,.44))}
}

@media(min-width:720px){
  .social-proof-grid{grid-template-columns:repeat(3,1fr);gap:16px}
  .review-photo-wrap{min-height:500px}
}

@media(min-width:1020px){
  .social-proof-showcase{margin-top:-108px;padding-top:162px}
  .social-proof-stage{padding:22px 22px 24px}
  .social-proof-grid{gap:20px}
  .review-photo-wrap{min-height:530px}
}

@media(max-width:719px){
  .social-proof-showcase{margin-top:-44px;padding:96px 0 72px}
  .social-proof-head{margin-bottom:28px}
  .social-proof-head h2{font-size:clamp(2.45rem,11vw,3.65rem)}
  .social-proof-stage{padding:12px;border-radius:30px}
  .review-photo-wrap{min-height:430px;border-radius:26px}
  .review-copy{left:12px;right:12px;bottom:12px}
}

@media(prefers-reduced-motion:reduce){
  .review-photo-wrap img,
  .review-photo-wrap::after,
  .gold-shine{animation:none!important}
  .review-story{transform:none!important}
}


/* =========================================================
   V36 — CTA FULL WIDTH
   Requested scope:
   - extend only the bottom CTA bar across the full website width
   - preserve its current height, text scale, padding, colors and buttons
   ========================================================= */
.dinner-cta-wrap{
  width:100%;
  max-width:none;
  margin:0;
}

.dinner-cta-full{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Keep the same vertical size — width only changes */
.dinner-cta-section .cta{
  padding:32px;
}

@media(max-width:680px){
  .dinner-cta-full{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
  }
}


/* =========================================================
   V37 — SOCIAL PROOF DECOR / ALIGNMENT POLISH
   Scope only:
   - smaller, coherent social-proof heading
   - add toucan emblem + decorative separators
   - gently twist testimonial cards
   - preserve readability and cinematic motion
   - lift existing full-width CTA closer to reviews
   ========================================================= */

/* Header: coherent two-part composition */
.social-proof-head{
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  align-items:center !important;
  gap:clamp(28px,5vw,72px) !important;
  margin-bottom:30px !important;
}

.social-proof-intro{
  max-width:760px;
}

.social-proof-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#D76155;
  font-size:.70rem;
  letter-spacing:.16em;
}

.social-proof-kicker::before,
.social-proof-kicker::after{
  content:"";
  width:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ECA34D);
  box-shadow:0 0 10px rgba(236,163,77,.22);
}
.social-proof-kicker::after{transform:scaleX(-1)}

.social-proof-head h2{
  max-width:720px;
  margin-top:8px;
  font-size:clamp(2.65rem,5.1vw,4.55rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}

.social-proof-head h2 span{
  color:#FF806E;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:700;
}

.social-proof-head .lede{
  max-width:620px;
  margin:18px 0 0;
  font-size:.96rem;
  line-height:1.72;
  color:#655B69;
}

.social-proof-wave{
  display:block;
  width:150px;
  height:12px;
  margin-top:16px;
  background:
    radial-gradient(ellipse at 8px 8px,transparent 5px,#A8C77F 5.6px,#A8C77F 6.4px,transparent 7px) 0 0/28px 12px repeat-x;
  opacity:.72;
}

/* Toucan decorative emblem from the user's reference */
.social-proof-emblem{
  position:relative;
  justify-self:end;
  width:min(300px,100%);
  padding:14px 16px 16px;
  text-align:left;
}

.social-proof-emblem-icon{
  position:relative;
  width:70px;
  height:70px;
  margin-bottom:10px;
  border-radius:50%;
  overflow:hidden;
  background:#FFF7ED;
  box-shadow:
    0 10px 26px rgba(79,53,72,.10),
    0 0 0 6px rgba(255,225,154,.13);
}

.social-proof-emblem-icon::after{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(255,211,96,.28) 0deg 8deg,
      transparent 8deg 28deg
    );
  z-index:-1;
}

.social-proof-emblem-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.06);
}

.social-proof-emblem p{
  margin:0;
  max-width:260px;
  color:#453A45;
  font-family:'Manrope',sans-serif;
  font-size:1rem;
  line-height:1.55;
  font-weight:650;
}

.social-proof-emblem-line{
  display:block;
  width:108px;
  height:2px;
  margin-top:14px;
  border-radius:999px;
  background:linear-gradient(90deg,#FF7C6B,#F0B14B,#7DBB84);
  box-shadow:0 0 12px rgba(255,124,107,.18);
}

/* Cards: slightly twisted like the reference, not exaggerated */
.review-story{
  --base-tilt:0deg;
  transform:
    perspective(1200px)
    translateY(var(--tz))
    rotateX(var(--rx))
    rotateY(var(--ry))
    rotateZ(var(--base-tilt)) !important;
}

.review-story:nth-child(1){
  --base-tilt:-1.55deg;
  margin-top:10px;
}
.review-story:nth-child(2){
  --base-tilt:.55deg;
  margin-top:-4px;
}
.review-story:nth-child(3){
  --base-tilt:1.45deg;
  margin-top:10px;
}

.review-story:hover{
  --tz:-9px;
  --base-tilt:0deg;
}

/* Make the visual group feel more fused and decorative */
.social-proof-stage{
  padding:28px 24px 20px !important;
  border-radius:46px;
}

.social-proof-stage::before{
  inset:-22px !important;
  border-radius:58px !important;
  background:
    radial-gradient(circle at var(--review-glow-x) var(--review-glow-y),rgba(255,214,111,.22),transparent 23rem),
    radial-gradient(circle at 16% 18%,rgba(220,203,255,.20),transparent 18rem),
    radial-gradient(circle at 82% 68%,rgba(255,229,154,.20),transparent 19rem),
    linear-gradient(90deg,rgba(203,232,255,.13),rgba(220,203,255,.13),rgba(255,201,168,.14)) !important;
}

.review-photo-wrap{
  border-radius:34px;
}

.review-copy{
  left:14px;
  right:14px;
  bottom:12px;
  min-height:176px;
  padding:16px 15px 14px;
  border-radius:26px 26px 34px 34px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,249,243,.95));
}

.review-copy p{
  max-width:320px;
  margin:4px 0 8px;
  font-size:.88rem;
  line-height:1.58;
}

.review-copy strong{
  font-size:1.08rem;
}

.gold-shine{
  font-size:1.55rem;
  margin-bottom:5px;
}

.review-flourish{
  color:#FF806E;
  font-size:.72rem;
  text-shadow:0 0 12px rgba(255,128,110,.32);
}

.review-flourish::before,
.review-flourish::after{
  width:52px;
  background:linear-gradient(90deg,transparent,rgba(232,169,69,.56),rgba(125,187,132,.38));
}

/* Lift the already-full-width CTA closer to the reviews */
.dinner-cta-section{
  padding-top:22px !important;
  margin-top:-18px;
}

/* Preserve current CTA size — do not enlarge it */
.dinner-cta-section .cta{
  padding:32px !important;
}

/* Responsive */
@media(max-width:980px){
  .social-proof-head{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .social-proof-emblem{
    justify-self:start;
    display:grid;
    grid-template-columns:70px 1fr;
    gap:14px;
    align-items:center;
    padding-left:0;
  }
  .social-proof-emblem-icon{margin:0}
  .social-proof-emblem-line{
    grid-column:2;
    margin-top:-4px;
  }
}

@media(max-width:719px){
  .review-story:nth-child(1),
  .review-story:nth-child(2),
  .review-story:nth-child(3){
    --base-tilt:0deg;
    margin-top:0;
  }
  .social-proof-head h2{
    font-size:clamp(2.3rem,10.5vw,3.5rem) !important;
  }
  .social-proof-emblem{
    grid-template-columns:58px 1fr;
  }
  .social-proof-emblem-icon{
    width:58px;
    height:58px;
  }
  .dinner-cta-section{
    margin-top:-8px;
    padding-top:18px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .review-story{
    transform:none !important;
  }
}


/* =========================================================
   V38 — SOCIAL PROOF TEXT SCALE + CTA DECOR
   Scope:
   - reduce/reflow Social Proof text
   - replace mismatched loop ornament with cleaner separators
   - preserve testimonial card design/motion
   - decorate the full-width CTA using the user's chili reference
     converted to PNG plus nopal/Mexico icons
   ========================================================= */

/* Social Proof heading: smaller, more coherent with the full section */
.social-proof-head{
  grid-template-columns:minmax(0,1.25fr) minmax(240px,.55fr) !important;
  gap:clamp(24px,4vw,56px) !important;
  align-items:center !important;
  margin-bottom:24px !important;
}

.social-proof-intro{
  max-width:680px;
}

.social-proof-head h2{
  max-width:650px !important;
  margin-top:7px !important;
  font-size:clamp(2.15rem,3.75vw,3.65rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.042em !important;
}

.social-proof-head h2 span{
  font-size:.96em;
}

.social-proof-head .lede{
  max-width:590px !important;
  margin-top:14px !important;
  font-size:.86rem !important;
  line-height:1.66 !important;
}

.social-proof-kicker{
  font-size:.66rem !important;
}

/* Replace the row of loop symbols with a cleaner reference-style separator */
.social-proof-wave{
  display:none !important;
}

.social-proof-divider{
  display:flex;
  align-items:center;
  gap:9px;
  width:158px;
  margin-top:14px;
}

.social-proof-divider span{
  display:block;
  flex:1;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#A9C876,#F1A34D);
}

.social-proof-divider span:last-child{
  transform:scaleX(-1);
}

.social-proof-divider i{
  font-style:normal;
  font-size:.64rem;
  color:#FF7C6B;
  text-shadow:0 0 10px rgba(255,124,107,.24);
}

/* Emblem copy also reduced so the whole top composition breathes */
.social-proof-emblem{
  width:min(270px,100%) !important;
}

.social-proof-emblem-icon{
  width:62px !important;
  height:62px !important;
}

.social-proof-emblem p{
  max-width:235px !important;
  font-size:.88rem !important;
  line-height:1.52 !important;
}

.social-proof-emblem-line{
  width:96px !important;
  margin-top:11px !important;
}

/* Keep testimonial copy clean and slightly tighter */
.review-copy p{
  font-size:.84rem !important;
  line-height:1.54 !important;
}

.review-copy strong{
  font-size:1.02rem !important;
}

.gold-shine{
  font-size:1.48rem !important;
}

/* =========================================================
   Full-width CTA decoration
   ========================================================= */
.dinner-cta-decorated{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.dinner-cta-copy{
  position:relative;
  z-index:4;
  width:min(980px,calc(100% - 250px));
}

/* subtle Mexican ornamental rhythm, built with CSS — no extra image */
.dinner-cta-decorated::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  z-index:2;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.08) 0 24px,
      rgba(255,232,176,.50) 24px 34px,
      rgba(126,196,127,.40) 34px 44px,
      rgba(255,255,255,.08) 44px 68px
    );
  opacity:.72;
}

.dinner-cta-decorated::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 86% 18%,rgba(255,221,119,.20),transparent 14rem),
    radial-gradient(circle at 72% 88%,rgba(75,139,116,.13),transparent 18rem);
}

.dinner-cta-decor{
  position:absolute;
  z-index:3;
  right:clamp(22px,4.5vw,86px);
  top:50%;
  width:230px;
  height:100%;
  transform:translateY(-50%);
  pointer-events:none;
}

.flaming-chili{
  position:absolute;
  right:-4px;
  bottom:-18px;
  width:clamp(125px,10.5vw,185px);
  max-height:96%;
  object-fit:contain;
  filter:
    drop-shadow(0 18px 26px rgba(91,32,10,.25))
    drop-shadow(0 0 20px rgba(255,184,66,.18));
  transform:rotate(8deg);
  animation:ctaChiliFloat 5.6s ease-in-out infinite;
}

.nopal-icon,
.mexico-icon{
  position:absolute;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 12px 28px rgba(73,43,72,.12);
  backdrop-filter:blur(7px);
}

.nopal-icon{
  left:8px;
  bottom:22px;
  width:46px;
  height:46px;
  font-size:1.55rem;
  transform:rotate(-7deg);
}

.mexico-icon{
  right:18px;
  top:18px;
  width:42px;
  height:42px;
  font-size:1.22rem;
  transform:rotate(5deg);
}

.dinner-cta-copy h2{
  position:relative;
}

.dinner-cta-copy h2::after{
  content:"";
  display:block;
  width:150px;
  height:2px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,229,154,.75),transparent);
}

@keyframes ctaChiliFloat{
  0%,100%{transform:translateY(0) rotate(8deg) scale(1)}
  50%{transform:translateY(-7px) rotate(5deg) scale(1.015)}
}

/* Responsive */
@media(max-width:980px){
  .social-proof-head{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .social-proof-emblem{
    width:100% !important;
    max-width:460px;
  }

  .dinner-cta-copy{
    width:calc(100% - 150px);
  }

  .dinner-cta-decor{
    right:12px;
    width:145px;
  }

  .flaming-chili{
    width:115px;
  }

  .nopal-icon{
    width:38px;
    height:38px;
    font-size:1.25rem;
  }

  .mexico-icon{
    width:36px;
    height:36px;
    font-size:1rem;
  }
}

@media(max-width:680px){
  .social-proof-head h2{
    font-size:clamp(2rem,9vw,2.85rem) !important;
  }

  .social-proof-head .lede{
    font-size:.82rem !important;
  }

  .dinner-cta-copy{
    width:calc(100% - 82px);
  }

  .dinner-cta-decor{
    width:82px;
    right:6px;
  }

  .flaming-chili{
    width:78px;
    right:-8px;
    bottom:-4px;
  }

  .nopal-icon{
    display:none;
  }

  .mexico-icon{
    width:30px;
    height:30px;
    top:10px;
    right:4px;
    font-size:.85rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .flaming-chili{
    animation:none !important;
  }
}


/* =========================================================
   V39 — CTA EDGE FIX + ORGANIZED STORY DECOR
   Scope only: the full-width dinner CTA.
   - remove broken/repeating top edge
   - organize Mexican icons
   - give the chili a clear narrative role
   - keep bar height visually restrained
   ========================================================= */

/* Clean the full-width bar edge */
.dinner-cta-v39{
  border-radius:0 0 28px 28px !important;
  border-top:1px solid rgba(255,255,255,.34);
  border-bottom:1px solid rgba(119,73,121,.10);
  box-shadow:
    0 24px 60px rgba(88,55,92,.13),
    inset 0 1px 0 rgba(255,255,255,.18);
}

/* Remove the old blocky/repeating ornament that caused the bad edge */
.dinner-cta-v39::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:2px !important;
  z-index:5 !important;
  opacity:1 !important;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,229,154,.62) 18%,
      rgba(255,255,255,.72) 50%,
      rgba(126,196,127,.48) 82%,
      transparent 100%
    ) !important;
  box-shadow:0 0 14px rgba(255,229,154,.12);
}

/* Keep the existing color atmosphere, but soften the decorative field */
.dinner-cta-v39::after{
  background:
    radial-gradient(circle at 88% 18%,rgba(255,221,119,.18),transparent 13rem),
    radial-gradient(circle at 76% 88%,rgba(75,139,116,.11),transparent 17rem),
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 38%,rgba(255,255,255,.035)) !important;
}

/* Left content remains the visual lead */
.dinner-cta-v39 .dinner-cta-copy{
  width:min(920px,calc(100% - 340px)) !important;
}

.dinner-cta-kicker{
  color:#FFF7FF;
  letter-spacing:.12em;
  font-size:.72rem;
}

.dinner-cta-v39 .dinner-cta-copy h2{
  max-width:900px;
  margin-bottom:8px;
}

.dinner-cta-v39 .dinner-cta-copy h2::after{
  width:128px;
  margin-top:10px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,229,154,.72),rgba(126,196,127,.42),transparent);
}

.dinner-cta-v39 .dinner-cta-copy p{
  margin-top:7px;
  max-width:650px;
}

/* =========================================================
   Right-side story: the chili now has a reason to be here
   ========================================================= */
.dinner-flavor-story{
  position:absolute;
  z-index:4;
  right:clamp(26px,4.2vw,78px);
  top:50%;
  width:min(300px,24vw);
  min-width:245px;
  transform:translateY(-50%);
  display:grid;
  grid-template-columns:96px 1fr;
  grid-template-rows:auto auto;
  column-gap:13px;
  align-items:center;
  padding:10px 12px 10px 10px;
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    0 16px 38px rgba(71,44,75,.10),
    inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(7px);
}

/* Small organized icon row — no random floating emoji circles */
.flavor-icons{
  position:absolute;
  left:-11px;
  top:-15px;
  display:flex;
  gap:7px;
  align-items:center;
}

/* CSS-built cactus icon */
.cactus-mark{
  position:relative;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 9px 20px rgba(67,45,70,.10);
}

.cactus-mark::before{
  content:"";
  position:absolute;
  left:13px;
  top:7px;
  width:5px;
  height:16px;
  border-radius:5px;
  background:#5C9D69;
}

.cactus-mark::after{
  content:"";
  position:absolute;
  left:7px;
  top:12px;
  width:15px;
  height:7px;
  border-left:4px solid #5C9D69;
  border-right:4px solid #5C9D69;
  border-radius:4px;
}

.cactus-mark i{
  position:absolute;
  left:13px;
  bottom:4px;
  width:5px;
  height:4px;
  border-radius:50%;
  background:#2F6E46;
}

/* Mexico seal as a clean identity mark */
.mx-seal{
  position:relative;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 9px 20px rgba(67,45,70,.10);
  overflow:hidden;
}

.mx-seal b{
  position:relative;
  z-index:2;
  color:#FFF8F2;
  font:900 .58rem/1 'Manrope',sans-serif;
  letter-spacing:.04em;
}

.mx-seal i{
  position:absolute;
  left:5px;
  right:5px;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#4B9A63 0 33%,#FFF 33% 66%,#D96659 66% 100%);
}

/* Chili becomes the visual "flavor signal" */
.flavor-chili-wrap{
  grid-row:1 / span 2;
  position:relative;
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
}

.flavor-chili-wrap::before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,223,122,.24),rgba(255,150,70,.10) 52%,transparent 72%);
  filter:blur(1px);
}

.dinner-cta-v39 .flaming-chili{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  width:83px !important;
  max-height:90px !important;
  object-fit:contain;
  transform:rotate(8deg);
  filter:
    drop-shadow(0 12px 22px rgba(91,32,10,.18))
    drop-shadow(0 0 16px rgba(255,184,66,.13));
  animation:ctaChiliFloatV39 5.8s ease-in-out infinite;
}

.flavor-story-copy{
  align-self:center;
  min-width:0;
}

.flavor-story-copy strong{
  display:block;
  margin-bottom:4px;
  color:#FFF9F4;
  font-family:'Manrope',sans-serif;
  font-size:.84rem;
  line-height:1.25;
  font-weight:900;
}

.flavor-story-copy span{
  display:block;
  color:rgba(255,249,244,.82);
  font-family:'Manrope',sans-serif;
  font-size:.68rem;
  line-height:1.45;
  font-weight:600;
}

/* Small separator gives the story a finished editorial look */
.flavor-story-copy::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin-top:7px;
  border-radius:999px;
  background:
    linear-gradient(90deg,#FFD26B,#D86A43,#5C9D69,transparent);
}

@keyframes ctaChiliFloatV39{
  0%,100%{transform:translateY(0) rotate(8deg) scale(1)}
  50%{transform:translateY(-4px) rotate(5deg) scale(1.012)}
}

/* Hide obsolete V38 icon rules by making those elements irrelevant if cached */
.dinner-cta-v39 .dinner-cta-decor,
.dinner-cta-v39 .nopal-icon,
.dinner-cta-v39 .mexico-icon{
  display:none !important;
}

/* Responsive */
@media(max-width:1050px){
  .dinner-cta-v39 .dinner-cta-copy{
    width:calc(100% - 260px) !important;
  }

  .dinner-flavor-story{
    right:16px;
    min-width:220px;
    width:230px;
    grid-template-columns:78px 1fr;
    column-gap:9px;
  }

  .flavor-chili-wrap{
    width:78px;
    height:82px;
  }

  .dinner-cta-v39 .flaming-chili{
    width:68px !important;
  }

  .flavor-story-copy strong{
    font-size:.76rem;
  }

  .flavor-story-copy span{
    font-size:.62rem;
  }
}

@media(max-width:760px){
  .dinner-cta-v39{
    border-radius:0 0 20px 20px !important;
  }

  .dinner-cta-v39 .dinner-cta-copy{
    width:calc(100% - 110px) !important;
  }

  .dinner-flavor-story{
    right:7px;
    width:95px;
    min-width:95px;
    height:96px;
    padding:0;
    display:block;
    background:rgba(255,255,255,.08);
  }

  .flavor-icons{
    left:-7px;
    top:-10px;
  }

  .cactus-mark,
  .mx-seal{
    width:24px;
    height:24px;
  }

  .cactus-mark::before{
    left:10px;
    top:6px;
    width:4px;
    height:13px;
  }

  .cactus-mark::after{
    left:6px;
    top:10px;
    width:12px;
    height:6px;
    border-left-width:3px;
    border-right-width:3px;
  }

  .flavor-chili-wrap{
    width:95px;
    height:96px;
  }

  .dinner-cta-v39 .flaming-chili{
    width:70px !important;
  }

  .flavor-story-copy{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .dinner-cta-v39 .flaming-chili{
    animation:none !important;
  }
}


/* =========================================================
   V42 — EDITORIAL FOOTER
   Built from the supplied reference composition:
   light editorial text area + photographic right side +
   irregular painted transition. No new photography created.
   Uses existing El Tucan logo and existing Spring Lake asset.
   ========================================================= */

.editorial-footer{
  position:relative;
  margin-top:72px;
  padding:0 !important;
  background:#EEE9E3;
  color:#3B3235;
  overflow:hidden;
}

.editorial-footer::before{
  content:none !important;
}

.editorial-footer-shell{
  width:min(1500px,calc(100% - 48px));
  min-height:355px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:44% 56%;
  overflow:hidden;
  border:1px solid rgba(81,63,66,.08);
  background:#FFFDF9;
  box-shadow:
    0 22px 50px rgba(50,38,44,.13),
    0 4px 16px rgba(50,38,44,.08);
}

/* LEFT: editorial area */
.editorial-footer-copy{
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:
    clamp(34px,4vw,62px)
    clamp(28px,4.5vw,74px)
    clamp(30px,3.7vw,54px);
  background:
    radial-gradient(circle at 78% 17%,rgba(255,214,170,.14),transparent 12rem),
    linear-gradient(90deg,#FFFDF9 0%,#FFFDF9 88%,rgba(255,253,249,.86) 100%);
}

.editorial-footer-brandline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}

.editorial-footer-brandline img{
  width:62px;
  height:auto;
  filter:drop-shadow(0 7px 14px rgba(61,43,38,.08));
}

.editorial-footer-brandline span{
  color:#7B696B;
  font-family:'Manrope',sans-serif;
  font-size:.58rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
}

.editorial-footer-kicker{
  margin:0 0 5px;
  color:#B84D42;
  font-family:'Manrope',sans-serif;
  font-size:.68rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.06em;
}

.editorial-footer-copy h2{
  margin:0;
  max-width:440px;
  color:#3A3535;
  font-family:'Manrope',sans-serif;
  font-size:clamp(2.25rem,3.7vw,4.45rem);
  line-height:.88;
  font-weight:500;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.editorial-footer-copy h2 strong{
  color:#4D4646;
  font-weight:950;
}

.editorial-footer-lede{
  max-width:475px;
  margin:17px 0 0;
  color:#75696D;
  font-size:.86rem;
  line-height:1.62;
}

.editorial-footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}

.editorial-footer-primary,
.editorial-footer-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:5px;
  font-family:'Manrope',sans-serif;
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  transition:transform .23s ease,filter .23s ease,box-shadow .23s ease;
}

.editorial-footer-primary{
  color:#FFF9F5;
  background:linear-gradient(135deg,#C94F42,#A93831);
  box-shadow:0 9px 22px rgba(169,56,49,.18);
}

.editorial-footer-secondary{
  color:#51474A;
  background:#F5EEE8;
  border:1px solid rgba(82,65,69,.08);
}

.editorial-footer-primary:hover,
.editorial-footer-secondary:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}

.editorial-footer-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:19px;
}

.editorial-footer-meta > a{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#FFF;
  background:#5E5758;
  font-size:.68rem;
  transition:transform .2s ease,background .2s ease;
}

.editorial-footer-meta > a:hover{
  transform:translateY(-2px);
  background:#B8473D;
}

.editorial-footer-pill{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  color:#FFF;
  background:#B8473D;
  font-size:.60rem;
  font-weight:850;
}

.editorial-footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 13px;
  margin-top:16px;
}

.editorial-footer-links a{
  position:relative;
  color:#62575A;
  font-size:.64rem;
  font-weight:750;
}

.editorial-footer-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-3px;
  height:1px;
  background:#C94F42;
  transition:right .22s ease;
}

.editorial-footer-links a:hover::after{
  right:0;
}

/* RIGHT: photographic field */
.editorial-footer-visual{
  position:relative;
  min-height:355px;
  overflow:hidden;
  background:#D7D0C8;
}

.editorial-footer-visual img{
  width:100%;
  height:100%;
  min-height:355px;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.06) contrast(1.04) brightness(.96);
  transform:scale(1.03);
  animation:editorialFooterDrift 17s ease-in-out infinite alternate;
}

/* Warm cinematic atmosphere, inspired by the sunset feel in reference */
.editorial-footer-sunset{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 22%,rgba(255,194,108,.30),transparent 17rem),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(57,32,43,.12));
}

/* Irregular paint-like transition, same structural idea as reference */
.editorial-footer-brush{
  position:absolute;
  z-index:3;
  left:-1px;
  top:0;
  bottom:0;
  width:106px;
  pointer-events:none;
  background:#FFFDF9;
  clip-path:polygon(
    0 0,72% 0,52% 5%,79% 10%,57% 15%,87% 21%,
    58% 27%,80% 33%,51% 39%,89% 45%,61% 51%,
    84% 58%,55% 64%,80% 70%,48% 77%,89% 84%,
    58% 91%,77% 96%,66% 100%,0 100%
  );
  filter:drop-shadow(8px 0 12px rgba(58,43,48,.04));
}

.editorial-footer-caption{
  position:absolute;
  right:28px;
  bottom:24px;
  z-index:4;
  padding:10px 12px;
  color:#FFF;
  text-align:right;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.editorial-footer-caption small{
  display:block;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.15em;
}

.editorial-footer-caption strong{
  display:block;
  margin-top:2px;
  font-family:'Playfair Display',serif;
  font-size:1.55rem;
  line-height:1;
}

.editorial-footer-bottom{
  min-height:46px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:12px 22px 15px;
  color:#827477;
  font-size:.67rem;
  font-weight:700;
}

.editorial-footer-bottom span:nth-child(2){
  color:#B84D42;
  font-size:.46rem;
}

@keyframes editorialFooterDrift{
  0%{transform:scale(1.03) translate3d(0,0,0)}
  50%{transform:scale(1.065) translate3d(-1.2%,-.7%,0)}
  100%{transform:scale(1.04) translate3d(.6%,.5%,0)}
}

/* Tablet */
@media(max-width:920px){
  .editorial-footer-shell{
    width:calc(100% - 30px);
    grid-template-columns:1fr;
  }

  .editorial-footer-copy{
    padding:36px 26px 31px;
  }

  .editorial-footer-copy h2{
    max-width:590px;
    font-size:clamp(2.3rem,8vw,4rem);
  }

  .editorial-footer-visual{
    min-height:270px;
  }

  .editorial-footer-visual img{
    min-height:270px;
  }

  .editorial-footer-brush{
    top:-1px;
    left:0;
    right:0;
    bottom:auto;
    width:100%;
    height:56px;
    clip-path:polygon(
      0 0,100% 0,100% 35%,
      92% 28%,84% 50%,74% 33%,64% 55%,53% 31%,
      42% 58%,31% 36%,21% 56%,11% 34%,0 52%
    );
  }
}

/* Mobile */
@media(max-width:600px){
  .editorial-footer{
    margin-top:56px;
    padding-bottom:72px !important;
  }

  .editorial-footer-shell{
    width:calc(100% - 20px);
    margin-top:14px;
  }

  .editorial-footer-copy{
    padding:30px 19px 27px;
  }

  .editorial-footer-brandline{
    margin-bottom:17px;
  }

  .editorial-footer-brandline img{
    width:53px;
  }

  .editorial-footer-copy h2{
    font-size:2.55rem;
  }

  .editorial-footer-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .editorial-footer-primary,
  .editorial-footer-secondary{
    padding:0 9px;
  }

  .editorial-footer-visual{
    min-height:220px;
  }

  .editorial-footer-visual img{
    min-height:220px;
  }

  .editorial-footer-bottom{
    flex-wrap:wrap;
    gap:5px 8px;
    text-align:center;
    line-height:1.4;
  }
}

@media(prefers-reduced-motion:reduce){
  .editorial-footer-visual img{
    animation:none !important;
  }
}


/* =========================================================
   V43 — TORN PAPER / CLOUD EDGE FOOTER
   Requested refinement:
   - white editorial panel becomes organic torn-paper/cloud edge
     overlapping the photo
   - larger El Tucan logo
   - complete restaurant information: address, hours, phone,
     menu/order/catering/about/contact navigation
   - existing Spring Lake photo retained
   ========================================================= */

.footer-v43{
  position:relative;
  margin-top:72px;
  padding:0 !important;
  overflow:hidden;
  color:#3A3034;
  background:#EEE9E3;
}

.footer-v43::before{
  content:none !important;
}

.footer-v43-shell{
  position:relative;
  width:min(1540px,calc(100% - 46px));
  min-height:500px;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:52% 48%;
  isolation:isolate;
  overflow:hidden;
  background:#DAD3CB;
  border:1px solid rgba(77,57,63,.08);
  box-shadow:
    0 24px 62px rgba(48,37,43,.13),
    0 5px 18px rgba(48,37,43,.07);
}

/* =========================================================
   LEFT PAPER
   ========================================================= */
.footer-v43-paper{
  position:relative;
  z-index:5;
  min-width:0;
  padding:
    clamp(38px,4.2vw,64px)
    clamp(30px,4.5vw,74px)
    clamp(32px,4vw,56px);
  background:
    radial-gradient(circle at 78% 13%,rgba(255,219,178,.18),transparent 12rem),
    linear-gradient(90deg,#FFFDF9 0%,#FFFDF9 88%,#FFF9F2 100%);
}

/* Organic torn paper / cloud edge that crosses ON TOP of photo.
   This replaces the hard zig-zag edge from V42. */
.footer-v43-paper::after{
  content:"";
  position:absolute;
  z-index:8;
  top:-12px;
  right:-58px;
  bottom:-12px;
  width:92px;
  pointer-events:none;
  background:
    radial-gradient(circle at 5px 26px,#FFFDF9 0 27px,transparent 28px) 0 0/92px 58px repeat-y,
    radial-gradient(circle at 16px 44px,#FFFDF9 0 22px,transparent 23px) 8px 0/84px 72px repeat-y,
    radial-gradient(circle at 2px 38px,#FFFDF9 0 18px,transparent 19px) 0 14px/76px 64px repeat-y;
  filter:
    drop-shadow(7px 0 7px rgba(65,48,54,.035))
    drop-shadow(2px 0 1px rgba(120,95,88,.025));
}

/* soft paper texture/fiber, very low contrast */
.footer-v43-paper::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background:
    repeating-linear-gradient(
      94deg,
      rgba(111,88,78,.015) 0 1px,
      transparent 1px 8px
    );
}

.footer-v43-paper > *{
  position:relative;
  z-index:10;
}

.footer-v43-brand{
  display:flex;
  align-items:center;
  gap:17px;
  margin-bottom:22px;
}

/* larger logo as requested */
.footer-v43-brand img{
  width:clamp(125px,10vw,175px);
  height:auto;
  filter:
    drop-shadow(0 10px 20px rgba(68,42,36,.10))
    saturate(1.04);
}

.footer-v43-brand div{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.footer-v43-brand span{
  color:#887477;
  font-family:'Manrope',sans-serif;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.14em;
}

.footer-v43-brand strong{
  color:#5B4B50;
  font-family:'Playfair Display',serif;
  font-size:1rem;
  line-height:1;
}

.footer-v43-kicker{
  margin:0 0 6px;
  color:#C24F43;
  font-family:'Manrope',sans-serif;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.09em;
}

.footer-v43-paper h2{
  margin:0;
  max-width:560px;
  color:#3A3235;
  font-family:'Manrope',sans-serif;
  font-size:clamp(2.7rem,4vw,4.9rem);
  line-height:.93;
  letter-spacing:-.06em;
  font-weight:550;
}

.footer-v43-paper h2 em{
  color:#4B4245;
  font-style:normal;
  font-weight:950;
}

.footer-v43-lede{
  max-width:570px;
  margin:15px 0 0;
  color:#72666B;
  font-size:.88rem;
  line-height:1.67;
}

.footer-v43-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:19px;
}

.footer-v43-primary,
.footer-v43-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border-radius:6px;
  font-family:'Manrope',sans-serif;
  font-size:.73rem;
  font-weight:900;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.footer-v43-primary{
  color:#FFF9F5;
  background:linear-gradient(135deg,#CD5648,#A93D34);
  box-shadow:0 10px 24px rgba(171,60,51,.18);
}

.footer-v43-secondary{
  color:#504548;
  background:#F4ECE6;
  border:1px solid rgba(82,64,69,.08);
}

.footer-v43-primary:hover,
.footer-v43-secondary:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}

/* Complete footer info */
.footer-v43-info-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:15px 28px;
  max-width:650px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(91,68,73,.10);
}

.footer-v43-info-block{
  min-width:0;
}

.footer-v43-label{
  display:block;
  margin-bottom:6px;
  color:#B44A3E;
  font-family:'Manrope',sans-serif;
  font-size:.56rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.13em;
}

.footer-v43-info-block p,
.footer-v43-address,
.footer-v43-info-block a{
  color:#65595E;
  font-size:.72rem;
  line-height:1.55;
}

.footer-v43-address,
.footer-v43-info-block a{
  transition:color .2s ease;
}

.footer-v43-info-block a:hover,
.footer-v43-address:hover{
  color:#B4473D;
}

.footer-v43-info-block strong{
  color:#4A4044;
  font-weight:900;
}

.footer-v43-mini-links{
  display:flex;
  flex-wrap:wrap;
  gap:4px 11px;
}

.footer-v43-mini-links a{
  position:relative;
}

.footer-v43-mini-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:#BF4D41;
  transition:width .22s ease;
}

.footer-v43-mini-links a:hover::after{
  width:100%;
}

.footer-v43-utility{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:20px;
  color:#95878B;
  font-size:.61rem;
  font-weight:760;
}

.footer-v43-utility a{
  color:#706267;
}

/* =========================================================
   RIGHT PHOTO
   ========================================================= */
.footer-v43-photo{
  position:relative;
  min-height:500px;
  overflow:hidden;
  background:#D7D0C8;
}

.footer-v43-photo img{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.07) contrast(1.04) brightness(.96);
  transform:scale(1.035);
  animation:footerV43Drift 18s ease-in-out infinite alternate;
}

.footer-v43-photo-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,253,249,.20) 0%,transparent 18%),
    radial-gradient(circle at 18% 22%,rgba(255,195,105,.26),transparent 17rem),
    linear-gradient(180deg,transparent 54%,rgba(30,20,25,.13));
}

.footer-v43-photo-light{
  position:absolute;
  top:-8%;
  bottom:-8%;
  left:-28%;
  width:16%;
  pointer-events:none;
  transform:skewX(-12deg);
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  animation:footerV43Sweep 10s ease-in-out infinite;
}

.footer-v43-photo-caption{
  position:absolute;
  right:28px;
  bottom:25px;
  z-index:3;
  color:#FFF;
  text-align:right;
  text-shadow:0 3px 16px rgba(0,0,0,.42);
}

.footer-v43-photo-caption small{
  display:block;
  font-size:.52rem;
  font-weight:950;
  letter-spacing:.15em;
}

.footer-v43-photo-caption strong{
  display:block;
  margin-top:4px;
  font-family:'Playfair Display',serif;
  font-size:1.75rem;
  line-height:.9;
}

.footer-v43-photo-caption span{
  display:block;
  margin-top:4px;
  font-size:.60rem;
  font-weight:800;
  letter-spacing:.06em;
}

/* =========================================================
   BOTTOM
   ========================================================= */
.footer-v43-bottom{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 22px 15px;
  color:#827477;
  font-size:.66rem;
  font-weight:700;
}

.footer-v43-diamond{
  color:#B94A3F;
  font-size:.45rem;
}

@keyframes footerV43Drift{
  0%{transform:scale(1.035) translate3d(0,0,0)}
  50%{transform:scale(1.07) translate3d(-1.1%,-.7%,0)}
  100%{transform:scale(1.045) translate3d(.6%,.5%,0)}
}

@keyframes footerV43Sweep{
  0%,72%,100%{left:-28%;opacity:0}
  78%{opacity:.36}
  90%{left:112%;opacity:.14}
  94%{opacity:0}
}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:980px){
  .footer-v43-shell{
    width:calc(100% - 30px);
    grid-template-columns:1fr;
  }

  .footer-v43-paper{
    padding:36px 27px 31px;
  }

  .footer-v43-paper::after{
    top:auto;
    right:-8px;
    bottom:-46px;
    left:-8px;
    width:auto;
    height:78px;
    background:
      radial-gradient(circle at 28px 5px,#FFFDF9 0 27px,transparent 28px) 0 0/64px 78px repeat-x,
      radial-gradient(circle at 52px 10px,#FFFDF9 0 20px,transparent 21px) 0 8px/78px 68px repeat-x;
  }

  .footer-v43-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }

  .footer-v43-photo,
  .footer-v43-photo img{
    min-height:300px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:620px){
  .footer-v43{
    margin-top:56px;
    padding-bottom:72px !important;
  }

  .footer-v43-shell{
    width:calc(100% - 20px);
    margin-top:14px;
  }

  .footer-v43-paper{
    padding:28px 18px 27px;
  }

  .footer-v43-brand{
    align-items:flex-start;
    gap:11px;
  }

  .footer-v43-brand img{
    width:112px;
  }

  .footer-v43-paper h2{
    font-size:2.75rem;
  }

  .footer-v43-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .footer-v43-info-grid{
    grid-template-columns:1fr;
    gap:13px;
  }

  .footer-v43-mini-links{
    gap:4px 13px;
  }

  .footer-v43-photo,
  .footer-v43-photo img{
    min-height:235px;
  }

  .footer-v43-bottom{
    flex-wrap:wrap;
    gap:5px 8px;
    text-align:center;
    line-height:1.4;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-v43-photo img,
  .footer-v43-photo-light{
    animation:none !important;
  }
}


/* =========================================================
   V44 — FULL-WIDTH REFERENCE-STYLE FOOTER
   Main corrections:
   1. footer now extends edge-to-edge
   2. no outer "card" / no gray side gutters
   3. left editorial block is compact like reference
   4. image owns the right side
   5. white paper/paint crosses over the photo with a soft,
      irregular BRUSH edge — not giant zig-zags
   6. logo enlarged
   7. real restaurant address/hours/phone included
   ========================================================= */

.footer-v44{
  position:relative;
  width:100%;
  margin-top:64px;
  padding:0 !important;
  overflow:hidden;
  color:#393033;
  background:#FFFDF9;
}

.footer-v44::before{
  content:none !important;
}

/* TRUE EDGE-TO-EDGE BANNER */
.footer-v44-banner{
  position:relative;
  width:100%;
  min-height:430px;
  display:grid;
  grid-template-columns:43% 57%;
  overflow:hidden;
  isolation:isolate;
  background:#ECE5DE;
  border-top:1px solid rgba(82,61,66,.08);
  border-bottom:1px solid rgba(82,61,66,.08);
  box-shadow:
    0 -14px 40px rgba(66,47,57,.045),
    0 22px 55px rgba(66,47,57,.08);
}

/* =========================================================
   LEFT — reference-style editorial block
   ========================================================= */
.footer-v44-copy{
  position:relative;
  z-index:5;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:
    clamp(32px,3.8vw,58px)
    clamp(30px,4.8vw,82px)
    clamp(28px,3.5vw,50px)
    clamp(34px,6.2vw,110px);
  background:
    radial-gradient(circle at 79% 18%,rgba(255,214,168,.15),transparent 11rem),
    linear-gradient(90deg,#FFFDF9 0%,#FFFDF9 84%,#FFF9F2 100%);
}

/* Larger logo, clearly visible */
.footer-v44-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:17px;
}

.footer-v44-brand img{
  width:clamp(112px,8.5vw,162px);
  height:auto;
  filter:
    drop-shadow(0 9px 18px rgba(60,39,34,.09))
    saturate(1.06);
}

.footer-v44-brand-text{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.footer-v44-brand-text span{
  color:#514448;
  font-family:'Manrope',sans-serif;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
}

.footer-v44-brand-text small{
  color:#938489;
  font-family:'Manrope',sans-serif;
  font-size:.51rem;
  font-weight:850;
  letter-spacing:.10em;
}

.footer-v44-overline{
  margin:0 0 5px;
  color:#C14E42;
  font-family:'Manrope',sans-serif;
  font-size:.64rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
}

.footer-v44-copy h2{
  margin:0;
  max-width:500px;
  color:#3B3436;
  font-family:'Manrope',sans-serif;
  font-size:clamp(2.45rem,3.55vw,4.25rem);
  line-height:.87;
  letter-spacing:-.06em;
  font-weight:450;
}

.footer-v44-copy h2 strong{
  display:block;
  font-weight:950;
}

.footer-v44-lede{
  max-width:480px;
  margin:15px 0 0;
  color:#75696D;
  font-size:.82rem;
  line-height:1.62;
}

.footer-v44-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.footer-v44-order,
.footer-v44-menu{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 13px;
  border-radius:4px;
  font-family:'Manrope',sans-serif;
  font-size:.67rem;
  font-weight:950;
  letter-spacing:.01em;
  transition:
    transform .2s ease,
    filter .2s ease,
    box-shadow .2s ease;
}

.footer-v44-order{
  color:#FFF;
  background:linear-gradient(135deg,#CA5044,#A93A32);
  box-shadow:0 9px 20px rgba(168,58,50,.17);
}

.footer-v44-menu{
  color:#51474A;
  background:#F2ECE7;
  border:1px solid rgba(81,64,69,.08);
}

.footer-v44-order:hover,
.footer-v44-menu:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}

.footer-v44-info-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:17px;
}

.footer-v44-round{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#FFF;
  background:#625A5C;
  font-size:.68rem;
  transition:transform .2s ease,background .2s ease;
}

.footer-v44-round:hover{
  transform:translateY(-2px);
  background:#B8463D;
}

.footer-v44-phone{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  color:#FFF;
  background:#B8463D;
  font-size:.58rem;
  font-weight:950;
}

/* Compact footer information rather than a tall data wall */
.footer-v44-details{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  max-width:520px;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(86,64,69,.09);
}

.footer-v44-details section{
  min-width:0;
}

.footer-v44-details section > span{
  display:block;
  margin-bottom:5px;
  color:#B54A3E;
  font-family:'Manrope',sans-serif;
  font-size:.51rem;
  font-weight:950;
  letter-spacing:.12em;
}

.footer-v44-details a,
.footer-v44-details p{
  margin:0;
  color:#675B60;
  font-size:.65rem;
  line-height:1.48;
}

.footer-v44-details a:hover{
  color:#B54A3E;
}

.footer-v44-nav{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  margin-top:15px;
}

.footer-v44-nav a{
  position:relative;
  color:#62575C;
  font-size:.60rem;
  font-weight:800;
}

.footer-v44-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-3px;
  height:1px;
  background:#C84E42;
  transition:right .22s ease;
}

.footer-v44-nav a:hover::after{
  right:0;
}

/* =========================================================
   WHITE PAINT / TORN PAPER CROSSING OVER PHOTO
   The reference uses a soft painted irregular transition,
   not a geometric zig-zag.
   ========================================================= */

/* Main organic white wash */
.footer-v44-copy::after{
  content:"";
  position:absolute;
  z-index:7;
  top:-3%;
  right:-92px;
  width:150px;
  height:106%;
  pointer-events:none;
  background:#FFFDF9;
  clip-path:polygon(
    0 0,
    72% 0,
    82% 4%,
    69% 8%,
    88% 12%,
    74% 17%,
    93% 21%,
    76% 26%,
    89% 31%,
    73% 36%,
    95% 41%,
    77% 46%,
    88% 51%,
    72% 56%,
    94% 61%,
    78% 66%,
    90% 72%,
    74% 77%,
    92% 82%,
    77% 87%,
    88% 92%,
    70% 96%,
    80% 100%,
    0 100%
  );
  filter:
    drop-shadow(7px 0 6px rgba(71,52,57,.025))
    blur(.15px);
}

/* Individual paint strokes create the brush-cloud effect over the photo */
.footer-v44-brush-stroke{
  position:absolute;
  z-index:8;
  right:-126px;
  width:160px;
  height:23px;
  border-radius:44% 56% 48% 52% / 62% 48% 52% 38%;
  background:
    linear-gradient(90deg,#FFFDF9 0%,#FFFDF9 62%,rgba(255,253,249,.74) 80%,transparent 100%);
  pointer-events:none;
  opacity:.97;
  filter:blur(.2px);
}

.footer-v44-brush-stroke::after{
  content:"";
  position:absolute;
  right:8px;
  top:5px;
  width:58px;
  height:10px;
  border-radius:999px;
  background:rgba(255,253,249,.80);
  transform:rotate(-4deg);
}

.footer-v44-brush-stroke.brush-a{
  top:16%;
  transform:rotate(-5deg);
}
.footer-v44-brush-stroke.brush-b{
  top:38%;
  right:-140px;
  width:184px;
  transform:rotate(3deg);
}
.footer-v44-brush-stroke.brush-c{
  top:61%;
  right:-132px;
  width:173px;
  transform:rotate(-2deg);
}
.footer-v44-brush-stroke.brush-d{
  top:81%;
  right:-118px;
  width:148px;
  transform:rotate(5deg);
}

/* =========================================================
   RIGHT — large full-bleed image field
   ========================================================= */
.footer-v44-photo{
  position:relative;
  min-height:430px;
  overflow:hidden;
  background:#D9D1C8;
}

.footer-v44-photo img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.08) contrast(1.04) brightness(.97);
  transform:scale(1.03);
  animation:footerV44Drift 18s ease-in-out infinite alternate;
}

.footer-v44-photo-warmth{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,190,100,.32),transparent 17rem),
    linear-gradient(180deg,rgba(255,255,255,.015),transparent 45%,rgba(33,21,26,.12));
}

.footer-v44-photo-shine{
  position:absolute;
  top:-8%;
  bottom:-8%;
  left:-28%;
  width:15%;
  pointer-events:none;
  transform:skewX(-12deg);
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
  animation:footerV44Sweep 10s ease-in-out infinite;
}

.footer-v44-photo-caption{
  position:absolute;
  right:30px;
  bottom:24px;
  z-index:3;
  color:#FFF;
  text-align:right;
  text-shadow:0 3px 16px rgba(0,0,0,.42);
}

.footer-v44-photo-caption small{
  display:block;
  font-size:.50rem;
  font-weight:950;
  letter-spacing:.15em;
}

.footer-v44-photo-caption strong{
  display:block;
  margin-top:3px;
  font-family:'Playfair Display',serif;
  font-size:1.65rem;
  line-height:.9;
}

.footer-v44-photo-caption span{
  display:block;
  margin-top:4px;
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.06em;
}

/* =========================================================
   BOTTOM BAR — also full width
   ========================================================= */
.footer-v44-bottom{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:12px 22px 14px;
  color:#817378;
  background:#F7F0EA;
  border-top:1px solid rgba(86,64,69,.07);
  font-size:.63rem;
  font-weight:700;
}

.footer-v44-bottom i{
  color:#B8483E;
  font-size:.43rem;
  font-style:normal;
}

/* Motion */
@keyframes footerV44Drift{
  0%{transform:scale(1.03) translate3d(0,0,0)}
  50%{transform:scale(1.065) translate3d(-1.1%,-.7%,0)}
  100%{transform:scale(1.04) translate3d(.7%,.5%,0)}
}

@keyframes footerV44Sweep{
  0%,72%,100%{left:-28%;opacity:0}
  78%{opacity:.34}
  90%{left:112%;opacity:.13}
  94%{opacity:0}
}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:960px){
  .footer-v44-banner{
    grid-template-columns:1fr;
  }

  .footer-v44-copy{
    padding:38px 28px 32px;
  }

  .footer-v44-copy::after{
    top:auto;
    left:-3%;
    right:-3%;
    bottom:-47px;
    width:106%;
    height:72px;
    clip-path:polygon(
      0 0,100% 0,100% 48%,
      94% 40%,89% 58%,82% 43%,75% 64%,68% 45%,
      61% 62%,54% 42%,47% 65%,40% 46%,33% 61%,
      26% 43%,19% 64%,12% 46%,6% 59%,0 48%
    );
  }

  .footer-v44-brush-stroke{
    display:none;
  }

  .footer-v44-photo,
  .footer-v44-photo img{
    min-height:300px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:620px){
  .footer-v44{
    margin-top:54px;
    padding-bottom:72px !important;
  }

  .footer-v44-copy{
    padding:29px 18px 28px;
  }

  .footer-v44-brand{
    align-items:flex-start;
    gap:10px;
  }

  .footer-v44-brand img{
    width:118px;
  }

  .footer-v44-copy h2{
    font-size:2.65rem;
  }

  .footer-v44-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .footer-v44-details{
    grid-template-columns:1fr;
    gap:12px;
  }

  .footer-v44-photo,
  .footer-v44-photo img{
    min-height:230px;
  }

  .footer-v44-bottom{
    flex-wrap:wrap;
    gap:5px 8px;
    text-align:center;
    line-height:1.4;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-v44-photo img,
  .footer-v44-photo-shine{
    animation:none !important;
  }
}


/* =========================================================
   V45 — REAL TORN-PAPER PNG FOOTER SEAM
   User request implemented:
   - footer remains edge-to-edge
   - do not change photo, text, logo, buttons
   - use uploaded torn-paper reference as the seam effect
   ========================================================= */

.footer-v44-banner{
  position:relative;
  overflow:hidden;
}

/* Hide the previous synthetic brush/torn effect on desktop */
.footer-v44-copy::after{
  display:none !important;
}
.footer-v44-brush-stroke{
  display:none !important;
}

/* Real torn-paper PNG seam between copy and photo */
.footer-v44-banner::before{
  content:"";
  position:absolute;
  z-index:12;
  top:-1px;
  bottom:-1px;
  left:43%;
  width:126px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    url("images/decor/torn-paper-edge-vertical.png")
    center/100% 100% no-repeat;
  filter:
    drop-shadow(5px 0 7px rgba(52,41,44,.12))
    drop-shadow(1px 0 0 rgba(255,255,255,.65));
}

/* Keep the right image and left panel tucked under the seam naturally */
.footer-v44-copy{
  z-index:5;
}
.footer-v44-photo{
  z-index:1;
}

/* Slightly soften the transition under the paper seam */
.footer-v44-photo::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:50px;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(255,253,249,.18), rgba(255,253,249,0));
  z-index:2;
}

/* On tablet/mobile, use the horizontal torn paper between stacked sections */
@media (max-width: 960px){
  .footer-v44-banner::before{
    left:0;
    right:0;
    top:auto;
    bottom:292px; /* visually aligns near the stacked join */
    width:auto;
    height:86px;
    transform:none;
    background:
      url("images/decor/torn-paper-edge-horizontal.png")
      center/100% 100% no-repeat;
  }

  .footer-v44-photo::before{
    display:none;
  }
}

@media (max-width: 620px){
  .footer-v44-banner::before{
    bottom:230px;
    height:70px;
  }
}


/* =========================================================
   V46 — TORN PAPER VISIBILITY FIX
   Root cause fixed:
   V45 referenced assets/images/... from inside assets/style.css,
   which resolved to assets/assets/images/... and the paper never loaded.
   This version uses the correct relative path and strengthens visibility.
   ========================================================= */

.footer-v44-banner::before{
  content:"" !important;
  position:absolute !important;
  z-index:30 !important;
  top:-2px !important;
  bottom:-2px !important;
  left:43% !important;
  width:150px !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;

  background:
    url("images/decor/torn-paper-edge-vertical.png")
    center/100% 100% no-repeat !important;

  filter:
    drop-shadow(8px 0 8px rgba(42,31,34,.18))
    drop-shadow(-2px 0 2px rgba(255,255,255,.72)) !important;

  opacity:1 !important;
}

/* Slightly more overlap so the ripped white edge clearly sits on top of the photo */
.footer-v44-photo{
  position:relative;
  z-index:1;
}

.footer-v44-copy{
  position:relative;
  z-index:5;
}

.footer-v44-photo::before{
  content:"";
  position:absolute;
  z-index:4;
  left:0;
  top:0;
  bottom:0;
  width:58px;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(255,253,249,.28) 0%,
      rgba(255,253,249,.12) 46%,
      rgba(255,253,249,0) 100%);
}

/* Mobile/tablet: switch to horizontal rip between the stacked paper and photo */
@media(max-width:960px){
  .footer-v44-banner::before{
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:298px !important;
    width:100% !important;
    height:90px !important;
    transform:none !important;

    background:
      url("images/decor/torn-paper-edge-horizontal.png")
      center/100% 100% no-repeat !important;
  }

  .footer-v44-photo::before{
    display:none;
  }
}

@media(max-width:620px){
  .footer-v44-banner::before{
    bottom:232px !important;
    height:72px !important;
  }
}


/* =========================================================
   V47 — STRONGER TORN PAPER SEAM
   Goal: make the ripped-paper divider much more obvious
   without changing the footer photo, text, logo, buttons,
   or overall composition.
   ========================================================= */

.footer-v44-banner::before{
  left:43% !important;
  width:218px !important;
  top:-10px !important;
  bottom:-10px !important;
  z-index:40 !important;
  background:
    url("images/decor/torn-paper-edge-vertical.png")
    center/100% 100% no-repeat !important;
  filter:
    drop-shadow(10px 0 14px rgba(22, 20, 20, .24))
    drop-shadow(-5px 0 5px rgba(255,255,255,.95))
    drop-shadow(0 0 1px rgba(255,255,255,.85)) !important;
  opacity:1 !important;
}

/* Add a soft paper halo on both sides so the tear reads stronger */
.footer-v44-copy::before{
  content:"";
  position:absolute;
  top:0;
  right:-26px;
  width:72px;
  bottom:0;
  pointer-events:none;
  z-index:8;
  background:linear-gradient(90deg,
    rgba(249,246,240,0) 0%,
    rgba(249,246,240,.55) 38%,
    rgba(255,255,255,.92) 70%,
    rgba(255,255,255,.98) 100%);
}

.footer-v44-photo::before{
  content:"";
  position:absolute;
  z-index:6;
  left:-2px;
  top:0;
  bottom:0;
  width:76px;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,.98) 0%,
    rgba(255,253,249,.66) 34%,
    rgba(255,253,249,.18) 72%,
    rgba(255,253,249,0) 100%);
}

@media(max-width:960px){
  .footer-v44-banner::before{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:118px !important;
    bottom:286px !important;
    top:auto !important;
    transform:none !important;
    background:
      url("images/decor/torn-paper-edge-horizontal.png")
      center/100% 100% no-repeat !important;
    filter:
      drop-shadow(0 8px 10px rgba(22,20,20,.22))
      drop-shadow(0 -4px 4px rgba(255,255,255,.95)) !important;
  }

  .footer-v44-copy::before,
  .footer-v44-photo::before{
    display:none !important;
  }
}

@media(max-width:620px){
  .footer-v44-banner::before{
    height:92px !important;
    bottom:224px !important;
  }
}


/* =========================================================
   V48 — CLEAN FOOTER SEAM
   User feedback: torn-paper divider does not look good.
   Solution: remove the torn seam entirely and replace it with
   a clean cinematic soft blend between the copy panel and photo.
   Keep background image, text, logo, buttons, and full-width layout.
   ========================================================= */

.footer-v44-banner::before{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  filter:none !important;
  opacity:0 !important;
}

/* remove previous paper halos */
.footer-v44-copy::before,
.footer-v44-photo::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* create a smoother decorative transition instead */
.footer-v44-copy{
  overflow:visible;
}

.footer-v44-copy::after{
  content:"";
  position:absolute;
  top:0;
  right:-112px;
  width:240px;
  bottom:0;
  pointer-events:none;
  z-index:9;
  background:
    radial-gradient(ellipse at left center,
      rgba(255,255,255,.96) 0%,
      rgba(255,251,246,.78) 31%,
      rgba(255,248,241,.42) 57%,
      rgba(255,248,241,.14) 74%,
      rgba(255,248,241,0) 100%);
}

.footer-v44-photo::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:144px;
  bottom:0;
  pointer-events:none;
  z-index:5;
  background:
    linear-gradient(90deg,
      rgba(255,253,249,.72) 0%,
      rgba(255,253,249,.34) 38%,
      rgba(255,253,249,.12) 62%,
      rgba(255,253,249,0) 100%);
}

@media(max-width:960px){
  .footer-v44-copy::after,
  .footer-v44-photo::after{
    display:none !important;
  }
}


/* =========================================================
   V49 — FOOTER PICTURE-IN-PICTURE
   Requested:
   - remove visible straight seam between copy and photo
   - convert right photo into picture-in-picture composition
   - replace stark white left area with a softer site-compatible color
   - preserve existing footer image, text, logo and buttons
   ========================================================= */

.footer-v44{
  background:
    linear-gradient(180deg,#F4ECE8 0%,#EFE4DE 100%) !important;
}

/* One shared footer atmosphere — no hard split */
.footer-v44-banner{
  position:relative;
  grid-template-columns:54% 46% !important;
  min-height:470px !important;
  padding:34px clamp(24px,4vw,66px) !important;
  gap:28px !important;
  overflow:visible !important;

  background:
    radial-gradient(circle at 10% 18%,rgba(220,203,255,.30),transparent 20rem),
    radial-gradient(circle at 34% 84%,rgba(255,208,181,.28),transparent 18rem),
    linear-gradient(135deg,#F5ECE6 0%,#F1E5E1 50%,#EDE6EF 100%) !important;

  border-top:1px solid rgba(98,74,83,.08) !important;
  border-bottom:1px solid rgba(98,74,83,.08) !important;
  box-shadow:
    0 -12px 36px rgba(76,54,71,.045),
    0 22px 52px rgba(76,54,71,.08) !important;
}

/* Remove every prior seam / transition layer */
.footer-v44-banner::before,
.footer-v44-copy::before,
.footer-v44-copy::after,
.footer-v44-photo::before,
.footer-v44-photo::after,
.footer-v44-brush-stroke{
  content:none !important;
  display:none !important;
  background:none !important;
  filter:none !important;
}

/* Left side becomes a soft tinted editorial panel, not white */
.footer-v44-copy{
  position:relative;
  z-index:4;
  padding:
    clamp(32px,3.8vw,56px)
    clamp(24px,3.5vw,52px)
    clamp(28px,3.5vw,48px)
    clamp(26px,4vw,58px) !important;

  border-radius:30px !important;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,224,191,.20),transparent 11rem),
    linear-gradient(145deg,rgba(250,242,237,.95),rgba(241,229,226,.96)) !important;

  border:1px solid rgba(112,83,92,.08);
  box-shadow:
    0 18px 44px rgba(76,54,71,.07),
    inset 0 1px 0 rgba(255,255,255,.65);
}

/* Picture-in-picture: photo becomes a floating framed visual */
.footer-v44-photo{
  position:relative !important;
  z-index:6 !important;
  align-self:center !important;
  min-height:385px !important;
  height:calc(100% - 28px) !important;
  margin-left:-54px !important;

  border-radius:34px !important;
  overflow:hidden !important;

  border:8px solid rgba(255,248,243,.92) !important;
  box-shadow:
    0 30px 70px rgba(64,47,62,.20),
    0 10px 26px rgba(64,47,62,.12),
    inset 0 0 0 1px rgba(255,255,255,.22) !important;

  transform:rotate(.6deg);
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.footer-v44-photo:hover{
  transform:rotate(0deg) translateY(-3px);
  box-shadow:
    0 36px 80px rgba(64,47,62,.23),
    0 12px 30px rgba(64,47,62,.13),
    inset 0 0 0 1px rgba(255,255,255,.24) !important;
}

.footer-v44-photo img{
  min-height:385px !important;
  border-radius:24px;
}

/* Soft ambient color glow behind the floating picture */
.footer-v44-photo::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:-1 !important;
  inset:-26px !important;
  border-radius:44px !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,187,134,.18),rgba(196,211,255,.15) 48%,transparent 72%) !important;
  filter:blur(18px) !important;
}

/* Keep caption readable over photo */
.footer-v44-photo-caption{
  right:24px !important;
  bottom:22px !important;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(37,28,35,.24);
  backdrop-filter:blur(7px);
}

/* Bottom bar harmonized with the new pastel footer */
.footer-v44-bottom{
  background:
    linear-gradient(90deg,#EFE5E1,#EEE7EF,#F0E7DF) !important;
  border-top:1px solid rgba(92,68,78,.08) !important;
}

/* Tablet: stacked picture-in-picture */
@media(max-width:960px){
  .footer-v44-banner{
    grid-template-columns:1fr !important;
    padding:24px 18px 28px !important;
    gap:20px !important;
  }

  .footer-v44-copy{
    border-radius:24px !important;
  }

  .footer-v44-photo{
    width:calc(100% - 22px) !important;
    margin:0 auto !important;
    min-height:300px !important;
    height:auto !important;
    transform:rotate(.35deg);
  }

  .footer-v44-photo img{
    min-height:300px !important;
  }
}

/* Mobile */
@media(max-width:620px){
  .footer-v44-banner{
    padding:16px 10px 20px !important;
  }

  .footer-v44-copy{
    padding:27px 17px 26px !important;
    border-radius:20px !important;
  }

  .footer-v44-photo{
    width:calc(100% - 10px) !important;
    min-height:230px !important;
    border-width:5px !important;
    border-radius:24px !important;
  }

  .footer-v44-photo img{
    min-height:230px !important;
    border-radius:18px;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-v44-photo{
    transform:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V50 — FOOTER LOCATION-PIN EDITORIAL COMPOSITION
   Goal: make footer feel closer to the reference card.
   - true picture-in-picture feeling
   - obvious location-pin inset using existing Spring Lake image
   - cleaner full-width editorial footer
   - no ugly seam / no awkward center split
   ========================================================= */

.footer-v44{
  padding: 42px 0 0 !important;
  background:
    linear-gradient(180deg,#efe8e4 0%, #ece5e1 100%) !important;
}

.footer-v44::before{
  content:none !important;
  display:none !important;
}

.footer-v44-banner{
  width:min(100% - 36px, 1780px) !important;
  max-width:none !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(420px, 1.02fr) minmax(420px, .98fr) !important;
  gap:0 !important;
  padding:24px !important;
  min-height:560px !important;
  overflow:hidden !important;
  position:relative !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 10% 14%, rgba(213,205,255,.34), transparent 18rem),
    radial-gradient(circle at 85% 78%, rgba(255,215,191,.25), transparent 22rem),
    linear-gradient(135deg,#eae1dd 0%, #ece3e0 48%, #eee7e3 100%) !important;
  border:1px solid rgba(102,82,91,.08) !important;
  box-shadow: 0 28px 60px rgba(82,59,74,.10) !important;
}

.footer-v44-banner::before,
.footer-v44-copy::after,
.footer-v44-brush-stroke,
.footer-v44-photo::before{
  content:none !important;
  display:none !important;
}

.footer-v44-copy{
  position:relative !important;
  z-index:2 !important;
  padding:44px 48px 34px 34px !important;
  border-radius:28px !important;
  min-height:490px !important;
  background:
    linear-gradient(145deg, rgba(249,244,240,.96), rgba(244,236,232,.96)) !important;
  border:1px solid rgba(102,82,91,.07) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 10px 26px rgba(92,70,80,.05) !important;
}

.footer-v44-copy::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  border-radius:28px !important;
  background:linear-gradient(90deg, transparent 0%, transparent 70%, rgba(255,255,255,.20) 100%) !important;
}

.footer-v44-brand{
  gap:14px !important;
}

.footer-v44-brand img{
  width:170px !important;
  max-width:none !important;
}

.footer-v44-brand-text span{
  font-size:1rem !important;
  letter-spacing:.18em !important;
}

.footer-v44-brand-text small{
  font-size:.70rem !important;
  letter-spacing:.18em !important;
}

.footer-v44-overline{
  margin-top:14px !important;
  color:#d15f4e !important;
}

.footer-v44-copy h2{
  margin:12px 0 16px !important;
  max-width:11ch !important;
  font-size:clamp(2.95rem,5.6vw,4.85rem) !important;
  line-height:.94 !important;
}

.footer-v44-lede{
  max-width:520px !important;
  color:#6d6266 !important;
}

.footer-v44-actions{
  margin-top:24px !important;
}

.footer-v44-info-row{
  margin-top:20px !important;
}

.footer-v44-round{
  background:#5d5559 !important;
  color:#fff !important;
  box-shadow:none !important;
}

.footer-v44-phone{
  background:#cb5a48 !important;
  color:#fff !important;
}

.footer-v44-details{
  margin-top:20px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(112,93,99,.12) !important;
  grid-template-columns:repeat(2, minmax(160px,1fr)) !important;
}

.footer-v44-nav{
  margin-top:18px !important;
}

.footer-v44-photo{
  position:relative !important;
  z-index:4 !important;
  overflow:visible !important;
  margin:0 !important;
  align-self:stretch !important;
  min-height:512px !important;
  border-radius:0 28px 28px 0 !important;
  background:
    linear-gradient(180deg,#163149 0%, #122941 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 14px 30px rgba(44,32,44,.12) !important;
}

.footer-v44-photo img{
  width:100% !important;
  height:100% !important;
  min-height:512px !important;
  object-fit:cover !important;
  border-radius:0 28px 28px 0 !important;
  filter:saturate(1.03) contrast(1.01) !important;
}

/* subtle dark editorial veil */
.footer-v44-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:0 28px 28px 0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(11,32,51,.10), rgba(11,32,51,.08)),
    linear-gradient(90deg, rgba(15,42,65,.18) 0%, transparent 34%, transparent 100%) !important;
}

/* TRUE picture-in-picture: a floating location-pin inset */
.footer-v44-photo-warmth{
  display:block !important;
  position:absolute !important;
  z-index:7 !important;
  left:-132px !important;
  top:52% !important;
  transform:translateY(-50%) rotate(-3deg) !important;
  width:250px !important;
  height:332px !important;
  border-radius:34px !important;
  pointer-events:none !important;
  background:
    linear-gradient(rgba(13,31,50,.22), rgba(13,31,50,.12)),
    url("images/spring-lake-bridge-background.jpg") 48% 56% / cover no-repeat !important;
  -webkit-clip-path: polygon(50% 100%, 63% 84%, 74% 68%, 84% 50%, 85% 33%, 79% 18%, 66% 8%, 50% 4%, 34% 8%, 21% 18%, 15% 33%, 16% 50%, 26% 68%, 37% 84%) !important;
  clip-path: polygon(50% 100%, 63% 84%, 74% 68%, 84% 50%, 85% 33%, 79% 18%, 66% 8%, 50% 4%, 34% 8%, 21% 18%, 15% 33%, 16% 50%, 26% 68%, 37% 84%) !important;
  box-shadow:
    0 0 0 11px rgba(255,255,255,.95),
    0 26px 62px rgba(43,33,44,.24) !important;
}

/* lens detail on the pin */
.footer-v44-photo-shine{
  display:block !important;
  position:absolute !important;
  z-index:8 !important;
  left:-36px !important;
  top:112px !important;
  width:96px !important;
  height:96px !important;
  border-radius:999px !important;
  pointer-events:none !important;
  background:
    linear-gradient(rgba(16,39,60,.26), rgba(16,39,60,.18)),
    url("images/spring-lake-bridge-background.jpg") 36% 36% / 190% auto no-repeat !important;
  box-shadow:
    0 0 0 10px rgba(255,255,255,.93),
    inset 0 0 0 2px rgba(255,255,255,.26),
    0 16px 34px rgba(37,29,40,.22) !important;
}

.footer-v44-photo-caption{
  right:22px !important;
  bottom:22px !important;
  border-radius:18px !important;
  background:rgba(37,31,38,.44) !important;
  backdrop-filter:blur(8px) !important;
  box-shadow:0 12px 28px rgba(23,19,28,.14) !important;
}

.footer-v44-bottom{
  margin-top:12px !important;
  padding:14px 24px 18px !important;
  background:transparent !important;
  color:#8a7f84 !important;
}

@media (max-width: 1080px){
  .footer-v44-banner{
    grid-template-columns:1fr !important;
    gap:18px !important;
    min-height:auto !important;
  }
  .footer-v44-copy{
    padding:34px 26px 28px !important;
  }
  .footer-v44-photo{
    min-height:420px !important;
    border-radius:26px !important;
  }
  .footer-v44-photo img,
  .footer-v44-photo::after{
    border-radius:26px !important;
  }
  .footer-v44-photo-warmth{
    left:24px !important;
    top:auto !important;
    bottom:-72px !important;
    transform:none !important;
    width:195px !important;
    height:256px !important;
  }
  .footer-v44-photo-shine{
    left:84px !important;
    top:auto !important;
    bottom:110px !important;
    width:78px !important;
    height:78px !important;
  }
  .footer-v44-bottom{
    padding-top:92px !important;
  }
}

@media (max-width: 720px){
  .footer-v44{
    padding-top:28px !important;
  }
  .footer-v44-banner{
    width:min(100% - 16px, 100%) !important;
    padding:10px !important;
    border-radius:24px !important;
  }
  .footer-v44-copy{
    border-radius:20px !important;
    padding:26px 18px 24px !important;
  }
  .footer-v44-brand img{
    width:132px !important;
  }
  .footer-v44-copy h2{
    max-width:10ch !important;
    font-size:clamp(2.45rem,10vw,3.45rem) !important;
  }
  .footer-v44-details{
    grid-template-columns:1fr !important;
  }
  .footer-v44-photo{
    min-height:300px !important;
    border-radius:20px !important;
  }
  .footer-v44-photo img,
  .footer-v44-photo::after{
    min-height:300px !important;
    border-radius:20px !important;
  }
  .footer-v44-photo-warmth,
  .footer-v44-photo-shine{
    display:none !important;
  }
  .footer-v44-bottom{
    padding:14px 12px 18px !important;
  }
}


/* =========================================================
   V52 — HOME STORY SLOGAN
   Requested scope only:
   - orange brand color
   - complete slogan on ONE line
   - no "Lake" wrapping below
   ========================================================= */

.story-puzzle-slogan{
  overflow:hidden;
  padding-left:clamp(12px,2.2vw,34px);
  padding-right:clamp(12px,2.2vw,34px);
}

.story-puzzle-slogan strong{
  display:block;
  width:100%;
  max-width:none;
  min-height:0;
  margin:0 auto;

  white-space:nowrap;
  text-wrap:nowrap;

  color:#FF806E;
  font-family:'Manrope',sans-serif;
  font-size:clamp(.68rem,2.02vw,2rem);
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.035em;

  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 6px 18px rgba(255,128,110,.12);
}

/* Keep the typewriter caret from forcing an accidental wrap */
.story-puzzle-slogan .is-typing::after{
  display:inline-block;
  margin-left:3px;
}

/* Extra protection for narrow screens: stay one line, just scale down */
@media(max-width:640px){
  .story-puzzle-slogan{
    padding-left:8px;
    padding-right:8px;
  }

  .story-puzzle-slogan strong{
    font-size:clamp(.58rem,2.4vw,.82rem);
    letter-spacing:-.045em;
  }
}


/* =========================================================
   V53 — Cinematic personality pass for the Spring Lake slogan
   Scope intentionally limited to the slogan line only.
   ========================================================= */

.story-puzzle-slogan{
  position:relative;
  overflow:visible;
  padding-top:10px;
  padding-bottom:6px;
}

.story-puzzle-slogan strong{
  display:block;
  width:100%;
  max-width:none;
  margin:0 auto;
  white-space:nowrap;
  text-wrap:nowrap;

  font-family:'Manrope',sans-serif;
  font-size:clamp(.72rem,2vw,2.06rem);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.038em;

  /* cinematic orange personality */
  background:
    linear-gradient(180deg,
      #ffd2ae 0%,
      #ffad78 12%,
      #ff8f69 32%,
      #ff7d63 52%,
      #ff6f5c 76%,
      #ff9472 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;

  text-shadow:
    0 1px 0 rgba(255,255,255,.88),
    0 10px 20px rgba(255,124,95,.18),
    0 20px 38px rgba(255,124,95,.10);

  filter:drop-shadow(0 10px 22px rgba(255,124,95,.18));
  position:relative;
  isolation:isolate;
  transform:translateZ(0);
}

.story-puzzle-slogan strong::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:78%;
  transform:translateY(-48%);
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 50%, rgba(255,176,126,.24), transparent 30%),
    radial-gradient(circle at 55% 52%, rgba(255,132,100,.16), transparent 36%),
    radial-gradient(circle at 84% 48%, rgba(255,198,150,.22), transparent 28%);
  filter:blur(18px);
  z-index:-1;
  pointer-events:none;
}

.story-puzzle-slogan::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-2px;
  width:min(72%, 720px);
  height:12px;
  border-radius:999px;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,173,118,.45) 18%,
      rgba(255,126,95,.85) 50%,
      rgba(255,173,118,.45) 82%,
      rgba(255,255,255,0) 100%);
  filter:blur(10px);
  opacity:.9;
  pointer-events:none;
}

.story-puzzle-slogan .is-typing::after{
  display:inline-block;
  content:"";
  width:2px;
  height:.92em;
  margin-left:4px;
  vertical-align:-0.08em;
  border-radius:999px;
  background:linear-gradient(180deg,#ffd2ae,#ff7d63);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.35),
    0 0 12px rgba(255,136,102,.85),
    0 0 24px rgba(255,136,102,.42);
  animation:storySloganCaretGlow 1s step-end infinite;
}

@keyframes storySloganCaretGlow{
  0%, 100%{opacity:1; transform:translateY(0);}
  50%{opacity:.22; transform:translateY(.5px);}
}

/* keep it one line on small screens without losing the cinematic finish */
@media (max-width: 640px){
  .story-puzzle-slogan{
    padding-left:8px;
    padding-right:8px;
  }

  .story-puzzle-slogan strong{
    font-size:clamp(.56rem,2.25vw,.86rem);
    letter-spacing:-.048em;
    text-shadow:
      0 1px 0 rgba(255,255,255,.82),
      0 6px 14px rgba(255,124,95,.16);
  }

  .story-puzzle-slogan::after{
    width:min(88%, 500px);
    height:10px;
  }
}


/* =========================================================
   V54 — PREMIUM ORANGE SLOGAN REBUILD
   Scope: ONLY the one-line Spring Lake slogan.
   Goal: remove washed-out / pale appearance and give it
   stronger readability, depth, cinematic polish and presence.
   ========================================================= */

.story-puzzle-slogan{
  position:relative;
  overflow:visible;
  padding:14px clamp(10px,2vw,30px) 12px;
  text-align:center;
  isolation:isolate;
}

/* soft presentation bed behind the slogan, not a box */
.story-puzzle-slogan::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(94%, 1320px);
  height:76%;
  transform:translate(-50%,-48%);
  border-radius:999px;
  pointer-events:none;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,170,112,.15) 0%,
      rgba(255,170,112,.07) 46%,
      rgba(255,170,112,0) 76%);
  filter:blur(16px);
}

/* Main text — darker, richer orange with strong readability */
.story-puzzle-slogan strong{
  display:inline-block;
  width:auto;
  max-width:100%;
  min-height:0;
  margin:0 auto;

  white-space:nowrap;
  text-wrap:nowrap;

  font-family:'Manrope',sans-serif;
  font-size:clamp(.74rem,1.92vw,1.95rem);
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.035em;

  color:#D95B3E;

  /* Strong premium orange finish */
  background:
    linear-gradient(
      180deg,
      #FFB16F 0%,
      #F78A55 18%,
      #E86743 44%,
      #D84F36 68%,
      #B93B2D 100%
    );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;

  /* real depth, no washed-white effect */
  text-shadow:
    0 1px 0 rgba(255,255,255,.24),
    0 2px 0 rgba(132,46,32,.12),
    0 7px 14px rgba(128,48,34,.16),
    0 16px 28px rgba(128,48,34,.10);

  filter:
    drop-shadow(0 8px 16px rgba(144,52,35,.16));

  position:relative;
  z-index:2;
  transform:translateZ(0);
}

/* glossy light sweep across the LETTERS only */
.story-puzzle-slogan strong{
  background-size:100% 100%, 220% 100%;
}

.story-puzzle-slogan strong::before{
  content:"";
  position:absolute;
  inset:-2px -4px;
  z-index:-1;
  border-radius:999px;
  background:
    linear-gradient(
      105deg,
      transparent 0%,
      transparent 38%,
      rgba(255,255,255,.34) 46%,
      rgba(255,255,255,.10) 52%,
      transparent 60%,
      transparent 100%
    );
  transform:translateX(-120%);
  animation:sloganPremiumSweep 5.8s ease-in-out infinite;
  mix-blend-mode:screen;
  pointer-events:none;
}

/* thin cinematic underline, subtle and premium */
.story-puzzle-slogan::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:2px;
  width:min(58%, 760px);
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      #F3A35E 20%,
      #D85B3E 50%,
      #F3A35E 80%,
      transparent 100%
    );
  box-shadow:
    0 0 10px rgba(216,91,62,.18);
  opacity:.72;
}

/* typing caret integrated into the premium treatment */
.story-puzzle-slogan .is-typing::after{
  display:inline-block;
  content:"";
  width:2px;
  height:.86em;
  margin-left:5px;
  vertical-align:-.05em;
  border-radius:999px;
  background:#D84F36;
  box-shadow:
    0 0 8px rgba(216,79,54,.55),
    0 0 16px rgba(216,79,54,.22);
  animation:sloganPremiumCaret 1s steps(1,end) infinite;
}

/* no giant glow / no white outline */
@keyframes sloganPremiumSweep{
  0%, 68%{
    transform:translateX(-120%);
    opacity:0;
  }
  72%{
    opacity:.10;
  }
  82%{
    opacity:.52;
  }
  92%{
    transform:translateX(120%);
    opacity:.12;
  }
  100%{
    transform:translateX(120%);
    opacity:0;
  }
}

@keyframes sloganPremiumCaret{
  0%,100%{opacity:1}
  50%{opacity:.22}
}

/* Keep full sentence on one line on smaller screens */
@media(max-width:900px){
  .story-puzzle-slogan{
    padding-left:8px;
    padding-right:8px;
  }

  .story-puzzle-slogan strong{
    font-size:clamp(.64rem,2.08vw,1rem);
    letter-spacing:-.04em;
  }

  .story-puzzle-slogan::after{
    width:min(72%, 620px);
  }
}

@media(max-width:640px){
  .story-puzzle-slogan strong{
    font-size:clamp(.52rem,2.22vw,.78rem);
    letter-spacing:-.045em;
    text-shadow:
      0 1px 0 rgba(255,255,255,.18),
      0 4px 10px rgba(128,48,34,.13);
  }

  .story-puzzle-slogan::after{
    width:78%;
  }
}

@media(prefers-reduced-motion:reduce){
  .story-puzzle-slogan strong::before,
  .story-puzzle-slogan .is-typing::after{
    animation:none !important;
  }
}


/* =========================================================
   V55 — PROFESSIONAL FOOTER REBUILD
   Scope: footer text hierarchy, spacing, color, professionalism,
   cinematic polish, and organized layout across all pages.
   ========================================================= */

.site-footer{
  position:relative;
  overflow:hidden;
  margin-top:78px;
  color:#fff;
  background:
    radial-gradient(circle at 12% 10%, rgba(241,150,96,.18), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(206,145,215,.16), transparent 30%),
    linear-gradient(135deg, #493A52 0%, #584565 42%, #443849 100%);
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 -12px 34px rgba(50,37,60,.08);
}

.site-footer::before{
  content:"";
  display:block;
  height:6px;
  background:linear-gradient(90deg, #ff8e63 0%, #f6b36c 28%, #cfe09b 56%, #c39fdf 100%);
  box-shadow:0 0 22px rgba(255,143,95,.22);
}

.site-footer::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,.03), transparent 45%);
  opacity:.9;
}

.footer-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: minmax(320px,1.35fr) minmax(170px,.7fr) minmax(220px,.82fr);
  gap: clamp(28px, 4vw, 72px);
  align-items:start;
  padding:48px 0 34px;
}

.footer-brand{
  max-width: 560px;
}

.footer-brand img{
  width:min(250px, 78%);
  margin-bottom:14px;
  filter:
    drop-shadow(0 8px 16px rgba(0,0,0,.22))
    drop-shadow(0 0 16px rgba(255,181,94,.12));
}

.footer-kicker{
  margin:0 0 10px;
  color:#FFB47A;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.footer-tagline{
  margin:0;
  max-width: 520px;
  color:#F2E7F0;
  font-size:1.02rem;
  line-height:1.8;
  font-weight:500;
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,.03);
}

.footer-column{
  position:relative;
  padding-left:18px;
}

.footer-column::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:3px;
  height:86px;
  border-radius:999px;
  background:linear-gradient(180deg, #FF9D70 0%, rgba(255,157,112,.14) 100%);
  box-shadow:0 0 12px rgba(255,157,112,.18);
}

.footer-column h3{
  margin:0 0 16px;
  color:#FFF4DA;
  font-size:1.03rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:none;
}

.footer-column a,
.footer-column span{
  display:block;
  margin:0 0 11px;
  color:#F6EDF6;
  text-decoration:none;
  font-size:1rem;
  line-height:1.5;
  font-weight:600;
  transition:transform .18s ease, color .18s ease, opacity .18s ease;
  opacity:.95;
}

.footer-column a:hover{
  color:#FFD3A4;
  transform:translateX(3px);
}

.footer-bottom{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  padding:18px 0 26px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#D9C9DD;
  font-size:.88rem;
  letter-spacing:.01em;
}

.footer-bottom span:nth-child(2){
  color:#FF9D70;
  font-weight:900;
}

@media (max-width: 960px){
  .footer-shell{
    grid-template-columns:1fr;
    gap:26px;
    padding:42px 0 28px;
  }

  .footer-brand{
    max-width:none;
  }

  .footer-brand img{
    width:min(220px, 70%);
  }

  .footer-column{
    padding-left:16px;
  }

  .footer-column::before{
    height:68px;
  }
}

@media (max-width: 640px){
  .footer-shell{
    gap:22px;
    padding:36px 0 24px;
  }

  .footer-tagline{
    font-size:.98rem;
    line-height:1.75;
  }

  .footer-column a,
  .footer-column span{
    font-size:.97rem;
  }

  .footer-bottom{
    font-size:.8rem;
    gap:8px;
    padding-bottom:22px;
  }
}


/* =========================================================
   V56 — FOOTER RIGHT IMAGE BLEND
   Add user-provided billboard image on the right side of the footer,
   converted to PNG and blended so it appears to emerge from the
   footer background with no visible box or hard edges.
   ========================================================= */

.site-footer{
  overflow:hidden;
}

.footer-shell{
  position:relative;
  min-height:360px;
  padding:52px 0 34px;
}

.footer-copy-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) minmax(160px,.72fr) minmax(190px,.82fr);
  gap:clamp(24px,3vw,50px);
  width:min(63%, 770px);
  align-items:start;
}

.footer-brand{
  max-width:520px;
}

.footer-tagline{
  max-width:480px;
}

.footer-visual{
  position:absolute;
  right:-18px;
  bottom:-14px;
  width:min(45vw, 520px);
  height:min(100%, 410px);
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  pointer-events:none;
  z-index:1;
}

.footer-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
  filter:drop-shadow(0 26px 42px rgba(0,0,0,.34)) saturate(1.03) contrast(1.02);
  opacity:.94;
}

.footer-visual::before{
  content:"";
  position:absolute;
  inset:-8% -6% -10% -26%;
  background:
    linear-gradient(90deg,
      rgba(73,58,82,1) 0%,
      rgba(73,58,82,.98) 18%,
      rgba(73,58,82,.88) 30%,
      rgba(73,58,82,.55) 42%,
      rgba(73,58,82,.18) 58%,
      rgba(73,58,82,0) 74%),
    linear-gradient(180deg,
      rgba(73,58,82,.82) 0%,
      rgba(73,58,82,.12) 18%,
      rgba(73,58,82,.04) 82%,
      rgba(73,58,82,.86) 100%),
    radial-gradient(circle at 80% 52%, rgba(109,86,125,0) 28%, rgba(109,86,125,.10) 56%, rgba(109,86,125,.36) 80%, rgba(109,86,125,.58) 100%);
  pointer-events:none;
}

.footer-visual-glow{
  position:absolute;
  inset:12% 6% 10% 18%;
  background:
    radial-gradient(circle at 65% 48%, rgba(255,188,126,.18), transparent 36%),
    radial-gradient(circle at 80% 40%, rgba(198,154,230,.18), transparent 30%),
    radial-gradient(circle at 70% 76%, rgba(255,255,255,.10), transparent 28%);
  filter:blur(16px);
  opacity:.95;
}

.footer-bottom{
  position:relative;
  z-index:2;
}

@media (max-width: 1140px){
  .footer-copy-grid{
    width:min(58%, 640px);
    gap:24px;
  }

  .footer-visual{
    width:min(46vw, 440px);
    right:-22px;
  }
}

@media (max-width: 960px){
  .footer-shell{
    min-height:unset;
    padding:42px 0 30px;
  }

  .footer-copy-grid{
    width:100%;
    grid-template-columns:1fr;
    gap:24px;
  }

  .footer-visual{
    position:relative;
    right:auto;
    bottom:auto;
    width:min(88vw, 480px);
    height:290px;
    margin:14px auto 0;
  }

  .footer-visual::before{
    inset:-6% -4% -10% -8%;
    background:
      linear-gradient(180deg,
        rgba(73,58,82,.8) 0%,
        rgba(73,58,82,.22) 18%,
        rgba(73,58,82,.06) 82%,
        rgba(73,58,82,.82) 100%),
      radial-gradient(circle at 50% 52%, rgba(73,58,82,0) 20%, rgba(73,58,82,.22) 62%, rgba(73,58,82,.44) 100%);
  }
}

@media (max-width: 640px){
  .footer-visual{
    height:220px;
    width:min(92vw, 380px);
  }

  .footer-visual img{
    opacity:.9;
  }
}


/* =========================================================
   V57 — CINEMATIC FOOTER COMPOSITION
   Built as real HTML/CSS architecture from the supplied reference.
   The supplied reference is NOT used as a baked footer image.
   Existing El Tucan assets are composed with masks, fades, type,
   ornaments, an integrated hero visual and a decorative inset.
   ========================================================= */

.footer-v57{
  --f57-bg:#22001F;
  --f57-bg2:#310529;
  --f57-deep:#160018;
  --f57-gold:#E8A326;
  --f57-gold2:#FFB332;
  --f57-cream:#F1D7B4;
  --f57-soft:#DABFC5;
  --f57-red:#B92C25;
  position:relative;
  overflow:hidden;
  margin-top:76px;
  color:var(--f57-cream);
  background:
    radial-gradient(circle at 16% 22%,rgba(119,20,96,.23),transparent 25rem),
    radial-gradient(circle at 78% 36%,rgba(189,55,64,.18),transparent 28rem),
    linear-gradient(135deg,var(--f57-deep) 0%,var(--f57-bg) 42%,var(--f57-bg2) 100%);
  border-top:1px solid rgba(255,180,50,.18);
  box-shadow:0 -20px 60px rgba(31,0,34,.16);
}

.footer-v57::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%),
    radial-gradient(circle at 60% 95%,rgba(238,105,35,.08),transparent 28rem);
}

.footer-v57-stage{
  position:relative;
  min-height:500px;
  display:grid;
  grid-template-columns:56% 44%;
  overflow:hidden;
}

.footer-v57-copy{
  position:relative;
  z-index:6;
  display:grid;
  grid-template-columns:minmax(280px,1.15fr) minmax(150px,.63fr) minmax(220px,.82fr);
  column-gap:clamp(28px,3.2vw,58px);
  row-gap:18px;
  align-content:center;
  padding:
    clamp(48px,5vw,76px)
    clamp(28px,3.2vw,54px)
    34px
    clamp(38px,7vw,128px);
}

.footer-v57-brand{
  max-width:520px;
}

.footer-v57-logo{
  width:clamp(245px,22vw,390px);
  max-width:100%;
  margin-bottom:11px;
  filter:
    drop-shadow(0 12px 22px rgba(0,0,0,.32))
    drop-shadow(0 0 20px rgba(232,163,38,.10));
}

.footer-v57-ribbon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  margin:0 0 20px 56px;
  padding:0 28px;
  color:#FFF3D9;
  font-family:'Manrope',sans-serif;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:
    linear-gradient(180deg,#B93224,#8D211C);
  border:1px solid rgba(240,163,38,.65);
  clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);
  box-shadow:
    0 8px 20px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.footer-v57-intro{
  margin:0;
  max-width:480px;
  color:var(--f57-cream);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(.93rem,1.05vw,1.08rem);
  line-height:1.72;
  letter-spacing:.01em;
  text-shadow:0 2px 10px rgba(0,0,0,.24);
}

.footer-v57-script{
  margin:19px 0 0;
  color:var(--f57-gold2);
  font-family:'Brush Script MT','Segoe Script',cursive;
  font-size:clamp(1.12rem,1.45vw,1.52rem);
  line-height:1.1;
  transform:rotate(-1deg);
  text-shadow:
    0 0 12px rgba(232,163,38,.18),
    0 2px 8px rgba(0,0,0,.24);
}

.footer-v57-explore,
.footer-v57-connect{
  padding-top:12px;
}

.footer-v57-explore h3,
.footer-v57-connect h3{
  margin:0;
  color:var(--f57-gold);
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.08rem;
  line-height:1;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-shadow:0 0 12px rgba(232,163,38,.12);
}

.footer-v57-ornament{
  display:flex;
  align-items:center;
  gap:6px;
  width:130px;
  margin:7px 0 20px;
  color:#A9522E;
}

.footer-v57-ornament span{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,#A9522E);
}
.footer-v57-ornament span:last-child{
  transform:scaleX(-1);
}
.footer-v57-ornament b{
  color:#B76631;
  font-size:.85rem;
  font-weight:400;
}

.footer-v57-explore a{
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:center;
  gap:9px;
  margin:0 0 14px;
  color:#F1E5E8;
  font-family:'Manrope',sans-serif;
  font-size:.96rem;
  font-weight:650;
  text-decoration:none;
  transition:transform .2s ease,color .2s ease;
}

.footer-v57-explore a i,
.footer-v57-connect-line i{
  color:var(--f57-gold);
  font-style:normal;
  font-size:1.15rem;
  text-align:center;
  text-shadow:0 0 10px rgba(232,163,38,.16);
}

.footer-v57-explore a:hover{
  color:#FFD48A;
  transform:translateX(4px);
}

.footer-v57-connect-line{
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:start;
  gap:10px;
  margin:0 0 15px;
  color:#F1E5E8;
  font-family:'Manrope',sans-serif;
  font-size:.92rem;
  line-height:1.55;
}

.footer-v57-connect-line a{
  color:#F1E5E8;
  text-decoration:none;
}
.footer-v57-connect-line a:hover{
  color:#FFD48A;
}

.footer-v57-hours{
  display:grid;
  gap:5px;
  margin-top:18px;
  font-family:'Manrope',sans-serif;
}

.footer-v57-hours strong{
  color:var(--f57-gold);
  font-size:.96rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.footer-v57-hours strong i{
  margin-right:8px;
  font-style:normal;
}
.footer-v57-hours span{
  color:#F0DFE2;
  font-size:.85rem;
  line-height:1.35;
}

.footer-v57-social{
  display:flex;
  gap:12px;
  margin-top:22px;
}

.footer-v57-social a{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:var(--f57-gold);
  border:1px solid rgba(232,163,38,.65);
  background:rgba(255,255,255,.025);
  font-family:Georgia,serif;
  font-size:1.05rem;
  font-weight:800;
  text-decoration:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 8px 18px rgba(0,0,0,.15);
  transition:transform .2s ease,background .2s ease;
}
.footer-v57-social a:hover{
  transform:translateY(-3px);
  background:rgba(232,163,38,.10);
}

.footer-v57-rule{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
  color:#A9522E;
}
.footer-v57-rule span{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,#A9522E);
}
.footer-v57-rule span:last-child{
  transform:scaleX(-1);
}
.footer-v57-rule b{
  color:#C76C32;
  font-size:1.1rem;
  font-weight:400;
}

/* RIGHT-SIDE IMAGE — integrated, not boxed */
.footer-v57-art{
  position:relative;
  z-index:3;
  min-height:500px;
  overflow:hidden;
  margin-left:-8%;
}

.footer-v57-art-main{
  position:absolute;
  inset:-3% -4% -3% -2%;
  width:108%;
  height:106%;
  object-fit:cover;
  object-position:center;
  filter:
    saturate(1.16)
    contrast(1.04)
    brightness(.89)
    sepia(.06);
  transform:scale(1.02);
}

/* Blend the image INTO the plum footer */
.footer-v57-art::before{
  content:"";
  position:absolute;
  z-index:5;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      var(--f57-bg) 0%,
      rgba(34,0,31,.96) 9%,
      rgba(34,0,31,.72) 18%,
      rgba(34,0,31,.28) 31%,
      rgba(34,0,31,0) 48%),
    linear-gradient(180deg,
      rgba(34,0,31,.66) 0%,
      rgba(34,0,31,.05) 18%,
      rgba(34,0,31,.03) 78%,
      rgba(34,0,31,.68) 100%);
}

.footer-v57-art::after{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 34% 72%,rgba(255,105,35,.24),transparent 20rem),
    radial-gradient(circle at 82% 42%,rgba(132,44,126,.20),transparent 24rem),
    linear-gradient(180deg,rgba(14,0,22,.06),rgba(38,0,39,.16));
}

.footer-v57-art-grade{
  position:absolute;
  z-index:6;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(110deg,transparent 28%,rgba(255,161,60,.08) 48%,transparent 62%);
  mix-blend-mode:screen;
}

/* decorative inset inside the main visual */
.footer-v57-inset{
  position:absolute;
  z-index:9;
  left:13%;
  bottom:-3%;
  width:61%;
  height:43%;
  overflow:hidden;
  background:linear-gradient(180deg,#F4A629,#8D3B22);
  clip-path:polygon(
    8% 21%,18% 8%,33% 2%,50% 0,67% 2%,82% 8%,92% 21%,
    98% 41%,95% 61%,85% 78%,70% 91%,50% 100%,
    30% 91%,15% 78%,5% 61%,2% 41%
  );
  filter:
    drop-shadow(0 22px 30px rgba(0,0,0,.34))
    drop-shadow(0 0 7px rgba(232,163,38,.42));
}

.footer-v57-inset::before{
  content:"";
  position:absolute;
  inset:3px;
  z-index:2;
  clip-path:inherit;
  border:1px solid rgba(255,180,50,.68);
  pointer-events:none;
}

.footer-v57-inset img{
  position:absolute;
  inset:4px;
  width:calc(100% - 8px);
  height:calc(100% - 8px);
  object-fit:cover;
  object-position:center 80%;
  clip-path:inherit;
  filter:
    saturate(1.18)
    contrast(1.07)
    brightness(.79)
    sepia(.12);
}

.footer-v57-inset::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(34,0,31,.04),rgba(34,0,31,.34)),
    radial-gradient(circle at 50% 20%,rgba(255,150,45,.15),transparent 55%);
}

.footer-v57-art-flourish{
  position:absolute;
  z-index:10;
  color:rgba(228,112,31,.46);
  font-family:Georgia,serif;
  line-height:1;
  text-shadow:0 0 12px rgba(232,163,38,.10);
}
.footer-v57-art-flourish.flourish-a{
  right:2%;
  bottom:1%;
  font-size:8rem;
  transform:rotate(-15deg);
}
.footer-v57-art-flourish.flourish-b{
  right:8%;
  bottom:11%;
  font-size:4rem;
  transform:rotate(20deg);
}

.footer-v57-left-flourish{
  position:absolute;
  z-index:1;
  left:-32px;
  bottom:-18px;
  color:rgba(126,22,106,.24);
  font-family:Georgia,serif;
  font-size:15rem;
  line-height:1;
  transform:rotate(-15deg);
  pointer-events:none;
}

.footer-v57-legal{
  position:relative;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  min-height:58px;
  padding:14px 28px 18px;
  color:#B58E82;
  background:rgba(12,0,16,.16);
  border-top:1px solid rgba(167,82,46,.32);
  font-family:'Manrope',sans-serif;
  font-size:.67rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-v57-legal i{
  width:1px;
  height:13px;
  background:rgba(202,110,50,.55);
}

/* subtle alive motion */
@keyframes footerV57Drift{
  0%{transform:scale(1.02) translate3d(0,0,0)}
  100%{transform:scale(1.055) translate3d(-1.2%,-.5%,0)}
}
.footer-v57-art-main{
  animation:footerV57Drift 18s ease-in-out infinite alternate;
}

/* TABLET */
@media(max-width:1120px){
  .footer-v57-stage{
    grid-template-columns:1fr;
  }

  .footer-v57-copy{
    grid-template-columns:1.2fr .7fr .9fr;
    padding:48px 34px 28px;
  }

  .footer-v57-art{
    min-height:390px;
    margin-left:0;
  }

  .footer-v57-art::before{
    background:
      linear-gradient(180deg,
        var(--f57-bg) 0%,
        rgba(34,0,31,.88) 10%,
        rgba(34,0,31,.35) 23%,
        rgba(34,0,31,0) 42%,
        rgba(34,0,31,.44) 100%);
  }

  .footer-v57-inset{
    left:24%;
    width:52%;
    height:42%;
  }
}

/* MOBILE */
@media(max-width:760px){
  .footer-v57{
    padding-bottom:72px;
  }

  .footer-v57-copy{
    grid-template-columns:1fr;
    padding:38px 20px 24px;
  }

  .footer-v57-brand{
    max-width:none;
  }

  .footer-v57-logo{
    width:min(310px,88%);
  }

  .footer-v57-ribbon{
    margin-left:18px;
  }

  .footer-v57-explore,
  .footer-v57-connect{
    padding-top:6px;
  }

  .footer-v57-rule{
    margin-top:6px;
  }

  .footer-v57-art{
    min-height:300px;
  }

  .footer-v57-inset{
    left:17%;
    width:66%;
    height:46%;
  }

  .footer-v57-art-flourish.flourish-a{
    font-size:5rem;
  }

  .footer-v57-left-flourish{
    font-size:10rem;
  }

  .footer-v57-legal{
    font-size:.59rem;
    letter-spacing:.05em;
    gap:8px;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-v57-art-main{
    animation:none !important;
  }
}


/* =========================================================
   V60 — SOCIAL WAVE SYSTEM
   Scope:
   - social icons at right side of hero on ALL pages
   - matching social row inside footer on ALL pages
   - hero uses recognizable platform colors
   - footer remixes icons into the footer's gold/plum palette
   - ocean-wave motion + cinematic glow
   ========================================================= */

.page-hero{
  position:relative;
}

/* -----------------------------
   UNIVERSAL SOCIAL CHIP
   ----------------------------- */
.social-wave{
  --social-size:48px;
  display:flex;
  gap:10px;
}

.social-chip{
  position:relative;
  display:grid;
  place-items:center;
  width:var(--social-size);
  height:var(--social-size);
  flex:0 0 var(--social-size);
  border-radius:50%;
  text-decoration:none;
  isolation:isolate;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    filter .28s ease,
    box-shadow .28s ease;
}

.social-icon{
  position:relative;
  z-index:3;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border-radius:inherit;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:1.15rem;
  font-weight:950;
  line-height:1;
}

.social-label{
  position:absolute;
  right:calc(100% + 10px);
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:.68rem;
  font-weight:850;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}

.social-chip:hover .social-label,
.social-chip:focus-visible .social-label{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.social-chip:focus-visible{
  outline:3px solid rgba(255,255,255,.92);
  outline-offset:3px;
}

/* -----------------------------
   HERO: RIGHT-SIDE VERTICAL WAVE
   ----------------------------- */
.social-wave-hero{
  position:absolute;
  z-index:80;
  right:clamp(12px,1.8vw,30px);
  top:50%;
  transform:translateY(-50%);
  flex-direction:column;
  align-items:center;
  gap:9px;
  padding:11px 8px;
  border-radius:999px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 20px 44px rgba(58,37,70,.16),
    inset 0 1px 0 rgba(255,255,255,.25);
  backdrop-filter:blur(10px);
}

.social-wave-hero::before{
  content:"";
  position:absolute;
  inset:-9px;
  z-index:-1;
  border-radius:999px;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,150,106,.18),transparent 38%),
    radial-gradient(circle at 50% 78%,rgba(135,110,232,.16),transparent 42%);
  filter:blur(11px);
}

.social-wave-hero .social-chip{
  animation:socialOceanWave 3.6s ease-in-out infinite;
  animation-delay:calc(var(--wave-i) * -0.23s);
  box-shadow:
    0 10px 22px rgba(25,18,34,.16),
    inset 0 1px 0 rgba(255,255,255,.28);
}

.social-wave-hero .social-chip:nth-child(1){margin-right:0}
.social-wave-hero .social-chip:nth-child(2){margin-right:10px}
.social-wave-hero .social-chip:nth-child(3){margin-right:17px}
.social-wave-hero .social-chip:nth-child(4){margin-right:10px}
.social-wave-hero .social-chip:nth-child(5){margin-right:0}
.social-wave-hero .social-chip:nth-child(6){margin-right:-7px}

.social-wave-hero .social-chip:hover{
  animation-play-state:paused;
  transform:translateX(-5px) scale(1.13);
  filter:saturate(1.18) brightness(1.07);
}

.social-wave-hero .social-label{
  color:#352B38;
  background:rgba(255,250,247,.94);
  box-shadow:0 10px 24px rgba(47,34,52,.12);
}

/* Facebook */
.social-wave-hero .social-facebook .social-icon{
  color:#fff;
  background:linear-gradient(145deg,#2795FF,#1877F2 60%,#0F5ED1);
  text-shadow:0 2px 8px rgba(0,0,0,.15);
  box-shadow:0 0 18px rgba(24,119,242,.28);
}

/* Instagram */
.social-wave-hero .social-instagram .social-icon{
  color:#fff;
  background:
    radial-gradient(circle at 68% 24%,#FFD36B 0 11%,transparent 12%),
    radial-gradient(circle at 31% 92%,#FF3040 0 28%,transparent 45%),
    linear-gradient(135deg,#833AB4 8%,#C13584 35%,#E1306C 57%,#F77737 78%,#FCAF45 100%);
  box-shadow:0 0 18px rgba(225,48,108,.28);
}

/* TikTok */
.social-wave-hero .social-tiktok .social-icon{
  color:#fff;
  background:linear-gradient(145deg,#151515,#050505);
  text-shadow:
    -2px -1px 0 #25F4EE,
    2px 1px 0 #FE2C55;
  box-shadow:
    -4px 0 14px rgba(37,244,238,.16),
    4px 0 14px rgba(254,44,85,.18);
}

/* YouTube */
.social-wave-hero .social-youtube .social-icon{
  color:#fff;
  background:linear-gradient(145deg,#FF3B30,#FF0000 60%,#CF0000);
  box-shadow:0 0 18px rgba(255,0,0,.28);
  font-size:1rem;
}

/* Google Maps */
.social-wave-hero .social-maps .social-icon{
  color:#fff;
  background:
    conic-gradient(from 210deg,
      #34A853 0 24%,
      #4285F4 24% 48%,
      #EA4335 48% 72%,
      #FBBC05 72% 100%);
  text-shadow:0 2px 7px rgba(0,0,0,.22);
  box-shadow:0 0 18px rgba(66,133,244,.24);
}

/* WhatsApp */
.social-wave-hero .social-whatsapp .social-icon{
  color:#fff;
  background:linear-gradient(145deg,#39E27D,#25D366 58%,#128C4B);
  box-shadow:0 0 18px rgba(37,211,102,.28);
}

/* -----------------------------
   FOOTER: HORIZONTAL LINE, FUSED
   ----------------------------- */
.footer-social-wave{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:11px;
  margin-top:22px;
}

.footer-social-wave .social-chip{
  --social-size:42px;
  color:#F3B447;
  border:1px solid rgba(232,163,38,.64);
  background:
    radial-gradient(circle at 35% 24%,rgba(255,255,255,.08),transparent 32%),
    linear-gradient(145deg,rgba(91,19,80,.78),rgba(36,2,36,.86));
  box-shadow:
    0 9px 20px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 0 1px rgba(232,163,38,.04);
  animation:footerSocialWave 3.8s ease-in-out infinite;
  animation-delay:calc(var(--wave-i) * -0.21s);
}

.footer-social-wave .social-icon{
  color:#F3B447;
  background:transparent;
  text-shadow:
    0 0 8px rgba(232,163,38,.25),
    0 1px 0 rgba(255,255,255,.06);
}

.footer-social-wave .social-instagram .social-icon{
  color:#F6C36C;
}

.footer-social-wave .social-tiktok .social-icon{
  color:#E5AF56;
  text-shadow:
    -1px -1px 0 rgba(255,136,87,.35),
    1px 1px 0 rgba(234,179,64,.45);
}

.footer-social-wave .social-youtube .social-icon{
  color:#F09A51;
}

.footer-social-wave .social-maps .social-icon{
  color:#DDA84E;
}

.footer-social-wave .social-whatsapp .social-icon{
  color:#E8C66D;
}

.footer-social-wave .social-label{
  left:50%;
  right:auto;
  top:auto;
  bottom:calc(100% + 9px);
  transform:translateX(-50%) translateY(6px);
  color:#F6E7D5;
  background:rgba(31,0,31,.94);
  border:1px solid rgba(232,163,38,.24);
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}

.footer-social-wave .social-chip:hover .social-label,
.footer-social-wave .social-chip:focus-visible .social-label{
  transform:translateX(-50%) translateY(0);
}

.footer-social-wave .social-chip:hover{
  animation-play-state:paused;
  transform:translateY(-5px) scale(1.1);
  color:#FFD47B;
  border-color:rgba(255,196,83,.88);
  box-shadow:
    0 14px 28px rgba(0,0,0,.20),
    0 0 20px rgba(232,163,38,.14);
}

@keyframes socialOceanWave{
  0%,100%{
    transform:translate3d(0,0,0) rotate(-1deg);
  }
  25%{
    transform:translate3d(-4px,-5px,0) rotate(1.5deg);
  }
  50%{
    transform:translate3d(-8px,1px,0) rotate(0deg);
  }
  75%{
    transform:translate3d(-3px,5px,0) rotate(-1.5deg);
  }
}

@keyframes footerSocialWave{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-3px) rotate(-1deg)}
  50%{transform:translateY(1px) rotate(1deg)}
  75%{transform:translateY(3px) rotate(0deg)}
}

/* -----------------------------
   RESPONSIVE
   ----------------------------- */
@media(max-width:900px){
  .social-wave-hero{
    top:auto;
    bottom:14px;
    right:50%;
    transform:translateX(50%);
    flex-direction:row;
    gap:7px;
    padding:7px 10px;
  }

  .social-wave-hero .social-chip{
    --social-size:42px;
    margin-right:0 !important;
  }

  .social-wave-hero .social-label{
    left:50%;
    right:auto;
    top:auto;
    bottom:calc(100% + 9px);
    transform:translateX(-50%) translateY(6px);
  }

  .social-wave-hero .social-chip:hover .social-label,
  .social-wave-hero .social-chip:focus-visible .social-label{
    transform:translateX(-50%) translateY(0);
  }
}

@media(max-width:560px){
  .social-wave-hero{
    width:calc(100% - 20px);
    justify-content:center;
    border-radius:24px;
  }

  .social-wave-hero .social-chip{
    --social-size:38px;
  }

  .social-label{
    display:none;
  }

  .footer-social-wave{
    gap:9px;
  }
}

@media(prefers-reduced-motion:reduce){
  .social-wave-hero .social-chip,
  .footer-social-wave .social-chip{
    animation:none !important;
  }
}


/* =========================================================
   V61 — HOME FEATURE CARDS: CAMERA DEPTH POP
   Scope: ONLY the three featured cards on HOME:
   Steak a la Mexicana / Alambre / Pollo Loco.

   Visual story:
   cards begin deep inside the hero/background, then travel
   forward in Z-space toward the viewer/camera with cinematic
   depth, blur recovery and staggered timing.

   Existing mouse-guided motion remains active AFTER entrance.
   ========================================================= */

.overlap-card-grid{
  perspective:1250px;
  perspective-origin:50% 42%;
  transform-style:preserve-3d;
}

.overlap-card-grid .depth-pop-card{
  --pop-x:0px;
  --pop-delay:0ms;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}

/* stagger + slight directional origin */
.overlap-card-grid .depth-pop-card:nth-child(1){
  --pop-x:-34px;
  --pop-delay:30ms;
}
.overlap-card-grid .depth-pop-card:nth-child(2){
  --pop-x:0px;
  --pop-delay:170ms;
}
.overlap-card-grid .depth-pop-card:nth-child(3){
  --pop-x:34px;
  --pop-delay:310ms;
}

/* Before normal reveal fires, they feel buried inside background depth. */
.overlap-card-grid .depth-pop-card:not(.in){
  opacity:0;
  transform:
    perspective(1250px)
    translate3d(var(--pop-x),78px,-390px)
    scale(.70)
    rotateX(13deg)
    rotateY(0deg);
  filter:
    blur(11px)
    saturate(.78)
    brightness(.87);
}

/* Existing .reveal system triggers this class automatically via .in. */
.overlap-card-grid .depth-pop-card.in{
  opacity:1;
  animation:
    cardCameraDepthPop 1.18s cubic-bezier(.16,.82,.22,1)
    var(--pop-delay) backwards;
}

/* Image gets its own “focus coming toward camera” recovery. */
.overlap-card-grid .depth-pop-card.in .card-media{
  animation:
    cardMediaDepthFocus 1.12s cubic-bezier(.16,.82,.22,1)
    calc(var(--pop-delay) + 60ms) backwards;
}

/* Text rises a fraction after the image for dimensional presentation. */
.overlap-card-grid .depth-pop-card.in .card-body{
  animation:
    cardBodyDepthFollow .88s cubic-bezier(.2,.78,.22,1)
    calc(var(--pop-delay) + 190ms) backwards;
}

@keyframes cardCameraDepthPop{
  0%{
    opacity:0;
    transform:
      perspective(1250px)
      translate3d(var(--pop-x),82px,-410px)
      scale(.68)
      rotateX(14deg);
    filter:
      blur(12px)
      saturate(.72)
      brightness(.84);
  }

  38%{
    opacity:.72;
    transform:
      perspective(1250px)
      translate3d(calc(var(--pop-x) * .45),30px,-130px)
      scale(.88)
      rotateX(7deg);
    filter:
      blur(5px)
      saturate(.94)
      brightness(.94);
  }

  72%{
    opacity:1;
    transform:
      perspective(1250px)
      translate3d(0,-10px,48px)
      scale(1.035)
      rotateX(-1.6deg);
    filter:
      blur(0)
      saturate(1.08)
      brightness(1.035)
      drop-shadow(0 30px 42px rgba(65,45,71,.18));
  }

  88%{
    transform:
      perspective(1250px)
      translate3d(0,3px,-7px)
      scale(.993)
      rotateX(.45deg);
  }

  100%{
    opacity:1;
    transform:
      perspective(1250px)
      translate3d(0,0,0)
      scale(1)
      rotateX(0);
    filter:none;
  }
}

@keyframes cardMediaDepthFocus{
  0%{
    transform:translateZ(-80px) scale(.91);
    opacity:.46;
    filter:blur(8px) saturate(.82) brightness(.88);
    box-shadow:0 6px 14px rgba(63,45,67,.05);
  }

  66%{
    transform:translateZ(34px) scale(1.025);
    opacity:1;
    filter:blur(0) saturate(1.12) brightness(1.04);
    box-shadow:
      0 32px 64px rgba(63,45,67,.19),
      0 0 34px rgba(220,203,255,.13),
      inset 0 1px 0 rgba(255,255,255,.66);
  }

  100%{
    transform:translateZ(0) scale(1);
    opacity:1;
  }
}

@keyframes cardBodyDepthFollow{
  0%{
    opacity:0;
    transform:translate3d(0,18px,-40px);
    filter:blur(4px);
  }
  70%{
    opacity:1;
    transform:translate3d(0,-3px,8px);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

/* Mouse movement remains the active transform system once entrance ends. */
.overlap-card-grid .depth-pop-card.in:hover{
  filter:
    drop-shadow(0 30px 42px rgba(77,55,83,.18))
    saturate(1.03);
}

/* Mobile: same idea, shorter depth and gentler travel for performance. */
@media(max-width:719px){
  .overlap-card-grid .depth-pop-card:nth-child(n){
    --pop-x:0px;
  }

  .overlap-card-grid .depth-pop-card:not(.in){
    transform:
      perspective(900px)
      translate3d(0,46px,-220px)
      scale(.82)
      rotateX(8deg);
    filter:blur(6px) saturate(.84);
  }

  .overlap-card-grid .depth-pop-card.in{
    animation-duration:.92s;
  }
}

/* Accessibility: preserve layout and content without forced motion. */
@media(prefers-reduced-motion:reduce){
  .overlap-card-grid .depth-pop-card,
  .overlap-card-grid .depth-pop-card:not(.in),
  .overlap-card-grid .depth-pop-card.in,
  .overlap-card-grid .depth-pop-card.in .card-media,
  .overlap-card-grid .depth-pop-card.in .card-body{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* =========================================================
   V62 — CINEMATIC MEXICAN CTA / CORAL SUNSET
   Scope: ONLY the full-width dinner CTA on HOME.

   Architecture:
   LEFT   = message + explanation + CTA buttons
   CENTER = breathing room + animated light current
   RIGHT  = chili signature integrated into background
   BOTTOM = plum/gold transition toward the footer
   ========================================================= */

.dinner-cta-v62-section{
  position:relative;
  overflow:visible;
}

/* Main cinematic color field */
.dinner-cta-v62{
  --cta-coral:#FF806E;
  --cta-coral-deep:#F06B62;
  --cta-peach:#FFAE7B;
  --cta-pink:#EC84B7;
  --cta-violet:#B878D8;
  --cta-plum:#4A294F;
  --cta-plum-deep:#2E1835;
  --cta-gold:#F3C46A;
  --cta-cream:#FFF7F0;

  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:360px;
  border-radius:0 0 34px 34px !important;
  padding:
    clamp(34px,4.2vw,62px)
    clamp(26px,4.6vw,78px)
    clamp(42px,4.8vw,70px) !important;

  background:
    radial-gradient(circle at 14% 12%,rgba(255,191,136,.28),transparent 22rem),
    radial-gradient(circle at 72% 32%,rgba(249,144,192,.26),transparent 28rem),
    radial-gradient(circle at 88% 25%,rgba(199,130,229,.30),transparent 24rem),
    linear-gradient(
      112deg,
      #FF8B76 0%,
      #FF806E 28%,
      #EE7EA4 57%,
      #C47ED8 82%,
      #9B69C7 100%
    ) !important;

  border-top:1px solid rgba(255,255,255,.36) !important;
  border-bottom:0 !important;
  box-shadow:
    0 26px 60px rgba(81,48,91,.15),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Top sheen */
.dinner-cta-v62::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  height:auto !important;
  opacity:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.14),transparent 18%),
    linear-gradient(100deg,transparent 0 34%,rgba(255,255,255,.055) 47%,transparent 61%) !important;
  box-shadow:none !important;
}

/* Plum enters from below, visually connecting to footer */
.dinner-cta-v62::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  height:112px !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      180deg,
      rgba(74,41,79,0) 0%,
      rgba(74,41,79,.12) 34%,
      rgba(74,41,79,.40) 72%,
      rgba(46,24,53,.72) 100%
    ) !important;
  box-shadow:
    inset 0 -1px 0 rgba(243,196,106,.32) !important;
}

/* LEFT — clear commercial message */
.dinner-cta-v62 .dinner-cta-copy{
  position:relative;
  z-index:5;
  width:min(760px,58%) !important;
  max-width:760px;
}

.dinner-cta-v62 .dinner-cta-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#FFF5ED;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
  text-shadow:0 4px 12px rgba(89,42,85,.18);
}

.dinner-cta-v62 .dinner-cta-kicker::before{
  content:"";
  width:18px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#F3C46A,#FFF2C5);
  box-shadow:0 0 10px rgba(243,196,106,.34);
}

.dinner-cta-v62 .dinner-cta-copy h2{
  max-width:760px !important;
  margin:0 0 13px !important;
  color:#FFF7F2;
  font-family:'Manrope',sans-serif;
  font-size:clamp(2.6rem,5.25vw,5.9rem);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:650;
  text-wrap:balance;
  text-shadow:
    0 2px 0 rgba(255,255,255,.05),
    0 14px 32px rgba(70,36,77,.18);
}

.dinner-cta-v62 .dinner-cta-copy h2 span,
.dinner-cta-v62 .dinner-cta-copy h2 strong{
  display:block;
}

.dinner-cta-v62 .dinner-cta-copy h2 strong{
  color:#FFF8EF;
  font-weight:950;
}

.dinner-cta-v62 .dinner-cta-copy h2::after{
  content:"";
  display:block;
  width:min(230px,38%);
  height:3px;
  margin-top:15px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.84),
      #F3C46A 38%,
      #FFAE7B 65%,
      transparent
    ) !important;
  box-shadow:0 0 18px rgba(243,196,106,.18);
}

.dinner-cta-v62 .dinner-cta-copy p{
  margin:0;
  max-width:620px !important;
  color:rgba(255,248,244,.92);
  font-size:clamp(.95rem,1.13vw,1.13rem);
  line-height:1.65;
  font-weight:600;
  text-shadow:0 4px 14px rgba(77,36,79,.13);
}

/* Buttons — one commercial, one editorial */
.dinner-cta-v62 .dinner-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.dinner-cta-v62 .dinner-cta-actions .btn{
  min-height:50px;
  padding:0 23px;
  border-radius:16px;
  font-size:.92rem;
  font-weight:900;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    filter .24s ease;
}

.dinner-cta-primary{
  color:#FFF9F3 !important;
  border:1px solid rgba(255,215,145,.42) !important;
  background:
    linear-gradient(145deg,#D96043,#B94235) !important;
  box-shadow:
    0 14px 30px rgba(115,43,45,.22),
    inset 0 1px 0 rgba(255,255,255,.22),
    0 0 0 1px rgba(243,196,106,.08) !important;
}

.dinner-cta-secondary{
  color:#5A3C52 !important;
  border:1px solid rgba(243,196,106,.44) !important;
  background:
    linear-gradient(145deg,#FFF9F2,#F6EBDD) !important;
  box-shadow:
    0 12px 26px rgba(93,53,91,.12),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.dinner-cta-v62 .dinner-cta-actions .btn:hover{
  transform:translateY(-3px) scale(1.018);
  filter:brightness(1.035);
}

.dinner-cta-primary:hover{
  box-shadow:
    0 18px 36px rgba(115,43,45,.27),
    0 0 24px rgba(243,196,106,.12) !important;
}

.dinner-cta-secondary:hover{
  box-shadow:
    0 16px 32px rgba(93,53,91,.16),
    0 0 20px rgba(243,196,106,.11) !important;
}

/* CENTER — breathing room + flowing light current */
.dinner-cta-current{
  position:absolute;
  z-index:2;
  left:48%;
  right:22%;
  top:22%;
  bottom:18%;
  pointer-events:none;
}

.current-line{
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  border-radius:999px;
  transform-origin:left center;
  background:
    linear-gradient(90deg,transparent,#FFD88B 28%,rgba(255,255,255,.76) 52%,#C8E49A 72%,transparent);
  filter:drop-shadow(0 0 8px rgba(255,215,139,.22));
  opacity:.56;
}

.current-a{
  top:42%;
  transform:rotate(-8deg);
  animation:ctaCurrentFlowA 7.8s ease-in-out infinite;
}

.current-b{
  top:62%;
  width:82%;
  transform:rotate(7deg);
  opacity:.28;
  animation:ctaCurrentFlowB 8.8s ease-in-out infinite;
}

.current-light{
  position:absolute;
  top:49%;
  left:10%;
  width:74px;
  height:74px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,240,196,.36) 0%,
      rgba(255,208,126,.20) 32%,
      rgba(255,255,255,.06) 58%,
      transparent 72%);
  filter:blur(2px);
  animation:ctaCurrentGlow 7.8s ease-in-out infinite;
}

/* RIGHT — chili is a signature, not a separate floating card */
.dinner-flavor-story-v62{
  position:absolute;
  z-index:6;
  right:clamp(26px,4vw,72px);
  top:50%;
  width:min(315px,25vw);
  min-width:250px;
  transform:translateY(-50%);
  display:grid;
  grid-template-columns:104px 1fr;
  gap:14px;
  align-items:center;

  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.dinner-flavor-story-v62::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-26px -24px;
  border-radius:50%;
  background:
    radial-gradient(circle at 28% 52%,rgba(255,174,99,.20),transparent 42%),
    radial-gradient(circle at 64% 48%,rgba(147,76,167,.16),transparent 58%);
  filter:blur(12px);
}

.flavor-chili-wrap-v62{
  position:relative;
  width:104px;
  height:128px;
  display:grid;
  place-items:center;
}

.flavor-chili-wrap-v62::before{
  display:none !important;
}

.chili-halo{
  position:absolute;
  width:118px;
  height:118px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,214,113,.22),
      rgba(255,133,71,.12) 44%,
      transparent 72%);
  filter:blur(3px);
  animation:ctaChiliHalo 4.8s ease-in-out infinite;
}

.dinner-cta-v62 .flaming-chili{
  position:relative !important;
  width:94px !important;
  max-height:122px !important;
  transform:rotate(10deg);
  filter:
    drop-shadow(0 18px 26px rgba(105,41,32,.24))
    drop-shadow(0 0 20px rgba(255,187,74,.18));
  animation:ctaChiliSignature 5.2s ease-in-out infinite;
}

.flavor-story-copy-v62{
  min-width:0;
  padding-top:3px;
}

.flavor-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#F3C46A !important;
  font-size:.60rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.flavor-story-copy-v62 strong{
  display:block;
  margin-bottom:6px;
  color:#FFF8F0;
  font-size:clamp(.82rem,.95vw,.98rem);
  line-height:1.25;
  font-weight:950;
  text-shadow:0 5px 14px rgba(73,39,77,.18);
}

.flavor-story-copy-v62 > span:last-of-type{
  color:rgba(255,248,240,.82);
  font-size:clamp(.66rem,.73vw,.76rem);
  line-height:1.48;
  font-weight:650;
}

.flavor-story-copy-v62::after{
  width:96px !important;
  height:2px !important;
  margin-top:9px !important;
  background:
    linear-gradient(90deg,#F3C46A,#FF8F68,#9CCF89,transparent) !important;
  box-shadow:0 0 10px rgba(243,196,106,.12);
}

/* Remove old cactus/MX decoration from this CTA only */
.dinner-cta-v62 .flavor-icons{
  display:none !important;
}

/* Tiny signature accent in lower-right */
.dinner-cta-signature{
  position:absolute;
  z-index:4;
  right:clamp(24px,3.8vw,68px);
  bottom:20px;
  display:flex;
  align-items:center;
  gap:7px;
  color:rgba(243,196,106,.72);
  pointer-events:none;
}

.dinner-cta-signature .sig-line{
  width:62px;
  height:1px;
  background:linear-gradient(90deg,rgba(243,196,106,.74),transparent);
}

.dinner-cta-signature .sig-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#F3C46A;
  box-shadow:0 0 8px rgba(243,196,106,.28);
}

/* Motion */
@keyframes ctaCurrentFlowA{
  0%,100%{transform:translateX(-2%) rotate(-8deg) scaleX(.92);opacity:.30}
  45%{transform:translateX(5%) rotate(-4deg) scaleX(1.05);opacity:.68}
  70%{transform:translateX(1%) rotate(-10deg) scaleX(.98);opacity:.46}
}

@keyframes ctaCurrentFlowB{
  0%,100%{transform:translateX(8%) rotate(7deg) scaleX(.88);opacity:.18}
  50%{transform:translateX(-2%) rotate(3deg) scaleX(1.04);opacity:.40}
}

@keyframes ctaCurrentGlow{
  0%,100%{transform:translate3d(0,0,0) scale(.84);opacity:.28}
  50%{transform:translate3d(180px,-14px,0) scale(1.18);opacity:.64}
}

@keyframes ctaChiliSignature{
  0%,100%{transform:translateY(0) rotate(10deg) scale(1)}
  50%{transform:translateY(-8px) rotate(6deg) scale(1.028)}
}

@keyframes ctaChiliHalo{
  0%,100%{transform:scale(.88);opacity:.34}
  50%{transform:scale(1.12);opacity:.72}
}

/* Tablet */
@media(max-width:1050px){
  .dinner-cta-v62{
    min-height:330px;
  }

  .dinner-cta-v62 .dinner-cta-copy{
    width:calc(100% - 260px) !important;
  }

  .dinner-cta-current{
    left:52%;
    right:24%;
  }

  .dinner-flavor-story-v62{
    right:14px;
    width:230px;
    min-width:230px;
    grid-template-columns:82px 1fr;
    gap:9px;
  }

  .flavor-chili-wrap-v62{
    width:82px;
    height:105px;
  }

  .dinner-cta-v62 .flaming-chili{
    width:76px !important;
  }
}

/* Mobile: maintain hierarchy, stack naturally */
@media(max-width:760px){
  .dinner-cta-v62{
    min-height:unset;
    padding:32px 18px 104px !important;
    border-radius:0 0 24px 24px !important;
  }

  .dinner-cta-v62 .dinner-cta-copy{
    width:100% !important;
    max-width:none;
  }

  .dinner-cta-v62 .dinner-cta-copy h2{
    font-size:clamp(2.35rem,11vw,4rem);
    max-width:11ch !important;
  }

  .dinner-cta-v62 .dinner-cta-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .dinner-cta-current{
    left:22%;
    right:22%;
    top:auto;
    bottom:66px;
    height:45px;
  }

  .current-b,
  .current-light{
    display:none;
  }

  .dinner-flavor-story-v62{
    right:15px;
    top:auto;
    bottom:12px;
    width:155px;
    min-width:155px;
    transform:none;
    grid-template-columns:60px 1fr;
    gap:7px;
  }

  .flavor-chili-wrap-v62{
    width:60px;
    height:78px;
  }

  .dinner-cta-v62 .flaming-chili{
    width:56px !important;
  }

  .flavor-story-copy-v62 strong{
    font-size:.66rem;
  }

  .flavor-story-copy-v62 > span:last-of-type,
  .flavor-eyebrow{
    display:none !important;
  }

  .dinner-cta-signature{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .current-a,
  .current-b,
  .current-light,
  .dinner-cta-v62 .flaming-chili,
  .chili-halo{
    animation:none !important;
  }
}


/* =========================================================
   V64 — CTA AS A SECOND BACKGROUND
   IMPORTANT:
   - Based on V62 so the decoration returns to its V62 positions.
   - The coral "bar" is no longer treated like a floating bar/card.
   - It now becomes a SECOND BACKGROUND covering the full CTA tab.
   - Its COLOR stays solid.
   - What fades is the LAYER ITSELF at its edges, not the coral color.
   ========================================================= */

/* The complete CTA section becomes the canvas */
.dinner-cta-v62-section{
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:-18px !important;
  padding:0 !important;
  overflow:hidden !important;
  isolation:isolate;
}

/* SOLID CORAL SECOND BACKGROUND.
   The center is fully solid; only the physical layer becomes clearer
   near the outside edges. It never disappears completely. */
.dinner-cta-v62-section::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;

  /* SOLID color — no color gradient */
  background:#FF806E;

  /* Fade the BAR/LAYER itself, not its color */
  opacity:1;
  -webkit-mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.30) 0%,
      rgba(0,0,0,.62) 7%,
      rgba(0,0,0,.94) 16%,
      #000 27%,
      #000 76%,
      rgba(0,0,0,.94) 86%,
      rgba(0,0,0,.60) 94%,
      rgba(0,0,0,.28) 100%
    );
  mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.30) 0%,
      rgba(0,0,0,.62) 7%,
      rgba(0,0,0,.94) 16%,
      #000 27%,
      #000 76%,
      rgba(0,0,0,.94) 86%,
      rgba(0,0,0,.60) 94%,
      rgba(0,0,0,.28) 100%
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(255,255,255,.08);
}

/* A very soft lateral clear fade helps it feel embedded in the section,
   without changing the solid coral center. */
.dinner-cta-v62-section::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.055) 0%,
      rgba(255,255,255,.015) 12%,
      rgba(255,255,255,0) 26%,
      rgba(255,255,255,0) 74%,
      rgba(255,255,255,.018) 88%,
      rgba(255,255,255,.055) 100%
    );
}

/* Make the inner wrap fill the entire section. */
.dinner-cta-v62-section .dinner-cta-wrap{
  position:relative;
  z-index:2;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  min-height:100%;
}

/* The old "bar" itself is now transparent:
   all content/decor stays in the same V62 place,
   while the new section background supplies the solid coral field. */
.dinner-cta-v62-section .dinner-cta-v62{
  width:100% !important;
  min-height:390px !important;
  margin:0 !important;
  border-radius:0 !important;

  background:transparent !important;
  border:0 !important;

  box-shadow:none !important;

  padding:
    clamp(34px,4.2vw,62px)
    clamp(26px,4.6vw,78px)
    clamp(42px,4.8vw,70px) !important;
}

/* Preserve the V62 top decorative sheen exactly in-place.
   It now sits over the solid coral second-background layer. */
.dinner-cta-v62-section .dinner-cta-v62::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:1 !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.13) 0%,
      rgba(255,255,255,.045) 16%,
      rgba(255,255,255,0) 34%
    ),
    linear-gradient(
      100deg,
      transparent 0 34%,
      rgba(255,255,255,.048) 47%,
      transparent 61%
    ) !important;
}

/* Remove only the V62 plum recolor at the bottom.
   The user's request is a SOLID coral second background. */
.dinner-cta-v62-section .dinner-cta-v62::after{
  content:none !important;
  display:none !important;
}

/* Keep all actual architecture and decoration on top. */
.dinner-cta-v62-section .dinner-cta-copy,
.dinner-cta-v62-section .dinner-cta-current,
.dinner-cta-v62-section .dinner-flavor-story-v62,
.dinner-cta-v62-section .dinner-cta-signature{
  z-index:5;
}

/* The light-current stays in the original V62 location.
   Do NOT stretch or move it like V63 did. */
.dinner-cta-v62-section .dinner-cta-current{
  left:48% !important;
  right:22% !important;
  top:22% !important;
  bottom:18% !important;
}

/* Slight transparent perimeter glow: this is the "diluted bar" illusion. */
.dinner-cta-v62-section .dinner-cta-wrap::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;

  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(255,255,255,.11),
      transparent 48%
    ),
    radial-gradient(
      ellipse at 50% 100%,
      rgba(255,255,255,.055),
      transparent 50%
    );

  opacity:.75;
}

/* MOBILE — still a full second background, not a floating bar */
@media(max-width:760px){
  .dinner-cta-v62-section{
    margin-top:-8px !important;
  }

  .dinner-cta-v62-section .dinner-cta-v62{
    min-height:unset !important;
    padding:32px 18px 104px !important;
    border-radius:0 !important;
  }

  .dinner-cta-v62-section::before{
    -webkit-mask-image:
      linear-gradient(
        180deg,
        rgba(0,0,0,.42) 0%,
        rgba(0,0,0,.88) 10%,
        #000 22%,
        #000 78%,
        rgba(0,0,0,.88) 90%,
        rgba(0,0,0,.42) 100%
      );
    mask-image:
      linear-gradient(
        180deg,
        rgba(0,0,0,.42) 0%,
        rgba(0,0,0,.88) 10%,
        #000 22%,
        #000 78%,
        rgba(0,0,0,.88) 90%,
        rgba(0,0,0,.42) 100%
      );
  }

  /* Mobile uses the original V62 placement rules. */
  .dinner-cta-v62-section .dinner-cta-current{
    left:22% !important;
    right:22% !important;
    top:auto !important;
    bottom:66px !important;
    height:45px !important;
  }
}


/* =========================================================
   V65 — CTA PICTURE-IN-PICTURE BLEND
   Purpose:
   - Keep the V64 CTA architecture
   - Add a main decorative image integrated into the whole tab
   - Add a second inset from that same image
   - Avoid rectangles / column look
   - Make the image feel fused into the CTA through feathering and transparency
   ========================================================= */

.dinner-cta-v62{
  overflow:hidden;
  isolation:isolate;
}

.dinner-cta-v62 .cta-pip-stage{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}

/* Main blended visual across the CTA environment */
.dinner-cta-v62 .cta-pip-main{
  position:absolute;
  right:-2.5%;
  top:-7%;
  width:min(54vw,900px);
  height:124%;
  background-image:url("images/decor/cta-fresh-billboard-blend.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  opacity:.58;
  transform:rotate(-1.75deg) scale(1.03);
  clip-path:ellipse(42% 57% at 76% 50%);
  filter:saturate(1.08) contrast(1.04);
}

.dinner-cta-v62 .cta-pip-main::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(255,128,110,1) 0%,
      rgba(255,128,110,.96) 12%,
      rgba(255,128,110,.84) 24%,
      rgba(255,128,110,.52) 36%,
      rgba(255,128,110,.16) 49%,
      rgba(255,128,110,0) 61%
    ),
    linear-gradient(
      180deg,
      rgba(255,128,110,.18) 0%,
      rgba(255,128,110,0) 20%,
      rgba(255,128,110,0) 80%,
      rgba(255,128,110,.10) 100%
    ),
    radial-gradient(
      circle at 84% 50%,
      rgba(255,255,255,.08),
      transparent 48%
    );
}

.dinner-cta-v62 .cta-pip-main::after{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(circle at 70% 42%, rgba(255,217,136,.16), transparent 28%),
    radial-gradient(circle at 66% 72%, rgba(147,76,167,.16), transparent 34%);
  filter:blur(18px);
  opacity:.9;
}

/* Secondary decorative inset from the same source image */
.dinner-cta-v62 .cta-pip-inset{
  position:absolute;
  left:58%;
  top:56%;
  width:min(270px,18vw);
  aspect-ratio:1.02;
  background-image:url("images/decor/cta-fresh-billboard-blend.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:58% 50%;
  opacity:.92;
  transform:translate(-18%,-50%) rotate(-6deg);
  clip-path:polygon(18% 7%, 75% 0, 100% 33%, 90% 82%, 36% 100%, 0 58%, 4% 18%);
  border:1.4px solid rgba(244,195,94,.68);
  box-shadow:
    0 18px 34px rgba(89,34,48,.22),
    inset 0 0 0 1px rgba(255,255,255,.16);
  filter:saturate(1.06) contrast(1.02);
}

.dinner-cta-v62 .cta-pip-inset::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 76% 88%, rgba(255,128,110,.18), transparent 34%);
}

.dinner-cta-v62 .cta-pip-inset::after{
  content:"";
  position:absolute;
  inset:-12px;
  border:1px dashed rgba(244,195,94,.34);
  border-radius:55% 45% 58% 42% / 45% 56% 44% 55%;
  opacity:.75;
  transform:rotate(5deg);
}

/* Keep existing CTA content above the visuals */
.dinner-cta-v62 .dinner-cta-copy,
.dinner-cta-v62 .dinner-cta-current,
.dinner-cta-v62 .dinner-flavor-story-v62,
.dinner-cta-v62 .dinner-cta-signature{
  position:relative;
  z-index:6;
}

/* Slight nudge so the existing right-side chili story coexists better */
.dinner-cta-v62 .dinner-flavor-story-v62{
  right:clamp(18px,2.4vw,42px);
}

@media(max-width:1200px){
  .dinner-cta-v62 .cta-pip-main{
    width:min(58vw,760px);
    opacity:.54;
  }

  .dinner-cta-v62 .cta-pip-inset{
    left:56%;
    width:min(240px,20vw);
  }
}

@media(max-width:980px){
  .dinner-cta-v62 .cta-pip-main{
    right:-8%;
    width:min(70vw,700px);
    clip-path:ellipse(46% 58% at 76% 50%);
    opacity:.48;
  }

  .dinner-cta-v62 .cta-pip-inset{
    left:54%;
    top:62%;
    width:min(205px,22vw);
    transform:translate(-18%,-50%) rotate(-5deg);
  }
}

@media(max-width:760px){
  .dinner-cta-v62 .cta-pip-main{
    right:-22%;
    top:auto;
    bottom:-12%;
    width:92%;
    height:72%;
    opacity:.34;
    transform:rotate(-1deg) scale(1.02);
    clip-path:ellipse(50% 56% at 76% 52%);
  }

  .dinner-cta-v62 .cta-pip-inset{
    left:auto;
    right:16px;
    top:auto;
    bottom:126px;
    width:120px;
    transform:rotate(-4deg);
    opacity:.88;
  }

  .dinner-cta-v62 .cta-pip-inset::after{
    inset:-7px;
  }
}


/* =========================================================
   V66 — CTA STRATEGIC PIP PLACEMENT + SOFTER TRANSPARENCY
   Intent:
   - Keep V65 composition
   - Move decorative inset to a more strategic place
   - Make the main integrated image more transparent
   - Do not alter the overall CTA architecture
   ========================================================= */

.dinner-cta-v62 .cta-pip-main{
  right:-1.8%;
  top:-5%;
  width:min(52vw,860px);
  height:120%;
  opacity:.42;
  transform:rotate(-1.35deg) scale(1.01);
  clip-path:ellipse(39% 58% at 82% 50%);
}

.dinner-cta-v62 .cta-pip-main::before{
  background:
    linear-gradient(
      90deg,
      rgba(245,134,115,1) 0%,
      rgba(245,134,115,.98) 16%,
      rgba(245,134,115,.88) 29%,
      rgba(245,134,115,.62) 41%,
      rgba(245,134,115,.30) 52%,
      rgba(245,134,115,.08) 62%,
      rgba(245,134,115,0) 72%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(245,134,115,0) 20%,
      rgba(245,134,115,0) 82%,
      rgba(245,134,115,.10) 100%
    ),
    radial-gradient(
      circle at 84% 48%,
      rgba(255,250,240,.10),
      transparent 50%
    );
}

.dinner-cta-v62 .cta-pip-main::after{
  opacity:.72;
  filter:blur(22px);
}

/* Reposition the inset away from the text/buttons into a cleaner strategic zone
   between the content block and the blended main visual. */
.dinner-cta-v62 .cta-pip-inset{
  left:auto;
  right:clamp(240px,25vw,420px);
  top:58%;
  width:min(215px,14vw);
  opacity:.88;
  transform:translateY(-50%) rotate(-7deg);
  z-index:4;
}

.dinner-cta-v62 .cta-pip-inset::after{
  opacity:.56;
}

/* On medium screens keep it near the visual bridge zone */
@media(max-width:1200px){
  .dinner-cta-v62 .cta-pip-main{
    width:min(56vw,760px);
    opacity:.38;
  }

  .dinner-cta-v62 .cta-pip-inset{
    right:clamp(180px,22vw,310px);
    top:60%;
    width:min(190px,17vw);
  }
}

@media(max-width:980px){
  .dinner-cta-v62 .cta-pip-main{
    right:-7%;
    width:min(68vw,700px);
    opacity:.34;
    clip-path:ellipse(44% 58% at 79% 50%);
  }

  .dinner-cta-v62 .cta-pip-inset{
    right:clamp(94px,18vw,180px);
    top:66%;
    width:min(165px,20vw);
  }
}

@media(max-width:760px){
  .dinner-cta-v62 .cta-pip-main{
    right:-18%;
    bottom:-10%;
    width:92%;
    height:70%;
    opacity:.28;
  }

  .dinner-cta-v62 .cta-pip-inset{
    right:18px;
    bottom:118px;
    top:auto;
    width:108px;
    opacity:.82;
    transform:rotate(-5deg);
  }
}


/* =========================================================
   V67 — CTA DECOR RECOMPOSED
   FIXES THE ACTUAL VISUAL PROBLEM SEEN IN V66:
   - move decorative inset completely out of the center
   - move chili story away from buttons/text
   - keep all decoration in a clean RIGHT-SIDE visual cluster
   - make the coral CTA layer truly more transparent
   - preserve headline / buttons / V64 second-background architecture
   ========================================================= */

/* 1) Make the CTA "second background" genuinely more transparent.
   Color remains coral, but the layer lets the page atmosphere show through. */
.dinner-cta-v62-section::before{
  background:rgba(255,128,110,.72) !important;
  opacity:1 !important;

  -webkit-mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.34) 0%,
      rgba(0,0,0,.68) 8%,
      rgba(0,0,0,.93) 18%,
      #000 30%,
      #000 72%,
      rgba(0,0,0,.92) 84%,
      rgba(0,0,0,.64) 94%,
      rgba(0,0,0,.30) 100%
    ) !important;
  mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.34) 0%,
      rgba(0,0,0,.68) 8%,
      rgba(0,0,0,.93) 18%,
      #000 30%,
      #000 72%,
      rgba(0,0,0,.92) 84%,
      rgba(0,0,0,.64) 94%,
      rgba(0,0,0,.30) 100%
    ) !important;
}

/* 2) Keep copy readable and give the right side to decoration. */
.dinner-cta-v62 .dinner-cta-copy{
  width:min(690px,52%) !important;
  max-width:690px !important;
  position:relative !important;
  z-index:10 !important;
}

/* 3) Main blended image stays right and becomes softer, not intrusive. */
.dinner-cta-v62 .cta-pip-main{
  right:-4% !important;
  top:-3% !important;
  width:min(49vw,820px) !important;
  height:112% !important;
  opacity:.34 !important;
  transform:rotate(-1deg) scale(1.01) !important;
  clip-path:ellipse(43% 60% at 79% 50%) !important;
}

/* Stronger feather so it appears to emerge FROM the CTA background. */
.dinner-cta-v62 .cta-pip-main::before{
  background:
    linear-gradient(
      90deg,
      rgba(255,128,110,1) 0%,
      rgba(255,128,110,.99) 18%,
      rgba(255,128,110,.92) 31%,
      rgba(255,128,110,.70) 42%,
      rgba(255,128,110,.38) 53%,
      rgba(255,128,110,.12) 64%,
      rgba(255,128,110,0) 75%
    ),
    linear-gradient(
      180deg,
      rgba(255,128,110,.14) 0%,
      rgba(255,128,110,0) 22%,
      rgba(255,128,110,0) 78%,
      rgba(255,128,110,.14) 100%
    ) !important;
}

/* 4) MOVE inset into the RIGHT image cluster.
   It is now a detail/magnifier embedded in the main visual,
   not a random object in the center of the CTA. */
.dinner-cta-v62 .cta-pip-inset{
  left:auto !important;
  right:5.5% !important;
  top:auto !important;
  bottom:8% !important;

  width:min(178px,11.5vw) !important;
  aspect-ratio:1.02 !important;
  opacity:.88 !important;

  transform:rotate(6deg) !important;
  z-index:8 !important;

  clip-path:polygon(
    50% 0%,
    79% 8%,
    97% 32%,
    93% 67%,
    72% 94%,
    36% 100%,
    9% 79%,
    0% 45%,
    17% 14%
  ) !important;

  border:1px solid rgba(244,195,94,.55) !important;
  box-shadow:
    0 14px 30px rgba(91,43,61,.18),
    0 0 18px rgba(244,195,94,.08) !important;
}

.dinner-cta-v62 .cta-pip-inset::after{
  inset:-8px !important;
  opacity:.38 !important;
  border-color:rgba(244,195,94,.30) !important;
}

/* 5) The chili story is the decoration that was colliding with the buttons.
   Put it deliberately in the upper-right visual zone. */
.dinner-cta-v62 .dinner-flavor-story-v62{
  position:absolute !important;

  left:auto !important;
  right:7.2% !important;
  top:13% !important;
  bottom:auto !important;

  width:260px !important;
  min-width:0 !important;

  transform:none !important;

  display:grid !important;
  grid-template-columns:78px 1fr !important;
  gap:10px !important;
  align-items:center !important;

  padding:10px 12px !important;
  border-radius:24px !important;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.035)
    ) !important;

  border:1px solid rgba(255,255,255,.12) !important;

  box-shadow:
    0 14px 30px rgba(81,47,89,.10),
    inset 0 1px 0 rgba(255,255,255,.11) !important;

  backdrop-filter:blur(7px) !important;

  z-index:11 !important;
}

.dinner-cta-v62 .dinner-flavor-story-v62::before{
  inset:-16px !important;
  opacity:.62 !important;
}

.dinner-cta-v62 .flavor-chili-wrap-v62{
  width:74px !important;
  height:90px !important;
}

.dinner-cta-v62 .chili-halo{
  width:82px !important;
  height:82px !important;
}

.dinner-cta-v62 .flaming-chili{
  width:69px !important;
  max-height:88px !important;
}

.dinner-cta-v62 .flavor-eyebrow{
  font-size:.54rem !important;
  margin-bottom:4px !important;
}

.dinner-cta-v62 .flavor-story-copy-v62 strong{
  font-size:.78rem !important;
  line-height:1.2 !important;
}

.dinner-cta-v62 .flavor-story-copy-v62 > span:last-of-type{
  font-size:.62rem !important;
  line-height:1.36 !important;
}

/* 6) Buttons stay in their own clear zone */
.dinner-cta-v62 .dinner-cta-actions{
  position:relative !important;
  z-index:12 !important;
  margin-top:22px !important;
}

/* 7) Current-light line passes BEHIND content and decor */
.dinner-cta-v62 .dinner-cta-current{
  z-index:3 !important;
}

/* Desktop composition balance */
@media(min-width:1201px){
  .dinner-cta-v62{
    min-height:390px !important;
  }
}

/* Tablet: keep decorations in right zone without touching copy */
@media(max-width:1200px) and (min-width:981px){
  .dinner-cta-v62 .dinner-cta-copy{
    width:min(620px,56%) !important;
  }

  .dinner-cta-v62 .dinner-flavor-story-v62{
    right:3.5% !important;
    top:10% !important;
    width:225px !important;
  }

  .dinner-cta-v62 .cta-pip-inset{
    right:4% !important;
    bottom:7% !important;
    width:145px !important;
  }
}

/* Smaller tablet: inset joins image edge; flavor story remains above it. */
@media(max-width:980px) and (min-width:761px){
  .dinner-cta-v62 .dinner-cta-copy{
    width:min(560px,58%) !important;
  }

  .dinner-cta-v62 .dinner-flavor-story-v62{
    right:2.5% !important;
    top:9% !important;
    width:205px !important;
    grid-template-columns:64px 1fr !important;
  }

  .dinner-cta-v62 .cta-pip-inset{
    right:3.5% !important;
    bottom:7% !important;
    width:125px !important;
  }
}

/* Mobile: no collisions. Visuals become quiet background accents. */
@media(max-width:760px){
  .dinner-cta-v62 .dinner-cta-copy{
    width:100% !important;
    max-width:none !important;
  }

  .dinner-cta-v62 .cta-pip-main{
    right:-30% !important;
    bottom:-10% !important;
    top:auto !important;
    width:100% !important;
    height:68% !important;
    opacity:.22 !important;
  }

  .dinner-cta-v62 .cta-pip-inset{
    right:12px !important;
    bottom:96px !important;
    width:88px !important;
    opacity:.70 !important;
  }

  .dinner-cta-v62 .dinner-flavor-story-v62{
    right:12px !important;
    top:auto !important;
    bottom:10px !important;
    width:145px !important;
    padding:7px 8px !important;
    grid-template-columns:48px 1fr !important;
  }

  .dinner-cta-v62 .flavor-chili-wrap-v62{
    width:46px !important;
    height:58px !important;
  }

  .dinner-cta-v62 .flaming-chili{
    width:43px !important;
  }

  .dinner-cta-v62 .flavor-story-copy-v62 > span:last-of-type{
    display:none !important;
  }
}


/* =========================================================
   V68 — CTA SIGN OVERLAP + CHILI FRONT LAYER
   User-requested corrections:
   1) Pull the sign inset OUT of the background image.
   2) Enlarge it.
   3) Place it straddling the edge of the background image:
      roughly half outside / half inside.
   4) Remove the chili/text glass box entirely.
   5) Put chili + text IN FRONT of the sign inset.
   6) Make the coral second-background layer more transparent.
   ========================================================= */

/* More invisible second-background layer, while keeping the coral identity */
.dinner-cta-v62-section::before{
  background:rgba(255,128,110,.48) !important;

  -webkit-mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.22) 0%,
      rgba(0,0,0,.46) 8%,
      rgba(0,0,0,.72) 20%,
      rgba(0,0,0,.82) 34%,
      rgba(0,0,0,.82) 70%,
      rgba(0,0,0,.68) 84%,
      rgba(0,0,0,.42) 94%,
      rgba(0,0,0,.20) 100%
    ) !important;
  mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.22) 0%,
      rgba(0,0,0,.46) 8%,
      rgba(0,0,0,.72) 20%,
      rgba(0,0,0,.82) 34%,
      rgba(0,0,0,.82) 70%,
      rgba(0,0,0,.68) 84%,
      rgba(0,0,0,.42) 94%,
      rgba(0,0,0,.20) 100%
    ) !important;
}

/* Main background picture remains on the right, but softer */
.dinner-cta-v62 .cta-pip-main{
  right:-4% !important;
  top:-2% !important;
  width:min(49vw,820px) !important;
  height:108% !important;
  opacity:.27 !important;
  clip-path:ellipse(44% 59% at 80% 50%) !important;
}

/* SIGN inset:
   It now lives exactly on the boundary between coral and the main visual.
   Its center sits at the visual boundary so half projects OUT and half IN. */
.dinner-cta-v62 .cta-pip-inset{
  left:55.5% !important;
  right:auto !important;

  top:61% !important;
  bottom:auto !important;

  width:min(320px,18vw) !important;
  aspect-ratio:1.08 !important;

  opacity:.96 !important;
  transform:translate(-50%,-50%) rotate(-4deg) !important;

  z-index:9 !important;

  background-size:190% auto !important;
  background-position:48% 55% !important;

  clip-path:polygon(
    15% 5%,
    80% 2%,
    98% 25%,
    94% 75%,
    74% 96%,
    30% 100%,
    4% 76%,
    0 32%
  ) !important;

  border:1.5px solid rgba(244,195,94,.62) !important;

  box-shadow:
    0 20px 40px rgba(92,44,60,.22),
    0 0 26px rgba(244,195,94,.10),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Softer decorative ring around the sign */
.dinner-cta-v62 .cta-pip-inset::after{
  inset:-10px !important;
  opacity:.30 !important;
  border-color:rgba(244,195,94,.26) !important;
}

/* Remove any old highlight layer that makes inset feel boxed */
.dinner-cta-v62 .cta-pip-inset::before{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.16),
      rgba(255,255,255,0) 38%
    ) !important;
}

/* CHILI + TEXT:
   no glass card, no border, no box.
   It sits in FRONT of the sign image as a free-floating editorial layer. */
.dinner-cta-v62 .dinner-flavor-story-v62{
  left:57.2% !important;
  right:auto !important;

  top:36% !important;
  bottom:auto !important;

  width:250px !important;
  min-width:0 !important;

  transform:translate(-18%,-50%) !important;

  display:grid !important;
  grid-template-columns:78px 1fr !important;
  gap:10px !important;
  align-items:center !important;

  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;

  z-index:12 !important;
}

/* Kill the old ambient "card" halo */
.dinner-cta-v62 .dinner-flavor-story-v62::before{
  content:"" !important;
  inset:-12px !important;
  background:
    radial-gradient(
      circle at 34% 50%,
      rgba(255,176,94,.14),
      transparent 44%
    ) !important;
  filter:blur(10px) !important;
  opacity:.58 !important;
}

/* Chili grows slightly so it reads as the leading visual */
.dinner-cta-v62 .flavor-chili-wrap-v62{
  width:82px !important;
  height:102px !important;
}

.dinner-cta-v62 .chili-halo{
  width:90px !important;
  height:90px !important;
}

.dinner-cta-v62 .flaming-chili{
  width:76px !important;
  max-height:98px !important;
  filter:
    drop-shadow(0 16px 24px rgba(105,41,32,.24))
    drop-shadow(0 0 18px rgba(255,187,74,.20)) !important;
}

/* Text becomes readable directly over the sign image */
.dinner-cta-v62 .flavor-eyebrow{
  color:#FFD76A !important;
  font-size:.56rem !important;
  text-shadow:
    0 1px 4px rgba(44,19,31,.58),
    0 0 8px rgba(255,192,87,.16) !important;
}

.dinner-cta-v62 .flavor-story-copy-v62 strong{
  color:#FFF8EF !important;
  font-size:.80rem !important;
  line-height:1.2 !important;
  text-shadow:
    0 2px 7px rgba(37,17,28,.66),
    0 0 10px rgba(37,17,28,.28) !important;
}

.dinner-cta-v62 .flavor-story-copy-v62 > span:last-of-type{
  color:rgba(255,249,242,.90) !important;
  font-size:.62rem !important;
  line-height:1.38 !important;
  text-shadow:
    0 2px 7px rgba(37,17,28,.62) !important;
}

/* Small accent line remains free-floating */
.dinner-cta-v62 .flavor-story-copy-v62::after{
  background:
    linear-gradient(
      90deg,
      #FFD36B,
      #FF9472,
      rgba(255,255,255,.28),
      transparent
    ) !important;
}

/* Keep copy/buttons protected on the left */
.dinner-cta-v62 .dinner-cta-copy{
  width:min(690px,51%) !important;
  max-width:690px !important;
  z-index:14 !important;
}

.dinner-cta-v62 .dinner-cta-actions{
  z-index:15 !important;
}

/* Light-current stays behind all visuals */
.dinner-cta-v62 .dinner-cta-current{
  z-index:3 !important;
}

/* Tablet adjustments */
@media(max-width:1200px) and (min-width:981px){
  .dinner-cta-v62 .cta-pip-inset{
    left:57% !important;
    width:min(270px,21vw) !important;
  }

  .dinner-cta-v62 .dinner-flavor-story-v62{
    left:59% !important;
    top:35% !important;
    width:220px !important;
  }
}

@media(max-width:980px) and (min-width:761px){
  .dinner-cta-v62 .cta-pip-inset{
    left:61% !important;
    top:64% !important;
    width:min(225px,24vw) !important;
  }

  .dinner-cta-v62 .dinner-flavor-story-v62{
    left:61% !important;
    top:37% !important;
    width:195px !important;
    grid-template-columns:62px 1fr !important;
  }

  .dinner-cta-v62 .flavor-chili-wrap-v62{
    width:62px !important;
    height:80px !important;
  }

  .dinner-cta-v62 .flaming-chili{
    width:58px !important;
  }
}

/* Mobile: no collision, sign stays partially on/off the image boundary */
@media(max-width:760px){
  .dinner-cta-v62 .cta-pip-main{
    right:-26% !important;
    width:96% !important;
    height:66% !important;
    opacity:.20 !important;
  }

  .dinner-cta-v62 .cta-pip-inset{
    left:auto !important;
    right:18px !important;
    top:auto !important;
    bottom:84px !important;

    width:118px !important;
    opacity:.84 !important;
    transform:rotate(-4deg) !important;
  }

  .dinner-cta-v62 .dinner-flavor-story-v62{
    left:auto !important;
    right:10px !important;
    top:auto !important;
    bottom:12px !important;

    width:150px !important;
    transform:none !important;
    grid-template-columns:50px 1fr !important;
  }

  .dinner-cta-v62 .flavor-chili-wrap-v62{
    width:48px !important;
    height:62px !important;
  }

  .dinner-cta-v62 .flaming-chili{
    width:45px !important;
  }

  .dinner-cta-v62 .flavor-story-copy-v62 > span:last-of-type{
    display:none !important;
  }
}


/* =========================================================
   V69 — FULL MENU BOOK INTEGRATION
   Scope: menu.html only. Existing header, page hero, filters,
   quick menu cards, social icons and footer remain intact.
   ========================================================= */

.menu-book-section{
  position:relative;
  padding-top:28px;
  padding-bottom:34px;
}

.menu-book-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:22px;
}

.menu-book-heading > div:first-child{
  max-width:780px;
}

.menu-book-heading h2{
  margin:6px 0 10px;
  max-width:760px;
  font:800 clamp(2rem,4vw,4.2rem)/.96 'Manrope',system-ui,sans-serif;
  letter-spacing:-.045em;
  color:#312B35;
}

.menu-book-heading p{
  margin:0;
  max-width:720px;
  color:var(--muted);
  line-height:1.72;
}

.menu-book-order-btn{
  white-space:nowrap;
  color:#fff !important;
  background:linear-gradient(135deg,#E76550,#BF4538) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:
    0 18px 36px rgba(150,69,63,.18),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.menu-book-shell{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.76);
  background:
    radial-gradient(circle at 10% 10%,rgba(221,206,255,.48),transparent 24rem),
    radial-gradient(circle at 92% 15%,rgba(255,206,185,.44),transparent 26rem),
    radial-gradient(circle at 50% 100%,rgba(227,242,198,.42),transparent 29rem),
    rgba(255,250,246,.78);
  box-shadow:
    0 28px 70px rgba(72,55,79,.12),
    inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(12px);
}

.menu-book-toolbar{
  position:relative;
  z-index:8;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  padding:15px 18px 0;
}

.menu-book-nav{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.84);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:#493D4E;
  font-size:1.85rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(59,46,66,.10);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.menu-book-nav:hover,
.menu-book-nav:focus-visible{
  transform:translateY(-2px) scale(1.04);
  background:#fff;
  box-shadow:0 14px 30px rgba(59,46,66,.15);
}

.menu-book-status{
  min-width:144px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.66);
  color:#6A5B6D;
  font-size:.78rem;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.66);
}

.menu-book-status strong{
  color:#D45145;
  font-size:1rem;
}

.menu-book-stage{
  position:relative;
  min-height:760px;
  display:grid;
  place-items:center;
  padding:22px 24px 28px;
  perspective:1500px;
}

.menu-book-ambient{
  position:absolute;
  inset:8% 8% 5%;
  border-radius:45%;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.64),rgba(255,255,255,.18) 46%,transparent 74%),
    radial-gradient(circle at 55% 80%,rgba(240,194,112,.14),transparent 44%);
  filter:blur(20px);
  pointer-events:none;
}

.menu-book-page{
  position:relative;
  z-index:3;
  width:min(780px,76vw);
  margin:0;
  transform-style:preserve-3d;
  transition:transform .6s cubic-bezier(.18,.76,.24,1),opacity .38s ease,filter .38s ease;
}

.menu-book-page.is-leaving{
  opacity:.10;
  transform:translate3d(-34px,10px,-90px) rotateY(7deg) scale(.965);
  filter:blur(3px);
}

.menu-book-page.is-entering{
  animation:menuPageEnter .68s cubic-bezier(.17,.82,.24,1);
}

.menu-book-page img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:
    0 34px 70px rgba(74,47,45,.18),
    0 8px 20px rgba(79,55,70,.12),
    0 0 0 1px rgba(125,83,48,.10);
  background:#FFF6DE;
}

.menu-book-page figcaption{
  position:absolute;
  right:16px;
  bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  color:#FFF8EA;
  background:rgba(80,47,41,.72);
  border:1px solid rgba(255,235,190,.28);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.03em;
  backdrop-filter:blur(9px);
  box-shadow:0 10px 26px rgba(46,30,36,.16);
}

.menu-book-floating-order{
  position:absolute;
  z-index:7;
  right:clamp(18px,3vw,44px);
  bottom:clamp(22px,4vw,54px);
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:148px;
  padding:13px 17px;
  border-radius:18px;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(145deg,#E56E55,#BB4436);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:
    0 18px 38px rgba(139,58,51,.23),
    inset 0 1px 0 rgba(255,255,255,.20);
  transition:transform .2s ease,box-shadow .2s ease;
}

.menu-book-floating-order span{
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.78;
}

.menu-book-floating-order strong{
  font-size:.93rem;
}

.menu-book-floating-order:hover{
  transform:translateY(-4px) rotate(-1deg);
  box-shadow:
    0 22px 44px rgba(139,58,51,.30),
    0 0 22px rgba(238,177,91,.10);
}

.menu-book-thumbs{
  position:relative;
  z-index:8;
  display:flex;
  justify-content:center;
  gap:12px;
  overflow-x:auto;
  padding:18px 18px 22px;
  border-top:1px solid rgba(106,85,112,.08);
  scrollbar-width:thin;
}

.menu-book-thumb{
  position:relative;
  flex:0 0 94px;
  padding:5px 5px 8px;
  border:1px solid transparent;
  border-radius:15px;
  background:rgba(255,255,255,.52);
  color:#5A4C5C;
  cursor:pointer;
  box-shadow:0 9px 22px rgba(64,50,71,.08);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.menu-book-thumb img{
  display:block;
  width:100%;
  aspect-ratio:1055/1491;
  object-fit:cover;
  border-radius:10px;
}

.menu-book-thumb span{
  display:block;
  margin-top:6px;
  font-size:.68rem;
  font-weight:900;
}

.menu-book-thumb:hover{
  transform:translateY(-3px);
}

.menu-book-thumb.is-active{
  transform:translateY(-4px);
  border-color:rgba(219,96,71,.45);
  background:rgba(255,248,243,.94);
  box-shadow:
    0 13px 28px rgba(109,71,80,.14),
    0 0 0 2px rgba(239,174,91,.10);
}

.menu-book-thumb.is-active::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:2px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#E56A50,#E9B450,#69A56C);
}

@keyframes menuPageEnter{
  0%{
    opacity:.08;
    transform:translate3d(34px,10px,-90px) rotateY(-7deg) scale(.965);
    filter:blur(3px);
  }
  70%{
    opacity:1;
    transform:translate3d(-4px,-2px,12px) rotateY(.7deg) scale(1.008);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:none;
    filter:none;
  }
}

@media(max-width:900px){
  .menu-book-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .menu-book-stage{
    min-height:650px;
  }

  .menu-book-page{
    width:min(720px,88vw);
  }
}

@media(max-width:650px){
  .menu-book-shell{
    border-radius:25px;
  }

  .menu-book-toolbar{
    padding-top:12px;
  }

  .menu-book-stage{
    min-height:unset;
    padding:18px 11px 18px;
  }

  .menu-book-page{
    width:100%;
  }

  .menu-book-page img{
    border-radius:12px;
  }

  .menu-book-page figcaption{
    right:8px;
    bottom:8px;
    font-size:.60rem;
  }

  .menu-book-floating-order{
    position:relative;
    right:auto;
    bottom:auto;
    width:max-content;
    margin:8px 0 0 auto;
  }

  .menu-book-thumbs{
    justify-content:flex-start;
    padding-inline:12px;
  }

  .menu-book-thumb{
    flex-basis:78px;
  }
}

@media(prefers-reduced-motion:reduce){
  .menu-book-page,
  .menu-book-thumb,
  .menu-book-floating-order,
  .menu-book-nav{
    animation:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V71 — ORDER ONLINE / SILICON VALLEY RESTAURANT EXPERIENCE
   New page only: order-online.html
   ========================================================= */

.online-order-page{
  --oo-ink:#2F2932;
  --oo-muted:#746A77;
  --oo-cream:#FFF9F2;
  --oo-coral:#FF806E;
  --oo-coral-deep:#D85B48;
  --oo-peach:#FFC59B;
  --oo-lilac:#D7CCFF;
  --oo-mint:#CFEACD;
  --oo-gold:#E9B64C;
  --oo-plum:#513A58;
  --oo-shadow:0 24px 70px rgba(74,55,80,.12);
  background:
    radial-gradient(circle at 8% 18%,rgba(215,204,255,.58),transparent 28rem),
    radial-gradient(circle at 92% 30%,rgba(255,205,178,.54),transparent 32rem),
    radial-gradient(circle at 55% 76%,rgba(207,234,205,.44),transparent 34rem),
    #FFF9F4;
}

.online-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid rgba(107,78,111,.08);
}

.online-hero-photo{
  position:absolute;
  inset:0;
  z-index:-4;
  background:
    linear-gradient(90deg,rgba(255,249,244,.94) 0 36%,rgba(255,249,244,.58) 58%,rgba(45,22,46,.14)),
    url("images/reviews/review-friends.jpg") center/cover no-repeat;
  transform:scale(1.035);
  animation:onlineHeroDrift 18s ease-in-out infinite alternate;
}

.online-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 12% 28%,rgba(255,255,255,.76),transparent 26rem),
    linear-gradient(120deg,rgba(215,204,255,.42),transparent 38%,rgba(255,128,110,.16) 70%,rgba(255,198,155,.20));
}

.online-hero-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:clamp(36px,5vw,88px);
  align-items:center;
  padding-top:88px;
  padding-bottom:74px;
}

.online-hero-copy{
  max-width:790px;
}

.online-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border-radius:999px;
  color:#A9483E;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 10px 30px rgba(74,55,80,.08);
  backdrop-filter:blur(12px);
  font-size:.70rem;
  font-weight:950;
  letter-spacing:.14em;
}

.online-eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--oo-coral),var(--oo-gold));
  box-shadow:0 0 16px rgba(255,128,110,.30);
}

.online-hero h1{
  margin:20px 0 18px;
  max-width:10.5ch;
  color:var(--oo-ink);
  font:760 clamp(3.7rem,7vw,7.6rem)/.84 'Manrope',system-ui,sans-serif;
  letter-spacing:-.07em;
  text-wrap:balance;
}

.online-hero h1 em{
  color:var(--oo-coral);
  font-style:normal;
  font-weight:930;
  text-shadow:0 18px 38px rgba(255,128,110,.14);
}

.online-hero-copy > p{
  max-width:650px;
  margin:0;
  color:#635A66;
  font-size:clamp(1rem,1.35vw,1.18rem);
  line-height:1.72;
}

.online-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.online-primary{
  color:#fff !important;
  background:linear-gradient(135deg,#FF866F,#D65B49) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:
    0 18px 38px rgba(175,72,58,.24),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.online-secondary{
  color:#4E414F !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(255,255,255,.88) !important;
  backdrop-filter:blur(10px);
  box-shadow:0 14px 32px rgba(67,49,73,.10) !important;
}

.online-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:27px;
}

.online-trust-row > span{
  min-width:150px;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:11px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.50);
  border:1px solid rgba(255,255,255,.74);
  backdrop-filter:blur(12px);
}

.online-trust-row b{
  color:#443946;
  font-size:.82rem;
}

.online-trust-row small{
  color:#837784;
  font-size:.68rem;
}

.online-hero-visual{
  position:relative;
  min-height:510px;
  transform-style:preserve-3d;
  perspective:1100px;
}

.online-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.46);
  box-shadow:inset 0 0 60px rgba(255,255,255,.12);
}

.online-orbit-a{
  width:390px;
  height:390px;
  top:54px;
  right:48px;
  background:linear-gradient(140deg,rgba(215,204,255,.24),rgba(255,128,110,.13));
  animation:onlineOrbit 10s ease-in-out infinite;
}

.online-orbit-b{
  width:220px;
  height:220px;
  right:5px;
  bottom:18px;
  background:linear-gradient(145deg,rgba(207,234,205,.30),rgba(255,197,155,.14));
  animation:onlineOrbit 8s ease-in-out infinite reverse;
}

.online-floating-card{
  position:absolute;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.78);
  background:rgba(255,255,255,.44);
  box-shadow:
    0 38px 80px rgba(52,34,59,.22),
    inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
}

.online-floating-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.10) contrast(1.02);
}

.online-floating-card > div{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:11px 12px;
  border-radius:15px;
  color:#fff;
  background:rgba(39,24,44,.58);
  backdrop-filter:blur(12px);
}

.online-floating-card span{
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  opacity:.78;
  font-weight:850;
}

.online-floating-card strong{
  font-size:.95rem;
}

.online-floating-card-main{
  width:min(430px,35vw);
  height:430px;
  top:12px;
  right:48px;
  transform:rotate(3deg);
  animation:onlineFloatMain 7s ease-in-out infinite;
}

.online-floating-card-mini{
  width:235px;
  height:245px;
  left:0;
  bottom:12px;
  transform:rotate(-6deg);
  animation:onlineFloatMini 6.4s ease-in-out infinite;
}

.online-command-wrap{
  position:sticky;
  top:72px;
  z-index:60;
  margin-top:-22px;
  pointer-events:none;
}

.online-command-wrap .wrap{
  pointer-events:auto;
}

.online-command-bar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:24px;
  background:rgba(255,251,247,.84);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:
    0 20px 55px rgba(68,48,76,.14),
    inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:blur(22px);
}

.online-search{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 15px;
  border-radius:17px;
  background:rgba(247,240,245,.88);
  border:1px solid rgba(113,91,117,.08);
}

.online-search > span{
  color:#A35A68;
  font-size:1.3rem;
}

.online-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#3E3540;
  font:700 .90rem 'Manrope',system-ui,sans-serif;
}

.online-search input::placeholder{
  color:#938794;
}

.online-pickup-chip{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px;
  border-radius:17px;
  background:#fff;
  border:1px solid rgba(113,91,117,.08);
}

.online-live-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#66A86E;
  box-shadow:0 0 0 6px rgba(102,168,110,.10);
}

.online-pickup-chip div{
  display:flex;
  flex-direction:column;
}

.online-pickup-chip small{
  color:#958996;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:850;
}

.online-pickup-chip strong{
  color:#443946;
  font-size:.82rem;
}

.online-cart-button{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 17px;
  border:0;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(135deg,#5A405D,#3D2C41);
  box-shadow:0 12px 26px rgba(57,39,61,.18);
  cursor:pointer;
  font-weight:900;
}

.online-cart-button strong{
  display:grid;
  place-items:center;
  min-width:25px;
  height:25px;
  border-radius:999px;
  color:#533D57;
  background:#FFD58A;
}

.online-category-rail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 3px 4px;
  scrollbar-width:none;
}

.online-category-rail::-webkit-scrollbar{display:none}

.online-category{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(104,82,109,.08);
  border-radius:999px;
  color:#6B5E6E;
  background:rgba(255,255,255,.67);
  box-shadow:0 8px 20px rgba(75,56,82,.06);
  backdrop-filter:blur(12px);
  cursor:pointer;
  font:850 .72rem 'Manrope',system-ui,sans-serif;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}

.online-category:hover{
  transform:translateY(-2px);
}

.online-category.is-active{
  color:#fff;
  background:linear-gradient(135deg,#EE7A67,#C55B65);
  box-shadow:0 11px 26px rgba(196,86,92,.18);
}

.online-store{
  padding:44px 0 90px;
}

.online-store-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
}

.online-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.online-kicker{
  color:#C2574D;
  font-size:.67rem;
  font-weight:950;
  letter-spacing:.14em;
}

.online-section-heading h2{
  margin:4px 0 0;
  color:var(--oo-ink);
  font:850 clamp(2rem,4vw,4.1rem)/.95 'Manrope',system-ui,sans-serif;
  letter-spacing:-.05em;
}

.online-section-heading p{
  margin:0 0 5px;
  color:#8A7E8C;
  font-size:.78rem;
  font-weight:800;
}

.online-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.online-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:158px 1fr;
  min-height:190px;
  border-radius:26px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:
    0 16px 38px rgba(71,54,78,.09),
    inset 0 1px 0 rgba(255,255,255,.90);
  transform:translateY(18px);
  opacity:0;
  animation:onlineCardIn .62s cubic-bezier(.18,.76,.22,1) both;
  animation-delay:calc(min(var(--card-i),10) * 45ms);
  transition:transform .26s ease,box-shadow .26s ease;
}

.online-card:hover{
  transform:translateY(-6px) rotateX(.8deg);
  box-shadow:
    0 26px 54px rgba(71,54,78,.14),
    0 0 0 1px rgba(255,180,135,.08);
}

.online-card-media{
  position:relative;
  overflow:hidden;
}

.online-card-media img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}

.online-card:hover .online-card-media img{
  transform:scale(1.055);
  filter:saturate(1.10) contrast(1.02);
}

.online-card-sheen{
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.22) 45%,transparent 68%);
  transform:translateX(-120%);
  transition:transform .7s ease;
}

.online-card:hover .online-card-sheen{
  transform:translateX(120%);
}

.online-badge{
  position:absolute;
  top:10px;
  left:10px;
  padding:6px 8px;
  border-radius:999px;
  color:#5B414E;
  background:rgba(255,247,237,.90);
  border:1px solid rgba(255,255,255,.80);
  backdrop-filter:blur(8px);
  font-size:.57rem;
  font-weight:950;
  letter-spacing:.04em;
}

.online-card-body{
  display:flex;
  flex-direction:column;
  padding:16px 16px 14px;
}

.online-card-top{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:space-between;
}

.online-card h3{
  margin:0;
  color:#3D343E;
  font-size:1rem;
  line-height:1.17;
  font-weight:950;
}

.online-price{
  flex:0 0 auto;
  color:#C6564A;
  font-size:.90rem;
  font-weight:950;
}

.online-price-ask{
  color:#7A697E;
}

.online-card-body p{
  margin:8px 0 13px;
  color:#786D7A;
  font-size:.72rem;
  line-height:1.48;
}

.online-card-bottom{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.online-card-bottom > span{
  color:#9A8D9A;
  font-size:.60rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.online-add,
.online-call-add{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:13px;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(135deg,#FF846D,#CE594B);
  box-shadow:
    0 10px 21px rgba(196,78,65,.20),
    inset 0 1px 0 rgba(255,255,255,.22);
  cursor:pointer;
  font-size:1.25rem;
  font-weight:900;
  transition:transform .18s ease,box-shadow .18s ease;
}

.online-call-add{
  width:auto;
  padding:0 10px;
  font-size:.66rem;
}

.online-add:hover,
.online-call-add:hover{
  transform:translateY(-2px) scale(1.04);
}

.online-add.is-added{
  animation:onlineAddPop .34s ease;
}

.online-no-results{
  grid-column:1/-1;
  min-height:260px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  padding:30px;
  text-align:center;
  border-radius:28px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.82);
}

.online-no-results > span{
  font-size:2.2rem;
  color:#C76A61;
}

.online-no-results strong{
  color:#433845;
}

.online-no-results p{
  margin:0;
  color:#817584;
}

.online-source-note{
  display:flex;
  gap:12px;
  margin-top:22px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(255,255,255,.80);
}

.online-source-note span{
  flex:0 0 auto;
  color:#BD584E;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.online-source-note p{
  margin:0;
  color:#756A78;
  font-size:.72rem;
  line-height:1.55;
}

.online-cart{
  position:sticky;
  top:168px;
  max-height:calc(100vh - 188px);
  overflow:auto;
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.94);
  box-shadow:var(--oo-shadow);
  backdrop-filter:blur(22px);
}

.online-cart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.online-cart-head span{
  color:#9A8E9B;
  font-size:.60rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}

.online-cart-head h3{
  margin:1px 0 0;
  color:#392F3A;
  font-size:1.7rem;
  letter-spacing:-.04em;
}

.online-cart-close{
  display:none;
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  color:#715F74;
  background:#F5EFF5;
  font-size:1.4rem;
  cursor:pointer;
}

.online-cart-location{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:13px;
  padding:11px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(215,204,255,.36),rgba(255,207,183,.28));
}

.online-location-pin{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#A94D43;
  background:rgba(255,255,255,.78);
}

.online-cart-location div{
  display:flex;
  flex-direction:column;
}

.online-cart-location strong{
  color:#423744;
  font-size:.78rem;
}

.online-cart-location small{
  color:#817583;
  font-size:.61rem;
}

.online-cart-items{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.online-cart-item{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:8px;
  border-radius:16px;
  background:rgba(248,244,247,.82);
}

.online-cart-item img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:13px;
}

.online-cart-item-copy{
  min-width:0;
}

.online-cart-item-copy > strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#463A47;
  font-size:.72rem;
}

.online-cart-item-copy small{
  color:#8F818F;
  font-size:.60rem;
}

.online-qty{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:5px;
}

.online-qty button{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:0;
  border-radius:8px;
  color:#624C64;
  background:#fff;
  cursor:pointer;
  font-weight:900;
}

.online-qty span{
  min-width:12px;
  text-align:center;
  color:#4D3F4E;
  font-size:.70rem;
  font-weight:900;
}

.online-line-price{
  color:#BD564D;
  font-size:.66rem;
}

.online-cart-empty{
  display:grid;
  place-items:center;
  gap:5px;
  padding:34px 18px 26px;
  text-align:center;
}

.online-cart-empty[hidden]{display:none}

.online-cart-empty > span{
  font-size:2rem;
}

.online-cart-empty strong{
  color:#463A47;
  font-size:.85rem;
}

.online-cart-empty p{
  margin:0;
  max-width:220px;
  color:#8B7F8C;
  font-size:.68rem;
  line-height:1.45;
}

.online-cart-totals{
  display:grid;
  gap:8px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid rgba(96,74,100,.10);
}

.online-cart-totals > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#756977;
  font-size:.70rem;
}

.online-cart-totals strong{
  color:#514353;
}

.online-total-line{
  padding-top:7px;
  color:#3D313F !important;
  font-size:.92rem !important;
  font-weight:950;
}

.online-total-line strong{
  color:#BE554B !important;
  font-size:1.04rem;
}

.online-instructions{
  display:block;
  margin-top:14px;
}

.online-instructions > span{
  display:block;
  margin-bottom:6px;
  color:#706372;
  font-size:.61rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.online-instructions textarea{
  width:100%;
  resize:vertical;
  border:1px solid rgba(98,73,102,.10);
  outline:0;
  border-radius:14px;
  padding:10px 11px;
  color:#473A48;
  background:#FAF6FA;
  font:600 .70rem/1.45 'Manrope',system-ui,sans-serif;
}

.online-checkout{
  width:100%;
  min-height:54px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:12px;
  padding:0 16px;
  border:0;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(135deg,#5B405F,#35273A);
  box-shadow:0 16px 30px rgba(55,37,59,.20);
  cursor:pointer;
  font-weight:900;
}

.online-checkout:disabled{
  opacity:.40;
  cursor:not-allowed;
}

.online-cart-fineprint{
  margin:9px 0 0;
  color:#9A8F9C;
  text-align:center;
  font-size:.56rem;
  line-height:1.4;
}

.online-mobile-bag{
  display:none;
}

.online-toast{
  position:fixed;
  z-index:1000;
  left:50%;
  bottom:28px;
  transform:translate(-50%,20px);
  opacity:0;
  pointer-events:none;
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  background:rgba(52,38,56,.90);
  box-shadow:0 16px 34px rgba(42,29,45,.24);
  backdrop-filter:blur(12px);
  font-size:.72rem;
  font-weight:850;
  transition:opacity .2s ease,transform .2s ease;
}

.online-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

@keyframes onlineHeroDrift{
  from{transform:scale(1.035) translate3d(-.7%,0,0)}
  to{transform:scale(1.07) translate3d(.7%,-.7%,0)}
}

@keyframes onlineOrbit{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-12px) rotate(5deg)}
}

@keyframes onlineFloatMain{
  0%,100%{transform:translateY(0) rotate(3deg)}
  50%{transform:translateY(-12px) rotate(1.8deg)}
}

@keyframes onlineFloatMini{
  0%,100%{transform:translateY(0) rotate(-6deg)}
  50%{transform:translateY(11px) rotate(-3.8deg)}
}

@keyframes onlineCardIn{
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes onlineAddPop{
  0%{transform:scale(1)}
  45%{transform:scale(1.20) rotate(8deg)}
  100%{transform:scale(1)}
}

@media(max-width:1180px){
  .online-hero-grid{
    grid-template-columns:minmax(0,1fr) 420px;
  }

  .online-floating-card-main{
    width:360px;
    height:390px;
    right:22px;
  }

  .online-store-layout{
    grid-template-columns:minmax(0,1fr) 330px;
  }

  .online-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .online-hero{
    min-height:unset;
  }

  .online-hero-grid{
    grid-template-columns:1fr;
    padding-top:96px;
  }

  .online-hero-copy{
    max-width:720px;
  }

  .online-hero h1{
    max-width:11ch;
  }

  .online-hero-visual{
    min-height:420px;
  }

  .online-floating-card-main{
    width:min(500px,68vw);
    height:390px;
    right:8%;
  }

  .online-floating-card-mini{
    left:8%;
  }

  .online-command-wrap{
    top:65px;
  }

  .online-store-layout{
    display:block;
  }

  .online-cart{
    position:fixed;
    z-index:500;
    top:0;
    right:0;
    bottom:0;
    width:min(390px,92vw);
    max-height:none;
    border-radius:28px 0 0 28px;
    transform:translateX(110%);
    transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:-24px 0 70px rgba(45,31,49,.22);
  }

  .online-cart.is-open{
    transform:translateX(0);
  }

  body.online-cart-open::after{
    content:"";
    position:fixed;
    z-index:490;
    inset:0;
    background:rgba(42,29,44,.24);
    backdrop-filter:blur(3px);
  }

  .online-cart-close{
    display:grid;
    place-items:center;
  }

  .online-mobile-bag{
    display:block;
    position:fixed;
    z-index:450;
    left:14px;
    right:14px;
    bottom:14px;
  }

  .online-mobile-bag button{
    width:100%;
    min-height:58px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:19px;
    color:#fff;
    background:linear-gradient(135deg,rgba(82,58,86,.97),rgba(49,35,53,.98));
    box-shadow:0 18px 44px rgba(44,31,47,.28);
    backdrop-filter:blur(15px);
  }

  .online-mobile-bag span:first-child{text-align:left}
  .online-mobile-bag span:last-child{text-align:right}
}

@media(max-width:660px){
  .online-hero{
    min-height:760px;
  }

  .online-hero-photo{
    background:
      linear-gradient(180deg,rgba(255,249,244,.96) 0 47%,rgba(255,249,244,.45) 76%,rgba(55,30,57,.10)),
      url("images/reviews/review-friends.jpg") center/cover no-repeat;
  }

  .online-hero-grid{
    padding:88px 14px 44px;
    gap:26px;
  }

  .online-hero h1{
    font-size:clamp(3.2rem,16vw,5.5rem);
  }

  .online-hero-copy > p{
    font-size:.96rem;
  }

  .online-trust-row{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .online-trust-row > span:last-child{
    grid-column:1/-1;
  }

  .online-hero-visual{
    min-height:300px;
  }

  .online-floating-card-main{
    width:78vw;
    height:285px;
    right:2%;
    border-radius:25px;
  }

  .online-floating-card-mini{
    width:155px;
    height:165px;
    left:2%;
    bottom:-3px;
  }

  .online-command-wrap{
    top:60px;
    margin-top:-12px;
  }

  .online-command-bar{
    grid-template-columns:1fr auto;
    border-radius:20px;
    padding:8px;
  }

  .online-search{
    min-height:48px;
  }

  .online-pickup-chip{
    display:none;
  }

  .online-cart-button{
    min-height:48px;
    padding-inline:13px;
  }

  .online-category-rail{
    padding-top:9px;
  }

  .online-store{
    padding-top:30px;
  }

  .online-section-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .online-section-heading h2{
    font-size:2.45rem;
  }

  .online-grid{
    grid-template-columns:1fr;
  }

  .online-card{
    grid-template-columns:122px 1fr;
    min-height:168px;
    border-radius:22px;
  }

  .online-card-media img{
    min-height:168px;
  }

  .online-card-body{
    padding:13px;
  }

  .online-card h3{
    font-size:.90rem;
  }

  .online-card-body p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:.66rem;
  }

  .online-card-bottom > span{
    display:none;
  }

  .online-source-note{
    align-items:flex-start;
    flex-direction:column;
  }

  .footer-v57{
    padding-bottom:84px;
  }
}

@media(prefers-reduced-motion:reduce){
  .online-hero-photo,
  .online-orbit,
  .online-floating-card,
  .online-card,
  .online-add{
    animation:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V72 — ORDER ONLINE HERO REFINED
   Scope: order-online.html hero only.
   ========================================================= */

.online-order-page .online-hero{
  min-height:620px;
}

.online-order-page .online-hero-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(390px,.86fr);
  gap:clamp(34px,4.5vw,72px);
  padding-top:82px;
  padding-bottom:60px;
}

.online-order-page .online-hero-copy{
  max-width:690px;
}

.online-order-page .online-eyebrow{
  padding:7px 11px;
  font-size:.64rem;
  letter-spacing:.12em;
}

.online-order-page .online-hero h1{
  max-width:11.5ch;
  margin:17px 0 16px;
  font-size:clamp(2.85rem,5.25vw,5.6rem);
  line-height:.91;
  letter-spacing:-.058em;
  font-weight:760;
}

.online-order-page .online-hero h1 em{
  font-weight:900;
}

.online-order-page .online-hero-copy > p{
  max-width:580px;
  font-size:clamp(.94rem,1.05vw,1.08rem);
  line-height:1.66;
  color:#675D69;
}

.online-order-page .online-hero-actions{
  margin-top:22px;
}

.online-order-page .online-hero-actions .btn{
  min-height:49px;
  padding-inline:20px;
  border-radius:15px;
  font-size:.82rem;
  font-weight:900;
}

.online-order-page .online-trust-row{
  gap:9px;
  margin-top:22px;
}

.online-order-page .online-trust-row > span{
  min-width:142px;
  padding:10px 12px;
  border-radius:14px;
}

.online-order-page .online-trust-row b{
  font-size:.75rem;
}

.online-order-page .online-trust-row small{
  font-size:.62rem;
}

.online-order-page .online-hero-visual{
  min-height:445px;
}

.online-order-page .online-orbit-a{
  width:340px;
  height:340px;
  top:45px;
  right:38px;
}

.online-order-page .online-orbit-b{
  width:185px;
  height:185px;
  right:4px;
  bottom:22px;
}

.online-order-page .online-floating-card-main{
  width:min(380px,31vw);
  height:370px;
  top:15px;
  right:36px;
  border-radius:30px;
}

.online-order-page .online-floating-card-mini{
  width:195px;
  height:205px;
  left:1%;
  bottom:20px;
  border-radius:25px;
}

.online-order-page .online-floating-card > div{
  left:13px;
  right:13px;
  bottom:13px;
  padding:9px 11px;
  border-radius:13px;
}

.online-order-page .online-floating-card span{
  font-size:.55rem;
}

.online-order-page .online-floating-card strong{
  font-size:.82rem;
}

.online-order-page .online-hero-overlay{
  background:
    radial-gradient(circle at 12% 28%,rgba(255,255,255,.78),transparent 24rem),
    radial-gradient(circle at 69% 18%,rgba(215,204,255,.17),transparent 20rem),
    linear-gradient(120deg,rgba(215,204,255,.34),transparent 39%,rgba(255,128,110,.13) 70%,rgba(255,198,155,.17));
}

@media(max-width:1180px){
  .online-order-page .online-hero-grid{
    grid-template-columns:minmax(0,1fr) 390px;
  }

  .online-order-page .online-floating-card-main{
    width:330px;
    height:345px;
    right:18px;
  }
}

@media(max-width:900px){
  .online-order-page .online-hero{
    min-height:unset;
  }

  .online-order-page .online-hero-grid{
    grid-template-columns:1fr;
    padding-top:92px;
    padding-bottom:50px;
  }

  .online-order-page .online-hero-copy{
    max-width:650px;
  }

  .online-order-page .online-hero h1{
    max-width:12ch;
    font-size:clamp(2.75rem,8vw,4.8rem);
  }

  .online-order-page .online-hero-visual{
    min-height:360px;
  }

  .online-order-page .online-floating-card-main{
    width:min(440px,67vw);
    height:340px;
    right:8%;
  }
}

@media(max-width:660px){
  .online-order-page .online-hero{
    min-height:690px;
  }

  .online-order-page .online-hero-grid{
    padding:84px 14px 38px;
    gap:20px;
  }

  .online-order-page .online-eyebrow{
    font-size:.57rem;
  }

  .online-order-page .online-hero h1{
    max-width:11.8ch;
    margin-top:15px;
    font-size:clamp(2.8rem,13.5vw,4.5rem);
    line-height:.91;
  }

  .online-order-page .online-hero-copy > p{
    max-width:34rem;
    font-size:.90rem;
    line-height:1.58;
  }

  .online-order-page .online-trust-row{
    grid-template-columns:1fr 1fr;
  }

  .online-order-page .online-trust-row > span:last-child{
    grid-column:1/-1;
  }

  .online-order-page .online-hero-visual{
    min-height:255px;
  }

  .online-order-page .online-floating-card-main{
    width:75vw;
    height:245px;
    right:2%;
    border-radius:22px;
  }

  .online-order-page .online-floating-card-mini{
    width:135px;
    height:145px;
    left:2%;
    bottom:-2px;
    border-radius:19px;
  }
}


/* =========================================================
   V73 — MENU CHIP + FOOTER IMAGE FIX
   Scope:
   - Fix category chip clipping/cutoff on the online menu page.
   - Replace the footer billboard image on all website pages
     with the user-approved correct artwork.
   ========================================================= */

.online-category-rail{
  padding:12px 10px 4px 3px;
  scroll-padding-right:16px;
}

/* Mobile/tight tablet: stop the chips from being visibly cut off.
   Let them wrap into full pills instead of ending in a hard line. */
@media(max-width:760px){
  .online-category-rail{
    flex-wrap:wrap;
    overflow-x:visible;
    gap:10px;
    padding:10px 0 2px;
  }

  .online-category{
    max-width:100%;
    min-height:42px;
    padding:0 14px;
    white-space:nowrap;
  }
}


/* =========================================================
   V74 — ONLINE MENU CATEGORY CHIPS: NO PARTIAL / CUT BUTTONS
   Scope: Order Online category navigation only.
   Root cause: the category row still used horizontal overflow
   above the mobile breakpoint, so the next pill could remain
   half-visible at the right edge. V74 removes that behavior.
   ========================================================= */

.online-order-page .online-category-rail{
  display:flex !important;
  flex-wrap:wrap !important;
  overflow:visible !important;
  overflow-x:visible !important;
  width:100% !important;
  gap:9px !important;
  padding:12px 0 4px !important;
  scroll-padding:0 !important;
  scrollbar-width:auto !important;
}

.online-order-page .online-category-rail::-webkit-scrollbar{
  display:none !important;
}

.online-order-page .online-category{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  border-radius:999px !important;
}

/* Keep each chip complete on tablet and phone as well. */
@media(max-width:900px){
  .online-order-page .online-category-rail{
    flex-wrap:wrap !important;
    overflow:visible !important;
    padding-inline:0 !important;
  }
}

@media(max-width:520px){
  .online-order-page .online-category-rail{
    gap:7px !important;
  }

  .online-order-page .online-category{
    min-height:39px !important;
    padding:0 12px !important;
    font-size:.68rem !important;
  }
}

/* V75 MENU GALLERY REPLACEMENT */
.menu-gallery-section{
  padding-top:18px;
}
.menu-gallery-head{
  display:grid;
  gap:16px;
  margin-bottom:22px;
  align-items:end;
}
.menu-gallery-head h2{
  margin:8px 0 0;
  font-size:clamp(2.15rem,5vw,3.25rem);
  line-height:.98;
  letter-spacing:-.04em;
}
.menu-gallery-head p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  line-height:1.82;
}
.menu-gallery-shell{
  display:grid;
  gap:18px;
  padding:18px;
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.58));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(14px) saturate(140%);
}
.menu-gallery-copy{
  position:relative;
  padding:26px;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right,rgba(255,255,255,.34),transparent 14rem),
    linear-gradient(135deg,rgba(255,124,107,.92),rgba(255,157,141,.84) 52%,rgba(220,203,255,.9));
  color:#fff;
  box-shadow:0 24px 54px rgba(86,54,91,.14);
}
.menu-gallery-copy::after{
  content:"";
  position:absolute;
  inset:auto -8% -35% auto;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
}
.menu-gallery-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#FFF4D7;
}
.menu-gallery-copy h3{
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(1.95rem,4vw,2.7rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.menu-gallery-copy p{
  position:relative;
  z-index:1;
  max-width:590px;
  color:#FFF8FB;
  line-height:1.8;
}
.menu-gallery-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.menu-gallery-actions .btn-soft{
  background:rgba(255,255,255,.92);
  color:#52465A;
}
.menu-food-gallery{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.menu-gallery-card{
  position:relative;
  min-height:235px;
  overflow:hidden;
  border-radius:28px;
  background:#e8ddd4;
  border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow-soft);
}
.menu-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.menu-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(44,30,52,.02),rgba(44,30,52,.18) 42%,rgba(44,30,52,.72));
}
.menu-gallery-card-copy{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:1;
  display:grid;
  gap:5px;
}
.menu-gallery-card-copy span{
  color:#FFE9D8;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.menu-gallery-card-copy strong{
  color:#fff;
  font-size:1.18rem;
  line-height:1.18;
}
.menu-gallery-card:hover img{
  transform:scale(1.05);
}
.menu-gallery-invite{
  display:grid;
  gap:16px;
  margin-top:18px;
  padding:24px 26px;
  border-radius:28px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:var(--shadow-soft);
}
.menu-gallery-invite h3{
  margin:8px 0 0;
  font-size:clamp(1.55rem,3vw,2.15rem);
  line-height:1.14;
}
.menu-gallery-invite p{
  margin:0;
  max-width:860px;
  color:var(--muted);
  line-height:1.8;
}
@media(min-width:720px){
  .menu-gallery-head{
    grid-template-columns:1.02fr .98fr;
    gap:24px;
  }
  .menu-food-gallery{
    grid-template-columns:1.15fr .85fr;
  }
  .menu-gallery-card-lg{
    grid-row:span 2;
    min-height:100%;
  }
  .menu-gallery-card-wide{
    grid-column:span 2;
    min-height:250px;
  }
}
@media(min-width:1020px){
  .menu-gallery-shell{
    grid-template-columns:.66fr 1.34fr;
    align-items:stretch;
  }
  .menu-food-gallery{
    grid-template-columns:1.08fr .92fr .92fr;
    grid-auto-rows:240px;
  }
  .menu-gallery-card-lg{
    grid-column:1;
    grid-row:span 2;
  }
  .menu-gallery-card-wide{
    grid-column:2 / span 2;
  }
}

/* =========================================================
   V76 — MENU HERO CINEMATIC REEL
   Scope: menu page hero only
   ========================================================= */
.menu-hero-immersive{
  padding:52px 0 24px;
  overflow:hidden;
}
.menu-hero-immersive::before{
  content:"";
  position:absolute;
  inset:10px 0 auto 0;
  height:82%;
  border-radius:38px;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.55),transparent 21rem),
    linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.06));
  pointer-events:none;
}
.menu-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:24px;
  align-items:center;
}
.menu-hero-copy{
  position:relative;
  padding:24px 0 8px;
}
.menu-hero-copy h1{
  margin:8px 0 10px;
  font:900 clamp(2.6rem,7.3vw,4.8rem)/.95 'Manrope',system-ui,sans-serif;
  letter-spacing:-.055em;
  color:#3D3247;
  max-width:9ch;
}
.menu-hero-copy p{
  margin:0;
  max-width:560px;
  font-size:1.02rem;
  color:#746976;
  line-height:1.82;
}
.menu-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.menu-hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.menu-hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 15px;
  border-radius:999px;
  text-decoration:none;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.02em;
  color:#64596C;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 16px 38px rgba(73,56,88,.08);
  backdrop-filter:blur(10px);
}
.menu-hero-pill:hover{
  color:#fff;
  background:linear-gradient(135deg,var(--coral),var(--peach));
  border-color:transparent;
}
.menu-hero-stage{
  position:relative;
  min-height:520px;
  padding:18px;
}
.menu-hero-glow{
  position:absolute;
  inset:0;
  border-radius:40px;
  background:
    radial-gradient(circle at 80% 18%,rgba(255,179,138,.46),transparent 12rem),
    radial-gradient(circle at 18% 84%,rgba(196,160,255,.32),transparent 15rem),
    linear-gradient(140deg,rgba(255,255,255,.42),rgba(255,255,255,.06));
  filter:blur(0px);
}
.menu-reel-frame{
  position:relative;
  z-index:1;
  display:grid;
  gap:16px;
  height:100%;
  padding:20px;
  overflow:hidden;
  border-radius:38px;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.28),transparent 18rem),
    linear-gradient(135deg,rgba(86,54,91,.96),rgba(77,48,95,.84) 42%,rgba(250,135,116,.58));
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 28px 74px rgba(70,45,79,.22);
  backdrop-filter:blur(10px) saturate(120%);
}
.menu-reel-track{
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
}
.menu-reel-track-a{animation:menuReelA 28s linear infinite;}
.menu-reel-track-b{animation:menuReelB 31s linear infinite;}
.menu-reel-track-c{animation:menuReelA 34s linear infinite;}
.menu-reel-tile{
  width:196px;
  height:126px;
  margin:0;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 36px rgba(17,9,24,.22);
}
.menu-reel-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.menu-reel-overlay{
  position:absolute;
  inset:auto 20px 20px 20px;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.menu-reel-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.menu-reel-note{
  display:grid;
  gap:6px;
  max-width:320px;
  padding:16px 18px;
  border-radius:24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  backdrop-filter:blur(10px);
}
.menu-reel-note strong{font-size:1rem;}
.menu-reel-note span{color:rgba(255,255,255,.84);line-height:1.5;font-size:.93rem;}
.menu-hero-card{
  position:absolute;
  z-index:2;
  display:grid;
  gap:6px;
  padding:15px 16px;
  border-radius:20px;
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 34px rgba(47,30,58,.18);
}
.menu-hero-card span{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  color:#FFE7CD;
}
.menu-hero-card strong{
  font-size:.95rem;
  line-height:1.35;
  color:#fff;
}
.menu-hero-card-top{top:0;right:22px;max-width:210px;}
.menu-hero-card-bottom{left:0;bottom:22px;max-width:240px;}
@keyframes menuReelA{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}
@keyframes menuReelB{from{transform:translateX(calc(-50% - 7px))}to{transform:translateX(0)}}
@media(max-width:719px){
  .menu-hero-immersive .social-wave-hero{top:22px;transform:none;right:12px;}
  .menu-hero-stage{min-height:430px;padding:10px 0 0;}
  .menu-reel-frame{padding:16px;border-radius:30px;}
  .menu-reel-tile{width:164px;height:112px;border-radius:18px;}
  .menu-hero-card-top{right:8px;top:-8px;}
  .menu-hero-card-bottom{left:8px;bottom:8px;}
  .menu-reel-overlay{left:16px;right:16px;bottom:16px;}
}
@media(min-width:720px){
  .menu-hero-grid{grid-template-columns:.84fr 1.16fr;gap:32px;}
  .menu-hero-copy{padding:32px 0 16px;}
}
@media(min-width:1020px){
  .menu-hero-immersive{padding:58px 0 34px;}
  .menu-hero-grid{grid-template-columns:.8fr 1.2fr;gap:42px;}
  .menu-hero-stage{min-height:560px;}
  .menu-reel-tile{width:214px;height:136px;}
}
@media(prefers-reduced-motion:reduce){
  .menu-reel-track-a,.menu-reel-track-b,.menu-reel-track-c{animation:none;}
}

/* =========================================================
   V77 — MENU ULTRA PREMIUM MOTION SYSTEM
   Scope: menu.html only via body.menu-page-ultra
   Webflow / Elementor Pro interaction language + GSAP / Three.js hooks
   ========================================================= */
body.menu-page-ultra{
  --menu-deep:#251A30;
  --menu-plum:#4A3158;
  --menu-coral:#FF7C6B;
  --menu-peach:#FFC9A8;
  --menu-gold:#F0C15E;
  --menu-mint:#BFE7D2;
  --menu-ivory:#FFF9F3;
  background:
    radial-gradient(circle at 18% 8%,rgba(220,203,255,.34),transparent 28rem),
    radial-gradient(circle at 88% 35%,rgba(255,201,168,.24),transparent 30rem),
    var(--menu-ivory);
}
body.menu-page-ultra main{
  overflow:clip;
}

/* HERO */
.menu-xp-hero{
  position:relative;
  min-height:690px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  margin-top:4px;
  border-radius:0 0 42px 42px;
  background:linear-gradient(120deg,#2B1B35,#51345F 56%,#7B435F);
  box-shadow:0 34px 90px rgba(59,36,70,.18);
}
.menu-xp-video{
  position:absolute;
  inset:-7%;
  z-index:-5;
  width:114%;
  height:114%;
  object-fit:cover;
  object-position:center;
  opacity:.66;
  filter:saturate(.92) contrast(1.08) brightness(.72);
  transform:scale(1.04);
}
.menu-xp-video-grade{
  position:absolute;
  inset:0;
  z-index:-4;
  background:
    radial-gradient(circle at 74% 34%,rgba(255,172,139,.26),transparent 26rem),
    radial-gradient(circle at 14% 76%,rgba(155,114,212,.24),transparent 28rem),
    linear-gradient(90deg,rgba(35,22,45,.93) 0%,rgba(38,24,48,.78) 38%,rgba(54,31,61,.45) 66%,rgba(38,23,49,.65) 100%);
  backdrop-filter:blur(1px);
}
.menu-xp-noise{
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.12;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.25));
}
.menu-xp-three{
  position:absolute;
  z-index:-1;
  inset:0 0 0 auto;
  width:58%;
  height:100%;
  pointer-events:none;
  opacity:.72;
}
.menu-xp-grid{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
  gap:clamp(34px,5vw,82px);
  align-items:center;
  width:100%;
  padding-top:72px;
  padding-bottom:76px;
}
.menu-xp-copy{
  max-width:590px;
  padding:34px 34px 30px;
  border-radius:30px;
  color:#fff;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 68px rgba(17,8,24,.22),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(20px) saturate(135%);
}
.menu-xp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.18em;
  color:#FFDFA7;
}
.menu-xp-eyebrow::before{
  content:"";
  width:26px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--menu-gold),var(--menu-coral));
}
.menu-xp-copy h1{
  margin:14px 0 14px;
  max-width:10.5ch;
  font:850 clamp(2.8rem,5.4vw,5.35rem)/.92 'Manrope',system-ui,sans-serif;
  letter-spacing:-.06em;
  color:#fff;
  text-wrap:balance;
}
.menu-xp-copy > p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(.98rem,1.12vw,1.08rem);
  line-height:1.72;
}
.menu-xp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.menu-xp-actions .btn{
  min-height:50px;
  padding:0 20px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.menu-xp-primary{
  color:#3B2A3E !important;
  background:linear-gradient(135deg,#FFD99A,#FFAC84) !important;
  box-shadow:0 16px 36px rgba(255,159,116,.23) !important;
}
.menu-xp-secondary{
  color:#fff !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  backdrop-filter:blur(10px);
}
.menu-xp-actions .btn:hover{
  transform:translateY(-3px);
}
.menu-xp-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:24px;
}
.menu-xp-meta span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:11px 12px;
  border-radius:15px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.menu-xp-meta strong{
  color:#fff;
  font-size:.88rem;
}
.menu-xp-meta small{
  color:rgba(255,255,255,.64);
  font-size:.59rem;
  line-height:1.35;
}
.menu-xp-visual{
  position:relative;
  min-height:480px;
  perspective:1200px;
}
.menu-xp-stack{
  position:absolute;
  inset:42px 24px 32px 28px;
  transform-style:preserve-3d;
}
.menu-xp-photo{
  position:absolute;
  overflow:hidden;
  margin:0;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 28px 70px rgba(10,4,17,.31),inset 0 1px 0 rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease;
  will-change:transform;
}
.menu-xp-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.08) contrast(1.04);
}
.menu-xp-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(20,9,27,.72));
}
.menu-xp-photo figcaption{
  position:absolute;
  z-index:2;
  left:16px;
  right:16px;
  bottom:15px;
  display:grid;
  gap:2px;
  color:#fff;
}
.menu-xp-photo figcaption span{
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#FFD9A5;
  font-weight:900;
}
.menu-xp-photo figcaption strong{
  font-size:1rem;
}
.menu-xp-photo.photo-a{
  width:58%;
  height:65%;
  left:2%;
  top:9%;
  transform:rotate(-7deg) translateZ(34px);
}
.menu-xp-photo.photo-b{
  width:52%;
  height:58%;
  right:2%;
  top:4%;
  transform:rotate(7deg) translateZ(72px);
}
.menu-xp-photo.photo-c{
  width:46%;
  height:45%;
  right:16%;
  bottom:3%;
  transform:rotate(-2deg) translateZ(120px);
}
.menu-xp-glass-orb{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.04));
  backdrop-filter:blur(12px);
  box-shadow:inset 0 0 38px rgba(255,255,255,.08),0 20px 50px rgba(18,8,26,.18);
}
.menu-xp-glass-orb.orb-a{width:150px;height:150px;right:3%;top:2%;}
.menu-xp-glass-orb.orb-b{width:96px;height:96px;left:7%;bottom:4%;}
.menu-xp-floating-note{
  position:absolute;
  z-index:8;
  left:0;
  bottom:0;
  max-width:245px;
  display:grid;
  gap:5px;
  padding:14px 16px;
  border-radius:18px;
  color:#fff;
  background:rgba(37,24,46,.42);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 44px rgba(15,7,21,.20);
  backdrop-filter:blur(16px);
}
.menu-xp-floating-note span{
  color:#FFDCA1;
  font-size:.61rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.menu-xp-floating-note strong{
  font-size:.78rem;
  line-height:1.35;
}
.menu-xp-scroll{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.72);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.menu-xp-scroll span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#FFD292;
  box-shadow:0 0 0 7px rgba(255,210,146,.12);
  animation:menuScrollPulse 1.8s ease-in-out infinite;
}
@keyframes menuScrollPulse{50%{transform:scale(1.45);box-shadow:0 0 0 11px rgba(255,210,146,.04)}}

/* FLAVOR RAIL — bridges hero directly into menu content */
.menu-flavor-rail{
  position:relative;
  z-index:12;
  margin-top:-2px;
  padding:15px 0 18px;
  overflow:hidden;
  background:linear-gradient(90deg,#24172E,#3C294B 45%,#613A58);
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.menu-flavor-track{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:clamp(8px,.72vw,13px);
  width:100%;
  max-width:1920px;
  margin:0 auto;
  padding:0 clamp(14px,1.4vw,28px);
  box-sizing:border-box;
}
.menu-flavor-track figure{
  --fx:0px;
  --fy:0px;
  --rx:0deg;
  --ry:0deg;
  position:relative;
  width:100%;
  min-width:0;
  height:108px;
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#3A2C42;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 28px rgba(10,4,17,.18);
  transform:translate3d(var(--fx), var(--fy), 0) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;
  will-change:transform, box-shadow;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, filter .35s ease;
}
.menu-flavor-track figure::before{
  content:"";
  position:absolute;
  inset:-20% auto -20% -45%;
  width:38%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg) translateX(0);
  opacity:0;
  z-index:2;
  pointer-events:none;
}
.menu-flavor-track img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.06) contrast(1.04);
  transform:scale(1.02);
  transform-origin:center center;
  will-change:transform;
}
.menu-flavor-track figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 34%,rgba(24,13,31,.74));
  pointer-events:none;
}
.menu-flavor-track figcaption{
  position:absolute;
  z-index:3;
  left:12px;
  bottom:9px;
  color:#fff;
  font-size:.69rem;
  font-weight:850;
  text-shadow:0 6px 16px rgba(0,0,0,.38);
}
body.js-motion-ready .menu-flavor-track figure:nth-child(3n+1){animation:menuFlavorFloatA 5.8s ease-in-out infinite;}
body.js-motion-ready .menu-flavor-track figure:nth-child(3n+2){animation:menuFlavorFloatB 6.6s ease-in-out infinite;}
body.js-motion-ready .menu-flavor-track figure:nth-child(3n+3){animation:menuFlavorFloatC 6.2s ease-in-out infinite;}
body.js-motion-ready .menu-flavor-track figure:nth-child(2n) img{animation:menuFlavorPanZoomA 10.5s ease-in-out infinite alternate;}
body.js-motion-ready .menu-flavor-track figure:nth-child(2n+1) img{animation:menuFlavorPanZoomB 12.2s ease-in-out infinite alternate;}
body.js-motion-ready .menu-flavor-track figure:hover,
body.js-motion-ready .menu-flavor-track figure:focus-within{
  box-shadow:0 22px 42px rgba(10,4,17,.28);
  border-color:rgba(255,255,255,.28);
}
body.js-motion-ready .menu-flavor-track figure:hover::before,
body.js-motion-ready .menu-flavor-track figure:focus-within::before{animation:menuFlavorSheen .85s ease forwards;}
body.js-motion-ready .menu-flavor-track figure:hover img,
body.js-motion-ready .menu-flavor-track figure:focus-within img{transform:scale(1.09);}
@keyframes menuFlavorFloatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-5px,0)}}
@keyframes menuFlavorFloatB{0%,100%{transform:translate3d(0,-2px,0)}50%{transform:translate3d(0,4px,0)}}
@keyframes menuFlavorFloatC{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-4px,0)}}
@keyframes menuFlavorPanZoomA{0%{transform:scale(1.02) translate3d(0,0,0)}50%{transform:scale(1.08) translate3d(1.5%,-1.5%,0)}100%{transform:scale(1.04) translate3d(-1%,1%,0)}}
@keyframes menuFlavorPanZoomB{0%{transform:scale(1.03) translate3d(0,0,0)}50%{transform:scale(1.1) translate3d(-1.4%,1.2%,0)}100%{transform:scale(1.05) translate3d(1.1%,-1%,0)}}
@keyframes menuFlavorSheen{0%{opacity:0;transform:skewX(-18deg) translateX(0)}15%{opacity:1}100%{opacity:0;transform:skewX(-18deg) translateX(440%)}}
@media (prefers-reduced-motion: reduce){
  .menu-flavor-track figure,
  .menu-flavor-track img,
  .menu-flavor-track figure::before{
    animation:none !important;
    transition:none !important;
  }
}
@media (max-width:1180px){
  .menu-flavor-rail{overflow-x:auto;scrollbar-width:none;}
  .menu-flavor-rail::-webkit-scrollbar{display:none;}
  .menu-flavor-track{
    grid-template-columns:repeat(8,minmax(158px,1fr));
    width:max-content;
    min-width:100%;
  }
}
@media (max-width:640px){
  .menu-flavor-track{
    grid-template-columns:repeat(8,148px);
    gap:9px;
    padding-inline:12px;
  }
  .menu-flavor-track figure{height:100px;border-radius:18px;}
}

/* MENU BOOK RECOMPOSITION — no dead desktop whitespace */
.menu-page-ultra .menu-book-ultra{
  position:relative;
  padding:58px 0 64px;
  background:
    radial-gradient(circle at 9% 18%,rgba(220,203,255,.32),transparent 27rem),
    radial-gradient(circle at 92% 65%,rgba(255,201,168,.34),transparent 31rem),
    linear-gradient(180deg,#FFF9F3,#FFF6F0);
}
.menu-page-ultra .menu-book-ultra::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(105deg,rgba(255,255,255,.28),transparent 45%,rgba(191,231,210,.12));
}
.menu-page-ultra .menu-book-heading{
  position:relative;
  z-index:2;
  margin-bottom:20px;
}
.menu-page-ultra .menu-book-heading h2{
  max-width:11ch;
  font-size:clamp(2.1rem,4.2vw,4rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.menu-page-ultra .menu-book-heading p{
  font-size:.92rem;
  line-height:1.72;
}
.menu-page-ultra .menu-book-shell{
  position:relative;
  z-index:2;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.48));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 28px 72px rgba(70,48,78,.12);
  backdrop-filter:blur(16px) saturate(135%);
}
.menu-page-ultra .menu-book-stage{
  min-height:610px;
  padding:18px 22px 24px;
}
.menu-page-ultra .menu-book-page{
  width:min(650px,72vw);
}
.menu-page-ultra .menu-book-thumbs{
  padding-bottom:16px;
}

/* PARALLAX MICRO-VIDEO BREAK */
.menu-parallax-break{
  position:relative;
  min-height:410px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:#24162D;
}
.menu-parallax-break > video{
  position:absolute;
  inset:-18%;
  z-index:-3;
  width:136%;
  height:136%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.94) contrast(1.08) brightness(.74);
}
.menu-parallax-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(31,17,38,.90) 0%,rgba(39,21,45,.64) 52%,rgba(48,24,43,.46)),
    radial-gradient(circle at 82% 24%,rgba(255,131,109,.22),transparent 25rem);
}
.menu-parallax-content{
  max-width:760px;
  padding-top:58px;
  padding-bottom:58px;
  color:#fff;
}
.menu-parallax-content > span{
  color:#FFD99A;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.16em;
}
.menu-parallax-content h2{
  max-width:12ch;
  margin:10px 0 12px;
  color:#fff;
  font:800 clamp(2.3rem,5vw,4.8rem)/.95 'Manrope',system-ui,sans-serif;
  letter-spacing:-.055em;
}
.menu-parallax-content p{
  max-width:560px;
  margin:0 0 20px;
  color:rgba(255,255,255,.80);
  font-size:1rem;
  line-height:1.7;
}
.menu-parallax-content .btn{
  color:#35263A;
  background:linear-gradient(135deg,#FFD798,#FFB589);
  box-shadow:0 16px 34px rgba(255,171,122,.18);
}

/* GALLERY premium tightening and 3D hover */
.menu-page-ultra .menu-gallery-section{
  padding:62px 0 66px;
}
.menu-page-ultra .menu-gallery-head{
  margin-bottom:18px;
}
.menu-page-ultra .menu-gallery-shell{
  padding:16px;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.52));
  backdrop-filter:blur(18px) saturate(140%);
}
.menu-page-ultra .menu-gallery-card{
  transform-style:preserve-3d;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}
.menu-page-ultra .menu-gallery-card:hover{
  box-shadow:0 28px 64px rgba(71,49,80,.17);
}
.menu-page-ultra .menu-gallery-invite{
  margin-top:16px;
}

/* reveal baseline when GSAP is unavailable */
.menu-page-ultra .menu-motion-reveal{
  opacity:1;
  transform:none;
}
.menu-page-ultra.js-motion-ready .menu-motion-reveal{
  opacity:0;
  transform:translateY(22px);
}

@media(min-width:1020px){
  .menu-page-ultra .menu-book-ultra .wrap{
    display:grid;
    grid-template-columns:minmax(280px,.54fr) minmax(0,1.46fr);
    gap:30px;
    align-items:start;
  }
  .menu-page-ultra .menu-book-heading{
    position:sticky;
    top:118px;
    display:block;
    margin:0;
    padding:24px;
    border-radius:26px;
    background:rgba(255,255,255,.56);
    border:1px solid rgba(255,255,255,.88);
    box-shadow:0 20px 52px rgba(71,50,79,.08);
    backdrop-filter:blur(16px);
  }
  .menu-page-ultra .menu-book-heading-actions{
    margin-top:18px;
  }
  .menu-page-ultra .menu-book-heading h2{
    font-size:clamp(2.2rem,3.3vw,3.35rem);
    max-width:10ch;
  }
  .menu-page-ultra .menu-book-stage{
    min-height:690px;
  }
  .menu-page-ultra .menu-book-page{
    width:min(620px,50vw);
  }
}

@media(max-width:1019px){
  .menu-xp-grid{
    grid-template-columns:1fr;
    padding-top:86px;
    padding-bottom:60px;
  }
  .menu-xp-copy{
    max-width:650px;
  }
  .menu-xp-visual{
    min-height:430px;
  }
  .menu-xp-three{
    width:100%;
    opacity:.52;
  }
}

@media(max-width:680px){
  .menu-xp-hero{
    min-height:760px;
    border-radius:0 0 30px 30px;
  }
  .menu-xp-grid{
    padding:78px 14px 54px;
    gap:20px;
  }
  .menu-xp-copy{
    padding:23px 20px 21px;
    border-radius:24px;
  }
  .menu-xp-copy h1{
    max-width:11ch;
    font-size:clamp(2.75rem,13.5vw,4.25rem);
  }
  .menu-xp-meta{
    grid-template-columns:1fr 1fr;
  }
  .menu-xp-meta span:last-child{
    grid-column:1/-1;
  }
  .menu-xp-visual{
    min-height:330px;
  }
  .menu-xp-stack{
    inset:24px 0 16px;
  }
  .menu-xp-photo.photo-a{width:60%;height:62%;left:0;}
  .menu-xp-photo.photo-b{width:54%;height:56%;right:0;}
  .menu-xp-photo.photo-c{width:48%;height:42%;right:12%;}
  .menu-xp-floating-note{
    max-width:190px;
    padding:10px 12px;
  }
  .menu-xp-scroll{display:none;}
  .menu-flavor-track figure{
    width:150px;
    height:94px;
  }
  .menu-page-ultra .menu-book-ultra{
    padding:42px 0 48px;
  }
  .menu-page-ultra .menu-book-stage{
    min-height:auto;
  }
  .menu-page-ultra .menu-book-page{
    width:100%;
  }
  .menu-parallax-break{
    min-height:360px;
  }
  .menu-parallax-content h2{
    font-size:clamp(2.35rem,12vw,3.8rem);
  }
}

@media(prefers-reduced-motion:reduce){
  .menu-xp-video,
  .menu-parallax-break > video,
  .menu-xp-scroll span{
    animation:none !important;
  }
}

/* =========================================================
   V78 — ORDER ONLINE ULTRA PREMIUM MOTION
   Scope: order-online.html only
   Webflow / Elementor-Pro style visual language in HTML5/CSS3/JS.
   ========================================================= */
.order-page-ultra{
  --order-glass:rgba(255,255,255,.68);
  --order-ink:#302834;
  --order-muted:#796d7d;
  --order-coral:#ff806e;
  --order-plum:#513a58;
  overflow:clip;
  background:
    radial-gradient(circle at 12% 18%,rgba(215,204,255,.44),transparent 28rem),
    radial-gradient(circle at 90% 30%,rgba(255,198,164,.34),transparent 32rem),
    radial-gradient(circle at 58% 72%,rgba(207,234,205,.28),transparent 36rem),
    #fff9f4;
}
.order-xp-hero{
  position:relative;
  min-height:610px;
  padding:54px 0 38px;
  overflow:hidden;
  isolation:isolate;
  border-bottom:0;
}
.order-xp-ambient{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.76),transparent 22rem),
    radial-gradient(circle at 76% 16%,rgba(215,204,255,.32),transparent 26rem),
    linear-gradient(120deg,rgba(255,128,110,.08),transparent 44%,rgba(255,198,155,.15));
}
.order-xp-grid{
  grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr)!important;
  gap:clamp(34px,5vw,78px)!important;
  align-items:center;
  padding-top:62px!important;
  padding-bottom:28px!important;
}
.order-xp-copy{max-width:640px!important;}
.order-xp-copy .online-eyebrow{
  background:rgba(255,255,255,.58);
  box-shadow:0 14px 38px rgba(66,48,75,.08);
  backdrop-filter:blur(14px) saturate(150%);
}
.order-xp-copy .online-hero h1,
.order-page-ultra .online-hero h1{
  max-width:10.8ch!important;
  margin:17px 0 14px!important;
  font-size:clamp(2.65rem,5vw,5.15rem)!important;
  line-height:.92!important;
  letter-spacing:-.058em!important;
}
.order-xp-copy>p{max-width:560px!important;line-height:1.66!important;}
.order-xp-actions .btn{
  border-radius:17px!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease!important;
}
.order-xp-actions .btn:hover{filter:saturate(1.08) brightness(1.03);}
.order-xp-trust{margin-top:20px!important;}
.order-xp-trust>span{
  background:rgba(255,255,255,.56)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 15px 35px rgba(74,54,82,.06);
  backdrop-filter:blur(13px) saturate(140%);
}
.order-xp-visual{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:42px;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 34px 90px rgba(61,38,68,.22),inset 0 1px 0 rgba(255,255,255,.68);
  background:linear-gradient(135deg,#5c4263,#493251);
  transform-style:preserve-3d;
}
.order-xp-video{
  position:absolute;
  inset:-8% -5%;
  width:110%;
  height:116%;
  object-fit:cover;
  filter:saturate(1.13) contrast(1.06) brightness(.77);
}
.order-xp-video-grade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(62,38,70,.26),rgba(62,38,70,.03) 42%,rgba(255,124,107,.16)),
    linear-gradient(180deg,rgba(17,9,22,.05),rgba(17,9,22,.32));
}
.order-xp-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.74;pointer-events:none;}
.order-xp-glass{
  position:absolute;
  z-index:4;
  display:grid;
  gap:4px;
  padding:14px 16px;
  border-radius:22px;
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 18px 44px rgba(20,10,27,.19);
  backdrop-filter:blur(16px) saturate(145%);
}
.order-xp-glass span,.order-xp-glass small{font-size:.59rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#ffe5c8;}
.order-xp-glass strong{font-size:.88rem;line-height:1.3;color:#fff;}
.order-xp-glass-top{top:18px;left:18px;max-width:210px;}
.order-xp-glass-bottom{right:18px;bottom:18px;grid-template-columns:auto 1fr;align-items:center;max-width:255px;}
.order-xp-live-dot{width:11px;height:11px;border-radius:50%;background:#8de092!important;box-shadow:0 0 0 7px rgba(141,224,146,.12),0 0 24px rgba(141,224,146,.45);}
.order-xp-photo-stack{position:absolute;z-index:3;right:22px;top:52px;width:46%;height:70%;pointer-events:none;}
.order-xp-photo-stack figure{
  position:absolute;
  margin:0;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 20px 48px rgba(18,8,24,.26);
  transform-origin:center;
}
.order-xp-photo-stack img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.04);}
.order-xp-photo-stack figure:nth-child(1){width:68%;height:56%;right:0;top:0;transform:rotate(5deg);}
.order-xp-photo-stack figure:nth-child(2){width:58%;height:48%;left:0;bottom:6%;transform:rotate(-7deg);}
.order-xp-photo-stack figure:nth-child(3){width:42%;height:39%;right:9%;bottom:1%;transform:rotate(4deg);}
.order-flavor-rail{
  position:relative;
  z-index:5;
  margin-top:-14px;
  overflow:hidden;
  padding:10px 0 22px;
}
.order-flavor-rail::before,.order-flavor-rail::after{content:"";position:absolute;top:0;bottom:0;width:10vw;z-index:3;pointer-events:none;}
.order-flavor-rail::before{left:0;background:linear-gradient(90deg,#fff9f4,transparent);}
.order-flavor-rail::after{right:0;background:linear-gradient(270deg,#fff9f4,transparent);}
.order-flavor-track{display:flex;gap:12px;width:max-content;padding-left:6vw;animation:orderFlavorDrift 46s linear infinite;will-change:transform;}
.order-flavor-track figure{position:relative;flex:0 0 178px;height:112px;margin:0;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.84);box-shadow:0 14px 32px rgba(73,55,80,.10);}
.order-flavor-track img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08);}
.order-flavor-track figcaption{position:absolute;left:9px;bottom:8px;padding:6px 9px;border-radius:999px;background:rgba(45,30,49,.58);color:#fff;font-size:.59rem;font-weight:900;letter-spacing:.04em;backdrop-filter:blur(8px);}
@keyframes orderFlavorDrift{from{transform:translateX(0)}to{transform:translateX(-38%)}}
.order-page-ultra .online-command-wrap{margin-top:-4px!important;}
.order-page-ultra .online-command-bar{
  border-radius:26px!important;
  background:rgba(255,252,248,.76)!important;
  box-shadow:0 24px 62px rgba(63,47,72,.13),inset 0 1px 0 rgba(255,255,255,.92)!important;
  backdrop-filter:blur(24px) saturate(165%)!important;
}
.order-page-ultra .online-category-rail{padding-top:10px!important;}
.order-page-ultra .online-category{
  background:rgba(255,255,255,.63)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  backdrop-filter:blur(14px) saturate(150%);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important;
}
.order-page-ultra .online-category:hover{transform:translateY(-3px) scale(1.015);}
.order-page-ultra .online-category.is-active{background:linear-gradient(135deg,#ef7c68,#c25d68)!important;box-shadow:0 14px 30px rgba(194,83,93,.19)!important;}
.order-page-ultra .online-store{position:relative;padding:28px 0 76px!important;}
.order-page-ultra .online-store::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 10% 6%,rgba(216,204,255,.24),transparent 24rem),radial-gradient(circle at 88% 22%,rgba(255,198,164,.23),transparent 28rem);pointer-events:none;}
.order-page-ultra .online-store-layout{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) 350px!important;gap:22px!important;}
.order-page-ultra .online-section-heading{margin-bottom:16px!important;}
.order-page-ultra .online-section-heading h2{font-size:clamp(1.95rem,3.5vw,3.55rem)!important;}
.order-page-ultra .online-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;perspective:1200px;}
.order-page-ultra .online-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden;
  border-radius:25px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 18px 42px rgba(64,49,72,.09),inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(12px) saturate(145%);
  animation:none!important;
  transition:box-shadow .26s ease,transform .26s ease!important;
}
.order-page-ultra .online-card:hover{box-shadow:0 28px 58px rgba(64,49,72,.15),0 0 0 1px rgba(255,171,136,.08)!important;}
.order-page-ultra .online-card-media{height:178px!important;min-height:178px!important;overflow:hidden;}
.order-page-ultra .online-card-media img{width:100%;height:100%;min-height:0!important;object-fit:cover;filter:saturate(1.08) contrast(1.03);}
.order-page-ultra .online-card-body{flex:1;padding:15px 15px 14px!important;}
.order-page-ultra .online-card h3{font-size:.91rem!important;line-height:1.18!important;}
.order-page-ultra .online-card-body p{font-size:.66rem!important;line-height:1.48!important;margin:8px 0 12px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.order-page-ultra .online-price{font-size:.82rem!important;}
.order-page-ultra .online-add,.order-page-ultra .online-call-add{border-radius:12px!important;box-shadow:0 12px 24px rgba(194,73,65,.20),inset 0 1px 0 rgba(255,255,255,.22)!important;}
.order-page-ultra .online-cart{
  top:156px!important;
  padding:17px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.74)!important;
  border:1px solid rgba(255,255,255,.92)!important;
  box-shadow:0 28px 72px rgba(60,43,67,.14)!important;
  backdrop-filter:blur(24px) saturate(155%)!important;
}
.order-page-ultra .online-cart-location{background:linear-gradient(135deg,rgba(215,204,255,.28),rgba(255,207,183,.22))!important;}
.order-page-ultra .online-source-note{background:rgba(255,255,255,.54)!important;backdrop-filter:blur(12px);}
.order-page-ultra .online-checkout{border-radius:17px!important;transition:transform .25s ease,box-shadow .25s ease!important;}
@media(max-width:1320px){
  .order-page-ultra .online-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:1050px){
  .order-xp-grid{grid-template-columns:1fr 440px!important;}
  .order-xp-visual{min-height:450px;}
  .order-page-ultra .online-store-layout{grid-template-columns:minmax(0,1fr) 320px!important;}
}
@media(max-width:900px){
  .order-xp-grid{grid-template-columns:1fr!important;padding-top:84px!important;}
  .order-xp-visual{min-height:390px;}
  .order-page-ultra .online-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .order-page-ultra .online-store-layout{display:block!important;}
}
@media(max-width:660px){
  .order-xp-hero{min-height:auto!important;padding-bottom:20px;}
  .order-xp-grid{padding:80px 14px 20px!important;gap:20px!important;}
  .order-page-ultra .online-hero h1{font-size:clamp(2.65rem,12.8vw,4.15rem)!important;max-width:11ch!important;}
  .order-xp-visual{min-height:315px;border-radius:30px;}
  .order-xp-photo-stack{width:50%;right:12px;top:46px;}
  .order-xp-glass-top{top:12px;left:12px;max-width:175px;}
  .order-xp-glass-bottom{right:12px;bottom:12px;max-width:210px;}
  .order-flavor-track figure{flex-basis:148px;height:96px;border-radius:18px;}
  .order-page-ultra .online-grid{grid-template-columns:1fr!important;}
  .order-page-ultra .online-card{display:grid!important;grid-template-columns:125px 1fr!important;min-height:168px!important;}
  .order-page-ultra .online-card-media{height:100%!important;min-height:168px!important;}
  .order-page-ultra .online-card-body{padding:13px!important;}
}
@media(prefers-reduced-motion:reduce){
  .order-flavor-track{animation:none!important;transform:none!important;}
  .order-xp-video{transform:none!important;}
}

/* =========================================================
   V82 — HOME HERO REFERENCE EXACT
   REPLACES failed V81 hero attempt; continues approved V80.
   Scope: HOME hero only. Reference image is NOT embedded.
   Composition is recreated in HTML/CSS using existing site assets.
   ========================================================= */
.home-v82-page .home-v82-hero{
  --v82-orange:#F06B12;
  --v82-orange-deep:#D95009;
  --v82-green:#7F9E13;
  --v82-green-deep:#5E7B0A;
  --v82-cream:#F5F0E5;
  --v82-ink:#071012;
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:clamp(720px,52vw,930px);
  overflow:hidden;
  background:#081013;
  color:#fff;
}
.home-v82-scene,
.home-v82-left-shade,
.home-v82-three{
  position:absolute;
  inset:0;
}
.home-v82-scene{z-index:-5;overflow:hidden;background:#091116;}
.home-v82-sky-video,
.home-v82-sky-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:53% 48%;
}
.home-v82-sky-video{
  z-index:-5;
  transform:scale(1.075);
  filter:saturate(.95) contrast(1.08) brightness(.72) sepia(.10);
}
.home-v82-sky-fallback{
  z-index:-6;
  background:url('images/spring-lake-bridge-background.jpg') 53% 48%/cover no-repeat;
  filter:saturate(.92) contrast(1.06) brightness(.75) sepia(.08);
}
.home-v82-dusk-grade{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 64% 30%,rgba(251,171,94,.32),transparent 26rem),
    linear-gradient(180deg,rgba(3,9,13,.16),rgba(4,8,10,.10) 48%,rgba(3,8,8,.36)),
    linear-gradient(90deg,rgba(4,10,12,.95) 0%,rgba(4,10,12,.90) 27%,rgba(4,10,12,.68) 43%,rgba(4,10,12,.22) 61%,rgba(4,10,12,.05) 100%);
  mix-blend-mode:normal;
}
.home-v82-three{
  z-index:-1;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.50;
}
.home-v82-left-shade{
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(1,8,10,.96) 0%,rgba(1,8,10,.92) 24%,rgba(1,8,10,.76) 40%,rgba(1,8,10,.36) 55%,transparent 72%),
    linear-gradient(180deg,transparent 0 68%,rgba(1,7,7,.30));
}

/* Rebuilt right-side restaurant composition — DOM/CSS, not a generated image. */
.home-v82-restaurant{
  position:absolute;
  z-index:-2;
  right:-3.5%;
  bottom:-1%;
  width:min(56vw,980px);
  height:60%;
  transform-origin:80% 100%;
  filter:drop-shadow(0 35px 65px rgba(0,0,0,.30));
}
.home-v82-roof{
  position:absolute;
  left:0;
  right:0;
  top:4%;
  height:15%;
  border-radius:16px 0 0 4px;
  background:linear-gradient(180deg,#353A3A,#14191A 72%,#090C0D);
  clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 38%);
  box-shadow:0 10px 24px rgba(0,0,0,.38);
}
.home-v82-store-sign{
  position:absolute;
  z-index:4;
  left:5%;
  right:23%;
  top:-1%;
  height:27%;
  display:grid;
  grid-template-columns:1.1fr .9fr .34fr;
  overflow:hidden;
  border:7px solid #24292B;
  border-radius:8px;
  background:#FFF4D7;
  box-shadow:0 14px 32px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.5);
  transform:perspective(900px) rotateX(1deg) rotateY(-2deg);
}
.home-v82-store-sign-logo{
  display:grid;
  place-items:center;
  padding:6px 10px;
  background:linear-gradient(135deg,#FFF8E7,#F5E9CA);
}
.home-v82-store-sign-logo img{
  width:90%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 8px rgba(66,40,22,.15));
}
.home-v82-store-menu{
  background:url('images/menu-pages/page-3-house-specials.png') 50% 20%/170% auto no-repeat;
  filter:saturate(.95) contrast(1.02) brightness(1.04);
  border-left:2px solid rgba(115,60,24,.18);
}
.home-v82-store-food{
  background:url('images/menu-premium/food-fajita-plate.jpg') 54% 50%/cover no-repeat;
  filter:saturate(1.15) contrast(1.03);
}
.home-v82-facade{
  position:absolute;
  inset:13% 0 0 0;
  overflow:hidden;
  border-radius:2px 0 0 0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.10),transparent 24%),
    repeating-linear-gradient(0deg,rgba(69,31,19,.0) 0 20px,rgba(255,255,255,.045) 20px 22px),
    repeating-linear-gradient(90deg,#6F3525 0 62px,#8E4A33 62px 118px,#62301F 118px 174px,#8B4932 174px 230px);
  box-shadow:inset 0 0 70px rgba(15,7,4,.38);
}
.home-v82-facade::before{
  content:"";
  position:absolute;
  inset:39% 9% 7% 10%;
  border:7px solid #23292B;
  border-bottom-width:12px;
  background:
    linear-gradient(90deg,transparent 24%,#202526 24% 26%,transparent 26% 49%,#202526 49% 51%,transparent 51% 74%,#202526 74% 76%,transparent 76%),
    linear-gradient(180deg,transparent 47%,#202526 47% 50%,transparent 50%),
    linear-gradient(180deg,rgba(254,204,108,.78),rgba(104,68,42,.36));
  box-shadow:inset 0 0 40px rgba(255,198,90,.25),0 0 24px rgba(255,164,64,.10);
}
.home-v82-facade::after{
  content:"";
  position:absolute;
  left:10%;
  right:9%;
  bottom:4%;
  height:10%;
  background:linear-gradient(180deg,#4B514F,#242827);
  border-radius:3px;
}
.home-v82-window-row{
  position:absolute;
  z-index:3;
  left:12%;
  right:10%;
  top:57%;
  bottom:11%;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  pointer-events:none;
}
.home-v82-window-row span{
  position:relative;
  border-left:2px solid rgba(255,255,255,.10);
  border-right:1px solid rgba(0,0,0,.32);
  background:linear-gradient(180deg,rgba(243,184,93,.18),rgba(5,8,9,.38));
}
.home-v82-window-row span::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  top:12%;
  height:5px;
  border-radius:99px;
  background:#F8C26C;
  box-shadow:0 0 15px rgba(255,192,88,.65);
}
.home-v82-door{
  position:absolute;
  z-index:5;
  right:17%;
  bottom:8%;
  width:12%;
  height:38%;
  border:5px solid #222728;
  background:linear-gradient(180deg,rgba(246,190,99,.38),rgba(13,18,19,.74));
}
.home-v82-patio{
  position:absolute;
  z-index:5;
  left:15%;
  right:4%;
  bottom:0;
  height:24%;
}
.home-v82-umbrella{
  position:absolute;
  bottom:22%;
  width:4px;
  height:78%;
  background:#15191A;
}
.home-v82-umbrella::before{
  content:"";
  position:absolute;
  top:-4%;
  left:50%;
  width:78px;
  height:26px;
  transform:translateX(-50%);
  border-radius:80% 80% 8px 8px;
  background:#111516;
  box-shadow:0 10px 22px rgba(0,0,0,.26);
}
.umbrella-a{left:24%;}.umbrella-b{left:50%;}
.home-v82-table{
  position:absolute;
  bottom:12%;
  width:95px;
  height:4px;
  border-radius:99px;
  background:#161B1B;
  box-shadow:0 15px 0 -1px #15191A;
}
.home-v82-table::before,
.home-v82-table::after{
  content:"";
  position:absolute;
  top:4px;
  width:3px;
  height:40px;
  background:#171B1C;
}
.home-v82-table::before{left:22%;}.home-v82-table::after{right:22%;}
.table-a{left:18%;}.table-b{left:47%;}
.home-v82-road-shadow{
  position:absolute;
  z-index:-1;
  left:38%;
  right:-8%;
  bottom:-3%;
  height:19%;
  background:linear-gradient(180deg,rgba(20,23,22,.18),rgba(1,6,6,.72));
  clip-path:polygon(8% 0,100% 18%,100% 100%,0 100%);
}

.home-v82-pole-sign{
  position:absolute;
  z-index:3;
  right:13.5%;
  top:2.5%;
  width:250px;
  transform:perspective(1100px) rotateY(-10deg) rotateZ(1.5deg);
  transform-origin:center bottom;
  pointer-events:none;
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.36));
}
.home-v82-pole-sign-case{
  position:relative;
  padding:13px 14px;
  border-radius:24px;
  background:linear-gradient(145deg,#191F21,#080B0C);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.025);
}
.home-v82-pole-sign-case::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:14px;
  box-shadow:inset 0 0 18px rgba(255,168,53,.12);
  pointer-events:none;
}
.home-v82-pole-sign-case img{
  width:100%;
  height:145px;
  object-fit:contain;
  border-radius:13px;
  padding:8px;
  background:linear-gradient(145deg,#FFF7DE,#F7E6BD);
}
.home-v82-pole{
  display:block;
  width:24px;
  height:180px;
  margin:0 auto;
  background:linear-gradient(90deg,#F1EEE8,#A9A7A3,#F7F3EC);
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}

.home-v82-shell{
  position:relative;
  z-index:4;
  width:min(1530px,calc(100% - 7vw));
  min-height:inherit;
  margin:auto;
  display:flex;
  align-items:center;
  padding:48px 0 54px;
}
.home-v82-copy{
  width:min(650px,45.5%);
  padding-top:8px;
}
.home-v82-brandline{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:11px;
  color:var(--v82-orange);
  font-family:'Roboto Slab','Rockwell Extra Bold',Rockwell,Georgia,serif;
  font-size:clamp(2rem,3.55vw,4.1rem);
  line-height:1;
  letter-spacing:.045em;
  font-weight:950;
  text-shadow:0 10px 26px rgba(0,0,0,.36),0 0 22px rgba(240,107,18,.08);
}
.home-v82-leaf{
  display:inline-block;
  color:#86A70D;
  font-size:.75em;
  transform:rotate(-17deg);
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.35));
}
.home-v82-leaf-right{transform:scaleX(-1) rotate(-17deg);}
.home-v82-copy h1{
  margin:0;
  display:grid;
  gap:0;
  color:var(--v82-cream);
  font-family:'Roboto Slab','Rockwell Extra Bold',Rockwell,Georgia,serif;
  font-size:clamp(4.4rem,6.7vw,7.7rem);
  line-height:.85;
  letter-spacing:-.043em;
  font-weight:950;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(255,255,255,.14),0 18px 35px rgba(0,0,0,.40);
}
.home-v82-copy h1 span{display:block;}
.home-v82-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:9px;
  width:min(535px,88%);
  margin:25px 0 22px;
  color:var(--v82-orange);
}
.home-v82-divider i{
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--v82-green),var(--v82-orange),var(--v82-green));
}
.home-v82-divider b{
  color:var(--v82-orange);
  font-size:.9rem;
  text-shadow:-10px 0 var(--v82-green),10px 0 var(--v82-green);
}
.home-v82-subtitle{
  margin:0;
  color:#8DAC16;
  font-size:clamp(1.05rem,1.55vw,1.52rem);
  line-height:1.2;
  font-weight:950;
  text-shadow:0 7px 18px rgba(0,0,0,.44);
}
.home-v82-desc{
  margin:11px 0 0;
  max-width:560px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1rem,1.22vw,1.26rem);
  line-height:1.62;
  text-shadow:0 6px 18px rgba(0,0,0,.50);
}
.home-v82-actions{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-top:27px;
}
.home-v82-btn{
  min-width:235px;
  min-height:74px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border-radius:13px;
  text-decoration:none;
  color:#fff;
  font-size:clamp(1rem,1.2vw,1.2rem);
  font-weight:950;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);
  transition:filter .25s ease,box-shadow .25s ease;
  will-change:transform;
}
.home-v82-btn svg{
  width:35px;
  height:35px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-v82-btn-menu{
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 38%),
    linear-gradient(145deg,#789B13,#5A7608);
  box-shadow:0 20px 36px rgba(0,0,0,.26),0 0 0 1px rgba(145,180,30,.22),inset 0 1px 0 rgba(255,255,255,.16);
}
.home-v82-btn-order{
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 38%),
    linear-gradient(145deg,#F27A16,#D75C05);
  box-shadow:0 20px 36px rgba(0,0,0,.26),0 0 0 1px rgba(239,105,15,.20),inset 0 1px 0 rgba(255,255,255,.16);
}
.home-v82-btn:hover{
  filter:brightness(1.08) saturate(1.04);
  box-shadow:0 26px 50px rgba(0,0,0,.34),0 0 30px rgba(255,255,255,.05);
}
.home-v82-features{
  width:min(615px,96%);
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  color:#fff;
}
.home-v82-feature{
  min-height:64px;
  display:flex;
  align-items:center;
  gap:12px;
  padding-right:18px;
}
.home-v82-feature + .home-v82-feature{
  border-left:1px solid rgba(134,167,13,.62);
  padding-left:24px;
}
.home-v82-feature svg{
  width:48px;
  height:48px;
  flex:0 0 48px;
  fill:none;
  stroke:var(--v82-green);
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 12px rgba(134,167,13,.12));
}
.home-v82-feature:nth-child(2) svg{stroke:var(--v82-orange);}
.home-v82-feature span{
  font-size:.73rem;
  line-height:1.55;
  font-weight:900;
  letter-spacing:.035em;
}
.home-v82-social{
  right:clamp(10px,1.25vw,22px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  padding:10px 8px;
  border-radius:999px;
  background:rgba(9,14,16,.30);
  border:1px solid rgba(255,255,255,.11);
  backdrop-filter:blur(18px) saturate(135%);
}
.home-v82-page .overlap-favorites{margin-top:-48px;padding-top:0;position:relative;z-index:7;}

@media(max-width:1180px){
  .home-v82-shell{width:min(1120px,calc(100% - 48px));}
  .home-v82-copy{width:53%;}
  .home-v82-restaurant{width:58vw;height:57%;right:-6%;}
  .home-v82-pole-sign{width:205px;right:6.5%;top:3%;}
  .home-v82-pole-sign-case img{height:116px;}
  .home-v82-pole{height:130px;}
  .home-v82-btn{min-width:205px;min-height:66px;}
}
@media(max-width:900px){
  .home-v82-page .home-v82-hero{min-height:800px;}
  .home-v82-shell{width:calc(100% - 34px);padding:44px 0 46px;align-items:flex-end;}
  .home-v82-copy{width:70%;}
  .home-v82-copy h1{font-size:clamp(3.7rem,9vw,6rem);}
  .home-v82-brandline{font-size:clamp(1.8rem,4vw,2.8rem);}
  .home-v82-restaurant{width:66vw;height:52%;right:-12%;opacity:.96;}
  .home-v82-store-sign{left:2%;right:19%;}
  .home-v82-pole-sign{right:3%;top:3%;width:170px;}
  .home-v82-pole-sign-case img{height:90px;}
  .home-v82-pole{height:92px;width:18px;}
  .home-v82-features{margin-top:30px;}
}
@media(max-width:680px){
  .home-v82-page .home-v82-hero{min-height:850px;}
  .home-v82-sky-video{object-position:58% 48%;filter:saturate(.9) contrast(1.06) brightness(.63) sepia(.08);}
  .home-v82-left-shade{
    background:linear-gradient(180deg,rgba(2,8,10,.48),rgba(2,8,10,.75) 30%,rgba(2,8,10,.94) 64%,rgba(2,8,10,.98));
  }
  .home-v82-restaurant{width:96vw;height:39%;right:-25%;top:3%;bottom:auto;opacity:.84;}
  .home-v82-store-sign{left:4%;right:18%;height:32%;}
  .home-v82-patio{display:none;}
  .home-v82-shell{width:calc(100% - 28px);align-items:flex-end;padding:82px 0 34px;}
  .home-v82-copy{width:100%;padding-top:300px;}
  .home-v82-pole-sign{right:14px;top:16px;width:138px;opacity:.94;}
  .home-v82-pole-sign-case{padding:8px;border-radius:15px;}
  .home-v82-pole-sign-case img{height:68px;border-radius:9px;}
  .home-v82-pole{height:64px;width:14px;}
  .home-v82-brandline{font-size:1.64rem;gap:9px;}
  .home-v82-copy h1{font-size:clamp(2.95rem,12.6vw,3.7rem);line-height:.86;letter-spacing:-.047em;}
  .home-v82-divider{margin:18px 0 16px;width:94%;}
  .home-v82-subtitle{font-size:1rem;}
  .home-v82-desc{font-size:.92rem;line-height:1.55;}
  .home-v82-desktop-br{display:none;}
  .home-v82-actions{gap:10px;margin-top:20px;}
  .home-v82-btn{flex:1 1 150px;min-width:0;min-height:58px;padding:0 14px;border-radius:12px;font-size:.90rem;}
  .home-v82-btn svg{width:29px;height:29px;}
  .home-v82-features{grid-template-columns:1fr;gap:8px;margin-top:25px;width:100%;}
  .home-v82-feature{min-height:44px;padding:0!important;border:0!important;}
  .home-v82-feature svg{width:38px;height:38px;flex-basis:38px;}
  .home-v82-social{display:none!important;}
  .home-v82-page .overlap-favorites{margin-top:-22px;}
}
@media(prefers-reduced-motion:reduce){
  .home-v82-sky-video{display:none;}
  .home-v82-three{display:none;}
}


/* =========================================================
   V83 — HOME HERO REFERENCE MATCH
   Scope: HOME hero only.
   The supplied reference image is NOT embedded.
   Existing project photography/assets are recomposed to match
   the reference structure much more closely.
   ========================================================= */

.home-v83-page .home-v82-hero{
  --v83-orange:#ef6b12;
  --v83-green:#819e13;
  --v83-cream:#f3eee1;
  min-height:clamp(760px,54vw,950px);
  background:#071012;
}

/* Cinematic sky / landscape base */
.home-v83-page .home-v82-sky-video{
  object-position:52% 48%;
  transform:scale(1.05);
  filter:saturate(.82) contrast(1.14) brightness(.56) sepia(.18);
}
.home-v83-page .home-v82-sky-fallback{
  background:url('images/spring-lake-bridge-background.jpg') 52% 48%/cover no-repeat;
  filter:saturate(.78) contrast(1.12) brightness(.58) sepia(.16);
}
.home-v83-page .home-v82-dusk-grade{
  background:
    radial-gradient(circle at 65% 28%,rgba(235,148,72,.22),transparent 28rem),
    linear-gradient(180deg,rgba(5,13,17,.10),rgba(4,10,12,.20) 55%,rgba(2,8,8,.42)),
    linear-gradient(90deg,rgba(2,9,11,.98) 0%,rgba(2,9,11,.96) 26%,rgba(2,9,11,.86) 39%,rgba(2,9,11,.48) 53%,rgba(2,9,11,.15) 69%,rgba(2,9,11,.03) 100%);
}
.home-v83-page .home-v82-left-shade{
  background:
    linear-gradient(90deg,rgba(0,8,10,.99) 0%,rgba(0,8,10,.97) 25%,rgba(0,8,10,.89) 38%,rgba(0,8,10,.64) 49%,rgba(0,8,10,.18) 65%,transparent 77%),
    linear-gradient(180deg,rgba(0,0,0,.02),transparent 58%,rgba(0,7,7,.42));
}

/* Replace the synthetic façade with an existing photographic site asset.
   This gives the right side a true photographic field while preserving
   the user's rule not to bake the supplied reference image into the site. */
.home-v83-page .home-v82-restaurant{
  z-index:-2;
  right:-2.5%;
  bottom:-1.5%;
  width:min(62vw,1080px);
  height:69%;
  opacity:1;
  overflow:hidden;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(4,11,12,.02),rgba(4,11,12,.08) 48%,rgba(2,8,8,.26)),
    url('images/decor/cta-fresh-billboard-blend.jpg') 52% 47%/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 7%,#000 18%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 7%,#000 18%,#000 100%);
  filter:saturate(.93) contrast(1.08) brightness(.76) sepia(.08) drop-shadow(0 30px 55px rgba(0,0,0,.26));
  transform:none;
}
.home-v83-page .home-v82-restaurant::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,10,11,.38),transparent 22%),
    linear-gradient(180deg,transparent 55%,rgba(2,8,8,.22));
  pointer-events:none;
}
.home-v83-page .home-v82-roof,
.home-v83-page .home-v82-store-sign,
.home-v83-page .home-v82-facade,
.home-v83-page .home-v82-window-row,
.home-v83-page .home-v82-door,
.home-v83-page .home-v82-patio{
  display:none!important;
}

/* Road / lawn depth at the bottom, matching the reference silhouette */
.home-v83-page .home-v82-road-shadow{
  left:0;
  right:0;
  bottom:-1px;
  height:22%;
  clip-path:none;
  background:
    linear-gradient(180deg,transparent,rgba(1,6,6,.24) 28%,rgba(0,5,5,.64) 100%),
    radial-gradient(ellipse at 74% 30%,rgba(119,112,52,.16),transparent 30%);
}

/* Tall roadside sign, positioned like the reference */
.home-v83-page .home-v82-pole-sign{
  right:10.7%;
  top:1.4%;
  width:255px;
  transform:perspective(1100px) rotateY(-9deg) rotateZ(1deg);
  filter:drop-shadow(0 25px 38px rgba(0,0,0,.42));
}
.home-v83-page .home-v82-pole-sign-case{
  padding:12px;
  border-radius:22px;
  background:linear-gradient(145deg,#1a1f20,#070a0b);
  border:1px solid rgba(255,255,255,.14);
}
.home-v83-page .home-v82-pole-sign-case img{
  height:148px;
  padding:7px;
  background:linear-gradient(145deg,#fff8e3,#f4e5c4);
}
.home-v83-page .home-v82-pole{
  width:24px;
  height:215px;
  background:linear-gradient(90deg,#eeeae2,#a7a39d,#f5f1e8);
}

/* Exact left-side proportion and rhythm from the reference */
.home-v83-page .home-v82-shell{
  width:min(1600px,calc(100% - 7vw));
  padding:66px 0 72px;
  align-items:center;
}
.home-v83-page .home-v82-copy{
  width:min(665px,44.2%);
  padding-top:0;
}
.home-v83-page .home-v82-brandline{
  margin-bottom:18px;
  gap:13px;
  color:var(--v83-orange);
  font-family:Rockwell,'Roboto Slab','Courier New',Georgia,serif;
  font-size:clamp(2.05rem,3.55vw,4rem);
  line-height:.92;
  letter-spacing:.035em;
  font-weight:950;
  text-shadow:0 8px 26px rgba(0,0,0,.45);
}
.home-v83-page .home-v82-leaf{
  color:#8aa80d;
  font-size:.72em;
}
.home-v83-page .home-v82-copy h1{
  color:var(--v83-cream);
  font-family:Rockwell,'Roboto Slab','Courier New',Georgia,serif;
  font-size:clamp(4.7rem,6.55vw,7.65rem);
  line-height:.84;
  letter-spacing:-.032em;
  font-weight:950;
  text-shadow:
    0 2px 0 rgba(255,255,255,.12),
    0 13px 31px rgba(0,0,0,.45);
  -webkit-text-stroke:.3px rgba(255,255,255,.12);
}
.home-v83-page .home-v82-divider{
  width:min(545px,90%);
  margin:27px 0 25px;
}
.home-v83-page .home-v82-divider i{
  height:2px;
  background:linear-gradient(90deg,#6f910b 0 13%,var(--v83-orange) 30% 68%,#75970b 86% 100%);
}
.home-v83-page .home-v82-subtitle{
  color:#8ba91a;
  font-size:clamp(1.08rem,1.48vw,1.52rem);
  line-height:1.18;
}
.home-v83-page .home-v82-desc{
  margin-top:12px;
  font-size:clamp(1.01rem,1.18vw,1.23rem);
  line-height:1.62;
  color:rgba(255,255,255,.93);
}
.home-v83-page .home-v82-actions{
  gap:26px;
  margin-top:29px;
}
.home-v83-page .home-v82-btn{
  min-width:248px;
  min-height:74px;
  padding:0 30px;
  border-radius:13px;
  font-size:clamp(1rem,1.16vw,1.18rem);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 20px 40px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.17);
}
.home-v83-page .home-v82-btn-menu{
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 40%),
    linear-gradient(145deg,#78960f,#5a7608);
}
.home-v83-page .home-v82-btn-order{
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 40%),
    linear-gradient(145deg,#f47b16,#d95c06);
}
.home-v83-page .home-v82-features{
  width:min(610px,96%);
  margin-top:48px;
}
.home-v83-page .home-v82-feature{
  min-height:68px;
  gap:12px;
}
.home-v83-page .home-v82-feature svg{
  width:49px;
  height:49px;
  flex-basis:49px;
}
.home-v83-page .home-v82-feature span{
  font-size:.75rem;
  line-height:1.48;
}

/* Reference hero is visually clean: hide the social dock only on HOME hero.
   Social links remain in the footer and on the other page heroes. */
.home-v83-page .home-v82-social{display:none!important;}

/* Keep the approved card overlap below the hero, but do not let it cover the feature row. */
.home-v83-page .overlap-favorites{
  margin-top:-28px!important;
}

@media(max-width:1180px){
  .home-v83-page .home-v82-shell{width:calc(100% - 42px);}
  .home-v83-page .home-v82-copy{width:52%;}
  .home-v83-page .home-v82-restaurant{width:65vw;height:63%;right:-8%;}
  .home-v83-page .home-v82-pole-sign{right:5.5%;width:205px;}
  .home-v83-page .home-v82-pole-sign-case img{height:114px;}
  .home-v83-page .home-v82-pole{height:150px;}
  .home-v83-page .home-v82-btn{min-width:205px;min-height:66px;}
}

@media(max-width:900px){
  .home-v83-page .home-v82-hero{min-height:820px;}
  .home-v83-page .home-v82-shell{padding:54px 0 50px;align-items:flex-end;}
  .home-v83-page .home-v82-copy{width:70%;}
  .home-v83-page .home-v82-copy h1{font-size:clamp(3.65rem,9.1vw,5.9rem);}
  .home-v83-page .home-v82-brandline{font-size:clamp(1.8rem,4vw,2.75rem);}
  .home-v83-page .home-v82-restaurant{width:72vw;height:53%;right:-14%;bottom:0;}
  .home-v83-page .home-v82-pole-sign{right:2.5%;top:2%;width:165px;}
  .home-v83-page .home-v82-pole-sign-case img{height:88px;}
  .home-v83-page .home-v82-pole{height:95px;width:18px;}
}

@media(max-width:680px){
  .home-v83-page .home-v82-hero{min-height:900px;}
  .home-v83-page .home-v82-left-shade{
    background:linear-gradient(180deg,rgba(1,8,10,.25),rgba(1,8,10,.70) 30%,rgba(1,8,10,.94) 60%,rgba(1,8,10,.99));
  }
  .home-v83-page .home-v82-restaurant{
    width:112vw;
    height:38%;
    right:-33%;
    top:2%;
    bottom:auto;
    opacity:.76;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
  }
  .home-v83-page .home-v82-shell{width:calc(100% - 28px);padding:74px 0 34px;align-items:flex-end;}
  .home-v83-page .home-v82-copy{width:100%;padding-top:315px;}
  .home-v83-page .home-v82-pole-sign{right:13px;top:15px;width:134px;opacity:.95;}
  .home-v83-page .home-v82-pole-sign-case{padding:7px;border-radius:14px;}
  .home-v83-page .home-v82-pole-sign-case img{height:66px;border-radius:8px;}
  .home-v83-page .home-v82-pole{height:62px;width:13px;}
  .home-v83-page .home-v82-brandline{font-size:1.58rem;gap:8px;}
  .home-v83-page .home-v82-copy h1{font-size:clamp(2.85rem,12.4vw,3.65rem);line-height:.86;}
  .home-v83-page .home-v82-divider{margin:18px 0 16px;width:94%;}
  .home-v83-page .home-v82-subtitle{font-size:1rem;}
  .home-v83-page .home-v82-desc{font-size:.91rem;line-height:1.55;}
  .home-v83-page .home-v82-actions{gap:10px;margin-top:20px;}
  .home-v83-page .home-v82-btn{flex:1 1 150px;min-width:0;min-height:58px;padding:0 13px;border-radius:12px;font-size:.89rem;}
  .home-v83-page .home-v82-btn svg{width:28px;height:28px;}
  .home-v83-page .home-v82-features{grid-template-columns:1fr;gap:8px;margin-top:26px;width:100%;}
  .home-v83-page .home-v82-feature{min-height:44px;padding:0!important;border:0!important;}
  .home-v83-page .home-v82-feature svg{width:37px;height:37px;flex-basis:37px;}
  .home-v83-page .overlap-favorites{margin-top:-16px!important;}
}


/* =========================================================
   V84 — HOME HERO BACKGROUND SWAP
   Scope: HOME hero only. Text, buttons, and layout preserved.
   Change requested by user: swap only the hero background imagery
   to use the two newly supplied restaurant photographs.
   ========================================================= */
.home-v84-page .home-v82-sky-video,
.home-v84-page .home-v82-sky-fallback,
.home-v84-page .home-v82-three{
  display:none!important;
}
.home-v84-page .home-v82-scene{
  background:
    linear-gradient(180deg,rgba(4,10,12,.10),rgba(4,10,12,.34) 62%,rgba(1,7,8,.58)),
    url('images/decor/home-hero-road-photo-v84.jpg') 56% 50%/cover no-repeat;
}
.home-v84-page .home-v82-dusk-grade{
  background:
    radial-gradient(circle at 66% 26%,rgba(245,184,103,.14),transparent 24rem),
    linear-gradient(180deg,rgba(4,10,12,.05),rgba(4,10,12,.14) 48%,rgba(2,8,8,.34)),
    linear-gradient(90deg,rgba(2,9,11,.98) 0%,rgba(2,9,11,.95) 26%,rgba(2,9,11,.82) 40%,rgba(2,9,11,.42) 56%,rgba(2,9,11,.08) 72%,transparent 100%);
}
.home-v84-page .home-v82-left-shade{
  background:
    linear-gradient(90deg,rgba(0,8,10,.98) 0%,rgba(0,8,10,.96) 24%,rgba(0,8,10,.90) 39%,rgba(0,8,10,.62) 52%,rgba(0,8,10,.18) 67%,transparent 80%),
    linear-gradient(180deg,rgba(0,0,0,.03),transparent 62%,rgba(0,7,7,.34));
}
.home-v84-page .home-v82-restaurant{
  right:0;
  bottom:0;
  width:min(63vw,1040px);
  height:100%;
  background:
    linear-gradient(180deg,rgba(4,11,12,.02),rgba(4,11,12,.10) 54%,rgba(2,8,8,.24)),
    url('images/decor/home-hero-restaurant-photo-v84.jpg') 58% 49%/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,#000 22%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,#000 22%,#000 100%);
  filter:saturate(1.01) contrast(1.02) brightness(.95) drop-shadow(0 26px 46px rgba(0,0,0,.24));
}
.home-v84-page .home-v82-restaurant::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,10,11,.18),transparent 22%),
    linear-gradient(180deg,rgba(255,255,255,.02),transparent 24%,rgba(2,8,8,.12) 84%,rgba(2,8,8,.18));
  pointer-events:none;
}
.home-v84-page .home-v82-pole-sign,
.home-v84-page .home-v82-roof,
.home-v84-page .home-v82-store-sign,
.home-v84-page .home-v82-facade,
.home-v84-page .home-v82-window-row,
.home-v84-page .home-v82-door,
.home-v84-page .home-v82-patio{
  display:none!important;
}
.home-v84-page .home-v82-road-shadow{
  left:0;
  right:0;
  bottom:-1px;
  height:18%;
  clip-path:none;
  background:linear-gradient(180deg,transparent,rgba(1,6,6,.12) 42%,rgba(0,5,5,.48) 100%);
}
@media(max-width:1180px){
  .home-v84-page .home-v82-restaurant{width:min(68vw,940px);background-position:60% 46%;}
}
@media(max-width:900px){
  .home-v84-page .home-v82-restaurant{width:82vw;height:78%;right:-10%;background-position:57% 44%;}
}
@media(max-width:680px){
  .home-v84-page .home-v82-left-shade{
    background:linear-gradient(180deg,rgba(1,8,10,.24),rgba(1,8,10,.64) 28%,rgba(1,8,10,.94) 58%,rgba(1,8,10,.99));
  }
  .home-v84-page .home-v82-scene{
    background:
      linear-gradient(180deg,rgba(4,10,12,.03),rgba(4,10,12,.22) 54%,rgba(1,7,8,.54)),
      url('images/decor/home-hero-road-photo-v84.jpg') 66% 52%/cover no-repeat;
  }
  .home-v84-page .home-v82-restaurant{
    width:115vw;
    height:42%;
    right:-28%;
    top:1%;
    bottom:auto;
    opacity:.82;
    background-position:58% 35%;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
  }
}


/* =========================================================
   V85 — HOME CTA BENTO GRID
   Scope only: section immediately below Social Proof reviews.
   Design direction: Bento Grid / microinteractions / immersion /
   minimalism. Existing CTA copy, actions and signature-heat story
   are preserved and redistributed into the new layout.
   ========================================================= */
.dinner-v85-section{
  --v85-ink:#17342b;
  --v85-green:#1d4f3d;
  --v85-green-deep:#123b2f;
  --v85-coral:#ee765e;
  --v85-orange:#f0a24c;
  --v85-cream:#fff8eb;
  --v85-paper:#fffdf7;
  --v85-line:rgba(23,52,43,.12);
  position:relative;
  margin-top:-12px;
  padding:clamp(36px,5vw,74px) 0 clamp(70px,8vw,116px) !important;
  overflow:clip;
  background:
    radial-gradient(circle at 12% 24%,rgba(240,162,76,.12),transparent 24rem),
    radial-gradient(circle at 88% 68%,rgba(109,157,118,.12),transparent 26rem),
    linear-gradient(180deg,#fffdf8 0%,#fff9ee 52%,#fffdf8 100%);
}

.dinner-v85-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background-image:
    linear-gradient(rgba(23,52,43,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,52,43,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 15%,#000 80%,transparent 100%);
}

.dinner-v85-wrap{
  position:relative;
  z-index:1;
  width:min(1320px,calc(100% - 36px));
  max-width:none;
  margin:0 auto;
}

.dinner-v85-bento{
  --v85-pointer-x:72%;
  --v85-pointer-y:26%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:minmax(220px,auto) minmax(176px,auto);
  gap:14px;
  position:relative;
  perspective:1400px;
}

.dinner-v85-bento::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  left:var(--v85-pointer-x);
  top:var(--v85-pointer-y);
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,214,132,.16),rgba(255,214,132,0) 68%);
  filter:blur(2px);
  opacity:.8;
  transition:opacity .35s ease;
}

.dinner-v85-card{
  --v85-rx:0deg;
  --v85-ry:0deg;
  --v85-lift:0px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--v85-line);
  border-radius:30px;
  box-shadow:0 24px 64px rgba(38,49,39,.09);
  transform:perspective(1200px) translateY(var(--v85-lift)) rotateX(var(--v85-rx)) rotateY(var(--v85-ry));
  transform-style:preserve-3d;
  transition:
    transform .7s cubic-bezier(.16,1,.3,1),
    box-shadow .7s cubic-bezier(.16,1,.3,1),
    border-color .4s ease;
  will-change:transform;
}

.dinner-v85-card:hover{
  --v85-lift:-7px;
  border-color:rgba(23,52,43,.20);
  box-shadow:0 32px 78px rgba(30,46,37,.14);
}

.dinner-v85-lead{
  grid-column:span 7;
  grid-row:span 2;
  min-height:430px;
  padding:clamp(34px,5vw,68px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 82% 10%,rgba(240,162,76,.17),transparent 18rem),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,247,231,.96));
}

.dinner-v85-glow{
  position:absolute;
  width:310px;
  aspect-ratio:1;
  top:-150px;
  right:-90px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,184,96,.35),rgba(255,184,96,0) 70%);
  filter:blur(10px);
  animation:dinnerV85Breath 8s ease-in-out infinite alternate;
}

.dinner-v85-brandmark{
  position:absolute;
  right:clamp(22px,4vw,54px);
  top:clamp(22px,4vw,46px);
  width:clamp(88px,10vw,142px);
  aspect-ratio:1.38;
  display:grid;
  place-items:center;
  opacity:.12;
  transform:translateZ(18px) rotate(-4deg);
}

.dinner-v85-brandmark img{
  width:100%;
  max-height:100%;
  object-fit:contain;
  filter:saturate(.75);
}

.dinner-v85-copy{
  position:relative;
  z-index:2;
  max-width:700px;
  transform:translateZ(24px);
}

.dinner-v85-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
  color:var(--v85-coral) !important;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.dinner-v85-kicker::before{
  content:"";
  width:28px;
  height:1px;
  background:linear-gradient(90deg,var(--v85-orange),var(--v85-coral));
}

.dinner-v85-copy h2{
  margin:0;
  max-width:680px;
  color:var(--v85-ink);
  letter-spacing:-.052em;
  line-height:.92;
}

.dinner-v85-copy h2 span,
.dinner-v85-copy h2 strong{
  display:block;
}

.dinner-v85-copy h2 span{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:clamp(2.55rem,5vw,5.7rem);
  font-weight:650;
}

.dinner-v85-copy h2 strong{
  margin-top:5px;
  color:var(--v85-coral);
  font-family:'Source Serif 4','Playfair Display',Georgia,serif;
  font-size:clamp(2.65rem,5.15vw,5.9rem);
  font-weight:600;
  font-style:italic;
  letter-spacing:-.055em;
}

.dinner-v85-copy p{
  max-width:580px;
  margin:24px 0 0;
  color:#5e665f;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:clamp(.98rem,1.2vw,1.08rem);
  line-height:1.72;
}

.dinner-v85-thread{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:9px;
  width:min(350px,70%);
  margin-top:32px;
  transform:translateZ(15px);
}

.dinner-v85-thread span{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,rgba(29,79,61,.08),rgba(29,79,61,.36));
}

.dinner-v85-thread span:last-child{transform:scaleX(-1)}
.dinner-v85-thread i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--v85-orange);
  box-shadow:0 0 0 5px rgba(240,162,76,.12);
}

.dinner-v85-heat{
  grid-column:span 5;
  min-height:238px;
  padding:clamp(28px,3.2vw,42px);
  display:flex;
  align-items:flex-end;
  background:
    radial-gradient(circle at 82% 28%,rgba(255,184,86,.24),transparent 15rem),
    linear-gradient(145deg,#194b3a 0%,#10372d 100%);
  color:white;
}

.dinner-v85-heat::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:radial-gradient(circle at center,rgba(255,255,255,.55) 0 1px,transparent 1.2px);
  background-size:17px 17px;
  mask-image:linear-gradient(120deg,transparent 8%,#000 68%,transparent 100%);
}

.dinner-v85-heat-copy{
  position:relative;
  z-index:3;
  max-width:61%;
  display:grid;
  gap:8px;
  transform:translateZ(28px);
}

.dinner-v85-heat .flavor-eyebrow{
  color:#ffd38f;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.dinner-v85-heat-copy strong{
  color:#fffaf0;
  font-family:'Source Serif 4','Playfair Display',Georgia,serif;
  font-size:clamp(1.45rem,2.25vw,2.35rem);
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.035em;
}

.dinner-v85-heat-copy > span:last-child{
  color:rgba(255,255,255,.72);
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:.83rem;
  line-height:1.55;
}

.dinner-v85-chili{
  position:absolute;
  z-index:2;
  right:clamp(10px,2vw,30px);
  bottom:-24px;
  width:clamp(110px,13vw,185px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  transform:translateZ(18px) rotate(5deg);
}

.dinner-v85-chili img{
  position:relative;
  z-index:2;
  width:100%;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.26));
  animation:dinnerV85ChiliFloat 5.8s ease-in-out infinite;
}

.dinner-v85-chili-halo{
  position:absolute;
  width:86%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,169,66,.34),rgba(255,169,66,0) 68%);
  filter:blur(4px);
}

.dinner-v85-heat-line{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,transparent,#ffce7a 30%,#ee765e 62%,transparent);
  opacity:.72;
  transform-origin:left;
  animation:dinnerV85Line 7s cubic-bezier(.16,1,.3,1) infinite;
}

.dinner-v85-action{
  grid-column:span 3;
  min-height:176px;
  padding:25px 26px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  text-decoration:none;
  color:inherit;
}

.dinner-v85-order{
  background:linear-gradient(145deg,#ef765e,#e65f4b);
  color:white;
  border-color:rgba(147,61,47,.12);
}

.dinner-v85-menu{
  grid-column:span 2;
  background:linear-gradient(145deg,#f5ae59,#ed9342);
  color:#20372e;
  border-color:rgba(126,78,26,.12);
}

.dinner-v85-action-index{
  position:absolute;
  top:22px;
  left:24px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.16em;
  opacity:.62;
}

.dinner-v85-action-copy{
  position:relative;
  z-index:2;
  max-width:75%;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:clamp(1.08rem,1.6vw,1.48rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.025em;
  transform:translateZ(24px);
}

.dinner-v85-action-arrow{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  font-size:1.18rem;
  transform:translateZ(28px) rotate(0deg);
  transition:transform .55s cubic-bezier(.16,1,.3,1),background .35s ease;
}

.dinner-v85-menu .dinner-v85-action-arrow{
  border-color:rgba(32,55,46,.18);
  background:rgba(255,255,255,.28);
}

.dinner-v85-action:hover .dinner-v85-action-arrow{
  transform:translateZ(28px) translate(3px,-3px) rotate(45deg);
  background:rgba(255,255,255,.26);
}

.dinner-v85-action::before{
  content:"";
  position:absolute;
  inset:auto -30% -65% -30%;
  height:125%;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  transform:scale(.72);
  transition:transform .75s cubic-bezier(.16,1,.3,1);
}

.dinner-v85-action:hover::before{transform:scale(1.12)}

.v85-motion-ready .dinner-v85-card{
  opacity:0;
  transform:perspective(1200px) translateY(24px) scale(.985);
}

.v85-motion-ready .dinner-v85-card.is-v85-visible{
  opacity:1;
  transform:perspective(1200px) translateY(var(--v85-lift)) rotateX(var(--v85-rx)) rotateY(var(--v85-ry)) scale(1);
  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    transform .9s cubic-bezier(.16,1,.3,1),
    box-shadow .7s cubic-bezier(.16,1,.3,1),
    border-color .4s ease;
}

.v85-motion-ready .dinner-v85-card:nth-child(2){transition-delay:.07s}
.v85-motion-ready .dinner-v85-card:nth-child(3){transition-delay:.14s}
.v85-motion-ready .dinner-v85-card:nth-child(4){transition-delay:.21s}

@keyframes dinnerV85Breath{
  from{transform:scale(.92);opacity:.62}
  to{transform:scale(1.12);opacity:1}
}

@keyframes dinnerV85ChiliFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-7px) rotate(2deg)}
}

@keyframes dinnerV85Line{
  0%,18%{transform:scaleX(.18);opacity:.22}
  48%,72%{transform:scaleX(1);opacity:.76}
  100%{transform:scaleX(.38);opacity:.30}
}

@media(max-width:1040px){
  .dinner-v85-bento{
    grid-template-columns:repeat(10,minmax(0,1fr));
    grid-template-rows:auto;
  }
  .dinner-v85-lead{grid-column:span 10;grid-row:auto;min-height:390px}
  .dinner-v85-heat{grid-column:span 10;min-height:220px}
  .dinner-v85-order{grid-column:span 5}
  .dinner-v85-menu{grid-column:span 5}
}

@media(max-width:760px){
  .dinner-v85-section{
    margin-top:0;
    padding:30px 0 72px !important;
  }
  .dinner-v85-wrap{width:min(100% - 24px,680px)}
  .dinner-v85-bento{display:grid;grid-template-columns:1fr;gap:12px}
  .dinner-v85-card,
  .dinner-v85-lead,
  .dinner-v85-heat,
  .dinner-v85-order,
  .dinner-v85-menu{
    grid-column:1;
    grid-row:auto;
    border-radius:24px;
  }
  .dinner-v85-lead{
    min-height:390px;
    padding:34px 26px;
  }
  .dinner-v85-brandmark{width:96px;right:22px;top:22px}
  .dinner-v85-copy h2 span{font-size:clamp(2.3rem,12vw,4.15rem)}
  .dinner-v85-copy h2 strong{font-size:clamp(2.45rem,12.8vw,4.35rem)}
  .dinner-v85-copy p{font-size:.95rem;line-height:1.65}
  .dinner-v85-heat{min-height:230px;padding:28px 24px}
  .dinner-v85-heat-copy{max-width:64%}
  .dinner-v85-action{min-height:126px;padding:22px 22px}
  .dinner-v85-action-index{top:18px;left:21px}
  .dinner-v85-action-copy{font-size:1.18rem}
}

@media(max-width:430px){
  .dinner-v85-lead{min-height:365px}
  .dinner-v85-heat{min-height:250px}
  .dinner-v85-heat-copy{max-width:70%}
  .dinner-v85-chili{right:-5px;bottom:-10px;width:128px}
  .dinner-v85-heat-copy > span:last-child{font-size:.78rem;max-width:190px}
}

@media(prefers-reduced-motion:reduce){
  .dinner-v85-card,
  .v85-motion-ready .dinner-v85-card,
  .v85-motion-ready .dinner-v85-card.is-v85-visible{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .dinner-v85-glow,
  .dinner-v85-chili img,
  .dinner-v85-heat-line{animation:none !important}
  .dinner-v85-bento::after{display:none}
}


/* ===== V89 WEEKLY REWARDS OFFER ===== */
.v89-offer-band{
  position:relative;
  padding:clamp(28px,5vw,56px) 0 clamp(22px,4vw,40px);
  background:
    radial-gradient(circle at top left, rgba(255,184,92,.34), transparent 34%),
    radial-gradient(circle at right center, rgba(255,107,0,.18), transparent 30%),
    linear-gradient(180deg,#fffaf4 0%, #fff6ed 48%, #fffdf8 100%);
  overflow:hidden;
}
.v89-offer-band::before,
.v89-offer-band::after{
  content:"";
  position:absolute;
  border-radius:999px;
  filter:blur(16px);
  opacity:.45;
  pointer-events:none;
}
.v89-offer-band::before{
  width:210px; height:210px;
  top:-70px; right:-40px;
  background:rgba(255,135,43,.35);
}
.v89-offer-band::after{
  width:180px; height:180px;
  bottom:-65px; left:-30px;
  background:rgba(58,135,255,.14);
}
.v89-offer-shell{position:relative; z-index:1;}
.v89-offer-hero{
  border:1px solid rgba(121,72,27,.12);
  border-radius:34px;
  padding:clamp(22px,4vw,38px);
  background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,247,237,.97));
  box-shadow:0 22px 60px rgba(90,47,14,.12), inset 0 1px 0 rgba(255,255,255,.85);
  backdrop-filter:blur(12px);
}
.v89-offer-kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(79,41,12,.08);
  color:#93440d;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.74rem;
}
.v89-offer-kicker::before, .v89-offer-kicker::after{content:"✦"; color:#ff8a1d;}
.v89-offer-headline h2{
  margin:16px 0 10px;
  display:grid; gap:8px;
  line-height:.96;
}
.v89-offer-headline h2 span{
  font-size:clamp(2rem,5vw,4.5rem);
  font-weight:900;
  letter-spacing:-.04em;
  color:#3f1f07;
  text-shadow:0 10px 18px rgba(255,180,96,.16);
}
.v89-offer-headline h2 strong{
  font-size:clamp(1.15rem,2vw,1.85rem);
  color:#12442f;
  font-weight:800;
}
.v89-offer-lede{
  max-width:900px;
  margin:0;
  font-size:1.05rem;
  color:#5b4332;
  line-height:1.75;
}
.v89-offer-ticker{
  margin:22px 0 24px;
  display:flex; gap:12px; flex-wrap:wrap;
}
.v89-offer-ticker span{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,241,227,.94));
  border:1px solid rgba(161,99,49,.14);
  box-shadow:0 10px 24px rgba(97,53,20,.08);
  color:#5c3011;
  font-weight:700;
  font-size:.92rem;
}
.v89-offer-grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(12,minmax(0,1fr));
}
.v89-tier-card, .v89-offer-side{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:24px 22px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,240,.94));
  border:1px solid rgba(143,90,42,.12);
  box-shadow:0 18px 40px rgba(92,49,17,.1);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.v89-tier-card:hover, .v89-offer-side:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(92,49,17,.15);
  border-color:rgba(255,136,42,.36);
}
.v89-tier-card::before, .v89-offer-side::before{
  content:"";
  position:absolute; inset:0 auto auto 0;
  width:100%; height:4px;
  background:linear-gradient(90deg,#ffae34,#ff7c2f,#126846);
}
.v89-tier-card{grid-column:span 3;}
.v89-offer-side{grid-column:span 3; display:grid; gap:16px;}
.v89-tier-step{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:14px;
  background:linear-gradient(135deg,#4d2207,#7e3a12);
  color:#fff7ef; font-weight:900; font-size:1rem;
  box-shadow:0 12px 24px rgba(68,28,4,.22);
}
.tier-one .v89-tier-step{background:linear-gradient(135deg,#c25a11,#f08a1e);}
.tier-two .v89-tier-step{background:linear-gradient(135deg,#b7440c,#ff6e2a);}
.tier-three .v89-tier-step{background:linear-gradient(135deg,#12563f,#1fa06d);}
.v89-tier-card strong, .v89-offer-side h3{
  display:block;
  margin-top:18px;
  color:#3f1f07;
  font-size:1.15rem;
}
.v89-tier-card em{
  display:block;
  margin-top:8px;
  font-style:normal;
  font-weight:900;
  font-size:2rem;
  color:#cf4f0d;
  letter-spacing:-.03em;
}
.tier-three em{color:#13734c;}
.v89-tier-card p, .v89-offer-side p{
  margin:12px 0 0;
  color:#684d3a;
  line-height:1.7;
  font-size:.96rem;
}
.v89-side-label{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(19,104,70,.09);
  color:#146846;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.v89-offer-groups{
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(19,104,70,.08), rgba(255,255,255,.7));
}
.v89-offer-actions{
  display:flex; flex-wrap:wrap; gap:14px;
  margin-top:24px;
}
.v89-offer-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:54px;
  padding:14px 22px;
  border-radius:18px;
  text-decoration:none;
  font-weight:800;
  transition:transform .3s ease, box-shadow .3s ease, opacity .3s ease;
}
.v89-offer-btn:hover{transform:translateY(-2px);}
.v89-offer-btn-primary{
  color:#fff8f2;
  background:linear-gradient(135deg,#cf4f0d,#ff7b2f);
  box-shadow:0 16px 30px rgba(207,79,13,.28);
}
.v89-offer-btn-secondary{
  color:#2f2219;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(118,72,28,.14);
  box-shadow:0 12px 25px rgba(91,53,23,.08);
}
.v89-offer-terms{
  margin:18px 0 0;
  color:#7b6657;
  font-size:.86rem;
  line-height:1.7;
}
@media (max-width: 1100px){
  .v89-tier-card{grid-column:span 6;}
  .v89-offer-side{grid-column:span 12;}
}
@media (max-width: 760px){
  .v89-offer-hero{border-radius:26px; padding:22px 18px;}
  .v89-offer-ticker{display:grid; grid-template-columns:1fr; gap:10px;}
  .v89-tier-card, .v89-offer-side{grid-column:span 12; border-radius:22px;}
  .v89-offer-actions{flex-direction:column;}
  .v89-offer-btn{width:100%;}
  .v89-offer-headline h2 strong{line-height:1.25;}
}


/* ===== V90 HERO REAL PLATES + FULL-WIDTH OFFER ===== */
.home-v90-page .home-v82-hero{
  position:relative;
  overflow:visible;
  padding-bottom:210px;
}
.home-v90-page .home-v82-shell{position:relative; z-index:3;}
.home-v90-page .v90-hero-plates-wrap{
  position:absolute;
  left:0; right:0; bottom:-120px;
  z-index:11;
  pointer-events:none;
}
.home-v90-page .v90-hero-plates-shell{position:relative;}
.home-v90-page .v90-hero-plates{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  pointer-events:auto;
}
.home-v90-page .v90-hero-plates::before{
  content:"";
  position:absolute; inset:auto 6% -18px 6%;
  height:72px; border-radius:999px;
  background:radial-gradient(circle, rgba(16,10,7,.38) 0%, rgba(16,10,7,0) 72%);
  filter:blur(16px); z-index:-1;
}
.home-v90-page .v90-plate-card{
  animation:v90HeroFloat 6.4s ease-in-out infinite;
  will-change:transform;
}
.home-v90-page .v90-plate-card:nth-child(2){animation-delay:.9s;}
.home-v90-page .v90-plate-card:nth-child(3){animation-delay:1.8s;}
.home-v90-page .v90-hero-plates .card{
  margin:0;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,248,239,.94));
  box-shadow:0 34px 90px rgba(15,9,6,.28), inset 0 1px 0 rgba(255,255,255,.85);
  backdrop-filter:blur(12px);
  transform-origin:center bottom;
}
.home-v90-page .v90-hero-plates .card:hover{transform:translateY(-10px) scale(1.01);}
.home-v90-page .v90-hero-plates .card-media{
  height:320px;
  border-bottom:1px solid rgba(117,73,31,.08);
}
.home-v90-page .v90-hero-plates .card-media::after{
  content:"";
  position:absolute; inset:auto 14px 12px 14px; height:60px;
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(11,8,6,.38));
  border-radius:0 0 18px 18px;
  opacity:.4;
}
.home-v90-page .v90-hero-plates .card-media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.03);
  transition:transform .6s ease, filter .6s ease;
}
.home-v90-page .v90-hero-plates .card:hover .card-media img{transform:scale(1.09); filter:saturate(1.08) contrast(1.02);}
.home-v90-page .v90-hero-plates .card-body{
  padding:18px 18px 20px;
  background:linear-gradient(180deg, rgba(255,252,247,.98), rgba(255,244,231,.96));
}
.home-v90-page .v90-hero-plates .badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(16,104,70,.1); color:#0d6a45;
  border:1px solid rgba(16,104,70,.16);
}
.home-v90-page .v90-hero-plates .badge::before{content:"✦"; color:#ff7f2a;}
.home-v90-page .v90-hero-plates h3{font-size:1.34rem; color:#311707; margin:10px 0 8px;}
.home-v90-page .v90-hero-plates p{min-height:48px;}
.home-v90-page .v90-hero-plates .price{color:#cf4e0c; font-weight:900;}
@keyframes v90HeroFloat{
  0%,100%{transform:translateY(0px) rotate(0deg);}
  50%{transform:translateY(-10px) rotate(.15deg);}
}
.home-v90-page .v89-offer-band.v90-offer-band{
  position:relative;
  margin-top:96px;
  padding:72px 0 40px;
  background:
    radial-gradient(circle at left top, rgba(248,178,83,.18), transparent 28%),
    radial-gradient(circle at right top, rgba(10,118,84,.12), transparent 24%),
    linear-gradient(180deg, #fff8f0 0%, #fff4e7 50%, #fffaf6 100%);
  overflow:hidden;
}
.home-v90-page .v90-fiesta-top,
.home-v90-page .v90-fiesta-bottom{
  height:14px;
  background:
    linear-gradient(90deg, #0d8b61 0 12.5%, #f8fbff 12.5% 25%, #ff7c2c 25% 37.5%, #f7d04f 37.5% 50%, #0d8b61 50% 62.5%, #fff 62.5% 75%, #d4442a 75% 87.5%, #f7d04f 87.5% 100%);
  background-size:280px 100%;
  animation:v90RibbonMove 12s linear infinite;
}
.home-v90-page .v90-fiesta-bottom{margin-top:26px; border-radius:0 0 24px 24px;}
.home-v90-page .v90-offer-shell{width:min(1380px, calc(100% - 30px));}
.home-v90-page .v90-offer-hero{
  position:relative;
  padding:26px clamp(18px, 3vw, 32px) 30px;
  border-radius:34px;
  overflow:hidden;
}
.home-v90-page .v90-offer-orbit{
  position:absolute; border-radius:999px; filter:blur(8px); opacity:.32; pointer-events:none;
}
.home-v90-page .v90-offer-orbit-a{width:230px; height:230px; right:-60px; top:-30px; background:rgba(255,125,55,.26); animation:v90OrbitA 9s ease-in-out infinite;}
.home-v90-page .v90-offer-orbit-b{width:180px; height:180px; left:-40px; bottom:-30px; background:rgba(26,133,96,.18); animation:v90OrbitB 10s ease-in-out infinite;}
@keyframes v90OrbitA{0%,100%{transform:translate(0,0)}50%{transform:translate(-10px,10px)}}
@keyframes v90OrbitB{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-8px)}}
@keyframes v90RibbonMove{0%{background-position:0 0}100%{background-position:280px 0}}
.home-v90-page .v90-papel-row{display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin:0 0 20px;}
.home-v90-page .v90-papel-row span{
  display:block; height:28px; border-radius:0 0 12px 12px;
  background:linear-gradient(180deg, rgba(255,143,57,.96), rgba(255,111,44,.94));
  clip-path:polygon(0 0,100% 0,100% 70%,80% 100%,60% 72%,40% 100%,20% 72%,0 100%);
  box-shadow:0 10px 18px rgba(156,75,24,.12);
}
.home-v90-page .v90-papel-row span:nth-child(2n){background:linear-gradient(180deg, rgba(15,130,95,.94), rgba(11,99,74,.96));}
.home-v90-page .v90-papel-row span:nth-child(3n){background:linear-gradient(180deg, rgba(250,215,98,.95), rgba(249,190,65,.95));}
.home-v90-page .v89-offer-headline h2{position:relative; z-index:1;}
.home-v90-page .v90-offer-subheadline{
  display:block; margin-top:6px;
  font-size:clamp(1rem,1.8vw,1.18rem);
  color:#7d502d; font-weight:700; line-height:1.5;
  animation:v90PulseText 4.8s ease-in-out infinite;
}
@keyframes v90PulseText{0%,100%{opacity:.86; transform:translateY(0)}50%{opacity:1; transform:translateY(-1px)}}
.home-v90-page .v90-offer-ticker{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;}
.home-v90-page .v90-offer-ticker span{
  position:relative; overflow:hidden; min-height:56px;
  animation:v90PillFloat 6s ease-in-out infinite;
}
.home-v90-page .v90-offer-ticker span:nth-child(2){animation-delay:.6s;}
.home-v90-page .v90-offer-ticker span:nth-child(3){animation-delay:1.2s;}
.home-v90-page .v90-offer-ticker span:nth-child(4){animation-delay:1.8s;}
@keyframes v90PillFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.home-v90-page .v90-offer-ticker span::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 15%, rgba(255,255,255,.52) 45%, transparent 70%);
  transform:translateX(-130%); animation:v90Sweep 6.5s linear infinite;
}
@keyframes v90Sweep{to{transform:translateX(130%)}}
.home-v90-page .v90-offer-grid{grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px;}
.home-v90-page .v90-offer-grid .v89-tier-card{grid-column:span 3;}
.home-v90-page .v90-offer-grid .v89-offer-side{grid-column:span 3;}
.home-v90-page .v89-offer-hero .v89-tier-card,
.home-v90-page .v89-offer-hero .v89-offer-side{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,239,.95));
}
.home-v90-page .v89-offer-terms{padding-top:8px; border-top:1px dashed rgba(144,95,50,.25);}
@media (max-width: 1100px){
  .home-v90-page .home-v82-hero{padding-bottom:170px;}
  .home-v90-page .v90-hero-plates-wrap{bottom:-100px;}
  .home-v90-page .v90-hero-plates{grid-template-columns:1fr; gap:16px;}
  .home-v90-page .v90-hero-plates .card-media{height:270px;}
  .home-v90-page .v90-offer-ticker{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-v90-page .v90-offer-grid .v89-tier-card{grid-column:span 6;}
  .home-v90-page .v90-offer-grid .v89-offer-side{grid-column:span 12;}
}
@media (max-width: 760px){
  .home-v90-page .home-v82-hero{padding-bottom:120px;}
  .home-v90-page .v90-hero-plates-wrap{position:relative; bottom:auto; margin-top:18px;}
  .home-v90-page .v90-hero-plates-shell{width:calc(100% - 20px); margin:0 auto;}
  .home-v90-page .v90-hero-plates{grid-template-columns:1fr; gap:14px;}
  .home-v90-page .v90-hero-plates .card-media{height:225px;}
  .home-v90-page .v89-offer-band.v90-offer-band{margin-top:18px; padding-top:34px;}
  .home-v90-page .v90-offer-shell{width:calc(100% - 18px);}
  .home-v90-page .v90-offer-ticker{grid-template-columns:1fr;}
  .home-v90-page .v90-papel-row{grid-template-columns:repeat(3,1fr);}
}


/* ===== V91 OFFER REFINEMENT ===== */
.home-v91-page .v91-offer-band{
  position:relative;
  margin-top:96px;
  padding:0 0 52px;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 15%, rgba(255,176,75,.20), transparent 24%),
    radial-gradient(circle at 90% 18%, rgba(18,126,90,.13), transparent 22%),
    linear-gradient(180deg,#fff9f2 0%,#fff3e6 52%,#fffaf5 100%);
}
.home-v91-page .v91-offer-marquee{
  position:relative;
  z-index:3;
  width:100%;
  overflow:hidden;
  border-top:1px solid rgba(72,39,16,.08);
  border-bottom:1px solid rgba(72,39,16,.12);
  background:linear-gradient(90deg,#0b694a,#11875f 40%,#0c724f);
  box-shadow:0 10px 30px rgba(9,72,50,.16);
}
.home-v91-page .v91-offer-marquee-track{
  width:max-content;
  min-width:200%;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:46px;
  padding:0 18px;
  color:#fffaf2;
  font-weight:800;
  font-size:.82rem;
  letter-spacing:.085em;
  text-transform:uppercase;
  white-space:nowrap;
  animation:v91Marquee 27s linear infinite;
}
.home-v91-page .v91-offer-marquee-track b{
  color:#ffd269;
  font-size:.95rem;
}
@keyframes v91Marquee{to{transform:translateX(-50%);}}
.home-v91-page .v91-offer-papel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:10px;
  padding:0 clamp(16px,4vw,54px);
  transform:translateY(-1px);
}
.home-v91-page .v91-offer-papel span{
  height:25px;
  background:#ff7a32;
  clip-path:polygon(0 0,100% 0,100% 68%,82% 100%,62% 72%,42% 100%,22% 72%,0 100%);
  filter:drop-shadow(0 8px 8px rgba(86,42,10,.06));
}
.home-v91-page .v91-offer-papel span:nth-child(4n+2){background:#13805b;}
.home-v91-page .v91-offer-papel span:nth-child(4n+3){background:#f3c64e;}
.home-v91-page .v91-offer-papel span:nth-child(4n+4){background:#d94b30;}
.home-v91-page .v91-offer-inner{
  width:min(1540px,calc(100% - 42px));
  margin:0 auto;
  padding:clamp(28px,4vw,52px) 0 0;
  position:relative;
  z-index:1;
}
.home-v91-page .v91-offer-header{
  text-align:center;
  max-width:1100px;
  margin:0 auto 34px;
}
.home-v91-page .v91-offer-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 15px;
  border-radius:999px;
  background:rgba(122,67,21,.07);
  border:1px solid rgba(122,67,21,.08);
  color:#8a420f;
  font-weight:900;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.home-v91-page .v91-offer-kicker span{color:#ff822a;}
.home-v91-page .v91-offer-header h2{
  margin:15px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(10px,2vw,26px);
  color:#351806;
  font-size:clamp(3rem,7.4vw,6.8rem);
  line-height:.92;
  font-weight:950;
  letter-spacing:-.065em;
}
.home-v91-page .v91-offer-header h2 span:nth-of-type(2){color:#d95211;}
.home-v91-page .v91-offer-header h2 span:nth-of-type(3){color:#117451;}
.home-v91-page .v91-offer-header h2 i{
  font-style:normal;
  font-size:.40em;
  color:#d69e43;
  transform:translateY(4px);
}
.home-v91-page .v91-offer-header h3{
  margin:14px 0 10px;
  color:#0d5a3f;
  font-size:clamp(1.4rem,2.5vw,2.25rem);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.035em;
}
.home-v91-page .v91-offer-intro{
  max-width:980px;
  margin:0 auto;
  color:#66503f;
  font-size:clamp(.98rem,1.25vw,1.1rem);
  line-height:1.78;
}
.home-v91-page .v91-reward-path{
  display:grid;
  grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 54px minmax(0,1fr);
  align-items:stretch;
  gap:16px;
  margin:0 auto 24px;
}
.home-v91-page .v91-reward-card{
  position:relative;
  display:grid;
  grid-template-columns:70px 1fr;
  gap:18px;
  align-items:center;
  min-height:184px;
  padding:24px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(255,246,236,.96));
  border:1px solid rgba(115,68,29,.12);
  box-shadow:0 20px 46px rgba(86,47,16,.10),inset 0 1px 0 rgba(255,255,255,.88);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.home-v91-page .v91-reward-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#ff8b2d,#f1c453,#16805a);
}
.home-v91-page .v91-reward-card:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 54px rgba(86,47,16,.15);
  border-color:rgba(238,126,41,.30);
}
.home-v91-page .v91-reward-number{
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  border-radius:21px;
  color:white;
  font-size:1.08rem;
  font-weight:950;
  box-shadow:0 14px 26px rgba(102,47,13,.20);
  background:linear-gradient(145deg,#d35c0e,#f79025);
}
.home-v91-page .v91-reward-two .v91-reward-number{background:linear-gradient(145deg,#e14c14,#ff7d2e);}
.home-v91-page .v91-reward-three .v91-reward-number{background:linear-gradient(145deg,#0f6448,#159668);}
.home-v91-page .v91-reward-copy span{
  display:block;
  color:#4a2810;
  font-size:1rem;
  font-weight:900;
}
.home-v91-page .v91-reward-copy strong{
  display:block;
  margin:5px 0 7px;
  color:#cf4d10;
  font-size:clamp(1.65rem,2.8vw,2.6rem);
  line-height:1;
  letter-spacing:-.045em;
}
.home-v91-page .v91-reward-three .v91-reward-copy strong{color:#117451;}
.home-v91-page .v91-reward-copy p{
  margin:0;
  color:#765a45;
  line-height:1.55;
  font-size:.92rem;
}
.home-v91-page .v91-reward-arrow{
  align-self:center;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  color:#9c571c;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(145,87,36,.12);
  box-shadow:0 10px 24px rgba(94,52,19,.08);
  font-size:1.45rem;
  animation:v91ArrowPulse 3.2s ease-in-out infinite;
}
@keyframes v91ArrowPulse{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.home-v91-page .v91-offer-bottom-grid{
  display:grid;
  grid-template-columns:1fr 1fr .9fr;
  gap:18px;
}
.home-v91-page .v91-dine-card,
.home-v91-page .v91-group-card,
.home-v91-page .v91-offer-cta{
  min-height:210px;
  border-radius:26px;
  padding:24px;
  border:1px solid rgba(111,68,32,.12);
  box-shadow:0 18px 40px rgba(83,47,19,.08);
}
.home-v91-page .v91-dine-card{background:linear-gradient(145deg,#fffdf9,#fff3e7);}
.home-v91-page .v91-group-card{background:linear-gradient(145deg,#f7fff9,#ecf7f0);}
.home-v91-page .v91-offer-cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:11px;
  background:linear-gradient(145deg,#351906,#5d2b0c 58%,#7a3510);
  color:#fff7ed;
}
.home-v91-page .v91-mini-kicker{
  display:inline-flex;
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(16,118,81,.09);
  color:#117451;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-v91-page .v91-dine-card h4{
  margin:16px 0 8px;
  color:#3b1e0b;
  font-size:1.3rem;
}
.home-v91-page .v91-dine-card p,
.home-v91-page .v91-group-card p{margin:0;color:#725742;line-height:1.65;}
.home-v91-page .v91-group-lockup{
  display:flex;
  align-items:center;
  gap:15px;
  margin:14px 0 11px;
}
.home-v91-page .v91-group-lockup>strong{
  color:#0f684a;
  font-size:clamp(3.2rem,5vw,4.5rem);
  line-height:.85;
  letter-spacing:-.06em;
}
.home-v91-page .v91-group-lockup span{color:#5e4939;font-weight:800;line-height:1.25;}
.home-v91-page .v91-group-lockup b{color:#d45213;}
.home-v91-page .v91-offer-cta>span{font-size:1rem;font-weight:800;color:#ffd9b9;}
.home-v91-page .v91-offer-cta a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:56px;
  padding:14px 17px;
  border-radius:17px;
  text-decoration:none;
  font-weight:900;
  background:linear-gradient(135deg,#ff7b2f,#f5a035);
  color:white;
  box-shadow:0 14px 28px rgba(223,92,17,.23);
  transition:transform .28s ease,box-shadow .28s ease;
}
.home-v91-page .v91-offer-cta a:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(223,92,17,.30);}
.home-v91-page .v91-offer-cta .v91-offer-secondary{
  min-height:auto;
  padding:10px 3px;
  background:none;
  box-shadow:none;
  justify-content:flex-start;
  color:#ffe7d0;
  font-size:.9rem;
  text-decoration:underline;
  text-underline-offset:4px;
}
.home-v91-page .v91-offer-terms{
  max-width:1180px;
  margin:22px auto 0;
  padding-top:16px;
  border-top:1px dashed rgba(127,81,42,.22);
  text-align:center;
  color:#806a59;
  font-size:.82rem;
  line-height:1.65;
}
.home-v91-page .v91-offer-bottom-accent{
  position:absolute;
  left:0;right:0;bottom:0;
  height:6px;
  background:linear-gradient(90deg,#0f8059 0 20%,#f7ce59 20% 40%,#d8482d 40% 60%,#ff7c2f 60% 80%,#0f8059 80% 100%);
}
@media (max-width:1120px){
  .home-v91-page .v91-reward-path{grid-template-columns:1fr;}
  .home-v91-page .v91-reward-arrow{display:none;}
  .home-v91-page .v91-offer-bottom-grid{grid-template-columns:1fr 1fr;}
  .home-v91-page .v91-offer-cta{grid-column:1/-1;min-height:180px;}
}
@media (max-width:760px){
  .home-v91-page .v91-offer-band{margin-top:18px;padding-bottom:38px;}
  .home-v91-page .v91-offer-marquee-track{min-height:42px;font-size:.72rem;animation-duration:24s;}
  .home-v91-page .v91-offer-papel{grid-template-columns:repeat(4,1fr);gap:7px;padding:0 10px;}
  .home-v91-page .v91-offer-papel span:nth-child(n+5){display:none;}
  .home-v91-page .v91-offer-inner{width:calc(100% - 22px);padding-top:28px;}
  .home-v91-page .v91-offer-header h2{font-size:clamp(2.7rem,16vw,4.4rem);gap:8px;}
  .home-v91-page .v91-offer-header h3{font-size:1.55rem;}
  .home-v91-page .v91-reward-card{grid-template-columns:58px 1fr;min-height:160px;padding:20px 17px;gap:14px;border-radius:23px;}
  .home-v91-page .v91-reward-number{width:56px;height:56px;border-radius:18px;}
  .home-v91-page .v91-offer-bottom-grid{grid-template-columns:1fr;}
  .home-v91-page .v91-offer-cta{grid-column:auto;min-height:190px;}
}
@media (prefers-reduced-motion:reduce){
  .home-v91-page .v91-offer-marquee-track,
  .home-v91-page .v91-reward-arrow{animation:none!important;}
}


/* ===== V92 BILINGUAL REWARDS + CINEMATIC OFFER RAIL ===== */
.home-v92-page .v92-offer-band{
  --v92-ink:#351806;
  --v92-green:#0a7352;
  --v92-green-hi:#14a774;
  --v92-orange:#ff6f2b;
  --v92-orange-hi:#ff9a34;
  --v92-gold:#ffd46b;
  --v92-red:#d9472f;
  position:relative;
}
.home-v92-page .v92-offer-marquee{
  position:relative;
  min-height:72px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  border-top:1px solid rgba(255,240,195,.78);
  border-bottom:1px solid rgba(61,25,3,.28);
  background:
    radial-gradient(circle at 12% 35%, rgba(255,231,150,.40), transparent 16%),
    radial-gradient(circle at 70% 0%, rgba(255,255,255,.22), transparent 20%),
    linear-gradient(110deg,#073f31 0%,#0a7653 20%,#ef5b22 43%,#f6a42d 58%,#b8382d 74%,#0b7453 100%);
  background-size:100% 100%;
  box-shadow:
    0 16px 40px rgba(62,28,8,.22),
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -10px 28px rgba(28,9,0,.13);
}
.home-v92-page .v92-offer-marquee::before{
  content:"";
  position:absolute;
  z-index:3;
  top:-45%;
  left:-28%;
  width:24%;
  height:190%;
  transform:skewX(-24deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),rgba(255,247,205,.56),rgba(255,255,255,.06),transparent);
  filter:blur(1px);
  animation:v92RailShine 6.8s ease-in-out infinite;
  pointer-events:none;
}
.home-v92-page .v92-offer-marquee::after{
  content:"";
  position:absolute;
  z-index:4;
  left:0;right:0;bottom:0;
  height:4px;
  background:linear-gradient(90deg,#ffe69d,#ff8c33,#fff0a7,#12a778,#ffd96a,#dc4c34,#ffe69d);
  background-size:220% 100%;
  box-shadow:0 -2px 15px rgba(255,214,93,.72);
  animation:v92RailEdge 5s linear infinite;
  pointer-events:none;
}
@keyframes v92RailShine{
  0%,14%{left:-28%;opacity:0}
  24%{opacity:1}
  52%{left:112%;opacity:.75}
  63%,100%{left:112%;opacity:0}
}
@keyframes v92RailEdge{to{background-position:220% 0}}
.home-v92-page .v92-rail-brand{
  position:absolute;
  z-index:7;
  left:clamp(10px,2vw,28px);
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  height:54px;
  padding:5px 14px 5px 6px;
  border-radius:999px;
  background:linear-gradient(145deg,rgba(30,13,4,.88),rgba(73,30,6,.84));
  border:1px solid rgba(255,222,145,.48);
  box-shadow:0 10px 24px rgba(28,9,0,.32),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(9px);
}
.home-v92-page .v92-rail-brand-mark{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:50%;
  background:radial-gradient(circle,#fff9eb 0 60%,#ffcf66 61% 66%,#9b4c12 67% 100%);
  box-shadow:0 0 18px rgba(255,212,107,.32);
  overflow:hidden;
}
.home-v92-page .v92-rail-brand-mark img{width:38px;height:38px;object-fit:contain;}
.home-v92-page .v92-rail-brand-copy{display:grid;line-height:1.02;white-space:nowrap;}
.home-v92-page .v92-rail-brand-copy b{color:#fff6dc;font-size:.76rem;letter-spacing:.12em;}
.home-v92-page .v92-rail-brand-copy small{margin-top:4px;color:#ffd76f;font-weight:950;letter-spacing:.14em;font-size:.68rem;}
.home-v92-page .v92-offer-marquee-track{
  position:relative;
  z-index:2;
  min-height:72px;
  padding-left:245px;
  padding-right:24px;
  gap:12px;
  font-size:.78rem;
  letter-spacing:.07em;
  animation-duration:31s;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.24));
}
.home-v92-page .v92-offer-marquee-track span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  color:#fffdf5;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
  border:1px solid rgba(255,244,214,.23);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 18px rgba(29,10,0,.11);
  text-shadow:0 2px 4px rgba(0,0,0,.28);
}
.home-v92-page .v92-offer-marquee-track span:nth-of-type(3n+2){color:#fff1b0;background:linear-gradient(145deg,rgba(255,190,65,.22),rgba(255,129,47,.08));}
.home-v92-page .v92-offer-marquee-track span:nth-of-type(3n+3){color:#e8fff4;background:linear-gradient(145deg,rgba(19,169,117,.23),rgba(3,75,54,.08));}
.home-v92-page .v92-offer-marquee-track b{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  flex:0 0 28px;
  border-radius:50%;
  color:#ffe382;
  background:rgba(62,25,4,.22);
  border:1px solid rgba(255,229,151,.34);
  text-shadow:0 0 12px rgba(255,226,120,.85);
  animation:v92StarSpin 5.5s linear infinite;
}
@keyframes v92StarSpin{50%{transform:rotate(180deg) scale(1.08)}100%{transform:rotate(360deg)}}
.home-v92-page .v92-rail-glow{
  position:absolute;
  z-index:1;
  left:12%;right:12%;bottom:-20px;height:36px;
  background:radial-gradient(ellipse,rgba(255,145,55,.30),transparent 70%);
  filter:blur(10px);
  pointer-events:none;
}
.home-v92-page .v92-offer-papel{padding-top:3px;}
.home-v92-page .v92-offer-papel span{
  height:30px;
  filter:drop-shadow(0 10px 10px rgba(84,39,10,.10));
  animation:v92PapelBreathe 5.8s ease-in-out infinite;
}
.home-v92-page .v92-offer-papel span:nth-child(2n){animation-delay:.6s;}
.home-v92-page .v92-offer-papel span:nth-child(3n){animation-delay:1.2s;}
@keyframes v92PapelBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
.home-v92-page .v92-offer-inner{padding-top:34px;}
.home-v92-page .v92-lang-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin:0 auto 20px;
}
.home-v92-page .v92-lang-label{
  color:#79573d;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-v92-page .v92-lang-switch{
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:5px;
  border-radius:999px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(111,66,28,.12);
  box-shadow:0 10px 28px rgba(93,50,16,.10),inset 0 1px 0 #fff;
  backdrop-filter:blur(10px);
}
.home-v92-page .v92-lang-switch button{
  appearance:none;
  border:0;
  min-width:126px;
  min-height:44px;
  padding:8px 15px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#6e513b;
  background:transparent;
  cursor:pointer;
  font:inherit;
  transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}
.home-v92-page .v92-lang-switch button b{font-size:.72rem;letter-spacing:.10em;}
.home-v92-page .v92-lang-switch button span{font-size:.84rem;font-weight:800;}
.home-v92-page .v92-lang-switch button:hover{transform:translateY(-1px);}
.home-v92-page .v92-lang-switch button.is-active{
  color:white;
  background:linear-gradient(135deg,#0b7352,#159b6c 52%,#f57b2b 150%);
  box-shadow:0 9px 22px rgba(10,115,82,.22),inset 0 1px 0 rgba(255,255,255,.25);
}
.home-v92-page .v92-offer-header{max-width:1180px;}
.home-v92-page .v92-offer-kicker{
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,238,217,.80));
  box-shadow:0 10px 24px rgba(96,50,18,.07),inset 0 1px 0 white;
}
.home-v92-page .v92-offer-header h2{
  text-shadow:0 12px 34px rgba(109,55,12,.10);
}
.home-v92-page .v92-reward-card{
  overflow:hidden;
}
.home-v92-page .v92-reward-card::after{
  content:"";
  position:absolute;
  top:-45%;left:-85%;
  width:38%;height:190%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.66),transparent);
  transition:left .75s ease;
  pointer-events:none;
}
.home-v92-page .v92-reward-card:hover::after{left:132%;}
.home-v92-page .v92-dine-card,
.home-v92-page .v92-group-card,
.home-v92-page .v92-offer-cta{
  position:relative;
  overflow:hidden;
}
.home-v92-page .v92-dine-card::before,
.home-v92-page .v92-group-card::before,
.home-v92-page .v92-offer-cta::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#0f815c,#f7cf58,#ff7b30,#d94b30);
}
.home-v92-page .v92-offer-terms{max-width:1280px;}
.home-v92-page .v92-lang-status{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.home-v92-page .v92-offer-bottom-accent{
  height:8px;
  background:linear-gradient(90deg,#0d7d58,#ffd567,#e74d2c,#ff8130,#ffd567,#0d7d58);
  background-size:180% 100%;
  box-shadow:0 -3px 18px rgba(255,184,70,.25);
  animation:v92RailEdge 7s linear infinite;
}
@media (max-width:900px){
  .home-v92-page .v92-rail-brand{left:9px;height:48px;padding-right:10px;}
  .home-v92-page .v92-rail-brand-mark{width:38px;height:38px;}
  .home-v92-page .v92-rail-brand-mark img{width:34px;height:34px;}
  .home-v92-page .v92-rail-brand-copy b{font-size:.68rem;}
  .home-v92-page .v92-rail-brand-copy small{font-size:.62rem;}
  .home-v92-page .v92-offer-marquee-track{padding-left:205px;}
}
@media (max-width:620px){
  .home-v92-page .v92-offer-marquee{min-height:60px;}
  .home-v92-page .v92-rail-brand{display:none;}
  .home-v92-page .v92-offer-marquee-track{min-height:60px;padding-left:14px;font-size:.69rem;gap:9px;animation-duration:27s;}
  .home-v92-page .v92-offer-marquee-track span{min-height:34px;padding:0 12px;}
  .home-v92-page .v92-offer-marquee-track b{width:24px;height:24px;flex-basis:24px;}
  .home-v92-page .v92-lang-row{flex-direction:column;gap:8px;margin-bottom:18px;}
  .home-v92-page .v92-lang-label{font-size:.7rem;}
  .home-v92-page .v92-lang-switch{width:min(100%,320px);}
  .home-v92-page .v92-lang-switch button{min-width:0;width:100%;min-height:42px;padding:8px 10px;}
}
@media (prefers-reduced-motion:reduce){
  .home-v92-page .v92-offer-marquee::before,
  .home-v92-page .v92-offer-marquee::after,
  .home-v92-page .v92-offer-marquee-track,
  .home-v92-page .v92-offer-marquee-track b,
  .home-v92-page .v92-offer-papel span,
  .home-v92-page .v92-offer-bottom-accent{animation:none!important;}
}


/* =========================================================
   V93 — SITEWIDE CINEMATIC OFFER RAIL + ORDER ONLINE PROMO
   Scope:
   - Preserve V92 HOME plates and full bilingual promotion.
   - Repeat the cinematic offer rail on every other page.
   - Replace only the Order Online top glass sign with the promo.
   ========================================================= */

.v93-global-offer{
  --v93-green:#08684a;
  --v93-green-hi:#12a875;
  --v93-orange:#ff6a28;
  --v93-orange-hi:#ff9b37;
  --v93-gold:#ffd46b;
  --v93-red:#d94830;
  position:relative;
  z-index:30;
  width:100%;
  overflow:hidden;
  background:#120a06;
  box-shadow:0 18px 40px rgba(38,18,7,.14);
}
.v93-global-rail{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  min-height:64px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 10% 40%,rgba(255,202,94,.22),transparent 18%),
    radial-gradient(circle at 78% 55%,rgba(20,183,125,.19),transparent 22%),
    linear-gradient(100deg,#083e30 0%,#0b6d4d 22%,#b94421 45%,#f4762d 60%,#b52e20 77%,#07553e 100%);
  border-top:1px solid rgba(255,229,163,.28);
  border-bottom:1px solid rgba(255,229,163,.30);
}
.v93-global-rail::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(125deg,transparent 0 22%,rgba(255,255,255,.08) 28%,transparent 35% 58%,rgba(255,217,118,.08) 65%,transparent 72%);
  background-size:240% 100%;
  animation:v93GlobalAura 9s linear infinite;
}
.v93-global-rail::after{
  content:"";
  position:absolute;
  left:-12%; top:-90%;
  width:20%; height:280%;
  z-index:4;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  filter:blur(3px);
  opacity:.48;
  pointer-events:none;
  animation:v93GlobalShine 6.4s ease-in-out infinite;
}
@keyframes v93GlobalAura{to{background-position:240% 0}}
@keyframes v93GlobalShine{0%,14%{left:-24%;opacity:0}22%{opacity:.5}52%{left:116%;opacity:.35}58%,100%{left:116%;opacity:0}}
.v93-global-brand{
  position:relative;
  z-index:5;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:64px;
  padding:7px 15px 7px 12px;
  color:#fff;
  text-decoration:none;
  background:linear-gradient(90deg,rgba(11,25,19,.65),rgba(11,25,19,.34),transparent);
  border-right:1px solid rgba(255,255,255,.16);
}
.v93-global-logo{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 28%,#fff5d8 0 16%,#f9b64e 42%,#c94a23 73%,#0d6a4e 100%);
  box-shadow:0 0 0 3px rgba(255,255,255,.16),0 0 22px rgba(255,197,80,.38);
}
.v93-global-logo img{width:39px;height:39px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.22));}
.v93-global-brand-copy{display:grid;line-height:1;white-space:nowrap;}
.v93-global-brand-copy b{font-size:.73rem;letter-spacing:.14em;color:#fff7e2;}
.v93-global-brand-copy small{margin-top:4px;font-size:.72rem;font-weight:950;letter-spacing:.15em;color:#ffd66e;}
.v93-global-track-wrap{position:relative;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.v93-global-track{
  display:flex;
  align-items:center;
  gap:12px;
  width:max-content;
  padding:0 20px;
  animation:v93GlobalMarquee 34s linear infinite;
  will-change:transform;
}
@keyframes v93GlobalMarquee{to{transform:translateX(-50%)}}
.v93-global-track span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  white-space:nowrap;
  border-radius:999px;
  color:#fff9e8;
  font-size:.71rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.17);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 20px rgba(34,14,6,.12);
  backdrop-filter:blur(10px);
}
.v93-global-track span:nth-of-type(3n+2){color:#fff2ae;background:linear-gradient(145deg,rgba(255,199,73,.22),rgba(255,116,39,.09));}
.v93-global-track span:nth-of-type(3n+3){color:#e7fff3;background:linear-gradient(145deg,rgba(19,175,120,.22),rgba(0,68,48,.12));}
.v93-global-track b{
  display:grid;
  place-items:center;
  width:24px;height:24px;
  flex:0 0 24px;
  border-radius:50%;
  color:#ffd86c;
  font-size:.74rem;
  background:rgba(39,18,7,.24);
  border:1px solid rgba(255,223,131,.22);
  box-shadow:0 0 16px rgba(255,205,91,.20);
  animation:v93Star 5.6s linear infinite;
}
@keyframes v93Star{to{transform:rotate(360deg)}}
.v93-global-lang{
  position:relative;
  z-index:6;
  display:flex;
  align-items:center;
  gap:4px;
  margin-right:10px;
  padding:4px;
  border-radius:999px;
  background:rgba(12,20,15,.42);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 20px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
}
.v93-global-lang button{
  min-width:38px;
  min-height:32px;
  padding:0 9px;
  border:0;
  border-radius:999px;
  color:#ffe9c6;
  background:transparent;
  font-size:.68rem;
  font-weight:950;
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}
.v93-global-lang button:hover{transform:translateY(-1px)}
.v93-global-lang button.is-active{color:#321405;background:linear-gradient(135deg,#ffd267,#ff9341);box-shadow:0 7px 16px rgba(45,18,5,.22);}
.v93-global-sheen{position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#ffda75,#fff,#15b980,#ff7b33,transparent);background-size:220% 100%;animation:v93GlobalAura 4.6s linear infinite;}
.v93-global-papel{display:grid;grid-template-columns:repeat(8,1fr);height:8px;overflow:hidden;background:#fff7ec;}
.v93-global-papel i{display:block;height:8px;background:#ff7a31;clip-path:polygon(0 0,100% 0,80% 100%,50% 52%,20% 100%);}
.v93-global-papel i:nth-child(2n){background:#078058}.v93-global-papel i:nth-child(3n){background:#ffd25f}.v93-global-papel i:nth-child(4n){background:#d64731}

/* Order Online — replace only the former top glass sign. */
.order-xp-glass-top.v93-order-offer{
  top:16px;
  left:16px;
  max-width:292px;
  width:min(292px,calc(100% - 32px));
  gap:10px;
  padding:14px 15px 15px;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 8%,rgba(255,202,102,.24),transparent 28%),
    linear-gradient(145deg,rgba(8,73,53,.84),rgba(79,31,18,.80) 55%,rgba(196,72,29,.82));
  border:1px solid rgba(255,234,185,.34);
  box-shadow:0 20px 48px rgba(16,6,12,.28),inset 0 1px 0 rgba(255,255,255,.18),0 0 30px rgba(255,118,42,.10);
  backdrop-filter:blur(18px) saturate(155%);
}
.order-xp-glass-top.v93-order-offer::before{
  content:"";
  position:absolute;
  left:-30%;top:-70%;width:34%;height:240%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  animation:v93OrderShine 7s ease-in-out infinite;
}
@keyframes v93OrderShine{0%,15%{left:-36%;opacity:0}25%{opacity:.55}55%{left:124%;opacity:.25}60%,100%{left:124%;opacity:0}}
.v93-order-offer-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.order-xp-glass .v93-order-offer-head>span{font-size:.58rem;color:#ffe3a3;letter-spacing:.11em;}
.v93-order-offer-lang{display:flex;gap:3px;padding:3px;border-radius:999px;background:rgba(4,21,15,.30);border:1px solid rgba(255,255,255,.14);}
.v93-order-offer-lang button{border:0;border-radius:999px;min-width:32px;min-height:27px;padding:0 7px;color:#ffe7c0;background:transparent;font-size:.61rem;font-weight:950;cursor:pointer;}
.v93-order-offer-lang button.is-active{color:#321406;background:linear-gradient(135deg,#ffd36b,#ff9141);box-shadow:0 5px 12px rgba(0,0,0,.14);}
.v93-order-offer-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:8px;}
.v93-order-offer-lockup b{font-size:1.38rem;line-height:1;color:#fff5df;text-shadow:0 6px 18px rgba(0,0,0,.20);}
.v93-order-offer-lockup b:last-child{color:#ffcf5f}.v93-order-offer-lockup i{font-style:normal;color:#ffb351;font-weight:900;}
.order-xp-glass strong.v93-order-offer-title{position:relative;z-index:1;font-size:.88rem;line-height:1.24;color:#fff;}
.order-xp-glass p.v93-order-offer-copy{position:relative;z-index:1;margin:0;color:#f9e6d2;font-size:.70rem;line-height:1.45;}
.v93-order-offer-mini{position:relative;z-index:1;display:grid;gap:5px;padding-top:7px;border-top:1px solid rgba(255,255,255,.15);}
.order-xp-glass .v93-order-offer-mini span{font-size:.58rem;line-height:1.35;letter-spacing:.03em;text-transform:none;color:#fce3bc;}
.v93-order-offer-link{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:35px;padding:8px 11px;border-radius:12px;color:#2d1306!important;text-decoration:none;background:linear-gradient(135deg,#ffd46a,#ff8d3b);box-shadow:0 10px 22px rgba(21,8,4,.18);font-size:.68rem;font-weight:950;}
.v93-order-offer-link b{font-size:.85rem;}

@media(max-width:900px){
  .v93-global-rail{grid-template-columns:auto 1fr auto;min-height:60px;}
  .v93-global-brand{padding-right:10px;min-height:60px;}
  .v93-global-logo{width:38px;height:38px}.v93-global-logo img{width:34px;height:34px}.v93-global-brand-copy b{font-size:.66rem}.v93-global-brand-copy small{font-size:.62rem}
  .v93-global-track{animation-duration:30s;}
  .v93-global-track span{font-size:.66rem;min-height:34px;padding:0 12px;}
  .v93-global-lang button{min-width:34px;min-height:30px;padding:0 7px;}
  .order-xp-glass-top.v93-order-offer{max-width:252px;}
}
@media(max-width:640px){
  .v93-global-rail{grid-template-columns:1fr auto;min-height:56px;}
  .v93-global-brand{display:none;}
  .v93-global-track-wrap{grid-column:1;}
  .v93-global-track{padding-left:10px;gap:9px;animation-duration:25s;}
  .v93-global-track span{font-size:.61rem;min-height:32px;padding:0 10px;}
  .v93-global-track b{width:21px;height:21px;flex-basis:21px;font-size:.62rem;}
  .v93-global-lang{grid-column:2;margin-right:6px;}
  .v93-global-lang button{min-width:31px;min-height:28px;font-size:.61rem;padding:0 6px;}
  .v93-global-papel{grid-template-columns:repeat(6,1fr);height:7px}.v93-global-papel i{height:7px}.v93-global-papel i:nth-child(n+7){display:none;}
  .order-xp-glass-top.v93-order-offer{top:10px;left:10px;max-width:230px;width:calc(100% - 20px);padding:11px 12px 12px;border-radius:19px;}
  .v93-order-offer-lockup b{font-size:1.16rem}.order-xp-glass strong.v93-order-offer-title{font-size:.78rem}.order-xp-glass p.v93-order-offer-copy{font-size:.64rem}.order-xp-glass .v93-order-offer-mini span{font-size:.54rem}
}
@media(prefers-reduced-motion:reduce){
  .v93-global-rail::before,.v93-global-rail::after,.v93-global-track,.v93-global-track b,.v93-global-sheen,.order-xp-glass-top.v93-order-offer::before{animation:none!important;}
}


/* =========================================================
   V94 — RESPONSIVE PRODUCTION HARDENING
   Scope: layout only. Preserve approved visuals/copy/assets.
   ========================================================= */
html{overflow-x:clip;}
body.v94-responsive{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
body.v94-responsive img,
body.v94-responsive video,
body.v94-responsive canvas,
body.v94-responsive svg{max-width:100%;}
body.v94-responsive .navbar>* ,
body.v94-responsive .v90-hero-plates>* ,
body.v94-responsive .v91-reward-path>* ,
body.v94-responsive .v91-offer-bottom-grid>* ,
body.v94-responsive .online-store-layout>* ,
body.v94-responsive .footer-v57-copy>*{min-width:0;}
body.v94-responsive .v93-global-track-wrap,
body.v94-responsive .v92-offer-marquee,
body.v94-responsive .v90-hero-plates-wrap,
body.v94-responsive .menu-flavor-rail,
body.v94-responsive .order-flavor-rail{max-width:100vw;}

/* HOME — keep approved 3 plates, make overlap behave by device */
@media (min-width:1101px){
  .home-v94-responsive .v90-hero-plates{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

@media (min-width:721px) and (max-width:1100px){
  .home-v94-responsive .home-v82-hero{
    min-height:820px!important;
    padding-bottom:150px!important;
    overflow:visible!important;
  }
  .home-v94-responsive .v90-hero-plates-wrap{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-112px!important;
    overflow:visible!important;
  }
  .home-v94-responsive .v90-hero-plates-shell{
    width:min(100% - 28px,1080px)!important;
    margin-inline:auto!important;
  }
  .home-v94-responsive .v90-hero-plates{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    width:100%!important;
  }
  .home-v94-responsive .v90-hero-plates .card{
    width:100%!important;
    border-radius:24px!important;
  }
  .home-v94-responsive .v90-hero-plates .card-media{height:210px!important;}
  .home-v94-responsive .v90-hero-plates .card-body{padding:14px 14px 16px!important;}
  .home-v94-responsive .v90-hero-plates h3{font-size:1.02rem!important;line-height:1.12!important;}
  .home-v94-responsive .v90-hero-plates p{min-height:54px!important;font-size:.72rem!important;line-height:1.45!important;}
  .home-v94-responsive .v90-hero-plates .price{font-size:.9rem!important;}
  .home-v94-responsive #weekly-rewards{margin-top:116px!important;}

  .home-v94-responsive .v91-offer-inner{width:calc(100% - 30px)!important;}
  .home-v94-responsive .v91-offer-header h2{font-size:clamp(3.9rem,8vw,5.6rem)!important;}
  .home-v94-responsive .v91-reward-path{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .home-v94-responsive .v91-reward-arrow{display:none!important;}
  .home-v94-responsive .v91-reward-card{
    min-height:210px!important;
    grid-template-columns:48px 1fr!important;
    gap:12px!important;
    padding:17px 15px!important;
  }
  .home-v94-responsive .v91-reward-number{width:48px!important;height:48px!important;border-radius:15px!important;}
  .home-v94-responsive .v91-reward-copy strong{font-size:1.65rem!important;}
  .home-v94-responsive .v91-offer-bottom-grid{grid-template-columns:1fr 1fr!important;}
  .home-v94-responsive .v91-offer-cta{grid-column:1/-1!important;min-height:170px!important;}
}

@media (max-width:720px){
  body.v94-responsive{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));}
  .home-v94-responsive .home-v82-hero{
    min-height:900px!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }
  .home-v94-responsive .v90-hero-plates-wrap{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-150px!important;
    z-index:14!important;
    overflow:hidden!important;
    pointer-events:auto!important;
  }
  .home-v94-responsive .v90-hero-plates-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .home-v94-responsive .v90-hero-plates{
    display:flex!important;
    grid-template-columns:none!important;
    width:100%!important;
    gap:14px!important;
    padding:0 16px 18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .home-v94-responsive .v90-hero-plates::-webkit-scrollbar{display:none;}
  .home-v94-responsive .v90-hero-plates::before{display:none!important;}
  .home-v94-responsive .v90-plate-card{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
    scroll-snap-align:center;
    animation:v90HeroFloat 6.4s ease-in-out infinite!important;
  }
  .home-v94-responsive .v90-hero-plates .card{border-radius:24px!important;}
  .home-v94-responsive .v90-hero-plates .card-media{height:205px!important;}
  .home-v94-responsive .v90-hero-plates .card-body{padding:14px 15px 16px!important;}
  .home-v94-responsive .v90-hero-plates h3{font-size:1.06rem!important;}
  .home-v94-responsive .v90-hero-plates p{min-height:46px!important;font-size:.72rem!important;line-height:1.42!important;}
  .home-v94-responsive #weekly-rewards{margin-top:160px!important;}

  .home-v94-responsive .v92-offer-marquee{width:100%!important;max-width:100%!important;}
  .home-v94-responsive .v92-offer-marquee-track{max-width:none!important;}
  .home-v94-responsive .v91-offer-inner{width:calc(100% - 18px)!important;}
  .home-v94-responsive .v92-lang-row{padding-inline:4px!important;}
  .home-v94-responsive .v92-lang-switch{width:100%!important;max-width:330px!important;}
  .home-v94-responsive .v91-offer-header{padding-inline:2px!important;}
  .home-v94-responsive .v91-offer-header h2{
    font-size:clamp(2.7rem,14vw,3.8rem)!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
  }
  .home-v94-responsive .v91-offer-header h2 i{font-size:.68em!important;}
  .home-v94-responsive .v91-offer-header h3{font-size:clamp(1.35rem,7vw,1.75rem)!important;line-height:1.08!important;}
  .home-v94-responsive .v91-offer-intro{font-size:.93rem!important;line-height:1.62!important;}
  .home-v94-responsive .v91-reward-path{gap:12px!important;}
  .home-v94-responsive .v91-reward-card{
    min-height:146px!important;
    grid-template-columns:50px 1fr!important;
    gap:12px!important;
    padding:17px 15px!important;
  }
  .home-v94-responsive .v91-reward-number{width:50px!important;height:50px!important;border-radius:16px!important;}
  .home-v94-responsive .v91-reward-copy strong{font-size:1.55rem!important;}
  .home-v94-responsive .v91-reward-copy p{font-size:.88rem!important;line-height:1.5!important;}
  .home-v94-responsive .v91-offer-bottom-grid{gap:12px!important;}
  .home-v94-responsive .v91-dine-card,
  .home-v94-responsive .v91-group-card,
  .home-v94-responsive .v91-offer-cta{padding:19px 17px!important;border-radius:22px!important;}
  .home-v94-responsive .v91-group-lockup>strong{font-size:3rem!important;}
  .home-v94-responsive .v91-offer-terms{font-size:.76rem!important;line-height:1.55!important;padding-inline:5px!important;}
}

/* SITEWIDE promo rail — narrow screens keep language switch usable */
@media (max-width:520px){
  .v94-responsive .v93-global-rail{grid-template-columns:minmax(0,1fr) auto!important;min-height:54px!important;}
  .v94-responsive .v93-global-track-wrap{min-width:0!important;overflow:hidden!important;}
  .v94-responsive .v93-global-track{padding-left:8px!important;padding-right:8px!important;gap:8px!important;}
  .v94-responsive .v93-global-track span{min-height:30px!important;padding:0 9px!important;font-size:.58rem!important;}
  .v94-responsive .v93-global-lang{margin-right:5px!important;padding:3px!important;}
  .v94-responsive .v93-global-lang button{min-width:30px!important;min-height:28px!important;padding:0 5px!important;}
}

/* ORDER ONLINE — clean mobile hierarchy and remove double fixed bars */
@media (max-width:900px){
  .order-online-v94 .mobile-dock{display:none!important;}
  .order-online-v94{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;}
  .order-online-v94 .online-mobile-bag{
    left:max(12px,env(safe-area-inset-left,0px))!important;
    right:max(12px,env(safe-area-inset-right,0px))!important;
    bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
  }
  .order-online-v94 .order-xp-grid{padding-top:56px!important;}
}
@media (max-width:660px){
  .order-online-v94 .order-xp-hero{padding-top:20px!important;padding-bottom:22px!important;}
  .order-online-v94 .order-xp-grid{padding:44px 14px 24px!important;gap:18px!important;}
  .order-online-v94 .order-xp-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .order-online-v94 .order-xp-actions .btn{width:100%!important;justify-content:center!important;}
  .order-online-v94 .order-xp-trust{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .order-online-v94 .order-xp-trust>span{padding:10px 11px!important;}
  .order-online-v94 .order-xp-visual{min-height:405px!important;border-radius:28px!important;}
  .order-online-v94 .order-xp-photo-stack{display:none!important;}
  .order-online-v94 .order-xp-glass-top.v93-order-offer{
    top:14px!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    padding:13px 14px 14px!important;
  }
  .order-online-v94 .v93-order-offer-lockup{justify-content:center!important;}
  .order-online-v94 .v93-order-offer-lockup b{font-size:1.28rem!important;}
  .order-online-v94 .order-xp-glass-bottom{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    width:auto!important;
    max-width:none!important;
  }
  .order-online-v94 .online-command-bar{grid-template-columns:minmax(0,1fr) auto!important;}
  .order-online-v94 .online-search input{min-width:0!important;width:100%!important;}
  .order-online-v94 .online-card{grid-template-columns:108px minmax(0,1fr)!important;}
  .order-online-v94 .online-card-media{min-height:160px!important;}
  .order-online-v94 .online-card-media img{min-height:160px!important;}
}

/* Generic compact-phone safeguards */
@media (max-width:430px){
  .v94-responsive .wrap{width:calc(100% - 22px)!important;}
  .v94-responsive .navbar{min-height:76px!important;}
  .v94-responsive .menu-toggle{min-width:46px!important;min-height:46px!important;}
  .v94-responsive .mobile-dock{
    left:max(8px,env(safe-area-inset-left,0px))!important;
    right:max(8px,env(safe-area-inset-right,0px))!important;
    bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-v94-responsive .v90-plate-card{animation:none!important;}
}
