/* Estilos Bootstrap exclusivos de la página principal. */
.home-page {
  --bs-primary: var(--blue);
  --bs-danger: var(--red);
  --bs-warning: var(--yellow);
  --bs-body-font-family: var(--font-family-global);
  --home-radius: 22px;
  --home-shadow: 0 18px 55px rgba(22, 36, 70, .11);
  --home-shadow-hover: 0 24px 65px rgba(22, 36, 70, .18);
}

@media (min-width: 1200px) {
  .home-page .container {
    width: min(1400px, calc(100% - 56px));
    max-width: 1400px;
  }
}

.home-page .site-header {
  min-height: var(--header);
  height: auto;
  padding: 0;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 35px rgba(33, 55, 107, .08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.home-page .header-inner {min-height:var(--header)}
.home-page .navbar-brand {margin:0;padding:0}
.home-page .navbar-collapse {justify-content:flex-end}
.home-page .main-nav .nav-link {color:var(--blue);padding:28px 0}
.home-page .main-nav .nav-link:hover,
.home-page .main-nav .nav-link:focus-visible {color:var(--red)}
.home-page .nav-cta {box-shadow:0 9px 22px rgba(230,27,30,.2)}

.home-page .hero {
  position: relative;
  isolation: isolate;
  background: var(--blue);
}

.home-page .hero-copy {
  position: relative;
  overflow: hidden;
  background: var(--blue);
}

.home-page .hero-copy::after {
  content:"";
  position:absolute;
  width:290px;
  height:290px;
  right:-170px;
  bottom:-170px;
  border:42px solid rgba(255,255,255,.035);
  border-radius:50%;
}

.home-page .hero-inner {position:relative;z-index:1}
@media (min-width: 1081px) {
  .home-page .hero-inner {
    width:min(760px,100%);
    padding:96px 56px 88px 32px;
  }
}
.home-page .hero h1 {
  max-width:720px;
  font-family:var(--font-family-global);
  font-weight:900;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.home-page .hero-highlights {display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}
.home-page .hero-highlights .badge {
  padding:.65rem .85rem;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.1);
  color:var(--white);
  font-size:.7rem;
  letter-spacing:.035em;
  font-weight:750;
}
.home-page .hero-image {position:relative}
.home-page .hero-image::after {
  content:none;
}
.home-page .button-row .btn {box-shadow:0 12px 28px rgba(0,0,0,.16)}
.home-page .button-row .btn span {margin-left:.45rem;font-size:1.15em}

.home-page .benefits {position:relative;z-index:4;background:transparent;border:0;padding:0 0 24px}
.home-page .benefits-grid {
  overflow:hidden;
  transform:translateY(-34px);
  margin-bottom:-34px;
  border:1px solid rgba(33,55,107,.1);
  border-radius:var(--home-radius);
  background:var(--white);
  box-shadow:var(--home-shadow)!important;
}
.home-page .benefit-card {min-height:126px;display:flex;flex-direction:column;justify-content:center}
.home-page .benefit-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  top:43px;
  left:23px;
  border-radius:12px;
  background:rgba(230,27,30,.09);
}

.home-page .section-heading h2,
.home-page .section h2,
.home-page .contact h2 {text-wrap:balance}
.home-page .section-heading .eyebrow::before,
.home-page .section > .container > div > .eyebrow::before {
  content:"";
  display:inline-block;
  width:24px;
  height:3px;
  margin-right:9px;
  vertical-align:middle;
  border-radius:4px;
  background:currentColor;
}

.home-page .product-card {
  overflow:hidden;
  border:0;
  border-radius:var(--home-radius);
  box-shadow:0 12px 35px rgba(22,36,70,.09)!important;
}
.home-page .product-card:hover {
  transform:translateY(-8px);
  box-shadow:var(--home-shadow-hover)!important;
}
.home-page .product-card img {height:190px;transition:transform .45s ease}
.home-page .product-card:hover img {transform:scale(1.035)}
.home-page .product-card > div {padding:25px 24px 27px}
.home-page .product-card > div > span:first-child {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:25px;
  border-radius:999px;
  background:rgba(230,27,30,.09);
}
.home-page .product-card a {display:inline-flex;align-items:center;gap:8px;border:0}
.home-page .product-card a span {width:auto;height:auto;background:none;color:inherit;font-size:1.05rem;letter-spacing:0}

.home-page .sectors {
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#172D5D 0%,var(--blue) 58%,#111F42 100%);
}
.home-page .sectors::before {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  top:-260px;
  border:85px solid rgba(250,186,22,.06);
  border-radius:50%;
}
.home-page .sectors > .container {position:relative;z-index:1}
.home-page .sectors-grid {gap:14px;border:0}
.home-page .sectors-grid article {
  min-height:185px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.home-page .sectors-grid article:hover {
  transform:translateY(-4px);
  border-color:rgba(250,186,22,.7);
  background:rgba(255,255,255,.09);
}
.home-page .company-logo {border:0;border-radius:16px;box-shadow:0 10px 28px rgba(3,10,28,.18)}
.home-page .company-logo::after {content:"";position:absolute;left:24px;right:24px;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--yellow)}
.home-page .company-logo {position:relative}

.home-page .brand-panel {
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:var(--home-radius);
  background:linear-gradient(135deg,#F5F7FB,#EDF1F8);
  box-shadow:var(--home-shadow)!important;
}
.home-page .brand-panel::after {content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(var(--yellow),var(--red))}
.home-page .brand-panel-icon {display:grid;place-items:center;width:42px;height:42px;margin-bottom:20px;border-radius:14px;background:var(--yellow);color:var(--blue);font-weight:950}
.home-page .text-link {display:inline-flex;align-items:center;gap:8px;border:0}

.home-page .business-media img,
.home-page .map-wrap {border-radius:var(--home-radius);box-shadow:var(--home-shadow)}
.home-page .business-media {filter:drop-shadow(0 18px 35px rgba(22,36,70,.12))}
.home-page .media-caption {left:24px;right:24px;bottom:20px;border-radius:14px;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.home-page .check-list li::before {display:grid;place-items:center;width:18px;height:18px;top:4px;border-radius:50%;background:rgba(230,27,30,.1);font-size:.72rem}

.home-page .about-copy {padding:42px 48px;border:0;border-radius:var(--home-radius);background:var(--light)}
.home-page .process-grid {gap:14px;border:0;background:transparent}
.home-page .process-grid li {border:1px solid var(--line);border-radius:18px;box-shadow:0 9px 28px rgba(22,36,70,.06)}
.home-page .process-grid span {font-size:2.7rem}
.home-page .coverage-note {padding:18px 0}

.home-page .contact {background:linear-gradient(145deg,#172D5D 0%,var(--blue) 62%,#111F42 100%)}
.home-page .contact-data {overflow:hidden;border-radius:16px;background:rgba(255,255,255,.04)}
.home-page .quote-card {border:0;border-radius:var(--home-radius);box-shadow:0 28px 70px rgba(3,10,28,.3)!important}
.home-page .quote-card::before {content:"";display:block;width:72px;height:7px;margin:-42px 0 34px;border-radius:0 0 8px 8px;background:var(--yellow)}
.home-page .footer {background:linear-gradient(145deg,#303641,#202733)}
.home-page .whatsapp-float {box-shadow:0 16px 38px rgba(5,48,30,.38)}

@media (max-width:1199.98px) {
  .home-page .header-inner {flex-wrap:wrap;padding-block:12px}
  .home-page .menu-toggle {display:grid;place-items:center;width:46px;height:42px;padding:8px;border-radius:12px}
  .home-page .menu-toggle .navbar-toggler-icon {
    display:inline-block;
    width:1.5em;
    height:1.5em;
    margin:0;
    background-color:transparent;
    background-image:var(--bs-navbar-toggler-icon-bg);
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
  }
  .home-page .navbar-collapse {width:100%;border-top:1px solid var(--line)}
  .home-page .main-nav {position:static;display:flex;align-items:stretch!important;gap:0;padding:12px 0 8px;border:0;background:transparent}
  .home-page .main-nav .nav-link {padding:11px 4px;font-size:.95rem}
  .home-page .main-nav .nav-link::after {display:none}
  .home-page .nav-cta {display:flex;margin:10px 0 4px}
}

@media (max-width:820px) {
  .home-page .benefits {padding:20px 0 0}
  .home-page .benefits-grid {transform:none;margin-bottom:0}
  .home-page .benefit-card {min-height:112px}
  .home-page .hero-highlights {margin-bottom:24px}
  .home-page .about-copy {padding:32px}
}

@media (max-width:560px) {
  .home-page .hero-highlights .badge {font-size:.65rem;padding:.58rem .72rem}
  .home-page .benefits-grid {border-radius:18px}
  .home-page .product-card,.home-page .brand-panel,.home-page .quote-card,.home-page .map-wrap {border-radius:18px}
  .home-page .about-copy {padding:26px 22px}
  .home-page .media-caption {left:12px;right:12px;bottom:12px}
  .home-page .quote-card::before {margin:-28px 0 24px}
}

@media (prefers-reduced-motion:reduce) {
  .home-page .product-card img,.home-page .sectors-grid article {transition:none}
  .home-page .product-card:hover,.home-page .sectors-grid article:hover {transform:none}
}

@media (prefers-color-scheme:dark) {
  .home-page .site-header {background:rgba(11,18,32,.94);box-shadow:0 10px 35px rgba(0,0,0,.24)}
  .home-page .main-nav .nav-link {color:var(--dark-text)}
  .home-page .menu-toggle .navbar-toggler-icon {filter:invert(1)}
  .home-page .benefits-grid {background:var(--dark-surface);border-color:var(--dark-line)}
  .home-page .benefit-icon,.home-page .product-card > div > span:first-child {background:rgba(230,27,30,.2)}
  .home-page .product-card {background:var(--dark-surface)}
  .home-page .brand-panel {background:linear-gradient(135deg,#18243A,#121C2F)}
  .home-page .about-copy {background:var(--dark-surface)}
  .home-page .process-grid li {border-color:var(--dark-line);background:var(--dark-surface)}
  .home-page .navbar-collapse {border-color:var(--dark-line)}
}
