:root{
  --text:#303030;
  --muted:#666;
  --line:#e8e8e8;
  --soft:#f7f7f7;
  --brand:#333;
  --pro-red:#c91520;
  --pro-red-dark:#a90f18;
  --white:#fff;
  --radius:22px;
  --shadow:0 16px 45px rgba(0,0,0,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:9999;background:#f4f4f4;border-bottom:1px solid var(--line)}
.navbar{width:min(1180px,94%);margin:auto;min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.brand{display:flex;align-items:center;flex:0 0 auto;z-index:2}
.brand img{width:180px;max-width:42vw;height:auto;display:block}
.nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,3.4vw,54px);white-space:nowrap}
.nav-links a{text-decoration:none;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:700;color:#444;transition:.2s}
.nav-links a:hover{color:#111}
.menu-toggle{display:none;background:none;border:0;font-size:2rem;color:#333;cursor:pointer}
.section{width:min(1180px,92%);margin:auto;padding:82px 0}
.section-tight{width:min(1180px,92%);margin:auto}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.86rem;font-weight:800;color:var(--pro-red);margin-bottom:14px}
h1,h2,h3{line-height:1.12;margin:0 0 18px}
h1{font-size:clamp(2.4rem,5.4vw,4.9rem);letter-spacing:-.03em}
h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.02em}
h3{font-size:1.35rem}
p{font-size:1.08rem;margin:0 0 18px}
p,.section-intro,.service-card p,.why-card p,.hero-content p,.contact-section p,blockquote,.slider-caption p,.requirements-copy p,.whatsapp-cta p{text-align:justify;text-align-last:left;hyphens:auto}
.hero-content p,.section-intro{font-size:1.24rem;color:var(--muted);max-width:760px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:12px;text-decoration:none;font-weight:800;border:1px solid var(--brand);transition:.2s;font-size:1.02rem}
.btn.primary,.btn.primary.hero-red{background:var(--pro-red);border-color:var(--pro-red);color:#fff}
.btn.primary:hover,.btn.primary.hero-red:hover{background:var(--pro-red-dark);border-color:var(--pro-red-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.10)}
.btn.whatsapp{
    background:#25D366;
    border-color:#25D366;
    color:#FFFFFF;
}

.btn.whatsapp:hover{
    background:#20BA5A;
    border-color:#20BA5A;
}
.full{width:100%}
.hero-slider-section{position:relative;overflow:hidden;min-height:calc(100vh - 94px);display:block;padding-top: 43px;padding-bottom:56px}
.hero-slider-track{position:relative;min-height:620px}
.slider-slide{display:none}
.slider-slide.active{display:block}
.hero-slide.active{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px}
.hero-image-card{border-radius:34px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.10);background:#fafafa;border:1px solid var(--line)}
.hero-image-card img{display:block;width:100%;height:560px;object-fit:contain;background:#fafafa}
.hero-actions{margin-top:26px;margin-bottom:54px}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#333;font-size:2.2rem;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.slider-prev{left:18px}.slider-next{right:18px}
.hero-slider-section>.slider-prev{left:calc(50% + 8px)}
.hero-slider-section>.slider-next{right:18px}
.slider-dots{display:flex;justify-content:center;gap:10px;z-index:4}
.slider-dots button{width:12px;height:12px;border:0;border-radius:999px;background:#d5d5d5;cursor:pointer}
.slider-dots button.active{background:var(--pro-red)}
.hero-dots{position:absolute;left:0;bottom:86px;width:48%}
.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:34px 20px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 34px rgba(0,0,0,.03)}
.hero-benefit{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 22px;border-right:1px solid var(--line);font-size:1.05rem}.hero-benefit:last-child{border-right:0}
.benefit-icon{width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--pro-red);background:rgba(201,21,32,.08);border:1px solid rgba(201,21,32,.16);font-size:1.7rem;font-weight:800;flex:0 0 auto}
.why-grid,.cards,.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.why-grid{grid-template-columns:repeat(4,1fr)}
.why-card,.service-card,.contact-form,blockquote,.visual-slider{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.why-card{padding:28px}.why-card span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:rgba(201,21,32,.08);color:var(--pro-red);font-weight:800;margin-bottom:16px}
.soft-bg{width:100%;max-width:none;background:var(--soft);padding-left:max(4%,calc((100% - 1180px)/2));padding-right:max(4%,calc((100% - 1180px)/2))}
.service-card{padding:22px}.service-card img{width:100%;height:180px;object-fit:contain;border-radius:16px;background:#fafafa;margin-bottom:18px}
.requirements-slider-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}
.visual-slider{position:relative;overflow:hidden}.visual-slider .slider-track{position:relative;min-height:430px}.visual-slider .slider-slide.active{display:grid}.visual-slider .slider-slide img{width:100%;height:430px;object-fit:contain;background:#fafafa;display:block}.slider-caption{padding:22px 28px 26px;background:#fff}.slider-caption p{margin-bottom:0;color:var(--muted)}.visual-slider .slider-dots{position:absolute;left:0;right:0;bottom:112px}.visual-slider .slider-prev{left:18px}.visual-slider .slider-next{right:18px}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.contact-list{display:grid;gap:12px;margin-top:24px}.contact-list a{padding:14px 16px;background:var(--soft);border-radius:12px;text-decoration:none}.contact-form{padding:28px;display:grid;gap:14px}.contact-form label{display:grid;gap:7px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d8d8d8;border-radius:12px;padding:13px 14px;font:inherit}
blockquote{margin:0;padding:30px;font-size:1.08rem}cite{display:block;margin-top:18px;color:var(--muted);font-style:normal;font-weight:800}
.whatsapp-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(135deg,var(--pro-red),var(--pro-red-dark));color:#fff;border-radius:28px;padding:48px 54px;margin-top:82px;margin-bottom:82px}.whatsapp-cta .eyebrow,.whatsapp-cta p{color:#fff}.cta-btn{background:#fff;color:var(--pro-red);border-color:#fff}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.footer{padding:34px 4%;text-align:center;background:#222;color:#eee}.footer p{margin:6px 0;font-size:.98rem;text-align:center;text-align-last:center}.footer a{color:#fff}
@media (min-width:1061px){.navbar{width:100%;max-width:none;min-height:145px;padding:0 28px}.brand img{width:clamp(420px,34vw,590px);max-width:42vw}.menu-toggle{display:block;font-size:3.1rem;line-height:1;margin-left:10px;padding:8px 0 8px 10px}.hero-slider-section{min-height:calc(100vh - 145px)}}
@media (max-width:1060px){.navbar{width:100%;padding:0 24px}.brand img{width:clamp(210px,46vw,360px);max-width:60vw}.menu-toggle{display:block}.nav-links{display:none!important;position:fixed!important;top:94px!important;left:0!important;right:0!important;width:100%!important;flex-direction:column!important;align-items:stretch!important;background:#fff!important;box-shadow:0 12px 25px rgba(0,0,0,.08)!important;padding:18px 28px 22px!important;margin:0!important;list-style:none!important;z-index:9998!important;gap:14px!important;white-space:normal!important}.nav-links.open{display:flex!important}.nav-links li{width:100%!important}.nav-links a{display:block!important;width:100%!important;padding:18px 22px!important;text-align:left!important;text-decoration:none!important;color:#333!important;background:#fff!important;border:1px solid #dcdfe3!important;border-radius:14px!important;font-size:1.15rem!important;font-weight:800!important;box-shadow:0 2px 5px rgba(0,0,0,.03)!important}.hero-slide.active{grid-template-columns:1fr}.hero-slider-track{min-height:auto}.hero-dots{position:static;width:100%;margin-top:10px}.hero-slider-section>.slider-prev{left:18px}.hero-image-card img{height:420px}.why-grid{grid-template-columns:repeat(2,1fr)}.requirements-slider-section,.contact-section{grid-template-columns:1fr}.cards,.testimonial-grid{grid-template-columns:1fr}}
@media (max-width:760px){.navbar{min-height:100px;justify-content:center}.brand img{width:clamp(220px,60vw,320px);max-width:calc(100vw - 130px)}.menu-toggle{position:absolute;right:clamp(14px,4vw,24px);top:50%;transform:translateY(-50%);font-size:clamp(2.8rem,8vw,3.5rem);line-height:1;margin:0;padding:6px;z-index:10001}.nav-links{top:100px!important}.section{padding:62px 0}.hero-slider-section{padding-top: 34px;padding-bottom:34px;min-height:auto}.hero-slide.active{gap:26px}.hero-content{order:1}.hero-image-card{order:2;border-radius:22px}.hero-image-card img{height:330px;border-radius:22px}h1{font-size:2.38rem}.hero-content p{font-size:1.12rem}.actions{display:grid}.btn{width:100%}.hero-actions{margin-bottom:22px}.hero-benefits{grid-template-columns:1fr;gap:14px;padding:8px 0 0;border-top:0;box-shadow:none}.hero-benefit{justify-content:flex-start;border-right:0;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fff}.benefit-icon{width:46px;height:46px;font-size:1.35rem}.why-grid,.cards,.testimonial-grid{grid-template-columns:1fr}.soft-bg{padding-top: 37px;padding-bottom:62px}.visual-slider .slider-track,.visual-slider .slider-slide{min-height:360px}.visual-slider .slider-slide img{height:360px}.slider-btn{width:42px;height:42px;font-size:2rem}.visual-slider .slider-dots{bottom:124px}.slider-caption{padding:20px 22px 24px}.whatsapp-cta{display:grid;padding:34px 24px;border-radius:22px;margin-top:62px;margin-bottom:62px}}

/* ==================================================
   MOBILE HERO ORDER UPDATE
   Requested order on phones:
   Category title -> headline -> paragraph -> image -> red button -> dots
   Desktop remains text-left / image-right.
   ================================================== */
@media (max-width: 760px) {
  .hero-slider-section {
    width: min(100%, 100%);
    padding-left: 0;
    padding-right: 0;
  }

  .hero-slide.active {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
  }

  .hero-slide.active .hero-content {
    display: contents;
  }

  .hero-slide.active .eyebrow {
    order: 1;
    display: block;
    width: calc(100% - 48px);
    margin: 0 24px 2px;
  }

  .hero-slide.active h1 {
    order: 2;
    width: calc(100% - 48px);
    margin: 0 24px 8px;
    font-size: clamp(2.35rem, 11vw, 3.75rem);
    line-height: 1.13;
    letter-spacing: -0.035em;
  }

  .hero-slide.active p {
    order: 3;
    width: calc(100% - 48px);
    margin: 0 24px 8px;
    max-width: none;
    font-size: clamp(1.1rem, 5.2vw, 1.55rem);
    line-height: 1.55;
    color: var(--muted);
    text-align: justify;
    text-align-last: left;
  }

  .hero-slide.active .hero-image-card {
    order: 4;
    width: calc(100% - 48px);
    margin: 6px 24px 0;
    border-radius: 22px;
  }

  .hero-slide.active .hero-image-card img {
    width: 100%;
    height: auto;
    min-height: 260px;
    max-height: 430px;
    object-fit: contain;
    border-radius: 22px;
  }

  .hero-slide.active .hero-actions {
    order: 5;
    width: calc(100% - 48px);
    margin: 6px 24px 0;
  }

  .hero-slide.active .hero-actions .btn {
    width: 100%;
    min-height: 64px;
    font-size: 1.18rem;
    border-radius: 16px;
  }

  .hero-dots {
    margin-top: 18px;
  }
}


/* Slider arrow click fix */
.hero-slider-section > .slider-btn,
.visual-slider > .slider-btn {
  z-index: 50;
  pointer-events: auto;
  touch-action: manipulation;
}
.hero-slider-section .hero-image-card,
.hero-slider-section .hero-content {
  pointer-events: auto;
}
.hero-slider-section {
  touch-action: pan-y;
}


/* ==================================================
   MOBILE FIRST-SCREEN HERO COMPACT UPDATE
   Goal: show category, full headline, paragraph, image,
   red button, and dots inside the first mobile view.
   Desktop layout remains unchanged.
   ================================================== */
@media (max-width: 760px) {
  .site-header {
    position: sticky;
    top: 0;
  }

  .navbar {
    min-height: 86px;
    padding: 0 18px;
  }

  .brand img {
    width: clamp(205px, 56vw, 285px);
    max-width: calc(100vw - 118px);
  }

  .menu-toggle {
    font-size: clamp(2.45rem, 7.2vw, 3.05rem);
    right: clamp(12px, 3.5vw, 20px);
  }

  .nav-links {
    top: 86px !important;
  }

  .hero-slider-section {
    width: 100%;
    min-height: calc(100svh - 86px);
    padding: 34px 0 18px;
    overflow: hidden;
  }

  .hero-slider-track {
    min-height: auto;
  }

  .hero-slide.active {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    align-content: start;
  }

  .hero-slide.active .hero-content {
    display: contents;
  }

  .hero-slide.active .eyebrow {
    order: 1;
    display: block;
    width: calc(100% - 44px);
    margin: 0 22px 2px;
    font-size: clamp(.78rem, 3.6vw, .98rem);
    letter-spacing: .18em;
    line-height: 1.1;
  }

  .hero-slide.active h1 {
    order: 2;
    width: calc(100% - 44px);
    margin: 0 22px 4px;
    max-width: none;
    font-size: clamp(2.02rem, 9.2vw, 2.78rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
  }

  .hero-slide.active p {
    order: 3;
    width: calc(100% - 44px);
    margin: 0 22px 8px;
    max-width: none;
    font-size: clamp(.98rem, 4.45vw, 1.2rem);
    line-height: 1.42;
    color: var(--muted);
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
  }

  .hero-slide.active .hero-image-card {
    order: 4;
    width: calc(100% - 44px);
    margin: 4px 22px 0;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(0,0,0,.08);
  }

  .hero-slide.active .hero-image-card img {
    width: 100%;
    height: clamp(145px, 26svh, 235px);
    min-height: 0;
    max-height: none;
    object-fit: contain;
    border-radius: 18px;
    background: #fafafa;
  }

  .hero-slide.active .hero-actions {
    order: 5;
    width: calc(100% - 44px);
    margin: 8px 22px 0;
  }

  .hero-slide.active .hero-actions .btn {
    width: 100%;
    min-height: 52px;
    padding: 12px 20px;
    border-radius: 14px;
    font-size: clamp(1rem, 4.6vw, 1.16rem);
  }

  .hero-dots {
    order: 6;
    position: static;
    width: 100%;
    margin-top: 12px;
    gap: 10px;
  }

  .slider-dots button {
    width: 11px;
    height: 11px;
  }

  .hero-slider-section > .slider-btn {
    top: auto;
    bottom: 86px;
    transform: none;
    width: 44px;
    height: 44px;
    font-size: 2.05rem;
  }

  .hero-slider-section > .slider-prev {
    left: 28px;
  }

  .hero-slider-section > .slider-next {
    right: 28px;
  }

  .hero-benefits {
    margin-top: 10px;
  }
}

@media (max-width: 390px) {
  .hero-slider-section {
    padding-top: 20px;
  }

  .hero-slide.active h1 {
    font-size: clamp(1.82rem, 8.6vw, 2.22rem);
    line-height: 1.06;
  }

  .hero-slide.active p {
    font-size: clamp(.9rem, 4.05vw, 1.02rem);
    line-height: 1.34;
    margin-bottom: 5px;
  }

  .hero-slide.active .hero-image-card img {
    height: clamp(125px, 23svh, 185px);
  }

  .hero-slide.active .hero-actions .btn {
    min-height: 48px;
  }
}


/* ==================================================
   FINAL MOBILE HERO FIT UPDATE
   Mobile order:
   category -> full-width headline -> full-width paragraph
   -> large image -> large red button -> slider dots.
   Reduced top spacing above MOTOCICLETAS and balanced spacing below.
   Desktop layout remains unchanged.
   ================================================== */
@media (max-width: 760px) {
  :root {
    --mobile-gutter: clamp(20px, 6vw, 34px);
  }

  .navbar {
    min-height: 82px;
  }

  .brand img {
    width: clamp(210px, 58vw, 300px);
    max-width: calc(100vw - 120px);
  }

  .menu-toggle {
    font-size: clamp(2.45rem, 7.4vw, 3.08rem);
  }

  .nav-links {
    top: 82px !important;
  }

  .hero-slider-section {
    width: 100%;
    min-height: calc(100svh - 82px);
    padding: clamp(18px, 3.8svh, 28px) 0 clamp(14px, 2.4svh, 24px);
    overflow: hidden;
  }

  .hero-slider-track {
    min-height: auto;
  }

  .hero-slide.active {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
    align-content: start;
  }

  .hero-slide.active .hero-content {
    display: contents;
  }

  .hero-slide.active .eyebrow {
    order: 1;
    display: block;
    width: calc(100% - (var(--mobile-gutter) * 2));
    margin: 0 var(--mobile-gutter) clamp(6px, 1svh, 10px);
    font-size: clamp(.8rem, 3.9vw, 1.02rem);
    line-height: 1.05;
    letter-spacing: .18em;
  }

  .hero-slide.active h1 {
    order: 2;
    width: calc(100% - (var(--mobile-gutter) * 2));
    max-width: none;
    margin: 0 var(--mobile-gutter) clamp(10px, 1.7svh, 16px);
    font-size: clamp(2.18rem, 9.9vw, 3.22rem);
    line-height: 1.06;
    letter-spacing: -0.045em;
  }

  .hero-slide.active p {
    order: 3;
    width: calc(100% - (var(--mobile-gutter) * 2));
    max-width: none;
    margin: 0 var(--mobile-gutter) clamp(16px, 2.2svh, 22px);
    font-size: clamp(1.02rem, 4.65vw, 1.28rem);
    line-height: 1.36;
    color: var(--muted);
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
  }

  .hero-slide.active .hero-image-card {
    order: 4;
    width: calc(100% - (var(--mobile-gutter) * 2));
    margin: 0 var(--mobile-gutter);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0,0,0,.08);
  }

  .hero-slide.active .hero-image-card img {
    display: block;
    width: 100%;
    height: clamp(210px, 29svh, 300px);
    min-height: 0;
    max-height: none;
    object-fit: contain;
    border-radius: 18px;
    background: #fafafa;
  }

  .hero-slide.active .hero-actions {
    order: 5;
    width: calc(100% - (var(--mobile-gutter) * 2));
    margin: clamp(12px, 1.8svh, 18px) var(--mobile-gutter) 0;
  }

  .hero-slide.active .hero-actions .btn {
    width: 100%;
    min-height: clamp(56px, 7.5svh, 70px);
    padding: 12px 22px;
    border-radius: 14px;
    font-size: clamp(1.05rem, 4.8vw, 1.28rem);
    font-weight: 900;
  }

  .hero-dots {
    order: 6;
    position: static;
    width: 100%;
    margin-top: clamp(10px, 1.6svh, 16px);
    gap: 12px;
  }

  .slider-dots button {
    width: 12px;
    height: 12px;
  }

  .hero-slider-section > .slider-btn {
    top: 66%;
    bottom: auto;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    font-size: 2.05rem;
    z-index: 60;
    background: rgba(255,255,255,.96);
  }

  .hero-slider-section > .slider-prev {
    left: calc(var(--mobile-gutter) + 8px);
  }

  .hero-slider-section > .slider-next {
    right: calc(var(--mobile-gutter) + 8px);
  }
}

@media (max-width: 390px) {
  .hero-slider-section {
    padding-top: 20px;
  }

  .hero-slide.active h1 {
    font-size: clamp(1.95rem, 9.1vw, 2.45rem);
    line-height: 1.05;
    margin-bottom: 8px;
  }

  .hero-slide.active p {
    font-size: clamp(.93rem, 4.2vw, 1.06rem);
    line-height: 1.3;
    margin-bottom: 12px;
  }

  .hero-slide.active .hero-image-card img {
    height: clamp(165px, 25svh, 230px);
  }

  .hero-slide.active .hero-actions .btn {
    min-height: 52px;
  }

  .hero-dots {
    margin-top: 9px;
  }
}


/* NAV FIX */
.menu-toggle{
  display:none;
  font-size:30px;
  background:none;
  border:none;
  cursor:pointer;
  margin-left:auto;
}

.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}

.nav-links{
  display:flex;
  gap:35px;
  list-style:none;
  margin:0;
  padding:0;
}

@media(max-width:768px){
  .menu-toggle{display:block;}
  .nav-links{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    flex-direction:column;
    display:none;
    padding:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.1);
  }
  .nav-links.active{display:flex;}
}


/* ================= PRO UI UPGRADE ================= */

/* Overlay */
.overlay{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,0.45);
  opacity:0;
  pointer-events:none;
  transition:.3s;
  z-index:998;
}
.overlay.active{
  opacity:1;
  pointer-events:auto;
}

/* Drawer mobile menu */
@media (max-width:768px){
  .nav-links{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:280px;
    background:#fff;
    flex-direction:column;
    padding:80px 25px;
    transform:translateX(100%);
    transition:.35s ease;
    box-shadow:-10px 0 30px rgba(0,0,0,0.2);
    z-index:999;
  }

  .nav-links.active{
    transform:translateX(0);
  }
}

/* Smooth scroll */
html{
  scroll-behavior:smooth;
}

/* Hamburger animation */
.menu-toggle{
  transition:transform .3s;
}

.menu-toggle.active{
  transform:rotate(90deg);
}








.full-width-dark{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:#2F3640;
  height:140px;
  margin-top:40px;
  margin-bottom:40px;
  display:block;
}


/* ===== CINEMATIC PRO HERO ===== */

.site-header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fff;
}

.cinematic-financial-hero{
  position: relative;
  min-height: 74vh;
  overflow: hidden;
  background: #111;
  display: flex;
  align-items: center;
  color: #fff;
}

.cinematic-bg,
.cinematic-slide{
  position: absolute;
  inset: 0;
}

.cinematic-bg{
  z-index: 0;
}

.cinematic-slide{
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.08);
  animation: cinematicFade 24s infinite ease-in-out;
}

.cinematic-slide::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.58) 34%, rgba(0,0,0,.16) 68%, rgba(0,0,0,.20) 100%),
    radial-gradient(circle at 18% 50%, rgba(0,0,0,.20), transparent 42%);
}

