/* =========================================================
   YAMEL — La elegancia de tu rostro
   Hoja de estilos principal
   ========================================================= */

/* ---------- Fonts ---------- */
@font-face{
  font-family:"Coolvetica";
  src:url("fonts/Coolvetica-Regular.otf") format("opentype");
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Coolvetica Condensed";
  src:url("fonts/Coolvetica-Condensed.otf") format("opentype");
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Coolvetica Heavy";
  src:url("fonts/Coolvetica-Heavy-Compressed.otf") format("opentype");
  font-weight:800;
  font-display:swap;
}
@font-face{
  font-family:"Shelley Script";
  src:url("fonts/ShelleyScript-Regular.otf") format("opentype");
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Edwardian Script ITC";
  src:url("fonts/EdwardianScriptITC.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* ---------- Custom properties ---------- */
:root{
  --teal:#31998c;
  --teal-dark:#1f6a61;
  --teal-deep:#173f3a;
  --mint:#d8ebe7;
  --pink:#f6b2c9;
  --hot:#ff2890;
  --button-pastel:#e1a3b8;
  --button-pastel-soft:#f4dce5;
  --button-pastel-hover:#d893aa;
  --white:#ffffff;
  --ink:#1c2b29;
  --ink-soft:#4d5f5c;

  --font-display:"Coolvetica Heavy", "Coolvetica", sans-serif;
  --font-display-cond:"Coolvetica Condensed", "Coolvetica", sans-serif;
  --font-script:"Edwardian Script ITC", "Shelley Script", cursive;
  --font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --ease-out:cubic-bezier(.16,.8,.24,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);

  --header-h:84px;
  --wrap:1240px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}

::selection{background:var(--hot);color:var(--white);}

h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;line-height:1.05;}

.script-accent{
  font-family:var(--font-script);
  text-transform:none;
  color:var(--hot);
  font-size:1.15em;
  line-height:1;
  display:inline-block;
  padding:0 .05em;
}
.price-accent{color:var(--hot);}

.eyebrow-kicker{
  font-family:var(--font-display-cond);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  color:var(--teal);
  margin-bottom:14px;
}

.section-title{
  font-size:clamp(2.1rem,4.4vw,3.4rem);
  color:var(--ink);
  margin-bottom:18px;
}
.section-lede{
  max-width:56ch;
  color:var(--ink-soft);
  font-size:1.05rem;
}
.section-head--center{
  text-align:center;
  max-width:640px;
  margin:0 auto 52px;
}
.section-head--center .section-lede{margin:0 auto;}
.section-head{margin-bottom:44px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--font-display-cond);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.92rem;
  padding:16px 30px;
  border-radius:999px;
  transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), background .3s ease, color .3s ease;
  white-space:nowrap;
}
.btn--primary{
  background:var(--button-pastel);
  color:var(--teal-deep);
  box-shadow:0 10px 24px -10px rgba(151,74,106,.32);
}
.btn--primary:hover{background:var(--button-pastel-hover);transform:translateY(-3px) scale(1.02);box-shadow:0 16px 30px -10px rgba(151,74,106,.38);}
.btn--ghost{
  background:var(--button-pastel-soft);
  color:var(--teal-deep);
  border:1.5px solid var(--button-pastel-soft);
}
.btn--ghost:hover{background:var(--button-pastel);border-color:var(--button-pastel);transform:translateY(-3px);}
.btn--lg{padding:19px 40px;font-size:1rem;}
.header-actions{display:flex;align-items:center;gap:10px;}
.header-cta,.header-billing,.header-franchise{display:none;}
.header-billing,.header-franchise{padding:12px 17px;font-size:.78rem;}
@media(min-width:900px){.header-cta,.header-billing,.header-franchise{display:inline-flex;}}
@media(min-width:900px) and (max-width:1140px){.header-billing,.header-franchise{display:none;}.nav{gap:22px;}}

.chip{
  display:inline-flex;
  align-items:center;
  padding:10px 20px;
  border-radius:999px;
  border:1.5px solid var(--mint);
  font-family:var(--font-display-cond);
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.82rem;
  color:var(--teal-dark);
  background:var(--white);
  transition:all .3s var(--ease-soft);
}
.chip:hover{border-color:var(--teal);background:var(--mint);}
.chip--filter{cursor:pointer;}
.chip--filter.is-active{background:var(--teal);border-color:var(--teal);color:var(--white);}

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(circle at 50% 42%, #58b5aa 0%, #31998c 46%, #1f6a61 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;
  transition:clip-path 1s var(--ease-out), opacity .6s ease .5s;
  clip-path:circle(150% at 50% 50%);
  overflow:hidden;
}
.preloader::before,.preloader::after{content:"";position:absolute;pointer-events:none;border-radius:50%;}
.preloader::before{width:min(74vw,760px);aspect-ratio:1;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 42px rgba(255,255,255,.045),0 0 0 100px rgba(255,255,255,.025);animation:preloaderAura 3.2s ease-in-out infinite;}
.preloader::after{width:120vw;height:120vw;top:-78vw;right:-38vw;background:radial-gradient(circle, rgba(255,255,255,.16), transparent 64%);}
.preloader.is-done{
  clip-path:circle(0% at 50% 50%);
  opacity:0;
  pointer-events:none;
}
.preloader__mark{
  position:relative;z-index:1;
  width:clamp(180px, 32vw, 320px);
  aspect-ratio:1/1;
  opacity:0;
  transform:scale(.35) rotate(-160deg);
  animation:preloaderPop 1.15s cubic-bezier(.22,1.4,.36,1) forwards;
  filter:drop-shadow(0 18px 32px rgba(6,56,51,.28));
}
.preloader__mark::before{content:"";position:absolute;inset:12%;border-radius:50%;background:rgba(255,255,255,.2);filter:blur(24px);z-index:-1;}
.preloader__mandala-img{
  width:100%;height:100%;
  object-fit:contain;
  display:block;
}
.preloader__mark.is-settled .preloader__mandala-img{animation:preloaderMandalaFloat 5s ease-in-out infinite;}
.preloader__word{
  position:relative;z-index:1;
  width:clamp(180px, 30vw, 300px);
  height:clamp(78px, 13vw, 112px);
  object-fit:contain;
  display:block;
  opacity:0;
  filter:drop-shadow(0 6px 12px rgba(6,56,51,.32));
  animation:preloaderWordIn .8s var(--ease-out) .78s forwards, preloaderWordGlow 2.6s ease-in-out 1.55s infinite;
}
@keyframes preloaderPop{
  0%{opacity:0;transform:scale(.35) rotate(-160deg);}
  65%{opacity:1;transform:scale(1.06) rotate(8deg);}
  100%{opacity:1;transform:scale(1) rotate(0deg);}
}
@keyframes preloaderAura{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.94);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.04);}}
@keyframes preloaderMandalaFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-8px) rotate(6deg);}}
@keyframes preloaderWordIn{from{opacity:0;transform:translateY(20px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes preloaderWordGlow{0%,100%{filter:drop-shadow(0 6px 12px rgba(6,56,51,.32));}50%{filter:drop-shadow(0 8px 18px rgba(255,255,255,.38));}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* =========================================================
   CURSOR GLOW
   ========================================================= */
.cursor-glow{
  position:fixed;top:0;left:0;
  width:420px;height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,40,144,.16), rgba(246,178,201,.08) 45%, transparent 70%);
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:5;
  mix-blend-mode:multiply;
  opacity:0;
  transition:opacity .4s ease;
  will-change:transform;
}
.cursor-glow.is-active{opacity:1;}
@media(hover:none), (pointer:coarse){.cursor-glow{display:none;}}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:500;
  height:var(--header-h);
  transition:background .4s var(--ease-soft), box-shadow .4s var(--ease-soft), height .4s var(--ease-soft);
}
.site-header::before{
  content:"";position:absolute;inset:0;
  background:var(--white);
  opacity:0;
  transition:opacity .4s var(--ease-soft);
}
.site-header.is-scrolled{height:72px;}
.site-header.is-scrolled::before{opacity:1;box-shadow:0 6px 24px rgba(23,63,58,.08);}
.site-header--light::before{opacity:.94;box-shadow:0 4px 20px rgba(23,63,58,.05);}
.site-header__inner{
  position:relative;z-index:2;
  height:100%;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand__emblem{
  width:62px;height:62px;
  object-fit:contain;
  object-position:center;
  display:block;
}
.brand__word{
  width:150px;
  height:66px;
  object-fit:contain;
  object-position:left center;
  display:block;
  /* halo suave para que se lea sobre el hero oscuro antes de hacer scroll */
  filter:drop-shadow(0 0 5px rgba(255,255,255,.85)) drop-shadow(0 0 11px rgba(255,255,255,.5));
  transition:filter .4s ease;
}
.site-header.is-scrolled .brand__word{filter:drop-shadow(0 1px 3px rgba(23,63,58,.38));}
.site-header--light .brand__word{filter:drop-shadow(0 1px 3px rgba(23,63,58,.25));}

/* Compatibilidad con la salida de wp_nav_menu() (WordPress): los <li> del
   menú se comportan como si fueran los <a> directos del diseño original. */
.nav li,.mobile-nav li{list-style:none;margin:0;padding:0;display:contents;}

.nav{display:none;gap:38px;}
.nav a{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:1.15rem;
  letter-spacing:.03em;
  color:var(--white);
  position:relative;
  padding:6px 0;
  transition:color .4s ease;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--hot);
  transition:width .35s var(--ease-out);
}
.nav a:hover::after{width:100%;}
.site-header.is-scrolled .nav a{color:var(--ink);}
.site-header--light .nav a{color:var(--ink);}
@media(min-width:900px){.nav{display:flex;}}

.burger{
  position:relative;
  width:48px;height:48px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:rgba(255,255,255,.15);
  transition:background .35s var(--ease-soft), transform .35s var(--ease-soft);
  z-index:600;
}
.burger:hover{transform:scale(1.08);}
.site-header.is-scrolled .burger{background:var(--mint);}
.site-header--light .burger{background:var(--mint);}
.burger[aria-expanded="true"]{background:var(--white);box-shadow:0 4px 18px rgba(0,0,0,.25);}
.burger span{width:22px;height:2px;background:var(--white);border-radius:2px;transition:all .4s var(--ease-soft);}
.site-header.is-scrolled .burger span{background:var(--teal-deep);}
.site-header--light .burger span{background:var(--teal-deep);}
.burger[aria-expanded="true"] span{background:var(--teal-deep);}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0);}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
@media(min-width:900px){.burger{display:none;}}

