/* =========================================================
   ARRENDADORA ABM — UX/UI móvil + motion design
   Diseño responsive, magic scroll sutil y alto rendimiento
   ========================================================= */

:root{
  --green:#319a64;
  --green-dark:#267a4e;
  --green-deep:#1f6742;
  --green-soft:#e7f5ee;
  --ink:#20262b;
  --ink-2:#293036;
  --ink-3:#353d44;
  --gray:#66707a;
  --gray-soft:#f4f6f7;
  --line:#e2e7e5;
  --white:#fff;
  --dark-bg:#171c20;
  --danger:#c73535;
  --success:#18794e;

  --ff-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ff-head:'Sora','Inter',system-ui,sans-serif;

  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --r-xl:32px;

  --container:1240px;
  --header-h:80px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --shadow-sm:0 6px 20px rgba(32,38,43,.07);
  --shadow-md:0 16px 44px rgba(32,38,43,.11);
  --shadow-lg:0 30px 90px rgba(32,38,43,.18);
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
  -webkit-text-size-adjust:100%;
}
body{
  min-width:320px;
  overflow-x:hidden;
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden;touch-action:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{border:0;background:none;cursor:pointer}
::selection{color:var(--white);background:var(--green)}

:focus-visible{
  outline:3px solid rgba(49,154,100,.45);
  outline-offset:4px;
}

.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:10000;
  padding:10px 14px;
  border-radius:10px;
  color:var(--white);
  background:var(--ink);
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}

.container{
  width:min(100%,var(--container));
  margin-inline:auto;
  padding-inline:24px;
}

h1,h2,h3,h4{
  font-family:var(--ff-head);
  color:var(--ink);
  line-height:1.08;
  letter-spacing:-.03em;
}
.section-title{
  max-width:900px;
  font-size:clamp(2rem,5vw,3.5rem);
  font-weight:800;
  text-wrap:balance;
}
.section-title--light{color:var(--white)}
.section-sub{
  max-width:680px;
  margin-top:16px;
  font-size:clamp(1rem,1.4vw,1.15rem);
  color:var(--gray);
  text-wrap:pretty;
}
.eyebrow{
  display:inline-block;
  margin-bottom:14px;
  font-family:var(--ff-head);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--green);
}
.eyebrow--light{color:#a8e0c2}

/* BOTONES */
.btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 24px;
  border:1px solid transparent;
  border-radius:999px;
  font-family:var(--ff-head);
  font-size:.95rem;
  font-weight:650;
  line-height:1;
  transition:
    transform .35s var(--ease),
    box-shadow .35s var(--ease),
    background-color .35s var(--ease),
    border-color .35s var(--ease),
    color .35s var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.btn svg{flex:0 0 auto;transition:transform .35s var(--ease)}
.btn--primary{
  color:var(--white);
  background:var(--green);
  box-shadow:0 12px 34px rgba(49,154,100,.32);
}
.btn--ghost{
  color:var(--white);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.4);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.btn--block{width:100%}
.btn:disabled{cursor:wait;opacity:.7;transform:none!important}
@media (hover:hover){
  .btn:hover{transform:translateY(-3px)}
  .btn:hover svg{transform:translateX(4px)}
  .btn--primary:hover{background:var(--green-dark);box-shadow:0 18px 44px rgba(49,154,100,.4)}
  .btn--ghost:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.8)}
}

/* PRELOADER */
.preloader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:var(--ink);
  transition:opacity .65s var(--ease),visibility .65s var(--ease);
  animation:preloaderFallback .01s linear 4s forwards;
}
.preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader__inner{width:min(72vw,260px);text-align:center}
.preloader__logo{width:100%;filter:brightness(0) invert(1);animation:preLogo .65s var(--ease-out) both}
.preloader__bar{height:2px;margin-top:18px;overflow:hidden;border-radius:2px;background:rgba(255,255,255,.15)}
.preloader__bar span{display:block;width:100%;height:100%;background:var(--green);transform-origin:left;animation:preBar .9s var(--ease-out) both}
@keyframes preLogo{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes preBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes preloaderFallback{to{opacity:0;visibility:hidden;pointer-events:none}}

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:9998;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--green),#60d39a);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

