/* =========================================================
   TEKRA SEGUROS
   STYLE.CSS
========================================================= */

:root{
  --blue:#1955e8;
  --blue-bright:#2365ff;
  --blue-light:#63a7ff;

  --navy:#07112e;
  --navy-deep:#030712;

  --graphite:#303030;

  --cream:#fbf8f0;
  --green:#72a68e;

  --white:#ffffff;

  --soft:#f6f8fc;

  --text:#101522;
  --muted:#697181;

  --line:#e7ebf2;

  --shadow:
    0 24px 70px
    rgba(22,44,100,.12);
}


/* =========================================================
   RESET
========================================================= */

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;

  font-family:
    "Inter",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color:var(--text);

  background:#fff;

  overflow-x:hidden;
}

a{
  color:inherit;
}

img{
  display:block;
  max-width:100%;
}

.container{
  width:min(1180px,92%);
  margin:auto;
}


/* =========================================================
   HEADER
========================================================= */

.site-header{
  position:fixed;

  top:0;
  left:0;
  right:0;

  z-index:1000;

  background:
    rgba(4,9,25,.72);

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);

  border-bottom:
    1px solid
    rgba(255,255,255,.08);

  transition:
    background .3s ease,
    box-shadow .3s ease;
}


.site-header.scrolled{
  background:
    rgba(4,8,20,.96);

  box-shadow:
    0 8px 30px
    rgba(0,0,0,.16);
}


.nav-wrap{
  height:80px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:28px;
}


/* =========================================================
   BRAND / LOGO NAV
========================================================= */

.brand{
  display:flex;

  align-items:center;

  gap:12px;

  color:#fff;

  text-decoration:none;

  flex-shrink:0;
}


.nav-logo{
  display:block;

  width:50px;
  height:50px;

  min-width:50px;
  min-height:50px;

  max-width:50px;
  max-height:50px;

  flex:0 0 50px;

  object-fit:cover;

  object-position:center 18%;

  border-radius:10px;

  background:#07102b;

  box-shadow:
    0 5px 18px
    rgba(0,0,0,.24);
}


.brand-copy{
  display:flex;

  flex-direction:column;

  justify-content:center;

  line-height:1;
}


.brand-copy strong{
  color:#fff;

  font-size:18px;

  font-weight:800;

  letter-spacing:.08em;
}


.brand-copy small{
  margin-top:5px;

  color:
    rgba(255,255,255,.72);

  font-size:11px;
}


/* =========================================================
   MENU
========================================================= */

.menu{
  display:flex;

  align-items:center;

  gap:19px;

  list-style:none;

  margin:0;

  padding:0;
}


.menu li{
  margin:0;
  padding:0;
}


.menu a{
  color:#fff;

  text-decoration:none;

  font-size:13px;

  font-weight:600;

  opacity:.87;

  white-space:nowrap;

  transition:
    opacity .25s ease,
    color .25s ease,
    transform .25s ease;
}


.menu a:hover{
  opacity:1;

  color:#8bbaff;
}


.menu-cta{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:
    11px
    17px;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      var(--blue),
      var(--blue-bright)
    );

  opacity:1 !important;

  box-shadow:
    0 7px 18px
    rgba(25,85,232,.24);
}


/* =========================================================
   MOBILE MENU BUTTON
========================================================= */

.nav-toggle{
  display:none;

  width:44px;
  height:44px;

  padding:8px;

  border:0;

  background:transparent;

  cursor:pointer;
}


.nav-toggle span{
  display:block;

  width:100%;

  height:2px;

  margin:6px 0;

  border-radius:5px;

  background:#fff;

  transition:.25s ease;
}


/* =========================================================
   HERO
========================================================= */

.hero{
  position:relative;

  min-height:100vh;

  display:grid;

  align-items:center;

  padding:
    120px
    0
    70px;

  overflow:hidden;

  color:#fff;

  background:#030713;
}


.hero-bg{
  position:absolute;

  inset:0;

  background:
    radial-gradient(
      75% 95%
      at 90% 55%,
      rgba(48,132,255,.85),
      rgba(18,67,214,.42) 38%,
      transparent 67%
    ),
    linear-gradient(
      110deg,
      #02040c 0%,
      #07102c 45%,
      #124ae6 100%
    );
}


.hero-bg::after{
  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.45),
      transparent 55%
    );
}


.hero-orb{
  position:absolute;

  border-radius:50%;

  filter:
    blur(70px);

  opacity:.38;
}


.orb-a{
  width:360px;
  height:360px;

  right:5%;
  top:20%;

  background:#195fff;
}


.orb-b{
  width:250px;
  height:250px;

  bottom:-3%;
  right:34%;

  background:#67b2ff;
}


.hero-grid{
  position:relative;

  z-index:2;

  display:grid;

  grid-template-columns:
    1.05fr
    .95fr;

  gap:55px;

  align-items:center;
}

/* =========================================================
   CARRUSEL HISTORIA TEKRA
========================================================= */

.history-carousel-section{
  position:relative;
  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #f8faff 0%,
      #ffffff 100%
    );
}


/* =========================================================
   TITULO
========================================================= */

.history-carousel-header{
  max-width:780px;
  margin-bottom:42px;
}


.history-carousel-header h2{
  margin:
    16px
    0;

  color:#07112e;

  font-size:
    clamp(
      36px,
      5vw,
      60px
    );

  line-height:1.03;
  letter-spacing:-.045em;
}


.history-carousel-header h2 span{
  display:block;
  color:#2260df;
}


.history-carousel-header p{
  max-width:690px;
  margin:0;

  color:#697181;

  font-size:17px;
  line-height:1.7;
}


/* =========================================================
   CARRUSEL
========================================================= */

.history-carousel{
  position:relative;

  width:100%;
  max-width:1100px;

  margin:auto;

  overflow:hidden;

  border-radius:30px;

  background:#07112e;

  box-shadow:
    0 35px 90px
    rgba(14,46,120,.18);
}


/*
   Altura fija para evitar que el carrusel cambie
   de tamaño entre imágenes verticales y horizontales.
*/

.history-carousel-track{
  position:relative;

  width:100%;
  height:620px;

  min-height:620px;

  overflow:hidden;

  background:#07112e;
}


/* =========================================================
   SLIDES
========================================================= */

.history-slide{
  position:absolute;

  inset:0;

  display:flex;

  align-items:center;
  justify-content:center;

  overflow:hidden;

  opacity:0;
  visibility:hidden;

  background:#07112e;

  transform:scale(1.012);

  transition:
    opacity .7s ease,
    transform 1s ease,
    visibility .7s ease;
}


.history-slide.active{
  opacity:1;
  visibility:visible;

  transform:scale(1);
}


/*
   IMPORTANTE:
   contain permite mostrar la fotografía completa.
   Al tener imágenes con proporciones diferentes,
   pueden quedar espacios libres alrededor.
   Se integran con el fondo azul oscuro del carrusel.
*/

.history-slide img{
  position:relative;

  z-index:1;

  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center;

  background:#07112e;

  transition:
    transform 1s ease,
    filter .5s ease;
}


.history-slide.active img{
  transform:scale(1);
}


/* =========================================================
   SOMBRA SOBRE FOTO
========================================================= */

.history-slide::after{
  content:"";

  position:absolute;

  z-index:2;

  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent 58%,
      rgba(3,8,22,.18) 70%,
      rgba(3,8,22,.86) 100%
    );

  pointer-events:none;
}


/* =========================================================
   TEXTO FOTO
========================================================= */

.history-slide-overlay{
  position:absolute;

  z-index:3;

  left:42px;
  right:42px;
  bottom:38px;

  color:#fff;

  pointer-events:none;
}


.history-slide-overlay span{
  display:inline-block;

  margin-bottom:8px;

  color:#84b9ff;

  font-size:13px;
  font-weight:900;

  letter-spacing:.13em;
  text-transform:uppercase;
}


.history-slide-overlay strong{
  display:block;

  max-width:750px;

  font-size:
    clamp(
      28px,
      4vw,
      48px
    );

  line-height:1.05;
  letter-spacing:-.035em;
}


.history-slide-overlay p{
  max-width:620px;

  margin:
    9px
    0
    0;

  color:
    rgba(255,255,255,.82);

  font-size:15px;
  line-height:1.55;
}


/* =========================================================
   FLECHAS
========================================================= */

.history-carousel-btn{
  position:absolute;

  z-index:5;

  top:50%;

  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  transform:
    translateY(-50%);

  padding:0;

  border:
    1px solid
    rgba(255,255,255,.25);

  border-radius:50%;

  color:#fff;

  background:
    rgba(6,14,37,.42);

  backdrop-filter:
    blur(10px);

  -webkit-backdrop-filter:
    blur(10px);

  font-size:32px;
  font-weight:300;

  line-height:1;

  cursor:pointer;

  opacity:.82;

  box-shadow:
    0 8px 24px
    rgba(0,0,0,.16);

  transition:
    opacity .25s ease,
    transform .25s ease,
    background .25s ease,
    border-color .25s ease;
}


