@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root{
  --cream:#f8f3e9;
  --cream-2:#fffaf1;
  --red:#cf232c;
  --red-dark:#b91d26;
  --green:#2f6e2c;
  --green-dark:#235522;
  --gold:#e8a721;
  --ink:#261e19;
  --muted:#675d52;
  --line:#dfd3c0;
  --shadow:0 18px 45px rgba(71,50,25,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 10%,rgba(245,209,95,.10),transparent 22%),
    linear-gradient(180deg,#fbf7ef,#f7f0e4 58%,#f5eddf);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.shell{width:min(1180px,92vw);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(251,247,239,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(99,72,42,.08);
}
.header-inner{
  width:min(1180px,94vw);height:84px;margin:auto;
  display:flex;align-items:center;gap:28px;
}
.brand{
  width:190px;align-self:flex-start;z-index:2;
  margin-top:5px;
}
.brand img{width:168px;filter:drop-shadow(0 8px 14px rgba(54,31,15,.14))}
.main-nav{display:flex;align-items:center;gap:34px;margin-left:auto}
.main-nav a{
  position:relative;font-size:14px;font-weight:600;padding:30px 0 24px;
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;
  background:var(--red);transform:scaleX(0);transition:.2s;
}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.main-nav a.active{color:var(--red)}
.header-actions{display:flex;align-items:center;gap:18px}
.cart-button{
  position:relative;width:42px;height:42px;border:0;background:transparent;cursor:pointer
}
.cart-button svg{width:28px;height:28px;stroke:#1e1712;fill:none;stroke-width:1.8}
.cart-count{
  position:absolute;right:-1px;top:0;width:18px;height:18px;border-radius:50%;
  display:grid;place-items:center;background:var(--gold);font-size:10px;font-weight:700
}
.order-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 24px;border-radius:999px;
  background:linear-gradient(180deg,#df2c34,#c91f27);color:#fff;
  font-size:14px;font-weight:700;box-shadow:0 10px 20px rgba(207,35,44,.18)
}
.mobile-menu-button{display:none}

/* Hero */
.hero{
  position:relative;min-height:590px;overflow:hidden;
}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 51%}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(15,15,12,.88) 0%,rgba(15,15,12,.62) 35%,rgba(15,15,12,.14) 63%,rgba(15,15,12,.04) 100%),
    linear-gradient(0deg,rgba(0,0,0,.18),transparent 55%);
}
.hero-content{
  position:relative;z-index:2;width:min(1180px,92vw);margin:auto;
  padding:152px 0 62px;
}
.hero h1{
  margin:0 0 20px;
  max-width:540px;
  font-family:"Libre Baskerville",Georgia,serif;
  font-size:clamp(48px,6vw,78px);
  line-height:1.02;
  color:#fff;
  font-weight:400;
  letter-spacing:-.045em;
}
.hero h1 span{display:block}
.hero h1 strong{color:#e7b027;font-weight:700}
.hero h1 em{font-style:normal;color:#45a340;font-weight:700}
.hero p{font-size:20px;line-height:1.45;color:#fff;margin:0 0 22px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  min-height:50px;padding:0 25px;border-radius:13px;
  display:inline-flex;align-items:center;gap:13px;
  font-weight:700;font-size:15px;box-shadow:0 12px 25px rgba(0,0,0,.18)
}
.btn-red{background:linear-gradient(180deg,#df3036,#c82028);color:#fff}
.btn-cream{background:#fffaf0;color:#33261c}
.open-pill{
  margin-top:18px;width:max-content;min-height:38px;padding:0 17px;
  border-radius:999px;background:linear-gradient(180deg,#4d8f3e,#2f6d2b);
  color:#fff;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;
  box-shadow:0 8px 20px rgba(24,68,19,.28)
}
.check{
  width:21px;height:21px;border:1px solid rgba(255,255,255,.8);border-radius:50%;
  display:grid;place-items:center;font-size:12px
}

/* Departments */
.departments{
  position:relative;z-index:5;margin-top:-5px;padding:34px 0 24px;
}
.department-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.department-card{
  position:relative;overflow:hidden;border-radius:17px;
  background:rgba(255,252,245,.94);border:1px solid #e5d9c7;box-shadow:0 8px 22px rgba(83,55,23,.05);
}
.department-card>img{width:100%;height:210px;object-fit:cover}
.round-icon{
  position:absolute;left:50%;top:184px;transform:translateX(-50%);
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  color:#fff;border:4px solid var(--cream-2);font-size:24px;font-weight:700
}
.department-copy{text-align:center;padding:39px 18px 18px}
.department-copy h3{font:700 24px/1.1 "Libre Baskerville",Georgia,serif;margin:0 0 10px}
.department-copy p{min-height:54px;font-size:12px;line-height:1.45;color:#554b42;margin:0 0 13px}
.department-copy a{
  min-width:106px;height:35px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid currentColor;font-size:12px;font-weight:700;background:#fffaf2
}
.taqueria h3,.carniceria h3{color:var(--red)} .taqueria .round-icon,.carniceria .round-icon{background:var(--red)}
.tortilleria h3{color:var(--green)} .tortilleria .round-icon{background:var(--green)}
.panaderia h3{color:#d89509} .panaderia .round-icon{background:#e5a00f}
.taqueria a,.carniceria a{color:var(--red)} .tortilleria a{color:var(--green)} .panaderia a{color:#d99000}

/* Story */
.story{display:grid;grid-template-columns:1.03fr .97fr;gap:44px;align-items:center;padding:10px 0 24px}
.story-photo img{width:100%;height:360px;object-fit:cover;border-radius:17px;box-shadow:var(--shadow)}
.section-kicker{font-size:12px;letter-spacing:.16em;color:var(--green);font-weight:800}
.story-copy h2{
  font:400 clamp(34px,4vw,52px)/1.05 "Libre Baskerville",Georgia,serif;margin:11px 0 4px
}
.story-copy h2 em{font-style:normal;color:var(--green)}
.heart-line{display:flex;align-items:center;gap:12px;color:var(--red);font-size:28px;margin:2px 0 14px}
.heart-line i{width:135px;height:2px;background:var(--red);display:block;transform:rotate(-2deg)}
.story-copy p{font-size:13px;line-height:1.65;color:#554b42;margin:0 0 8px;max-width:570px}
.story-copy strong{font:italic 18px/1.3 Georgia,serif;color:var(--red);font-weight:400}

/* Promo */
.promo{
  min-height:150px;margin-top:12px;margin-bottom:20px;border-radius:17px;overflow:hidden;
  background:
    radial-gradient(circle at 10% 50%,rgba(255,255,255,.13),transparent 22%),
    linear-gradient(90deg,#f2b82f,#f9cb52 55%,#e5aa27);
  display:grid;grid-template-columns:190px 1fr 330px;align-items:center;
  box-shadow:var(--shadow)
}
.made-badge{
  width:96px;height:96px;border-radius:50%;justify-self:center;background:linear-gradient(180deg,#477e37,#2c6528);
  color:#fff;display:grid;place-items:center;text-align:center;border:4px solid rgba(255,255,255,.7);
  box-shadow:0 10px 24px rgba(55,79,25,.23);font-size:11px
}
.steam{font-size:28px;line-height:.7}
.promo-copy h2{font:700 31px/1.05 "Libre Baskerville",Georgia,serif;margin:0 0 9px}
.promo-copy h2 em{font-style:normal;color:var(--green)}
.promo-copy p{font-size:13px;margin:0}
.promo>img{width:100%;height:150px;object-fit:cover;object-position:center}

/* Visit */
.visit{
  display:grid;grid-template-columns:1.15fr .72fr .75fr;gap:0;
  border:1px solid #dfd2be;border-radius:17px;overflow:hidden;background:#fbf7ee;margin-bottom:28px;
  box-shadow:0 8px 20px rgba(78,52,24,.05)
}
.visit-photo img{width:100%;height:255px;object-fit:cover;object-position:center 52%}
.visit-copy{padding:24px 22px}
.visit-copy h2{font:400 32px/1 "Libre Baskerville",Georgia,serif;margin:6px 0 9px}
.red-rule{width:105px;height:2px;background:var(--red);margin-bottom:16px}
.visit-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.visit-copy li{display:flex;gap:11px;font-size:12px;line-height:1.35}.visit-copy li>span{color:var(--red);font-weight:900}
.socials{display:flex;gap:8px;margin-top:14px}.socials a,.footer-socials a{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800
}
.socials a:nth-child(1),.footer-socials a:nth-child(1){background:#2878d5}
.socials a:nth-child(2),.footer-socials a:nth-child(2){background:linear-gradient(135deg,#7d48c6,#ef3c72,#f3a127)}
.socials a:nth-child(3),.footer-socials a:nth-child(3){background:#1da75c}
.map-card{
  position:relative;overflow:hidden;background:#f1eee9;min-height:255px;
  background-image:linear-gradient(27deg,transparent 47%,#fff 48%,#fff 51%,transparent 52%),linear-gradient(117deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%);
  background-size:130px 110px,150px 140px
}
.road{position:absolute;background:#fff;border:1px solid #dedbd4;border-radius:999px}
.road-a{width:290px;height:22px;transform:rotate(-40deg);left:-20px;top:115px}
.road-b{width:230px;height:18px;transform:rotate(62deg);left:100px;top:38px}
.road-c{width:170px;height:16px;transform:rotate(-4deg);right:-25px;bottom:45px}
.map-pin{position:absolute;left:52%;top:43%;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--red);color:#fff;transform:rotate(-45deg);display:grid;place-items:center;font-size:12px;z-index:2}
.map-pin::first-letter{transform:rotate(45deg)}
.map-card>span{position:absolute;left:39%;top:61%;transform:rotate(-39deg);font-size:12px;color:#615b55;z-index:2}

/* Footer */
.footer{border-top:2px solid var(--green);background:#f8f3e9}
.footer-inner{
  padding:26px 0 22px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr auto;gap:34px;align-items:start
}
.footer-brand img{width:110px;margin-bottom:6px}.footer-brand p{font-size:10px;line-height:1.4;color:#5d5349}
.footer h3{font-size:10px;color:var(--green);letter-spacing:.08em;margin:0 0 10px}
.footer-inner>div:not(.footer-brand):not(.footer-socials) a,.footer-inner>div:not(.footer-brand):not(.footer-socials) p{
  display:block;font-size:11px;line-height:1.65;margin:0;color:#493f37
}
.footer-socials{display:flex;gap:9px}
.copyright{background:#2e6526;color:#fff;text-align:center;padding:8px 15px;font-size:10px}

/* Interactions */
.department-card,.btn,.order-button,.main-nav a,.department-copy a{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.department-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(76,49,19,.12)}
.btn:hover,.order-button:hover,.department-copy a:hover{transform:translateY(-2px);filter:brightness(1.03)}
.department-card img{transition:transform .45s ease}.department-card:hover img{transform:scale(1.04)}

@media(max-width:900px){
  .brand{width:135px}.brand img{width:125px}
  .main-nav{gap:19px}.main-nav a{font-size:12px}
  .department-grid{grid-template-columns:repeat(2,1fr)}
  .story{grid-template-columns:1fr}
  .promo{grid-template-columns:140px 1fr 260px}
  .visit{grid-template-columns:1fr 1fr}.map-card{grid-column:1/-1;min-height:210px}
  .footer-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .header-inner{height:72px}
  .brand{width:105px}.brand img{width:98px}
  .mobile-menu-button{
    display:grid;width:42px;height:42px;border:0;background:transparent;margin-left:auto;align-content:center;gap:5px
  }
  .mobile-menu-button span{display:block;width:24px;height:2px;background:#33271e;margin:auto}
  .main-nav{
    position:absolute;left:12px;right:12px;top:70px;display:none;flex-direction:column;align-items:stretch;gap:0;
    padding:10px;border-radius:14px;background:#fffaf1;box-shadow:var(--shadow)
  }
  .main-nav.open{display:flex}
  .main-nav a{padding:12px 14px}.main-nav a::after{display:none}
  .header-actions{gap:8px}.cart-button{width:36px}.order-button{padding:0 13px;font-size:11px;min-height:40px}
  .hero{min-height:555px}.hero-content{padding-top:118px}
  .hero h1{font-size:45px}.hero p{font-size:16px}
  .department-grid{grid-template-columns:1fr}.department-card>img{height:230px}
  .round-icon{top:204px}
  .story-photo img{height:300px}
  .promo{grid-template-columns:95px 1fr}.promo>img{display:none}.made-badge{width:72px;height:72px;font-size:9px}.promo-copy h2{font-size:23px}
  .visit{grid-template-columns:1fr}.visit-photo img{height:220px}
  .footer-inner{grid-template-columns:1fr 1fr}.footer-socials{grid-column:1/-1}
}


/* ===== HOME V2 — FLOATING SOCIALS + DEPARTMENT ICONS ===== */
.floating-socials{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  z-index:90;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.social-float{
  position:relative;
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:3px solid rgba(255,255,255,.94);
  box-shadow:
    0 10px 24px rgba(35,24,16,.18),
    0 2px 8px rgba(0,0,0,.10);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.social-float:hover{
  transform:translateX(-5px) scale(1.08);
  box-shadow:0 15px 30px rgba(35,24,16,.24);
  filter:saturate(1.08) brightness(1.04);
}
.social-float svg{
  width:24px;
  height:24px;
}
.social-float.facebook{background:#1877F2}
.social-float.facebook svg{fill:#fff}
.social-float.instagram{
  background:radial-gradient(circle at 30% 105%,#fdf497 0 6%,#fdf497 8%,#fd5949 35%,#d6249f 62%,#285AEB 92%);
}
.social-float.instagram svg{fill:none;stroke:#fff;stroke-width:2}
.social-float.tiktok{background:#111}
.social-float.tiktok svg{overflow:visible}
.social-float.tiktok .tk-red{fill:#fe2c55;transform:translate(1px,0)}
.social-float.tiktok .tk-cyan{fill:#25f4ee;transform:translate(-1px,0)}
.social-float.tiktok .tk-white{fill:#fff}
.social-float.youtube{background:#FF0000}
.social-float.youtube svg>path:first-child{fill:#fff}
.social-float.youtube .yt-play{fill:#FF0000}
.social-float.whatsapp{background:#25D366}
.social-float.whatsapp svg>path:first-child{fill:#fff}
.social-float.whatsapp .wa-phone{fill:#25D366}

/* Department photo badge */
.round-icon{
  overflow:hidden;
  box-shadow:
    0 8px 18px rgba(64,42,18,.16),
    0 0 0 1px rgba(255,255,255,.40);
}
.round-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:#fff;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Department title icon */
.department-copy h3{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.title-icon{
  width:25px;
  height:25px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}
.title-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:1100px){
  .floating-socials{
    right:10px;
  }
  .social-float{
    width:42px;
    height:42px;
  }
}
@media(max-width:680px){
  .floating-socials{
    position:fixed;
    top:auto;
    right:50%;
    bottom:12px;
    transform:translateX(50%);
    flex-direction:row;
    gap:7px;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,250,241,.90);
    backdrop-filter:blur(12px);
    border:1px solid rgba(86,61,35,.10);
    box-shadow:0 10px 28px rgba(45,30,18,.14);
  }
  .social-float{
    width:38px;
    height:38px;
    border-width:2px;
  }
  .social-float svg{
    width:21px;
    height:21px;
  }
  body{
    padding-bottom:64px;
  }
}


/* =========================================================
   HOME MASTER V3 — CINEMATIC COLOR / REAL ICONS / CONTROLS
   Typography sizes intentionally preserved.
   ========================================================= */

:root{
  --cinema-cherry:#cf2235;
  --cinema-cherry-2:#ef4055;
  --cinema-green:#2f782e;
  --cinema-green-bright:#5daf3d;
  --cinema-gold:#efb728;
  --cinema-blue:#2a86b9;
  --cinema-ink:#241b16;
}

/* Cinematic color without changing text sizes */
body{
  background:
    radial-gradient(circle at 10% 8%,rgba(239,183,40,.16),transparent 24%),
    radial-gradient(circle at 91% 15%,rgba(42,134,185,.11),transparent 24%),
    radial-gradient(circle at 77% 73%,rgba(207,34,53,.07),transparent 22%),
    linear-gradient(180deg,#fcf8ef 0%,#f5ecdd 58%,#f8f2e7 100%);
}
.site-header{
  background:linear-gradient(110deg,rgba(255,252,245,.98),rgba(249,241,224,.96),rgba(255,250,240,.98));
  box-shadow:0 13px 35px rgba(76,45,21,.10),inset 0 -1px 0 rgba(239,183,40,.18);
}
.main-nav a{
  text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.main-nav a.active{
  color:var(--cinema-cherry);
}
.order-button{
  background:linear-gradient(135deg,var(--cinema-cherry),var(--cinema-cherry-2));
  box-shadow:0 10px 24px rgba(207,34,53,.24),inset 0 1px 0 rgba(255,255,255,.28);
}
.hero-photo,
.department-card>img,
.story-photo img,
.promo>img,
.visit-photo img{
  filter:saturate(1.13) contrast(1.07) brightness(.97);
}
.hero::after,
.department-card::after,
.story-photo::after,
.visit-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero::after{
  background:
    radial-gradient(circle at 70% 20%,rgba(239,183,40,.12),transparent 20%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(207,34,53,.035));
  mix-blend-mode:screen;
}
.hero h1{
  text-shadow:
    0 3px 0 rgba(0,0,0,.12),
    0 9px 24px rgba(0,0,0,.22);
}
.hero h1 strong{
  color:#f0b830;
  text-shadow:0 0 24px rgba(240,184,48,.15);
}
.hero h1 em{
  color:#52aa42;
  text-shadow:0 0 22px rgba(82,170,66,.14);
}
.hero p{
  text-shadow:0 2px 14px rgba(0,0,0,.42);
}
.btn-red{
  background:linear-gradient(135deg,var(--cinema-cherry),var(--cinema-cherry-2));
  box-shadow:0 12px 26px rgba(207,34,53,.24),inset 0 1px 0 rgba(255,255,255,.28);
}
.btn-cream{
  background:linear-gradient(145deg,#fffdf7,#f5ead9);
  box-shadow:0 12px 26px rgba(43,30,19,.18),inset 0 1px 0 #fff;
}
.open-pill{
  background:linear-gradient(135deg,#397d32,#55a53e);
  box-shadow:0 10px 22px rgba(35,91,29,.27),inset 0 1px 0 rgba(255,255,255,.26);
}

/* Photo gloss */
.department-card,
.story-photo,
.visit-photo{
  position:relative;
}
.department-card::after{
  bottom:auto;
  height:210px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 32%),
    linear-gradient(0deg,rgba(35,24,16,.10),transparent 42%);
  z-index:1;
}
.story-photo::after,
.visit-photo::after{
  background:
    linear-gradient(135deg,rgba(255,255,255,.13),transparent 30%),
    radial-gradient(circle at 80% 12%,rgba(239,183,40,.12),transparent 28%);
  border-radius:17px;
}
.department-card{
  box-shadow:
    0 12px 28px rgba(74,45,19,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.department-card:hover{
  box-shadow:
    0 22px 46px rgba(74,45,19,.16),
    0 5px 14px rgba(207,34,53,.06);
}

/* Real department icons over the photos */
.round-icon{
  z-index:4;
  border:4px solid rgba(255,252,245,.96);
  box-shadow:
    0 9px 22px rgba(55,33,17,.21),
    inset 0 1px 0 rgba(255,255,255,.35);
}
.dept-svg{
  width:34px!important;
  height:34px!important;
}
.taco-real .shell{fill:#f2bb35;stroke:#fff4c9}
.taco-real .lettuce{stroke:#8bd34b;stroke-width:5;fill:none}
.taco-real .meat{stroke:#8a3828;stroke-width:4;fill:none}
.taco-real .shell-line{stroke:#fff0a7;stroke-width:3;fill:none}
.tortilla-real .tortilla-back{fill:#e8b94f;stroke:#fff2c7}
.tortilla-real .tortilla-front{fill:#f5d47a;stroke:#fff5d9}
.tortilla-real .spot{fill:#b9863f;stroke:none}
.tortilla-real .corn-leaf{fill:#65a945;stroke:#efffcf}
.bread-real .bread{fill:#e9a72e;stroke:#fff0be}
.bread-real .score{stroke:#fff3cc;stroke-width:4;fill:none}
.steak-real .steak{fill:#d83d4e;stroke:#ffe5e7}
.steak-real .fat{fill:#f7d8ce;stroke:#fff4ef}
.steak-real .marble{stroke:#fff0eb;stroke-width:3.2;fill:none}

.title-icon{
  width:24px;
  height:24px;
}
.title-icon .dept-svg{
  width:22px!important;
  height:22px!important;
}
.title-icon .taco-real .shell{fill:#e5a822}
.title-icon .tortilla-real .tortilla-front{fill:#e0b953}
.title-icon .bread-real .bread{fill:#d99516}
.title-icon .steak-real .steak{fill:#c92839}

/* Handmade badge repaired */
.made-badge{
  width:112px;
  height:112px;
  padding:9px 8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(145deg,#467d38,#255e28);
  border:4px solid rgba(255,250,228,.86);
  outline:2px solid rgba(58,91,33,.38);
  box-shadow:
    0 11px 26px rgba(52,78,29,.28),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.handmade-icon{
  width:48px;
  height:42px;
  margin:0 auto -2px;
}
.steam-line{
  fill:none;
  stroke:#fff7cf;
  stroke-width:3;
  stroke-linecap:round;
}
.tortilla-stack{
  fill:#f6d477;
  stroke:#fff5d4;
  stroke-width:2;
}
.tortilla-line{
  fill:none;
  stroke:#b98126;
  stroke-width:2;
  stroke-linecap:round;
}
.handmade-top{
  font-size:8px;
  letter-spacing:.14em;
  font-weight:800;
  color:#dff3bf;
}
.made-badge b{
  font-size:10px;
  line-height:1.1;
  letter-spacing:.04em;
}
.made-badge small{
  font-size:6.5px;
  letter-spacing:.10em;
  font-weight:700;
  color:#fff6cf;
}

/* Premium text sheen, no size changes */
.department-copy h3,
.story-copy h2,
.promo-copy h2,
.visit-copy h2,
.footer h3{
  text-shadow:0 1px 0 rgba(255,255,255,.82),0 8px 18px rgba(66,45,21,.05);
}
.section-kicker{
  color:#326d31;
  text-shadow:0 1px 0 #fff;
}
.story-copy strong{
  color:var(--cinema-cherry);
}
.promo{
  background:
    radial-gradient(circle at 12% 28%,rgba(255,255,255,.20),transparent 24%),
    linear-gradient(100deg,#eaaa22,#f4c74d 54%,#dc9b18);
  box-shadow:0 18px 40px rgba(115,75,18,.16),inset 0 1px 0 rgba(255,255,255,.32);
}
.visit{
  background:linear-gradient(135deg,#fdf9f1,#f4eadb);
  box-shadow:0 14px 34px rgba(74,45,19,.09),inset 0 1px 0 #fff;
}
.map-card{
  filter:saturate(1.05) contrast(1.02);
}

/* Real social buttons inside Te esperamos */
.visit-socials{
  gap:9px;
  margin-top:15px;
}
.visit-social{
  width:34px!important;
  height:34px!important;
  border:2px solid rgba(255,255,255,.92);
  box-shadow:0 8px 18px rgba(35,25,18,.13);
  transition:transform .18s ease,filter .18s ease;
}
.visit-social:hover{
  transform:translateY(-3px) scale(1.05);
  filter:brightness(1.04);
}
.visit-social svg{
  width:19px;
  height:19px;
}
.visit-social.facebook{background:#1877F2}
.visit-social.facebook svg{fill:#fff}
.visit-social.instagram{
  background:radial-gradient(circle at 30% 105%,#fdf497 0 6%,#fdf497 8%,#fd5949 35%,#d6249f 62%,#285AEB 92%);
}
.visit-social.instagram svg{fill:none;stroke:#fff;stroke-width:2}
.visit-social.tiktok{background:#111}
.visit-social.tiktok .tk-red{fill:#fe2c55}
.visit-social.tiktok .tk-cyan{fill:#25f4ee}
.visit-social.tiktok .tk-white{fill:#fff}
.visit-social.youtube{background:#FF0000}
.visit-social.youtube .yt-body{fill:#fff}
.visit-social.youtube .yt-play{fill:#FF0000}
.visit-social.whatsapp{background:#25D366}
.visit-social.whatsapp .wa-body{fill:#fff}
.visit-social.whatsapp .wa-phone{fill:#25D366}

/* Footer socials */
.footer-socials{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.footer-social{
  width:31px!important;
  height:31px!important;
  box-shadow:0 7px 17px rgba(35,25,18,.12);
}
.footer-social.facebook{background:#1877F2!important}
.footer-social.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)!important}
.footer-social.tiktok{background:#111!important}
.footer-social.youtube{background:#FF0000!important}
.footer-social.whatsapp{background:#25D366!important}

/* Footer action controls */
.footer-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding:0 0 24px;
}
.footer-action{
  border:0;
  min-height:64px;
  border-radius:16px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 16px;
  cursor:pointer;
  text-align:left;
  box-shadow:0 10px 25px rgba(61,40,24,.10),inset 0 1px 0 rgba(255,255,255,.42);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.footer-action:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 32px rgba(61,40,24,.15);
}
.footer-action .action-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:18px;
}
.footer-action strong,
.footer-action small{
  display:block;
}
.footer-action strong{
  font-size:12px;
}
.footer-action small{
  margin-top:2px;
  font-size:9px;
  opacity:.82;
}
.whatsapp-action{
  background:linear-gradient(135deg,#1fb959,#25D366);
  color:#fff;
}
.whatsapp-action .action-icon{
  background:rgba(255,255,255,.16);
}
.whatsapp-action svg{width:24px;height:24px}
.whatsapp-action .wa-body{fill:#fff}
.whatsapp-action .wa-phone{fill:#25D366}
.chat-action{
  background:linear-gradient(135deg,#f8e7a5,#f1c74a);
  color:#362a17;
}
.chat-action .action-icon{
  background:rgba(255,255,255,.45);
}
.top-action{
  background:linear-gradient(135deg,#2c6d31,#438b3d);
  color:#fff;
}
.top-action .action-icon{
  background:rgba(255,255,255,.14);
}

/* Chat panel */
.home-chat{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:140;
  width:min(350px,calc(100vw - 36px));
  border-radius:20px;
  overflow:hidden;
  background:#fffaf1;
  border:1px solid rgba(88,59,34,.13);
  box-shadow:0 22px 55px rgba(43,29,18,.25);
  opacity:0;
  transform:translateY(18px) scale(.97);
  pointer-events:none;
  transition:.22s ease;
}
.home-chat.open{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.home-chat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  color:#fff;
  background:linear-gradient(135deg,var(--cinema-cherry),#e74a54);
}
.home-chat-head strong,
.home-chat-head span{display:block}
.home-chat-head strong{font-size:13px}
.home-chat-head span{font-size:9px;opacity:.85;margin-top:2px}
.home-chat-head button{
  width:32px;height:32px;border:0;border-radius:10px;background:rgba(255,255,255,.15);color:#fff;font-size:21px;cursor:pointer
}
.home-chat-body{padding:16px}
.chat-bubble{
  padding:12px 13px;
  border-radius:14px 14px 14px 4px;
  background:#f3eadc;
  font-size:12px;
  line-height:1.45;
  color:#4b3d31;
}
.chat-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:12px;
}
.chat-options a{
  min-height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e2d5c3;
  font-size:10px;
  font-weight:700;
  color:#4b3d31;
}
.chat-options a:last-child{
  background:#25D366;
  color:#fff;
  border-color:#25D366;
}

@media(max-width:900px){
  .footer-actions{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .made-badge{
    width:82px;
    height:82px;
    padding:5px;
  }
  .handmade-icon{
    width:34px;
    height:29px;
  }
  .handmade-top{font-size:6px}
  .made-badge b{font-size:7.5px}
  .made-badge small{font-size:5px}
  .home-chat{
    bottom:72px;
  }
}


/* =========================================================
   HOME MASTER V4 — LUXURY HEADER + LIVE TRANSLUCENT HERO
   ADDITIVE ONLY. Existing HOME V3 structure remains intact.
   Typography sizes are preserved.
   ========================================================= */

/* ---- Header photographic cinematic icons ---- */
.main-nav{
  gap:22px;
}
.cinematic-nav-link{
  display:flex!important;
  align-items:center;
  gap:8px;
}
.nav-photo-icon{
  position:relative;
  width:30px;
  height:30px;
  border-radius:10px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.92);
  box-shadow:
    0 7px 16px rgba(61,37,19,.15),
    inset 0 1px 0 rgba(255,255,255,.7);
  transform:translateZ(0);
}
.nav-photo-icon::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(145deg,rgba(255,255,255,.22),transparent 38%),
    linear-gradient(0deg,rgba(29,18,11,.12),transparent 45%);
  pointer-events:none;
}
.nav-photo-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.13) contrast(1.06) brightness(.98);
  transition:transform .28s ease,filter .28s ease;
}
.cinematic-nav-link:hover .nav-photo-icon img{
  transform:scale(1.11);
  filter:saturate(1.23) contrast(1.08) brightness(1.02);
}
.nav-label{
  position:relative;
  z-index:1;
  color:inherit;
}

/* Premium underline becomes a soft luxury light */
.cinematic-nav-link::after{
  background:linear-gradient(90deg,var(--cinema-cherry),var(--cinema-gold),var(--cinema-green))!important;
  box-shadow:0 0 11px rgba(207,34,53,.16);
}

/* ---- Slim promotion line ---- */
.micro-promo{
  position:relative;
  z-index:12;
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,#7f1028 0%,#c82136 24%,#e4a528 60%,#3d7b32 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(62,37,14,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 5px 16px rgba(72,40,18,.08);
  overflow:hidden;
}
.micro-promo::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(110deg,transparent 0 28%,rgba(255,255,255,.12) 39%,transparent 50% 100%);
  animation:promoSheen 5.5s linear infinite;
  pointer-events:none;
}
@keyframes promoSheen{
  from{transform:translateX(-65%)}
  to{transform:translateX(75%)}
}
.micro-promo-inner{
  width:min(1180px,92vw);
  min-height:38px;
  margin:auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
}
.micro-promo-icon{
  width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  color:#fff0b5;
  font-size:10px;
}
.micro-promo-track{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  white-space:nowrap;
  overflow:hidden;
}
.micro-promo-track span{
  font-size:10px;
  font-weight:700;
  letter-spacing:.045em;
  text-shadow:0 1px 7px rgba(0,0,0,.22);
}
.micro-promo-track i{
  font-style:normal;
  color:#ffe59a;
  opacity:.85;
}
.micro-promo a{
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.10);
  color:#fff;
  transition:.18s ease;
}
.micro-promo a:hover{
  background:rgba(255,255,255,.20);
  transform:translateY(-1px);
}

/* ---- Hero image remains. Video is translucent ABOVE it. ---- */
.hero-live-video{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  opacity:.30;
  mix-blend-mode:soft-light;
}
.hero-live-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:
    saturate(1.18)
    contrast(1.10)
    brightness(1.08)
    blur(.2px);
  transform:scale(1.02);
}
/* translucent striped / "entre líneas" video reveal */
.hero-live-video{
  -webkit-mask-image:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.88) 0px,
      rgba(0,0,0,.88) 3px,
      rgba(0,0,0,.26) 4px,
      rgba(0,0,0,.26) 7px
    );
  mask-image:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.88) 0px,
      rgba(0,0,0,.88) 3px,
      rgba(0,0,0,.26) 4px,
      rgba(0,0,0,.26) 7px
    );
}
.video-scanlines{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.04) 0 1px,
      rgba(11,33,46,.03) 1px 4px
    );
  opacity:.44;
  mix-blend-mode:overlay;
}
.video-soft-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 28%,rgba(239,183,40,.17),transparent 26%),
    radial-gradient(circle at 34% 65%,rgba(82,170,66,.10),transparent 24%),
    linear-gradient(90deg,rgba(207,34,53,.08),transparent 34%,rgba(42,134,185,.08));
  mix-blend-mode:screen;
}

/* Hero shade stays above video to protect readability */
.hero-shade{
  z-index:2;
}
.hero-content{
  z-index:4;
}
.hero-logo,
.hero-wave{
  z-index:5;
}

/* ---- Premium/luxury text treatment, no font-size changes ---- */
.hero h1,
.department-copy h3,
.story-copy h2,
.promo-copy h2,
.visit-copy h2,
.footer h3{
  position:relative;
}
.hero h1{
  text-shadow:
    0 1px 0 rgba(255,255,255,.08),
    0 3px 0 rgba(0,0,0,.12),
    0 10px 27px rgba(0,0,0,.24);
}
.hero h1::after{
  content:"";
  display:block;
  width:74px;
  height:2px;
  margin-top:15px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--cinema-cherry),var(--cinema-gold),var(--cinema-green));
  box-shadow:0 0 15px rgba(239,183,40,.24);
}
.department-copy h3{
  letter-spacing:-.018em;
}
.department-copy h3::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  width:36px;
  height:1px;
  transform:translateX(-50%);
  background:currentColor;
  opacity:.32;
}
.story-copy h2 em,
.promo-copy h2 em{
  text-shadow:
    0 1px 0 rgba(255,255,255,.68),
    0 7px 18px rgba(53,105,42,.08);
}
.story-copy strong{
  text-shadow:0 6px 18px rgba(207,34,53,.08);
}
.section-kicker{
  letter-spacing:.19em;
}

/* Slight light sweep across premium blocks */
.department-card,
.story,
.promo,
.visit,
.footer{
  position:relative;
}
.department-card::before,
.promo::before,
.visit::before{
  content:"";
  position:absolute;
  z-index:6;
  pointer-events:none;
  top:0;
  left:-42%;
  width:28%;
  height:100%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  opacity:0;
}
.department-card:hover::before{
  animation:cardSheen .68s ease;
}
@keyframes cardSheen{
  0%{left:-42%;opacity:0}
  20%{opacity:1}
  100%{left:118%;opacity:0}
}

/* Responsive: preserve current layout, just simplify photographic icons */
@media(max-width:900px){
  .main-nav{
    gap:13px;
  }
  .nav-photo-icon{
    width:27px;
    height:27px;
  }
  .micro-promo-track{
    justify-content:flex-start;
  }
  .micro-promo-track span:nth-of-type(n+3),
  .micro-promo-track i:nth-of-type(n+3){
    display:none;
  }
}
@media(max-width:680px){
  .micro-promo{
    min-height:34px;
  }
  .micro-promo-inner{
    min-height:34px;
    grid-template-columns:auto 1fr;
    gap:8px;
  }
  .micro-promo a{
    display:none;
  }
  .micro-promo-track span{
    font-size:9px;
  }
  .micro-promo-track span:nth-of-type(n+2),
  .micro-promo-track i{
    display:none;
  }
  .cinematic-nav-link{
    gap:10px;
  }
  .nav-photo-icon{
    width:34px;
    height:34px;
  }
  .hero-live-video{
    opacity:.22;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .micro-promo::before{
    animation:none;
  }
  .hero-live-video video{
    display:none;
  }
}


/* =========================================================
   HOME MASTER V5 — LIVE NAV / SCROLL LIFE / GUIDED MOUSE
   ADDITIVE ONLY. V4 preserved.
   ========================================================= */

/* Slightly larger header/nav text, still compact */
.main-nav a,
.menu-trigger{
  font-size:15px;
  font-weight:700;
}
.nav-label{
  letter-spacing:-.01em;
}

/* Floating nav tabs */
.live-tab{
  animation:navFloat 4.8s ease-in-out infinite;
  animation-delay:calc(var(--tab-i) * -0.38s);
  transform-origin:center;
  will-change:transform;
}
.live-tab:nth-child(even){
  animation-duration:5.4s;
}
@keyframes navFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-3px) rotate(.3deg)}
}

/* Scroll causes nav tabs to gently converge toward center */
body{
  --nav-converge:0;
}
.live-tab{
  translate:
    calc((2 - var(--tab-i)) * var(--nav-converge) * 1px)
    calc(var(--nav-converge) * -0.08px);
}

/* Hero video becomes more visible, photo remains underneath */
.hero-live-video{
  opacity:.46;
  mix-blend-mode:soft-light;
}
.hero-live-video video{
  filter:
    saturate(1.24)
    contrast(1.12)
    brightness(1.10)
    blur(.15px);
}
.video-scanlines{
  opacity:.52;
}

/* Subtle live pulse in hero, no content removal */
.hero::before{
  content:"";
  position:absolute;
  z-index:3;
  width:420px;
  height:420px;
  left:52%;
  top:18%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(239,183,40,.10),rgba(82,170,66,.05) 38%,transparent 68%);
  filter:blur(10px);
  animation:heroBreath 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes heroBreath{
  0%,100%{transform:scale(.92);opacity:.45}
  50%{transform:scale(1.10);opacity:.8}
}

/* Department cards come alive on scroll */
.scroll-life{
  opacity:.18;
  transform:
    translateY(32px)
    translateX(calc((1.5 - var(--life-index,0)) * 18px))
    scale(.96);
  transition:
    opacity .72s ease,
    transform .9s cubic-bezier(.18,.82,.16,1),
    box-shadow .25s ease;
  will-change:transform,opacity;
}
.scroll-life.life-visible{
  opacity:1;
  transform:translateY(0) translateX(0) scale(1);
}
.scroll-life.life-visible:nth-child(1){transition-delay:.04s}
.scroll-life.life-visible:nth-child(2){transition-delay:.12s}
.scroll-life.life-visible:nth-child(3){transition-delay:.20s}
.scroll-life.life-visible:nth-child(4){transition-delay:.28s}

/* Cards breathe very slightly once visible */
.scroll-life.life-visible{
  animation:cardAlive 7s ease-in-out infinite;
}
.scroll-life.life-visible:nth-child(2){animation-delay:-1.2s}
.scroll-life.life-visible:nth-child(3){animation-delay:-2.2s}
.scroll-life.life-visible:nth-child(4){animation-delay:-3.2s}
@keyframes cardAlive{
  0%,100%{translate:0 0}
  50%{translate:0 -4px}
}

/* Major sections reveal from different directions */
.scroll-section-life{
  opacity:.28;
  transition:
    opacity .75s ease,
    transform 1s cubic-bezier(.18,.82,.16,1);
}
.scroll-section-life[data-scroll-direction="left"]{transform:translateX(-34px)}
.scroll-section-life[data-scroll-direction="right"]{transform:translateX(34px)}
.scroll-section-life[data-scroll-direction="up"]{transform:translateY(30px)}
.scroll-section-life.section-visible{
  opacity:1;
  transform:translate(0,0);
}

/* Interactive photo tabs tilt with mouse */
.department-card{
  transform-style:preserve-3d;
}
.department-card .department-copy,
.department-card .round-icon{
  transform:translateZ(16px);
}

/* Guided mouse */
.mouse-guide-aura,
.mouse-guide-ring,
.mouse-guide-label{
  position:fixed;
  pointer-events:none;
  z-index:9997;
  transform:translate(-50%,-50%);
}
.mouse-guide-aura{
  width:180px;
  height:180px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(239,183,40,.14),rgba(82,170,66,.07) 40%,rgba(207,34,53,.04) 55%,transparent 70%);
  filter:blur(5px);
  opacity:.72;
}
.mouse-guide-ring{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1.5px solid rgba(207,34,53,.58);
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%);
  box-shadow:
    0 0 0 5px rgba(239,183,40,.05),
    0 0 24px rgba(207,34,53,.13);
  transition:
    width .16s ease,
    height .16s ease,
    border-color .16s ease,
    background .16s ease;
}
.mouse-guide-ring.hot{
  width:70px;
  height:70px;
  border-color:rgba(239,183,40,.78);
  background:
    radial-gradient(circle,rgba(239,183,40,.18),rgba(207,34,53,.07) 50%,transparent 72%);
}
.mouse-guide-label{
  margin:48px 0 0 48px;
  padding:7px 10px;
  border-radius:999px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(65,19,27,.94),rgba(207,34,53,.92));
  box-shadow:0 8px 22px rgba(45,25,18,.18);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  opacity:0;
  white-space:nowrap;
  transition:opacity .16s ease;
}
.mouse-guide-label.show{
  opacity:1;
}

/* Mouse explosions */
.mouse-burst-particle{
  position:fixed;
  width:8px;
  height:8px;
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  animation:mouseBurst .72s cubic-bezier(.16,.78,.14,1) forwards;
}
@keyframes mouseBurst{
  from{
    transform:translate(0,0) scale(1);
    opacity:1;
  }
  to{
    transform:translate(var(--dx),var(--dy)) scale(.06) rotate(160deg);
    opacity:0;
  }
}
.mouse-burst-flash{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9996;
  background:
    radial-gradient(circle at var(--mx) var(--my),
      rgba(255,255,255,.72),
      rgba(239,183,40,.25) 12%,
      rgba(207,34,53,.12) 24%,
      transparent 45%);
  animation:burstFlash .5s ease forwards;
}
@keyframes burstFlash{
  0%{opacity:0}
  28%{opacity:1}
  100%{opacity:0}
}

/* Cursor hover gives life to buttons/tabs */
[data-guide]{
  position:relative;
}
[data-guide]:hover{
  filter:saturate(1.04);
}

/* Responsive: keep effects lighter */
@media(max-width:900px){
  .main-nav a,
  .menu-trigger{
    font-size:13px;
  }
}
@media(max-width:680px){
  .main-nav a,
  .menu-trigger{
    font-size:13px;
  }
  .live-tab{
    animation:none;
    translate:0 0!important;
  }
  .hero-live-video{
    opacity:.32;
  }
  .mouse-guide-aura,
  .mouse-guide-ring,
  .mouse-guide-label{
    display:none;
  }
}

/* Accessibility / performance */
@media(prefers-reduced-motion:reduce){
  .live-tab,
  .hero::before,
  .scroll-life.life-visible{
    animation:none!important;
  }
  .scroll-life,
  .scroll-section-life{
    opacity:1!important;
    transform:none!important;
  }
  .mouse-guide-aura,
  .mouse-guide-ring,
  .mouse-guide-label{
    display:none!important;
  }
}


/* =========================================================
   HOME MASTER V6 — AMBIENT CINEMATIC LIFE
   ADDITIVE ONLY. HOME V5 remains intact.
   ========================================================= */

body{
  position:relative;
  overflow-x:hidden;
}
main,
.footer{
  position:relative;
  z-index:1;
}

/* ---------- Whole-page moving ambient background ---------- */
.ambient-scene{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:.92;
}
.ambient-scene::before{
  content:"";
  position:absolute;
  inset:-15%;
  background:
    radial-gradient(circle at 22% 18%,rgba(239,183,40,.13),transparent 18%),
    radial-gradient(circle at 78% 23%,rgba(42,134,185,.10),transparent 19%),
    radial-gradient(circle at 74% 74%,rgba(207,34,53,.07),transparent 20%),
    radial-gradient(circle at 23% 78%,rgba(82,170,66,.09),transparent 18%);
  filter:blur(16px);
  animation:ambientMeshMove 18s ease-in-out infinite alternate;
}
@keyframes ambientMeshMove{
  0%{transform:translate3d(-1.5%,-1%,0) scale(1)}
  50%{transform:translate3d(1.8%,1.3%,0) scale(1.035)}
  100%{transform:translate3d(-.6%,2%,0) scale(1.02)}
}

.ambient-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(4px);
  mix-blend-mode:multiply;
  opacity:.38;
  will-change:transform;
}
.orb-gold{
  width:260px;height:260px;left:-90px;top:22%;
  background:radial-gradient(circle,rgba(239,183,40,.28),rgba(239,183,40,.06) 52%,transparent 70%);
  animation:orbFloatOne 14s ease-in-out infinite;
}
.orb-green{
  width:220px;height:220px;right:-70px;top:42%;
  background:radial-gradient(circle,rgba(82,170,66,.22),rgba(82,170,66,.05) 54%,transparent 72%);
  animation:orbFloatTwo 16s ease-in-out infinite;
}
.orb-blue{
  width:300px;height:300px;right:8%;bottom:-120px;
  background:radial-gradient(circle,rgba(42,134,185,.18),rgba(42,134,185,.04) 55%,transparent 72%);
  animation:orbFloatThree 19s ease-in-out infinite;
}
.orb-cherry{
  width:190px;height:190px;left:20%;bottom:8%;
  background:radial-gradient(circle,rgba(207,34,53,.13),rgba(207,34,53,.03) 56%,transparent 74%);
  animation:orbFloatTwo 18s ease-in-out infinite reverse;
}
@keyframes orbFloatOne{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(38px,-24px,0)}
}
@keyframes orbFloatTwo{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-28px,34px,0)}
}
@keyframes orbFloatThree{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(24px,-42px,0)}
}

.ambient-line{
  position:absolute;
  width:420px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,183,40,.30),rgba(207,34,53,.17),transparent);
  transform-origin:center;
  opacity:.42;
}
.line-one{
  left:6%;top:37%;transform:rotate(-13deg);
  animation:lineDrift 13s ease-in-out infinite;
}
.line-two{
  right:4%;top:66%;transform:rotate(11deg);
  background:linear-gradient(90deg,transparent,rgba(42,134,185,.24),rgba(82,170,66,.20),transparent);
  animation:lineDrift 16s ease-in-out infinite reverse;
}
@keyframes lineDrift{
  0%,100%{translate:0 0;scale:.92 1}
  50%{translate:35px -12px;scale:1.08 1}
}
.ambient-spark{
  position:absolute;
  font-size:13px;
  color:rgba(239,183,40,.55);
  text-shadow:0 0 14px rgba(239,183,40,.28);
  animation:sparkFloat 8s ease-in-out infinite;
}
.spark-one{left:8%;top:58%}
.spark-two{right:11%;top:29%;animation-delay:-2.5s;color:rgba(82,170,66,.45)}
.spark-three{left:47%;top:76%;animation-delay:-4s;color:rgba(207,34,53,.30);font-size:18px}
.spark-four{right:33%;top:48%;animation-delay:-5.7s;color:rgba(42,134,185,.40);font-size:17px}
@keyframes sparkFloat{
  0%,100%{transform:translateY(0) rotate(0);opacity:.28}
  50%{transform:translateY(-16px) rotate(18deg);opacity:.72}
}

/* ---------- Header tabs: more movement + magnetic depth ---------- */
.live-tab{
  --mag-x:0px;
  --mag-y:0px;
  --float-y:0px;
  transform:
    translate3d(
      var(--mag-x),
      calc(var(--mag-y) + var(--float-y)),
      0
    )
    rotate(var(--tab-rot,0deg));
  animation:navFloatV6 4.2s ease-in-out infinite;
  animation-delay:calc(var(--tab-i) * -.48s);
  transition:
    color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}
@keyframes navFloatV6{
  0%,100%{
    --float-y:0px;
    --tab-rot:0deg;
  }
  25%{
    --float-y:-4px;
    --tab-rot:-.35deg;
  }
  55%{
    --float-y:-7px;
    --tab-rot:.35deg;
  }
  78%{
    --float-y:-2px;
    --tab-rot:.12deg;
  }
}
.live-tab:hover{
  box-shadow:
    0 10px 24px rgba(65,39,20,.11),
    inset 0 1px 0 rgba(255,255,255,.75);
}
.live-tab .nav-photo-icon{
  animation:navIconPulse 4.8s ease-in-out infinite;
  animation-delay:calc(var(--tab-i) * -.61s);
}
@keyframes navIconPulse{
  0%,100%{box-shadow:0 7px 16px rgba(61,37,19,.15),inset 0 1px 0 rgba(255,255,255,.7)}
  50%{box-shadow:0 11px 22px rgba(61,37,19,.20),0 0 18px rgba(239,183,40,.10),inset 0 1px 0 #fff}
}
.live-tab .nav-label{
  text-shadow:
    0 1px 0 rgba(255,255,255,.92),
    0 5px 13px rgba(56,34,18,.07);
}

/* ---------- HERO video: clearer but photo stays underneath ---------- */
.hero-live-video{
  opacity:.62;
  mix-blend-mode:soft-light;
}
.hero-live-video video{
  filter:
    saturate(1.28)
    contrast(1.11)
    brightness(1.13)
    blur(0);
}
.hero-live-video{
  -webkit-mask-image:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.96) 0px,
      rgba(0,0,0,.96) 5px,
      rgba(0,0,0,.48) 6px,
      rgba(0,0,0,.48) 8px
    );
  mask-image:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.96) 0px,
      rgba(0,0,0,.96) 5px,
      rgba(0,0,0,.48) 6px,
      rgba(0,0,0,.48) 8px
    );
}
.video-scanlines{
  opacity:.38;
}
.video-soft-glow{
  opacity:.72;
}

/* ---------- Living text without changing size ---------- */
.living-title,
.living-heading,
.living-kicker,
.department-copy h3,
.promo-copy p,
.story-copy p,
.visit-copy li,
.footer p,
.footer a{
  will-change:filter,transform,text-shadow;
}
.living-title{
  animation:titleGlowBreath 6.5s ease-in-out infinite;
}
@keyframes titleGlowBreath{
  0%,100%{
    filter:saturate(1);
    text-shadow:0 3px 0 rgba(0,0,0,.12),0 10px 27px rgba(0,0,0,.24);
  }
  50%{
    filter:saturate(1.08);
    text-shadow:0 3px 0 rgba(0,0,0,.10),0 13px 33px rgba(0,0,0,.28),0 0 18px rgba(239,183,40,.06);
  }
}
.living-heading{
  animation:headingLife 7.5s ease-in-out infinite;
}
@keyframes headingLife{
  0%,100%{text-shadow:0 1px 0 rgba(255,255,255,.82),0 8px 18px rgba(66,45,21,.05)}
  50%{text-shadow:0 1px 0 rgba(255,255,255,.92),0 10px 22px rgba(66,45,21,.09),0 0 14px rgba(239,183,40,.05)}
}
.living-kicker{
  animation:kickerPulse 5.6s ease-in-out infinite;
}
@keyframes kickerPulse{
  0%,100%{letter-spacing:.19em;opacity:.86}
  50%{letter-spacing:.215em;opacity:1}
}
.department-copy h3{
  animation:departmentTextLife 6.8s ease-in-out infinite;
}
.department-card:nth-child(2) .department-copy h3{animation-delay:-1.4s}
.department-card:nth-child(3) .department-copy h3{animation-delay:-2.8s}
.department-card:nth-child(4) .department-copy h3{animation-delay:-4.2s}
@keyframes departmentTextLife{
  0%,100%{filter:brightness(1);transform:translateY(0)}
  50%{filter:brightness(1.07) saturate(1.08);transform:translateY(-1px)}
}

/* ---------- Every photo gets a slow cinematic breath ---------- */
.photo-life,
.department-card>img,
.story-photo img,
.promo>img,
.visit-photo img{
  will-change:transform,filter;
}
.department-photo-life{
  animation:photoKenBurns 10s ease-in-out infinite alternate;
  animation-delay:calc(var(--photo-i) * -1.6s);
}
@keyframes photoKenBurns{
  0%{
    transform:scale(1.015) translate3d(-.6%,0,0);
    filter:saturate(1.10) contrast(1.06) brightness(.96);
  }
  100%{
    transform:scale(1.065) translate3d(.8%,-.5%,0);
    filter:saturate(1.17) contrast(1.08) brightness(1);
  }
}
.story-photo img{
  animation:storyPhotoLife 12s ease-in-out infinite alternate;
}
.visit-photo img{
  animation:visitPhotoLife 13s ease-in-out infinite alternate;
}
.promo>img{
  animation:promoPhotoLife 9s ease-in-out infinite alternate;
}
@keyframes storyPhotoLife{
  from{transform:scale(1.01) translateX(-.5%)}
  to{transform:scale(1.045) translateX(.7%)}
}
@keyframes visitPhotoLife{
  from{transform:scale(1.01) translateY(0)}
  to{transform:scale(1.04) translateY(-1%)}
}
@keyframes promoPhotoLife{
  from{transform:scale(1.01) translateX(0)}
  to{transform:scale(1.055) translateX(-1%)}
}

/* Photo shells get a visible but refined moving sheen */
.photo-shell-life::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    linear-gradient(
      115deg,
      transparent 0 37%,
      rgba(255,255,255,.15) 46%,
      transparent 56%
    );
  transform:translateX(-105%);
  animation:photoSheen 8.5s ease-in-out infinite;
  border-radius:17px;
}
@keyframes photoSheen{
  0%,68%{transform:translateX(-105%);opacity:0}
  76%{opacity:1}
  100%{transform:translateX(105%);opacity:0}
}

/* Gentle motion on promo, cards and visit blocks */
.promo{
  animation:promoBlockFloat 7.5s ease-in-out infinite;
}
@keyframes promoBlockFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
.visit{
  animation:visitBlockFloat 9s ease-in-out infinite;
}
@keyframes visitBlockFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -2px}
}

/* ---------- Mouse proximity life ---------- */
[data-proximity]{
  --prox-x:0px;
  --prox-y:0px;
}
.department-card{
  transform:
    perspective(900px)
    translate3d(var(--prox-x,0px),var(--prox-y,0px),0)
    rotateX(var(--tilt-x,0deg))
    rotateY(var(--tilt-y,0deg));
}
.department-card:hover{
  box-shadow:
    0 25px 54px rgba(74,45,19,.17),
    0 8px 22px rgba(207,34,53,.07),
    0 0 0 1px rgba(239,183,40,.08);
}

/* Make subtle decorations noticeable but restrained */
.departments::before,
.story::before,
.visit::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  filter:blur(1px);
}
.departments::before{
  width:80px;height:80px;left:-48px;top:14%;
  background:radial-gradient(circle,rgba(239,183,40,.14),transparent 68%);
}
.story::before{
  width:120px;height:120px;right:-72px;top:8%;
  background:radial-gradient(circle,rgba(82,170,66,.11),transparent 70%);
}
.visit::after{
  width:110px;height:110px;left:-68px;bottom:-34px;
  background:radial-gradient(circle,rgba(42,134,185,.10),transparent 70%);
}

/* Mobile: keep life, reduce intensity */
@media(max-width:680px){
  .ambient-line{
    opacity:.24;
  }
  .ambient-spark{
    opacity:.5;
  }
  .hero-live-video{
    opacity:.45;
  }
  .department-photo-life{
    animation-duration:13s;
  }
}

/* Reduced-motion safe mode */
@media(prefers-reduced-motion:reduce){
  .ambient-scene,
  .live-tab,
  .nav-photo-icon,
  .living-title,
  .living-heading,
  .living-kicker,
  .department-copy h3,
  .department-photo-life,
  .story-photo img,
  .visit-photo img,
  .promo>img,
  .promo,
  .visit,
  .photo-shell-life::before{
    animation:none!important;
  }
}


/* =========================================================
   HOME MASTER V7 — FINAL HOME CINEMATIC
   ADDITIVE ONLY. V6 remains intact.
   ========================================================= */

/* ---------- More movement through the full page background ---------- */
.page-motion-ribbons{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  opacity:.72;
}
.motion-ribbon{
  position:absolute;
  left:-20vw;
  width:140vw;
  border-radius:50%;
  filter:blur(1px);
  transform-origin:center;
}
.ribbon-a{
  top:18%;
  height:110px;
  background:
    linear-gradient(90deg,transparent 2%,rgba(239,183,40,.08) 26%,rgba(207,34,53,.05) 52%,rgba(82,170,66,.06) 72%,transparent 98%);
  transform:rotate(-5deg);
  animation:ribbonFlowA 15s ease-in-out infinite alternate;
}
.ribbon-b{
  top:43%;
  height:86px;
  background:
    linear-gradient(90deg,transparent,rgba(42,134,185,.07) 22%,rgba(255,255,255,.12) 50%,rgba(239,183,40,.06) 76%,transparent);
  transform:rotate(4deg);
  animation:ribbonFlowB 18s ease-in-out infinite alternate;
}
.ribbon-c{
  top:68%;
  height:118px;
  background:
    linear-gradient(90deg,transparent,rgba(82,170,66,.065) 27%,rgba(207,34,53,.045) 57%,rgba(42,134,185,.06) 82%,transparent);
  transform:rotate(-3deg);
  animation:ribbonFlowC 20s ease-in-out infinite alternate;
}
.ribbon-d{
  top:86%;
  height:70px;
  background:
    linear-gradient(90deg,transparent,rgba(239,183,40,.07) 32%,rgba(255,255,255,.12) 56%,rgba(207,34,53,.045) 78%,transparent);
  transform:rotate(2deg);
  animation:ribbonFlowD 17s ease-in-out infinite alternate;
}
@keyframes ribbonFlowA{
  from{translate:-5% -8px;scale:1 .92}
  to{translate:5% 10px;scale:1.04 1.08}
}
@keyframes ribbonFlowB{
  from{translate:6% 8px;scale:1.03 1}
  to{translate:-5% -10px;scale:.98 1.1}
}
@keyframes ribbonFlowC{
  from{translate:-3% 4px;scale:1 1.06}
  to{translate:6% -9px;scale:1.05 .96}
}
@keyframes ribbonFlowD{
  from{translate:5% 0;opacity:.5}
  to{translate:-4% -7px;opacity:.82}
}
.motion-grain{
  position:absolute;
  inset:0;
  opacity:.15;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.5) 0 1px,transparent 1.2px),
    radial-gradient(circle at 80% 70%,rgba(86,61,35,.18) 0 1px,transparent 1.2px);
  background-size:34px 34px,46px 46px;
  animation:grainDrift 24s linear infinite;
}
@keyframes grainDrift{
  from{background-position:0 0,0 0}
  to{background-position:68px 34px,-46px 92px}
}

/* Make ambient scene more present, still refined */
.ambient-scene{
  opacity:1;
}
.ambient-scene::before{
  animation-duration:14s;
}
.ambient-orb{
  opacity:.48;
}
.ambient-line{
  opacity:.55;
}
.ambient-spark{
  filter:drop-shadow(0 0 6px currentColor);
}

/* ---------- Hero text floats as one living composition ---------- */
.hero-floating-copy{
  animation:
    titleGlowBreath 6.5s ease-in-out infinite,
    heroTextFloat 5.4s ease-in-out infinite;
  transform-origin:left center;
}
.hero-floating-sub{
  animation:heroSubFloat 6.2s ease-in-out infinite;
}
.hero-floating-actions{
  animation:heroActionsFloat 7s ease-in-out infinite;
}
.hero-floating-pill{
  animation:heroPillFloat 5.7s ease-in-out infinite;
}
@keyframes heroTextFloat{
  0%,100%{transform:translate3d(0,0,0)}
  48%{transform:translate3d(0,-7px,0)}
  72%{transform:translate3d(2px,-4px,0)}
}
@keyframes heroSubFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(3px,-4px,0)}
}
@keyframes heroActionsFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-3px,0)}
}
@keyframes heroPillFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(4px,-4px,0)}
}

/* ---------- Promotion line gets more life ---------- */
.business-promo{
  min-height:40px;
  background:
    linear-gradient(
      90deg,
      #681020 0%,
      #b91e32 18%,
      #e0a126 48%,
      #4d8837 76%,
      #256b43 100%
    );
}
.business-promo .micro-promo-track{
  animation:promoTrackBreath 7s ease-in-out infinite;
}
.business-promo .promo-primary{
  color:#fff5c8;
  text-shadow:
    0 0 14px rgba(255,242,180,.16),
    0 2px 8px rgba(0,0,0,.18);
}
.business-promo a{
  background:rgba(255,255,255,.15);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 4px 12px rgba(0,0,0,.08);
}
@keyframes promoTrackBreath{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(5px)}
}

/* ---------- Exploding / reassembling marketing message ---------- */
.explosive-message{
  position:relative;
  max-width:590px;
  min-height:2.25em;
  perspective:900px;
}
.explosive-message .explode-letter{
  position:relative;
  display:inline-block;
  will-change:transform,opacity,filter;
  transform:
    translate3d(
      calc(var(--explode-progress,0) * var(--dx)),
      calc(var(--explode-progress,0) * var(--dy)),
      calc(var(--explode-progress,0) * var(--dz))
    )
    rotate(calc(var(--explode-progress,0) * var(--rot)))
    scale(calc(1 - (var(--explode-progress,0) * .16)));
  opacity:calc(1 - (var(--explode-progress,0) * .16));
  filter:
    blur(calc(var(--explode-progress,0) * .45px))
    saturate(calc(1 + (var(--explode-progress,0) * .20)));
  transition:
    text-shadow .18s ease,
    color .18s ease;
}
.explosive-message .explode-letter:nth-child(4n+1){
  color:#2f6e2c;
}
.explosive-message .explode-letter:nth-child(4n+2){
  color:#261e19;
}
.explosive-message .explode-letter:nth-child(4n+3){
  color:#cf232c;
}
.explosive-message .explode-letter:nth-child(4n){
  color:#d89509;
}
.explosive-message .explode-letter.is-space{
  width:.32em;
}
.explosive-message.is-assembled .explode-letter{
  text-shadow:
    0 1px 0 rgba(255,255,255,.84),
    0 9px 19px rgba(66,45,21,.07);
}
.story-marketing-support{
  margin-top:-2px!important;
  margin-bottom:10px!important;
  color:#65574b!important;
  font-weight:600;
  letter-spacing:.005em;
}

/* Soft spark when headline is nearly assembled */
.explosive-message::after{
  content:"✦";
  position:absolute;
  right:-22px;
  top:12%;
  color:#efb728;
  font-size:13px;
  opacity:calc(1 - var(--explode-progress,0));
  transform:
    scale(calc(.7 + (1 - var(--explode-progress,0)) * .5))
    rotate(calc(var(--explode-progress,0) * 80deg));
  text-shadow:0 0 14px rgba(239,183,40,.30);
}

/* Section-level background movement for the body of the page */
.departments,
.story,
.promo,
.visit{
  isolation:isolate;
}
.departments::after,
.story::after,
.promo::after,
.visit::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
  filter:blur(18px);
  animation:sectionGlowMove 9s ease-in-out infinite alternate;
}
.departments::after{
  width:190px;height:190px;right:-110px;top:18%;
  background:rgba(239,183,40,.08);
}
.story::after{
  width:220px;height:220px;left:-130px;bottom:-35px;
  background:rgba(82,170,66,.07);
  animation-delay:-2s;
}
.promo::after{
  width:180px;height:180px;right:18%;bottom:-105px;
  background:rgba(207,34,53,.05);
  animation-delay:-4s;
}
.visit::before{
  width:200px;height:200px;right:-115px;top:-40px;
  background:rgba(42,134,185,.07);
  animation-delay:-5s;
}
@keyframes sectionGlowMove{
  from{transform:translate3d(-8px,-5px,0) scale(.92);opacity:.55}
  to{transform:translate3d(12px,9px,0) scale(1.12);opacity:1}
}

/* Mobile intensity reduced but effect kept */
@media(max-width:680px){
  .page-motion-ribbons{
    opacity:.48;
  }
  .hero-floating-copy{
    animation-duration:6.5s;
  }
  .explosive-message{
    min-height:2.8em;
  }
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .page-motion-ribbons,
  .hero-floating-copy,
  .hero-floating-sub,
  .hero-floating-actions,
  .hero-floating-pill,
  .business-promo .micro-promo-track,
  .departments::after,
  .story::after,
  .promo::after,
  .visit::before{
    animation:none!important;
  }
  .explosive-message .explode-letter{
    transform:none!important;
    opacity:1!important;
    filter:none!important;
  }
}


/* =========================================================
   HOME MASTER V8 — FOOTER CINEMATIC GLOW
   Additive upgrade on top of V7
   ========================================================= */

.cinematic-footer{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(23,29,37,.90) 0%, rgba(31,15,18,.95) 48%, rgba(14,20,28,.98) 100%);
}

.cinematic-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.04) 0%, transparent 30%, rgba(214,44,68,.06) 56%, transparent 100%);
  mix-blend-mode:screen;
  opacity:.8;
  pointer-events:none;
  z-index:0;
}

.footer-cinematic-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.footer-blur-image{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(10,14,19,.72), rgba(10,14,19,.84)),
    url("assets/storefront.jpg") center center / cover no-repeat;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.25) brightness(.78);
  opacity:.34;
  animation:footerImageDrift 16s ease-in-out infinite alternate;
}

@keyframes footerImageDrift{
  from{transform:scale(1.12) translate3d(-12px,0,0)}
  to{transform:scale(1.18) translate3d(14px,-8px,0)}
}

.footer-light{
  position:absolute;
  border-radius:50%;
  filter:blur(16px);
  opacity:.55;
}

.footer-light-a{
  width:260px;height:260px;
  left:-60px;bottom:-40px;
  background:radial-gradient(circle, rgba(64,157,255,.25) 0%, rgba(64,157,255,0) 70%);
  animation:footerOrbA 9s ease-in-out infinite alternate;
}

.footer-light-b{
  width:260px;height:260px;
  right:-80px;top:-70px;
  background:radial-gradient(circle, rgba(255,214,92,.22) 0%, rgba(255,214,92,0) 72%);
  animation:footerOrbB 11s ease-in-out infinite alternate;
}

.footer-light-c{
  width:220px;height:220px;
  right:28%;bottom:-90px;
  background:radial-gradient(circle, rgba(216,39,66,.24) 0%, rgba(216,39,66,0) 70%);
  animation:footerOrbC 10s ease-in-out infinite alternate;
}

@keyframes footerOrbA{
  from{transform:translate3d(0,0,0) scale(.92)}
  to{transform:translate3d(10px,-12px,0) scale(1.08)}
}
@keyframes footerOrbB{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-12px,8px,0) scale(1.1)}
}
@keyframes footerOrbC{
  from{transform:translate3d(0,0,0) scale(.95)}
  to{transform:translate3d(14px,-6px,0) scale(1.06)}
}

.footer-grid-sheen{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:30px 30px;
  mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 16%, rgba(0,0,0,1) 100%);
  opacity:.22;
  animation:footerGridMove 12s linear infinite;
}
@keyframes footerGridMove{
  from{background-position:0 0,0 0}
  to{background-position:30px 30px,30px 30px}
}

/* Footer content above background */
.cinematic-footer > *{
  position:relative;
  z-index:1;
}

/* Premium footer headings */
.cinematic-footer h2,
.cinematic-footer h3,
.cinematic-footer h4,
.cinematic-footer h5,
.cinematic-footer .footer-title,
.cinematic-footer .footer-heading{
  color:#fff7e6!important;
  text-shadow:
    0 0 10px rgba(255,226,147,.16),
    0 2px 12px rgba(0,0,0,.26),
    0 0 24px rgba(68,159,255,.10);
  letter-spacing:.03em;
  font-weight:800;
  position:relative;
}

.cinematic-footer h2::after,
.cinematic-footer h3::after,
.cinematic-footer h4::after,
.cinematic-footer h5::after,
.cinematic-footer .footer-title::after,
.cinematic-footer .footer-heading::after{
  content:"";
  display:block;
  width:54px;
  height:2px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffd66a 0%, #e03653 50%, #62b7ff 100%);
  box-shadow:0 0 14px rgba(255,214,106,.26);
}

/* Footer buttons with glossy premium glow */
.cinematic-footer .btn,
.cinematic-footer button,
.cinematic-footer .footer-btn,
.cinematic-footer a.button,
.cinematic-footer a.cta,
.cinematic-footer .footer-actions a{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 10px 24px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 0 18px rgba(255,214,106,.10);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
  filter:saturate(1.06) brightness(1.04);
}

.cinematic-footer .btn::before,
.cinematic-footer button::before,
.cinematic-footer .footer-btn::before,
.cinematic-footer a.button::before,
.cinematic-footer a.cta::before,
.cinematic-footer .footer-actions a::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(120deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 24%, rgba(255,255,255,.08) 56%, rgba(255,255,255,0) 100%);
  transform:translateX(-115%);
  transition:transform .8s ease;
  pointer-events:none;
}

.cinematic-footer .btn:hover,
.cinematic-footer button:hover,
.cinematic-footer .footer-btn:hover,
.cinematic-footer a.button:hover,
.cinematic-footer a.cta:hover,
.cinematic-footer .footer-actions a:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:
    0 14px 30px rgba(0,0,0,.28),
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 22px rgba(255,214,106,.22),
    0 0 28px rgba(224,54,83,.16);
}

.cinematic-footer .btn:hover::before,
.cinematic-footer button:hover::before,
.cinematic-footer .footer-btn:hover::before,
.cinematic-footer a.button:hover::before,
.cinematic-footer a.cta:hover::before,
.cinematic-footer .footer-actions a:hover::before{
  transform:translateX(115%);
}

/* Glowing premium text styling for footer body */
.cinematic-footer p,
.cinematic-footer li,
.cinematic-footer a{
  text-shadow:0 1px 10px rgba(0,0,0,.18);
}

.cinematic-footer a:hover{
  filter:brightness(1.08);
}

/* Animate "Tortillas calientes" tab */
.footer-hot-tortillas{
  display:inline-block;
  position:relative;
  color:#fff5da!important;
  text-shadow:
    0 0 10px rgba(255,200,79,.24),
    0 0 22px rgba(228,62,46,.16),
    0 2px 12px rgba(0,0,0,.22);
  animation:tortillasPulse 4.2s ease-in-out infinite;
}

.footer-hot-tortillas::before{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  bottom:-6px;
  height:14px;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(255,214,106,.28) 0%, rgba(255,214,106,0) 70%);
  filter:blur(6px);
  opacity:.7;
  animation:tortillaSteam 4.2s ease-in-out infinite;
}

.footer-hot-tortillas::after{
  content:"✦";
  position:absolute;
  top:-8px;
  right:-12px;
  color:#ffd56a;
  font-size:12px;
  text-shadow:0 0 10px rgba(255,213,106,.32);
  animation:tortillasSpark 3s ease-in-out infinite;
}

@keyframes tortillasPulse{
  0%,100%{transform:translateY(0) scale(1); letter-spacing:.02em}
  50%{transform:translateY(-2px) scale(1.018); letter-spacing:.03em}
}
@keyframes tortillaSteam{
  0%,100%{transform:translateY(0) scaleX(.96); opacity:.45}
  50%{transform:translateY(-4px) scaleX(1.08); opacity:.9}
}
@keyframes tortillasSpark{
  0%,100%{transform:translateY(0) scale(.9); opacity:.45}
  50%{transform:translateY(-5px) scale(1.15); opacity:1}
}

/* keep subtle on mobile */
@media (max-width: 720px){
  .footer-blur-image{opacity:.26}
  .footer-grid-sheen{opacity:.14}
  .footer-hot-tortillas{animation-duration:4.8s}
}

@media (prefers-reduced-motion: reduce){
  .footer-blur-image,
  .footer-light,
  .footer-grid-sheen,
  .footer-hot-tortillas,
  .footer-hot-tortillas::before,
  .footer-hot-tortillas::after{
    animation:none!important;
  }
}


/* =========================================================
   HOME MASTER V9 — FOOTER CONTRAST + PROMO MARQUEE
   Corrective/additive layer over V8.
   ========================================================= */

/* ---------- FOOTER: restore full text visibility ---------- */
.cinematic-footer{
  color:#fff8ec!important;
}

/* Override legacy dark footer colors with precise specificity */
.cinematic-footer .footer-inner,
.cinematic-footer .footer-inner > div,
.cinematic-footer .footer-brand,
.cinematic-footer .footer-brand p,
.cinematic-footer .footer-inner p,
.cinematic-footer .footer-inner li,
.cinematic-footer .footer-inner span:not(.action-icon),
.cinematic-footer .footer-inner > div:not(.footer-brand):not(.footer-socials) a,
.cinematic-footer .footer-inner > div:not(.footer-brand):not(.footer-socials) p{
  color:#f7eee0!important;
}

/* Headings receive high-contrast luxury treatment */
.cinematic-footer .footer-inner h2,
.cinematic-footer .footer-inner h3,
.cinematic-footer .footer-inner h4,
.cinematic-footer .footer-inner h5{
  color:#fff4ce!important;
  text-shadow:
    0 0 8px rgba(255,217,119,.26),
    0 0 20px rgba(255,217,119,.14),
    0 2px 12px rgba(0,0,0,.48)!important;
}

/* Links stay readable and gain a controlled glow on hover */
.cinematic-footer .footer-inner a:not(.footer-social){
  color:#fff7ed!important;
  text-shadow:
    0 1px 8px rgba(0,0,0,.44),
    0 0 10px rgba(255,255,255,.04);
}
.cinematic-footer .footer-inner a:not(.footer-social):hover{
  color:#ffd86f!important;
  text-shadow:
    0 0 10px rgba(255,216,111,.28),
    0 2px 10px rgba(0,0,0,.40);
}

/* Give footer columns a very subtle reading plate without making boxes obvious */
.cinematic-footer .footer-inner > div:not(.footer-socials){
  position:relative;
}
.cinematic-footer .footer-inner > div:not(.footer-socials)::before{
  content:"";
  position:absolute;
  inset:-10px -12px;
  z-index:-1;
  border-radius:16px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  border:1px solid rgba(255,255,255,.025);
  backdrop-filter:blur(1px);
}

/* Footer brand copy */
.cinematic-footer .footer-brand p{
  color:#f5ead9!important;
  opacity:.96;
}

/* Copyright stays crisp */
.cinematic-footer .copyright{
  color:#fff!important;
  background:
    linear-gradient(90deg,#214c23,#2f6a29 45%,#1e5227)!important;
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}

/* Keep action cards' own intended foreground colors */
.cinematic-footer .footer-actions .whatsapp-action,
.cinematic-footer .footer-actions .top-action{
  color:#fff!important;
}
.cinematic-footer .footer-actions .chat-action{
  color:#362a17!important;
}
.cinematic-footer .footer-actions strong,
.cinematic-footer .footer-actions small{
  color:inherit!important;
}

/* ---------- PROMOTION: continuous circulation across website ---------- */
.promo-marquee{
  overflow:hidden;
  min-height:42px;
  isolation:isolate;
}
.promo-marquee::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:4;
  background:
    linear-gradient(90deg,
      rgba(104,16,32,.97) 0%,
      transparent 8%,
      transparent 92%,
      rgba(37,107,67,.96) 100%);
}
.promo-marquee-shell{
  position:relative;
  width:100%;
  min-height:42px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 130px;
  align-items:center;
  z-index:5;
}
.promo-fixed-star{
  position:relative;
  z-index:8;
  justify-self:center;
  animation:promoStarPulse 2.8s ease-in-out infinite;
}
@keyframes promoStarPulse{
  0%,100%{
    transform:scale(.92) rotate(0deg);
    box-shadow:0 0 0 rgba(255,232,153,0);
  }
  50%{
    transform:scale(1.08) rotate(12deg);
    box-shadow:0 0 18px rgba(255,232,153,.18);
  }
}
.promo-marquee-viewport{
  position:relative;
  overflow:hidden;
  min-width:0;
  height:42px;
  display:flex;
  align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);
}
.promo-marquee-track{
  width:max-content;
  display:flex;
  align-items:center;
  flex-shrink:0;
  animation:rositaPromoMarquee 26s linear infinite;
  will-change:transform;
}
.promo-marquee-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:18px;
  padding-right:18px;
  white-space:nowrap;
}
.promo-marquee-item{
  display:inline-flex;
  align-items:center;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.055em;
  color:#fff;
  text-transform:none;
  text-shadow:
    0 1px 8px rgba(0,0,0,.30),
    0 0 10px rgba(255,255,255,.04);
}
.promo-marquee-item.promo-primary{
  color:#fff1ad;
  font-weight:900;
  letter-spacing:.075em;
  text-shadow:
    0 0 14px rgba(255,231,145,.16),
    0 2px 8px rgba(0,0,0,.26);
}
.promo-dot{
  color:#ffe59a;
  opacity:.86;
  font-size:11px;
}
@keyframes rositaPromoMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Pause only while customer intentionally points at the moving promotion */
.promo-marquee-viewport:hover .promo-marquee-track{
  animation-play-state:paused;
}

/* Fixed CTA at right, independent from moving text */
.promo-fixed-cta{
  position:relative;
  z-index:8;
  justify-self:center;
  min-width:106px;
  text-align:center;
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.17),
    0 5px 14px rgba(0,0,0,.10);
}
.promo-fixed-cta:hover{
  background:rgba(255,255,255,.23)!important;
}

/* Extra passing light, independent of the marquee text */
.promo-marquee .promo-marquee-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
  width:24%;
  background:
    linear-gradient(105deg,transparent,rgba(255,255,255,.15),transparent);
  transform:translateX(-160%) skewX(-18deg);
  animation:promoLightSweep 5.8s ease-in-out infinite;
}
@keyframes promoLightSweep{
  0%,22%{transform:translateX(-160%) skewX(-18deg);opacity:0}
  34%{opacity:.9}
  76%{opacity:.9}
  100%{transform:translateX(520%) skewX(-18deg);opacity:0}
}

/* Mobile: still circulates but with a compact fixed CTA */
@media(max-width:680px){
  .promo-marquee-shell{
    grid-template-columns:40px minmax(0,1fr) 88px;
  }
  .promo-marquee-track{
    animation-duration:22s;
  }
  .promo-marquee-group{
    gap:14px;
  }
  .promo-marquee-item{
    font-size:9px;
  }
  .promo-fixed-cta{
    min-width:78px;
    padding-inline:6px!important;
    font-size:8px!important;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .promo-marquee-track{
    animation:none!important;
    transform:none!important;
  }
  .promo-marquee .promo-marquee-shell::before,
  .promo-fixed-star{
    animation:none!important;
  }
}


/* =========================================================
   HOME MASTER V10 — USER-SUPPLIED VIDEO IS PRIMARY HERO
   Previous storefront + previous video remain as fallbacks.
   ========================================================= */

/* Original image stays underneath as the final visual fallback. */
.hero-fallback-photo{
  z-index:0!important;
  opacity:1!important;
  visibility:visible!important;
}

/* New uploaded video becomes the true HERO visual. */
.hero-primary-video{
  z-index:1!important;
  opacity:.98!important;
  mix-blend-mode:normal!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}

.hero-primary-video video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:
    saturate(1.12)
    contrast(1.07)
    brightness(.97)!important;
  transform:scale(1.01)!important;
}

/* Keep a little of the cinematic texture from the previous HERO. */
.hero-primary-video .video-scanlines{
  opacity:.12!important;
  mix-blend-mode:soft-light!important;
}

.hero-primary-video .video-soft-glow{
  opacity:.30!important;
  mix-blend-mode:screen!important;
}

/* Protect readability while allowing the new video to remain clearly visible. */
.hero-shade{
  z-index:2!important;
  background:
    linear-gradient(
      90deg,
      rgba(12,13,13,.67) 0%,
      rgba(12,13,13,.47) 33%,
      rgba(12,13,13,.13) 62%,
      rgba(12,13,13,.035) 100%
    ),
    linear-gradient(0deg,rgba(0,0,0,.10),transparent 58%)!important;
}

.hero-content{
  z-index:4!important;
}

/* If neither MP4 source works, automatically return to the original photo. */
.hero.video-fallback-active .hero-primary-video{
  display:none!important;
}

.hero.video-fallback-active .hero-fallback-photo{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}

@media(max-width:680px){
  .hero-primary-video{
    opacity:.96!important;
  }
  .hero-primary-video video{
    object-position:center center!important;
  }
}


/* =========================================================
   HOME MASTER V11 — NORMAL HERO VIDEO FIT
   Hero size stays exactly the same.
   No blank spaces. No aggressive zoom.
   ========================================================= */

/* Preserve the exact existing HERO dimensions. */
.hero{
  overflow:hidden!important;
}

/* Blurred video layer fills every edge of HERO. */
.hero-video-fill{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  background:#111;
}

.hero-video-fill video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.035);
  filter:
    blur(18px)
    saturate(1.18)
    brightness(.72)
    contrast(1.05);
  opacity:.82;
}

/* Front video shows the full 16:9 frame instead of cropping it hard. */
.hero-video-normal{
  z-index:1!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
}

.hero-video-normal video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:
    saturate(1.08)
    contrast(1.04)
    brightness(.96)!important;
}

/* Very soft side blending so the foreground video melts into the blurred fill. */
.hero-video-normal::before,
.hero-video-normal::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:13%;
  z-index:2;
  pointer-events:none;
}
.hero-video-normal::before{
  left:0;
  background:linear-gradient(90deg,rgba(0,0,0,.22),transparent);
}
.hero-video-normal::after{
  right:0;
  background:linear-gradient(270deg,rgba(0,0,0,.22),transparent);
}

/* Keep cinematic texture light so the video looks natural. */
.hero-video-normal .video-scanlines{
  opacity:.08!important;
}
.hero-video-normal .video-soft-glow{
  opacity:.22!important;
}

/* Readability layer remains, but lighter to avoid making video look dull. */
.hero-shade{
  z-index:2!important;
  background:
    linear-gradient(
      90deg,
      rgba(11,12,12,.58) 0%,
      rgba(11,12,12,.38) 32%,
      rgba(11,12,12,.10) 61%,
      rgba(11,12,12,.025) 100%
    ),
    linear-gradient(0deg,rgba(0,0,0,.08),transparent 60%)!important;
}

/* Final fallback still returns to original storefront if media cannot play. */
.hero.video-fallback-active .hero-video-fill,
.hero.video-fallback-active .hero-primary-video{
  display:none!important;
}
.hero.video-fallback-active .hero-fallback-photo{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Mobile keeps the same technique, just softens the blurred fill. */
@media(max-width:680px){
  .hero-video-fill video{
    filter:
      blur(14px)
      saturate(1.12)
      brightness(.76)
      contrast(1.04);
  }
  .hero-video-normal video{
    object-fit:contain!important;
  }
}


/* =========================================================
   HOME MASTER V13 — HERO LEFT COPY
   The V11 video fit and HERO dimensions are untouched.
   Only the text/buttons are repositioned to the LEFT.
   ========================================================= */

/* Keep the CENTER of the video free.
   Copy lives inside the HERO on a cinematic left-side rail. */
.hero .hero-side-copy{
  position:absolute!important;
  z-index:5!important;
  top:0!important;
  left:clamp(22px,3.8vw,66px)!important;
  bottom:0!important;
  right:auto!important;

  width:clamp(330px,29vw,410px)!important;
  margin:0!important;
  padding:0!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;

  text-align:left!important;
}

/* The rail visually separates the copy from the video
   without changing or resizing HERO/video. */
.hero .hero-side-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:58px;
  left:clamp(-22px,-1.2vw,-8px);
  bottom:58px;
  right:-38px;

  border-radius:0 24px 24px 0;

  background:
    linear-gradient(
      250deg,
      rgba(12,22,16,.06) 0%,
      rgba(17,36,24,.62) 24%,
      rgba(15,35,23,.82) 64%,
      rgba(11,27,18,.90) 100%
    );

  border:
    1px solid rgba(255,255,255,.09);

  border-left-color:
    rgba(255,215,112,.16);

  box-shadow:
    20px 0 40px rgba(0,0,0,.12),
    inset -1px 0 0 rgba(255,255,255,.05);

  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);

  pointer-events:none;
}

/* A fine luxury separator on the video-facing edge. */
.hero .hero-side-copy::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-38px;
  top:24%;
  bottom:24%;
  width:1px;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(255,218,119,.46) 28%,
      rgba(80,177,84,.34) 66%,
      transparent
    );

  box-shadow:
    0 0 16px rgba(255,218,119,.12);
}

/* Keep all copy inside the side rail. */
.hero .hero-side-copy h1{
  max-width:390px!important;
  margin-left:0!important;
  margin-right:auto!important;
}

.hero .hero-side-copy p{
  max-width:360px;
  margin-left:0!important;
  margin-right:auto!important;
}

.hero .hero-side-copy .hero-actions{
  justify-content:flex-start!important;
  width:100%;
}

.hero .hero-side-copy .open-pill{
  margin-left:0!important;
  margin-right:auto!important;
}

/* The decorative underline belongs on the left now. */
.hero .hero-side-copy h1::after{
  margin-left:0!important;
  margin-right:auto!important;
}

/* Preserve existing floating movement but keep it in the rail. */
.hero .hero-side-copy .hero-floating-copy,
.hero .hero-side-copy .hero-floating-sub,
.hero .hero-side-copy .hero-floating-actions,
.hero .hero-side-copy .hero-floating-pill{
  transform-origin:left center!important;
}

/* Slight text protection only inside the side zone. */
.hero .hero-side-copy h1,
.hero .hero-side-copy p{
  text-shadow:
    0 2px 4px rgba(0,0,0,.32),
    0 10px 24px rgba(0,0,0,.24)!important;
}

/* Desktop: center of video remains fully clear.
   Nothing here changes HERO height or video object-fit. */
@media(min-width:901px){
  .hero .hero-side-copy{
    pointer-events:none;
  }

  .hero .hero-side-copy a,
  .hero .hero-side-copy button,
  .hero .hero-side-copy .open-pill{
    pointer-events:auto;
  }
}

/* Tablet: keep copy on the left but make the rail a little narrower. */
@media(max-width:1050px) and (min-width:681px){
  .hero .hero-side-copy{
    left:22px!important;
    width:350px!important;
  }

  .hero .hero-side-copy::before{
    right:-24px;
  }

  .hero .hero-side-copy::after{
    right:-24px;
  }
}

/* Mobile:
   Do not put the text over the center of the video.
   Move it to a compact bottom dock, still INSIDE HERO. */
@media(max-width:680px){
  .hero .hero-side-copy{
    top:auto!important;
    left:14px!important;
    right:14px!important;
    bottom:16px!important;

    width:auto!important;
    height:auto!important;

    align-items:flex-start!important;
    text-align:left!important;

    padding:14px 15px 13px!important;

    border-radius:18px;

    background:
      linear-gradient(
        110deg,
        rgba(12,28,18,.90),
        rgba(20,43,28,.84)
      );

    border:1px solid rgba(255,255,255,.10);

    box-shadow:
      0 15px 34px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.06);

    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
  }

  .hero .hero-side-copy::before,
  .hero .hero-side-copy::after{
    display:none!important;
  }

  .hero .hero-side-copy h1,
  .hero .hero-side-copy p{
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }

  .hero .hero-side-copy .hero-actions{
    justify-content:flex-start!important;
  }

  .hero .hero-side-copy .open-pill{
    margin-left:0!important;
    margin-right:auto!important;
  }

  .hero .hero-side-copy h1::after{
    margin-left:0!important;
    margin-right:auto!important;
  }
}


/* =========================================================
   HOME MASTER V14 — COMPACT LEFT HERO COPY
   HERO/video dimensions remain untouched.
   Only the text/button panel is made smaller and more contained.
   ========================================================= */

/* Compact the entire content zone and keep it safely inside HERO. */
.hero .hero-side-copy{
  left:clamp(28px,4.4vw,74px)!important;
  width:clamp(292px,25vw,350px)!important;
  top:8%!important;
  bottom:8%!important;
  justify-content:center!important;
}

/* Smaller cinematic panel: more breathing room around every edge. */
.hero .hero-side-copy::before{
  top:18px!important;
  bottom:18px!important;
  left:clamp(-18px,-1vw,-8px)!important;
  right:-24px!important;
  border-radius:0 20px 20px 0!important;
}

/* Move the luxury separator inward with the smaller panel. */
.hero .hero-side-copy::after{
  right:-24px!important;
  top:29%!important;
  bottom:29%!important;
}

/* Keep typography essentially the same, but tighten vertical spacing. */
.hero .hero-side-copy h1{
  max-width:330px!important;
  margin-top:0!important;
  margin-bottom:12px!important;
}

.hero .hero-side-copy p{
  max-width:315px!important;
  margin-top:0!important;
  margin-bottom:14px!important;
  line-height:1.42!important;
}

/* Compact button group without shrinking the buttons themselves excessively. */
.hero .hero-side-copy .hero-actions{
  gap:9px!important;
  margin-top:3px!important;
  margin-bottom:10px!important;
  flex-wrap:wrap!important;
}

.hero .hero-side-copy .hero-actions .btn{
  min-height:42px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}

/* Status pill stays inside the compact visual footprint. */
.hero .hero-side-copy .open-pill{
  margin-top:2px!important;
  max-width:100%!important;
}

/* Desktop/tablet guard: never allow panel to touch HERO edges. */
@media(min-width:1060px){
  .hero .hero-side-copy{
    max-height:78%!important;
  }
}

@media(max-width:1050px) and (min-width:681px){
  .hero .hero-side-copy{
    left:24px!important;
    width:310px!important;
    top:7%!important;
    bottom:7%!important;
  }

  .hero .hero-side-copy::before{
    left:-10px!important;
    right:-18px!important;
  }

  .hero .hero-side-copy::after{
    right:-18px!important;
  }
}

/* Mobile keeps the existing bottom dock but slightly more compact. */
@media(max-width:680px){
  .hero .hero-side-copy{
    top:auto!important;
    left:16px!important;
    right:16px!important;
    bottom:18px!important;
    width:auto!important;
    max-height:none!important;
    padding:11px 13px 10px!important;
  }

  .hero .hero-side-copy h1{
    margin-bottom:7px!important;
  }

  .hero .hero-side-copy p{
    margin-bottom:9px!important;
    line-height:1.34!important;
  }

  .hero .hero-side-copy .hero-actions{
    margin-bottom:7px!important;
    gap:7px!important;
  }
}


/* =========================================================
   HOME MASTER V15 — MORE TRANSPARENT HERO COPY PANEL
   Only panel transparency changes.
   HERO/video/layout remain untouched.
   ========================================================= */

/* Desktop/tablet cinematic rail: much more transparent. */
.hero .hero-side-copy::before{
  background:
    linear-gradient(
      250deg,
      rgba(12,22,16,.015) 0%,
      rgba(17,36,24,.20) 28%,
      rgba(15,35,23,.31) 66%,
      rgba(11,27,18,.40) 100%
    )!important;

  border-color:rgba(255,255,255,.055)!important;
  border-left-color:rgba(255,215,112,.11)!important;

  box-shadow:
    13px 0 28px rgba(0,0,0,.07),
    inset -1px 0 0 rgba(255,255,255,.035)!important;

  backdrop-filter:blur(2.5px)!important;
  -webkit-backdrop-filter:blur(2.5px)!important;
}

/* Separator remains visible, but lighter. */
.hero .hero-side-copy::after{
  opacity:.62!important;
}

/* Preserve text readability against the now-clearer video. */
.hero .hero-side-copy h1,
.hero .hero-side-copy p{
  text-shadow:
    0 2px 5px rgba(0,0,0,.46),
    0 8px 20px rgba(0,0,0,.25)!important;
}

/* Add a very subtle local glow directly behind text rather than a heavy panel. */
.hero .hero-side-copy h1{
  filter:drop-shadow(0 1px 7px rgba(0,0,0,.10));
}

/* Mobile bottom dock: also more transparent. */
@media(max-width:680px){
  .hero .hero-side-copy{
    background:
      linear-gradient(
        110deg,
        rgba(12,28,18,.52),
        rgba(20,43,28,.42)
      )!important;

    border-color:rgba(255,255,255,.075)!important;

    box-shadow:
      0 12px 28px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.035)!important;

    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
  }
}



/* ============================================================
   V43 — TRINITY HYBRID PROMO BAR
   Mix of V42A + V42B + V42C
   ============================================================ */
.promo-marquee{
  position:relative;
  overflow:hidden;
  min-height:52px!important;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% -80%, rgba(255,255,255,.55), rgba(255,255,255,0) 38%),
    linear-gradient(180deg,#fffef8 0%,#faedd0 18%,#f4c949 48%,#f0b92c 68%,#faecd0 100%)!important;
  border-top:1px solid rgba(174,18,45,.22)!important;
  border-bottom:1px solid rgba(174,18,45,.16)!important;
  box-shadow:
    0 14px 24px rgba(132,87,12,.10),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(128,84,9,.12)!important;
}
.promo-marquee::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:4;
  background:
    linear-gradient(90deg,
      rgba(174,18,45,.14) 0%,
      transparent 9%,
      transparent 91%,
      rgba(174,18,45,.14) 100%)!important;
}
.promo-marquee-shell{
  position:relative;
  width:100%;
  min-height:52px!important;
  display:grid;
  grid-template-columns:66px minmax(0,1fr) 138px!important;
  align-items:center;
  z-index:5;
}
.promo-fixed-star{
  position:relative;
  z-index:8;
  justify-self:center;
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:999px;
  color:#7d1026!important;
  background:radial-gradient(circle at 33% 26%,#fffef4 0%,#ffeeb6 26%,#efc54d 62%,#c78511 100%)!important;
  box-shadow:
    0 10px 18px rgba(83,46,2,.16),
    0 0 16px rgba(255,214,106,.18),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
  animation:promoStarPulse 2.8s ease-in-out infinite;
}
.promo-marquee-viewport{
  position:relative;
  overflow:hidden;
  min-width:0;
  height:52px!important;
  display:flex;
  align-items:center;
  -webkit-mask-image:none;
  mask-image:none;
}
.promo-marquee-track{
  width:max-content;
  display:flex;
  align-items:center;
  flex-shrink:0;
  animation:rositaPromoMarquee 24s linear infinite;
  will-change:transform;
}
.promo-marquee-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:20px!important;
  padding-right:20px!important;
  white-space:nowrap;
}
.promo-marquee-item{
  display:inline-flex;
  align-items:center;
  font-size:11px!important;
  line-height:1;
  font-weight:900!important;
  letter-spacing:.06em!important;
  color:#70351f!important;
  text-transform:none;
  text-shadow:0 1px 0 rgba(255,255,255,.52)!important;
}
.promo-marquee-item.promo-primary{
  color:#fff7e8!important;
  font-weight:950!important;
  font-size:11px!important;
  letter-spacing:.09em!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#c9173d 0%,#a20e2d 100%)!important;
  box-shadow:
    0 8px 16px rgba(120,10,35,.16),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  text-shadow:0 1px 0 rgba(88,0,18,.62),0 0 10px rgba(255,238,197,.06)!important;
}
.promo-dot{
  color:#bc1737!important;
  opacity:.92!important;
  font-size:12px!important;
}
.promo-marquee-viewport:hover .promo-marquee-track{
  animation-play-state:paused;
}
.promo-fixed-cta{
  position:relative;
  z-index:8;
  justify-self:center;
  min-width:114px!important;
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 14px!important;
  text-align:center;
  color:#fff7eb!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#c8173c 0%,#a20d2d 100%)!important;
  border:1px solid rgba(255,237,187,.34)!important;
  box-shadow:
    0 10px 18px rgba(118,9,34,.16),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(69,0,15,.24)!important;
}
.promo-fixed-cta b{font-size:13px!important;line-height:1!important}
.promo-fixed-cta:hover{
  transform:translateY(-2px)!important;
  background:linear-gradient(180deg,#d61c43 0%,#b10f31 100%)!important;
}
.promo-marquee .promo-marquee-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
  width:20%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.26),transparent)!important;
  transform:translateX(-160%) skewX(-18deg);
  animation:promoLightSweep 6s ease-in-out infinite;
}
@media(max-width:680px){
  .promo-marquee-shell{grid-template-columns:48px minmax(0,1fr) 90px!important}
  .promo-marquee-track{animation-duration:22s!important}
  .promo-marquee-item{font-size:9.4px!important}
  .promo-marquee-item.promo-primary{padding:5px 10px!important}
  .promo-fixed-cta{min-width:78px!important;font-size:8px!important;padding:0 8px!important}
}




/* ============================================================
   V44 — TRINITY HYBRID CINEMATIC POLISH
   Approved V43 base, only polished for more eye-catching cinema look.
   ============================================================ */
.promo-marquee{
  min-height:56px!important;
  background:
    radial-gradient(circle at 18% -90%, rgba(255,255,255,.55), rgba(255,255,255,0) 34%),
    radial-gradient(circle at 82% -90%, rgba(255,255,255,.42), rgba(255,255,255,0) 32%),
    linear-gradient(180deg,#fffef9 0%,#fff6df 14%,#f7d567 38%,#f2c23a 56%,#efb528 72%,#f8d466 88%,#fff8e5 100%)!important;
  border-top:1px solid rgba(174,18,45,.24)!important;
  border-bottom:1px solid rgba(174,18,45,.18)!important;
  box-shadow:
    0 16px 30px rgba(132,87,12,.12),
    0 0 26px rgba(255,208,97,.07),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -1px 0 rgba(128,84,9,.12)!important;
}
.promo-marquee::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 34%),
    linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
}
.promo-marquee::after{
  background:
    linear-gradient(90deg,
      rgba(174,18,45,.18) 0%,
      transparent 8%,
      transparent 92%,
      rgba(174,18,45,.18) 100%)!important;
}
.promo-marquee-shell{
  min-height:56px!important;
  grid-template-columns:72px minmax(0,1fr) 148px!important;
}
.promo-fixed-star{
  width:36px!important;
  height:36px!important;
  color:#7c0f25!important;
  background:
    radial-gradient(circle at 34% 28%,#fffef6 0%,#fff3c8 23%,#f5cb59 55%,#d18b11 100%)!important;
  box-shadow:
    0 12px 22px rgba(103,56,2,.18),
    0 0 22px rgba(255,214,106,.22),
    inset 0 1px 0 rgba(255,255,255,.76),
    inset 0 -1px 0 rgba(120,76,6,.18)!important;
  animation:promoStarPulse 2.6s ease-in-out infinite!important;
}
.promo-marquee-viewport{
  height:56px!important;
}
.promo-marquee-track{
  animation-duration:22s!important;
}
.promo-marquee-group{
  gap:22px!important;
  padding-right:22px!important;
}
.promo-marquee-item{
  font-size:11.6px!important;
  font-weight:900!important;
  letter-spacing:.065em!important;
  color:#6f351f!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.58),
    0 0 10px rgba(255,255,255,.12)!important;
}
.promo-marquee-item.promo-primary{
  font-size:11.6px!important;
  padding:8px 14px!important;
  color:#fff8eb!important;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 34%),
    linear-gradient(180deg,#d61d45 0%,#bc1135 52%,#9f0c2c 100%)!important;
  border:1px solid rgba(255,236,186,.22)!important;
  box-shadow:
    0 10px 18px rgba(120,10,35,.20),
    0 0 18px rgba(222,51,92,.08),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(77,0,17,.20)!important;
  text-shadow:
    0 1px 0 rgba(88,0,18,.68),
    0 0 10px rgba(255,238,197,.08)!important;
}
.promo-dot{
  color:#c51839!important;
  font-size:13px!important;
  opacity:.96!important;
  text-shadow:0 0 10px rgba(223,49,89,.12)!important;
}
.promo-fixed-cta{
  min-width:124px!important;
  min-height:40px!important;
  gap:8px!important;
  padding:0 16px!important;
  font-size:10.4px!important;
  letter-spacing:.10em!important;
  color:#fff9ef!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.24),rgba(255,255,255,0) 36%),
    linear-gradient(180deg,#d81f46 0%,#bd1135 50%,#a30d2d 100%)!important;
  border:1px solid rgba(255,237,187,.36)!important;
  box-shadow:
    0 12px 20px rgba(118,9,34,.20),
    0 0 18px rgba(221,50,91,.10),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(69,0,15,.26)!important;
  text-shadow:0 1px 0 rgba(88,0,18,.56)!important;
}
.promo-fixed-cta b{
  font-size:14px!important;
}
.promo-fixed-cta:hover{
  transform:translateY(-3px) scale(1.02)!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.26),rgba(255,255,255,0) 36%),
    linear-gradient(180deg,#e32550 0%,#c5143a 52%,#ab0f30 100%)!important;
}
.promo-marquee .promo-marquee-shell::before{
  width:22%!important;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.34),transparent)!important;
  animation:promoLightSweep 5.3s ease-in-out infinite!important;
}
@media(max-width:680px){
  .promo-marquee{min-height:50px!important}
  .promo-marquee-shell{min-height:50px!important;grid-template-columns:50px minmax(0,1fr) 96px!important}
  .promo-fixed-star{width:30px!important;height:30px!important}
  .promo-marquee-viewport{height:50px!important}
  .promo-marquee-item{font-size:9.6px!important}
  .promo-marquee-item.promo-primary{padding:6px 10px!important}
  .promo-fixed-cta{min-width:82px!important;min-height:34px!important;font-size:8.1px!important;padding:0 8px!important}
}