/* CURSOR */
.cursor,.cursor-dot{
  position:fixed;
  top:0;
  left:0;
  z-index:9997;
  pointer-events:none;
  border-radius:50%;
  mix-blend-mode:difference;
}
.cursor{
  width:36px;
  height:36px;
  border:1.5px solid var(--white);
  transition:width .3s var(--ease),height .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.cursor-dot{width:6px;height:6px;background:var(--white)}
.cursor.is-hover{width:60px;height:60px;border-color:transparent;background:rgba(255,255,255,.15)}

/* HEADER */
.header{
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  padding:calc(16px + env(safe-area-inset-top)) 0 16px;
  transition:padding .35s var(--ease),background-color .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.header__inner{
  width:min(100%,var(--container));
  min-height:48px;
  margin-inline:auto;
  padding-inline:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.header__logo{position:relative;z-index:2;flex:0 0 auto}
.header__logo img{width:auto;height:44px;filter:brightness(0) invert(1);transition:height .35s var(--ease),filter .35s var(--ease)}
.header.is-scrolled{
  padding:calc(8px + env(safe-area-inset-top)) 0 8px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(226,231,229,.7);
  box-shadow:0 8px 28px rgba(32,38,43,.08);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.header.is-scrolled .header__logo img{height:36px;filter:none}
.nav{display:flex;align-items:center;gap:30px}
.nav__link{
  position:relative;
  padding:7px 0;
  font-family:var(--ff-head);
  font-size:.9rem;
  font-weight:550;
  color:var(--white);
  transition:color .25s ease;
}
.nav__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  border-radius:2px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s var(--ease);
}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1);transform-origin:left}
.header.is-scrolled .nav__link{color:var(--ink)}
.header__cta{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  color:var(--white);
  background:rgba(255,255,255,.1);
  font-family:var(--ff-head);
  font-size:.88rem;
  font-weight:650;
  transition:all .3s var(--ease);
}
.header.is-scrolled .header__cta{border-color:var(--green);background:var(--green);color:var(--white)}
.burger{
  position:relative;
  z-index:1001;
  width:100px;
  height:48px;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  border-radius:50%;
  -webkit-tap-highlight-color:transparent;
}
.burger span{width:25px;height:2px;border-radius:2px;background:var(--white);transition:transform .35s var(--ease),opacity .25s ease,background .35s ease}
.header.is-scrolled .burger span{background:var(--ink)}
body.menu-open .header{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.menu-open .header__logo img{filter:brightness(0) invert(1)}
.burger.is-open span{background:var(--white)!important}
.burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* MENÚ MÓVIL */
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:999;
  min-height:100dvh;
  padding:calc(110px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    radial-gradient(circle at 90% 5%,rgba(49,154,100,.28),transparent 38%),
    var(--dark-bg);
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,-24px,0) scale(.985);
  transition:opacity .45s var(--ease),visibility .45s var(--ease),transform .45s var(--ease);
}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:none}
.mobile-menu__nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.mobile-menu__link{
  width:100%;
  padding:10px 0;
  font-family:var(--ff-head);
  font-size:clamp(1.8rem,8vw,3rem);
  font-weight:750;
  line-height:1.1;
  color:var(--white);
  letter-spacing:-.04em;
  transform:translateY(18px);
  opacity:0;
  transition:transform .5s var(--ease-out),opacity .5s var(--ease-out),color .2s ease;
}
.mobile-menu.is-open .mobile-menu__link{transform:none;opacity:1}
.mobile-menu.is-open .mobile-menu__link:nth-child(2){transition-delay:.04s}
.mobile-menu.is-open .mobile-menu__link:nth-child(3){transition-delay:.08s}
.mobile-menu.is-open .mobile-menu__link:nth-child(4){transition-delay:.12s}
.mobile-menu.is-open .mobile-menu__link:nth-child(5){transition-delay:.16s}
.mobile-menu__cta{
  min-height:50px;
  margin-top:24px;
  padding:14px 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:var(--white);
  background:var(--green);
  font-family:var(--ff-head);
  font-weight:700;
}
.mobile-menu__foot{padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.mobile-menu__foot a{font-family:var(--ff-head);font-size:1.1rem;font-weight:650;color:#8ed4af}

/* HERO */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  padding:calc(var(--header-h) + 70px) 0 72px;
  background:var(--dark-bg);
}
.hero__bg{
  --hero-bg-y:0px;
  --hero-bg-scale:1.06;
  position:absolute;
  inset:-7% 0;
  z-index:-3;
  transform:translate3d(0,var(--hero-bg-y),0) scale(var(--hero-bg-scale));
  transform-origin:center;
  will-change:transform;
}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero__overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(16,21,24,.88) 0%,rgba(20,25,29,.66) 48%,rgba(20,25,29,.2) 100%),
    linear-gradient(180deg,rgba(16,21,24,.3) 0%,rgba(16,21,24,.25) 50%,rgba(16,21,24,.85) 100%),
    radial-gradient(circle at 80% 12%,rgba(49,154,100,.3),transparent 42%);
}
.hero__content{
  --hero-content-y:0px;
  --hero-content-scale:1;
  --hero-content-opacity:1;
  position:relative;
  z-index:2;
  width:min(100%,var(--container));
  margin-inline:auto;
  padding-inline:24px;
  transform:translate3d(0,var(--hero-content-y),0) scale(var(--hero-content-scale));
  opacity:var(--hero-content-opacity);
  transform-origin:left center;
  will-change:transform,opacity;
}
.hero__badge{
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:26px;
  padding:8px 15px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-family:var(--ff-head);
  font-size:.8rem;
  font-weight:550;
  letter-spacing:.025em;
}
.hero__badge .dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(49,154,100,.65);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(49,154,100,0)}100%{box-shadow:0 0 0 0 rgba(49,154,100,0)}}
.hero__title{
  max-width:970px;
  margin-bottom:24px;
  font-size:clamp(3rem,8.6vw,7rem);
  font-weight:800;
  line-height:.99;
  letter-spacing:-.055em;
  color:var(--white);
  text-wrap:balance;
}
.hero__title .line{display:block;opacity:0;transform:translateY(42px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.hero__title .line:nth-child(2){color:var(--green);transition-delay:.1s}
.hero__content.is-ready .hero__title .line{opacity:1;transform:none}
.hero__sub{max-width:590px;margin-bottom:34px;font-size:clamp(1rem,1.55vw,1.22rem);line-height:1.58;color:rgba(255,255,255,.84);text-wrap:pretty}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.hero__scroll{
  position:absolute;
  bottom:26px;
  left:50%;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  transform:translateX(-50%);
  color:rgba(255,255,255,.58);
  font-family:var(--ff-head);
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.hero__scroll-line{position:relative;width:1px;height:44px;overflow:hidden;background:rgba(255,255,255,.24)}
.hero__scroll-line::after{content:"";position:absolute;inset:-60% 0 auto;height:60%;background:var(--white);animation:scrollLine 2s var(--ease) infinite}
@keyframes scrollLine{to{transform:translateY(270%)}}
.hero__logo-float{
  --hero-logo-y:0px;
  --hero-logo-rotate:0deg;
  position:absolute;
  top:50%;
  right:-9%;
  z-index:-1;
  width:min(52vw,720px);
  opacity:.075;
  pointer-events:none;
  transform:translate3d(0,calc(-50% + var(--hero-logo-y)),0) rotate(var(--hero-logo-rotate));
  will-change:transform;
}
.hero__logo-float img{width:100%;filter:brightness(0) invert(1)}

/* ABOUT */
.about{position:relative;overflow:hidden;padding:clamp(84px,12vw,160px) 0}
.about::before{content:"";position:absolute;top:0;right:-18%;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(49,154,100,.08),transparent 68%);pointer-events:none}
.about__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(46px,7vw,84px)}
.about__title{max-width:760px;margin-bottom:24px;font-size:clamp(1.85rem,4vw,2.9rem);font-weight:750;text-wrap:balance}
.about__title em{font-style:normal;color:var(--green)}
.about__text p{max-width:720px;margin-bottom:16px;font-size:1.01rem;color:var(--gray);text-wrap:pretty}
.about__chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.chip{padding:8px 15px;border:1px solid rgba(49,154,100,.19);border-radius:999px;color:var(--green-deep);background:var(--green-soft);font-family:var(--ff-head);font-size:.82rem;font-weight:650}
.about__media{position:relative;min-width:0}
.about__media-img{
  --parallax-y:0px;
  padding:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg, #000F08 0%, #1A7963 100%);
  box-shadow:0 28px 72px rgba(0,15,8,.26);
}
.about__media-img img{width:100%;filter:drop-shadow(0 18px 28px rgba(32,38,43,.16))}
.about__media-card{position:absolute;left:-28px;bottom:-28px;max-width:225px;padding:21px 25px;border-radius:var(--r-md);color:var(--white);background:var(--ink);box-shadow:var(--shadow-lg)}
.about__media-card-num{display:block;color:var(--green);font-family:var(--ff-head);font-size:2.5rem;font-weight:800;line-height:1}
.about__media-card-lbl{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-size:.8rem;line-height:1.4}

/* UNIDADES */
.units{position:relative;padding:clamp(84px,10vw,140px) 0;background:var(--gray-soft)}
.units__head{max-width:760px;margin:0 auto 54px;text-align:center}
.units__head .section-title{margin-inline:auto}
.units__head .section-sub{margin-inline:auto}
.units__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.unit{
  min-width:0;
  padding:20px;
  overflow:hidden;
  border:1px solid rgba(226,231,229,.9);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.95);
  box-shadow:var(--shadow-sm);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
  contain:layout paint;
}
.unit__img{
  min-width:0;
  aspect-ratio:4/3;
  margin-bottom:16px;
  padding:0px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:var(--r-md);
  background:linear-gradient(145deg,#fff,#fff);
  transform:translateZ(0);
  transition:transform .45s var(--ease),background .45s var(--ease);
}
.unit__img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 11px 18px rgba(32,38,43,.17));transition:transform .45s var(--ease-out)}
.unit__name{min-height:2.35em;margin-bottom:4px;font-size:1.02rem;font-weight:720;line-height:1.18;text-wrap:balance}
.unit__cat{display:block;font-family:var(--ff-head);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
@media (hover:hover) and (pointer:fine){
  .unit:hover{z-index:2;border-color:rgba(49,154,100,.28);box-shadow:0 24px 60px rgba(32,38,43,.15);transform:translateY(-9px)}
  .unit:hover .unit__img{background:linear-gradient(145deg,#eff8f3,#f9fbfa);transform:scale(1.025)}
  .unit:hover .unit__img img{transform:var(--unit-image-transform,scale(1.07))}
}

/* BENEFICIOS */
.benefits{padding:clamp(84px,10vw,140px) 0}
.benefits__head{margin-bottom:54px;text-align:center}
.benefits__head .section-title{margin-inline:auto}
.benefits__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.benefit{padding:30px 26px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.benefit__icon{width:54px;height:54px;margin-bottom:19px;display:grid;place-items:center;border-radius:15px;color:var(--green);background:var(--green-soft);transition:transform .4s var(--ease),color .4s var(--ease),background .4s var(--ease)}
.benefit h3{margin-bottom:10px;font-size:1.15rem;font-weight:720}
.benefit p{font-size:.92rem;line-height:1.58;color:var(--gray);text-wrap:pretty}
@media (hover:hover){
  .benefit:hover{border-color:rgba(49,154,100,.5);box-shadow:var(--shadow-md);transform:translateY(-7px)}
  .benefit:hover .benefit__icon{color:var(--white);background:var(--green);transform:rotate(-6deg) scale(1.06)}
}

/* CIFRAS / IMAGEN INSTITUCIONAL */
.stats{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(520px,72vw,820px);
  padding:clamp(92px,11vw,160px) 0;
  display:grid;
  place-items:center;
  color:var(--white);
  background:#319A64;
}
.stats::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.16),transparent 34%),
    radial-gradient(circle at 84% 86%,rgba(0,15,8,.18),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,15,8,.08));
  pointer-events:none;
}
.stats__watermark{
  position:absolute;
  top:50%;
  left:50%;
  z-index:-1;
  width:min(58vw,680px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  opacity:.13;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.stats__watermark img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.stats .container{position:relative;z-index:1;width:100%}
.stats__image{width:min(100%,760px);margin-inline:auto;perspective:1200px}
.stats__image img{
  width:100%;
  filter:drop-shadow(0 30px 58px rgba(0,15,8,.34));
}

/* MARQUEE */
.marquee{overflow:hidden;padding:19px 0;color:var(--white);background:var(--dark-bg);white-space:nowrap;font-family:var(--ff-head);font-size:clamp(1.12rem,3vw,1.9rem);font-weight:750;letter-spacing:-.02em}
.marquee__track{display:inline-block;min-width:max-content;animation:marquee 28s linear infinite;will-change:transform}
.marquee__track span{display:inline-block;padding-inline:20px}
.marquee__track span:nth-child(even){color:rgba(255,255,255,.4)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* CONTACTO */
.contact{padding:clamp(84px,10vw,140px) 0 0}
.contact__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:start;gap:clamp(42px,7vw,78px)}
.contact__info p{max-width:520px;margin:16px 0 30px;color:var(--gray);text-wrap:pretty}
.contact__list{list-style:none;display:flex;flex-direction:column;gap:20px}
.contact__list li{display:flex;align-items:flex-start;gap:15px}
.contact__icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--green);background:var(--green-soft)}
.contact__list strong{display:block;margin-bottom:3px;color:var(--ink-3);font-family:var(--ff-head);font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.contact__list div{min-width:0;color:var(--gray);font-size:.94rem;overflow-wrap:anywhere}
.contact__list a{transition:color .2s ease}
.contact__list a:hover{color:var(--green)}
.contact__form{min-width:0;padding:34px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--white);box-shadow:var(--shadow-md)}
.field{margin-bottom:17px}
.field label{display:block;margin-bottom:7px;color:var(--ink-3);font-family:var(--ff-head);font-size:.8rem;font-weight:650}
.field input,.field textarea{
  width:100%;
  padding:12px 14px;
  border:1.5px solid var(--line);
  border-radius:var(--r-sm);
  color:var(--ink);
  background:var(--gray-soft);
  font-size:16px;
  transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.field textarea{min-height:118px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8b949c}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green);background:var(--white);box-shadow:0 0 0 4px rgba(49,154,100,.1)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 4px rgba(199,53,53,.08)}