/* =========================================================
   MENÚ MÓVIL — pantalla completa
   ========================================================= */
.mobile-nav{
  position:fixed;inset:0;
  width:100%;height:100%;
  background:
    radial-gradient(circle at 85% 8%, rgba(255,40,144,.25), transparent 45%),
    linear-gradient(160deg, var(--teal-deep) 0%, #0e2b27 100%);
  overflow:hidden;
  clip-path:circle(0% at calc(100% - 48px) 46px);
  transition:clip-path .75s var(--ease-out);
  z-index:450;
  visibility:hidden;
}
.mobile-nav.is-open{
  clip-path:circle(150% at calc(100% - 48px) 46px);
  visibility:visible;
}

.mobile-nav__texture{
  position:absolute;top:118px;left:18px;width:min(66vw,280px);max-width:none;
  opacity:0;transition:opacity 1s ease .3s;
}
.mobile-nav__mandala{
  position:absolute;bottom:38px;right:20px;width:min(50vw,235px);max-width:none;
  opacity:0;
  transition:opacity 1s ease .3s, transform 6s linear;
}
.mobile-nav.is-open .mobile-nav__texture{opacity:.24;}
.mobile-nav.is-open .mobile-nav__mandala{opacity:.55;}
.mobile-nav.is-open .mobile-nav__mandala{animation:spinSlow 22s linear infinite;}

.mobile-nav__inner{
  position:relative;z-index:1;
  height:100%;
  display:flex;flex-direction:column;justify-content:flex-start;
  padding:104px 32px 34px;
}

.mobile-nav__kicker{
  font-family:var(--font-display-cond);
  text-transform:uppercase;letter-spacing:.3em;font-size:.78rem;
  color:var(--pink);
  margin-bottom:22px;
  opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.mobile-nav.is-open .mobile-nav__kicker{opacity:1;transform:translateY(0);transition-delay:.15s;}

.mobile-nav__links{display:flex;flex-direction:column;gap:2px;counter-reset:navcount;}
.mobile-nav a:not(.btn){
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.01em;
  font-size:clamp(1.9rem, 8vw, 2.35rem);
  line-height:1.14;
  color:var(--white);
  display:flex;align-items:baseline;gap:14px;
  opacity:0;transform:translateX(46px);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out), color .3s ease;
  transition-delay:calc(var(--i, 0) * .08s + .22s);
  counter-increment:navcount;
}
.mobile-nav a:not(.btn)::before{
  content:counter(navcount, decimal-leading-zero);
  font-family:var(--font-display-cond);
  font-size:.9rem;
  color:var(--hot);
  letter-spacing:0;
}
.mobile-nav a:not(.btn):active,
.mobile-nav a:not(.btn):hover{color:var(--pink);}
.mobile-nav.is-open a:not(.btn){opacity:1;transform:translateX(0);}

.mobile-nav__footer{
  margin-top:28px;
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);
}
.mobile-nav.is-open .mobile-nav__footer{opacity:1;transform:translateY(0);transition-delay:.64s;}
.mobile-nav__note{
  font-family:var(--font-display-cond);
  text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;
  color:rgba(216,235,231,.7);
}

/* =========================================================
   REVEAL UTILITIES
   ========================================================= */
[data-reveal]{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);
  transition-delay:var(--d, 0s);
}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}

.reveal-line{display:block;overflow:hidden;}
.reveal-line__inner{
  display:inline-block;
  transform:translateY(115%);
  transition:transform .9s var(--ease-out);
  transition-delay:var(--d,0s);
}
.reveal-line.is-visible .reveal-line__inner{transform:translateY(0);}
.reveal-line--script .reveal-line__inner{font-family:var(--font-script);color:var(--pink);text-transform:none;}

.float-deco{
  position:absolute;
  pointer-events:none;
  opacity:.85;
  will-change:transform;
}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding-top:var(--header-h);isolation:isolate;}
.hero__bg{position:absolute;inset:0;z-index:-2;}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,63,58,.75) 0%,rgba(23,63,58,.55) 45%,rgba(23,63,58,.88) 100%),linear-gradient(90deg,rgba(23,63,58,.55),rgba(23,63,58,.15) 60%);}
.hero__inner{position:relative;z-index:2;padding:60px 28px 90px;color:var(--white);}
.hero__title{font-size:clamp(2.6rem,7vw,5.4rem);color:var(--white);max-width:17ch;margin-bottom:26px;}
.hero__service{
  display:inline-block;
  min-height:1.15em;
  will-change:opacity,transform;
}
.hero__service.is-changing{animation:heroServiceChange .5s var(--ease-out);}
@keyframes heroServiceChange{
  0%{opacity:0;transform:translateY(10px);}
  100%{opacity:1;transform:translateY(0);}
}
.hero__subtitle{max-width:52ch;font-size:1.08rem;color:rgba(255,255,255,.88);margin-bottom:38px;}
.hero__actions{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:64px;}

.hero__stats{display:flex;flex-wrap:wrap;gap:44px;}
.stat{display:flex;flex-direction:column;}
.stat__num{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.8rem);color:var(--pink);line-height:1;}
.stat__label{font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;color:rgba(255,255,255,.75);margin-top:6px;}

.float-deco--mandala1{width:220px;top:10%;right:-40px;z-index:0;}
.float-deco--mandala2{width:160px;bottom:6%;right:18%;z-index:0;opacity:.6;}

