:root{
  --brand:#082f73;
  --brand-dark:#031f55;
  --brand-mid:#0057aa;
  --brand-light:#0a6ed1;
  --orange:#f47b12;
  --orange2:#ff941f;
  --ink:#08275a;
  --muted:#52657f;
  --bg:#f2f6fb;
  --line:#dfe7f2;
  --white:#fff;
  --shadow:0 16px 34px rgba(6,45,112,.16);
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter','Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;overflow-x:hidden}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.container{width:min(100% - 140px,1660px);margin:auto}
h1,h2,h3{font-family:'Montserrat','Segoe UI',Arial,sans-serif;margin:0;color:var(--brand);letter-spacing:-.025em}p{line-height:1.45}
.site-header{height:110px;background:#fff;box-shadow:0 2px 18px rgba(4,29,74,.1);position:sticky;top:0;z-index:100}
.header-inner{height:110px;display:flex;align-items:center;gap:28px}.brand img{width:215px}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav a{font-family:Montserrat,sans-serif;text-transform:uppercase;font-size:13px;font-weight:800;color:#092755;letter-spacing:.01em}.main-nav a:hover{color:var(--orange)}
.header-actions{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:6px;padding:15px 20px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:.22s;white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:saturate(1.05)}.btn-lg{min-height:57px;padding:17px 24px;font-size:14px}.btn-orange{background:linear-gradient(180deg,var(--orange2),var(--orange));color:#fff;box-shadow:0 10px 18px rgba(245,130,20,.28)}.btn-blue{background:linear-gradient(180deg,#073b91,var(--brand));color:#fff}.btn-outline{color:#fff;border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.04)}.btn-light{background:#fff;border-color:var(--line);color:var(--brand)}.btn-whatsapp{background:#20b15a;color:#fff}.nav-toggle{display:none}
.hero{background:linear-gradient(108deg,#05275f 0%,#063b8a 48%,#06183d 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(132deg,rgba(0,112,214,.42) 0 37%,transparent 37% 100%),linear-gradient(145deg,transparent 0 61%,rgba(255,255,255,.075) 61% 73%,transparent 73%),radial-gradient(circle at 13% 88%,rgba(13,113,214,.42),transparent 34%)}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.15fr;min-height:500px;align-items:center}.hero-copy{padding:74px 0 84px;z-index:2}.eyebrow{font-family:Montserrat,sans-serif;text-transform:uppercase;font-size:18px;font-weight:800;color:#fff;margin:0 0 14px}.eyebrow.orange{color:var(--orange)}.hero h1{font-size:48px;line-height:1.17;color:#fff;max-width:780px;text-transform:uppercase}.hero h1 span{color:var(--orange)}.lead{font-size:20px;color:#eaf3ff;max-width:700px;margin:24px 0 34px;line-height:1.5}.hero-actions{display:flex;gap:18px;flex-wrap:wrap}.hero-art{height:500px;align-self:end;display:flex;align-items:flex-end;justify-content:flex-end;overflow:visible}.hero-art img{height:500px;width:100%;object-fit:cover;object-position:center right;filter:drop-shadow(0 26px 34px rgba(0,0,0,.35))}
.card-strip{margin-top:-34px;position:relative;z-index:5;background:#fff;border-radius:9px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden}.benefit-card{text-align:center;padding:35px 26px 31px;border-right:1px solid var(--line);min-height:212px}.benefit-card:last-child{border-right:0}.benefit-card .icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;color:#092d73;margin:0 auto 16px}.benefit-card .icon svg{width:54px;height:54px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.benefit-card h3{font-size:15px;line-height:1.16;text-transform:uppercase}.benefit-card p{font-size:13px;color:#415779;margin:12px 0 0;line-height:1.45}
.section-soft{padding:26px 0 10px}.platform-grid{background:linear-gradient(105deg,#fff 0%,#f6faff 56%,#fff 100%);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;padding:33px 60px 27px;gap:35px}.platform-copy h2{font-size:34px;text-transform:uppercase}.platform-copy p{font-size:17px;color:#334b71;max-width:530px}.check-list{list-style:none;margin:18px 0 22px;padding:0}.check-list li{font-size:14.5px;margin:8px 0;color:#223b62}.check-list li:before{content:'✓';font-weight:900;color:var(--orange);margin-right:9px}.platform-art img{width:100%;max-height:360px;object-fit:contain}.solutions{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 42px 18px;margin-top:12px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-head h2,.about-card h2,.reviews-card h2,.contact h2{font-size:25px;text-transform:uppercase}.section-head p{margin:5px 0 16px;color:#56677f}.link-arrow{font-family:Montserrat,sans-serif;font-weight:800;text-transform:uppercase;color:var(--brand);font-size:12px}.link-arrow:after{content:'  →'}.solution-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.solution-grid article{height:94px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(#fff,#f9fbff);text-align:center;padding:14px 5px;box-shadow:0 4px 12px rgba(6,45,112,.04);transition:.22s}.solution-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(6,45,112,.12)}.solution-grid span{font-size:30px}.solution-grid h3{font-size:12px;text-transform:uppercase;margin:6px 0 0}.solution-grid h3:after{content:'';display:block;width:25px;height:2px;background:var(--orange);margin:8px auto 0}.companies{padding:14px 0 23px}.companies .container{background:var(--brand);border-radius:8px;padding:8px 10px 10px}.companies-title{font-family:Montserrat,sans-serif;font-size:13px;font-weight:800;color:#fff;text-transform:uppercase;margin:0 0 7px}.logo-marquee{background:#fff;border-radius:7px;overflow:hidden;position:relative;white-space:nowrap}.logo-marquee:before,.logo-marquee:after{content:'';position:absolute;top:0;bottom:0;width:55px;z-index:2}.logo-marquee:before{left:0;background:linear-gradient(90deg,#fff,transparent)}.logo-marquee:after{right:0;background:linear-gradient(270deg,#fff,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite}.logo-marquee:hover .marquee-track{animation-play-state:paused}.logo-item{height:67px;min-width:205px;display:flex;align-items:center;justify-content:center;padding:0 30px;border-right:1px solid var(--line);font-family:Montserrat,sans-serif;font-weight:900;font-size:18px;color:var(--brand);filter:grayscale(1);opacity:.62;transition:.22s}.logo-item img{max-height:42px;max-width:158px;filter:grayscale(1);opacity:.72;transition:.22s}.logo-item:hover,.logo-item:hover img{filter:grayscale(0);opacity:1;transform:scale(1.04)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.about-reviews{display:grid;grid-template-columns:1fr 1.15fr;gap:24px}.about-card,.reviews-card,.contact-info,.contact-form,.whatsapp-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}.about-card p,.contact p{color:#334b71}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:19px 0}.team-grid>div{text-align:center}.avatar{width:63px;height:70px;border-radius:10px;margin:0 auto 7px;background:linear-gradient(160deg,#d9e8f7,#fff);display:flex;align-items:center;justify-content:center;color:var(--brand);font-family:Montserrat,sans-serif;font-weight:900;border:1px solid var(--line)}.team-grid strong{display:block;font-size:10.5px}.team-grid small,.review small{font-size:9.5px;color:var(--muted)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.review{border:1px solid var(--line);border-radius:11px;padding:18px;background:#fff}.stars{color:var(--orange);letter-spacing:2px}.review p{font-size:12.5px;color:#243b61}.producer-cta{margin:24px 0;background:linear-gradient(100deg,var(--brand),#075ec6);color:#fff}.producer-cta-grid{display:grid;grid-template-columns:1.25fr 1.25fr auto;align-items:center;gap:25px;padding:29px 0}.producer-cta h2{font-size:27px;color:#fff;text-transform:uppercase}.producer-cta p{color:#eaf3ff;margin:6px 0}.cta-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cta-stats span{text-align:center;border-left:1px solid rgba(255,255,255,.26);padding:6px 12px}.cta-stats b{display:block;font-family:Montserrat,sans-serif;color:#fff;font-size:22px}.cta-stats small{color:#dcecff}.contact{display:grid;grid-template-columns:.82fr 1.5fr .96fr;gap:20px;margin-bottom:24px}.contact h3{font-size:18px;text-transform:uppercase}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.contact-form .form-row:nth-of-type(2){grid-template-columns:.7fr 1.3fr}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:12px;font-family:Inter,sans-serif;color:var(--ink);background:#fff}textarea{min-height:82px}.site-footer{background:#00235b;color:#dce9ff;padding:30px 0 0}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:28px}.footer-grid img{width:125px;background:#fff;border-radius:6px;padding:6px}.footer-grid h4{color:#fff;font-size:13px;text-transform:uppercase}.footer-grid a{display:block;color:#dce9ff;font-size:13px;margin:5px 0}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:23px;padding:12px;font-size:12px}.floating-wa{position:fixed;right:24px;bottom:24px;width:64px;height:64px;border-radius:50%;background:#23b75d;color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 25px rgba(0,0,0,.25);z-index:150;border:5px solid #fff}.reveal{opacity:0;transform:translateY(16px);transition:.65s}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:1280px){.container{width:min(100% - 70px,1320px)}.brand img{width:150px}.site-header,.header-inner{height:92px}.main-nav{gap:18px}.main-nav a{font-size:11.5px}.hero-grid{min-height:460px}.hero-art,.hero-art img{height:460px}.hero h1{font-size:42px}.lead{font-size:17px}.benefit-card{padding:28px 18px;min-height:190px}.benefit-card h3{font-size:13px}.benefit-card p{font-size:12px}}
@media(max-width:980px){.container{width:min(100% - 28px,1180px)}.main-nav,.header-actions{display:none}.nav-toggle{display:block;margin-left:auto;border:0;background:var(--brand);color:#fff;border-radius:6px;padding:8px 10px}.main-nav.is-open{display:flex;position:absolute;left:0;right:0;top:76px;background:#fff;flex-direction:column;padding:18px;box-shadow:0 12px 24px rgba(0,0,0,.1)}.site-header,.header-inner{height:76px}.brand img{width:135px}.hero-grid,.platform-grid,.about-reviews,.producer-cta-grid,.contact{grid-template-columns:1fr}.hero-copy{padding:42px 0 24px}.hero h1{font-size:30px}.hero-art,.hero-art img{height:auto}.card-strip{grid-template-columns:repeat(2,1fr)}.solution-grid{grid-template-columns:repeat(2,1fr)}.reviews-grid,.footer-grid,.form-row,.contact-form .form-row:nth-of-type(2){grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.cta-stats{grid-template-columns:1fr}}

/* ==============================
   HERO - Ajuste visual tipo mockup
   ============================== */

.hero{
  min-height:500px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(108deg,#05275f 0%,#063b8a 48%,#06183d 100%);
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(132deg,rgba(0,112,214,.42) 0 37%,transparent 37% 100%),
    linear-gradient(145deg,transparent 0 61%,rgba(255,255,255,.075) 61% 73%,transparent 73%),
    radial-gradient(circle at 13% 88%,rgba(13,113,214,.42),transparent 34%);
}

/* Anula el límite visual del container solo para el hero */
.hero .hero-grid-full{
  width:100%;
  max-width:none;
  margin:0;
  min-height:500px;
  position:relative;
  display:flex;
  align-items:stretch;
}

/* Mantiene el texto alineado al mismo margen general del sitio */
.hero .hero-copy{
  position:relative;
  z-index:3;
  width:min(880px,55vw);
  padding:72px 24px 82px max(70px,calc((100vw - 1660px) / 2));
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Imagen pegada al borde derecho de la sección */
.hero .hero-art{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:56vw;
  height:100%;
  min-height:500px;
  overflow:hidden;
  z-index:1;
  display:block;
}

/* Fusión visual entre fondo azul e imagen */
.hero .hero-art:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #05275f 0%,
      rgba(5,39,95,.92) 8%,
      rgba(5,39,95,.48) 26%,
      rgba(5,39,95,0) 55%
    );
}

.hero .hero-art:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:42%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(3,22,58,.75),rgba(3,22,58,0));
}

.hero .hero-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right;
  filter:none;
}

/* Texto */
.hero h1{
  font-size:48px;
  line-height:1.15;
  color:#fff;
  max-width:790px;
  text-transform:uppercase;
}

.hero h1 span{
  color:var(--orange);
}

.hero .lead{
  font-size:20px;
  color:#eaf3ff;
  max-width:680px;
  margin:24px 0 34px;
  line-height:1.5;
}

/* Botones alineados como el mockup */
.hero .hero-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
  position:relative;
  z-index:4;
}

.hero .hero-actions .btn-lg{
  height:60px;
  min-height:60px;
  padding:0 24px;
}

.hero .hero-actions .btn-orange{
  min-width:320px;
}

.hero .hero-actions .btn-outline{
  min-width:280px;
}

.hero .hero-actions .btn-ghost{
  min-width:230px;
}

/* Ajuste notebook / pantallas medianas */
@media(max-width:1280px){
  .hero,
  .hero .hero-grid-full,
  .hero .hero-art{
    min-height:460px;
  }

  .hero .hero-copy{
    width:min(790px,58vw);
    padding-left:max(35px,calc((100vw - 1320px) / 2));
    padding-top:58px;
    padding-bottom:70px;
  }

  .hero .hero-art{
    width:54vw;
  }

  .hero h1{
    font-size:42px;
  }

  .hero .lead{
    font-size:17px;
    max-width:610px;
  }

  .hero .hero-actions{
    gap:14px;
  }

  .hero .hero-actions .btn-orange{
    min-width:290px;
  }

  .hero .hero-actions .btn-outline{
    min-width:250px;
  }

  .hero .hero-actions .btn-ghost{
    min-width:210px;
  }
}

/* Mobile: se apila prolijo */
@media(max-width:980px){
  .hero{
    min-height:auto;
  }

  .hero .hero-grid-full{
    min-height:auto;
    display:block;
    width:min(100% - 28px,1180px);
    margin:auto;
  }

  .hero .hero-copy{
    width:100%;
    padding:42px 0 24px;
  }

  .hero .hero-art{
    position:relative;
    width:100%;
    height:260px;
    min-height:260px;
    border-radius:10px;
    margin:0 0 24px;
  }

  .hero .hero-art img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  .hero h1{
    font-size:30px;
  }

  .hero .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .hero .hero-actions .btn-lg,
  .hero .hero-actions .btn-orange,
  .hero .hero-actions .btn-outline,
  .hero .hero-actions .btn-ghost{
    width:100%;
    min-width:0;
  }
}

/* ==============================
   SERVICIOS - Marquesina tipo slider
   ============================== */

.services-marquee.card-strip{
  display:block;
  overflow:hidden;
  padding:0;
  margin-top:-34px;
  background:#fff;
  border-radius:9px;
  box-shadow:var(--shadow);
  position:relative;
}

.services-marquee:before,
.services-marquee:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:70px;
  z-index:4;
  pointer-events:none;
}

.services-marquee:before{
  left:0;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
}

.services-marquee:after{
  right:0;
  background:linear-gradient(270deg,#fff,rgba(255,255,255,0));
}

.services-marquee-track{
  display:flex;
  width:max-content;
  animation:servicesSlide 42s linear infinite;
  will-change:transform;
}

.services-marquee:hover .services-marquee-track{
  animation-play-state:paused;
}

.service-card{
  flex:0 0 275px;
  min-height:212px;
  padding:32px 24px 28px;
  border-right:1px solid var(--line);
  background:#fff;
  transition:
    transform .28s ease,
    background .28s ease,
    box-shadow .28s ease,
    color .28s ease,
    opacity .28s ease;
}

.service-card .icon{
  width:62px;
  height:62px;
  margin:0 auto 15px;
  color:var(--brand);
  transition:.28s ease;
}

.service-card .icon i{
  font-size:48px;
  line-height:1;
}

.service-card h3{
  color:var(--brand);
  font-size:16px;
  line-height:1.25;
  text-transform:none;
  transition:.28s ease;
}

.service-card p{
  font-size:13px;
  color:#5f6f82;
  line-height:1.5;
  max-width:210px;
  margin:14px auto 0;
  transition:.28s ease;
}

.service-card:hover{
  transform:translateY(-5px);
  background:
    linear-gradient(180deg,#fff 0%,#fff7ef 100%);
  box-shadow:0 16px 30px rgba(244,123,18,.20);
  z-index:3;
}

.service-card:hover .icon,
.service-card:hover h3{
  color:var(--orange);
}

.service-card:hover p{
  color:#233b61;
}

.services-marquee:hover .service-card:not(:hover){
  opacity:.72;
}

@keyframes servicesSlide{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@media(max-width:1280px){
  .service-card{
    flex-basis:245px;
    padding:28px 20px 25px;
  }

  .service-card h3{
    font-size:14px;
  }

  .service-card p{
    font-size:12px;
  }
}

@media(max-width:980px){
  .services-marquee.card-strip{
    margin-top:-20px;
  }

  .services-marquee-track{
    animation-duration:36s;
  }

  .service-card{
    flex-basis:235px;
    min-height:200px;
  }

  .service-card .icon i{
    font-size:42px;
  }
}

/* ==============================
   PLATAFORMA PAS - Imagen integrada al contenedor
   ============================== */

.platform.section-soft{
  padding:26px 0 18px;
}

.platform-grid{
  overflow:hidden;
  min-height:420px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  align-items:stretch;
  gap:0;
  padding:0;
  background:linear-gradient(105deg,#fff 0%,#f6faff 52%,#eef5ff 100%);
  border-radius:10px;
  box-shadow:var(--shadow);
}

.platform-copy{
  padding:42px 44px 42px 60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}

.platform-copy .eyebrow{
  font-size:16px;
  margin-bottom:16px;
}

.platform-copy h2{
  font-size:34px;
  line-height:1.1;
  margin-bottom:18px;
}

.platform-copy p{
  font-size:17px;
  line-height:1.45;
  max-width:560px;
}

.platform-copy .check-list{
  margin:16px 0 22px;
}

.platform-art{
  height:100%;
  min-height:420px;
  position:relative;
  overflow:hidden;
  align-self:stretch;
  background:#eef5ff;
}

.platform-art:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(246,250,255,.95) 0%,
      rgba(246,250,255,.45) 12%,
      rgba(246,250,255,0) 28%
    );
}

.platform-art img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center right;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}

.platform-grid:hover .platform-art img{
  transform:scale(1.025);
  filter:saturate(1.08) contrast(1.03);
}

.platform-grid:hover{
  box-shadow:0 20px 42px rgba(6,45,112,.20);
}

/* Botón más compacto y alineado */
.platform-copy .btn{
  width:max-content;
  min-width:300px;
  height:52px;
}

/* Responsive */
@media(max-width:1280px){
  .platform-grid{
    min-height:380px;
    grid-template-columns:.9fr 1.1fr;
  }

  .platform-copy{
    padding:36px 34px 36px 46px;
  }

  .platform-art{
    min-height:380px;
  }

  .platform-copy h2{
    font-size:30px;
  }

  .platform-copy p{
    font-size:15.5px;
  }
}

@media(max-width:980px){
  .platform-grid{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .platform-copy{
    padding:32px 24px 24px;
  }

  .platform-art{
    min-height:260px;
    height:260px;
    order:2;
  }

  .platform-art:before{
    background:linear-gradient(0deg,rgba(246,250,255,.78),rgba(246,250,255,0) 35%);
  }

  .platform-art img{
    object-fit:cover;
    object-position:center;
  }

  .platform-copy .btn{
    width:100%;
    min-width:0;
  }
}

/* ==============================
   TIPOGRAFÍA ORIGINAL / PRODUCCIÓN G3J
   ============================== */

:root{
  --font-main:'Roboto','Segoe UI',Arial,sans-serif;
}

body,
p,
li,
a,
span,
small,
strong,
input,
select,
textarea,
button{
  font-family:var(--font-main);
}

h1,
h2,
h3,
h4,
h5,
h6,
.eyebrow,
.btn,
.main-nav a,
.link-arrow,
.companies-title,
.logo-item,
.cta-stats b,
.team-grid strong{
  font-family:var(--font-main);
}

/* Pesos más parecidos a la web original */
body{
  font-weight:400;
}

h1,
.hero h1{
  font-weight:900;
  letter-spacing:-.02em;
}

h2,
.platform-copy h2,
.section-head h2,
.about-card h2,
.reviews-card h2,
.contact h2,
.producer-cta h2{
  font-weight:900;
  letter-spacing:-.015em;
}

h3,
.benefit-card h3,
.service-card h3,
.solution-grid h3,
.contact h3{
  font-weight:700;
  letter-spacing:0;
}

p,
.lead,
.hero .lead,
.platform-copy p,
.section-head p,
.about-card p,
.contact p,
.review p,
.check-list li{
  font-weight:400;
  letter-spacing:0;
}

.btn,
.main-nav a,
.eyebrow{
  font-weight:700;
}
/* ==============================
   HERO - Imagen integrada estilo plataforma
   ============================== */

.hero{
  min-height:560px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(115deg,#0057aa 0%,#073b91 42%,#041f55 100%);
}

/* Fondo geométrico azul del lado texto */
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(132deg,rgba(0,99,190,.55) 0 34%,transparent 34% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.08) 47% 58%,transparent 58% 100%),
    radial-gradient(circle at 12% 85%,rgba(10,110,209,.35),transparent 34%);
}

/* Oscurece solo el sector izquierdo para lectura */
.hero:after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:56%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(0,73,151,.96) 0%,
    rgba(4,55,130,.94) 58%,
    rgba(4,45,105,.35) 84%,
    rgba(4,45,105,0) 100%
  );
}

.hero .hero-grid-full{
  width:100%;
  max-width:none;
  margin:0;
  min-height:560px;
  position:relative;
  display:flex;
  align-items:stretch;
}

/* Texto por encima de todos los efectos */
.hero .hero-copy{
  position:relative;
  z-index:4;
  width:min(830px,52vw);
  padding:78px 24px 92px max(70px,calc((100vw - 1660px) / 2));
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Imagen como bloque integrado */
.hero .hero-art{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:61vw;
  height:100%;
  min-height:560px;
  overflow:hidden;
  z-index:0;
  display:block;
}

/* Degradado de fusión sobre la imagen */
.hero .hero-art:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(3,31,85,.98) 0%,
    rgba(3,31,85,.72) 16%,
    rgba(3,31,85,.28) 34%,
    rgba(3,31,85,0) 56%
  );
}

/* Quita el oscurecimiento fuerte inferior anterior */
.hero .hero-art:after{
  display:none;
}

.hero .hero-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right;
  filter:saturate(1.08) contrast(1.04);
  transition:transform .45s ease, filter .45s ease;
}

/* Mismo efecto suave de plataforma */
.hero:hover .hero-art img{
  transform:scale(1.025);
  filter:saturate(1.12) contrast(1.06);
}

/* Botones bien alineados */
.hero .hero-actions{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:nowrap;
  position:relative;
  z-index:5;
}

.hero .hero-actions .btn-lg{
  height:60px;
  min-height:60px;
}

/* Responsive */
@media(max-width:1280px){
  .hero,
  .hero .hero-grid-full,
  .hero .hero-art{
    min-height:500px;
  }

  .hero .hero-copy{
    width:min(760px,55vw);
    padding-left:max(35px,calc((100vw - 1320px) / 2));
    padding-top:64px;
    padding-bottom:78px;
  }

  .hero .hero-art{
    width:60vw;
  }
}

@media(max-width:980px){
  .hero{
    min-height:auto;
  }

  .hero:after{
    width:100%;
    background:linear-gradient(180deg,
      rgba(3,31,85,.96) 0%,
      rgba(3,31,85,.84) 58%,
      rgba(3,31,85,.35) 100%
    );
  }

  .hero .hero-grid-full{
    display:block;
    width:min(100% - 28px,1180px);
    margin:auto;
    min-height:auto;
  }

  .hero .hero-copy{
    width:100%;
    padding:42px 0 26px;
  }

  .hero .hero-art{
    position:relative;
    width:100%;
    height:280px;
    min-height:280px;
    border-radius:10px;
    margin-bottom:24px;
    z-index:2;
  }

  .hero .hero-art:before{
    background:linear-gradient(0deg,rgba(3,31,85,.65),rgba(3,31,85,0) 45%);
  }

  .hero .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }
}

/* ==============================
   SOLUCIONES DE SEGUROS - Marquesina uniforme con Servicios
   ============================== */

.solutions.solutions-marquee-section{
  padding:28px 42px 34px;
  margin-top:18px;
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.solutions-head{
  align-items:center;
  margin-bottom:22px;
}

.solutions-head .eyebrow{
  color:var(--orange);
  margin:0 0 8px;
  font-size:15px;
}

.solutions-head h2{
  font-size:34px;
  line-height:1.12;
  margin-bottom:6px;
}

.solutions-head p{
  margin:0;
  color:#56677f;
  font-size:15.5px;
}

.ecommerce-btn{
  min-width:210px;
  height:52px;
  padding:0 24px;
  box-shadow:0 12px 24px rgba(244,123,18,.28);
}

.ecommerce-btn i{
  font-size:16px;
}

/* Contenedor marquesina */
.solutions-marquee{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}

.solutions-marquee:before,
.solutions-marquee:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:70px;
  z-index:4;
  pointer-events:none;
}

.solutions-marquee:before{
  left:0;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
}

.solutions-marquee:after{
  right:0;
  background:linear-gradient(270deg,#fff,rgba(255,255,255,0));
}

.solutions-marquee-track{
  display:flex;
  width:max-content;
  animation:solutionsSlide 55s linear infinite;
  will-change:transform;
}

.solutions-marquee:hover .solutions-marquee-track{
  animation-play-state:paused;
}

/* Cards */
.solution-card{
  flex:0 0 205px;
  min-height:150px;
  padding:26px 18px 22px;
  text-align:center;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  transition:
    transform .28s ease,
    background .28s ease,
    box-shadow .28s ease,
    opacity .28s ease;
}

.solution-card .icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin:0 auto 13px;
  color:var(--brand);
  transition:.28s ease;
}

.solution-card .icon i{
  font-size:42px;
  line-height:1;
}

.solution-card h3{
  color:var(--brand);
  font-size:15px;
  line-height:1.22;
  font-weight:700;
  text-transform:none;
  margin:0;
  transition:.28s ease;
}

.solution-card h3:after{
  content:"";
  display:block;
  width:28px;
  height:2px;
  background:var(--orange);
  margin:10px auto 0;
  border-radius:10px;
  opacity:.75;
  transition:.28s ease;
}

.solution-card:hover{
  transform:translateY(-5px);
  background:linear-gradient(180deg,#fff 0%,#fff7ef 100%);
  box-shadow:0 16px 30px rgba(244,123,18,.20);
  z-index:3;
}

.solution-card:hover .icon,
.solution-card:hover h3{
  color:var(--orange);
}

.solution-card:hover h3:after{
  width:44px;
  opacity:1;
}

.solutions-marquee:hover .solution-card:not(:hover){
  opacity:.72;
}

@keyframes solutionsSlide{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

/* Responsive */
@media(max-width:1280px){
  .solutions.solutions-marquee-section{
    padding:24px 32px 30px;
  }

  .solutions-head h2{
    font-size:30px;
  }

  .solution-card{
    flex-basis:185px;
    min-height:140px;
  }

  .solution-card .icon i{
    font-size:38px;
  }

  .solution-card h3{
    font-size:14px;
  }
}

@media(max-width:980px){
  .solutions.solutions-marquee-section{
    padding:24px 18px 26px;
  }

  .solutions-head{
    display:block;
  }

  .ecommerce-btn{
    width:100%;
    margin-top:16px;
  }

  .solutions-marquee-track{
    animation-duration:44s;
  }

  .solution-card{
    flex-basis:175px;
    min-height:135px;
    padding:23px 14px 20px;
  }
}

/* ==============================
   ASEGURADORAS - Logos desde CORE
   ============================== */

.companies.companies-logos{
  padding:24px 0 28px;
}

.companies-logos .container{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px 42px 34px;
  overflow:hidden;
}

.companies-head{
  margin-bottom:20px;
}

.companies-head .eyebrow{
  color:var(--orange);
  margin:0 0 8px;
  font-size:15px;
}

.companies-head h2{
  color:var(--brand);
  font-size:34px;
  line-height:1.12;
  text-transform:uppercase;
  margin:0 0 6px;
}

.companies-head p{
  color:#56677f;
  margin:0;
  font-size:15.5px;
}

.companies-logo-marquee{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  position:relative;
  white-space:nowrap;
}

.companies-logo-marquee:before,
.companies-logo-marquee:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:75px;
  z-index:4;
  pointer-events:none;
}

.companies-logo-marquee:before{
  left:0;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
}

.companies-logo-marquee:after{
  right:0;
  background:linear-gradient(270deg,#fff,rgba(255,255,255,0));
}

.companies-logo-track{
  display:flex;
  width:max-content;
  animation:companiesSlide 42s linear infinite;
  will-change:transform;
}

.companies-logo-marquee:hover .companies-logo-track{
  animation-play-state:paused;
}

.company-logo-item{
  flex:0 0 230px;
  height:110px;
  padding:18px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  transition:transform .28s ease, background .28s ease, box-shadow .28s ease, opacity .28s ease;
}

.company-logo-item img{
  max-width:170px;
  max-height:62px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.72;
  transition:transform .28s ease, filter .28s ease, opacity .28s ease;
}

.company-logo-item:hover{
  background:linear-gradient(180deg,#fff 0%,#fff7ef 100%);
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(244,123,18,.18);
  z-index:3;
}

.company-logo-item:hover img{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.07);
}

.companies-logo-marquee:hover .company-logo-item:not(:hover){
  opacity:.68;
}

.logo-fallback,
.logo-loading{
  font-weight:700;
  color:var(--brand);
  font-size:14px;
  text-align:center;
  white-space:normal;
}

@keyframes companiesSlide{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@media(max-width:1280px){
  .companies-logos .container{
    padding:24px 32px 30px;
  }

  .companies-head h2{
    font-size:30px;
  }

  .company-logo-item{
    flex-basis:205px;
    height:100px;
  }

  .company-logo-item img{
    max-width:150px;
    max-height:56px;
  }
}

@media(max-width:980px){
  .companies-logos .container{
    padding:24px 18px 26px;
  }

  .companies-logo-track{
    animation-duration:36s;
  }

  .company-logo-item{
    flex-basis:180px;
    height:96px;
    padding:16px 20px;
  }
}

/* ==============================
   CTA PRODUCTORES - Mejorado
   ============================== */

.producer-cta-enhanced{
  margin:28px 0;
  background:
    linear-gradient(100deg,#082f73 0%,#075ec6 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.producer-cta-enhanced:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 50%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(135deg,transparent 0 62%,rgba(255,255,255,.08) 62% 74%,transparent 74%);
  pointer-events:none;
}

.producer-cta-enhanced .producer-cta-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.15fr 1.35fr auto;
  align-items:center;
  gap:34px;
  padding:38px 0;
}

.producer-cta-copy .eyebrow{
  margin:0 0 10px;
  color:var(--orange);
}

.producer-cta-copy h2{
  color:#fff;
  font-size:34px;
  line-height:1.12;
  margin-bottom:8px;
}

.producer-cta-copy p{
  color:#eaf3ff;
  font-size:16px;
  margin:0;
  max-width:650px;
}

.cta-stats-enhanced{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  overflow:hidden;
  backdrop-filter:blur(4px);
}

.cta-stats-enhanced span{
  text-align:center;
  padding:18px 20px;
  border-left:1px solid rgba(255,255,255,.18);
  transition:.28s ease;
}

.cta-stats-enhanced span:first-child{
  border-left:0;
}

.cta-stats-enhanced span:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-3px);
}

.cta-stats-enhanced b{
  display:block;
  color:#fff;
  font-size:30px;
  line-height:1.05;
  font-weight:900;
}

.cta-stats-enhanced small{
  display:block;
  margin-top:6px;
  color:#dcecff;
  font-size:13px;
  line-height:1.3;
}

.producer-form-btn{
  height:58px;
  min-width:230px;
  padding:0 28px;
  box-shadow:0 14px 28px rgba(244,123,18,.34);
}

.producer-form-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(244,123,18,.44);
}

/* Responsive */
@media(max-width:1280px){
  .producer-cta-enhanced .producer-cta-grid{
    grid-template-columns:1fr;
    gap:22px;
    text-align:center;
  }

  .producer-cta-copy p{
    margin:auto;
  }

  .producer-form-btn{
    width:max-content;
    margin:auto;
  }
}

@media(max-width:980px){
  .producer-cta-enhanced .producer-cta-grid{
    padding:32px 0;
  }

  .producer-cta-copy h2{
    font-size:26px;
  }

  .cta-stats-enhanced{
    grid-template-columns:1fr;
  }

  .cta-stats-enhanced span{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
  }

  .cta-stats-enhanced span:first-child{
    border-top:0;
  }

  .producer-form-btn{
    width:100%;
  }
}

/* ==============================
   CONTACTO - Formulario + canales
   ============================== */

.contact.contact-enhanced{
  display:grid;
  grid-template-columns:1.25fr .85fr;
  gap:24px;
  margin-top:28px;
  margin-bottom:34px;
}

.contact-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:34px;
  position:relative;
  overflow:hidden;
}

