/* ═══════════════════════════════════════════════════════════
   Seven Capital Group — hoja de estilos
   Paleta tomada del arte de marca: rojo profundo, oro y plata.
   ═══════════════════════════════════════════════════════════ */

/* ── Tokens ───────────────────────────────────────────────── */
:root{
  /* rojos */
  --red-950:#3E0303;
  --red-900:#640404;
  --red-800:#8A0505;
  --red-700:#8E0A0E;
  --red-600:#BB0101;
  --red-500:#E0141A;

  /* oros */
  --gold-700:#7A4300;
  --gold-600:#A85F03;
  --gold-500:#C67903;
  --gold-400:#E99D05;
  --gold-300:#F3C463;

  /* neutros */
  --ink-950:#120202;
  --ink-900:#1C0303;
  --ink-800:#22090D;
  --silver:#D6D6D6;
  --steel-400:#959494;
  --steel-500:#6A696A;
  --steel-700:#4F4F4F;
  --paper:#FAF6F0;
  --paper-2:#F1E9DE;
  --slate-900:#2A1D1B;
  --slate-600:#6B5854;
  --slate-400:#9C8983;

  /* texto sobre oscuro */
  --on-dark:#F6EFE7;
  --on-dark-soft:#CBB6AE;

  /* superficies */
  --line-gold:rgba(233,157,5,.22);
  --line-gold-strong:rgba(233,157,5,.45);
  --glass:rgba(255,255,255,.045);

  /* gradientes */
  --grad-gold:linear-gradient(160deg,#FFE08A 0%,#E99D05 26%,#C67903 55%,#F0B84A 78%,#8F4E02 100%);
  --grad-gold-flat:linear-gradient(135deg,#F0B84A 0%,#C67903 45%,#8F4E02 100%);

  /* tipografía */
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-caps:"Cinzel",Georgia,serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  /* ritmo */
  --pad-section:clamp(76px,9vw,132px);
  --radius:18px;
  --radius-lg:26px;
  --ease:cubic-bezier(.2,.7,.25,1);
}

/* ── Reset ────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:130px;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.7;
  color:var(--on-dark);
  background:var(--ink-950);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
h1,h2,h3,h4{margin:0;line-height:1.12;font-weight:600;}
p{margin:0 0 1em;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold-500);color:var(--ink-950);padding:12px 20px;font-weight:600;
}
.skip-link:focus{left:12px;top:12px;}

:focus-visible{
  outline:2px solid var(--gold-400);
  outline-offset:3px;
  border-radius:4px;
}

/* ── Layout ───────────────────────────────────────────────── */
.container{
  width:100%;max-width:1180px;margin-inline:auto;
  padding-inline:clamp(20px,5vw,40px);
}
.container--narrow{max-width:820px;}

.section{position:relative;padding-block:var(--pad-section);}
.section--dark{
  background:
    radial-gradient(1200px 620px at 78% -10%,rgba(187,1,1,.38),transparent 62%),
    radial-gradient(900px 520px at 8% 108%,rgba(138,5,5,.40),transparent 60%),
    var(--ink-950);
}
.section--ink{background:linear-gradient(180deg,var(--ink-950) 0%,#0C0202 55%,var(--ink-950) 100%);}
.section--paper{background:var(--paper);color:var(--slate-900);}
.section--paper p{color:var(--slate-600);}

/* filo dorado entre secciones */
.section--dark::before,.section--ink::before,.section--paper::before{
  content:"";position:absolute;inset:0 0 auto;height:1px;
  background:linear-gradient(90deg,transparent,var(--line-gold-strong) 22%,var(--line-gold-strong) 78%,transparent);
}

/* ── Tipografía compartida ────────────────────────────────── */
.eyebrow{
  font-family:var(--font-caps);
  font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;
  font-weight:700;color:var(--gold-400);
  display:inline-flex;align-items:center;gap:14px;margin:0 0 20px;
}
.eyebrow::before{
  content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-500));
}
.eyebrow--dark{color:var(--red-700);}
.eyebrow--dark::before{background:linear-gradient(90deg,transparent,var(--red-600));}

.h2{
  font-family:var(--font-display);
  font-size:clamp(2rem,4.3vw,3.15rem);
  letter-spacing:-.015em;
  margin:0 0 20px;
}

.gold-text{
  background:var(--grad-gold);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  /* respaldo por si el navegador no soporta background-clip */
  -webkit-text-fill-color:transparent;
}
@supports not (background-clip:text){ .gold-text{color:var(--gold-400);-webkit-text-fill-color:currentColor;} }

.section__head{max-width:660px;margin-bottom:clamp(44px,6vw,68px);}
.section__lead{font-size:1.075rem;color:var(--on-dark-soft);margin:0;}
.section--paper .section__lead{color:var(--slate-600);}

.footnote{
  margin:44px 0 0;font-size:.82rem;line-height:1.65;
  color:rgba(203,182,174,.62);max-width:760px;
}

/* ── Botones ──────────────────────────────────────────────── */
.btn{
  --btn-pad:16px 30px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:var(--btn-pad);border:0;border-radius:999px;
  font-weight:600;font-size:.98rem;letter-spacing:.005em;
  cursor:pointer;position:relative;overflow:hidden;isolation:isolate;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease);
}
.btn--sm{--btn-pad:11px 22px;font-size:.9rem;}
.btn--full{width:100%;}

.btn--gold{
  background:var(--grad-gold-flat);
  color:#2A1704;
  box-shadow:0 10px 30px -12px rgba(212,175,55,.65),inset 0 1px 0 rgba(255,255,255,.5);
}
.btn--gold::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.7) 46%,transparent 62%);
  transform:translateX(-120%);
}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(212,175,55,.8),inset 0 1px 0 rgba(255,255,255,.6);}
.btn--gold:hover::after{transform:translateX(120%);transition:transform .8s var(--ease);}