.field--captcha{overflow:hidden}
.captcha-wrap{width:304px;max-width:100%;transform-origin:left top}
.form-feedback{min-height:1.4em;margin-top:13px;font-size:.88rem;font-weight:600;color:var(--success)}
.form-feedback.is-error{color:var(--danger)}
.form-feedback.is-success{color:var(--success)}

/* VIDEO */
.video-section{width:100%;margin-top:84px}
.video-section__head{width:min(100%,var(--container));margin:0 auto 34px;padding-inline:24px;text-align:center}
.video-section__head .section-title,.video-section__head .section-sub{margin-inline:auto}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--ink);box-shadow:0 -18px 56px rgba(32,38,43,.16)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* FOOTER */
.footer{padding-top:68px;color:var(--white);background:var(--dark-bg)}
.footer__inner{display:grid;grid-template-columns:1.05fr 1.95fr;gap:58px;padding-bottom:48px}
.footer__brand img{width:auto;height:47px;margin-bottom:17px;filter:brightness(0) invert(1)}
.footer__brand p{max-width:330px;color:rgba(255,255,255,.6)}
.footer__social{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:22px}
.footer__social-link{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  color:var(--white);
  background:var(--green);
  box-shadow:0 8px 22px rgba(49,154,100,.22);
  transition:transform .3s var(--ease),background-color .3s var(--ease),box-shadow .3s var(--ease);
}
.footer__social-link svg{width:22px;height:22px;display:block}
.footer__social-link:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:4px}
@media (hover:hover){
  .footer__social-link:hover{
    transform:translateY(-4px) scale(1.06);
    background:var(--green-dark);
    box-shadow:0 13px 30px rgba(49,154,100,.34);
  }
}
.footer__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}
.footer__col h4{margin-bottom:15px;color:var(--white);font-size:.82rem;letter-spacing:.13em;text-transform:uppercase}
.footer__col a,.footer__col span{display:block;margin-bottom:8px;color:rgba(255,255,255,.6);font-size:.92rem;overflow-wrap:anywhere;transition:color .2s ease}
.footer__col a:hover{color:#8ed4af}
.footer__bar{width:min(100%,var(--container));margin-inline:auto;padding:20px 24px calc(20px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.4);font-size:.8rem}

/* WHATSAPP */
.wa-float{
  position:fixed;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));
  z-index:900;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--white);
  background:#25d366;
  box-shadow:0 10px 28px rgba(37,211,102,.42);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