.contact-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--orange),var(--brand-light));
}

.contact-card h2{
  font-size:34px;
  line-height:1.12;
  color:var(--brand);
  text-transform:uppercase;
  margin:0 0 8px;
}

.contact-intro{
  color:#56677f;
  font-size:15.5px;
  margin:0 0 24px;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.field-full{
  grid-column:1 / -1;
}

.field label{
  font-weight:700;
  color:var(--brand);
  font-size:13.5px;
}

.contact-form-v2 input,
.contact-form-v2 select,
.contact-form-v2 textarea{
  border:1px solid var(--line);
  border-radius:8px;
  padding:13px 14px;
  font-size:14.5px;
  color:var(--ink);
  background:#fff;
  outline:none;
  transition:.22s ease;
}

.contact-form-v2 input:focus,
.contact-form-v2 select:focus,
.contact-form-v2 textarea:focus{
  border-color:var(--brand-light);
  box-shadow:0 0 0 3px rgba(10,110,209,.12);
}

.contact-form-v2 textarea{
  min-height:120px;
  resize:vertical;
}

.hp-field{
  position:absolute;
  left:-9999px;
  opacity:0;
  pointer-events:none;
}

.contact-submit{
  margin-top:18px;
  min-width:210px;
  height:52px;
}

.form-alert{
  display:none;
  margin-top:14px;
  padding:12px 14px;
  border-radius:8px;
  font-weight:700;
  font-size:13.5px;
}

.form-alert.is-ok{
  display:block;
  color:#0f5132;
  background:#d1e7dd;
  border:1px solid #badbcc;
}

.form-alert.is-error{
  display:block;
  color:#842029;
  background:#f8d7da;
  border:1px solid #f5c2c7;
}

/* Card datos */
.contact-list{
  display:grid;
  gap:12px;
  margin-bottom:18px;
}

.contact-list a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  transition:.24s ease;
}