.btn--ghost{
  background:transparent;color:var(--on-dark);
  box-shadow:inset 0 0 0 1px var(--line-gold-strong);
}
.btn--ghost:hover{background:rgba(233,157,5,.09);transform:translateY(-2px);}

/* ═══════════════ NAV ═══════════════ */
.nav{
  position:fixed;inset:0 0 auto;z-index:100;
  transition:background-color .4s var(--ease),backdrop-filter .4s var(--ease),box-shadow .4s var(--ease);
}
.nav.is-stuck{
  background:#0C0305;
  backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  box-shadow:0 1px 0 var(--line-gold),0 18px 40px -30px #000;
}
.nav__inner{
  max-width:1180px;margin-inline:auto;
  padding:16px clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:28px;
}

.brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;}
.brand__mark{width:150px;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));}
.brand__text{display:flex;flex-direction:column;line-height:1.05;}
.brand__text strong{
  font-family:var(--font-caps);font-size:.94rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
.brand__text em{
  font-family:var(--font-caps);font-style:normal;font-size:.66rem;font-weight:600;
  letter-spacing:.42em;text-transform:uppercase;color:var(--steel-400);
}
.brand__full{width:250px;max-width:100%;height:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));}
.brand__text .w-red{
  background:none;color:var(--red-500);-webkit-text-fill-color:var(--red-500);
}

.nav__links{margin-left:auto;display:flex;align-items:center;gap:30px;}
.nav__links a:not(.btn){
  font-size:.93rem;color:var(--on-dark-soft);position:relative;padding-block:6px;
  transition:color .25s var(--ease);
}
.nav__links a:not(.btn)::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--gold-500);transition:width .32s var(--ease);
}
.nav__links a:not(.btn):hover{color:var(--gold-300);}
.nav__links a:not(.btn):hover::after{width:100%;}
.nav__cta{margin-left:6px;}