.history-carousel-btn:hover{
  opacity:1;

  background:
    rgba(23,83,220,.80);

  border-color:
    rgba(255,255,255,.65);
}


.history-prev{
  left:22px;
}


.history-next{
  right:22px;
}


.history-prev:hover{
  transform:
    translateY(-50%)
    translateX(-3px);
}


.history-next:hover{
  transform:
    translateY(-50%)
    translateX(3px);
}


/* =========================================================
   INDICADORES
========================================================= */

.history-carousel-dots{
  position:absolute;

  z-index:6;

  left:50%;
  bottom:18px;

  display:flex;
  align-items:center;

  gap:7px;

  transform:
    translateX(-50%);
}


.history-dot{
  width:7px;
  height:7px;

  padding:0;

  border:0;

  border-radius:999px;

  background:
    rgba(255,255,255,.45);

  cursor:pointer;

  transition:
    width .3s ease,
    background .3s ease,
    transform .3s ease;
}


.history-dot:hover{
  background:#fff;
}


.history-dot.active{
  width:25px;

  background:#5b9bff;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

  .history-carousel-track{
    height:560px;
    min-height:560px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

  .history-carousel-header{
    margin-bottom:28px;
  }


  .history-carousel-header h2{
    font-size:
      clamp(
        32px,
        9vw,
        44px
      );
  }


  .history-carousel-header p{
    font-size:14px;
    line-height:1.6;
  }


  .history-carousel{
    border-radius:22px;
  }


  .history-carousel-track{
    height:520px;
    min-height:520px;
  }


  .history-slide img{
    object-fit:contain;
    object-position:center;
  }


  .history-slide-overlay{
    left:24px;
    right:24px;
    bottom:42px;
  }


  .history-slide-overlay strong{
    font-size:
      clamp(
        26px,
        7vw,
        36px
      );
  }


  .history-slide-overlay p{
    font-size:12.5px;
  }


  .history-carousel-btn{
    width:40px;
    height:40px;

    font-size:26px;

    opacity:.92;
  }


  .history-prev{
    left:12px;
  }


  .history-next{
    right:12px;
  }

}


/* =========================================================
   MOBILE PEQUEÑO
========================================================= */

@media(max-width:430px){

  .history-carousel-track{
    height:480px;
    min-height:480px;
  }


  .history-carousel-btn{
    width:36px;
    height:36px;

    font-size:23px;
  }


  .history-slide-overlay{
    left:20px;
    right:20px;
    bottom:40px;
  }


  .history-slide-overlay span{
    font-size:10px;
  }


  .history-slide-overlay strong{
    font-size:25px;
  }


  .history-slide-overlay p{
    font-size:11px;
  }

}


/* =========================================================
   EYEBROW
========================================================= */

.eyebrow{
  display:inline-flex;

  align-items:center;

  padding:
    8px
    12px;

  border-radius:999px;

  border:
    1px solid
    rgba(255,255,255,.16);

  background:
    rgba(255,255,255,.07);

  font-size:11px;

  font-weight:800;

  text-transform:uppercase;

  letter-spacing:.1em;
}


.eyebrow.dark{
  color:#1546c4;

  background:#edf3ff;

  border-color:#dae5ff;
}


/* =========================================================
   HERO TEXT
========================================================= */

.hero h1{
  margin:
    20px
    0
    22px;

  font-size:
    clamp(
      44px,
      6vw,
      78px
    );

  line-height:.98;

  letter-spacing:-.05em;
}


.hero h1 span{
  display:block;

  color:#82b7ff;
}


.hero-copy > p{
  max-width:680px;

  margin:
    0
    0
    28px;

  color:
    rgba(255,255,255,.82);

  font-size:
    clamp(
      17px,
      2vw,
      21px
    );

  line-height:1.7;
}


/* =========================================================
   BUTTONS
========================================================= */

.hero-actions,
.cta-actions{
  display:flex;

  gap:12px;

  flex-wrap:wrap;
}


.btn{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:
    15px
    22px;

  border-radius:12px;

  text-decoration:none;

  font-weight:800;

  border:
    1px solid
    transparent;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


.btn:hover{
  transform:
    translateY(-3px);
}


.btn-primary{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--blue),
      var(--blue-bright)
    );

  box-shadow:
    0 15px 35px
    rgba(23,80,240,.32);
}


.btn-secondary{
  color:#fff;

  border-color:
    rgba(255,255,255,.2);

  background:
    rgba(255,255,255,.06);
}


.btn-white{
  background:#fff;

  color:#1136ac;
}


.btn-outline-light{
  color:#fff;

  border-color:
    rgba(255,255,255,.55);
}


/* =========================================================
   HERO TRUST
========================================================= */

.hero-trust{
  display:flex;

  flex-wrap:wrap;

  gap:9px;

  margin-top:25px;
}


.hero-trust span{
  padding:
    8px
    11px;

  border-radius:999px;

  border:
    1px solid
    rgba(255,255,255,.1);

  background:
    rgba(255,255,255,.06);

  color:#dbe7ff;

  font-size:11px;
}


/* =========================================================
   HERO IMAGE - PREMIUM
========================================================= */

.hero-visual{
  position:relative;

  display:flex;

  justify-content:center;
  align-items:center;

  isolation:isolate;
}


.hero-visual::before{
  content:"";

  position:absolute;

  width:90%;
  height:88%;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(255,255,255,.28) 0%,
      rgba(96,183,255,.40) 18%,
      rgba(41,112,255,.30) 40%,
      rgba(21,72,255,.12) 60%,
      transparent 76%
    );

  filter:blur(58px);

  opacity:.88;

  z-index:-2;

  pointer-events:none;

  transition:
    transform .55s ease,
    opacity .55s ease;
}


.hero-visual::after{
  content:"";

  position:absolute;

  width:66%;
  height:66%;

  border-radius:50%;

  background:
    rgba(90,174,255,.28);

  filter:blur(70px);

  opacity:.62;

  z-index:-1;

  pointer-events:none;

  transition:
    transform .55s ease,
    opacity .55s ease;
}


.visual-card{
  position:relative;

  width:
    min(
      500px,
      100%
    );

  aspect-ratio:4/5;

  padding:10px;

  overflow:hidden;

  border-radius:38px;

  border:
    2px solid
    rgba(255,255,255,.88);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.25),
      rgba(255,255,255,.07)
    );

  box-shadow:
    0 38px 100px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,255,255,.12),
    0 0 45px rgba(72,153,255,.38),
    0 0 95px rgba(34,93,255,.16),
    inset 0 1px 0 rgba(255,255,255,.72);

  backdrop-filter:
    blur(14px);

  -webkit-backdrop-filter:
    blur(14px);

  transform:
    perspective(1200px)
    rotateY(-5deg)
    rotateX(1deg);

  transform-origin:center;

  cursor:pointer;

  transition:
    transform .55s cubic-bezier(.2,.8,.2,1),
    box-shadow .55s ease,
    border-color .55s ease,
    background .55s ease;
}


.visual-card::before{
  content:"";

  position:absolute;

  z-index:4;

  left:12%;
  right:12%;
  top:0;

  height:2px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.95),
      rgba(115,194,255,1),
      rgba(255,255,255,.95),
      transparent
    );

  opacity:.85;

  filter:
    drop-shadow(
      0 0 9px rgba(130,200,255,.95)
    );

  pointer-events:none;

  transition:
    opacity .4s ease,
    left .4s ease,
    right .4s ease;
}


.visual-card::after{
  content:"";

  position:absolute;

  z-index:5;

  top:-30%;
  left:-80%;

  width:46%;
  height:160%;

  pointer-events:none;

  transform:
    rotate(18deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.03),
      rgba(255,255,255,.28),
      rgba(255,255,255,.06),
      transparent
    );

  transition:
    left .8s cubic-bezier(.2,.8,.2,1);
}


.visual-card:hover{
  transform:
    perspective(1200px)
    rotateY(0deg)
    rotateX(0deg)
    translateY(-14px)
    scale(1.035);

  border-color:#fff;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.36),
      rgba(255,255,255,.11)
    );

  box-shadow:
    0 52px 130px rgba(0,0,0,.52),
    0 0 0 2px rgba(255,255,255,.18),
    0 0 70px rgba(90,166,255,.58),
    0 0 125px rgba(31,91,255,.28),
    inset 0 1px 0 rgba(255,255,255,.82);
}


.visual-card:hover::before{
  left:5%;
  right:5%;

  opacity:1;
}


.visual-card:hover::after{
  left:140%;
}


.hero-visual:has(.visual-card:hover)::before{
  opacity:1;

  transform:
    scale(1.13);
}


.hero-visual:has(.visual-card:hover)::after{
  opacity:.9;

  transform:
    scale(1.20);
}