.contact-list a:hover{
  transform:translateY(-3px);
  border-color:rgba(244,123,18,.35);
  box-shadow:0 12px 24px rgba(244,123,18,.14);
}

.contact-list span{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#eef5ff;
  color:var(--brand);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  transition:.24s ease;
}

.contact-list a:hover span{
  background:var(--orange);
  color:#fff;
}

.contact-list strong{
  display:block;
  color:var(--brand);
  font-size:15px;
}

.contact-list small{
  display:block;
  color:#56677f;
  font-size:13.5px;
  margin-top:2px;
}

.contact-whatsapp-btn{
  width:100%;
  height:54px;
  margin:6px 0 24px;
  background:#20b15a;
  color:#fff;
}

.social-block{
  border-top:1px solid var(--line);
  padding-top:22px;
}

.social-block h3{
  font-size:18px;
  color:var(--brand);
  margin:0 0 14px;
  text-transform:uppercase;
}

.social-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.social-links a{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#eef5ff;
  color:var(--brand);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  transition:.24s ease;
}

.social-links a:hover{
  background:var(--orange);
  color:#fff;
  transform:translateY(-4px);
  box-shadow:0 12px 22px rgba(244,123,18,.25);
}

@media(max-width:980px){
  .contact.contact-enhanced{
    grid-template-columns:1fr;
  }

  .contact-card{
    padding:26px 22px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .contact-submit{
    width:100%;
  }
}

/* ==============================
   FOOTER G3J - Mapa del sitio + SSN
   ============================== */

.site-footer-enhanced{
  background:#002b66;
  color:#dce9ff;
  padding:0;
  margin-top:34px;
  position:relative;
}

.site-footer-enhanced .footer-main{
  display:grid;
  grid-template-columns:1.05fr 2.4fr;
  gap:48px;
  padding:42px 0 34px;
}

.footer-brand-block{
  max-width:430px;
}

.footer-logo{
  display:inline-flex;
  background:transparent;
  border-radius:0;
  padding:0;
  margin-bottom:18px;
  box-shadow:none;
}

.footer-logo img{
  width:170px;
  height:auto;
  display:block;
  background:transparent;
}


.footer-brand-block p{
  color:#eaf3ff;
  font-size:15px;
  line-height:1.55;
  margin:0;
}

.footer-map{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
}

.footer-col h4{
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  margin:0 0 16px;
  position:relative;
}

.footer-col h4:after{
  content:"";
  display:block;
  width:34px;
  height:3px;
  background:var(--orange);
  border-radius:10px;
  margin-top:8px;
}

.footer-col a{
  display:flex;
  align-items:center;
  gap:7px;
  color:#dce9ff;
  font-size:14px;
  line-height:1.35;
  margin:9px 0;
  transition:.22s ease;
}

.footer-col a:hover{
  color:#fff;
  transform:translateX(4px);
}

.footer-col i{
  color:var(--orange);
  width:16px;
  text-align:center;
}

/* ==============================
   FOOTER - BLOQUE SSN ESTILO INSTITUCIONAL
   ============================== */

.footer-ssn{
  background:#f3f3f3;
  border-top:1px solid #cfcfcf;
  border-bottom:1px solid #cfcfcf;
  color:#4d4d4d;
}

.footer-ssn-strip{
  min-height:110px;
  display:grid;
  grid-template-columns:1fr 1fr 1.15fr 1.35fr;
  align-items:center;
  gap:0;
  padding:0;
}

.ssn-item,
.ssn-brand{
  min-height:110px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 20px;
  position:relative;
}

.ssn-item:after,
.ssn-brand:after{
  content:"";
  position:absolute;
  top:20px;
  right:0;
  bottom:20px;
  width:1px;
  background:#d1d1d1;
}

.ssn-brand:after{
  display:none;
}

.ssn-item small{
  display:block;
  font-size:15px;
  line-height:1.2;
  color:#5a5a5a;
  margin-bottom:4px;
}

.ssn-item strong{
  display:block;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  color:#4a4a4a;
}

.ssn-item a{
  font-size:17px;
  line-height:1.25;
  font-weight:700;
  color:#4a4a4a;
  text-decoration:none;
}

.ssn-item a:hover{
  color:#0057aa;
}

.ssn-brand{
  align-items:center;
  justify-content:center;
  padding:14px 22px;
}

.ssn-brand a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.ssn-brand img{
  width:100%;
  max-width:380px;
  max-height:78px;
  object-fit:contain;
  display:block;
}

@media(max-width:980px){
  .footer-ssn-strip{
    grid-template-columns:1fr;
  }

  .ssn-item,
  .ssn-brand{
    min-height:auto;
    text-align:center;
    align-items:center;
    padding:18px 16px;
  }

  .ssn-item:after,
  .ssn-brand:after{
    top:auto;
    bottom:0;
    left:20px;
    right:20px;
    width:auto;
    height:1px;
  }

  .ssn-brand:after{
    display:none;
  }

  .ssn-brand img{
    max-width:320px;
    max-height:72px;
  }
}

/* Copyright */
.site-footer-enhanced .footer-bottom{
  background:#00265a;
  color:#dce9ff;
  text-align:center;
  border-top:0;
  margin:0;
  padding:14px 12px;
  font-size:12.5px;
}

/* Botones flotantes */
.floating-wa{
  position:fixed;
  right:24px;
  bottom:24px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#23b75d;
  color:#fff;
  font-size:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 25px rgba(0,0,0,.25);
  z-index:150;
  border:5px solid #fff;
  transition:.24s ease;
}

.floating-wa:hover{
  transform:translateY(-4px) scale(1.04);
  background:#1faa55;
}

.floating-top{
  position:fixed;
  right:24px;
  bottom:96px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#082f73;
  color:#fff;
  font-size:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
  z-index:149;
  border:3px solid #fff;
  transition:.24s ease;
}

.floating-top:hover{
  background:var(--orange);
  transform:translateY(-3px);
}

/* Responsive */
@media(max-width:1280px){
  .site-footer-enhanced .footer-main{
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer-map{
    grid-template-columns:repeat(4,1fr);
  }
}

@media(max-width:980px){
  .site-footer-enhanced .footer-main{
    padding:32px 0 26px;
  }

  .footer-map{
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }

  .footer-ssn-inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:12px;
  }

  .footer-legal-link{
    text-align:center;
  }

  .ssn-logo img{
    max-width:100%;
    max-height:64px;
    margin:auto;
  }

  .floating-wa{
    right:16px;
    bottom:18px;
    width:58px;
    height:58px;
  }

  .floating-top{
    right:18px;
    bottom:86px;
  }
}

@media(max-width:560px){
  .footer-map{
    grid-template-columns:1fr;
  }

  .footer-logo img{
    width:130px;
  }
}
/* SSN - Logo más grande */
.footer-ssn-strip{
  grid-template-columns: .85fr .95fr 1.05fr 1.75fr;
  min-height:125px;
}

.ssn-item,
.ssn-brand{
  min-height:125px;
}

.ssn-brand img{
  max-width:650px;
  max-height:130px;
  width:100%;
  object-fit:contain;
}

/* Ajuste texto para acompañar el logo más grande */
.ssn-item small{
  font-size:16px;
}

.ssn-item strong,
.ssn-item a{
  font-size:20px;
}

/* Responsive */
@media(max-width:980px){
  .footer-ssn-strip{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .ssn-item,
  .ssn-brand{
    min-height:auto;
  }

  .ssn-brand img{
    max-width:390px;
    max-height:90px;
  }
}

/* ==============================
   QUIÉNES SOMOS - Texto institucional
   ============================== */

.about-card-text{
  padding:34px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.about-card-text .eyebrow{
  color:var(--orange);
  margin:0 0 10px;
}

.about-card-text h2{
  font-size:34px;
  line-height:1.12;
  margin-bottom:18px;
}

.about-text{
  display:grid;
  gap:14px;
}

.about-text p{
  color:#334b71;
  font-size:15.8px;
  line-height:1.62;
  margin:0;
}

.about-text p:first-child{
  font-weight:500;
  color:#183d71;
}

@media(max-width:1280px){
  .about-card-text{
    padding:30px 30px;
  }

  .about-card-text h2{
    font-size:30px;
  }

  .about-text p{
    font-size:14.8px;
  }
}

@media(max-width:980px){
  .about-card-text{
    padding:26px 22px;
  }

  .about-card-text h2{
    font-size:25px;
  }
}

/* ==============================
   NOSOTROS + TESTIMONIOS SEPARADOS
   ============================== */

.about-section{
  margin-top:28px;
  margin-bottom:24px;
}

.about-full{
  width:100%;
  padding:44px 48px;
}

.about-full h2{
  font-size:36px;
  line-height:1.12;
  margin-bottom:22px;
}

.about-full .about-text{
  max-width:1050px;
}

.about-full .about-text p{
  font-size:16.5px;
  line-height:1.7;
  color:#233b61;
}

.about-full .about-text p:first-child{
  font-weight:700;
  color:#082f73;
}

/* Testimonios */
.reviews-section{
  margin-bottom:28px;
}

.reviews-card-full{
  width:100%;
  padding:38px 42px 42px;
}

.reviews-head{
  margin-bottom:24px;
}

.reviews-head .eyebrow{
  color:var(--orange);
  margin:0 0 8px;
}

.reviews-head h2{
  font-size:34px;
  line-height:1.12;
  margin-bottom:8px;
}

.reviews-head p{
  color:#56677f;
  font-size:15.5px;
  margin:0;
}

.reviews-grid-enhanced{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.reviews-grid-enhanced .review{
  min-height:190px;
  padding:26px 26px 24px;
  border-radius:12px;
  transition:.28s ease;
}

.reviews-grid-enhanced .review:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 30px rgba(6,45,112,.14);
  border-color:rgba(244,123,18,.35);
}

.reviews-grid-enhanced .stars{
  color:var(--orange);
  font-size:17px;
  margin-bottom:14px;
}

.reviews-grid-enhanced .review p{
  font-size:15px;
  line-height:1.55;
  color:#243b61;
  margin-bottom:18px;
}

.reviews-grid-enhanced .review strong{
  color:var(--brand);
  font-size:15px;
}

.reviews-grid-enhanced .review small{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#5d7191;
}

/* Responsive */
@media(max-width:980px){
  .about-full,
  .reviews-card-full{
    padding:28px 22px;
  }

  .about-full h2,
  .reviews-head h2{
    font-size:26px;
  }

  .about-full .about-text p{
    font-size:14.8px;
  }

  .reviews-grid-enhanced{
    grid-template-columns:1fr;
  }
}

/* ==============================
   QUIÉNES SOMOS - Imagen integrada
   ============================== */

.about-section{
  margin-top:28px;
  margin-bottom:24px;
}

.about-card-integrated{
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:stretch;
  min-height:520px;
  background:linear-gradient(105deg,#fff 0%,#f6faff 48%,#eef5ff 100%);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.about-card-integrated .about-copy{
  padding:46px 44px 46px 52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:3;
}

.about-card-integrated .eyebrow{
  color:var(--orange);
  margin:0 0 10px;
}

.about-card-integrated h2{
  font-size:36px;
  line-height:1.12;
  margin-bottom:22px;
}

.about-card-integrated .about-text{
  display:grid;
  gap:16px;
}

.about-card-integrated .about-text p{
  margin:0;
  font-size:15.8px;
  line-height:1.62;
  color:#233b61;
}

.about-card-integrated .about-text p:first-child{
  font-weight:700;
  color:#082f73;
}

.about-art-integrated{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#eef5ff;
}

.about-art-integrated:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(246,250,255,.98) 0%,
    rgba(246,250,255,.72) 12%,
    rgba(246,250,255,.22) 28%,
    rgba(246,250,255,0) 48%
  );
}

.about-art-integrated:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(8,47,115,0) 55%,
    rgba(8,47,115,.14) 100%
  );
}

