.img2{
    width: 100px;
}
.top40{
    margin-top: 40px !important;
}
.center{
    text-align: center;
}
:root{
  --navy:#15294B;
  --navy-deep:#10233f;
  --royal:#2D5BA8;
  --sky:#A9C8E8;
  --sky-soft:#eaf2fb;
  --text:#19304f;
  --muted:#5c6d84;
  --line:#e4ebf3;
  --surface:#ffffff;
  --soft:#f6f9fc;
  --radius:12px;
  --shadow:0 18px 50px rgba(21,41,75,.10);
  --max:1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Manrope',system-ui,-apple-system,sans-serif;color:var(--text);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,ul{margin:0}
ul{padding-left:0;list-style:none}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:92px}
.brand{display:flex;align-items:center;gap:14px;min-width:max-content}
.brand-mark{width:98px;height:42px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-size:18px;font-weight:800;letter-spacing:.02em;color:var(--navy)}
.brand-text small{margin-top:5px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--royal)}
.main-nav{display:flex;align-items:center;gap:42px}
.main-nav a, .nav-link{font-size:15px;font-weight:700;color:var(--navy) !important ;padding:34px 0;position:relative}
.main-nav a::after{content:'';position:absolute;left:0;right:0;bottom:18px;height:3px;border-radius:999px;background:var(--royal);transform:scaleX(0);transition:transform .2s ease}
.main-nav a:hover::after,.main-nav a.is-active::after{transform:scaleX(1) !important}
a.is-active{
    color: #59a4ff !important;
}
.header-cta{flex:none}

