/* Grup Fusió: navy / white / fleet red. Manrope titles, Work Sans text.
   The working fleet is the visual focus; one primary action per decision. */
:root { --ink:#000e24; --steel:#dce3eb; --paper:#f2f4f6; --accent:#c91820; --quiet:#526174; }
html { scroll-padding-top:100px; }
body { margin:0; }
main.pt-32 { padding-top:88px; }
.skip-link { position:fixed; top:-100px; left:16px; padding:12px 20px; z-index:300; background:white; color:var(--ink); }
.skip-link:focus { top:12px; }
.site-nav { position:fixed; inset:0 0 auto; z-index:100; background:#000; color:white; border-bottom:1px solid #263344; }
.nav-inner { max-width:1440px; margin:auto; height:88px; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { flex-shrink:0; display:inline-flex; align-items:center; gap:14px; color:white; }
.brand-symbol { position:relative; display:block; width:82px; height:44px; overflow:hidden; flex-shrink:0; }
.brand-symbol img { position:absolute; width:280px; height:auto; max-width:none; left:-20px; top:-25px; }
.brand-wordmark { display:flex; flex-direction:column; gap:6px; }
.brand-name { font-family:Manrope,sans-serif; font-size:32px; line-height:1.05; font-weight:800; letter-spacing:-.035em; white-space:nowrap; }
.brand-descriptor { font-size:11px; line-height:1.2; letter-spacing:.055em; color:#dce3eb; white-space:nowrap; }
.desktop-links,.nav-actions { display:flex; align-items:center; gap:22px; }
.desktop-links a { font-size:14px; font-weight:500; color:#dce3eb; }
.desktop-links a:hover { color:white; }
.nav-phone { display:flex; align-items:center; gap:8px; font-size:14px; white-space:nowrap; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:14px 24px; border-radius:5px; font-family:Manrope,sans-serif; font-size:15px; font-weight:800; transition:background .2s; }
.button-primary { background:var(--accent); color:white; }
.button-primary:hover { background:#a81219; }
.nav-quote { min-height:44px; padding:10px 18px; font-size:13px; }
#menu-btn { display:none; width:44px; height:44px; border:1px solid #536070; border-radius:4px; align-items:center; justify-content:center; }
#mobile-menu { padding:12px 24px 24px; border-top:1px solid #263344; }
#mobile-menu:not(.hidden) { display:grid; }
#mobile-menu a { padding:12px 0; color:#e1e7ed; }
.transport-hero { background:var(--ink); color:white; }
.hero-layout { max-width:1440px; margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.hero-copy { padding:62px 48px 58px 40px; }
.hero-intro { font-size:14px; color:#c1cfdd; margin:0 0 24px; }
.hero-copy h1 { font-size:clamp(42px,4.4vw,66px); font-weight:800; line-height:1.07; letter-spacing:-.045em; margin:0; }
.hero-lead { max-width:470px; color:#c1cfdd; font-size:18px; line-height:1.65; margin:26px 0 28px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.hero-call { color:white; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.hero-reassurance { color:#b7c5d4; font-size:12px; margin-top:16px; max-width:440px; }
.hero-visual { margin:0; min-width:0; display:flex; flex-direction:column; background:#152c43; }
.hero-photo { overflow:hidden; position:relative; flex:1; min-height:380px; }
.hero-photo img { position:absolute; width:100%; height:135%; max-width:none; top:-17.5%; object-fit:cover; object-position:48% center; }
.hero-visual figcaption { padding:20px 28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:#e1e7ed; font-size:12px; }
.hero-visual figcaption a { color:white; text-decoration:underline; text-underline-offset:4px; }
.hero-proof { max-width:1440px; margin:auto; padding:28px 40px; display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:24px; border-top:1px solid #304054; }
.hero-proof>div { display:flex; align-items:center; gap:14px; }
.hero-proof .material-symbols-outlined { color:#acbdcf; font-size:27px; }
.hero-proof p { margin:0; }
.hero-proof strong,.hero-proof p span { display:block; }
.hero-proof strong { font-size:14px; font-weight:600; }
.hero-proof p span { color:#b7c5d4; font-size:12px; margin-top:3px; }
.hero-proof>a { align-self:center; display:flex; gap:14px; align-items:center; font-size:13px; }
.section-lead { max-width:620px; font-size:18px; color:var(--quiet); margin-top:20px; line-height:1.6; }
#servicios,#nosotros,#flota,#faq,#contacto { padding-top:80px; padding-bottom:80px; }
#servicios h2,#flota h2,#faq h2 { font-size:clamp(30px,3.4vw,46px); }
.svc-card.svc-card { border-radius:8px; box-shadow:none; }
.svc-card:hover { transform:none; border-color:#8695a5; box-shadow:0 6px 18px #000e240d; }
.reveal { opacity:1; transform:none; transition:none; }
.shine::before { display:none; }
body .bg-wa { background-color:#127b43; }
body .text-wa { color:#127b43; }
.quote-process { background:#e8edf2; padding:64px max(24px,calc((100vw - 1360px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.process-heading h2 { font-size:clamp(28px,3vw,40px); font-weight:800; letter-spacing:-.035em; max-width:510px; }
.process-heading p { margin-top:20px; color:var(--quiet); max-width:380px; }
.quote-process ol { margin:0; padding:0; list-style:none; display:grid; gap:28px; }
.quote-process li { display:flex; gap:20px; }
.quote-process li>span { border:1px solid #a4b2c1; border-radius:50%; width:34px; height:34px; display:grid; place-items:center; flex-shrink:0; font-weight:600; }
.quote-process h3 { font-size:17px; font-weight:800; margin:4px 0 8px; }
.quote-process li p { color:var(--quiet); font-size:15px; }
footer .text-white\/40,footer .text-white\/30,footer .text-white\/20 { color:#b8c1cc; }
.mbar { padding-bottom:calc(8px + env(safe-area-inset-bottom)); }
.mbar a { min-height:48px; }
.mbar a:last-child { background:#127b43; color:white; border-radius:5px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #528dde; outline-offset:4px; }
@media(min-width:1200px) { #mobile-menu:not(.hidden) { display:none; } }
@media(max-width:1199px) { .desktop-links { display:none; } #menu-btn { display:flex; } .hero-copy { padding:42px 28px; } .hero-actions { gap:16px; } .hero-proof { grid-template-columns:repeat(3,1fr); padding:24px 28px; } .hero-proof>a { display:none; } }
@media(max-width:767px) {
  main.pt-32 { padding-top:76px; } html { scroll-padding-top:88px; } body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .nav-inner { height:76px; padding:0 20px; gap:12px; } .brand { gap:10px; } .brand-symbol { width:57px; height:32px; } .brand-symbol img { width:196px; left:-14px; top:-17px; } .brand-name { font-size:25px; } .brand-descriptor { font-size:9px; letter-spacing:.02em; } .brand-wordmark { gap:5px; } .nav-actions { gap:14px; } .nav-quote { display:none; } .nav-phone { width:40px; height:44px; justify-content:center; } .nav-phone-number { display:none; }
  .hero-layout { grid-template-columns:1fr; } .hero-copy { padding:36px 24px; } .hero-copy h1 { font-size:clamp(39px,8.7vw,60px); } .hero-intro { margin-bottom:20px; font-size:13px; }
  .hero-lead { font-size:16px; margin:22px 0; } .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; } .hero-actions .button { width:100%; }
  .hero-reassurance { font-size:12px; line-height:1.6; } .hero-photo { min-height:280px; } .hero-visual figcaption { padding:16px 24px; }
  .hero-proof { grid-template-columns:1fr; padding:26px 24px; gap:22px; } .hero-proof>div { gap:16px; }
  #servicios,#nosotros,#flota,#faq,#contacto { padding-top:56px; padding-bottom:56px; } .section-lead { font-size:16px; } #servicios .mb-14 { margin-bottom:32px; }
  .quote-process { grid-template-columns:1fr; padding:44px 24px; gap:32px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }

@media(max-width:359px) { .nav-actions { gap:4px; } .nav-inner { padding:0 12px; gap:6px; } .brand-name { font-size:23px; } .brand { gap:8px; } }