.nav__toggle{
  display:none;margin-left:auto;background:none;border:0;cursor:pointer;
  width:44px;height:44px;padding:11px;flex-direction:column;justify-content:space-between;
}
.nav__toggle span{display:block;height:2px;background:var(--gold-400);border-radius:2px;transition:transform .35s var(--ease),opacity .25s;}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* ═══════════════ HERO ═══════════════ */
.hero{
  position:relative;
  padding-top:clamp(140px,17vw,190px);
  padding-bottom:0;
  text-align:center;
  overflow:hidden;
  background:var(--ink-950);
}
.hero__bg{position:absolute;inset:0;pointer-events:none;}
.hero__glow{
  position:absolute;inset:-30% -10% auto -10%;height:130%;
  background:
    radial-gradient(760px 520px at 50% 8%,rgba(224,20,26,.50),transparent 62%),
    radial-gradient(1100px 720px at 50% 0%,rgba(138,5,5,.90),transparent 66%),
    radial-gradient(700px 480px at 12% 46%,rgba(100,4,4,.65),transparent 68%),
    radial-gradient(700px 480px at 88% 40%,rgba(187,1,1,.50),transparent 68%);
}
.hero__rays{
  position:absolute;left:50%;top:-24%;width:150vmax;height:120vmax;
  transform:translateX(-50%);
  background:conic-gradient(from 180deg at 50% 0%,
    transparent 0deg,rgba(233,157,5,.055) 12deg,transparent 26deg,
    transparent 44deg,rgba(233,157,5,.05) 56deg,transparent 70deg,
    transparent 290deg,rgba(233,157,5,.05) 304deg,transparent 318deg,
    transparent 334deg,rgba(233,157,5,.055) 348deg,transparent 360deg);
  mask-image:radial-gradient(52% 46% at 50% 4%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(52% 46% at 50% 4%,#000 0%,transparent 78%);
}
/* chispas doradas, sin imágenes */
.sparkles{
  position:absolute;inset:0;
  background-image:
    radial-gradient(2px 2px at 12% 22%,rgba(246,231,176,.9),transparent),
    radial-gradient(1.6px 1.6px at 28% 62%,rgba(233,157,5,.7),transparent),
    radial-gradient(2.4px 2.4px at 44% 14%,rgba(255,245,214,.85),transparent),
    radial-gradient(1.4px 1.4px at 63% 48%,rgba(233,157,5,.7),transparent),
    radial-gradient(2px 2px at 78% 20%,rgba(246,231,176,.85),transparent),
    radial-gradient(1.6px 1.6px at 88% 58%,rgba(233,157,5,.6),transparent),
    radial-gradient(1.4px 1.4px at 8% 78%,rgba(246,231,176,.6),transparent),
    radial-gradient(2px 2px at 55% 78%,rgba(233,157,5,.55),transparent),
    radial-gradient(1.5px 1.5px at 94% 34%,rgba(255,245,214,.7),transparent),
    radial-gradient(1.5px 1.5px at 36% 88%,rgba(233,157,5,.5),transparent);
  animation:twinkle 6.5s ease-in-out infinite alternate;
}
@keyframes twinkle{
  from{opacity:.45;transform:translateY(0) scale(1);}
  to{opacity:1;transform:translateY(-10px) scale(1.03);}
}

.hero__inner{position:relative;z-index:2;max-width:900px;}
.hero__title{
  font-family:var(--font-display);
  font-size:clamp(2.55rem,6.4vw,4.5rem);
  font-weight:600;letter-spacing:-.022em;line-height:1.05;
  margin:0 0 26px;
  text-shadow:0 2px 30px rgba(0,0,0,.5);
}
.hero__lead{
  font-size:clamp(1.02rem,1.6vw,1.18rem);
  color:var(--on-dark-soft);max-width:660px;margin:0 auto 36px;
}
.hero__lead strong{color:var(--gold-300);font-weight:600;}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.hero__micro{
  margin:22px 0 0;font-size:.85rem;letter-spacing:.06em;
  color:rgba(203,182,174,.72);
}

/* ── El efecto: tarjeta acostada que se endereza al bajar ── */
.stage{
  position:relative;z-index:2;
  /* poco margen: acostada la tarjeta ocupa mucho menos alto del que reserva */
  margin:clamp(16px,2.6vw,40px) auto 0;
  max-width:760px;
  padding-inline:clamp(20px,5vw,40px);
  /* perspectiva corta = 3D mucho más marcado */
  perspective:880px;
  perspective-origin:50% 10%;
}
.stage__card{
  transform-style:preserve-3d;
  /* el eje algo por debajo del centro: se ve apoyada sin dejar hueco arriba */
  transform-origin:50% 68%;
  transform:rotateX(var(--rx,68deg)) scale(var(--sc,.84)) translateY(var(--ty,-16px));
  will-change:transform;
}
.stage__shadow{
  height:80px;margin-top:-30px;
  background:radial-gradient(58% 100% at 50% 0%,rgba(0,0,0,.8),transparent 72%);
  filter:blur(7px);
  opacity:var(--sh,.16);
}

/* la "póliza" */
.policy{
  position:relative;overflow:hidden;
  border-radius:var(--radius-lg);
  padding:clamp(24px,3.6vw,38px);
  text-align:left;
  background:
    linear-gradient(155deg,rgba(255,255,255,.09),rgba(255,255,255,.02) 40%),
    linear-gradient(150deg,#340505 0%,#1C0303 55%,#0E0202 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.09) inset,
    0 0 0 1px var(--line-gold),
    0 46px 90px -40px rgba(0,0,0,.95),
    0 0 90px -30px rgba(187,1,1,.55);
}
.policy__sheen{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(118deg,transparent 34%,rgba(246,231,176,.13) 48%,transparent 60%);
}
.policy__head{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.policy__mark{width:120px;height:auto;}
.policy__label{
  font-family:var(--font-caps);font-size:.62rem;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;color:var(--gold-400);
  margin-left:auto;
  padding:7px 14px;border-radius:999px;
  border:1px solid var(--line-gold);background:rgba(233,157,5,.07);
}
.policy__product{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,3.4vw,2.45rem);
  line-height:1.08;margin:0 0 26px;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
.policy__grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;margin:0 0 26px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.08);
}
.policy__grid dt{
  font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;
  color:rgba(203,182,174,.65);margin-bottom:5px;
}
.policy__grid dd{margin:0;font-size:.98rem;font-weight:500;color:var(--on-dark);}
.policy__foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:20px;border-top:1px solid rgba(255,255,255,.08);
}
.policy__status{display:inline-flex;align-items:center;gap:9px;font-size:.85rem;color:var(--gold-300);}
.policy__status i{
  width:8px;height:8px;border-radius:50%;background:#49D17A;
  box-shadow:0 0 0 4px rgba(73,209,122,.16);
}
.policy__note{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(203,182,174,.45);}

/* ═══════════════ BARRA DE CONFIANZA ═══════════════ */
.trust{
  background:linear-gradient(180deg,var(--ink-950),#0C0202);
  padding-block:clamp(44px,5vw,62px);
  border-top:1px solid var(--line-gold);
  border-bottom:1px solid var(--line-gold);
}
.trust__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:28px;text-align:center;
}
.trust__item strong{
  display:block;font-family:var(--font-display);
  font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1;margin-bottom:8px;
}
.trust__item span{font-size:.86rem;letter-spacing:.05em;color:var(--on-dark-soft);}

/* ── Aseguradoras ─────────────────────────────────────────── */
.carriers{
  padding-block:clamp(40px,5vw,64px);
  background:var(--ink-950);
  border-top:1px solid var(--line-gold);
}
.carriers__title{
  margin:0 0 30px;text-align:center;
  font-family:var(--font-caps);font-size:.72rem;font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;color:var(--gold-400);
}
.carriers__grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px 28px;align-items:center;
}
.carriers__grid li{
  display:flex;align-items:center;justify-content:center;
  min-height:64px;padding:10px 6px;min-width:0;
}
.carriers__grid img{
  height:40px;width:auto;max-width:min(150px,100%);object-fit:contain;
  filter:brightness(0) invert(1);opacity:.72;
  transition:opacity .3s var(--ease);
}
.carriers__grid li:hover img{opacity:1;}
@media (max-width:1024px){ .carriers__grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:640px){
  .carriers__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 14px;}
  .carriers__grid img{height:30px;max-width:100px;}
}