@media (hover:hover){.wa-float:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 15px 36px rgba(37,211,102,.5)}}

/* MOTION SYSTEM */
[data-reveal]{
  --reveal-y:38px;
  --reveal-scale:.985;
  --parallax-y:0px;
  opacity:0;
  transform:translate3d(0,calc(var(--reveal-y) + var(--parallax-y)),0) scale(var(--reveal-scale));
  transition:
    opacity .82s var(--ease-out) var(--reveal-delay,0ms),
    transform .82s var(--ease-out) var(--reveal-delay,0ms);
  will-change:transform,opacity;
}
[data-reveal].is-visible{--reveal-y:0px;--reveal-scale:1;opacity:1}
[data-parallax]:not([data-reveal]){--parallax-y:0px;transform:translate3d(0,var(--parallax-y),0);will-change:transform}

/* MAGIC SCROLL: los bloques se ensamblan mientras entran al viewport */
[data-scroll-scene]{
  --scene-x:0px;
  --scene-y:0px;
  --scene-scale:1;
  --scene-rotate:0deg;
  --scene-opacity:1;
  opacity:var(--scene-opacity);
  transform:
    translate3d(var(--scene-x),var(--scene-y),0)
    scale(var(--scene-scale))
    rotate(var(--scene-rotate));
  transform-origin:center center;
  will-change:transform,opacity;
  backface-visibility:hidden;
}
.units__grid[data-scroll-scene],
.benefits__grid[data-scroll-scene]{transform-origin:center top}
.contact__form[data-scroll-scene]{transform-origin:right center}
.about__media[data-scroll-scene]{transform-origin:center center}
.video-embed[data-scroll-scene]{transform-origin:center top}