.about-art-integrated img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}

.about-card-integrated:hover .about-art-integrated img{
  transform:scale(1.025);
  filter:saturate(1.06) contrast(1.03);
}

/* Responsive */
@media(max-width:1280px){
  .about-card-integrated{
    grid-template-columns:1fr 1fr;
    min-height:470px;
  }

  .about-card-integrated .about-copy{
    padding:38px 36px;
  }

  .about-card-integrated h2{
    font-size:31px;
  }

  .about-card-integrated .about-text p{
    font-size:14.6px;
  }

  .about-art-integrated{
    min-height:470px;
  }
}

@media(max-width:980px){
  .about-card-integrated{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .about-card-integrated .about-copy{
    padding:30px 22px 24px;
  }

  .about-card-integrated h2{
    font-size:26px;
  }

  .about-art-integrated{
    min-height:290px;
    order:2;
  }

  .about-art-integrated:before{
    background:linear-gradient(0deg,
      rgba(246,250,255,.82) 0%,
      rgba(246,250,255,0) 42%
    );
  }
}

/* Logo header más grande */
.brand img{
  width:250px;
  height:auto;
}

.footer-ssn-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1.1fr auto;
  align-items: center;
  gap: 24px;
}

.ssn-brand {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.ssn-logos-inline {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  white-space: nowrap;
}

.ssn-logos-inline a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ssn-logo-img {
  width: auto;
  max-height: 42px;
  display: block;
}

.data-fiscal-img {
  width: auto;
  max-height: 30px;
  display: block;
}

@media (max-width: 768px) {
  .footer-ssn-strip {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .ssn-brand {
    justify-content: center;
  }

  .ssn-logos-inline {
    justify-content: center;
  }
}

/* Efecto subrayado naranja menú header */
.main-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding-bottom: 6px;
}

.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background: var(--orange);
  border-radius: 10px;
  transition: width 0.25s ease;
}