/* ═══════════════ TARJETAS FLIP ═══════════════ */
.flips{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:clamp(20px,2.4vw,30px);
}
.flip{
  position:relative;
  height:440px;
  perspective:1600px;
}
.flip__inner{
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transition:transform .78s var(--ease);
}
/* el volteo lo controla main.js (clase .is-flipped) para poder gestionar
   el foco y `inert` de la cara oculta; el CSS solo dibuja la transición. */
.flip.is-flipped .flip__inner{transform:rotateY(180deg);}

.flip__face{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  padding:clamp(26px,3vw,34px);
  border-radius:var(--radius-lg);
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  overflow:hidden;
}
.flip__face--front{
  background:
    linear-gradient(158deg,rgba(255,255,255,.075),rgba(255,255,255,.015) 46%),
    linear-gradient(160deg,#2C0404,#180303 62%,#0D0202);
  box-shadow:0 0 0 1px var(--line-gold),0 30px 60px -40px #000;
}
.flip__face--front::after{
  content:"";position:absolute;inset:auto -40% -55% -40%;height:70%;
  background:radial-gradient(closest-side,rgba(187,1,1,.45),transparent);
  pointer-events:none;
}
.flip__face--back{
  transform:rotateY(180deg);
  background:
    linear-gradient(158deg,rgba(246,231,176,.1),rgba(246,231,176,.02) 50%),
    linear-gradient(160deg,#640404,#380505 60%,#180303);
  box-shadow:0 0 0 1px var(--line-gold-strong),0 30px 60px -40px #000;
  justify-content:space-between;gap:20px;
  /* válvula de seguridad si el texto crece o la fuente del sistema es mayor */
  overflow-y:auto;
}
/* la cara que mira hacia atrás no debe recibir clics ni foco */
.flip__face[inert]{pointer-events:none;}

.flip__icon{
  width:56px;height:56px;flex:0 0 auto;
  display:grid;place-items:center;margin-bottom:26px;
  border-radius:16px;color:var(--gold-400);
  border:1px solid var(--line-gold);
  background:linear-gradient(150deg,rgba(233,157,5,.16),rgba(233,157,5,.03));
}
.flip__icon svg{width:26px;height:26px;}
.flip__title{
  font-family:var(--font-display);font-size:1.95rem;margin:0 0 6px;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
.flip__title--sm{font-size:1.4rem;margin-bottom:20px;}
.flip__sub{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(203,182,174,.7);margin:0 0 18px;
}
.flip__copy{color:var(--on-dark-soft);margin:0;font-size:1.01rem;}

.flip__toggle{
  margin-top:auto;padding:20px 0 0;
  background:none;border:0;cursor:pointer;text-align:left;
  font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;
  color:var(--gold-500);
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  transition:color .25s var(--ease);
}
.flip__toggle::after{content:"→";transition:transform .3s var(--ease);}
.flip__toggle:hover{color:var(--gold-300);}
.flip:hover .flip__toggle::after{transform:translateX(5px);}

.flip__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.flip__back{
  background:none;border:0;cursor:pointer;padding:6px 2px;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(203,182,174,.7);transition:color .25s var(--ease);
}
.flip__back:hover{color:var(--gold-300);}

.ticks li{
  position:relative;padding-left:30px;margin-bottom:14px;
  font-size:.97rem;color:var(--on-dark-soft);line-height:1.55;
}
.ticks li::before{
  content:"";position:absolute;left:0;top:.42em;
  width:16px;height:9px;border-left:2px solid var(--gold-400);border-bottom:2px solid var(--gold-400);
  transform:rotate(-45deg);border-radius:1px;
}
.ticks--lg{margin-top:30px;}
.ticks--lg li{font-size:1.04rem;margin-bottom:18px;color:var(--on-dark);}
/* dentro del reverso de una tarjeta el espacio es limitado */
.flip__face--back .ticks li{margin-bottom:12px;font-size:.95rem;}

/* ═══════════════ PROCESO ═══════════════ */
.steps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(24px,3vw,38px);counter-reset:s;
}
.step{position:relative;padding-top:30px;}
.step::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--red-600),rgba(187,1,1,.12));
  border-radius:2px;
}
.step__num{
  font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1;
  color:transparent;-webkit-text-fill-color:transparent;
  background:linear-gradient(160deg,var(--red-600),#8A0505);
  -webkit-background-clip:text;background-clip:text;
  display:block;margin-bottom:14px;
}
.step h3{font-size:1.2rem;margin-bottom:10px;color:var(--slate-900);}
.step p{font-size:.98rem;margin:0;}

/* ═══════════════ POR QUÉ 7CG ═══════════════ */
.why{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(32px,5vw,64px);align-items:start;
}
.why__panel{
  position:relative;padding:clamp(28px,3.4vw,40px);
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));
  box-shadow:0 0 0 1px var(--line-gold),0 40px 80px -50px #000;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.why__panel-eyebrow{
  font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold-500);margin:0 0 12px;
}
.why__quote{
  font-family:var(--font-display);font-style:italic;font-weight:600;
  font-size:clamp(1.5rem,2.6vw,1.95rem);line-height:1.25;
  margin:0 0 18px;color:var(--on-dark);
}
.why__answer{font-size:.99rem;color:var(--on-dark-soft);margin:0 0 26px;}
.why__answer strong{color:var(--gold-300);}
.why__calc{
  border-top:1px solid rgba(255,255,255,.1);padding-top:18px;
  display:grid;gap:11px;
}
.why__calc div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.why__calc span{font-size:.88rem;color:rgba(203,182,174,.78);}
.why__calc b{font-variant-numeric:tabular-nums;font-weight:600;}
.why__calc-total{
  border-top:1px dashed rgba(233,157,5,.3);padding-top:13px;margin-top:5px;
}
.why__calc-total b{font-family:var(--font-display);font-size:1.5rem;}
.why__panel-note{
  margin:20px 0 0;font-size:.76rem;line-height:1.55;color:rgba(203,182,174,.5);
}

