:root { --blue:#0866c6; --ink:#0b1220; --red:#ef3340; --mist:#f4f7fb; }
* { box-sizing:border-box; }
html { scroll-padding-top:5rem; }
body { overflow-x:hidden; font-family:'Manrope',sans-serif; }
a,button,input,select { -webkit-tap-highlight-color:transparent; }
.container-shell { width:min(100% - 2rem,1180px); margin-inline:auto; }
.section-space { padding:5.5rem 0; }
.skip-link { position:fixed; top:-5rem; left:1rem; z-index:100; padding:.75rem 1rem; border-radius:.6rem; background:var(--ink); color:#fff; }
.skip-link:focus { top:1rem; }
header.scrolled { border-color:#e2e8f0; background:rgba(255,255,255,.9); box-shadow:0 8px 30px rgba(15,23,42,.06); backdrop-filter:blur(16px); }
.nav-link { position:relative; font-size:.84rem; font-weight:700; color:#334155; }
.nav-link::after { content:''; position:absolute; right:0; bottom:-.45rem; left:0; height:2px; background:var(--blue); transform:scaleX(0); transition:.25s; }
.nav-link:hover::after { transform:scaleX(1); }
.btn-primary,.btn-secondary { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:.7rem; border-radius:.9rem; padding:.8rem 1.35rem; font-size:.88rem; font-weight:800; transition:transform .25s,box-shadow .25s,background .25s; }
.btn-primary { background:var(--blue); color:#fff; box-shadow:0 12px 30px rgba(8,102,198,.2); }
.btn-primary:hover { transform:translateY(-2px); background:#0759ac; box-shadow:0 16px 36px rgba(8,102,198,.3); }
.btn-secondary { border:1px solid #cbd5e1; background:rgba(255,255,255,.7); color:var(--ink); }
.btn-secondary:hover { transform:translateY(-2px); border-color:#94a3b8; background:#fff; }
.menu-button { display:grid; width:44px; height:44px; place-content:center; gap:5px; border-radius:10px; background:#f1f5f9; }
.menu-button span { display:block; width:20px; height:2px; border-radius:2px; background:var(--ink); transition:.25s; }
.menu-button.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }.menu-button.open span:nth-child(2) { opacity:0 }.menu-button.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-menu { display:grid; max-height:0; gap:.25rem; overflow:hidden; background:#fff; opacity:0; transition:.35s; }
.mobile-menu.open { max-height:400px; padding-top:.5rem; padding-bottom:1rem; opacity:1; }
.mobile-menu>a:not(.btn-primary) { padding:.75rem; border-radius:.6rem; font-size:.9rem; font-weight:700; }
.hero-section { background:linear-gradient(135deg,#fff 0%,#f4f8fc 65%,#edf5ff 100%); }
.hero-orb { position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none; }.hero-orb-one { top:8%; right:-10%; width:36rem; height:36rem; border:1px solid rgba(8,102,198,.1); }.hero-orb-two { right:10%; bottom:5%; width:18rem; height:18rem; background:rgba(8,102,198,.06); filter:blur(60px); }
.eyebrow,.section-kicker { display:inline-flex; align-items:center; gap:.6rem; color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.pulse-dot { width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 0 6px rgba(239,51,64,.1); }
.text-gradient { background:linear-gradient(100deg,var(--blue),#3596ed); background-clip:text; -webkit-background-clip:text; color:transparent; }
.metric { display:block; font-size:1rem; font-weight:800; color:var(--ink); }.metric-label { display:block; margin-top:.25rem; font-size:.65rem; color:#64748b; }
.hero-fleet { isolation:isolate; }
.vehicle-halo { position:absolute; inset:8% 0 8% 4%; z-index:-1; border:1px solid rgba(8,102,198,.13); border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.92) 0%,rgba(223,239,255,.55) 50%,transparent 72%); }
.hero-vehicle { position:absolute; overflow:hidden; border:6px solid rgba(255,255,255,.9); border-radius:1.35rem; background:#d7d7d7; box-shadow:0 25px 60px rgba(15,23,42,.16); transition:transform .5s ease,box-shadow .5s ease; }
.hero-vehicle:hover { z-index:5; transform:translateY(-7px) rotate(0); box-shadow:0 32px 75px rgba(15,23,42,.22); }
.hero-vehicle img { width:100%; height:100%; object-fit:cover; }
.hero-vehicle figcaption { position:absolute; right:.7rem; bottom:.7rem; display:flex; align-items:center; gap:.5rem; border-radius:999px; padding:.45rem .7rem; background:rgba(11,18,32,.82); color:#fff; font-size:.62rem; font-weight:800; backdrop-filter:blur(8px); }
.hero-vehicle figcaption span { color:#79bfff; }
.hero-vehicle-fox { top:3%; right:1%; width:82%; height:58%; transform:rotate(1.5deg); }
.hero-vehicle-mobi { right:24%; bottom:1%; width:66%; height:47%; transform:rotate(-2.5deg); }
.fleet-stamp { position:absolute; right:0; bottom:8%; z-index:6; display:flex; flex-direction:column; border-radius:1rem; padding:.9rem 1rem; background:var(--blue); color:#fff; box-shadow:0 14px 35px rgba(8,102,198,.28); }.fleet-stamp strong { font-size:.78rem; }.fleet-stamp span { margin-top:.18rem; color:#cde6ff; font-size:.55rem; }
.section-heading { display:flex; flex-direction:column; gap:1.25rem; }.section-title { margin-top:.75rem; max-width:680px; font-size:2.15rem; font-weight:800; line-height:1.15; letter-spacing:-.035em; color:var(--ink); }.section-copy { margin-top:1.1rem; line-height:1.8; color:#64748b; }
.about-card { position:relative; min-height:300px; overflow:hidden; border-radius:1.8rem; padding:8rem 2rem 2rem; background:var(--mist); }.about-card::before { content:''; position:absolute; top:0; right:0; width:48%; height:8px; background:linear-gradient(90deg,var(--blue),var(--red)); }.about-number { position:absolute; top:.2rem; left:1.5rem; color:#fff; font-size:9rem; font-weight:800; line-height:1; text-shadow:-1px -1px 0 #dfe6ef,1px -1px 0 #dfe6ef,-1px 1px 0 #dfe6ef,1px 1px 0 #dfe6ef; }
.feature-row { display:flex; gap:.9rem; }.feature-row>span { display:grid; flex:0 0 2rem; width:2rem; height:2rem; place-items:center; border-radius:50%; background:#e4f1ff; color:var(--blue); font-weight:900; }.feature-row strong { font-size:.85rem; }.feature-row p { margin-top:.2rem; color:#64748b; font-size:.75rem; line-height:1.5; }
.service-card { display:flex; min-height:330px; flex-direction:column; justify-content:space-between; border:1px solid #e2e8f0; border-radius:1.4rem; padding:1.5rem; background:#fff; transition:.3s; }.service-card:hover { transform:translateY(-7px); border-color:#bfdbfe; box-shadow:0 20px 50px rgba(15,23,42,.09); }.service-icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:.8rem; background:#eaf4ff; color:var(--blue); font-size:.9rem; font-weight:900; }.service-card h3 { margin:1.5rem 0 .7rem; font-size:1.05rem; font-weight:800; }.service-card p { color:#64748b; font-size:.84rem; line-height:1.7; }.service-card a { display:flex; justify-content:space-between; color:var(--blue); font-size:.75rem; font-weight:800; }
.simulator-section { position:relative; overflow:hidden; background:#fff; }.simulator-section::before { content:''; position:absolute; top:8%; left:-12rem; width:28rem; height:28rem; border-radius:50%; background:rgba(8,102,198,.05); filter:blur(25px); }.simulator-shell { position:relative; display:grid; overflow:hidden; border:1px solid #dbe5f0; border-radius:1.8rem; background:#fff; box-shadow:0 28px 80px rgba(15,23,42,.1); }.simulator-options { padding:1.4rem; }.simulator-step { display:flex; align-items:flex-start; gap:.8rem; }.simulator-step>span { display:grid; flex:0 0 1.8rem; width:1.8rem; height:1.8rem; place-items:center; border-radius:50%; background:#e7f2ff; color:var(--blue); font-size:.7rem; font-weight:900; }.simulator-step div { display:flex; flex-direction:column; }.simulator-step strong { font-size:.86rem; }.simulator-step small { margin-top:.2rem; color:#64748b; font-size:.66rem; line-height:1.5; }.plan-options { display:grid; gap:.65rem; margin-top:1.2rem; }.plan-option { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.8rem; border:1px solid #dbe3ec; border-radius:1rem; padding:1rem; cursor:pointer; transition:.25s; }.plan-option:hover { border-color:#93c5fd; }.plan-option.active { border-color:var(--blue); background:#f1f7ff; box-shadow:0 0 0 3px rgba(8,102,198,.08); }.plan-option input { position:absolute; opacity:0; pointer-events:none; }.plan-check { display:grid; width:1.55rem; height:1.55rem; place-items:center; border:1px solid #cbd5e1; border-radius:50%; color:transparent; font-size:.65rem; font-weight:900; }.plan-option.active .plan-check { border-color:var(--blue); background:var(--blue); color:#fff; }.plan-info { display:flex; flex-direction:column; }.plan-info strong { font-size:.76rem; }.plan-info small { margin-top:.15rem; color:#64748b; font-size:.63rem; }.plan-option>b { color:var(--ink); font-size:.76rem; }.moto-toggle { display:grid; grid-template-columns:1fr auto; align-items:center; gap:.8rem; margin-top:1.2rem; border:1px solid #dbe3ec; border-radius:1rem; padding:1rem; cursor:pointer; }.moto-toggle>span { display:flex; flex-direction:column; }.moto-toggle strong { font-size:.76rem; }.moto-toggle small { margin-top:.15rem; color:#64748b; font-size:.62rem; }.moto-toggle input { position:absolute; opacity:0; }.moto-toggle i { position:relative; width:2.7rem; height:1.5rem; border-radius:999px; background:#cbd5e1; transition:.25s; }.moto-toggle i::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.25s; }.moto-toggle input:checked+i { background:var(--blue); }.moto-toggle input:checked+i::after { transform:translateX(18px); }.moto-toggle>b { grid-column:1/3; color:var(--blue); font-size:.7rem; }.simulator-result { display:flex; flex-direction:column; padding:1.5rem; background:linear-gradient(145deg,#0b1729,#102a4a); color:#fff; }.result-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,.12); }.result-heading span { font-size:1rem; font-weight:800; }.result-heading small { border-radius:999px; padding:.35rem .55rem; background:rgba(255,255,255,.08); color:#93c5fd; font-size:.56rem; font-weight:700; }.result-lines { display:grid; gap:.85rem; padding:1.2rem 0; border-bottom:1px solid rgba(255,255,255,.12); }.result-lines>div { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#cbd5e1; font-size:.7rem; }.result-lines span { display:flex; flex-direction:column; }.result-lines small { margin-top:.12rem; color:#64748b; font-size:.55rem; }.result-lines strong { color:#fff; white-space:nowrap; }.optional-line { display:none!important; }.optional-line.visible { display:flex!important; }.result-total { display:flex; flex-direction:column; padding:1.3rem 0; }.result-total>span { color:#93c5fd; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.result-total>strong { margin-top:.35rem; font-size:2.25rem; line-height:1; letter-spacing:-.04em; }.result-total small { margin-top:.45rem; color:#64748b; font-size:.58rem; }.simulator-whatsapp { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-radius:.9rem; padding:.9rem 1rem; background:#25d366; color:#07150c; font-size:.72rem; font-weight:900; transition:.25s; }.simulator-whatsapp:hover { transform:translateY(-2px); background:#39e37a; }.simulator-note { margin-top:.8rem; color:#64748b; font-size:.55rem; line-height:1.55; }
.fleet-grid { display:grid; gap:1rem; }.fleet-card { position:relative; min-height:320px; overflow:hidden; border-radius:1.5rem; background:#0f172a; }.fleet-card img { width:100%; height:100%; object-fit:cover; opacity:.9; transition:transform .7s,opacity .7s; }.fleet-card:hover img { transform:scale(1.045); opacity:.72; }.fleet-overlay { position:absolute; inset:auto 0 0; padding:5rem 1.5rem 1.5rem; background:linear-gradient(transparent,rgba(5,10,20,.94)); color:#fff; }.fleet-overlay span { font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.fleet-overlay h3 { margin-top:.35rem; font-size:1.1rem; font-weight:800; }.fleet-overlay p { margin-top:.3rem; color:#cbd5e1; font-size:.68rem; }
.team-card { position:relative; min-height:430px; overflow:hidden; border-radius:1.4rem; background:#1e293b; }.team-card img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(25%); transition:.5s; }.team-card:hover img { transform:scale(1.03); filter:grayscale(0); }.team-card>div { position:absolute; right:0; bottom:0; left:0; padding:5rem 1.3rem 1.3rem; background:linear-gradient(transparent,rgba(5,10,20,.95)); }.team-card h3 { font-weight:800; }.team-card p { margin-top:.35rem; color:#cbd5e1; font-size:.72rem; }
.timeline { position:relative; display:grid; gap:1rem; }.timeline-item { position:relative; border:1px solid #e2e8f0; border-radius:1rem; padding:1.25rem 1.25rem 1.25rem 4.5rem; background:#fff; }.timeline-item>span { position:absolute; top:1rem; left:1rem; display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:50%; background:var(--ink); color:#fff; font-size:.7rem; font-weight:800; }.timeline-item h3 { font-size:.85rem; font-weight:800; }.timeline-item p { margin-top:.3rem; color:#64748b; font-size:.72rem; line-height:1.5; }
.testimonial { border:1px solid #e2e8f0; border-radius:1.25rem; padding:1.4rem; background:#fff; }.stars { color:#f5b301; font-size:.75rem; letter-spacing:.15em; }.testimonial>p { margin:1rem 0 1.5rem; color:#334155; font-size:.86rem; line-height:1.8; }.testimonial footer { display:flex; flex-direction:column; font-size:.75rem; }.testimonial footer strong { color:var(--ink); }.testimonial footer span { margin-top:.15rem; color:#94a3b8; }
.faq-item button { display:flex; width:100%; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 0; text-align:left; font-size:.86rem; font-weight:800; }.faq-item button i { display:grid; flex:0 0 1.8rem; width:1.8rem; height:1.8rem; place-items:center; border-radius:50%; background:#fff; color:var(--blue); font-style:normal; transition:.3s; }.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s; }.faq-answer>p { min-height:0; overflow:hidden; color:#64748b; font-size:.8rem; line-height:1.7; }.faq-item.open .faq-answer { grid-template-rows:1fr; }.faq-item.open .faq-answer>p { padding-bottom:1.25rem; }.faq-item.open button i { transform:rotate(45deg); background:var(--blue); color:#fff; }
.cta-section { position:relative; overflow:hidden; background:linear-gradient(135deg,#063d76,#0866c6); }.cta-section::before { content:''; position:absolute; top:-18rem; left:-15rem; width:35rem; height:35rem; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.lead-form { position:relative; border-radius:1.5rem; padding:1.4rem; background:#fff; box-shadow:0 30px 70px rgba(3,27,52,.28); }.form-heading { margin-bottom:1.5rem; }.form-heading h3 { font-size:1.35rem; font-weight:800; }.form-heading p { margin-top:.25rem; color:#64748b; font-size:.75rem; }.lead-form label { display:flex; flex-direction:column; gap:.5rem; color:#334155; font-size:.72rem; font-weight:800; }.lead-form input:not([type=checkbox]),.lead-form select { width:100%; height:3rem; border:1px solid #dbe2ea; border-radius:.75rem; padding:0 .9rem; background:#f8fafc; color:#0f172a; font-size:.78rem; outline:none; transition:.2s; }.lead-form input:focus,.lead-form select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(8,102,198,.1); }.lead-form .invalid { border-color:var(--red)!important; }.lead-form small { min-height:.2rem; color:var(--red); font-size:.63rem; }
.site-footer { position:relative; overflow:hidden; background:#08111f; color:#fff; }.site-footer::after { content:'LÍDER'; position:absolute; right:-2rem; bottom:1rem; color:rgba(255,255,255,.018); font-size:11rem; font-weight:900; line-height:1; pointer-events:none; }.footer-cta { position:relative; z-index:1; display:flex; flex-direction:column; gap:1.5rem; padding-top:3.2rem; padding-bottom:3.2rem; border-bottom:1px solid rgba(255,255,255,.1); }.footer-cta h2 { margin-top:.5rem; max-width:620px; font-size:1.75rem; font-weight:800; line-height:1.2; letter-spacing:-.035em; }.footer-whatsapp { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; border-radius:1rem; padding:1rem 1.2rem; background:#25d366; color:#07150c; font-size:.78rem; font-weight:900; box-shadow:0 15px 35px rgba(37,211,102,.18); transition:.25s; }.footer-whatsapp:hover { transform:translateY(-3px); background:#34e477; }.footer-main { position:relative; z-index:1; display:grid; gap:2.5rem; padding-top:3.5rem; padding-bottom:3.5rem; }.footer-brand img { width:180px; border-radius:.35rem; }.footer-brand p { margin-top:1.2rem; max-width:280px; color:#94a3b8; font-size:.76rem; line-height:1.75; }.footer-badge { display:inline-flex; margin-top:1.2rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:.5rem .75rem; color:#cbd5e1; font-size:.57rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.footer-title { margin-bottom:1.15rem; color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.footer-list { display:grid; gap:1rem; color:#cbd5e1; font-size:.76rem; }.footer-list li,.footer-list a { display:flex; flex-direction:column; gap:.15rem; }.footer-list a:hover strong { color:#70b9ff; }.footer-list span { color:#64748b; font-size:.65rem; }.site-footer address { color:#cbd5e1; font-size:.76rem; font-style:normal; line-height:1.8; }.map-link { display:flex; max-width:290px; align-items:center; gap:.7rem; margin-top:1rem; border:1px solid rgba(255,255,255,.11); border-radius:.8rem; padding:.75rem; background:rgba(255,255,255,.04); transition:.25s; }.map-link:hover { border-color:rgba(112,185,255,.45); background:rgba(8,102,198,.15); }.map-link>span:first-child { display:grid; width:2rem; height:2rem; place-items:center; border-radius:.55rem; background:var(--blue); }.map-link>span:nth-child(2) { display:flex; flex:1; flex-direction:column; font-size:.65rem; }.map-link small { margin-top:.12rem; color:#64748b; }.map-link i { color:#70b9ff; font-style:normal; }.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1rem; color:#94a3b8; font-size:.72rem; }.footer-nav a:hover { color:#fff; }.footer-bottom { position:relative; z-index:1; border-top:1px solid rgba(255,255,255,.08); }.footer-bottom>.container-shell { display:flex; flex-direction:column; gap:.8rem; padding-top:1.4rem; padding-bottom:1.4rem; color:#64748b; font-size:.62rem; }.footer-bottom div div { display:flex; gap:1rem; }.footer-bottom a:hover { color:#cbd5e1; }
.whatsapp-float { position:fixed; right:1rem; bottom:1rem; z-index:40; display:grid; width:3.5rem; height:3.5rem; place-items:center; border:3px solid #fff; border-radius:50%; background:#25d366; box-shadow:0 10px 30px rgba(0,0,0,.2); transition:.25s; }.whatsapp-float:hover { transform:translateY(-4px) scale(1.04); }.whatsapp-float svg { width:1.8rem; fill:#fff; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }.reveal.visible { opacity:1; transform:none; }
@media (min-width:640px) { .container-shell { width:min(100% - 3rem,1180px); }.lead-form { padding:2rem; }.metric { font-size:1.15rem; }.metric-label { font-size:.7rem; } }
@media (min-width:768px) { .section-space { padding:7rem 0; }.section-title { font-size:3rem; }.section-heading { flex-direction:row; align-items:end; justify-content:space-between; }.simulator-shell { grid-template-columns:1.15fr .85fr; }.simulator-options,.simulator-result { padding:2rem; }.moto-toggle { grid-template-columns:1fr auto auto; }.moto-toggle>b { grid-column:auto; }.fleet-grid { grid-template-columns:1fr 1fr; grid-template-rows:340px 340px; }.timeline { grid-template-columns:repeat(3,1fr); }.timeline::before { content:''; position:absolute; top:2.25rem; right:8%; left:8%; height:1px; background:#dbe5f0; }.timeline-item { padding:5.3rem 1rem 1.2rem; text-align:center; }.timeline-item>span { top:1rem; left:50%; transform:translateX(-50%); }.footer-cta { flex-direction:row; align-items:center; justify-content:space-between; }.footer-whatsapp { min-width:270px; }.footer-main { grid-template-columns:1.2fr 1fr 1fr; }.footer-main>div:last-child { grid-column:2/4; }.footer-bottom>.container-shell { flex-direction:row; align-items:center; justify-content:space-between; } }
@media (min-width:1024px) { .section-space { padding:8rem 0; }.timeline { grid-template-columns:repeat(6,1fr); }.hero-section::after { content:'LÍDER'; position:absolute; right:-1rem; bottom:-4rem; color:rgba(8,102,198,.028); font-size:15rem; font-weight:900; letter-spacing:-.08em; }.fleet-grid { grid-template-columns:1.2fr 1fr 1fr; grid-template-rows:320px 320px; }.fleet-grid .fleet-card { min-height:0; }.fleet-car { grid-row:span 2; }.fleet-moto { grid-column:2/4; }.timeline-item { border:0; }.service-card:nth-child(even) { transform:translateY(1.5rem); }.service-card:nth-child(even):hover { transform:translateY(1rem); }.footer-main { grid-template-columns:1.25fr .85fr 1.1fr .8fr; }.footer-main>div:last-child { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; }* { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