.hero-main-img{
  position:relative;

  z-index:1;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  object-position:center;

  border-radius:27px;

  filter:
    saturate(1.12)
    contrast(1.08)
    brightness(1.05);

  box-shadow:
    0 15px 45px
    rgba(0,0,0,.30);

  transition:
    transform .65s cubic-bezier(.2,.8,.2,1),
    filter .55s ease;
}


.visual-card:hover .hero-main-img{
  transform:
    scale(1.026);

  filter:
    saturate(1.20)
    contrast(1.11)
    brightness(1.08);
}


/* =========================================================
   SCROLL BUTTON
========================================================= */

.scroll-cue{
  position:absolute;

  z-index:5;

  left:50%;
  bottom:20px;

  transform:
    translateX(-50%);

  width:42px;
  height:42px;

  display:grid;

  place-items:center;

  border-radius:50%;

  border:
    1px solid
    rgba(255,255,255,.2);

  background:
    rgba(255,255,255,.07);

  color:#fff;

  text-decoration:none;

  animation:
    scrollBounce 2s infinite;
}


@keyframes scrollBounce{
  50%{
    transform:
      translate(-50%,6px);
  }
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

.section{
  padding:
    100px
    0;
}


.section-head{
  max-width:800px;

  margin-bottom:45px;
}


.section-head h2,
.philosophy h2,
.history-panel h2,
.faq-intro h2,
.claims-copy h2,
.cta-section h2{
  margin:
    16px
    0;

  font-size:
    clamp(
      34px,
      4.8vw,
      58px
    );

  line-height:1.04;

  letter-spacing:-.045em;
}


.section-head p,
.philosophy p,
.history-panel > p,
.faq-intro p,
.claims-copy > p,
.cta-section p{
  color:var(--muted);

  font-size:17px;

  line-height:1.75;
}


.blue-text{
  color:var(--blue);
}


/* =========================================================
   INSURANCE
========================================================= */

.insurance-section{
  background:#fff;

  padding:
    72px
    0;
}


.insurance-section .section-head{
  max-width:760px;

  margin-bottom:32px;
}


.insurance-section .section-head h2{
  margin:
    14px
    0;

  font-size:
    clamp(
      32px,
      4vw,
      48px
    );

  line-height:1.06;

  letter-spacing:-.04em;
}


.insurance-section .section-head p{
  max-width:700px;

  margin-bottom:0;

  font-size:16px;

  line-height:1.65;
}


.insurance-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:14px;
}


.insurance-card{
  position:relative;

  min-height:220px;

  display:flex;

  flex-direction:column;

  padding:22px;

  overflow:hidden;

  border-radius:18px;

  border:
    1px solid
    var(--line);

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #f8faff
    );

  box-shadow:
    0 8px 24px
    rgba(25,52,110,.055);

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
}


.insurance-card::before{
  content:"";

  position:absolute;

  left:0;
  top:22px;

  width:3px;
  height:42px;

  border-radius:
    0
    5px
    5px
    0;

  background:
    linear-gradient(
      180deg,
      var(--blue-bright),
      #72a7ff
    );

  opacity:.75;

  transition:
    height .3s ease,
    opacity .3s ease;
}


.insurance-card:hover{
  transform:
    translateY(-5px);

  border-color:#b8ceff;

  background:#fff;

  box-shadow:
    0 20px 45px
    rgba(25,82,236,.12);
}


.insurance-card:hover::before{
  height:60px;

  opacity:1;
}


.insurance-icon{
  width:46px;
  height:46px;

  display:grid;

  place-items:center;

  margin-bottom:15px;

  border-radius:13px;

  background:
    linear-gradient(
      145deg,
      #edf3ff,
      #e4edff
    );

  font-size:21px;
}


.card-number{
  position:absolute;

  top:21px;
  right:21px;

  color:#bfcee9;

  font-size:11px;

  font-weight:900;

  letter-spacing:.08em;
}


.insurance-card h3{
  margin:
    0
    0
    7px;

  color:#1850da;

  font-size:18px;

  line-height:1.2;

  letter-spacing:-.015em;
}


.insurance-card p{
  margin:
    0
    0
    14px;

  color:#697181;

  font-size:14px;

  line-height:1.52;
}


.insurance-card .insurance-note{
  margin-bottom:4px;

  color:var(--green);

  font-size:12px;

  line-height:1.3;

  font-style:italic;
}


.insurance-card a{
  display:inline-flex;

  align-items:center;

  width:max-content;

  margin-top:auto;

  color:#1553e7;

  font-size:13px;

  font-weight:800;

  text-decoration:none;

  transition:
    color .25s ease;
}


.insurance-card a:hover{
  color:#0f43c9;
}


/* =========================================================
   PHILOSOPHY
========================================================= */

.philosophy{
  position:relative;

  overflow:hidden;

  color:#fff;

  background:
    linear-gradient(
      120deg,
      #02050d,
      #081b54 64%,
      #124ff7
    );
}


.philosophy::after{
  content:"";

  position:absolute;

  top:-30%;
  right:-15%;

  width:550px;
  height:550px;

  border-radius:50%;

  background:#1f6bff;

  filter:
    blur(100px);

  opacity:.22;
}


.philosophy-grid{
  position:relative;

  z-index:2;

  display:grid;

  grid-template-columns:
    .9fr
    1.1fr;

  gap:60px;

  align-items:center;
}


.philosophy p{
  color:#cbd8f4;
}


.pill-list{
  display:grid;

  gap:14px;
}


.pill{
  display:grid;

  grid-template-columns:
    90px
    1fr;

  align-items:center;

  overflow:hidden;

  border-radius:999px;

  color:#fff;

  background:
    linear-gradient(
      90deg,
      #72aa90,
      #65a387
    );

  box-shadow:
    0 15px 36px
    rgba(0,0,0,.18);
}


.pill span{
  display:grid;

  place-items:center;

  padding:16px;

  font-size:27px;

  border-right:
    1px solid
    rgba(255,255,255,.13);
}


.pill strong{
  padding:
    0
    25px;

  font-size:
    clamp(
      18px,
      2vw,
      23px
    );

  font-weight:500;
}


/* =========================================================
   ADVISOR
========================================================= */

.advisor-section{
  background:var(--cream);
}


.advisor-comparison{
  display:grid;

  grid-template-columns:
    1fr
    1fr;

  gap:20px;
}


.comparison-card{
  position:relative;

  min-height:470px;

  padding:38px;

  border-radius:28px;
}


.company-card{
  color:#fff;

  background:#303030;
}


.advisor-card{
  background:#fff;

  border:
    1px solid
    #ebe6dc;

  box-shadow:var(--shadow);
}


.comparison-label{
  display:inline-block;

  margin-bottom:26px;

  padding:
    7px
    10px;

  border-radius:999px;

  background:
    rgba(255,255,255,.12);

  font-size:11px;

  font-weight:800;

  text-transform:uppercase;

  letter-spacing:.1em;
}


.advisor-card .comparison-label{
  color:#174bcc;

  background:#edf3ff;
}


.comparison-icon{
  margin-bottom:20px;

  font-size:35px;
}


.comparison-card h3{
  margin:
    0
    0
    15px;

  font-size:
    clamp(
      30px,
      4vw,
      46px
    );

  line-height:1;

  letter-spacing:-.04em;
}


.company-card h3{
  color:#2862f3;
}


.advisor-card h3{
  color:#1856e3;
}


.comparison-card > p{
  font-size:17px;

  line-height:1.65;
}


.company-card > p{
  color:#eee;
}


.comparison-card ul{
  margin:
    28px
    0
    0;

  padding:0;

  list-style:none;
}


.comparison-card li{
  padding:
    11px
    0;

  border-bottom:
    1px solid
    rgba(128,128,128,.16);
}


.company-card li{
  color:#ddd;
}


.advisor-card li{
  color:#545d6c;
}


.comparison-highlight{
  display:inline-block;

  margin-top:25px;

  padding:
    11px
    15px;

  border-radius:10px;

  color:#568f76;

  background:#eaf4ee;

  font-style:italic;

  font-weight:700;
}


/* =========================================================
   CLAIMS
========================================================= */

.claims-section{
  color:#fff;

  background:
    linear-gradient(
      125deg,
      #07112e,
      #0e3ab4
    );
}


.claims-grid{
  display:grid;

  grid-template-columns:
    1fr
    .9fr;

  gap:60px;

  align-items:center;
}


.claims-copy > p{
  color:#cbd8f7;
}


.claim-features{
  display:grid;

  gap:10px;

  margin-top:30px;
}


.claim-features div{
  display:grid;

  grid-template-columns:
    55px
    1fr;

  gap:14px;

  align-items:center;

  padding:15px;

  border-radius:13px;

  background:
    rgba(255,255,255,.06);
}


.claim-features strong{
  color:#80b6ff;
}


.claim-features span{
  color:#e7eeff;
}