.cinematic-slide-1{
  background-image: url("../img/cinematic_intro/cinematic_1.jpg?v=20260704-whatsapp-form-v5");
  animation-delay: 0s;
}

.cinematic-slide-2{
  background-image: url("../img/cinematic_intro/cinematic_2.jpg?v=20260704-whatsapp-form-v5");
  animation-delay: 6s;
}

.cinematic-slide-3{
  background-image: url("../img/cinematic_intro/cinematic_3.jpg?v=20260704-whatsapp-form-v5");
  animation-delay: 12s;
}

.cinematic-slide-4{
  background-image: url("../img/cinematic_intro/cinematic_4.jpg?v=20260704-whatsapp-form-v5");
  animation-delay: 18s;
}

@keyframes cinematicFade{
  0%{ opacity: 0; transform: scale(1.08); }
  8%{ opacity: 1; }
  28%{ opacity: 1; transform: scale(1.16); }
  38%{ opacity: 0; transform: scale(1.18); }
  100%{ opacity: 0; transform: scale(1.08); }
}

.cinematic-content{
  position: relative;
  z-index: 2;
  width: min(560px, calc(100% - 48px));
  margin-left: clamp(24px, 7vw, 96px);
  padding: 72px 0;
}

.cinematic-eyebrow,
.purpose-eyebrow{
  display: inline-block;
  color: #d11222;
  font-size: .82rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 22px;
}