.main-nav a:hover::after {
  width: 100%;
}

.privacy-form-note {
  margin-top: 12px;
  font-size: 12.5px;
  line-height: 1.45;
  color: #5d7191;
}

.privacy-form-note a {
  color: var(--brand);
  font-weight: 700;
  text-decoration: underline;
}

.privacy-form-note a:hover {
  color: var(--orange);
}

.privacy-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.privacy-modal.is-open {
  display: block;
}

.privacy-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 20, 48, .72);
  backdrop-filter: blur(3px);
}

.privacy-modal-box {
  position: relative;
  width: min(92vw, 820px);
  max-height: 86vh;
  overflow-y: auto;
  margin: 7vh auto;
  background: #fff;
  border-radius: 12px;
  padding: 34px 38px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
  color: var(--ink);
}

.privacy-modal-box h2 {
  font-size: 28px;
  color: var(--brand);
  margin-bottom: 18px;
  text-transform: uppercase;
}

.privacy-modal-box h3 {
  font-size: 17px;
  color: var(--brand);
  margin: 20px 0 8px;
}

.privacy-modal-box p {
  font-size: 14.5px;
  line-height: 1.6;
  color: #334b71;
  margin: 0 0 10px;
}

.privacy-modal-box a {
  color: var(--brand);
  font-weight: 700;
  text-decoration: underline;
}