.claims-card{
  padding:38px;

  border-radius:28px;

  border:
    1px solid
    rgba(255,255,255,.16);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.04)
    );

  box-shadow:
    0 30px 80px
    rgba(0,0,0,.25);

  backdrop-filter:
    blur(13px);
}


.claims-mini{
  color:#86baff;

  font-size:11px;

  font-weight:800;

  text-transform:uppercase;

  letter-spacing:.1em;
}


.claims-card h3{
  margin:
    18px
    0;

  font-size:
    clamp(
      30px,
      4vw,
      46px
    );

  line-height:1.05;
}


.claims-card p{
  color:#ccd7ef;

  line-height:1.6;
}


.claim-check{
  margin-top:10px;

  padding:13px;

  border-radius:10px;

  background:
    rgba(255,255,255,.07);
}

/* =========================================================
   BONUS
========================================================= */

.bonus-section{
  position:relative;

  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #fbf8f0 0%,
      #f7f4ec 100%
    );
}


.bonus-grid{
  display:grid;

  grid-template-columns:
    .9fr
    1.1fr;

  gap:70px;

  align-items:center;
}


/* =========================================================
   IMAGEN BONUS
========================================================= */

.bonus-logo{
  position:relative;

  display:grid;

  place-items:center;
}


/* halo decorativo */

.bonus-logo::before{
  content:"";

  position:absolute;

  width:82%;
  height:82%;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(38,101,217,.20),
      rgba(38,101,217,.08) 45%,
      transparent 72%
    );

  filter:blur(28px);

  z-index:0;
}


/* contenedor principal */

.bonus-image-wrap{
  position:relative;

  z-index:1;

  width:
    min(
      430px,
      90vw
    );

  height:520px;

  overflow:hidden;

  border-radius:38px;

  border:
    1px solid
    rgba(38,101,217,.15);

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #edf3ff
    );

  box-shadow:
    0 35px 90px
    rgba(16,36,84,.18),
    0 0 0 1px
    rgba(255,255,255,.7);

  transition:
    transform .4s ease,
    box-shadow .4s ease;
}


.bonus-image-wrap:hover{
  transform:
    translateY(-8px);

  box-shadow:
    0 45px 110px
    rgba(16,36,84,.24),
    0 0 40px
    rgba(38,101,217,.12);
}


/* imagen completa */

.bonus-logo-image{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;

  object-position:
    center
    bottom;

  padding:
    10px;

  transition:
    transform .45s ease;
}


.bonus-image-wrap:hover
.bonus-logo-image{
  transform:
    scale(1.025);
}


/* =========================================================
   TEXTO BONUS
========================================================= */

.bonus-copy h2{
  margin:
    15px
    0;

  color:var(--green);

  font-size:
    clamp(
      46px,
      7vw,
      82px
    );

  line-height:.95;

  letter-spacing:-.055em;
}


.bonus-copy h2 span{
  color:#2665d9;
}


.bonus-copy > p{
  max-width:640px;

  color:#32363f;

  font-size:20px;

  line-height:1.6;
}


.bonus-highlight{
  display:inline-block;

  margin:
    8px
    0
    20px;

  padding:
    6px
    10px;

  color:#fff;

  background:#2661d6;

  font-size:18px;

  border-radius:4px;
}


.bonus-action{
  margin-top:8px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

  .bonus-grid{
    grid-template-columns:1fr;

    gap:45px;
  }


  .bonus-copy{
    text-align:center;
  }


  .bonus-copy > p{
    margin-left:auto;
    margin-right:auto;
  }


  .bonus-logo{
    order:-1;
  }


  .bonus-image-wrap{
    width:
      min(
        420px,
        86vw
      );

    height:500px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

  .bonus-grid{
    gap:32px;
  }


  .bonus-image-wrap{
    width:
      min(
        360px,
        88vw
      );

    height:430px;

    border-radius:28px;
  }


  .bonus-logo-image{
    padding:6px;
  }


  .bonus-copy h2{
    font-size:
      clamp(
        42px,
        13vw,
        58px
      );
  }


  .bonus-copy > p{
    font-size:16px;

    line-height:1.55;
  }


  .bonus-highlight{
    font-size:15px;
  }

}


/* =========================================================
   MOBILE PEQUEÑO
========================================================= */

@media(max-width:430px){

  .bonus-image-wrap{
    width:100%;

    max-width:330px;

    height:395px;

    border-radius:24px;
  }


  .bonus-logo-image{
    object-position:
      center
      bottom;
  }

}

/* =========================================================
   HISTORY
========================================================= */

.history-section{
  background:#fff;
}


.history-grid{
  display:grid;

  grid-template-columns:
    1.05fr
    .95fr;

  gap:70px;

  align-items:center;
}


.timeline{
  display:grid;

  gap:12px;

  margin-top:30px;
}


.timeline-item{
  display:grid;

  grid-template-columns:
    70px
    1fr;

  gap:16px;

  padding:18px;

  border:
    1px solid
    var(--line);

  border-radius:16px;
}


.timeline-item.active{
  background:#f2f6ff;

  border-color:#bcd1ff;
}


.timeline-item > span{
  color:#1551df;

  font-size:18px;

  font-weight:900;
}


.timeline-item strong{
  display:block;

  margin-bottom:5px;
}


.timeline-item p{
  margin:0;

  color:#727a88;

  line-height:1.5;
}


.history-visual{
  position:relative;

  min-height:560px;
}


.history-photo-card{
  position:absolute;

  inset:
    0
    20px
    40px
    0;

  overflow:hidden;

  border-radius:30px;

  background:#07102b;

  box-shadow:
    0 30px 90px
    rgba(18,49,135,.24);
}


.history-photo{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:
    transform .6s ease;
}


.history-photo-card:hover
.history-photo{
  transform:
    scale(1.035);
}


.history-photo-card::after{
  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.02) 35%,
      rgba(2,7,22,.83) 100%
    );
}


.history-photo-overlay{
  position:absolute;

  z-index:2;

  left:30px;
  right:30px;
  bottom:32px;

  color:#fff;
}


.history-photo-overlay span{
  display:block;

  margin-bottom:7px;

  color:#8bbaff;

  font-size:12px;

  font-weight:900;

  letter-spacing:.12em;
}


.history-photo-overlay strong{
  display:block;

  font-size:
    clamp(
      35px,
      5vw,
      58px
    );

  line-height:1;

  letter-spacing:-.04em;
}


.history-photo-overlay p{
  margin:
    8px
    0
    0;

  color:
    rgba(255,255,255,.88);
}


.floating-card{
  position:absolute;

  right:0;
  bottom:0;

  padding:
    18px
    22px;

  border-radius:16px;

  background:#fff;

  color:#1b2540;

  font-size:13px;

  font-weight:800;

  box-shadow:var(--shadow);
}


/* =========================================================
   BRAND MESSAGE
========================================================= */

.brand-message{
  padding:
    110px
    0;

  text-align:center;

  color:#fff;

  background:
    linear-gradient(
      120deg,
      #03102f,
      #0d4be2
    );
}


.brand-message span{
  color:#82b8ff;

  font-size:13px;

  font-weight:900;

  letter-spacing:.2em;
}


.brand-message h2{
  max-width:900px;

  margin:
    20px
    auto;

  font-size:
    clamp(
      38px,
      5vw,
      66px
    );

  line-height:1.05;

  letter-spacing:-.045em;
}


.brand-message p{
  margin:0;

  color:#cbd9f8;

  font-size:20px;

  font-style:italic;
}


/* =========================================================
   TESTIMONIALS
=========================================================

.testimonials-section{
  background:#f6f8fc;
}


.testimonial-wrap{
  display:grid;

  grid-template-columns:
    50px
    1fr
    50px;

  gap:16px;

  align-items:center;
}


.testimonial-track{
  min-height:270px;
}


.testimonial{
  display:none;

  padding:38px;

  border-radius:24px;

  background:#fff;

  box-shadow:var(--shadow);
}


.testimonial.active{
  display:block;

  animation:
    fadeTestimonial .4s ease;
}


@keyframes fadeTestimonial{
  from{
    opacity:0;

    transform:
      translateX(12px);
  }

  to{
    opacity:1;

    transform:none;
  }
}


.stars{
  color:#1557e9;

  letter-spacing:.13em;
}


.testimonial blockquote{
  margin:
    18px
    0;

  font-size:
    clamp(
      24px,
      3.2vw,
      38px
    );

  line-height:1.3;

  color:#141a2a;
}


.testimonial span{
  color:#707886;

  font-weight:700;
}


.slider-btn{
  width:48px;
  height:48px;

  border:0;

  border-radius:50%;

  background:#fff;

  font-size:31px;

  cursor:pointer;

  box-shadow:
    0 10px 30px
    rgba(0,0,0,.09);
}
 */

/* =========================================================
   FAQ
========================================================= */

.faq-section{
  background:#fff;
}


.faq-grid{
  display:grid;

  grid-template-columns:
    .8fr
    1.2fr;

  gap:70px;
}