/* Hero claro: inspirado en India, con la mirada como protagonista. */
.hero--india{
  min-height:max(720px,100svh);
  color:var(--ink);
  background:linear-gradient(112deg,#fffdf9 0%,#fff 52%,#e8f4f1 100%);
}
.hero--india::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 71% 44%,rgba(101,183,174,.2),transparent 24%),radial-gradient(circle at 15% 85%,rgba(215,119,158,.1),transparent 27%);
}
.hero__india-glow{position:absolute;width:clamp(420px,52vw,780px);aspect-ratio:1;border-radius:50%;right:-12%;top:15%;background:linear-gradient(135deg,rgba(100,189,178,.28),rgba(215,119,158,.15));z-index:-1;animation:indiaGlow 7s ease-in-out infinite;}
.hero__india-mandala{position:absolute;width:clamp(440px,48vw,760px);right:-8%;top:-16%;opacity:.3;filter:sepia(.1);z-index:0;}
.hero__india-mandala-rose{position:absolute;width:clamp(240px,24vw,390px);left:-7%;bottom:-14%;opacity:.14;z-index:0;filter:saturate(.8);}
.hero__elephant-medallion{position:absolute;width:clamp(150px,15vw,235px);right:4%;bottom:9%;z-index:2;opacity:.38;filter:saturate(.82) drop-shadow(0 12px 20px rgba(23,63,58,.1));pointer-events:none;animation:elephantFloat 8s ease-in-out infinite;}
.hero__portrait{position:absolute;right:-2%;bottom:0;width:min(68vw,1060px);height:calc(100% - 70px);z-index:1;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 100%);}
.hero__portrait::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.74) 13%,transparent 38%),linear-gradient(0deg,rgba(255,253,249,.35),transparent 30%);pointer-events:none;}
.hero__portrait-img{width:100%;height:100%;object-fit:cover;object-position:right center;filter:saturate(.94) contrast(1.02);transform:scale(1.015);animation:portraitReveal 1.3s var(--ease-out) both,portraitBreath 8s 1.3s ease-in-out infinite;}
.hero__mantras{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;}
.hero__mantra{position:absolute;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border:1.5px solid rgba(43,129,121,.3);border-radius:999px;background:rgba(255,255,255,.68);backdrop-filter:blur(8px);font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.075em;font-size:clamp(.82rem,1.15vw,1.02rem);color:var(--teal-deep);box-shadow:0 12px 28px rgba(23,63,58,.1);animation:mantraDrift 7s ease-in-out infinite;}
.hero__mantra::before{content:"✦";color:#b85f86;font-size:.9rem;}
.hero__mantra--one{top:27%;right:8%;animation-delay:-1.2s;}.hero__mantra--two{bottom:26%;right:36%;animation-delay:-3.4s;}.hero__mantra--three{top:65%;right:5%;animation-delay:-5.3s;}
.hero--india .hero__inner{color:var(--ink);max-width:1240px;width:100%;padding-top:70px;padding-bottom:55px;}
.hero--india .eyebrow-kicker{color:var(--teal);}
.hero--india .hero__title{color:var(--ink);max-width:9.5ch;font-size:clamp(2.55rem,5vw,4.85rem);line-height:.92;letter-spacing:-.025em;margin-bottom:18px;}
.hero--india .reveal-line--script .reveal-line__inner{color:#b85f86;font-size:1.12em;line-height:.78;padding:.09em 0 .15em;}
.hero__manifesto-power .reveal-line__inner{color:var(--teal-deep);font-size:.7em;line-height:1.04;letter-spacing:.01em;animation:mantraPulse 4s 1.1s ease-in-out infinite;}
.hero--india .hero__subtitle{color:var(--ink-soft);max-width:45ch;font-size:clamp(1rem,1.5vw,1.12rem);margin-bottom:25px;}
.hero--india .btn--ghost{border-color:var(--button-pastel-soft);color:var(--teal-deep);}
.hero--india .btn--ghost:hover{background:var(--button-pastel);border-color:var(--button-pastel);color:var(--teal-deep);}
.hero--india .hero__actions{margin-bottom:32px;}.hero--india .stat__num{color:#b85f86;}.hero--india .stat__label{color:var(--ink-soft);}
.hero--india .scroll-cue{border-color:rgba(23,63,58,.42);}.hero--india .scroll-cue span{background:#b85f86;}
@keyframes portraitReveal{from{opacity:0;transform:translateY(36px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1.015)}}
@keyframes portraitBreath{50%{transform:scale(1.035) translate(-.7%,-.4%)}}
@keyframes indiaGlow{50%{transform:scale(1.06) translate(-2%,2%);opacity:.75}}
@keyframes mantraPulse{50%{color:#2b8179;filter:drop-shadow(0 4px 9px rgba(43,129,121,.18));}}
@keyframes mantraDrift{50%{transform:translateY(-10px) translateX(4px);box-shadow:0 15px 32px rgba(23,63,58,.11)}}
@keyframes elephantFloat{50%{transform:translateY(-12px) rotate(2deg);opacity:.38}}
@media(max-width:760px){
  .hero--india{min-height:0;display:flex;flex-direction:column;align-items:stretch;}
  .hero--india .hero__inner{order:1;padding-top:104px;padding-bottom:42px;}
  .hero--india .hero__title{max-width:10ch;font-size:clamp(2.55rem,10.4vw,3.28rem);}
  .hero--india .hero__subtitle{max-width:29ch;font-size:1rem;line-height:1.55;}
  .hero__portrait{position:relative;order:2;right:auto;width:100%;height:450px;top:auto;bottom:auto;opacity:1;mask-image:none;}
  .hero__portrait::before{background:linear-gradient(90deg,rgba(255,253,249,.2) 0%,transparent 40%),linear-gradient(0deg,#fffdf9 0%,rgba(255,253,249,.1) 23%,transparent 42%);}
  .hero__portrait-img{object-position:72% 8%;transform:scale(1.01);}
  .hero__india-mandala{width:315px;right:-14%;top:9%;opacity:.13;}
  .hero__india-mandala-rose{width:220px;left:-35%;bottom:-2%;opacity:.1;}
  .hero__elephant-medallion{width:100px;right:5%;bottom:3%;opacity:.2;}
  .hero__india-glow{width:330px;right:-36%;top:11%;}
  .hero--india .hero__stats{gap:21px;}.hero--india .hero__actions{margin-bottom:28px;gap:12px;}
  .hero__mantras{display:none;}
}

.scroll-cue{
  position:absolute;left:50%;bottom:28px;transform:translateX(-50%);
  width:26px;height:44px;border:2px solid rgba(255,255,255,.6);border-radius:20px;
  z-index:1;
}
.scroll-cue span{
  position:absolute;top:8px;left:50%;width:4px;height:8px;background:var(--pink);border-radius:4px;
  transform:translateX(-50%);
  animation:scrollCue 1.8s ease-in-out infinite;
}
@keyframes scrollCue{0%{opacity:1;top:8px;}70%{opacity:0;top:24px;}100%{opacity:0;top:24px;}}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{
  background:var(--ink);
  color:var(--mint);
  overflow:hidden;
  padding:16px 0;
  white-space:nowrap;
}
.marquee__track{
  display:inline-flex;
  align-items:center;
  gap:18px;
  animation:marqueeScroll 32s linear infinite;
}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee span{
  font-family:var(--font-display-cond);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.05rem;
}
.marquee__dot{color:var(--hot);font-size:.9rem;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* =========================================================
   MARQUEE GRANDE (texto enorme, doble sentido)
   ========================================================= */
.marquee-big{
  position:relative;
  background:var(--white);
  overflow:hidden;
  padding:22px 0;
  white-space:nowrap;
  border-top:1px solid var(--mint);
  border-bottom:1px solid var(--mint);
}
.marquee-big__track{
  display:inline-flex;
  align-items:center;
  gap:34px;
  animation:marqueeScrollReverse 26s linear infinite;
}
.marquee-big:hover .marquee-big__track{animation-play-state:paused;}
.marquee-big span{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:clamp(2.2rem, 6vw, 5rem);
  line-height:1;
  color:var(--hot);
  letter-spacing:.01em;
}
.marquee-big span.is-outline{
  color:transparent;
  -webkit-text-stroke:2px var(--teal);
  text-stroke:2px var(--teal);
}
.marquee-big__deco{
  font-size:clamp(1.2rem, 2.4vw, 2rem) !important;
  color:var(--pink) !important;
  -webkit-text-stroke:0 !important;
}
@keyframes marqueeScrollReverse{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* =========================================================
   ABOUT
   ========================================================= */
.about{position:relative;padding:130px 0;overflow:hidden;}
.about__mandala-texture{
  position:absolute;top:-10%;left:-14%;width:560px;
  opacity:.5;
}
.about__grid{
  position:relative;z-index:1;
  display:grid;gap:56px;
  grid-template-columns:1fr;
}
@media(min-width:960px){.about__grid{grid-template-columns:.85fr 1fr;align-items:center;}}

.about__media{position:relative;}
.about__media-frame{
  border-radius:28px;
  overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:0 30px 60px -24px rgba(23,63,58,.35);
}
.about__media-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out);}
.about__media:hover .about__media-frame img{transform:scale(1.06);}
.about__media-badge{
  position:absolute;bottom:-26px;left:-26px;
  width:128px;height:128px;border-radius:50%;
  background:var(--white);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 30px -10px rgba(23,63,58,.3);
}
.about__media-badge-logo{
  width:100%;height:100%;
  padding:7px;
  box-sizing:border-box;
  object-fit:contain;
  object-position:center;
  display:block;
}
@keyframes spinSlow{from{transform:rotate(0);}to{transform:rotate(360deg);}}

.about__copy p{color:var(--ink-soft);margin-bottom:18px;max-width:58ch;}
.about__list{display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.about__list li{display:flex;align-items:center;gap:12px;font-family:var(--font-display-cond);letter-spacing:.02em;text-transform:uppercase;font-size:.92rem;color:var(--teal-dark);}
.about__list-icon{color:var(--hot);}

/* =========================================================
   SERVICES
   ========================================================= */
.services{padding:60px 0 130px;}
.services__gallery{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:148px;
  grid-auto-flow:dense;
  gap:16px;
  margin-bottom:48px;
}
@media(min-width:700px){.services__gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:156px;gap:20px;}}
.gallery-card{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  opacity:0;
  transform:translateY(30px);
  transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);
  transition-delay:var(--d,0s);
}
.gallery-card.is-visible{opacity:1;transform:translateY(0);}
.gallery-card--hero{grid-column:span 2;grid-row:span 2;}
.gallery-card--tall{grid-row:span 2;}
.gallery-card--wide{grid-column:span 2;}
@media(min-width:700px){
  .gallery-card--hero{grid-row:span 3;}
  .gallery-card--tall{grid-row:span 3;}
  .gallery-card--wide{grid-row:span 2;}
}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out);}
.gallery-card:hover img{transform:scale(1.09);}
.gallery-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(23,63,58,.85));
  opacity:.6;transition:opacity .4s ease;
}
.gallery-card:hover::after{opacity:.9;}
.gallery-card span{
  position:absolute;left:14px;right:14px;bottom:12px;
  color:var(--white);
  font-family:var(--font-display-cond);
  text-transform:uppercase;
  font-size:.82rem;
  letter-spacing:.03em;
  transform:translateY(8px);
  opacity:0;
  transition:all .4s var(--ease-soft);
}
.gallery-card:hover span{transform:translateY(0);opacity:1;}
.gallery-card--hero span{transform:translateY(0);opacity:1;font-size:.95rem;bottom:18px;}

.services__categories{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* =========================================================
   BLEACH YUM
   ========================================================= */
.bleach-yum{
  position:relative;
  overflow:hidden;
  padding:130px 0;
  background:linear-gradient(135deg, #173f3a 0%, #1f6159 52%, #2d887b 100%);
  color:var(--white);
}
.bleach-yum__texture{
  position:absolute;
  width:min(760px, 82vw);
  right:-16%;top:-28%;
  opacity:.16;
  pointer-events:none;
}
.bleach-yum__grid{
  position:relative;z-index:1;
  display:grid;
  gap:64px;
  align-items:center;
}
@media(min-width:960px){.bleach-yum__grid{grid-template-columns:.83fr 1.17fr;gap:88px;}}
.bleach-yum__media{position:relative;max-width:470px;}
.bleach-yum__image-frame{
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:260px 260px 26px 26px;
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 34px 70px -28px rgba(0,0,0,.58);
}
.bleach-yum__image-frame img,.bleach-yum__video{width:100%;height:100%;object-fit:cover;object-position:56% center;display:block;}
.bleach-yum__seal{
  position:absolute;right:-28px;bottom:28px;
  width:118px;height:118px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;background:var(--pink);color:var(--white);
  transform:rotate(-10deg);
  box-shadow:0 15px 30px rgba(0,0,0,.25);
}
.bleach-yum__seal span{font-family:var(--font-display-cond);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.bleach-yum__seal img{width:88px;height:52px;object-fit:contain;display:block;}
.bleach-yum__copy .eyebrow-kicker{color:#8ce0d4;}
.bleach-yum__copy .section-title{max-width:13ch;margin-bottom:24px;}
.bleach-yum__lede{max-width:60ch;color:rgba(255,255,255,.87);font-size:1.1rem;margin-bottom:34px;}
.bleach-yum__benefits{display:grid;gap:1px;background:rgba(255,255,255,.22);margin-bottom:26px;}
@media(min-width:620px){.bleach-yum__benefits{grid-template-columns:repeat(3,1fr);}}
.bleach-yum__benefits article{padding:24px 20px;background:rgba(10,48,43,.48);}
.bleach-yum__benefit-num{display:block;margin-bottom:14px;color:var(--pink);font-family:var(--font-display);font-size:1.1rem;}
.bleach-yum__benefits h3{font-family:var(--font-display-cond);font-size:1.05rem;letter-spacing:.03em;margin-bottom:9px;}
.bleach-yum__benefits p{font-size:.91rem;line-height:1.55;color:rgba(255,255,255,.76);}
.bleach-yum__note{font-family:var(--font-script);font-size:1.55rem;color:#f9d9e8;margin-bottom:25px;line-height:1.15;}

/* =========================================================
   PRICES
   ========================================================= */
.prices{position:relative;background:var(--mint);padding:120px 0;overflow:hidden;}
.prices__lace{position:absolute;top:0;left:0;width:100%;height:auto;opacity:.55;pointer-events:none;}
.prices__mandala{position:absolute;bottom:-12%;right:-10%;width:520px;opacity:.5;}
.prices__tabs{
  position:relative;z-index:1;
  display:flex;flex-wrap:wrap;gap:12px;
  justify-content:center;
  margin-bottom:40px;
}
.prices__tab{
  padding:12px 22px;border-radius:999px;
  font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.04em;font-size:.86rem;
  background:var(--white);color:var(--teal-dark);
  border:1.5px solid transparent;
  transition:all .35s var(--ease-soft);
}
.prices__tab.is-active{background:var(--button-pastel);color:var(--teal-deep);}

.prices__panels{position:relative;z-index:1;}
.prices__panel{display:none;}
.prices__panel.is-active{display:block;animation:panelIn .6s var(--ease-out);}
@keyframes panelIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

.price-list{
  background:var(--white);
  border-radius:24px;
  padding:12px 8px;
  box-shadow:0 20px 50px -30px rgba(23,63,58,.4);
  max-width:820px;margin:0 auto;
}
.price-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:18px 24px;
  border-bottom:1px dashed rgba(31,106,97,.2);
  opacity:0;transform:translateX(-14px);
  animation:rowIn .5s var(--ease-out) forwards;
  animation-delay:var(--rd,0s);
}
.price-row:last-child{border-bottom:none;}
@keyframes rowIn{to{opacity:1;transform:translateX(0);}}
.price-row__name{font-size:1rem;color:var(--ink);}
.price-row__price{
  font-family:var(--font-display-cond);
  color:var(--hot);
  font-size:1.05rem;
  white-space:nowrap;
}

/* =========================================================
   BRANCHES
   ========================================================= */
.branches{padding:130px 0;}
.branches__filters{
  display:flex;flex-direction:column;gap:16px;align-items:center;
  margin-bottom:20px;
}
.filter-group{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.filter-group--type{padding-top:6px;border-top:1px solid var(--mint);width:100%;justify-content:center;margin-top:6px;}

.branches__count{
  text-align:center;color:var(--ink-soft);
  font-family:var(--font-display-cond);letter-spacing:.04em;text-transform:uppercase;font-size:.86rem;
  margin-bottom:36px;
}
#branchesCount{color:var(--hot);font-size:1.05rem;}

.branches__grid{
  display:grid;grid-template-columns:1fr;gap:26px;
}
@media(min-width:680px){.branches__grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.branches__grid{grid-template-columns:repeat(3,1fr);}}

.branch-card{
  background:var(--white);
  border:1px solid var(--mint);
  border-radius:22px;
  overflow:hidden;
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out), box-shadow .4s ease;
  display:flex;flex-direction:column;
}
.branch-card:hover{box-shadow:0 22px 46px -22px rgba(23,63,58,.3);transform:translateY(-4px);}
.branch-card.is-hidden{
  display:none;
}
.branch-card__media{aspect-ratio:16/10;overflow:hidden;position:relative;}
.branch-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);}
.branch-card:hover .branch-card__media img{transform:scale(1.07);}
.branch-card__media--brand{display:grid;place-items:center;padding:clamp(26px,5vw,58px);background:radial-gradient(circle at 50% 42%,rgba(216,235,231,.34),transparent 44%),linear-gradient(135deg,#52afa6,#31998c);}.branch-card__media--brand::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.48);border-radius:12px;}.branch-card__media--brand .branch-card__brand-mark{position:relative;z-index:1;width:min(82%,320px);height:auto;max-height:100%;object-fit:contain;transform:none;filter:drop-shadow(0 8px 16px rgba(23,63,58,.16));}.branch-card:hover .branch-card__media--brand .branch-card__brand-mark{transform:none;}
.branch-card__type{
  position:absolute;top:12px;left:12px;
  background:var(--teal);color:var(--white);
  font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;
  padding:5px 12px;border-radius:999px;
}
.branch-card__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.branch-card__state{
  font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--hot);
}
.branch-card__name{font-family:var(--font-display);font-size:1.3rem;text-transform:none;color:var(--ink);}
.branch-card__address{font-size:.9rem;color:var(--ink-soft);flex:1;}
.branch-card__reference{font-size:.82rem;color:var(--teal-dark);font-style:italic;}
.branch-card__actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;}
.branch-card__actions .btn{padding:10px 18px;font-size:.78rem;}
.branch-card__actions .btn--ghost{color:var(--teal-dark);border-color:var(--teal);}
.branch-card__actions .btn--ghost:hover{background:var(--mint);}

.branches__empty{
  text-align:center;padding:60px 20px;color:var(--ink-soft);
  font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.04em;
}

/* =========================================================
   CTA FINAL
   ========================================================= */
.cta-final{
  position:relative;
  background:linear-gradient(135deg, #2b8179 0%, #62b7ad 52%, #419a91 100%);
  color:var(--white);
  padding:140px 0;
  overflow:hidden;
  text-align:center;
}
.cta-final__mandala{position:absolute;width:420px;opacity:.25;}
.cta-final__mandala--left{top:-10%;left:-14%;}
.cta-final__mandala--right{bottom:-16%;right:-12%;}
.cta-final__inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.cta-final__title{
  font-size:clamp(2.2rem,5vw,3.4rem);
  color:var(--white);
  margin-bottom:20px;
}
.cta-final .eyebrow-kicker{color:#d5f3ed;}
.cta-final .script-accent{color:#d7779e;}
.cta-final__lede{color:rgba(255,255,255,.8);margin-bottom:36px;font-size:1.05rem;}
.cta-final .btn--primary{background:var(--button-pastel);box-shadow:0 10px 24px -10px rgba(151,74,106,.32);}
.cta-final .btn--primary:hover{background:var(--button-pastel-hover);box-shadow:0 16px 30px -10px rgba(151,74,106,.38);}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:#2b5752;color:var(--mint);padding:80px 0 0;}
.site-footer__inner{
  display:grid;gap:40px;
  grid-template-columns:1fr;
  padding-bottom:56px;
  border-bottom:1px solid rgba(216,235,231,.15);
}
@media(min-width:760px){.site-footer__inner{grid-template-columns:1.4fr .8fr 1fr .8fr;}}
.site-footer__logo{
  width:170px;height:94px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:14px;
}
.site-footer__brand p{color:#deefea;max-width:26ch;}
.site-footer__col h3{
  font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
  color:#f1b1c6;margin-bottom:16px;
}
.site-footer__col a{display:block;margin-bottom:10px;color:#eef8f5;transition:color .3s ease;}
.site-footer__col a:hover{color:#f4bdd0;}
.site-footer__col a.btn{display:inline-flex;margin-bottom:14px;color:var(--teal-deep);text-shadow:none;}
.site-footer__col a.btn--primary{background:var(--button-pastel);border-color:var(--button-pastel);color:var(--teal-deep);}
.site-footer__col a.btn--ghost{background:var(--button-pastel-soft);border-color:var(--button-pastel-soft);color:var(--teal-deep);}
.site-footer__states{display:block;color:#e1f1ed;line-height:1.9;font-size:.94rem;}
.site-footer__bottom{padding:26px 28px 30px;text-align:center;}
.site-footer__bottom p{color:#cbe3dd;font-size:.82rem;}

/* =========================================================
   APP YAMEL, REDES Y WHATSAPP
   ========================================================= */
.app-download{position:relative;overflow:hidden;padding:34px 0;background:linear-gradient(110deg,#dcefeb 0%,#fbf4f5 50%,#f2dde7 100%);border-top:1px solid rgba(43,129,121,.12);border-bottom:1px solid rgba(184,95,134,.12);}.app-download--hero{border-top:0;}.app-download::before,.app-download::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(43,129,121,.14);border-radius:50%;}.app-download::before{width:340px;aspect-ratio:1;right:-180px;top:-200px;}.app-download::after{width:230px;aspect-ratio:1;left:-115px;bottom:-155px;border-color:rgba(184,95,134,.16);}.app-download__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px;}.app-download__copy{display:flex;align-items:center;gap:17px;}.app-download__spark{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--teal-deep);box-shadow:0 9px 20px rgba(23,63,58,.14);color:#f4bdd0;font-size:1.15rem;}.app-download .eyebrow-kicker{margin-bottom:7px;}.app-download h2{font-size:clamp(1.85rem,3vw,2.7rem);line-height:.92;color:var(--ink);}.app-download h2 .script-accent{color:#b85f86;font-size:1.1em;}.app-download__copy>div>p:last-child{margin-top:9px;color:var(--ink-soft);font-size:.94rem;}.app-download__actions{display:flex;flex:0 0 auto;gap:10px;}.app-store-link{display:grid;grid-template-columns:24px auto;grid-template-rows:auto auto;min-width:156px;padding:10px 15px 10px 11px;border-radius:13px;background:var(--teal-deep);box-shadow:0 10px 22px rgba(23,63,58,.14);color:#fff;transition:transform .25s var(--ease-out),background .25s ease;}.app-store-link:hover{transform:translateY(-3px);background:#245f58;color:#fff;}.app-store-link>span{grid-row:span 2;align-self:center;font-size:1.05rem;}.app-store-link small{font-size:.58rem;letter-spacing:.04em;line-height:1.05;opacity:.78;}.app-store-link strong{font-family:var(--font-body);font-size:.9rem;line-height:1.15;}.site-footer__social{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}.site-footer__social .social-link{display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 11px;border:1px solid rgba(222,239,234,.36);border-radius:999px;color:#eef8f5;font-family:var(--font-display-cond);font-size:.83rem;letter-spacing:.04em;text-transform:uppercase;transition:background .25s ease,border-color .25s ease,transform .25s var(--ease-out);}.site-footer__social .social-link:hover{background:rgba(244,189,208,.16);border-color:#f4bdd0;color:#fff;transform:translateY(-2px);}.social-link svg{width:17px;height:17px;fill:currentColor;stroke:currentColor;stroke-width:1.8;}.social-link--instagram svg{fill:none;}.social-link--instagram .social-link__dot{fill:currentColor;stroke:none;}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:85;display:inline-flex;align-items:center;gap:9px;padding:14px 18px 14px 13px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:#286c63;box-shadow:0 14px 32px rgba(23,63,58,.24);color:#fff;font-family:var(--font-display-cond);font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;transition:transform .25s var(--ease-out),box-shadow .25s ease,background .25s ease;}.whatsapp-float:hover{transform:translateY(-4px) scale(1.02);background:#235d56;color:#fff;box-shadow:0 18px 36px rgba(23,63,58,.3);}.whatsapp-float svg{width:25px;height:25px;fill:currentColor;}.whatsapp-float::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(184,95,134,.48);border-radius:inherit;animation:whatsappPulse 2.4s ease-out infinite;}.whatsapp-float:hover::after{animation-play-state:paused;}@keyframes whatsappPulse{0%,65%{opacity:0;transform:scale(.94)}75%{opacity:.8}100%{opacity:0;transform:scale(1.16)}}
@media(max-width:760px){.app-download{padding:29px 0;}.app-download__inner{display:grid;gap:22px;}.app-download__copy{align-items:flex-start;gap:13px;}.app-download__spark{width:39px;height:39px;margin-top:3px;}.app-download__actions{width:100%;display:grid;grid-template-columns:1fr 1fr;}.app-store-link{min-width:0;padding-right:9px;}.app-store-link strong{font-size:.82rem;}.whatsapp-float{right:16px;bottom:16px;padding:14px;border-radius:50%;}.whatsapp-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}.whatsapp-float svg{width:27px;height:27px;}}

/* =========================================================
   FACTURACIÓN
   ========================================================= */
.billing-page{position:relative;min-height:100svh;padding:calc(var(--header-h) + 70px) 0 110px;overflow:hidden;background:linear-gradient(135deg,#fffdf9 0%,#f9f1f4 54%,#e6f4f0 100%);isolation:isolate;}
.billing-page::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 83% 16%,rgba(66,163,152,.15),transparent 21%),radial-gradient(circle at 12% 84%,rgba(225,163,184,.18),transparent 26%);}
.billing-page__mandala{position:absolute;pointer-events:none;z-index:-1;}.billing-page__mandala--top{width:min(48vw,700px);right:-8%;top:-18%;opacity:.22;}
.billing-page__elephant{position:absolute;pointer-events:none;width:min(28vw,390px);left:-8%;bottom:-10%;opacity:.16;z-index:-1;}
.billing-page__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(44px,8vw,130px);}
.billing-page__intro h1{font-size:clamp(3rem,5.6vw,5.2rem);max-width:8ch;margin-bottom:22px;color:var(--ink);}.billing-page__intro h1 .script-accent{display:block;font-size:1.18em;color:#b85f86;margin-top:.03em;}
.billing-page__intro > p:not(.eyebrow-kicker):not(.billing-page__privacy){font-size:1.1rem;max-width:39ch;color:var(--ink-soft);}
.billing-page__steps{display:grid;gap:17px;margin:38px 0 28px;}.billing-page__steps div{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;}.billing-page__steps span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--teal-deep);color:var(--mint);font-family:var(--font-display-cond);font-size:.95rem;}.billing-page__steps p{font-family:var(--font-display-cond);font-size:1.03rem;letter-spacing:.02em;text-transform:uppercase;color:var(--teal-deep);}
.billing-page__privacy{max-width:36ch;color:var(--ink-soft);font-size:.85rem;line-height:1.55;}
.billing-card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.78);border-radius:30px;padding:clamp(26px,4vw,52px);box-shadow:0 26px 70px rgba(23,63,58,.13);backdrop-filter:blur(12px);}.billing-card__heading{display:flex;gap:16px;align-items:center;margin-bottom:32px;}.billing-card__number{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--button-pastel);font-family:var(--font-display-cond);color:var(--teal-deep);font-size:1.1rem;}.billing-card__heading p{font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--teal);}.billing-card__heading h2{color:var(--ink);font-size:clamp(1.8rem,3vw,2.35rem);}
.billing-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;}.billing-field{display:grid;gap:8px;font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;color:var(--teal-deep);}.billing-field--full{grid-column:1/-1;}.billing-field small{font-family:var(--font-body);text-transform:none;letter-spacing:0;color:var(--ink-soft);font-size:.76rem;}.billing-field input,.billing-field select{width:100%;height:54px;border:1.5px solid rgba(23,63,58,.18);border-radius:12px;padding:0 15px;background:rgba(255,255,255,.74);font-family:var(--font-body);font-size:1rem;color:var(--ink);outline:none;transition:border-color .25s ease,box-shadow .25s ease;}.billing-field select{appearance:auto;}.billing-field input:focus,.billing-field select:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(49,153,140,.1);}
.ticket-upload{grid-column:1/-1;min-height:124px;border:1.5px dashed rgba(43,129,121,.48);border-radius:18px;padding:20px;display:flex;align-items:center;gap:15px;cursor:pointer;background:linear-gradient(135deg,rgba(216,235,231,.56),rgba(255,255,255,.76));transition:transform .3s var(--ease-out),border-color .3s ease,background .3s ease;}.ticket-upload:hover{transform:translateY(-2px);border-color:var(--teal);background:rgba(216,235,231,.8);}.ticket-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}.ticket-upload__icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--teal-deep);color:var(--mint);font-size:2rem;line-height:1;font-family:serif;}.ticket-upload__text{display:grid;gap:2px;flex:1;}.ticket-upload__text strong{font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.05em;color:var(--teal-deep);font-size:1rem;}.ticket-upload__text small{color:var(--ink-soft);}.ticket-upload__action{font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.05em;color:#a7607a;font-size:.84rem;}.billing-form__submit{grid-column:1/-1;justify-self:start;padding-inline:34px;}.billing-message{display:grid;gap:4px;padding:15px 18px;margin-bottom:24px;border-radius:14px;font-size:.93rem;}.billing-message strong{font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;}.billing-message--success{background:rgba(216,235,231,.78);color:var(--teal-deep);}.billing-message--error{background:#f9e6ec;color:#824b60;}
.ticket-upload.is-processing{cursor:progress;opacity:.78;}.ticket-upload.is-processing .ticket-upload__icon{animation:ticketPulse 1s ease-in-out infinite;}.ticket-upload.has-preview{background:linear-gradient(135deg,rgba(216,235,231,.78),rgba(255,255,255,.9));border-style:solid;}.ticket-upload__preview{display:grid;gap:5px;flex:0 0 auto;}.ticket-upload__preview img{width:96px;height:76px;display:block;object-fit:cover;border-radius:10px;border:1px solid rgba(23,63,58,.18);background:#fff;}.ticket-upload__preview span{font-family:var(--font-display-cond);font-size:.74rem;letter-spacing:.04em;color:var(--teal-deep);text-align:center;}@keyframes ticketPulse{50%{transform:scale(.9);opacity:.65;}}
@media(max-width:850px){.billing-page{padding-top:calc(var(--header-h) + 42px);}.billing-page__grid{grid-template-columns:1fr;gap:40px;}.billing-page__intro{max-width:620px;}.billing-page__intro h1{max-width:12ch;}.billing-page__elephant{width:220px;}.billing-card{max-width:680px;width:100%;}.billing-page__mandala--top{width:480px;right:-34%;}}
@media(max-width:560px){.billing-page{padding-bottom:72px;}.billing-page__grid{padding-inline:20px;}.billing-page__intro h1{font-size:3.3rem;}.billing-card{padding:26px 20px;border-radius:24px;}.billing-form{grid-template-columns:1fr;gap:16px;}.billing-field--full,.ticket-upload,.billing-form__submit{grid-column:auto;}.ticket-upload{align-items:flex-start;min-height:142px;flex-wrap:wrap;}.ticket-upload__action{width:100%;padding-left:63px;}.billing-form__submit{width:100%;}.billing-page__elephant{left:-22%;bottom:-5%;opacity:.11;}.billing-page__steps{margin-top:28px;}}

/* =========================================================
   FRANQUICIAS — primer acercamiento comercial
   ========================================================= */
.billing-field textarea{width:100%;min-height:112px;border:1.5px solid rgba(23,63,58,.18);border-radius:12px;padding:14px 15px;background:rgba(255,255,255,.74);font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--ink);outline:none;resize:vertical;transition:border-color .25s ease,box-shadow .25s ease;}.billing-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(49,153,140,.1);}
.franchise-page{position:relative;min-height:100svh;padding:calc(var(--header-h) + 70px) 0 110px;overflow:hidden;background:linear-gradient(135deg,#fffaf5 0%,#f7eef2 49%,#e0f2ed 100%);isolation:isolate;}.franchise-page::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 14% 18%,rgba(226,180,129,.16),transparent 23%),radial-gradient(circle at 87% 77%,rgba(49,153,140,.14),transparent 30%);}.franchise-page__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(44px,8vw,128px);}.franchise-page__intro h1{max-width:9ch;font-size:clamp(3rem,5.2vw,5rem);color:var(--ink);margin-bottom:22px;}.franchise-page__intro h1 .script-accent{display:block;color:#b85f86;font-size:1.18em;line-height:.8;margin:.2em 0 .15em;}.franchise-page__intro>p:not(.eyebrow-kicker):not(.franchise-page__note){max-width:40ch;font-size:1.08rem;color:var(--ink-soft);}.franchise-page__values{display:grid;gap:16px;margin:34px 0 25px;}.franchise-page__values div{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;}.franchise-page__values span{color:#ba668b;font-size:1.1rem;line-height:1.4;}.franchise-page__values p{font-family:var(--font-display-cond);font-size:1rem;letter-spacing:.035em;text-transform:uppercase;color:var(--teal-deep);}.franchise-page__note{max-width:37ch;font-size:.86rem;line-height:1.6;color:var(--ink-soft);}.franchise-page__mandala{position:absolute;z-index:-1;pointer-events:none;}.franchise-page__mandala--one{width:min(48vw,720px);right:-10%;top:-20%;opacity:.24;}.franchise-page__mandala--two{width:min(36vw,500px);left:-12%;bottom:-18%;opacity:.16;}.franchise-page__elephant{position:absolute;z-index:-1;pointer-events:none;width:min(25vw,340px);right:2%;bottom:-12%;opacity:.13;}.franchise-card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.82);border-radius:30px;padding:clamp(26px,4vw,52px);box-shadow:0 26px 70px rgba(23,63,58,.14);backdrop-filter:blur(12px);}.franchise-consent{grid-column:1/-1;display:flex;gap:11px;align-items:flex-start;font-size:.87rem;line-height:1.55;color:var(--ink-soft);cursor:pointer;}.franchise-consent input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#b46e8c;}
@media(max-width:850px){.franchise-page{padding-top:calc(var(--header-h) + 42px);}.franchise-page__grid{grid-template-columns:1fr;gap:40px;}.franchise-page__intro{max-width:630px;}.franchise-page__intro h1{max-width:12ch;}.franchise-card{max-width:680px;width:100%;}.franchise-page__mandala--one{width:490px;right:-33%;}.franchise-page__elephant{width:220px;right:-12%;bottom:-5%;}}
@media(max-width:560px){.franchise-page{padding-bottom:72px;}.franchise-page__grid{padding-inline:20px;}.franchise-page__intro h1{font-size:3.25rem;}.franchise-card{padding:26px 20px;border-radius:24px;}.franchise-consent{grid-column:auto;}.franchise-page__mandala--two{width:310px;left:-30%;bottom:-9%;}.franchise-page__elephant{width:180px;right:-24%;}}

/* =========================================================
   PÁGINAS DE CONFIRMACIÓN
   ========================================================= */
.thank-you-page{position:relative;min-height:calc(100svh - var(--header-h));display:grid;place-items:center;padding:calc(var(--header-h) + 70px) 0 110px;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#fffdf9 0%,#f8eef2 54%,#e4f3ef 100%);}.thank-you-page--franchise{background:linear-gradient(135deg,#fffaf7 0%,#f7edf2 48%,#e0f1ec 100%);}.thank-you-page::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 78% 18%,rgba(49,153,140,.16),transparent 23%),radial-gradient(circle at 16% 80%,rgba(225,163,184,.19),transparent 28%);}.thank-you-page__content{max-width:760px;text-align:center;display:flex;flex-direction:column;align-items:center;}.thank-you-page__seal{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;margin-bottom:25px;background:var(--teal-deep);border:8px solid rgba(216,235,231,.82);box-shadow:0 18px 35px rgba(23,63,58,.18);color:#fff;font-size:2.35rem;font-weight:700;}.thank-you-page h1{max-width:13ch;font-size:clamp(3rem,6vw,5.5rem);line-height:.93;color:var(--ink);margin-bottom:22px;}.thank-you-page h1 .script-accent{color:#b85f86;white-space:nowrap;}.thank-you-page__lead{max-width:52ch;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.6;color:var(--ink-soft);}.thank-you-page__next{display:flex;align-items:flex-start;gap:12px;max-width:560px;margin:30px auto 34px;padding:18px 22px;border:1px solid rgba(43,129,121,.2);border-radius:18px;background:rgba(255,255,255,.63);text-align:left;box-shadow:0 12px 32px rgba(23,63,58,.06);}.thank-you-page__next span{color:#b85f86;line-height:1.45;}.thank-you-page__next p{font-family:var(--font-display-cond);font-size:1.04rem;letter-spacing:.025em;text-transform:uppercase;color:var(--teal-deep);}.thank-you-page__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}.thank-you-page__mandala{position:absolute;pointer-events:none;z-index:-1;width:min(55vw,760px);right:-14%;top:-20%;opacity:.2;}.thank-you-page__elephant{position:absolute;pointer-events:none;z-index:-1;width:min(32vw,390px);left:-8%;bottom:-15%;opacity:.16;}@media(max-width:560px){.thank-you-page{padding:calc(var(--header-h) + 56px) 0 76px;align-items:start;}.thank-you-page__content{padding-inline:25px;}.thank-you-page__seal{width:68px;height:68px;border-width:7px;font-size:2rem;margin-bottom:20px;}.thank-you-page h1{font-size:3.25rem;}.thank-you-page__next{margin:25px auto 30px;padding:16px;}.thank-you-page__next p{font-size:.96rem;}.thank-you-page__actions{width:100%;}.thank-you-page__actions .btn{width:100%;}.thank-you-page__mandala{width:430px;right:-56%;top:2%;opacity:.16;}.thank-you-page__elephant{width:230px;left:-32%;bottom:-6%;opacity:.11;}}

/* =========================================================
   PROMOCIONES
   ========================================================= */
.promotions-page{position:relative;min-height:100svh;overflow:hidden;padding:calc(var(--header-h) + 82px) 0 120px;background:linear-gradient(135deg,#fffdf9 0%,#faeef2 48%,#e3f4ef 100%);isolation:isolate;}.promotions-page::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 88% 15%,rgba(49,153,140,.16),transparent 23%),radial-gradient(circle at 6% 82%,rgba(221,154,180,.19),transparent 28%);}.promotions-page__mandala{position:absolute;z-index:-1;pointer-events:none;}.promotions-page__mandala--top{width:min(53vw,760px);right:-12%;top:-19%;opacity:.2;}.promotions-page__mandala--bottom{width:min(36vw,500px);left:-15%;bottom:-12%;opacity:.16;}.promotions-page__intro{max-width:750px;text-align:center;margin-bottom:clamp(48px,7vw,82px);}.promotions-page__intro .eyebrow-kicker{justify-content:center;}.promotions-page__intro h1{font-size:clamp(3.3rem,6vw,6rem);line-height:.88;color:var(--ink);margin:15px 0 22px;}.promotions-page__intro .script-accent{display:block;color:#b85f86;font-size:1.12em;line-height:.78;margin-top:.14em;}.promotions-page__intro>p:last-child{max-width:56ch;margin:0 auto;color:var(--ink-soft);font-size:clamp(1rem,1.7vw,1.16rem);line-height:1.65;}.promotions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,34px);align-items:start;}.promotion-card{position:relative;overflow:hidden;border:1px solid rgba(43,129,121,.14);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 20px 48px rgba(23,63,58,.1);transition:transform .5s var(--ease-out),box-shadow .5s ease,border-color .5s ease;}.promotion-card:nth-child(3n+2){margin-top:clamp(24px,4vw,60px);}.promotion-card:nth-child(3n){margin-top:clamp(8px,1.5vw,22px);}.promotion-card:hover{transform:translateY(-12px) rotate(.4deg);border-color:rgba(184,95,134,.33);box-shadow:0 30px 68px rgba(23,63,58,.17);}.promotion-card__media{position:relative;aspect-ratio:1.12;overflow:hidden;background:linear-gradient(145deg,#215c56,#62b6aa);}.promotion-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out),filter .6s ease;}.promotion-card:hover .promotion-card__media img{transform:scale(1.08);filter:saturate(1.06);}.promotion-card__media--brand{display:grid;place-items:center;padding:23%;background:linear-gradient(145deg,#2b8178,#8acbc2);}.promotion-card__media--brand img{object-fit:contain;filter:drop-shadow(0 12px 18px rgba(17,63,58,.18));}.promotion-card__shine{position:absolute;inset:-60% auto auto -45%;width:44%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(18deg) translateX(-230%);transition:transform .8s var(--ease-out);}.promotion-card:hover .promotion-card__shine{transform:rotate(18deg) translateX(620%);}.promotion-card__body{position:relative;padding:27px 27px 25px;}.promotion-card__number{position:absolute;right:25px;top:27px;font-family:var(--font-display-cond);font-size:.78rem;letter-spacing:.15em;color:#b85f86;}.promotion-card h2{max-width:11ch;margin-bottom:14px;padding-right:30px;font-size:clamp(2rem,3.1vw,2.8rem);line-height:.88;color:var(--teal-deep);}.promotion-card__description{min-height:4.7em;color:var(--ink-soft);font-size:.96rem;line-height:1.55;}.promotion-card__price{display:inline-flex;align-items:center;margin-top:22px;padding:10px 14px;border-radius:999px;background:#e9b2c7;color:#17423d;font-family:var(--font-display-cond);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 7px 14px rgba(184,95,134,.16);}.promotion-card__terms{margin-top:20px;border-top:1px solid rgba(43,129,121,.14);padding-top:14px;color:var(--ink-soft);font-size:.74rem;line-height:1.5;}.promotion-card__terms summary{cursor:pointer;color:var(--teal-deep);font-family:var(--font-display-cond);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;}.promotion-card__terms p{padding-top:11px;}.promotions-empty{grid-column:1/-1;display:grid;place-items:center;min-height:350px;padding:45px;border:1px dashed rgba(43,129,121,.3);border-radius:30px;background:rgba(255,255,255,.56);text-align:center;color:var(--teal-deep);}.promotions-empty span{margin-bottom:14px;color:#b85f86;font-size:1.65rem;}.promotions-empty h2{font-size:clamp(2.1rem,4vw,3.5rem);line-height:.92;}.promotions-empty p{max-width:38ch;margin-top:16px;color:var(--ink-soft);}.promotions-grid .promotion-card[data-reveal]{opacity:0;transform:translateY(36px) scale(.97);}.promotions-grid .promotion-card.is-visible{opacity:1;transform:translateY(0) scale(1);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),box-shadow .5s ease,border-color .5s ease;transition-delay:calc(var(--promo-index) * .1s);}@media(max-width:900px){.promotions-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.promotion-card:nth-child(3n+2),.promotion-card:nth-child(3n){margin-top:0;}.promotion-card:nth-child(even){margin-top:34px;}}@media(max-width:560px){.promotions-page{padding-top:calc(var(--header-h) + 56px);padding-bottom:80px;}.promotions-page__intro{text-align:left;margin-bottom:44px;}.promotions-page__intro .eyebrow-kicker{justify-content:flex-start;}.promotions-grid{grid-template-columns:1fr;gap:18px;}.promotion-card:nth-child(even){margin-top:0;}.promotion-card__body{padding:24px 22px 22px;}.promotion-card__description{min-height:0;}.promotions-page__mandala--top{width:400px;right:-56%;top:-3%;}.promotions-page__mandala--bottom{width:290px;left:-44%;bottom:-5%;}}

/* =========================================================
   NUESTRA EMPRESA
   ========================================================= */
.company-page{position:relative;overflow:hidden;padding:calc(var(--header-h) + 76px) 0 112px;background:linear-gradient(135deg,#fffdf9 0%,#f8f0f2 47%,#e3f4ef 100%);isolation:isolate;}.company-page::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 86% 20%,rgba(49,153,140,.16),transparent 25%),radial-gradient(circle at 11% 76%,rgba(218,146,174,.16),transparent 27%);}.company-page__mandala{position:absolute;z-index:-1;pointer-events:none;}.company-page__mandala--top{width:min(52vw,750px);right:-12%;top:-16%;opacity:.18;}.company-page__mandala--bottom{width:min(40vw,510px);left:-14%;bottom:-12%;opacity:.14;}.company-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);align-items:center;gap:clamp(40px,9vw,150px);padding-bottom:clamp(72px,11vw,140px);}.company-hero__copy h1{max-width:10ch;font-size:clamp(3.4rem,6.2vw,6.15rem);line-height:.91;color:var(--ink);margin:15px 0 25px;}.company-hero__copy h1 .script-accent{display:block;color:#b85f86;font-size:1.08em;line-height:.76;margin-top:.2em;}.company-hero__copy>p:last-child{max-width:48ch;font-size:clamp(1.08rem,1.7vw,1.24rem);line-height:1.65;color:var(--ink-soft);}.company-hero__seal{position:relative;justify-self:center;width:min(27vw,300px);aspect-ratio:1;display:grid;place-items:center;isolation:isolate;}.company-hero__seal::before{content:"";position:absolute;inset:8%;border-radius:50%;background:rgba(255,255,255,.62);box-shadow:0 28px 56px rgba(23,63,58,.12);z-index:-1;}.company-hero__seal img{width:86%;filter:drop-shadow(0 10px 16px rgba(23,63,58,.12));}.company-hero__seal span{position:absolute;bottom:3%;font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:#b85f86;}.company-purpose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,52px);}.company-card{position:relative;min-height:470px;display:flex;flex-direction:column;padding:clamp(30px,4.2vw,58px);border-radius:34px;overflow:hidden;box-shadow:0 24px 60px rgba(23,63,58,.1);}.company-card::after{content:"";position:absolute;width:290px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;right:-132px;bottom:-142px;opacity:.19;}.company-card--mission{background:linear-gradient(145deg,#194d47,#2f7f76);color:#fff;}.company-card--vision{background:linear-gradient(145deg,#fffdfa,#f7e3eb);color:var(--teal-deep);border:1px solid rgba(184,95,134,.16);}.company-card__heading{display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:end;margin-bottom:38px;}.company-card__heading span{grid-row:span 2;font-family:var(--font-display-cond);font-size:1rem;letter-spacing:.08em;align-self:start;opacity:.68;}.company-card__heading p{font-family:var(--font-display-cond);font-size:.77rem;text-transform:uppercase;letter-spacing:.16em;opacity:.76;}.company-card__heading h2{font-size:clamp(2.5rem,4vw,4rem);line-height:.86;}.company-card--vision .company-card__heading h2{color:#b85f86;}.company-card__statement{max-width:27ch;font-size:clamp(1.18rem,2vw,1.5rem);line-height:1.48;font-weight:500;}.company-card__detail{max-width:33ch;margin-top:auto;padding-top:30px;font-family:var(--font-display-cond);font-size:1rem;line-height:1.45;text-transform:uppercase;letter-spacing:.035em;opacity:.82;}.company-values{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.8fr);gap:clamp(34px,6vw,84px);align-items:start;margin-top:clamp(72px,11vw,140px);padding:clamp(32px,5vw,60px);border:1px solid rgba(43,129,121,.17);border-radius:34px;background:rgba(255,255,255,.54);box-shadow:0 24px 60px rgba(23,63,58,.07);}.company-values__intro{position:sticky;top:calc(var(--header-h) + 24px);}.company-values__intro h2{font-size:clamp(2.8rem,4.7vw,4.6rem);line-height:.9;color:var(--ink);margin:13px 0 21px;}.company-values__intro .script-accent{display:block;color:#b85f86;font-size:1.1em;line-height:.78;margin-top:.16em;}.company-values__intro>p:last-child{max-width:26ch;color:var(--ink-soft);line-height:1.6;}.company-values__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.company-value{position:relative;min-height:174px;padding:25px 24px 22px;border:1px solid rgba(43,129,121,.14);border-radius:21px;background:rgba(255,253,250,.88);overflow:hidden;box-shadow:0 10px 24px rgba(23,63,58,.045);}.company-value::after{content:"";position:absolute;width:86px;aspect-ratio:1;border:1px solid rgba(184,95,134,.19);border-radius:50%;right:-42px;bottom:-45px;}.company-value span{display:block;margin-bottom:13px;font-family:var(--font-display-cond);font-size:.78rem;letter-spacing:.12em;color:#b85f86;}.company-value h3{font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:.9;color:var(--teal-deep);margin-bottom:12px;}.company-value p{position:relative;z-index:1;color:var(--ink-soft);font-size:.94rem;line-height:1.5;}.company-value:nth-child(3){background:linear-gradient(145deg,#e6f3ef,#fffdf9);}.company-value:nth-child(5){grid-column:span 2;background:linear-gradient(145deg,#f8e8ee,#fffdf9);}.company-manifesto{max-width:890px;display:flex;gap:20px;align-items:flex-start;margin-top:clamp(65px,10vw,125px);padding:31px 38px;border-top:1px solid rgba(43,129,121,.24);border-bottom:1px solid rgba(43,129,121,.24);color:var(--teal-deep);}.company-manifesto span{color:#b85f86;font-size:1.2rem;line-height:1.35;}.company-manifesto p{font-family:var(--font-display-cond);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.18rem,2.1vw,1.55rem);line-height:1.4;}@media(max-width:760px){.company-page{padding-top:calc(var(--header-h) + 52px);padding-bottom:80px;}.company-hero{grid-template-columns:1fr;gap:34px;padding-bottom:70px;}.company-hero__copy h1{font-size:3.55rem;}.company-hero__seal{width:210px;order:-1;justify-self:start;margin-left:-10px;}.company-purpose{grid-template-columns:1fr;gap:20px;}.company-card{min-height:0;padding:34px 28px;}.company-card__statement{max-width:none;font-size:1.2rem;}.company-card__detail{margin-top:26px;padding-top:0;}.company-values{grid-template-columns:1fr;margin-top:68px;padding:30px 20px;border-radius:26px;}.company-values__intro{position:static;}.company-values__grid{grid-template-columns:1fr;}.company-value{min-height:0;padding:24px 22px;}.company-value:nth-child(5){grid-column:auto;}.company-manifesto{margin-top:58px;padding:27px 4px;gap:13px;}.company-page__mandala--top{width:370px;right:-43%;top:4%;}.company-page__mandala--bottom{width:290px;left:-42%;bottom:-4%;}}

/* =========================================================
   STAGGER DELAYS (grouped reveals)
   ========================================================= */
.hero__title .reveal-line:nth-child(1){--d:.05s;}
.hero__title .reveal-line:nth-child(2){--d:.2s;}
.hero__title .reveal-line:nth-child(3){--d:.35s;}
.hero__stats .stat:nth-child(1){--d:.05s;}
.hero__stats .stat:nth-child(2){--d:.15s;}
.hero__stats .stat:nth-child(3){--d:.25s;}
.hero__inner > [data-reveal]:nth-of-type(1){--d:0s;}
.hero__inner > [data-reveal]:nth-of-type(2){--d:.05s;}
.about__list li{opacity:0;transform:translateY(14px);}
.about__list.is-visible li{opacity:1;transform:translateY(0);transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);}
.about__list.is-visible li:nth-child(1){transition-delay:.05s;}
.about__list.is-visible li:nth-child(2){transition-delay:.14s;}
.about__list.is-visible li:nth-child(3){transition-delay:.23s;}
.about__list.is-visible li:nth-child(4){transition-delay:.32s;}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}

/* Promociones por sucursal */
.promotion-card__branch{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:baseline;margin-top:18px;padding:12px 14px;border:1px solid rgba(43,129,121,.16);border-radius:14px;background:rgba(227,244,239,.6);color:var(--teal-deep);}.promotion-card__branch span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72;}.promotion-card__branch strong{font-size:.9rem;}.promotion-card__whatsapp{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:11px;padding:13px 16px;border-radius:999px;background:var(--teal-deep);color:#fff;font-family:var(--font-display-cond);font-size:.92rem;letter-spacing:.04em;text-align:center;text-transform:uppercase;transition:transform .25s ease,background .25s ease,box-shadow .25s ease;}.promotion-card__whatsapp:hover{transform:translateY(-2px);background:#2b8178;color:#fff;box-shadow:0 10px 18px rgba(23,63,58,.18);}.promotion-card__whatsapp span{font-family:Arial,sans-serif;font-size:1.2em;line-height:0;}