.privacy-modal-note {
  margin-top: 18px !important;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 13px !important;
  color: #5d7191 !important;
}

.privacy-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #eef5ff;
  color: var(--brand);
  cursor: pointer;
  font-size: 18px;
  transition: .22s ease;
}

.privacy-modal-close:hover {
  background: var(--orange);
  color: #fff;
}

body.modal-open {
  overflow: hidden;
}

@media (max-width: 576px) {
  .privacy-modal-box {
    width: calc(100vw - 28px);
    margin: 5vh auto;
    padding: 28px 22px;
  }

  .privacy-modal-box h2 {
    font-size: 22px;
  }
}

.reclamos-terceros-section{
  margin:28px 0;
  background:var(--bg);
}

.reclamos-terceros-hero{
  background:linear-gradient(115deg,#0057aa 0%,#073b91 42%,#041f55 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.reclamos-terceros-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 30%,rgba(255,148,31,.22),transparent 28%),
    linear-gradient(135deg,transparent 0 58%,rgba(255,255,255,.08) 58% 72%,transparent 72%);
  pointer-events:none;
}

.reclamos-terceros-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .75fr;
  gap:38px;
  align-items:center;
  padding:58px 0;
}

.reclamos-terceros-copy h2{
  color:#fff;
  font-size:42px;
  line-height:1.12;
  text-transform:uppercase;
  max-width:760px;
}