/* RESPONSIVE */
@media (max-width:1100px){
  .units__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .benefits__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
  :root{--header-h:66px}
  .cursor,.cursor-dot{display:none}
  .nav,.header__cta{display:none}
  .burger{display:flex}
  .about__grid{grid-template-columns:1fr;gap:50px}
  .about__media{width:min(100%,650px);margin-inline:auto}
  .about__media-card{left:16px}
  .contact__grid{grid-template-columns:1fr;gap:42px}
  .contact__form{width:min(100%,680px)}
  .footer__inner{grid-template-columns:1fr;gap:38px}
  .hero__logo-float{display:none}
}

@media (max-width:768px){
  .container{padding-inline:18px}
  .section-title{font-size:clamp(1.9rem,7.4vw,2.7rem)}
  .section-sub{font-size:.98rem}

  .header{padding:calc(10px + env(safe-area-inset-top)) 0 10px}
  .header__inner{padding-inline:16px}
  .header__logo img{height:34px}
  .header.is-scrolled{padding:calc(6px + env(safe-area-inset-top)) 0 6px}
  .header.is-scrolled .header__logo img{height:31px}

  .hero{
    min-height:100svh;
    align-items:flex-end;
    padding:calc(var(--header-h) + 54px) 0 max(52px,calc(34px + env(safe-area-inset-bottom)));
  }
  .hero__bg{inset:-4% -12% -5%;--hero-bg-scale:1.03}
  .hero__bg img{object-position:62% center}
  .hero__overlay{
    background:
      linear-gradient(180deg,rgba(14,19,22,.33) 0%,rgba(14,19,22,.34) 27%,rgba(14,19,22,.72) 62%,rgba(14,19,22,.96) 100%),
      radial-gradient(circle at 80% 12%,rgba(49,154,100,.23),transparent 42%);
  }
  .hero__content{padding-inline:18px;transform-origin:left bottom}
  .hero__badge{margin-bottom:19px;padding:7px 11px;font-size:15px;line-height:1.25;white-space:normal}
  .hero__title{max-width:11ch;margin-bottom:18px;font-size:clamp(2.65rem,13vw,4.35rem);line-height:.98;letter-spacing:-.055em}
  .hero__sub{max-width:36rem;margin-bottom:26px;font-size:clamp(.96rem,4vw,1.08rem);line-height:1.52}
  .hero__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hero__actions .btn{width:100%;padding-inline:14px;font-size:.88rem}
  .hero__scroll{display:none}

  .about,.units,.benefits,.stats{padding:78px 0}
  .about__title{font-size:clamp(1.7rem,7.5vw,2.25rem)}
  .about__text p{font-size:.95rem}
  .about__media-img{padding:19px}
  .about__media-card{position:relative;left:auto;bottom:auto;max-width:none;margin-top:14px;text-align:center}

  .units__head,.benefits__head{margin-bottom:36px}
  .units__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .unit{padding:12px;border-radius:17px}
  .unit__img{aspect-ratio:1.1/1;margin-bottom:11px;padding:8px;border-radius:12px}
  .unit__name{min-height:2.4em;font-size:.88rem;line-height:1.2;letter-spacing:-.025em}
  .unit__cat{font-size:.61rem;letter-spacing:.1em}

  .benefits__grid{grid-template-columns:1fr;gap:14px}
  .benefit{padding:23px 20px;border-radius:18px}
  .benefit__icon{width:48px;height:48px;margin-bottom:16px}
  .benefit h3{font-size:1.08rem}

  .stats{min-height:480px;padding:84px 0}
  .stats__watermark{width:min(88vw,520px);opacity:.12}
  .stats__image{width:min(100%,620px)}

  .marquee{padding:15px 0}
  .marquee__track span{padding-inline:15px}

  .contact{padding-top:78px}
  .contact__grid{gap:34px}
  .contact__info p{font-size:.95rem}
  .contact__list{gap:17px}
  .contact__icon{width:40px;height:40px}
  .contact__list div{font-size:.9rem}
  .contact__form{padding:21px 17px;border-radius:22px}
  .field{margin-bottom:14px}
  .video-section{margin-top:56px}
  .video-section__head{padding-inline:18px;margin-bottom:24px}

  .footer{padding-top:52px}
  .footer__inner{padding-bottom:32px}
  .footer__brand img{height:40px}
  .footer__social{margin-top:19px;gap:9px}
  .footer__social-link{width:42px;height:42px;border-radius:12px}
  .footer__social-link svg{width:21px;height:21px}
  .footer__cols{grid-template-columns:1fr;gap:22px}
  .footer__bar{padding-inline:18px;flex-direction:column;text-align:center}

  .wa-float{width:50px;height:50px;right:max(13px,env(safe-area-inset-right));bottom:max(13px,calc(env(safe-area-inset-bottom) + 8px))}
  .wa-float svg{width:25px;height:25px}

  [data-reveal]{--reveal-y:26px;transition-duration:.7s}
}