.cinematic-content h1{
  margin: 0;
  color: #fff;
  font-size: clamp(2.65rem, 6vw, 5rem);
  line-height: .96;
  font-weight: 900;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.cinematic-accent-line{
  display: block;
  width: 56px;
  height: 3px;
  background: #d11222;
  margin: 28px 0 22px;
  border-radius: 99px;
}

.cinematic-content p{
  margin: 0;
  max-width: 520px;
  color: rgba(255,255,255,.90);
  font-size: clamp(1rem, 1.65vw, 1.24rem);
  line-height: 1.55;
}

.cinematic-actions{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.cinematic-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 6px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.cinematic-btn:hover{
  transform: translateY(-2px);
}

.cinematic-btn-primary{
  background: #d11222;
  color: #fff;
  box-shadow: 0 14px 34px rgba(209,18,34,.28);
}

.cinematic-btn-secondary{
  color: #fff;
  border: 1px solid rgba(255,255,255,.75);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
}

.cinematic-arrow{
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 999px;
  background: rgba(0,0,0,.34);
  color: #fff;
  font-size: 44px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: default;
}

.cinematic-arrow-left{ left: 24px; }
.cinematic-arrow-right{ right: 24px; }

.cinematic-dots{
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 42px;
  transform: translateX(-50%);
  display: flex;
  gap: 15px;
}

.cinematic-dots span{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
}

.cinematic-dots span:first-child{
  background: #d11222;
}

.purpose-section{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 1.25fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  padding: clamp(58px, 8vw, 96px) clamp(24px, 6vw, 80px);
  background:
    radial-gradient(circle at 18% 0%, rgba(209,18,34,.08), transparent 28%),
    #fff;
}

.purpose-copy h2{
  margin: 0;
  color: #222832;
  font-size: clamp(2rem, 3.8vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 900;
}

.purpose-copy h2 span{
  color: #d11222;
}

.purpose-copy p{
  max-width: 520px;
  margin: 22px 0 0;
  color: #5d6573;
  font-size: 1.06rem;
  line-height: 1.6;
}

.purpose-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.purpose-card{
  min-height: 220px;
  padding: 34px 26px;
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 45px rgba(16,24,40,.10);
  text-align: center;
  border: 1px solid rgba(16,24,40,.06);
}

.purpose-icon{
  width: 74px;
  height: 74px;
  margin: 0 auto 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f3f4f6;
  font-size: 32px;
}

.purpose-card h3{
  margin: 0 0 12px;
  color: #222832;
  font-size: 1.35rem;
  font-weight: 900;
}

.purpose-card p{
  margin: 0;
  color: #69717d;
  line-height: 1.5;
}

.purpose-card::after{
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  background: #d11222;
  margin: 24px auto 0;
  border-radius: 99px;
}

@media (max-width: 900px){
  .cinematic-financial-hero{
    min-height: 72vh;
  }

  .cinematic-content{
    width: min(100% - 40px, 560px);
    margin: 0 auto;
    padding: 64px 0 86px;
  }

  .cinematic-arrow{
    display: none;
  }

  .purpose-section{
    grid-template-columns: 1fr;
  }

  .purpose-cards{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px){
  .cinematic-actions{
    flex-direction: column;
  }

  .cinematic-btn{
    width: 100%;
  }

  .cinematic-dots{
    bottom: 24px;
  }
}


/* ===== HEADER SIZE REFINEMENT ===== */
/* Keeps the same menu and sticky behavior, but reduces vertical space. */
.site-header{
  min-height: auto !important;
  padding: 0 !important;
}

.navbar{
  min-height: 96px !important;
  padding-top: 20px !important;
  padding-bottom: 10px !important;
  align-items: center !important;
}

.brand{
  display: flex !important;
  align-items: center !important;
}

.brand img{
  max-height: 92px !important;
  width: auto !important;
  object-fit: contain !important;
}

.nav-links{
  align-items: center !important;
}

.nav-links a{
  padding-top: 20px !important;
  padding-bottom: 10px !important;
}

/* Mobile: keep logo readable without making the header too tall */
@media (max-width: 768px){
  .navbar{
    min-height: 78px !important;
    padding-top: 20px !important;
    padding-bottom: 8px !important;
  }

  .brand img{
    max-height: 70px !important;
  }
}

@media (max-width: 480px){
  .navbar{
    min-height: 70px !important;
  }

  .brand img{
    max-height: 62px !important;
  }
}


/* ===== HEADER SIZE REFINEMENT V2 ===== */
.navbar{
  min-height:82px !important;
  padding-top: 20px !important;
  padding-bottom:6px !important;
}
.brand img{
  max-height:76px !important;
}
@media (max-width:768px){
 .navbar{min-height:68px !important;padding-top: 20px!important;padding-bottom:6px!important;}
 .brand img{max-height:58px!important;}
}


/* ===== HEADER ULTRA COMPACT ===== */
.site-header{
  box-shadow:0 1px 6px rgba(0,0,0,.05)!important;
}

.navbar{
  min-height:68px!important;
  padding:4px 24px!important;
}

.brand img{
  max-height:60px!important;
  width:auto!important;
}

.nav-links a{
  font-size:1rem!important;
  padding:6px 0!important;
}

@media (max-width:768px){
  .navbar{
    min-height:58px!important;
    padding:4px 16px!important;
  }
  .brand img{
    max-height:48px!important;
  }
}


/* ===== LOGO ALIGNMENT REFINEMENT ===== */
.navbar{
  padding-left:32px !important;
  padding-right:24px !important;
}

.brand{
  margin-left:12px !important;
}

@media (min-width:1200px){
  .navbar{
    padding-left:40px !important;
  }
  .brand{
    margin-left:18px !important;
  }
}


/* ===== CINEMATIC HERO COMPACT HEIGHT ===== */
/* Keeps current design and functionality, but makes the hero shorter so CTA buttons are visible. */
.cinematic-financial-hero{
  min-height:54vh !important;
}

.cinematic-content{
  padding-top: 21px !important;
  padding-bottom:32px !important;
}

.cinematic-content h1{
  font-size:clamp(2.2rem, 5vw, 4.35rem) !important;
  line-height:.95 !important;
}

.cinematic-accent-line{
  margin:18px 0 16px !important;
}

.cinematic-actions{
  margin-top:22px !important;
}

.cinematic-dots{
  bottom:20px !important;
}

@media (max-width:900px){
  .cinematic-financial-hero{
    min-height:58vh !important;
  }

  .cinematic-content{
    padding-top: 22px !important;
    padding-bottom:64px !important;
  }

  .cinematic-content h1{
    font-size:clamp(2rem, 10vw, 3.5rem) !important;
  }
}

@media (max-width:560px){
  .cinematic-financial-hero{
    min-height:64vh !important;
  }
}


/* ===== PURPOSE SECTION REMOVED - FLOW SAFETY ===== */
.cinematic-financial-hero + section{
  margin-top: 0 !important;
}


/* ===== MOBILE HERO FIX ===== */
@media (max-width: 768px){
  .site-header{
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #fff !important;
  }

  .navbar{
    min-height: 88px !important;
    padding: 8px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .brand img{
    max-height: 74px !important;
    width: auto !important;
  }

  .menu-toggle{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: transparent !important;
    border: 0 !important;
    margin-left: auto !important;
    z-index: 10000 !important;
  }

  .cinematic-financial-hero{
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    display: block !important;
    background: #101014 !important;
    color: #fff !important;
  }

  .cinematic-bg{
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .cinematic-slide{
    background-position: center center !important;
  }

  .cinematic-slide::after{
    background:
      linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.58) 48%, rgba(0,0,0,.22) 100%),
      linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.62) 100%) !important;
  }

  .cinematic-content{
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 38px 24px 76px !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .cinematic-eyebrow{
    font-size: .72rem !important;
    letter-spacing: .18em !important;
    margin-bottom: 14px !important;
  }

  .cinematic-content h1{
    color: #fff !important;
    font-size: clamp(2.1rem, 12vw, 3.25rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    max-width: 95% !important;
  }

  .cinematic-accent-line{
    width: 48px !important;
    height: 3px !important;
    margin: 18px 0 16px !important;
  }

  .cinematic-content p{
    color: rgba(255,255,255,.92) !important;
    font-size: 1.02rem !important;
    line-height: 1.45 !important;
    max-width: 94% !important;
  }

  .cinematic-actions{
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 22px !important;
    width: min(100%, 340px) !important;
  }

  .cinematic-btn{
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: 6px !important;
    font-size: .98rem !important;
    text-decoration: none !important;
  }

  .cinematic-arrow{
    width: 38px !important;
    height: 38px !important;
    font-size: 32px !important;
    top: 52% !important;
    background: rgba(0,0,0,.42) !important;
  }

  .cinematic-arrow-left{
    left: 10px !important;
  }

  .cinematic-arrow-right{
    right: 10px !important;
  }

  .cinematic-dots{
    bottom: 24px !important;
    gap: 10px !important;
  }

  .cinematic-dots span{
    width: 9px !important;
    height: 9px !important;
  }
}

@media (max-width: 420px){
  .navbar{
    min-height: 82px !important;
    padding: 7px 16px !important;
  }

  .brand img{
    max-height: 68px !important;
  }

  .cinematic-content{
    padding: 34px 20px 72px !important;
  }

  .cinematic-content h1{
    font-size: clamp(2rem, 11vw, 2.85rem) !important;
  }

  .cinematic-content p{
    font-size: .98rem !important;
  }
}

/* ==================================================
   MOBILE CINEMATIC SLIDER TOUCH FIX
   Keeps the current visual design, but ensures the hero
   arrows and dots stay clickable on phones and tablets.
   ================================================== */
.cinematic-bg,
.cinematic-slide,
.cinematic-slide::after{
  pointer-events:none !important;
}
.cinematic-arrow,
.cinematic-dots,
.cinematic-dots button{
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  user-select:none !important;
  cursor:pointer !important;
}
.cinematic-arrow,
.cinematic-dots{
  z-index:80 !important;
}
.cinematic-dots button{
  appearance:none !important;
  -webkit-appearance:none !important;
}
@media (max-width:768px){
  .cinematic-financial-hero{
    position:relative !important;
    isolation:isolate !important;
  }
  .cinematic-arrow{
    z-index:90 !important;
  }
  .cinematic-dots{
    z-index:95 !important;
    padding:12px !important;
    margin:-12px !important;
  }
  .cinematic-dots button{
    min-width:14px !important;
    min-height:14px !important;
  }
}


/* ==================================================
   BENEFITS CONTENT UPDATE
   Keeps the existing three-benefit layout and only supports
   the added original ProImpulsa benefit text.
   ================================================== */
.hero-benefit {
  align-items: flex-start;
}

.benefit-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 290px;
}

.benefit-copy p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--muted);
  text-align: left;
  text-align-last: left;
}

@media (max-width: 760px) {
  .hero-benefit {
    align-items: flex-start;
  }

  .benefit-copy {
    max-width: none;
  }
}


/* ==================================================
   IMPULSA PLANES
   Original ProImpulsa payment data from SIMULADOR_FINANCIERO.xlsx.
   ================================================== */
.impulsa-plans-section{
  background:#f3f4f6;
  padding:64px min(7vw,90px) 58px;
  overflow:hidden;
}
.impulsa-plans-header{
  text-align:center;
  max-width:980px;
  margin:0 auto 34px;
}
.impulsa-plans-header .eyebrow{
  color:var(--pro-red);
}
.impulsa-plans-header h2{
  margin:4px 0 8px;
  color:#203040;
  font-size:clamp(2.4rem,4.6vw,4.25rem);
  line-height:1.05;
  letter-spacing:.01em;
}
.impulsa-plans-header p{
  margin:0 auto 22px;
  color:#2f3d4a;
  font-size:clamp(1rem,1.45vw,1.16rem);
}
.plans-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  min-height:44px;
  padding:10px 34px;
  border-radius:999px;
  background:linear-gradient(135deg,#cf1422,#f23442);
  color:#fff;
  font-weight:800;
  box-shadow:0 14px 26px rgba(207,20,34,.24);
}
.impulsa-plans-grid{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:start;
}
.impulsa-plan-card{
  min-height:530px;
  padding:32px 28px 30px;
  border-radius:6px;
  background:#fff;
  color:#1e2f3e;
  box-shadow:0 18px 42px rgba(22,35,48,.1);
  border:1px solid rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
}
.impulsa-plan-card-dark{
  color:#fff;
  background:linear-gradient(145deg,#1b2b38,#101b24);
  border-color:rgba(255,255,255,.08);
}
.impulsa-plan-card h3{
  margin:0;
  text-align:center;
  font-size:1.55rem;
  line-height:1.1;
  letter-spacing:.08em;
  font-weight:900;
}
.plan-subtitle{
  margin:8px 0 26px;
  text-align:center;
  font-weight:800;
  color:inherit;
  opacity:.82;
}
.plan-divider{
  height:1px;
  background:currentColor;
  opacity:.18;
  margin:0 0 28px;
}
.plan-amount{
  margin:0 0 28px;
  text-align:center;
  font-size:clamp(2.15rem,3.2vw,2.75rem);
  line-height:1;
  letter-spacing:.02em;
  color:inherit;
}
.plan-amount span{
  font-size:.95rem;
  font-weight:900;
  letter-spacing:.02em;
}
.plan-payments{
  list-style:none;
  padding:0;
  margin:4px auto 20px;
  width:min(100%,280px);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.plan-payments li{
  display:grid;
  grid-template-columns:22px minmax(96px,1fr) 14px minmax(82px,1fr);
  align-items:center;
  gap:8px;
  font-size:.95rem;
}
.plan-payments span{
  color:#9ad80f;
  font-weight:900;
  font-size:1.05rem;
}
.plan-payments strong,
.plan-payments b{
  font-weight:850;
}
.plan-payments em{
  font-style:normal;
  opacity:.46;
  font-weight:800;
}
.plan-total{
  margin:auto auto 18px;
  width:min(100%,280px);
  padding:10px 14px;
  border-radius:999px;
  background:rgba(154,216,15,.12);
  color:inherit;
  text-align:center;
  font-weight:900;
  font-size:.88rem;
}
.impulsa-plan-card:not(.impulsa-plan-card-dark) .plan-total{
  background:rgba(201,21,32,.08);
  color:#1e2f3e;
}
.plan-cat-button{
  align-self:center;
  min-width:210px;
  min-height:45px;
  border-radius:999px;
  border:2px solid currentColor;
  background:transparent;
  color:inherit;
  font-weight:900;
  font-size:1rem;
  cursor:pointer;
}
.plan-cat-button-red{
  border-color:#cf1422;
  background:#cf1422;
  color:#fff;
  box-shadow:0 12px 22px rgba(207,20,34,.18);
}
.plans-note{
  margin:30px auto 0;
  max-width:760px;
  text-align:center;
  color:#6b7280;
  font-size:.95rem;
  line-height:1.5;
}
@media (max-width:1040px){
  .impulsa-plans-grid{
    grid-template-columns:1fr;
    max-width:620px;
  }
  .impulsa-plan-card{
    min-height:auto;
  }
}
@media (max-width:640px){
  .impulsa-plans-section{
    padding:48px 20px;
  }
  .plans-pill{
    min-width:170px;
  }
  .impulsa-plan-card{
    padding:28px 20px;
  }
  .plan-payments{
    width:100%;
  }
  .plan-payments li{
    grid-template-columns:20px minmax(90px,1fr) 10px minmax(78px,1fr);
    gap:6px;
    font-size:.9rem;
  }
  .plan-cat-button{
    width:100%;
    min-width:0;
  }
}


/* ProImpulsa contact information buttons - gray states */
.contact-section .contact-list a,
#contactos .contact-list a{
  background:linear-gradient(#EEEEEE, #DCDCDC) !important;
  border:1px solid #BFC3C9 !important;
  color:#222222 !important;
  -webkit-tap-highlight-color:transparent !important;
}
.contact-section .contact-list a:hover,
.contact-section .contact-list a:focus,
.contact-section .contact-list a:focus-visible,
#contactos .contact-list a:hover,
#contactos .contact-list a:focus,
#contactos .contact-list a:focus-visible{
  background:linear-gradient(#DADADA, #CFCFCF) !important;
  border-color:#9CA3AF !important;
  color:#222222 !important;
}
.contact-section .contact-list a:active,
#contactos .contact-list a:active{
  background:linear-gradient(#D3D3D3, #C5C5C5) !important;
  border-color:#9CA3AF !important;
  color:#222222 !important;
}


/* ==================================================
   PROIMPULSA FINAL FOOTER
   Added at the end of the site without modifying previous sections.
   ================================================== */
.proimpulsa-footer{
  position:relative;
  background:#253440;
  color:#fff;
  padding:74px 4% 78px;
  text-align:left;
}
.proimpulsa-footer .footer-inner{
  width:min(1115px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1.25fr .9fr 1.25fr;
  gap:58px;
  align-items:start;
}
.proimpulsa-footer h3{
  margin:0 0 22px;
  color:#fff;
  font-size:1.55rem;
  line-height:1.2;
  font-weight:800;
}
.proimpulsa-footer p,
.proimpulsa-footer a,
.proimpulsa-footer li{
  color:#fff;
  font-size:.96rem;
  line-height:1.65;
  text-decoration:none;
}
.proimpulsa-footer p{
  margin:0 0 26px;
  text-align:left;
  text-align-last:auto;
}
.proimpulsa-footer .footer-logo{
  display:inline-block;
  margin:4px 0 42px;
}
.proimpulsa-footer .footer-logo img{
  display:block;
  width:155px;
  max-width:100%;
  height:auto;
}
.footer-contact-line{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:28px;
}
.footer-contact-line div{
  display:grid;
  gap:2px;
}
.footer-phone-icon{
  display:inline-flex;
  width:22px;
  height:30px;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin-top:2px;
  color:#fff;
  position:relative;
}
.footer-phone-icon::before{
  content:"";
  width:17px;
  height:25px;
  border:2.4px solid currentColor;
  border-radius:5px;
  box-sizing:border-box;
  display:block;
}
.footer-phone-icon::after{
  content:"";
  position:absolute;
  bottom:4px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
}
.footer-socials{
  display:flex;
  gap:10px;
}
.footer-socials a{
  display:inline-flex;
  width:32px;
  height:32px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  border:none;
  overflow:hidden;
  line-height:1;
}
.footer-socials a img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.footer-socials a:hover{
  filter:brightness(1.08);
}
.footer-nav-col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.footer-nav-col li a{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.footer-nav-col li a::before{
  content:"›";
  color:#7c8994;
  font-weight:800;
}

.footer-identity-list{
  display:grid;
  gap:10px;
}
.footer-identity-list article{
  margin:0;
}
.footer-identity-list h4{
  margin:0 0 4px;
  color:#fff;
  font-size:.98rem;
  line-height:1.25;
}
.footer-identity-list h4::before{
  content:"›";
  color:#7c8994;
  font-weight:800;
  margin-right:8px;
}
.footer-identity-list p{
  margin:0;
  max-width:260px;
  font-size:.86rem;
  line-height:1.45;
  text-align:left;
  text-align-last:left;
}
.footer-hours-col p{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  white-space:nowrap;
}
.footer-hours-col p em{
  display:block;
  flex:1 1 auto;
  border-bottom:1px dotted rgba(255,255,255,.75);
  transform:translateY(-2px);
}
.footer-hours-col strong{
  font-weight:400;
}
.footer-back-top{
  position:absolute;
  right:16px;
  bottom:32px;
  display:inline-flex;
  width:40px;
  height:40px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  background:#e12c3a;
  color:#fff;
  font-size:1.75rem;
  line-height:1;
  font-weight:800;
  text-decoration:none;
}
.footer-back-top:hover{
  background:#c91520;
}
@media (max-width:1060px){
  .proimpulsa-footer .footer-inner{
    grid-template-columns:1fr 1fr;
    gap:42px;
  }
}
@media (max-width:760px){
  .proimpulsa-footer{
    padding:54px 7% 72px;
  }
  .proimpulsa-footer .footer-inner{
    grid-template-columns:1fr;
    gap:34px;
  }
  .proimpulsa-footer .footer-logo{
    margin-bottom:28px;
  }
  
.footer-identity-list{
  display:grid;
  gap:10px;
}
.footer-identity-list article{
  margin:0;
}
.footer-identity-list h4{
  margin:0 0 4px;
  color:#fff;
  font-size:.98rem;
  line-height:1.25;
}
.footer-identity-list h4::before{
  content:"›";
  color:#7c8994;
  font-weight:800;
  margin-right:8px;
}
.footer-identity-list p{
  margin:0;
  max-width:260px;
  font-size:.86rem;
  line-height:1.45;
  text-align:left;
  text-align-last:left;
}
.footer-hours-col p{
    white-space:normal;
  }
}

/* Footer requested icon refinements */
.footer-back-top svg{
  width:24px;
  height:24px;
  display:block;
  fill:currentColor;
}


/* Footer Misión / Visión / Valores dropdown */
.footer-identity-list{
  display:grid;
  gap:10px;
}
.footer-identity-item{
  margin:0;
}
.footer-identity-item summary{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#fff;
  font-size:.98rem;
  font-weight:700;
  line-height:1.25;
  cursor:pointer;
  list-style:none;
}
.footer-identity-item summary::-webkit-details-marker{
  display:none;
}
.footer-identity-item summary::before{
  content:"›";
  color:#7c8994;
  font-weight:800;
  transition:transform .22s ease;
}
.footer-identity-item[open] summary::before{
  transform:rotate(90deg);
}
.footer-identity-item p{
  margin:4px 0 0 18px;
  max-width:260px;
  font-size:.86rem;
  line-height:1.45;
  text-align:left;
  text-align-last:left;
}


/* ===== MOBILE DROPDOWN FINAL FIX - 20260704-whatsapp-form-v5 =====
   Fixes only the cellphone menu: removes the previous full-screen drawer/blank-space behavior
   and positions the dropdown directly below the sticky header. */
@media (max-width: 768px){
  #navLinks.nav-links{
    display:none !important;
    position:fixed !important;
    top:var(--proimpulsa-mobile-menu-top, 88px) !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:calc(100svh - var(--proimpulsa-mobile-menu-top, 88px)) !important;
    overflow-y:auto !important;
    transform:none !important;
    transition:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:14px !important;
    padding:18px 64px 22px !important;
    margin:0 !important;
    background:#fff !important;
    list-style:none !important;
    z-index:9998 !important;
    box-shadow:0 12px 25px rgba(0,0,0,.08) !important;
    white-space:normal !important;
    box-sizing:border-box !important;
  }

  #navLinks.nav-links.active,
  #navLinks.nav-links.open{
    display:flex !important;
    transform:none !important;
  }

  #navLinks.nav-links li{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #navLinks.nav-links a{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:18px 22px !important;
    text-align:left !important;
    text-decoration:none !important;
    color:#333 !important;
    background:#fff !important;
    border:1px solid #dcdfe3 !important;
    border-radius:14px !important;
    font-size:1.15rem !important;
    font-weight:800 !important;
    box-shadow:0 2px 5px rgba(0,0,0,.03) !important;
  }
}

@media (max-width: 420px){
  #navLinks.nav-links{
    padding-left:32px !important;
    padding-right:32px !important;
  }
}
