
:root{
  --navy: #0B2265;       /* azul principal (navbar, títulos, misión) */
  --navy-deep: #071847;  /* azul oscuro (footer, franjas del hero) */
  --red: #C8102E;        /* rojo de acento (botones, iconos, visión) */
  --red-dark: #9C0D24;   /* rojo oscuro (hover de botones) */
  --ink: #1B1F27;        /* color de texto general */
  --paper: #F5F6F8;      /* gris claro de fondo de sección */
  --line: #DDE1E8;       /* color de líneas/bordes sutiles */
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body{
  font-family: 'Inter', sans-serif;
  color: var(--ink);
  background: #fff;
  margin:0;
}

h1, h2, h3, .display-font{
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 1.05;
}

a { text-decoration: none; }

.navbar-rm{
  background: #fff;
  border-bottom: 3px solid var(--navy);
}
.navbar-rm .navbar-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.navbar-rm .navbar-brand img{
  height: 46px;       /* tamaño del logo en el menú */
  width:auto;
}
.navbar-rm .brand-text{
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800;
  font-size:1.35rem;
  color: var(--navy);
  line-height:1.05;
}
.navbar-rm .brand-text span{
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:0.68rem;
  color: var(--red);
  letter-spacing: 0.5px;
}
.navbar-rm .nav-link{
  color: var(--ink);
  font-weight:600;
  margin: 0 10px;
}
.navbar-rm .nav-link:hover{ color: var(--red); }

.btn-call{
  background: var(--red);
  color:#fff;
  font-weight:700;
  border-radius: 4px;
  padding: 10px 20px;
  white-space:nowrap;
}
.btn-call:hover{ background: var(--red-dark); color:#fff; }

.hero{
  position: relative;
  background-color: var(--navy);
  background-size: cover;
  background-position: center;
  color:#fff;
  overflow:hidden;
  padding: 110px 0 100px;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(100deg, rgba(7,24,71,0.92) 0%, rgba(11,34,101,0.86) 45%, rgba(11,34,101,0.55) 100%);
}
.hero .chevrons{
  position:absolute;
  bottom:0; left:0; right:0;
  height: 26px;
  background: repeating-linear-gradient(
    -45deg,
    var(--red) 0 30px,
    #fff 30px 60px
  );
}
.hero-content{
  position: relative;
  z-index: 2;
}
.hero h1{
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  margin-bottom: 18px;
}
.hero h1 em{
  font-style:normal;
  color: #fff;
  border-bottom: 6px solid var(--red);
}
.hero p.lead{
  font-family:'Inter',sans-serif;
  font-size: 1.15rem;
  max-width: 540px;
  color: #DCE2F0;
  margin-bottom: 32px;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 8px 16px;
  border-radius: 999px;
  font-size:0.85rem;
  margin-bottom: 22px;
}
.hero-badge .dot{
  width:8px;height:8px;border-radius:50%;
  background: var(--red);
  box-shadow: 0 0 0 4px rgba(200,16,46,0.25);
}
.btn-hero-primary{
  background: var(--red);
  color:#fff;
  font-weight:700;
  padding: 14px 28px;
  border-radius: 4px;
  font-size:1.05rem;
  display:inline-block;
}
.btn-hero-primary:hover{ background:#fff; color: var(--navy); }
.btn-hero-secondary{
  color:#fff;
  font-weight:600;
  padding: 14px 20px;
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 4px;
  display:inline-block;
  margin-left: 12px;
}
.btn-hero-secondary:hover{ border-color:#fff; color:#fff; background: rgba(255,255,255,0.08); }

.eyebrow{
  color: var(--red);
  font-weight:700;
  font-family:'Inter',sans-serif;
  font-size:0.85rem;
  margin-bottom: 8px;
}
section{ padding: 80px 0; }
.section-title{
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  margin-bottom: 14px;
  color: var(--navy);
}
.section-sub{
  max-width: 620px;
  color: #4B5163;
  margin-bottom: 44px;
}

.bg-paper{ background: var(--paper); }
.service-card{
  background:#fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--navy);
  border-radius: 6px;
  padding: 32px 26px;
  height: 100%;
}
.service-card .icon{
  width: 52px; height:52px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(200,16,46,0.1);
  border-radius: 8px;
  color: var(--red);
  margin-bottom: 20px;
}
.service-card h3{
  font-size:1.4rem;
  margin-bottom:10px;
  color: var(--ink);
}
.service-card p{
  color:#565C6D;
  font-size: 0.96rem;
  margin-bottom:0;
}

.fleet-card{
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  height: 320px;
  display:flex;
  align-items:flex-end;
}
.fleet-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.fleet-card:hover img{ transform: scale(1.05); }
.fleet-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(7,24,71,0.88) 0%, rgba(7,24,71,0.15) 55%, transparent 100%);
}
.fleet-card .fleet-caption{
  position:relative;
  z-index:2;
  padding: 20px;
  color:#fff;
}
.fleet-card .fleet-caption h4{
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700;
  font-size:1.25rem;
  margin-bottom:4px;
}
.fleet-card .fleet-caption p{
  font-size:0.85rem;
  color:#DCE2F0;
  margin-bottom:0;
}
.fleet-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background: var(--paper);
  border-left: 4px solid var(--red);
  padding: 18px 20px;
  border-radius: 4px;
  margin-top: 28px;
  font-size: 0.92rem;
  color: #4B5163;
}
.fleet-note strong{ color: var(--navy); }

.mv-card{
  padding: 40px;
  border-radius: 6px;
  height:100%;
}
.mv-card.mision{ background: var(--navy); color:#fff; }
.mv-card.vision{ background: var(--red); color:#fff; }
.mv-card h3{
  font-size:1.7rem;
  margin-bottom:16px;
}
.mv-card p{
  color: rgba(255,255,255,0.9);
  font-size:1.02rem;
  margin-bottom:0;
}


.map-wrap{
  border-radius:6px;
  overflow:hidden;
  border:1px solid var(--line);
}
.map-wrap iframe{
  width:100%;
  height:420px;
  border:0;
  display:block;
}
.coverage-list li{
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  display:flex;
  align-items:center;
  gap:10px;
}
.coverage-list li:last-child{ border-bottom:none; }
.coverage-list .chip{
  width:8px; height:8px; border-radius:50%;
  background: var(--red);
  flex-shrink:0;
}


.contact-strip{
  background: var(--ink);
  color:#fff;
}
.contact-item{
  display:flex;
  align-items:center;
  gap:16px;
}
.contact-item .icon-circle{
  width:48px;height:48px;
  border-radius:50%;
  background: var(--red);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.contact-item .label{
  font-size:0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color:#9AA1B4;
  margin-bottom:2px;
}
.contact-item .value{
  font-weight:600;
  font-size:1.05rem;
  color:#fff;
}
.contact-item .value a{ color:#fff; }
.contact-item .value a:hover{ color: var(--red); }

.contact-cta{
  background: var(--red);
  text-align:center;
  padding: 46px 0;
  color:#fff;
}
.contact-cta h2{ color:#fff; margin-bottom: 10px; }
.contact-cta a.btn-hero-primary{
  background: var(--navy);
}
.contact-cta a.btn-hero-primary:hover{ background:#fff; color:var(--navy); }


footer{
  background: var(--navy-deep);
  color: #B6BEDA;
  padding: 34px 0;
  font-size: 0.9rem;
}
footer img{ height:34px; }
footer a{ color:#B6BEDA; }
footer a:hover{ color:#fff; }


@media (max-width: 767.98px){
  .hero{ padding: 60px 0 70px; text-align:center; }
  .hero p.lead{ margin-left:auto; margin-right:auto; }
  .btn-hero-secondary{ margin-left:0; margin-top:12px; }
  section{ padding: 56px 0; }
}