/* ═══════════════ AGENTES ═══════════════ */
.agents{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,5vw,60px);align-items:start;
}
.perks li{
  padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.perks li:first-child{padding-top:0;}
.perks b{
  display:block;font-size:1.09rem;font-weight:600;margin-bottom:6px;
  color:var(--gold-300);
}
.perks span{font-size:.97rem;color:var(--on-dark-soft);}

/* ═══════════════ FORMULARIOS ═══════════════ */
.card-form{
  padding:clamp(26px,3.4vw,38px);
  border-radius:var(--radius-lg);
  background:linear-gradient(162deg,rgba(255,255,255,.075),rgba(255,255,255,.018));
  box-shadow:0 0 0 1px var(--line-gold),0 44px 90px -50px #000;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.card-form--lg{position:sticky;top:100px;}
.card-form__title{font-family:var(--font-display);font-size:1.65rem;margin-bottom:6px;}
.card-form__sub{font-size:.9rem;color:var(--on-dark-soft);margin-bottom:26px;}
.card-form__legal{
  margin:16px 0 0;font-size:.76rem;line-height:1.55;color:rgba(203,182,174,.55);
}

.field{margin-bottom:16px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field label{
  display:block;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;
  color:rgba(203,182,174,.85);margin-bottom:8px;
}
.field .opt{text-transform:none;letter-spacing:0;color:rgba(203,182,174,.5);}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border-radius:12px;resize:vertical;
  background:rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.12);
  color:var(--on-dark);font-size:.98rem;
  transition:border-color .25s var(--ease),background-color .25s var(--ease),box-shadow .25s var(--ease);
}
.field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold-400) 50%),linear-gradient(135deg,var(--gold-400) 50%,transparent 50%);
  background-position:calc(100% - 20px) center,calc(100% - 14px) center;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
  padding-right:44px;
}
.field select option{background:#1F0303;color:var(--on-dark);}
.field input::placeholder,.field textarea::placeholder{color:rgba(203,182,174,.38);}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--gold-500);
  background:rgba(0,0,0,.5);
  box-shadow:0 0 0 3px rgba(212,175,55,.16);
}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{
  border-color:var(--red-500);box-shadow:0 0 0 3px rgba(224,52,47,.16);
}
.card-form .btn{margin-top:8px;}
.form-status{
  margin:14px 0 0;font-size:.88rem;min-height:1.3em;color:var(--gold-300);
}
.form-status[data-state="error"]{color:#FF8E86;}

/* ═══════════════ FAQ ═══════════════ */
.faq{border-top:1px solid rgba(42,29,27,.16);}
.faq__item{border-bottom:1px solid rgba(42,29,27,.16);}
.faq__item summary{
  list-style:none;cursor:pointer;position:relative;
  padding:24px 52px 24px 0;
  font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.32rem);
  font-weight:600;color:var(--slate-900);
  transition:color .25s var(--ease);
}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary:hover{color:var(--red-700);}
.faq__item summary::after{
  content:"";position:absolute;right:8px;top:50%;
  width:13px;height:13px;
  border-right:2px solid var(--red-600);border-bottom:2px solid var(--red-600);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .32s var(--ease);
}
.faq__item[open] summary::after{transform:translateY(-25%) rotate(-135deg);}
.faq__body{padding:0 40px 26px 0;animation:faqIn .38s var(--ease);}
.faq__body p{font-size:1rem;}
.faq__body p:last-child{margin-bottom:0;}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* ═══════════════ CONTACTO ═══════════════ */
.contact{
  display:grid;grid-template-columns:1fr .9fr;
  gap:clamp(32px,5vw,64px);align-items:start;
}
.contact__list{margin-top:34px;display:grid;gap:2px;}
.contact__list li{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.contact__list span{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(203,182,174,.6);
}
.contact__list a{
  font-size:1.06rem;font-weight:500;color:var(--gold-300);
  transition:color .25s var(--ease);
}
.contact__list a:hover{color:var(--gold-400);}
.contact__list a[aria-disabled="true"]{color:var(--on-dark);cursor:default;pointer-events:none;}

/* ═══════════════ FOOTER ═══════════════ */
.footer{background:#0A0101;padding-top:48px;border-top:1px solid var(--line-gold);}
.footer__top{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);
  gap:clamp(32px,5vw,64px);padding-bottom:36px;
}
.footer__brand p{
  margin:14px 0 20px;font-size:.85rem;color:var(--on-dark-soft);max-width:320px;
}
.socials{display:flex;gap:10px;}
.socials a{
  width:40px;height:40px;display:grid;place-items:center;border-radius:11px;
  color:var(--gold-400);border:1px solid var(--line-gold);
  transition:background-color .28s var(--ease),transform .28s var(--ease),color .28s var(--ease);
}
.socials a svg{width:18px;height:18px;}
.socials a:hover{background:rgba(233,157,5,.13);transform:translateY(-2px);color:var(--gold-300);}

.footer__brand .brand__full{width:170px;}
.footer__nav{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:24px;padding-top:12px;}
.footer__nav>div{min-width:0;}
.footer__nav h4{
  font-family:var(--font-caps);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-400);margin-bottom:16px;font-weight:700;
}
.footer__nav a{
  display:block;font-size:.85rem;color:var(--on-dark-soft);padding:6px 0;overflow-wrap:anywhere;
  transition:color .22s var(--ease),transform .22s var(--ease);
}
.footer__nav a:hover{color:var(--gold-300);transform:translateX(3px);}