.accordion details{
  border-bottom:
    1px solid
    var(--line);
}


.accordion summary{
  padding:
    24px
    0;

  list-style:none;

  cursor:pointer;

  font-size:18px;

  font-weight:800;
}


.accordion summary::-webkit-details-marker{
  display:none;
}


.accordion summary::after{
  content:"+";

  float:right;

  color:#1655e6;

  font-size:25px;
}


.accordion details[open]
summary::after{
  content:"−";
}


.accordion p{
  margin:0;

  padding:
    0
    0
    24px;

  color:#697181;

  line-height:1.7;
}


/* =========================================================
   COTIZAR / CONTACTO
   VERSION UNIFICADA - SOLO ASESOR + WHATSAPP
========================================================= */

.cta-section{
  position:relative;
  overflow:hidden;
  padding:96px 0 100px;
  color:var(--text);

  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(62,128,255,.17),
      transparent 30%
    ),
    radial-gradient(
      circle at 5% 84%,
      rgba(98,163,255,.10),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #fafdff 0%,
      #edf4ff 52%,
      #f8fbff 100%
    );

  border-top:1px solid #dce7fa;
}

.cta-section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(190px,35vw);
  height:5px;
  transform:translateX(-50%);
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#7bb0ff,#1955e8,#7bb0ff);
  box-shadow:0 8px 28px rgba(35,101,255,.25);
  z-index:5;
}

.cta-section::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;

  background-image:
    linear-gradient(rgba(25,85,232,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(25,85,232,.04) 1px,transparent 1px);

  background-size:44px 44px;

  mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 82%);
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 82%);
}

.cta-glow{
  position:absolute;
  right:-130px;
  top:-190px;
  width:540px;
  height:540px;
  border-radius:50%;
  background:rgba(55,129,255,.18);
  filter:blur(105px);
  opacity:.75;
  pointer-events:none;
}

.cta-orb{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  filter:blur(80px);
  opacity:.16;
}

.cta-orb-a{
  width:340px;
  height:340px;
  left:-150px;
  bottom:-140px;
  background:#75a8ff;
}

.cta-orb-b{
  width:300px;
  height:300px;
  right:6%;
  top:12%;
  background:#b6d6ff;
}

.cta-content{
  position:relative;
  z-index:2;
}

/* INTRO */

.cta-intro{
  max-width:870px;
  margin:0 auto 46px;
  text-align:center;
}

.cta-intro .eyebrow{
  margin-bottom:6px;
  color:#1546c4;
  border:1px solid #d3e1ff;
  background:#eaf1ff;
  box-shadow:0 7px 20px rgba(25,85,232,.08);
}

.cta-intro h2{
  max-width:900px;
  margin:18px auto 18px;
  color:#07112e;
  font-size:clamp(39px,5.3vw,65px);
  line-height:1.02;
  letter-spacing:-.047em;
}

.cta-intro > p{
  max-width:760px;
  margin:0 auto;
  color:#5f6d85;
  font-size:17px;
  line-height:1.72;
}

/* CONTENEDOR UNICO */

.quote-options,
.quote-options-single{
  display:block;
  max-width:980px;
  margin:0 auto;
}

.quote-card{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  isolation:isolate;
}

.quote-card-unified{
  min-height:auto;
  padding:38px;
  color:#fff;

  border:1px solid rgba(255,255,255,.18);

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(111,183,255,.27),
      transparent 30%
    ),
    radial-gradient(
      circle at 8% 94%,
      rgba(59,121,255,.20),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      #07132f 0%,
      #0a2b75 47%,
      #1355df 100%
    );

  box-shadow:
    0 34px 90px rgba(13,54,148,.28),
    0 0 0 1px rgba(255,255,255,.04);

  transition:
    transform .38s cubic-bezier(.2,.8,.2,1),
    box-shadow .38s ease,
    border-color .38s ease;
}

.quote-card-unified::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  z-index:4;
  background:linear-gradient(90deg,#6eadff,#ffffff,#6eadff);
}

.quote-card-unified::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-120px;
  top:-120px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:rgba(111,183,255,.12);
  filter:blur(4px);
  pointer-events:none;
}

.quote-card-unified:hover{
  transform:translateY(-7px);
  border-color:rgba(255,255,255,.32);
  box-shadow:
    0 44px 105px rgba(12,51,143,.34),
    0 0 60px rgba(48,115,255,.14);
}

/* CABECERA */

.quote-card-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:24px;
}

.quote-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.whatsapp-top-icon{
  padding:8px;
}

.whatsapp-top-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.quote-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.quote-badge-light{
  color:#fff;
  border:1px solid rgba(255,255,255,.19);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}

/* TITULO DE TARJETA */

.quote-card-heading{
  position:relative;
  z-index:2;
  margin-bottom:28px;
}

.quote-card-heading-unified{
  max-width:760px;
}