@media (max-width:480px){
  .hero__actions{grid-template-columns:1fr}
  .hero__actions .btn{min-height:50px}
  .hero__title{font-size:48px}
}

@media (max-width:380px){
  .container{padding-inline:14px}
  .header__inner{padding-inline:12px}
  .hero__content{padding-inline:14px}
  .hero__badge{font-size:.62rem}
  .hero__title{font-size:clamp(2.3rem,13.8vw,3.1rem)}
  .units__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .unit{padding:9px;border-radius:15px}
  .unit__img{margin-bottom:9px;padding:6px;border-radius:10px}
  .unit__name{font-size:.78rem}
  .unit__cat{font-size:.55rem;letter-spacing:.08em}
  .stats{min-height:420px;padding:70px 0}
  .stats__watermark{width:94vw}
  .captcha-wrap{transform:scale(.84);margin-bottom:-18px}
}

@media (max-height:560px) and (orientation:landscape){
  .hero{min-height:650px;align-items:center;padding-top:110px}
  .hero__title{font-size:clamp(2.4rem,8vw,4rem)}
  .hero__actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (hover:none),(pointer:coarse){
  .cursor,.cursor-dot{display:none!important}
  .unit,.benefit{will-change:auto}
}

@media (max-width:768px){
  [data-scroll-scene]{transform-origin:center center}
  .contact__form[data-scroll-scene]{transform-origin:center top}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  .hero__title .line{opacity:1!important;transform:none!important}
  .hero__bg,.hero__content,.hero__logo-float,[data-parallax],[data-scroll-scene]{transform:none!important;opacity:1!important}
  .marquee__track{animation:none}
}

@media print{
  .preloader,.scroll-progress,.cursor,.cursor-dot,.header,.mobile-menu,.wa-float,.hero__scroll{display:none!important}
  body{overflow:visible;color:#000;background:#fff}
  [data-reveal]{opacity:1!important;transform:none!important}
}