.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:15px 26px;font-size:16px;font-weight:800;border:1.5px solid transparent;transition:.2s ease;cursor:pointer}
.btn-primary{background:linear-gradient(180deg,#7db7ff,#5ca0ef);color:#fff;box-shadow:0 10px 25px rgba(45,91,168,.22)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-outline{border-color:rgba(255,255,255,.8);color:#fff;background:transparent}
.btn-outline:hover{background:#fff;color:var(--navy)}
.btn-dark{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy);box-shadow:var(--shadow)}
.btn.full{width:100%}

.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,35,63,.95) 0%,rgba(16,35,63,.86) 32%,rgba(16,35,63,.30) 65%,rgba(16,35,63,.06) 100%)}
.hero-home,.hero-inner{min-height:640px}
.hero-content{position:relative;z-index:1;display:flex;align-items:center;min-height:640px;padding-top:70px;padding-bottom:90px}
.hero-copy{max-width:580px;color:#fff}
.hero-copy.narrow{max-width:520px}
.hero-copy h1{font-size:clamp(44px,5vw,76px);line-height:1.03;font-weight:800;letter-spacing:0;color:#fff}
.hero-copy p{margin-top:26px;font-size:22px;line-height:1.45;color:#7fb1ee;font-weight:600}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
.hero-line{width:92px;height:10px;border-radius:999px;background:#59a4ff;margin:28px 0 0}
.hero-line.small{height:6px;width:72px;margin:20px 0 24px}

.floating-strip-wrap{position:relative;margin-top:-52px;z-index:2}
.floating-strip,.floating-metric{background:#fff;border-radius:12px;box-shadow:var(--shadow);border:1px solid #edf2f7}
.floating-strip{display:grid;gap:0}
.floating-strip.cols-4{grid-template-columns:repeat(4,1fr)}
.mini-stat{display:flex;align-items:center;gap:16px;padding:22px 26px;border-right:1px solid var(--line)}
.mini-stat:last-child{border-right:none}
.mini-icon{font-size:32px;line-height:1}
.mini-stat strong{display:block;font-size:22px;color:var(--navy);font-weight:800}
.mini-stat small{display:block;font-size:14px;color:var(--muted);font-weight:600}

.floating-metric{display:grid;grid-template-columns:1.1fr 1.7fr;gap:24px;padding:36px 44px;align-items:center}
.metric-number{font-size:126px;line-height:.9;font-weight:800;color:var(--navy);text-align:center;border-bottom:12px solid #8cc4ff;padding-bottom:16px}
.metric-copy h2{font-size:29px;line-height:1.1;font-weight:800;color:var(--navy)}
.metric-copy p{margin-top:16px;font-size:18px;color:var(--muted)}

.section{padding:86px 0}
.section-tight-top{padding-top:26px}
.section-tight-bottom{padding-bottom:26px}
.section-tight{padding:40px 0}
.section-soft{background:linear-gradient(180deg,#f7fafc,#f4f7fb)}
.section-dark{background:linear-gradient(90deg,var(--navy-deep),var(--navy));color:#fff}
.section-title{font-size:34px;line-height:1.15;font-weight:800;text-align:center;color:var(--navy);margin-bottom:42px}
.section-title.align-left{text-align:left;margin-bottom:24px}
.section-title-light{color:#fff}
.lead-paragraph{font-size:20px;line-height:1.7;color:var(--muted);margin-top:16px}
.lead-highlight{margin-top:18px;font-size:22px;font-weight:800;color:var(--navy)}

.card-grid,.service-grid,.bottom-image-grid,.sector-grid,.feature-table-grid{display:grid;gap:26px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-6{grid-template-columns:repeat(6,1fr)}

.icon-card,.topline-card,.special-route-card{background:#fff;border:1px solid #cfe0f6;border-radius:12px;padding:34px 26px;text-align:center;box-shadow:0 10px 24px rgba(21,41,75,.05)}
.icon-card h3,.topline-card h3,.feature-cell h3,.dark-feature h3,.media-card h3,.special-route-card h3,.quality-panel h3{font-size:20px;line-height:1.25;font-weight:800;color:var(--navy);margin-top:18px}
.icon-card p,.topline-card p,.special-route-card p,.dark-feature p,.quality-panel p{margin-top:12px;color:var(--muted);font-size:17px;line-height:1.7}
.icon-card img{
    display: block;
    margin: 0 auto;
}
#logo-header img{
    height: 90px;
}
#header{
    background-color: #fff;
}
.icon-circle{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;font-size:38px;background:var(--sky-soft);color:var(--navy)}
.icon-circle.light{background:transparent;border:2px solid rgba(169,200,232,.7);color:#8ec3ff}

.media-card{overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(21,41,75,.07);border:1px solid #e8eef6}
.media-card img{width:100%;height:224px;object-fit:cover}
.media-card-body{padding:22px}
.media-card-body p{margin-top:10px;font-size:17px;line-height:1.65;color:var(--muted)}

.clients-section{padding-top:54px}
.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:center;justify-items:center}
.clients-grid img{max-width:140px;opacity:.72;}

.split-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}
.coverage-grid{grid-template-columns:1fr 1fr}
.map-graphic{width:100%;height:auto}
.image-frame{overflow:hidden;border-radius:12px;box-shadow:var(--shadow)}
.image-frame img{width:100%;height:100%;object-fit:cover}
.image-frame.wide{min-height:360px}

.pill-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.pill-row.align-left{justify-content:flex-start}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;background:linear-gradient(180deg,#e2efff,#cfe2fb);font-size:16px;font-weight:800;color:var(--navy)}

.quality-grid{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.quality-panel{padding:42px 40px;background:#fff}
.quality-panel-dark{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff}
.quality-panel-dark h3,.quality-panel-dark p,.quality-panel-dark strong{color:#fff}
.quality-icon{font-size:62px;margin-bottom:18px}
.check-list{margin-top:22px;display:flex;flex-direction:column;gap:18px}
.check-list li{position:relative;padding-left:34px;font-size:19px;color:var(--text);line-height:1.6}
.check-list li::before{content:'✔';position:absolute;left:0;top:0;color:var(--navy);font-weight:800}

.dark-features .dark-feature{text-align:center;padding:18px 14px;border-right:1px solid rgba(169,200,232,.22)}
.dark-features .dark-feature:last-child{border-right:none}
.dark-feature h3{color:#fff}
.dark-feature p{color:rgba(255,255,255,.82)}

.sector-card{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 10px 25px rgba(21,41,75,.1)}
.sector-card img{width:100%;height:188px;object-fit:cover}
.sector-card span{position:absolute;left:0;right:0;bottom:0;padding:14px 12px;background:linear-gradient(180deg,rgba(21,41,75,.06),rgba(21,41,75,.96));color:#fff;font-weight:800;text-align:center;font-size:18px}

.cta-band{background:linear-gradient(90deg,#d7ebff,#b7d8ff);padding:34px 0}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{font-size:28px;line-height:1.15;font-weight:800;color:var(--navy)}
.cta-band p{margin-top:8px;font-size:18px;color:var(--text)}

.feature-table-grid{grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.feature-cell{text-align:center;padding:28px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-cell:nth-child(4n){border-right:none}
.feature-cell:nth-last-child(-n+4){border-bottom:none}
.feature-cell h3{font-size:18px;margin:16px auto 0;max-width:170px}

.commitment-grid{grid-template-columns:1.1fr .9fr;align-items:stretch}
.commitment-copy{padding:26px 16px 0 16px}
.bottom-image-grid{margin-top:4px}
.bottom-image-grid .image-frame{height:260px}

.routes-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:38px;align-items:start}
.table-card{overflow:hidden;border-radius:10px;border:1px solid var(--line);box-shadow:var(--shadow)}
.routes-table{width:100%;border-collapse:collapse;background:#fff}
.routes-table thead th{background:linear-gradient(180deg,var(--navy-deep),var(--navy));color:#fff;font-size:17px;font-weight:800;padding:16px 18px;text-align:left}
.routes-table td{padding:14px 18px;border-top:1px solid var(--line);font-size:17px;color:var(--text)}
.routes-table tbody td:last-child{font-weight:800;color:var(--navy)}
.table-note{margin-top:12px;font-size:16px;color:var(--muted)}
.special-route-card{text-align:left;padding:34px 34px 30px}
.special-route-card .icon-circle{margin-bottom:12px}

.site-footer{background:linear-gradient(90deg,var(--navy-deep),var(--navy));color:#d6e0ee;padding-top:54px;border-top:4px solid #59a4ff}
.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .95fr 1fr;gap:34px}
.footer-brand{font-size:28px;font-weight:800;color:#fff;margin-bottom:12px}
.site-footer h4{font-size:16px;font-weight:800;color:#fff;margin-bottom:16px}
.site-footer p,.site-footer li{font-size:16px;line-height:1.7;color:#d6e0ee}
.site-footer li+li{margin-top:6px}
.footer-bottom{margin-top:36px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:14px;color:#b9c7da}

@media (max-width: 1180px){
  .main-nav{gap:24px}
  .hero-copy h1{font-size:56px}
  .cols-6{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 980px){
  .header-inner{flex-wrap:wrap;justify-content:center;padding:14px 0}
  .main-nav{order:3;flex-wrap:wrap;justify-content:center}
  .header-cta{display:none}
  .hero-home,.hero-inner,.hero-content{min-height:560px}
  .hero-copy h1{font-size:46px}
  .hero-copy p{font-size:20px}
  .floating-strip.cols-4,.cols-4,.feature-table-grid{grid-template-columns:repeat(2,1fr)}
  .split-grid,.coverage-grid,.routes-grid,.quality-grid,.footer-grid,.floating-metric,.commitment-grid,.cta-band-inner{grid-template-columns:1fr;display:grid}
  .metric-number{text-align:left;font-size:92px}
  .clients-grid{grid-template-columns:repeat(3,1fr)}
  .feature-cell:nth-child(2n){border-right:none}
  .feature-cell:nth-last-child(-n+4){border-bottom:1px solid var(--line)}
  .feature-cell:nth-last-child(-n+2){border-bottom:none}
  .dark-features .dark-feature{border-right:none;border-bottom:1px solid rgba(169,200,232,.22);padding-bottom:22px}
  .dark-features .dark-feature:last-child{border-bottom:none}
  .bottom-image-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 680px){
  .container{padding:0 18px}
  .brand{width:100%;justify-content:center}
  .main-nav{gap:14px 18px}
  .main-nav a{padding:4px 0 16px}
  .main-nav a::after{bottom:6px}
  .hero-overlay{background:linear-gradient(180deg,rgba(16,35,63,.92) 0%,rgba(16,35,63,.82) 42%,rgba(16,35,63,.35) 100%)}
  .hero-content{align-items:flex-end;padding-top:44px;padding-bottom:54px}
  .hero-copy h1{font-size:38px}
  .hero-copy p,.lead-paragraph{font-size:18px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .floating-strip.cols-4,.cols-3,.cols-2,.cols-6,.bottom-image-grid,.feature-table-grid{grid-template-columns:1fr}
  .mini-stat{border-right:none;border-bottom:1px solid var(--line)}
  .mini-stat:last-child{border-bottom:none}
  .clients-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .sector-card img{height:220px}
  .site-footer{padding-top:40px}
  .footer-grid{grid-template-columns:1fr}
}
.link{
    text-decoration: underline;
}
/* ===== Contacto ===== */
.hero-contacto .hero-bg img{object-position:center}
.eyebrow{display:inline-block;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#a9c8e8;font-weight:800;margin-bottom:14px}

.contact-grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:48px;align-items:start}

.contact-info .section-title{margin-bottom:14px}
.contact-list{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-direction:column;gap:18px}
.contact-list li{display:flex;gap:16px;align-items:flex-start;background:#fff;padding:18px 20px;}
.contact-ic{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#d7ebff,#b7d8ff);font-size:20px}
.contact-list strong{display:block;color:var(--navy);font-size:15px;margin-bottom:4px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.contact-list a,.contact-list span{color:var(--text);font-size:17px;line-height:1.5;font-weight:600}
.contact-list a:hover{color:var(--navy)}

.contact-cta-card{margin-top:26px;padding:26px;border-radius:14px;background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff;}
.contact-cta-card h3{font-size:20px;font-weight:800;margin-bottom:6px;color:#fff}
.contact-cta-card p{color:#d6e0ee;margin-bottom:16px;font-size:15px}
.btn-light{background:#fff;color:var(--navy);padding:12px 22px;border-radius:8px;font-weight:800;display:inline-block}
.btn-light:hover{background:#e9f2ff}

.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;}
.contact-form-card h2{font-size:28px;font-weight:800;color:var(--navy);margin-bottom:6px}
.form-sub{color:var(--muted);font-size:16px;margin-bottom:24px}
.contact-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field label{font-size:14px;font-weight:700;color:var(--navy);letter-spacing:.02em}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:15px;color:var(--text);background:#fbfcfe;transition:border-color .15s, box-shadow .15s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(45,91,168,.15);background:#fff}
.form-field textarea{resize:vertical;min-height:120px}
.form-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.5}
.form-check input{margin-top:3px;accent-color:var(--navy)}
.btn-block{width:100%;justify-content:center;padding:16px;font-size:17px;border-radius:10px}

@media (max-width: 980px){
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .contact-form-card{padding:26px}
}
@media (max-width: 680px){
  .form-row{grid-template-columns:1fr}
  .contact-form-card{padding:22px}
  .contact-form-card h2{font-size:24px}
}

/* ===== Seguridad ===== */
.hero-seguridad .hero-bg img{object-position:center}
.seguridad-intro-grid{grid-template-columns:1.05fr .95fr;align-items:center}

.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.policy-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px 36px;box-shadow:var(--shadow)}
.policy-card h3{font-size:24px;line-height:1.2;font-weight:800;color:var(--navy);margin-top:18px}
.policy-card p{margin-top:14px;font-size:17px;line-height:1.75;color:var(--muted)}
.policy-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(180deg,#d7ebff,#b7d8ff)}

.seguridad-transporte-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:52px;align-items:center}
.seguridad-transporte-copy .section-title{margin-bottom:18px}
.transport-objectives li{color:rgba(255,255,255,.92)}
.transport-objectives li::before{color:#8ec3ff}

.seguridad-transporte-visual{display:flex;flex-direction:column;gap:24px;align-items:center}
.security-badge{border-radius:50%;width:260px;height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#1e3c6d,#2D5BA8);box-shadow:0 20px 50px rgba(0,0,0,.25);border:6px solid rgba(169,200,232,.25)}
.security-badge-number{font-size:72px;font-weight:800;color:#fff;line-height:1}
.security-badge-label{font-size:16px;font-weight:700;color:#a9c8e8;line-height:1.35;max-width:170px;margin-top:8px}
.security-cards-stack{width:100%;max-width:340px;display:flex;flex-direction:column;gap:14px}
.security-mini-card{background:rgba(255,255,255,.08);border:1px solid rgba(169,200,232,.25);border-radius:12px;padding:16px 20px;color:#fff;font-size:16px;font-weight:700}

@media (max-width: 980px){
  .seguridad-intro-grid,.policy-grid,.seguridad-transporte-grid{grid-template-columns:1fr}
  .seguridad-transporte-visual{margin-top:18px}
}
@media (max-width: 680px){
  .policy-card{padding:28px 22px}
  .policy-card h3{font-size:22px}
  .security-badge{width:220px;height:220px}
  .security-badge-number{font-size:60px}
}

