/* ================================================================
   NEXUSFARMA — landing.css
   Variables primero · Loader aislado · Responsive completo
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800;900&family=DM+Mono:wght@400;500&display=swap');

/* ── 1. VARIABLES ─────────────────────────────────────────── */
:root {
  --blue-900:#002F5F; --blue-800:#004E8F; --blue-700:#005A9C;
  --blue-600:#0070BF; --blue-500:#1E8CE3; --blue-400:#60B8FF;
  --blue-200:#BFDBFE; --blue-100:#D6EDFB; --blue-50:#E8F4FF;
  --green-700:#00693B; --green-600:#00875A; --green-500:#00A96E;
  --green-100:#D1F5E3;
  --gray-900:#0C1420; --gray-800:#1A2B45; --gray-700:#2D3F5C;
  --gray-600:#4A5568; --gray-500:#718096; --gray-400:#A0AEC0;
  --gray-200:#E2E8F0; --gray-100:#F2F6FB; --gray-50:#F8FAFD;
  --bg:#F2F6FB; --border:#D0DFF0; --white:#FFFFFF;
  --font:'Plus Jakarta Sans',system-ui,sans-serif;
  --mono:'DM Mono',monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ── 2. RESET ─────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);background:var(--bg);color:var(--gray-800);
  line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
/* Franja tricolor */
body::after{
  content:'';position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;
  background:linear-gradient(90deg,#006847 0%,#006847 33.3%,#fff 33.3%,#fff 66.6%,#CE1126 66.6%,#CE1126 100%);
}
/* Patrón cruces de fondo */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 12h6v9h9v6h-9v9h-6v-9h-9v-6h9z' fill='%230070BF' fill-opacity='0.028'/%3E%3C/svg%3E");
}
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}

/* ================================================================
   3. LOADER — estilos inline en home.php
   4. NAVBAR
================================================================ */
.nav{
  position:fixed;top:3px;left:0;right:0;z-index:1000;height:62px;
  background:rgba(255,255,255,.97);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 10px rgba(0,74,143,.07);transition:box-shadow .3s;
}
.nav.scrolled{box-shadow:0 4px 20px rgba(0,74,143,.12)}
.nav-inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  height:100%;display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.nav-logo-ico{
  width:34px;height:34px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 8px rgba(0,90,156,.3);
}
.nav-logo-ico svg{width:19px;height:19px}
.nav-brand{font-size:1rem;font-weight:800;color:var(--gray-900);letter-spacing:-.02em}
.nav-brand span{color:var(--blue-600)}
.nav-sub{font-size:.5rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em;display:block;margin-top:1px}
.nav-links{display:flex;list-style:none;gap:.125rem}
.nav-links a{
  display:block;padding:.4rem .8rem;
  font-size:.8125rem;font-weight:600;color:var(--gray-600);
  text-decoration:none;border-radius:8px;border:1.5px solid transparent;transition:all .15s;
}
.nav-links a:hover{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-100)}
.nav-btns{display:flex;gap:.5rem;align-items:center}
.btn-nav-out{
  padding:.4rem .9rem;font-size:.8125rem;font-weight:700;
  color:var(--blue-700);background:#fff;border:1.5px solid var(--blue-200);border-radius:8px;
  text-decoration:none;transition:all .15s;font-family:var(--font);
}
.btn-nav-out:hover{background:var(--blue-50);border-color:var(--blue-400);transform:translateY(-1px)}
.btn-nav-pri{
  padding:.4rem .9rem;font-size:.8125rem;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
  border:none;border-radius:8px;box-shadow:0 3px 8px rgba(0,90,156,.25);
  text-decoration:none;transition:all .15s;font-family:var(--font);cursor:pointer;
}
.btn-nav-pri:hover{box-shadow:0 6px 18px rgba(0,90,156,.35);transform:translateY(-1px)}
.nav-hamburger{
  display:none;flex-direction:column;justify-content:space-between;
  width:22px;height:16px;cursor:pointer;background:none;border:none;padding:0;
}
.nav-hamburger span{display:block;height:2px;border-radius:2px;background:var(--gray-700)}