.reclamos-terceros-copy h2 span{
  color:var(--orange2);
}

.reclamos-terceros-subtitle{
  color:#fff;
  font-size:21px;
  font-weight:700;
  line-height:1.35;
  margin:22px 0 12px;
  max-width:780px;
}

.reclamos-terceros-lead{
  color:#eaf3ff;
  font-size:17px;
  line-height:1.55;
  max-width:780px;
  margin:0 0 28px;
}

.reclamos-terceros-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.reclamos-terceros-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:0 24px 45px rgba(0,0,0,.25);
  padding:26px;
  color:var(--ink);
}

.reclamos-terceros-card-head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:20px;
}

.reclamos-terceros-card-icon{
  width:56px;
  height:56px;
  border-radius:14px;
  background:linear-gradient(180deg,var(--orange2),var(--orange));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}

.reclamos-terceros-card-head small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  font-weight:700;
  font-size:12px;
}

.reclamos-terceros-card-head h3{
  color:var(--brand);
  font-size:20px;
  text-transform:uppercase;
}

.reclamos-terceros-flow{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.reclamos-terceros-flow li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:9px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  font-weight:700;
  color:#243b61;
}

.reclamos-terceros-flow i{
  width:31px;
  height:31px;
  border-radius:50%;
  background:#edf4ff;
  color:var(--brand);
  display:flex;
  align-items:center;
  justify-content:center;
}