.quote-kicker{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.quote-kicker-light{
  color:#96c4ff;
}

.quote-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,50px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.quote-card-heading p{
  max-width:720px;
  margin:0;
  color:rgba(228,237,255,.86);
  font-size:15px;
  line-height:1.68;
}

/* LOGOS */

.company-logo-grid,
.unified-companies{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:24px;
}

.company-logo-card{
  position:relative;
  min-width:0;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.20);
  background:#fff;
  box-shadow:0 9px 24px rgba(0,0,0,.15);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.company-logo-card:hover{
  transform:translateY(-4px) scale(1.015);
  border-color:#9fbeff;
  box-shadow:0 16px 35px rgba(0,0,0,.22);
}

.company-logo{
  display:block;
  width:92%;
  height:88px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
  transition:transform .28s ease;
}

.company-logo-card:hover .company-logo{
  transform:scale(1.06);
}

.company-logo-sancor{
  width:76%;
  height:92px;
}

.company-logo-rivadavia{
  width:95%;
  height:82px;
}

.company-logo-zurich{
  width:90%;
  height:86px;
}

.company-logo-terrawind{
  width:100%;
  height:82px;
}

.company-logo-federacion{
  width:96%;
  height:88px;
}

.company-logo-atm{
  width:82%;
  height:94px;
}

.company-logo-mercantil{
  width:100%;
  height:86px;
}

.company-logo-prudencia{
  width:94%;
  height:96px;
}

.company-logo-placeholder{
  flex-direction:column;
  gap:3px;
  color:#12429f;
  background:linear-gradient(145deg,#ffffff,#f1f6ff);
}

.nivel-placeholder{
  color:#164fae;
  font-size:30px;
  font-weight:900;
  letter-spacing:.08em;
}

.company-logo-placeholder small{
  color:#62728f;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
}

/* BENEFICIOS */

.quote-benefits{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:4px 0 24px;
}

.quote-benefits > div{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-width:0;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(255,255,255,.075);
}

.quote-benefits span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#1043ae;
  background:#fff;
  font-size:12px;
  font-weight:900;
}

.quote-benefits p{
  margin:0;
  color:rgba(234,242,255,.88);
  font-size:11px;
  line-height:1.45;
}

/* BOTON WHATSAPP */

.quote-btn{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  width:100%;
  padding:16px 19px;
  border-radius:15px;
  text-decoration:none;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.quote-btn:hover{
  transform:translateY(-2px);
}

.quote-btn-whatsapp,
.quote-btn-whatsapp-main{
  color:#fff;
  background:linear-gradient(135deg,#087c35,#13a64d);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 16px 36px rgba(0,120,55,.28);
}

.quote-btn-whatsapp:hover,
.quote-btn-whatsapp-main:hover{
  background:linear-gradient(135deg,#086d31,#16b957);
  box-shadow:0 22px 48px rgba(0,120,55,.36);
}

.whatsapp-btn-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.whatsapp-btn-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  overflow:hidden;
  padding:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 15px rgba(0,0,0,.16);
}

.whatsapp-btn-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.quote-btn-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:2px;
}

.quote-btn-copy small{
  color:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.quote-btn-copy strong{
  color:#fff;
  font-size:15px;
  font-weight:900;
}

.quote-btn-arrow{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  border-radius:50%;
  font-size:20px;
  transition:transform .25s ease;
}

.whatsapp-arrow{
  color:#087d36;
  background:#fff;
}

.quote-btn:hover .quote-btn-arrow{
  transform:translateX(4px);
}

/* AYUDA */

.quote-helper{
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
  margin:30px auto 0;
  padding:11px 17px;
  border:1px solid #d9e5fa;
  border-radius:999px;
  color:#65738c;
  background:rgba(255,255,255,.80);
  text-align:center;
  box-shadow:0 9px 26px rgba(18,63,150,.06);
  font-size:12px;
}

.quote-helper strong{
  color:#164fc7;
}

/* TABLET */

@media(max-width:1000px){

  .quote-options,
  .quote-options-single{
    max-width:760px;
  }

  .company-logo-grid,
  .unified-companies{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .quote-benefits{
    grid-template-columns:1fr;
  }

}

/* MOBILE */

@media(max-width:760px){

  .cta-section{
    padding:66px 0 70px;
  }

  .cta-intro{
    margin-bottom:30px;
  }

  .cta-intro h2{
    margin:14px 0;
    font-size:clamp(32px,9vw,44px);
  }

  .cta-intro > p{
    font-size:14px;
    line-height:1.6;
  }

  .quote-card-unified{
    padding:22px;
    border-radius:22px;
  }

  .quote-card-top{
    margin-bottom:19px;
  }

  .quote-icon{
    width:52px;
    height:52px;
    border-radius:14px;
  }

  .quote-badge{
    padding:7px 9px;
    font-size:8.5px;
  }

  .quote-card-heading{
    margin-bottom:20px;
  }

  .quote-card h3{
    font-size:clamp(28px,7vw,36px);
  }

  .quote-card-heading p{
    font-size:12.5px;
  }

  .company-logo-grid,
  .unified-companies{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .company-logo-card{
    min-height:100px;
    padding:7px;
    border-radius:12px;
  }

  .company-logo{
    width:96%;
    height:74px;
  }

  .company-logo-sancor{
    width:78%;
    height:80px;
  }

  .company-logo-atm{
    width:82%;
    height:82px;
  }

  .company-logo-prudencia{
    width:94%;
    height:82px;
  }

  .unified-companies .company-logo-card:last-child{
    grid-column:1 / -1;
  }

  .quote-benefits{
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:18px;
  }

  .quote-btn{
    padding:12px 14px;
  }

  .whatsapp-btn-icon{
    width:42px;
    height:42px;
  }

  .quote-btn-copy strong{
    font-size:12.5px;
  }

  .quote-helper{
    margin-top:20px;
    border-radius:15px;
    font-size:10.5px;
  }

}

/* MOBILE PEQUEÑO */

@media(max-width:430px){

  .cta-section{
    padding:54px 0 58px;
  }

  .cta-intro{
    margin-bottom:25px;
  }

  .cta-intro h2{
    font-size:30px;
  }

  .quote-card-unified{
    padding:17px;
    border-radius:18px;
  }

  .quote-card-top{
    gap:8px;
    margin-bottom:16px;
  }

  .quote-icon{
    width:44px;
    height:44px;
  }

  .quote-badge{
    max-width:160px;
    font-size:7.5px;
    text-align:center;
  }

  .quote-card h3{
    font-size:25px;
  }

  .quote-card-heading p{
    font-size:11px;
  }

  .company-logo-grid,
  .unified-companies{
    gap:7px;
  }

  .company-logo-card{
    min-height:88px;
    padding:6px;
  }

  .company-logo{
    width:98%;
    height:68px;
  }

  .company-logo-sancor{
    width:78%;
    height:72px;
  }

  .company-logo-rivadavia,
  .company-logo-terrawind,
  .company-logo-federacion,
  .company-logo-mercantil{
    width:100%;
  }

  .company-logo-zurich,
  .company-logo-prudencia{
    width:96%;
  }

  .company-logo-atm{
    width:84%;
    height:72px;
  }

  .company-logo-prudencia{
    height:75px;
  }

  .nivel-placeholder{
    font-size:21px;
  }

  .quote-benefits > div{
    grid-template-columns:25px minmax(0,1fr);
    gap:8px;
    padding:9px 10px;
  }

  .quote-benefits span{
    width:24px;
    height:24px;
    font-size:10px;
  }

  .quote-benefits p{
    font-size:9.5px;
  }

  .quote-btn{
    gap:8px;
    padding:10px 11px;
  }

  .whatsapp-btn-left{
    gap:8px;
  }

  .whatsapp-btn-icon{
    width:38px;
    height:38px;
  }

  .quote-btn-arrow{
    width:32px;
    height:32px;
    font-size:17px;
  }

  .quote-btn-copy small{
    font-size:7px;
  }

  .quote-btn-copy strong{
    font-size:11px;
  }

}


/* =========================================================
   FOOTER
========================================================= */
/* =========================================================
   FOOTER COMPACTO PREMIUM
========================================================= */

.site-footer{
  position:relative;

  padding:
    30px
    0
    14px;

  color:#fff;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 88% 30%,
      rgba(38,101,255,.13),
      transparent 28%
    ),
    linear-gradient(
      110deg,
      #030712 0%,
      #07112d 58%,
      #081a48 100%
    );
}


/* =========================================================
   LINEA SUPERIOR
========================================================= */

.site-footer::before{
  content:"";

  position:absolute;

  top:0;
  left:0;
  right:0;

  height:2px;

  background:
    linear-gradient(
      90deg,
      transparent 5%,
      #2365ff 40%,
      #68a7ff 55%,
      transparent 95%
    );
}


/* =========================================================
   CONTENIDO PRINCIPAL
========================================================= */

.footer-main{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:45px;
}


/* =========================================================
   MARCA
========================================================= */

.footer-brand-area{
  display:flex;

  align-items:center;

  gap:24px;

  min-width:0;
}


.footer-brand{
  display:flex;

  align-items:center;

  gap:11px;

  flex-shrink:0;

  text-decoration:none;
}


.footer-logo{
  width:48px;
  height:48px;

  min-width:48px;

  object-fit:cover;

  object-position:center 18%;

  border-radius:10px;

  background:#07102b;

  box-shadow:
    0 7px 22px
    rgba(0,0,0,.30);

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


.footer-brand:hover
.footer-logo{
  transform:
    translateY(-2px)
    scale(1.05);

  box-shadow:
    0 10px 28px
    rgba(34,100,255,.20);
}


.footer-brand-copy{
  display:flex;

  flex-direction:column;

  line-height:1;
}


.footer-brand-copy strong{
  color:#fff;

  font-size:17px;

  font-weight:900;

  letter-spacing:.08em;
}


.footer-brand-copy span{
  margin-top:5px;

  color:#8e9ab4;

  font-size:10px;
}


.footer-brand-area p{
  max-width:360px;

  margin:0;

  padding-left:24px;

  border-left:
    1px solid
    rgba(255,255,255,.10);

  color:#8997b2;

  font-size:12px;

  line-height:1.55;
}


/* =========================================================
   CONTACTO
========================================================= */

.footer-contact-area{
  display:flex;

  align-items:center;

  gap:15px;

  flex-shrink:0;
}


.footer-contact-label{
  color:#7886a2;

  font-size:9px;

  font-weight:800;

  text-transform:uppercase;

  letter-spacing:.12em;
}


/* =========================================================
   BOTONES EN LINEA
========================================================= */

.footer-social-actions{
  display:flex;

  align-items:center;

  gap:8px;
}


.footer-social-btn{
  display:flex;

  align-items:center;

  gap:8px;

  min-height:44px;

  padding:
    6px
    13px
    6px
    7px;

  border:
    1px solid
    rgba(255,255,255,.10);

  border-radius:999px;

  color:#dbe5f8;

  text-decoration:none;

  background:
    rgba(255,255,255,.045);

  box-shadow:
    0 7px 18px
    rgba(0,0,0,.14);

  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}


.footer-social-btn img{
  width:31px;
  height:31px;

  display:block;

  flex-shrink:0;

  padding:2px;

  border-radius:50%;

  object-fit:contain;

  background:#fff;
}


.footer-social-btn span{
  font-size:11px;

  font-weight:700;

  white-space:nowrap;
}


.footer-social-btn:hover{
  transform:
    translateY(-3px);

  color:#fff;
}


/* =========================================================
   WHATSAPP
========================================================= */

.whatsapp-btn:hover{
  border-color:
    rgba(37,211,102,.42);

  background:
    rgba(37,211,102,.08);

  box-shadow:
    0 10px 25px
    rgba(37,211,102,.10);
}


/* =========================================================
   MAPS
========================================================= */

.maps-btn:hover{
  border-color:
    rgba(66,133,244,.46);

  background:
    rgba(66,133,244,.09);

  box-shadow:
    0 10px 25px
    rgba(66,133,244,.11);
}


/* =========================================================
   PARTE INFERIOR
========================================================= */

.footer-bottom{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;

  margin-top:23px;

  padding-top:13px;

  border-top:
    1px solid
    rgba(255,255,255,.07);

  color:#606d86;

  font-size:10px;
}


.footer-bottom a{
  display:flex;

  align-items:center;

  gap:5px;

  color:#7e8ca7;

  text-decoration:none;

  transition:
    color .2s ease,
    transform .2s ease;
}


.footer-bottom a:hover{
  color:#fff;

  transform:
    translateY(-1px);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:900px){

  .footer-main{
    gap:25px;
  }


  .footer-brand-area p{
    display:none;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

  .site-footer{
    padding:
      25px
      0
      14px;
  }


  .footer-main{
    flex-direction:column;

    align-items:flex-start;

    gap:20px;
  }


  .footer-brand-area{
    width:100%;

    justify-content:space-between;
  }


  .footer-brand-area p{
    display:none;
  }


  .footer-contact-area{
    width:100%;

    justify-content:space-between;
  }


  .footer-social-actions{
    gap:7px;
  }


  .footer-social-btn{
    min-height:41px;

    padding:
      5px
      11px
      5px
      6px;
  }


  .footer-social-btn img{
    width:29px;
    height:29px;
  }


  .footer-bottom{
    margin-top:20px;

    font-size:9px;
  }

}


/* =========================================================
   MOBILE PEQUEÑO
========================================================= */

@media(max-width:430px){

  .footer-contact-label{
    display:none;
  }


  .footer-contact-area{
    justify-content:flex-start;
  }


  .footer-social-btn{
    min-height:40px;
  }


  .footer-social-btn span{
    font-size:10px;
  }


  .footer-bottom{
    align-items:flex-start;

    flex-direction:column;

    gap:7px;
  }

}

/* =========================================================
   RESPONSIVE FINAL FIXES
   TEKRA SEGUROS
   Estas reglas van al FINAL del archivo para corregir
   desbordes y secciones rotas en tablet y celular.
========================================================= */


/* =========================================================
   SEGURIDAD GLOBAL RESPONSIVE
========================================================= */

html,
body{
  max-width:100%;
  overflow-x:hidden;
}

main,
section,
header,
footer{
  max-width:100%;
}

.container{
  width:min(1180px,92%);
}

img{
  max-width:100%;
  height:auto;
}


/* =========================================================
   TABLET GENERAL
========================================================= */

@media(max-width:1000px){

  .hero-grid,
  .philosophy-grid,
  .claims-grid,
  .bonus-grid,
  .history-grid,
  .faq-grid{
    grid-template-columns:1fr;
  }

  .advisor-comparison{
    grid-template-columns:1fr;
  }

  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .quote-options{
    grid-template-columns:1fr;
    max-width:720px;
  }

  .insurance-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-grid{
    gap:38px;
  }

  .hero-copy{
    max-width:760px;
  }

  .hero-visual{
    width:100%;
  }

  .visual-card{
    width:min(430px,82vw);
    transform:none;
  }

  .visual-card:hover{
    transform:translateY(-6px);
  }

  .philosophy-grid,
  .claims-grid,
  .bonus-grid,
  .history-grid,
  .faq-grid{
    gap:42px;
  }

  .history-visual{
    width:100%;
    min-height:520px;
  }

  .footer-brand-area p{
    display:none;
  }
}


/* =========================================================
   MOBILE PRINCIPAL
========================================================= */

@media(max-width:760px){

  /* ---------- ESTRUCTURA GLOBAL ---------- */

  .container{
    width:92%;
  }

  .section{
    padding:58px 0;
  }

  .section-head{
    margin-bottom:28px;
  }

  .section-head h2,
  .philosophy h2,
  .history-panel h2,
  .faq-intro h2,
  .claims-copy h2,
  .cta-section h2{
    font-size:clamp(30px,8.5vw,42px);
    line-height:1.04;
    overflow-wrap:anywhere;
  }

  .section-head p,
  .philosophy p,
  .history-panel > p,
  .faq-intro p,
  .claims-copy > p,
  .cta-section p{
    font-size:14px;
    line-height:1.6;
  }


  /* =======================================================
     HEADER / NAV
  ======================================================= */

  .site-header{
    background:rgba(4,8,20,.97);
  }

  .nav-wrap{
    position:relative;
    height:70px;
    gap:12px;
  }

  .nav-logo{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    max-width:44px;
    max-height:44px;
    flex:0 0 44px;
  }

  .brand{
    gap:9px;
  }

  .brand-copy strong{
    font-size:16px;
  }

  .brand-copy small{
    font-size:9px;
  }

  .nav-toggle{
    display:block;
    position:relative;
    z-index:1002;
    flex:0 0 44px;
  }

  .menu{
    position:absolute;
    top:70px;
    left:0;
    right:0;

    display:grid;
    grid-template-columns:1fr;
    gap:0;

    width:100%;
    max-height:calc(100vh - 70px);
    overflow-y:auto;

    margin:0;
    padding:10px 16px 18px;

    background:rgba(4,8,20,.995);

    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.08);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transform:translateY(-8px);

    transition:
      opacity .22s ease,
      visibility .22s ease,
      transform .22s ease;
  }

  .site-header.nav-open .menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .menu li{
    width:100%;
  }

  .menu a{
    display:block;
    width:100%;
    padding:12px 8px;
    font-size:14px;
    white-space:normal;
  }

  .menu-cta{
    margin-top:7px;
    text-align:center;
  }

  .site-header.nav-open .nav-toggle span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .site-header.nav-open .nav-toggle span:nth-child(2){
    opacity:0;
  }

  .site-header.nav-open .nav-toggle span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }


  /* =======================================================
     HERO
  ======================================================= */

  .hero{
    min-height:auto;
    padding:105px 0 72px;
  }

  .hero-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .hero-copy{
    width:100%;
    min-width:0;
  }

  .hero h1{
    margin:17px 0 18px;
    font-size:clamp(40px,11.5vw,58px);
    line-height:.98;
  }

  .hero-copy > p{
    max-width:100%;
    margin-bottom:22px;
    font-size:17px;
    line-height:1.65;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:min(100%,320px);
  }

  .hero-actions .btn{
    width:100%;
  }

  .hero-trust{
    gap:8px;
    margin-top:20px;
  }

  .hero-trust span{
    font-size:10px;
    padding:7px 10px;
  }

  .hero-visual{
    order:2;
    width:100%;
    margin:0 auto;
  }

  .visual-card{
    width:min(330px,82vw);
    aspect-ratio:4/5;
    margin:auto;
    padding:7px;
    border-radius:28px;
    transform:none;
  }

  .visual-card:hover{
    transform:none;
  }

  .hero-main-img{
    object-fit:contain;
    object-position:center;
    border-radius:20px;
    background:#07112e;
  }

  .hero-visual::before{
    width:90%;
    height:80%;
    opacity:.55;
    filter:blur(42px);
  }

  .hero-visual::after{
    display:none;
  }


  /* =======================================================
     SEGUROS - 2 COLUMNAS
  ======================================================= */

  .insurance-section{
    padding:52px 0;
  }

  .insurance-section .section-head h2{
    font-size:clamp(29px,8vw,38px);
  }

  .insurance-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(5,auto);
    grid-auto-flow:column;
    gap:10px;
    align-items:stretch;
  }

  .insurance-card{
    min-width:0;
    min-height:190px;
    padding:15px;
    border-radius:16px;
  }

  .insurance-card::before{
    top:15px;
    height:34px;
  }

  .insurance-icon{
    width:40px;
    height:40px;
    margin-bottom:11px;
    border-radius:11px;
    font-size:18px;
  }

  .card-number{
    top:15px;
    right:13px;
    font-size:9px;
  }

  .insurance-card h3{
    padding-right:18px;
    font-size:15px;
    line-height:1.16;
    overflow-wrap:anywhere;
  }

  .insurance-card p{
    font-size:11.5px;
    line-height:1.42;
  }

  .insurance-card .insurance-note{
    font-size:10.5px;
  }

  .insurance-card a{
    width:auto;
    max-width:100%;
    font-size:10.5px;
    line-height:1.3;
    overflow-wrap:anywhere;
  }


  /* =======================================================
     PHILOSOPHY
  ======================================================= */

  .philosophy{
    padding:58px 0;
  }

  .philosophy-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .philosophy h2{
    max-width:100%;
    font-size:clamp(34px,10vw,46px);
  }

  .philosophy p{
    max-width:100%;
  }

  .pill-list{
    width:100%;
    gap:10px;
  }

  .pill{
    width:100%;
    min-width:0;
    grid-template-columns:64px minmax(0,1fr);
  }

  .pill span{
    padding:13px 10px;
    font-size:22px;
  }

  .pill strong{
    min-width:0;
    padding:0 16px;
    font-size:15px;
    line-height:1.2;
    white-space:normal;
    overflow-wrap:anywhere;
  }


  /* =======================================================
     ASESOR
  ======================================================= */

  .advisor-comparison{
    grid-template-columns:1fr;
    gap:14px;
  }

  .comparison-card{
    min-height:auto;
    padding:25px;
    border-radius:22px;
  }

  .comparison-card h3{
    font-size:clamp(28px,8vw,38px);
  }

  .comparison-card > p{
    font-size:15px;
  }


  /* =======================================================
     SINIESTROS / CLAIMS
  ======================================================= */

  .claims-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .claims-copy,
  .claims-visual{
    width:100%;
    min-width:0;
  }

  .claim-features{
    margin-top:23px;
  }

  .claim-features div{
    grid-template-columns:45px minmax(0,1fr);
    gap:10px;
    padding:13px;
  }

  .claim-features span{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .claims-card{
    width:100%;
    padding:25px;
    border-radius:22px;
  }

  .claims-card h3{
    font-size:clamp(30px,9vw,42px);
  }

  .claim-check{
    font-size:14px;
  }


  /* =======================================================
     BONUS
  ======================================================= */

  .bonus-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .bonus-logo{
    order:-1;
  }

  .bonus-image-wrap{
    width:min(340px,88vw);
    height:auto;
    aspect-ratio:4/5;
    border-radius:27px;
  }

  .bonus-logo-image{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    padding:5px;
  }

  .bonus-copy{
    text-align:center;
  }

  .bonus-copy > p{
    margin-left:auto;
    margin-right:auto;
    font-size:16px;
  }

  .bonus-copy h2{
    font-size:clamp(44px,13vw,60px);
  }


  /* =======================================================
     PROCESS
  ======================================================= */

  .process-grid{
    grid-template-columns:1fr;
    gap:12px;
  }


  /* =======================================================
     HISTORIA
  ======================================================= */

  .history-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .history-panel,
  .history-visual{
    width:100%;
    min-width:0;
  }

  .timeline{
    gap:10px;
  }

  .timeline-item{
    grid-template-columns:64px minmax(0,1fr);
    gap:12px;
    padding:15px;
  }

  .timeline-item > span{
    font-size:16px;
  }

  .timeline-item strong{
    font-size:14px;
  }

  .timeline-item p{
    font-size:13px;
  }

  .history-visual{
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .history-photo-card{
    position:relative;
    inset:auto;

    width:100%;
    height:auto;
    aspect-ratio:4/5;

    border-radius:24px;
  }

  .history-photo{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:#07102b;
  }

  .history-photo-overlay{
    left:20px;
    right:20px;
    bottom:22px;
  }

  .history-photo-overlay strong{
    font-size:clamp(32px,10vw,46px);
  }

  .floating-card{
    position:relative;
    right:auto;
    bottom:auto;

    width:max-content;
    max-width:100%;

    margin:-4px 0 0 auto;
    padding:13px 16px;

    font-size:12px;
  }


  /* =======================================================
     CARRUSEL HISTORIA
  ======================================================= */

  .history-carousel{
    border-radius:20px;
  }

  .history-carousel-track{
    height:500px;
    min-height:500px;
  }

  .history-slide img{
    object-fit:contain;
    object-position:center;
  }


  /* =======================================================
     FAQ
  ======================================================= */

  .faq-grid{
    grid-template-columns:1fr;
    gap:25px;
  }

  .accordion summary{
    padding:19px 0;
    font-size:16px;
  }


  /* =======================================================
     COTIZACION
  ======================================================= */

  .quote-options{
    grid-template-columns:1fr;
    gap:15px;
  }

  .quote-card{
    min-width:0;
    min-height:auto;
    padding:21px;
    border-radius:21px;
  }

  .company-logo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .company-logo-card{
    min-width:0;
  }


  /* =======================================================
     FOOTER
  ======================================================= */

  .footer-main{
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }

  .footer-brand-area{
    width:100%;
  }

  .footer-brand-area p{
    display:none;
  }

  .footer-contact-area{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .footer-social-actions{
    flex-wrap:wrap;
  }

  .footer-bottom{
    width:92%;
  }
}


/* =========================================================
   MOBILE ANGOSTO
========================================================= */

@media(max-width:520px){

  .container{
    width:94%;
  }

  .section{
    padding:50px 0;
  }

  .eyebrow{
    max-width:100%;
    padding:7px 10px;
    font-size:9px;
    line-height:1.25;
  }

  .hero{
    padding-top:94px;
  }

  .hero h1{
    font-size:clamp(38px,11.8vw,52px);
  }

  .hero-copy > p{
    font-size:15px;
  }

  .visual-card{
    width:min(290px,80vw);
  }

  .scroll-cue{
    bottom:14px;
  }

  .insurance-card{
    min-height:182px;
    padding:13px;
  }

  .insurance-card h3{
    font-size:14px;
  }

  .insurance-card p{
    font-size:10.8px;
  }

  .philosophy h2{
    font-size:clamp(32px,10vw,42px);
  }

  .pill{
    grid-template-columns:58px minmax(0,1fr);
  }

  .pill span{
    font-size:20px;
    padding:12px 8px;
  }

  .pill strong{
    padding:0 13px;
    font-size:14px;
  }

  .claims-card{
    padding:21px;
  }

  .claim-features div{
    grid-template-columns:38px minmax(0,1fr);
  }

  .history-carousel-track{
    height:460px;
    min-height:460px;
  }

  .history-carousel-btn{
    width:36px;
    height:36px;
  }

  .history-prev{
    left:8px;
  }

  .history-next{
    right:8px;
  }

  .timeline-item{
    grid-template-columns:58px minmax(0,1fr);
    padding:13px;
  }

  .history-photo-card{
    aspect-ratio:3/4;
  }

  .footer-contact-label{
    display:none;
  }

  .footer-social-btn{
    min-height:40px;
    padding:5px 10px 5px 6px;
  }

  .footer-social-btn span{
    font-size:10px;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
  }
}


/* =========================================================
   MOBILE MUY PEQUEÑO
========================================================= */

@media(max-width:390px){

  .insurance-grid{
    grid-template-columns:1fr;
    grid-template-rows:none;
    grid-auto-flow:row;
  }

  .insurance-card{
    min-height:155px;
  }

  .hero-actions{
    width:100%;
  }

  .hero-trust{
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-trust span{
    width:max-content;
    max-width:100%;
  }

  .pill strong{
    font-size:13px;
  }

  .history-carousel-track{
    height:430px;
    min-height:430px;
  }

  .footer-social-actions{
    width:100%;
  }

  .footer-social-btn{
    flex:1 1 auto;
    justify-content:center;
  }
}

/* =========================================================
   HERO MOBILE
   LOGO PRIMERO + TEXTO CENTRADO
========================================================= */

@media(max-width:760px){

  .hero{
    min-height:auto;

    padding:
      100px
      0
      65px;
  }


  .hero-grid{
    display:flex;

    flex-direction:column;

    align-items:center;

    gap:30px;
  }


  /* =======================================================
     LOGO PRIMERO
  ======================================================= */

  .hero-visual{
    order:-1;

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:
      0
      auto
      5px;
  }


  .visual-card{
    width:
      min(
        265px,
        68vw
      );

    aspect-ratio:4/5;

    margin:auto;

    padding:6px;

    border-radius:27px;

    transform:none;
  }


  .visual-card:hover{
    transform:none;
  }


  .hero-main-img{
    width:100%;
    height:100%;

    object-fit:contain;

    object-position:center;

    border-radius:20px;

    background:#07112e;
  }


  /* HALO DEL LOGO */

  .hero-visual::before{
    width:80%;
    height:80%;

    opacity:.55;

    filter:
      blur(42px);
  }


  .hero-visual::after{
    display:none;
  }


  /* =======================================================
     TEXTO DEBAJO
  ======================================================= */

  .hero-copy{
    order:2;

    width:100%;

    max-width:520px;

    margin:auto;

    text-align:center;
  }


  .hero-copy .eyebrow{
    justify-content:center;

    margin:
      0
      auto;
  }


  .hero h1{
    margin:
      18px
      auto
      20px;

    max-width:100%;

    font-size:
      clamp(
        38px,
        11vw,
        54px
      );

    line-height:.98;

    text-align:center;
  }


  .hero h1 span{
    display:block;
  }


  .hero-copy > p{
    max-width:390px;

    margin:
      0
      auto
      25px;

    font-size:16px;

    line-height:1.65;

    text-align:center;
  }


  /* =======================================================
     BOTONES CENTRADOS
  ======================================================= */

  .hero-actions{
    display:flex;

    flex-direction:column;

    align-items:center;

    width:100%;

    max-width:330px;

    margin:
      0
      auto;

    gap:10px;
  }


  .hero-actions .btn{
    width:100%;

    text-align:center;
  }


  /* =======================================================
     BADGES CENTRADOS
  ======================================================= */

  .hero-trust{
    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:8px;

    max-width:380px;

    margin:
      20px
      auto
      0;
  }


  .hero-trust span{
    text-align:center;
  }


  /* =======================================================
     FLECHA INFERIOR
  ======================================================= */

  .scroll-cue{
    position:relative;

    left:auto;
    bottom:auto;

    transform:none;

    margin:
      30px
      auto
      0;
  }

}


/* =========================================================
   CELULAR PEQUEÑO
========================================================= */

@media(max-width:430px){

  .hero{
    padding-top:92px;
  }


  .hero-grid{
    gap:25px;
  }


  .visual-card{
    width:
      min(
        235px,
        66vw
      );
  }


  .hero h1{
    font-size:
      clamp(
        36px,
        10.5vw,
        48px
      );
  }


  .hero-copy > p{
    max-width:340px;

    font-size:15px;
  }


  .hero-actions{
    max-width:100%;
  }


  .hero-trust{
    max-width:330px;
  }

}