/* ================================================================
   5. CARRUSEL HERO
================================================================ */
.carousel{
  position:relative;width:100%;
  height:clamp(400px,55vw,520px);
  overflow:hidden;margin-top:65px;
}
.carousel-track{display:flex;height:100%;transition:transform .6s var(--ease);will-change:transform}
.slide{min-width:100%;height:100%;position:relative;display:flex;align-items:center;overflow:hidden}
.slide-1{background:linear-gradient(135deg,#002D6B 0%,#0065B0 55%,#1A80D4 100%)}
.slide-2{background:linear-gradient(135deg,#003D22 0%,#006B44 55%,#009960 100%)}
.slide-3{background:linear-gradient(135deg,#1A1660 0%,#322E96 55%,#5550D4 100%)}
.slide-4{background:linear-gradient(135deg,#08111F 0%,#152438 55%,#1E4A72 100%)}
.slide-5{background:linear-gradient(135deg,#6B2200 0%,#B03500 55%,#E05500 100%)}
.slide::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27 15h6v12h12v6H33v12h-6V33H15v-6h12z' fill='%23FFFFFF' fill-opacity='0.04'/%3E%3C/svg%3E");
}
.slide-inner{
  max-width:1280px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;
  width:100%;position:relative;z-index:1;gap:1.5rem;
}
.slide-text{flex:1;max-width:580px}
.slide-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .875rem;margin-bottom:clamp(.75rem,2vw,1.25rem);
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  border-radius:99px;font-size:.6875rem;font-weight:700;
  color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.1em;
}
.slide-badge-dot{
  width:6px;height:6px;border-radius:50%;background:#fff;
  animation:sDotPulse 2s infinite;
}
@keyframes sDotPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}50%{box-shadow:0 0 0 5px rgba(255,255,255,0)}}
.slide-title{
  font-size:clamp(1.375rem,3.5vw,2.75rem);font-weight:800;color:#fff;
  line-height:1.15;letter-spacing:-.03em;margin-bottom:clamp(.625rem,1.5vw,1rem);
}
.slide-title span{display:block;font-size:clamp(.875rem,2vw,1.625rem);font-weight:500;opacity:.82;margin-top:.2rem}
.slide-desc{
  font-size:clamp(.8125rem,1.8vw,1rem);color:rgba(255,255,255,.76);
  line-height:1.7;margin-bottom:clamp(1rem,2.5vw,1.75rem);max-width:480px;
}
.slide-ctas{display:flex;gap:.625rem;flex-wrap:wrap}
.btn-slide-p{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:clamp(.5rem,1.5vw,.75rem) clamp(.875rem,3vw,1.5rem);
  font-size:clamp(.75rem,1.8vw,.875rem);font-weight:700;color:#fff;
  background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.45);
  border-radius:10px;text-decoration:none;backdrop-filter:blur(8px);
  transition:all .2s;font-family:var(--font);
}
.btn-slide-p:hover{background:rgba(255,255,255,.3);border-color:#fff;transform:translateY(-2px)}
.btn-slide-s{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:clamp(.5rem,1.5vw,.75rem) clamp(.875rem,3vw,1.5rem);
  font-size:clamp(.75rem,1.8vw,.875rem);font-weight:700;
  color:rgba(255,255,255,.72);background:transparent;
  border:2px solid rgba(255,255,255,.2);border-radius:10px;
  text-decoration:none;transition:all .2s;font-family:var(--font);
}
.btn-slide-s:hover{color:#fff;border-color:rgba(255,255,255,.45)}
.slide-visual{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:clamp(100px,20vw,230px);height:clamp(100px,20vw,230px);
}
.slide-icon-wrap{
  width:90%;height:90%;border-radius:50%;
  background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
  animation:sFloat 4s ease-in-out infinite;
}
@keyframes sFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.slide-icon-inner{
  width:70%;height:70%;border-radius:50%;
  background:rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(2rem,6vw,4.5rem);flex-direction:column;gap:.2rem;
}
.slide-price{font-size:clamp(1.75rem,5.5vw,3.25rem);font-weight:900;color:#fff;letter-spacing:-.05em;line-height:1;font-family:var(--mono)}
.slide-price-sub{font-size:clamp(.6rem,1.4vw,.875rem);color:rgba(255,255,255,.7);font-weight:600;text-align:center}
.carousel-prev,.carousel-next{
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.3);
  backdrop-filter:blur(8px);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.carousel-prev:hover,.carousel-next:hover{background:rgba(255,255,255,.3);border-color:#fff}
.carousel-prev{left:1rem} .carousel-next{right:1rem}
.carousel-prev svg,.carousel-next svg{width:18px;height:18px;stroke:#fff;stroke-width:2.5;fill:none}
.carousel-dots{
  position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  display:flex;gap:.5rem;z-index:10;
}
.dot{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.38);border:none;cursor:pointer;transition:all .3s;padding:0}
.dot.active{background:#fff;width:22px}

/* ================================================================
   6. TRUST BAR
================================================================ */
.trust-bar{background:#fff;border-bottom:1px solid var(--border);padding:.875rem 0;position:relative;z-index:1}
.trust-inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;
}
.trust-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;color:var(--gray-600)}
.trust-item svg{color:var(--blue-600);flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2.5}
.trust-sep{width:1px;height:14px;background:var(--border)}

/* ================================================================
   7. SECCIONES GENERALES
================================================================ */
section{position:relative;z-index:1}
.sec-eye{
  display:inline-block;font-size:.6875rem;font-weight:800;color:var(--blue-700);
  text-transform:uppercase;letter-spacing:.12em;padding:.3rem .875rem;
  background:var(--blue-50);border:1px solid var(--blue-100);border-radius:99px;margin-bottom:.75rem;
}
.sec-title{font-size:clamp(1.5rem,3vw,2.375rem);font-weight:800;color:var(--gray-900);letter-spacing:-.025em;line-height:1.2;margin-bottom:.75rem}
.sec-sub{font-size:1rem;color:var(--gray-600);line-height:1.75}

/* ================================================================
   8. SERVICIOS
================================================================ */
.services{padding:5rem 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.svc-head{text-align:center;margin-bottom:3.5rem}
.svc-head .sec-sub{max-width:540px;margin:.5rem auto 0}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.svc-card{
  background:var(--gray-100);border:1.5px solid var(--border);
  border-radius:16px;padding:1.75rem;transition:all .25s var(--ease);position:relative;overflow:hidden;
}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  border-radius:16px 16px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.svc-card:hover::before{transform:scaleX(1)}
.svc-card:hover{background:#fff;border-color:#93C5FD;transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,74,143,.1)}
.sc-blue::before  {background:linear-gradient(90deg,var(--blue-800),var(--blue-500))}
.sc-green::before {background:linear-gradient(90deg,var(--green-600),var(--green-500))}
.sc-indigo::before{background:linear-gradient(90deg,#4338CA,#818CF8)}
.sc-teal::before  {background:linear-gradient(90deg,#0D9488,#2DD4BF)}
.svc-ico{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.svc-ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
.ico-blue  {background:var(--blue-100);color:var(--blue-700)}
.ico-green {background:var(--green-100);color:var(--green-700)}
.ico-indigo{background:#EEF2FF;color:#4338CA}
.ico-teal  {background:#CCFBF1;color:#0D9488}
.svc-name{font-size:1rem;font-weight:700;color:var(--gray-900);margin-bottom:.375rem}
.svc-desc{font-size:.875rem;color:var(--gray-600);line-height:1.7}

/* ================================================================
   9. PREVISIÓN SOCIAL
================================================================ */
.prevision{
  padding:5rem 0;
  background:linear-gradient(155deg,var(--blue-900) 0%,var(--blue-800) 55%,#004E6A 100%);
  position:relative;overflow:hidden;
}
.prevision::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27 15h6v12h12v6H33v12h-6V33H15v-6h12z' fill='%23FFFFFF' fill-opacity='0.04'/%3E%3C/svg%3E");
}
.prev-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.prev-left .sec-eye{color:rgba(255,255,255,.85);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.prev-left .sec-title{color:#fff} .prev-left .sec-sub{color:rgba(255,255,255,.7)}
.prev-list{margin-top:2rem;display:flex;flex-direction:column;gap:.875rem}
.prev-item{
  display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1.125rem;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;transition:all .2s;
}
.prev-item:hover{background:rgba(255,255,255,.13);transform:translateX(4px)}
.prev-ico{width:38px;height:38px;border-radius:9px;flex-shrink:0;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9)}
.prev-ico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.prev-tt{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.125rem}
.prev-dd{font-size:.8125rem;color:rgba(255,255,255,.6)}
.prev-right{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.pstat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:1.375rem;text-align:center;transition:all .2s}
.pstat:hover{background:rgba(255,255,255,.13);transform:translateY(-3px)}
.pstat.big{grid-column:1/-1;background:rgba(0,169,110,.2);border-color:rgba(0,169,110,.3)}
.pstat-num{font-size:2.25rem;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1;font-family:var(--mono);margin-bottom:.375rem}
.pstat.big .pstat-num{font-size:2.75rem;color:#6EE7B7}
.pstat-lbl{font-size:.6875rem;color:rgba(255,255,255,.55);font-weight:600;text-transform:uppercase;letter-spacing:.06em}

/* ================================================================
   10. MEMBRESÍA ANUAL
================================================================ */
.membresia{padding:5rem 0;background:var(--bg)}
.mem-head{text-align:center;margin-bottom:3.5rem}
.mem-head .sec-sub{max-width:520px;margin:.5rem auto 0}
.mem-card{
  max-width:860px;margin:0 auto;background:#fff;
  border:2px solid var(--blue-600);border-radius:24px;overflow:hidden;
  box-shadow:0 16px 48px rgba(0,90,156,.12);
}
.mem-stripe{height:5px;background:linear-gradient(90deg,var(--blue-900),var(--blue-600),var(--green-600),var(--green-500))}
.mem-body{padding:clamp(1.25rem,4vw,2.5rem)}
.mem-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}
.mem-badge{
  display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
  border-radius:99px;font-size:.6875rem;font-weight:800;color:#fff;
  text-transform:uppercase;letter-spacing:.08em;
}
.mem-badge svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.5}
.mem-price-wrap{text-align:right}
.mem-price{font-size:clamp(1.875rem,5vw,2.75rem);font-weight:900;color:var(--gray-900);letter-spacing:-.04em;line-height:1;font-family:var(--mono)}
.mem-price sup{font-size:1.1rem;vertical-align:super;font-family:var(--font);font-weight:700}
.mem-price-note{font-size:.75rem;color:var(--gray-500);font-weight:600;margin-top:.25rem}
.mem-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.mem-cat-item{
  display:inline-flex;align-items:center;gap:.4rem;padding:.4375rem .875rem;
  background:var(--gray-100);border:1.5px solid var(--border);
  border-radius:99px;font-size:.8125rem;font-weight:600;color:var(--gray-700);
  transition:all .15s;white-space:nowrap;
}
.mem-cat-item:hover{background:var(--blue-50);border-color:var(--blue-200);color:var(--blue-700)}
.mem-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:1.5rem;border-top:1px solid var(--border);flex-wrap:wrap;gap:1rem;
}
.mem-note{font-size:.8125rem;color:var(--gray-500);font-weight:500}
.mem-note strong{color:var(--gray-700);font-weight:700}
.btn-mem{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.875rem 1.875rem;font-size:.9375rem;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
  border-radius:12px;border:none;box-shadow:0 6px 18px rgba(0,90,156,.3);
  text-decoration:none;transition:all .2s;font-family:var(--font);cursor:pointer;
}
.btn-mem:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,90,156,.4)}

/* ================================================================
   11. CTA FINAL
================================================================ */
.cta-sec{padding:4.5rem 0;background:#fff;text-align:center;border-top:1px solid var(--border);position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(0,112,191,.05) 0%,transparent 70%)}
.cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}
.cta-title{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:800;color:var(--gray-900);letter-spacing:-.03em;line-height:1.2;margin-bottom:.875rem}
.cta-sub{font-size:1rem;color:var(--gray-600);line-height:1.7;margin-bottom:2.25rem}
.cta-btns{display:flex;gap:.875rem;justify-content:center;flex-wrap:wrap}
.btn-cta-p{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.9375rem 1.875rem;font-size:.9375rem;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
  border-radius:12px;border:none;box-shadow:0 6px 18px rgba(0,90,156,.3);
  text-decoration:none;transition:all .2s;font-family:var(--font);cursor:pointer;
}
.btn-cta-p:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,90,156,.4)}
.btn-cta-o{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.9375rem 1.875rem;font-size:.9375rem;font-weight:700;
  color:var(--blue-700);background:#fff;border:1.5px solid var(--blue-200);
  border-radius:12px;text-decoration:none;transition:all .2s;
}
.btn-cta-o:hover{background:var(--blue-50);border-color:var(--blue-400);transform:translateY(-2px)}
.btn-arr{transition:transform .15s}
.btn-slide-p:hover .btn-arr,.btn-mem:hover .btn-arr,.btn-cta-p:hover .btn-arr{transform:translateX(3px)}

/* ================================================================
   12. FOOTER
================================================================ */
.footer{background:var(--gray-900);color:rgba(255,255,255,.85);padding:3.5rem 0 0;position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem}
.flogo{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem;text-decoration:none}
.flogo-ico{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--blue-600),var(--blue-500));display:flex;align-items:center;justify-content:center}
.flogo-ico svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2.5}
.flogo-name{font-size:.9375rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.flogo-name span{color:var(--blue-400)}
.fdesc{font-size:.8125rem;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:1.25rem}
.fbadge{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .7rem;background:rgba(0,135,90,.15);border:1px solid rgba(0,135,90,.25);border-radius:99px;font-size:.625rem;font-weight:700;color:#6EE7B7}
.fbadge svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5}
.fcol-title{font-size:.625rem;font-weight:800;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.125rem}
.flinks{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.flinks a{font-size:.8125rem;color:rgba(255,255,255,.55);text-decoration:none;font-weight:500;transition:color .15s}
.flinks a:hover{color:#fff}
.fbot{padding:1.125rem 0;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.fcopy{font-size:.6875rem;color:rgba(255,255,255,.35);font-weight:500}
.fbot-links{display:flex;gap:1.25rem}
.fbot-links a{font-size:.6875rem;color:rgba(255,255,255,.35);text-decoration:none;transition:color .15s}
.fbot-links a:hover{color:rgba(255,255,255,.7)}

/* ================================================================
   13. REVEAL
================================================================ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.vis{opacity:1;transform:translateY(0)}

/* ================================================================
   14. RESPONSIVE
================================================================ */
@media(max-width:1024px){
  .prev-inner{grid-template-columns:1fr;gap:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.75rem}
}

@media(max-width:768px){
  /* Navbar */
  .nav-links,.nav-btns{display:none}
  .nav-hamburger{display:flex}

  /* Carrusel */
  .slide-visual{display:none}

  /* Trust bar */
  .trust-sep{display:none}
  .trust-inner{gap:.75rem}
  .trust-item{font-size:.6875rem}

  /* Previsión */
  .prev-right{grid-template-columns:1fr 1fr}

  /* Membresía */
  .mem-top{flex-direction:column;align-items:flex-start}
  .mem-price-wrap{text-align:left}
  .mem-footer{flex-direction:column;align-items:stretch}
  .btn-mem{justify-content:center}

  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .fbot{flex-direction:column;text-align:center}
  .fbot-links{flex-wrap:wrap;justify-content:center}
}

@media(max-width:480px){
  /* Loader */
  .ldr-center{gap:.625rem}
  .ldr-tagline{letter-spacing:.12em}

  /* Carrusel */
  .carousel{height:clamp(380px,85vw,440px)}
  .slide-badge{font-size:.5625rem;padding:.25rem .625rem}
  .slide-ctas{flex-direction:column;align-items:flex-start}

  /* Trust */
  .trust-item span:not(:first-child){display:none}
  .trust-item{font-size:.625rem}

  /* Membresía */
  .mem-cats{gap:.375rem}
  .mem-cat-item{font-size:.75rem;padding:.375rem .75rem}

  /* CTA */
  .cta-btns{flex-direction:column;align-items:center}
  .btn-cta-p,.btn-cta-o{width:100%;justify-content:center}

  /* Footer */
  .footer-grid{grid-template-columns:1fr}
  .fbot-links{gap:.75rem}
}