.reclamos-terceros-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:-34px;
  position:relative;
  z-index:5;
}

.reclamos-terceros-benefit{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px 25px;
  min-height:205px;
}

.reclamos-terceros-benefit span{
  width:54px;
  height:54px;
  border-radius:12px;
  background:#edf4ff;
  color:var(--brand);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  margin-bottom:17px;
}

.reclamos-terceros-benefit h3{
  color:var(--brand);
  font-size:17px;
  text-transform:uppercase;
  line-height:1.2;
}

.reclamos-terceros-benefit p{
  color:#415779;
  font-size:14px;
  line-height:1.5;
}

.reclamos-terceros-steps{
  margin-top:24px;
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:32px 38px 34px;
}

.reclamos-terceros-steps-head h2{
  color:var(--brand);
  font-size:30px;
  text-transform:uppercase;
}

.reclamos-terceros-steps-head p:not(.eyebrow){
  color:#56677f;
  font-size:16px;
  max-width:850px;
}

.reclamos-terceros-step-list{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:24px;
}

.reclamos-terceros-step{
  border:1px solid var(--line);
  border-radius:10px;
  padding:21px 18px;
  background:linear-gradient(180deg,#fff,#f9fbff);
}

.reclamos-terceros-step b{
  display:block;
  color:var(--orange);
  font-size:25px;
  font-weight:900;
  margin-bottom:14px;
}

.reclamos-terceros-step h3{
  color:var(--brand);
  font-size:15px;
  text-transform:uppercase;
}

.reclamos-terceros-step p{
  color:#415779;
  font-size:13px;
  line-height:1.45;
}

.reclamos-terceros-legal{
  display:flex;
  gap:12px;
  margin-top:22px;
  padding:16px 18px;
  border:1px solid #f2d6bf;
  border-left:4px solid var(--orange);
  border-radius:9px;
  background:#fff8f2;
}

.reclamos-terceros-legal i{
  color:var(--orange);
  font-size:20px;
}

.reclamos-terceros-legal p{
  margin:0;
  color:#5b4a3f;
  font-size:13px;
  line-height:1.5;
}

@media(max-width:1280px){
  .reclamos-terceros-copy h2{
    font-size:38px;
  }

  .reclamos-terceros-step-list{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:980px){
  .reclamos-terceros-grid,
  .reclamos-terceros-benefits,
  .reclamos-terceros-step-list{
    grid-template-columns:1fr;
  }

  .reclamos-terceros-grid{
    padding:42px 0 62px;
  }

  .reclamos-terceros-copy h2{
    font-size:30px;
  }

  .reclamos-terceros-subtitle{
    font-size:18px;
  }

  .reclamos-terceros-actions .btn{
    width:100%;
  }

  .reclamos-terceros-steps{
    padding:25px 20px;
  }
}

/* ==============================
   RECLAMOS - Efectos de cards
   ============================== */

.reclamos-terceros-card,
.reclamos-terceros-benefit,
.reclamos-terceros-step{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease,
    border-color .28s ease;
}

/* Card principal derecha */
.reclamos-terceros-card:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 55px rgba(0,0,0,.30);
}

/* Cards de beneficios */
.reclamos-terceros-benefit{
  position:relative;
  overflow:hidden;
}

.reclamos-terceros-benefit:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--orange),var(--brand-light));
  opacity:0;
  transition:.28s ease;
}

.reclamos-terceros-benefit:hover{
  transform:translateY(-5px);
  background:linear-gradient(180deg,#fff 0%,#fff7ef 100%);
  border-color:rgba(244,123,18,.35);
  box-shadow:0 18px 34px rgba(244,123,18,.18);
}

.reclamos-terceros-benefit:hover:before{
  opacity:1;
}

.reclamos-terceros-benefit span{
  transition:
    background .28s ease,
    color .28s ease,
    transform .28s ease;
}

.reclamos-terceros-benefit:hover span{
  background:var(--orange);
  color:#fff;
  transform:scale(1.06);
}

.reclamos-terceros-benefit:hover h3{
  color:var(--orange);
}

/* Pasos */
.reclamos-terceros-step{
  position:relative;
  overflow:hidden;
}

.reclamos-terceros-step:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--orange),var(--brand-light));
  opacity:0;
  transition:.28s ease;
}

.reclamos-terceros-step:hover{
  transform:translateY(-5px);
  background:linear-gradient(180deg,#fff 0%,#fff7ef 100%);
  border-color:rgba(244,123,18,.35);
  box-shadow:0 16px 30px rgba(244,123,18,.16);
}

.reclamos-terceros-step:hover:before{
  opacity:1;
}

.reclamos-terceros-step:hover h3{
  color:var(--orange);
}

/* Items del flujo */
.reclamos-terceros-flow li{
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    background .24s ease,
    border-color .24s ease;
}

.reclamos-terceros-flow li:hover{
  transform:translateX(5px);
  background:linear-gradient(180deg,#fff 0%,#fff7ef 100%);
  border-color:rgba(244,123,18,.35);
  box-shadow:0 10px 22px rgba(244,123,18,.13);
}

.reclamos-terceros-flow li:hover i{
  background:var(--orange);
  color:#fff;
}