.footer__bottom{
  border-top:1px solid rgba(255,255,255,.07);
  padding-block:24px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;
}
.footer__legal{flex-basis:100%;margin:0;font-size:.76rem;line-height:1.75;color:#AD9690;max-width:none;}
.footer__copy{margin:0;font-size:.75rem;color:#AD9690;}

/* ═══════════════ WHATSAPP FLOTANTE ═══════════════ */
.wa{
  position:fixed;right:20px;bottom:20px;z-index:90;
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;color:#fff;
  background:linear-gradient(160deg,#3ED27A,#1DA851);
  box-shadow:0 12px 30px -10px rgba(29,168,81,.7),0 0 0 1px rgba(255,255,255,.14) inset;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.wa svg{width:30px;height:30px;}
.wa:hover{transform:scale(1.07) translateY(-2px);box-shadow:0 18px 40px -12px rgba(29,168,81,.85);}

/* ═══════════════ REVEAL ═══════════════ */
[data-reveal]{
  opacity:0;transform:translateY(24px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
  transition-delay:calc(var(--d,0) * 110ms);
}
[data-reveal].is-in{opacity:1;transform:none;}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media (max-width:1000px){
  .why,.agents,.contact,.footer__top{grid-template-columns:1fr;}
  .card-form--lg{position:static;}
  .trust__grid{grid-template-columns:repeat(2,1fr);gap:34px 20px;}
}

@media (max-width:860px){
  .nav__toggle{display:flex;}
  .nav__links{
    position:fixed;inset:0 0 auto;top:0;
    margin:0;padding:100px 28px 40px;
    flex-direction:column;align-items:stretch;gap:4px;
    background:linear-gradient(170deg,#1F0303,#0C0202);
    box-shadow:0 24px 60px -30px #000;
    border-bottom:1px solid var(--line-gold);
    transform:translateY(-102%);
    transition:transform .45s var(--ease);
    max-height:100dvh;overflow-y:auto;
  }
  .nav__links.is-open{transform:none;}
  .nav__links a:not(.btn){
    font-size:1.15rem;padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,.07);color:var(--on-dark);
  }
  .nav__links a:not(.btn)::after{display:none;}
  .nav__cta{margin:22px 0 0;}
  body.nav-open{overflow:hidden;}
}

@media (max-width:620px){
  body{font-size:16px;}
  html{scroll-padding-top:72px;}
  /* la tarjeta es más estrecha aquí: hay que acortar la perspectiva
     en proporción para que el 3D se note lo mismo que en escritorio */
  .stage{perspective:520px;}
  .policy__grid{grid-template-columns:1fr;gap:14px;}
  .footer__nav{grid-template-columns:1fr 1fr;}
  .footer__nav>div:last-child{grid-column:1/-1;}
  .footer__bottom{padding-bottom:90px;}
  .field-row{grid-template-columns:1fr;}
  .contact__list li{flex-direction:column;gap:4px;}
  .flip{height:470px;}
  .wa{right:14px;bottom:14px;}
  .hero__actions .btn{flex:1 1 100%;}
}

/* ═══════════════ MOVIMIENTO REDUCIDO ═══════════════ */
@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;transform:none;}
  .stage__card{transform:none !important;}
  .stage__shadow{opacity:.45;}
}

/* ═══════════════ IMPRESIÓN ═══════════════ */
@media print{
  .nav,.wa,.stage,.hero__bg{display:none;}
  body{background:#fff;color:#000;}
}

/* ═══════════════ PRIVACIDAD Y TÉRMINOS ═══════════════ */
.footer__policies{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 0 auto;order:1;font-size:.8rem;color:var(--gold-300);}
.footer__policies a{padding-block:6px;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:760px){.footer__policies{margin:0;order:0;width:100%;}}
.footer__policies a:hover{text-decoration:underline;text-underline-offset:4px;}
.card-form__legal a{text-decoration:underline;text-underline-offset:3px;color:var(--gold-300);}
.legal-page .nav{position:sticky;top:0;background:#120202;border-bottom:1px solid var(--line-gold);}
.legal-page .nav__inner{padding-block:10px;}
.legal-page .brand__mark{width:120px;}
.legal-hero{position:relative;padding:44px 0 60px;border-bottom:1px solid var(--line-gold-strong);}
.legal-back{display:block;width:fit-content;margin-bottom:38px;font-size:.85rem;color:var(--on-dark-soft);}
.legal-back:hover{color:var(--gold-300);}
.legal-hero .eyebrow{display:flex;font-size:.66rem;letter-spacing:.22em;}
.legal-hero h1{font-family:var(--font-display);font-size:clamp(2.65rem,5.8vw,4.8rem);max-width:960px;letter-spacing:-.035em;}
.legal-hero__lead{max-width:660px;margin:24px 0;color:var(--on-dark-soft);font-size:1.1rem;}
.legal-date{margin:0;color:var(--gold-300);font-size:.78rem;}
.legal-content{padding-block:64px 96px;}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:start;}
.legal-sidebar{position:sticky;top:132px;}
.legal-toc{border:1px solid #D9CAB6;border-radius:var(--radius);padding:24px 20px;background:var(--paper-2);}
.legal-toc h2{font-family:var(--font-caps);font-size:.75rem;letter-spacing:.12em;margin-bottom:18px;}
.legal-toc ol{display:grid;gap:4px;}
.legal-toc a{display:flex;gap:10px;padding:7px 0;font-size:.8rem;line-height:1.5;color:var(--slate-600);}
.legal-toc a span{color:var(--gold-700);font-size:.7rem;padding-top:2px;}
.legal-toc a:hover{color:var(--red-800);text-decoration:underline;text-underline-offset:3px;}
.legal-related{display:block;margin:20px 0;font-size:.83rem;color:var(--red-800);text-decoration:underline;text-underline-offset:4px;}
.legal-article{min-width:0;}
.legal-intro{border-left:3px solid var(--gold-500);padding:4px 0 4px 22px;margin-bottom:46px;}
.legal-intro p{margin:0;font-family:var(--font-display);font-size:1.4rem;line-height:1.5;color:var(--slate-900);}
.legal-section{position:relative;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #DFD3C4;scroll-margin-top:24px;}
.legal-section__number{font-family:var(--font-caps);font-size:.75rem;letter-spacing:.12em;margin-bottom:10px;color:var(--gold-700) !important;}
.legal-section h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.25;margin-bottom:20px;}
.legal-section p,.legal-section li{font-size:.96rem;line-height:1.85;}
.legal-section p:last-child{margin-bottom:0;}
.legal-section ul{list-style:disc;padding-left:22px;margin-bottom:20px;color:var(--slate-600);}
.legal-section li+li{margin-top:10px;}
.legal-section a{color:var(--red-800);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.legal-content :focus-visible{outline-color:var(--red-800);}
.legal-help{padding:32px;border:1px solid #D9CAB6;border-radius:var(--radius);background:var(--paper-2);}
.legal-help h2{font-family:var(--font-display);font-size:1.75rem;margin-bottom:14px;}
.legal-page .footer__nav a{overflow-wrap:anywhere;}
@media(max-width:1000px){
  .legal-layout{grid-template-columns:220px minmax(0,1fr);gap:32px;}
}
@media(max-width:760px){
  .legal-layout{grid-template-columns:1fr;gap:28px;}
  .legal-sidebar{position:static;}
  .legal-hero{padding-top:28px;padding-bottom:40px;}
  .legal-hero .eyebrow{letter-spacing:.12em;}
  .legal-content{padding-block:36px 64px;}
  .legal-toc ol{grid-template-columns:1fr 1fr;gap:4px 18px;}
  .legal-intro{margin-bottom:32px;}
}
@media(max-width:420px){
  .legal-toc ol{grid-template-columns:1fr;}
  .legal-help{padding:24px;}
}
@media print{
  .legal-hero{padding:20px 0;background:#fff;}
  .legal-hero h1,.legal-hero__lead,.legal-date{color:#000;}
  .legal-hero .gold-text{background:none;color:#000;-webkit-text-fill-color:#000;}
  .legal-back,.legal-sidebar,.legal-help,.legal-page .footer{display:none;}
  .legal-layout{display:block;}
  .legal-content{padding:20px 0;background:#fff;}
  .legal-section h2{break-after:avoid;}
}

/* Paleta aprobada: superficies claras, carbón y acentos dorados. */
:root{
  --ink-950:#18191B;--ink-900:#222326;--ink-800:#2C2D30;
  --paper:#FAFAF8;--paper-2:#F0F0ED;--slate-900:#222326;--slate-600:#595B5E;
  --on-dark:#242527;--on-dark-soft:#5B5D60;
  --gold-300:#805914;--gold-400:#956916;
  --grad-gold:linear-gradient(135deg,#76501C,#A77722 55%,#775017);
  --grad-gold-flat:linear-gradient(135deg,#F1CF7B,#D7AA4C 65%,#C89636);
  --line-gold:rgba(158,119,45,.24);
}
body{background:var(--paper);color:#242527;}
.nav,.nav.is-stuck{background:#191A1C;border-bottom:1px solid #3B3528;}
.nav .brand__mark{width:125px;}
.nav__inner{padding-block:10px;}
.nav__links a:not(.btn){color:#E0DDD6;}
.nav__links a:not(.btn):hover{color:#F0CA78;}
.nav__toggle span{background:#E6BD65;}
.hero{padding-top:160px;background:linear-gradient(135deg,#FFFFFF,#F2F2EF);}
.hero__glow,.hero__rays,.sparkles{display:none;}
.hero__title{text-shadow:none;}
.hero__lead strong{color:#28292B;}
.hero__micro{color:#65676B;}
.hero .btn--ghost{border-color:#C4C4BE;color:#343537;background:#fff;}
.eyebrow--dark{color:#956916;}
.eyebrow--dark::before{background:#B68B38;}
.policy{
  --on-dark:#F7F5EF;--gold-300:#E6C785;--gold-400:#DBB762;
  --grad-gold:linear-gradient(135deg,#FAE3A5,#DDB868);
  background:linear-gradient(145deg,#363739,#17181A);
  box-shadow:0 0 0 1px #BE9A51,0 35px 70px -38px #0008;
}
.policy__grid dt,.policy__note{color:#BFBEB8;}
.trust{background:#ECEDE9;border-block:1px solid #DADBD4;}
.carriers{background:#232427;--gold-400:#D9BE83;}
.section--dark,.section--ink{background:#FAFAF8;}
#soluciones{background:#FAFAF8;}
.section--paper{background:#F0F1ED;}
.flip__face--front,.flip__face--back{background:#FFFFFF;box-shadow:0 12px 30px -24px #0005;border-color:#D7D8D1;}
.flip__face--front::after{display:none;}
.flip__sub,.flip__back{color:#65676B;}
.flip__icon{color:#946916;background:#F5EEDD;}
.footnote{color:#646669;}
.step::before{background:linear-gradient(90deg,#B68B38,#B68B3822);}
.step__num{background:linear-gradient(135deg,#A67E31,#73521B);background-clip:text;-webkit-background-clip:text;}
#nosotros{background:#222326;--on-dark:#F4F3EE;--on-dark-soft:#CFD0CD;--gold-300:#E5C57D;--gold-400:#D8B563;color:#F4F3EE;}
#nosotros .gold-text{background:linear-gradient(135deg,#F5DEA0,#DAB25B);background-clip:text;-webkit-background-clip:text;}
.why__calc span,.why__panel-note{color:#BDBFBB;}
#agentes{background:#FAFAF8;}
.perks li{border-color:#DEDFD8;}
.perks b{color:#292A2C;}
.card-form{background:#fff;box-shadow:0 0 0 1px #DCDDD5,0 18px 50px -35px #0005;}
.card-form__legal,.field label,.field .opt{color:#626468;}
.card-form__legal a{color:#805914;}
.field input,.field select,.field textarea{background-color:#F7F7F4;border-color:#D4D6CD;color:#292A2C;}
.field input:focus,.field select:focus,.field textarea:focus{background-color:#fff;}
.field select option{background:#fff;color:#292A2C;}
.field input::placeholder,.field textarea::placeholder{color:#717378;}
#contacto{background:#F0F1ED;}
.contact__list li{border-color:#D5D7CF;}
.contact__list span{color:#626468;}
.contact__list a{color:#75531A;}
.footer{background:#18191B;--on-dark-soft:#C8C9C5;--gold-300:#E7CC90;--gold-400:#D5B36A;color:#F7F6F0;}
.footer__legal,.footer__copy{color:#ADAFA9;}
.preview-note{position:relative;padding:12px 20px;text-align:center;background:#EAE5D8;font-size:.8rem;color:#59503E;}
.preview-note a{text-decoration:underline;margin-left:14px;}
@media(max-width:860px){.nav__links{background:#191A1C;}.nav__links a:not(.btn){color:#E0DDD6;}}
@media(max-width:620px){.hero{padding-top:140px;}}

/* Páginas legales en la paleta clara compartida. */
.legal-page .nav,.legal-page .nav.is-stuck{background:#191A1C;}
.legal-hero{background:linear-gradient(135deg,#FFFFFF,#F2F2EF);}
.legal-content{background:#FAFAF8;}
.legal-toc,.legal-help{background:#F0F1ED;border-color:#D8DAD2;}
.legal-section{border-color:#DEDFD8;}
.legal-section a,.legal-related,.legal-toc a:hover{color:#75531A;}
.legal-content :focus-visible{outline-color:#75531A;}
.form-status[data-state="error"]{color:#A51D23;}
@media print{
  .legal-hero,.legal-content{background:#fff;}
}
