/* Rapidito r4 — editorial brutalista sobre lienzo gris. Solo web pública (body.pub); el panel admin no cambia. */
@font-face{font-family:'Rapidito Display';src:url('/web-assets/assets/rapidito-display-v2.woff') format('woff');font-weight:700 900;font-display:swap}
.pub{--c-ink:#000;--c-paper:#fff;--c-canvas:#e5e5e5;--c-mist:#f3f3f3;--c-ash:#c6c6c6;--c-smoke:#979797;--c-slate:#444;--c-graphite:#2f2f2f;--c-accent:#c1f11d;
 --f-display:'Rapidito Display','Arial Narrow',Impact,sans-serif;--f-body:Manrope,Arial,sans-serif;--f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;
 --r-card:32px;--r-big:64px;--r-btn:8px;--ink:#000;--muted:#444;--line:#c6c6c6;--paper:#e5e5e5;
 background:var(--c-canvas);color:var(--c-ink);font-family:var(--f-body)}
.pub main{max-width:1280px;margin:0 auto;padding:0 40px}
.pub ::selection{background:var(--c-accent);color:#000}

/* Tipografía display: mayúsculas, condensada, interlineado 0.9 */
.pub main h1,.pub main h2,.pub .brand-strip span{font-family:var(--f-display);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em}
.pub main h1{font-size:clamp(64px,10vw,136px)}
.pub main h2{font-size:clamp(44px,6vw,80px);margin:0}
.pub main h3{font-family:var(--f-body);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.15;text-transform:none}
.pub main h1 em,.pub main h2 em{font-style:normal;color:inherit}
.pub main h1 span,.pub main h2 span{color:inherit}
.pub main h1 svg{display:none}
.pub .home-hero h1 span,.pub .how-hero h1 span{background:var(--c-accent);padding:0 .06em;margin:0 -.02em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.pub .how-hero h1 span::after{display:none}

/* Etiquetas mono tipo píldora */
.pub .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;font-weight:400;letter-spacing:.02em;text-transform:uppercase;background:var(--c-paper);color:#000;border-radius:64px;padding:7px 14px;margin:0 0 24px;line-height:1.3}
.pub .live-dot{width:8px;height:8px;border-radius:50%;background:var(--c-accent);box-shadow:none;margin:0}
.pub .hint,.pub .how-no,.pub .step-no,.pub .reg-no,.pub .service-number{font-family:var(--f-mono)}

/* Botones */
.pub .button{border-radius:var(--r-btn);font-weight:600;font-size:16px;padding:16px 24px;min-height:52px;gap:18px;box-shadow:none;transform:none!important;transition:background .15s,color .15s}
.pub .button.dark{background:#000;color:#fff;border-color:#000}
.pub .button.dark:hover{background:var(--c-graphite)}
.pub .button.lime{background:var(--c-accent);color:#000;border-color:var(--c-accent)}
.pub .button.lime:hover{background:#fff}
.pub .button span{display:inline-flex}
.pub .plain-link,.pub .text-link{font-weight:600;color:#000;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.pub .plain-link span{text-decoration:none}

/* Cabecera: logo, píldora de navegación y botón negro */
.pub .header{max-width:1280px;min-height:128px;padding:0 40px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pub .header .logo{width:150px;height:auto}
.pub .header nav{background:var(--c-paper);border-radius:48px;padding:8px 8px 8px 28px;gap:24px;font-size:15px;font-weight:500;color:var(--c-slate)}
.pub .header nav a{color:var(--c-slate)}
.pub .header nav a:hover{color:#000}
.pub .header nav a.nav-support{background:#000;color:#fff;border:0;border-radius:40px;padding:12px 20px;display:inline-flex;gap:10px;align-items:center}
.pub .header nav a.nav-support:hover{background:var(--c-graphite)}
.pub .header nav a.nav-support .ar{stroke:#fff}

/* HERO */
.pub .home-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;min-height:0;padding:24px 0 80px;align-items:stretch}
.pub .home-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:0}
.pub .home-hero h1{font-size:clamp(72px,10.4vw,150px);margin:0 0 32px}
.pub .hero-intro{font-size:18px;line-height:1.45;color:var(--c-slate);max-width:460px;margin:0 0 32px}
.pub .hero-actions{gap:28px;margin-bottom:40px}
.pub .hero-points{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.pub .hero-points span{font-family:var(--f-mono);font-size:12px;text-transform:uppercase;border:1.5px solid var(--c-ash);border-radius:64px;padding:6px 12px;color:var(--c-slate)}
.pub .hero-points span::before,.pub .hero-points span::after{display:none}
.pub .store-row{align-items:center;gap:16px;margin:0}
.pub .store-title{font-family:var(--f-mono);font-size:12px;text-transform:uppercase;color:var(--c-slate);margin:0 8px 0 0}
.pub .store-badge .sb{border-radius:var(--r-btn);box-shadow:none}

/* Escena del teléfono: bloque negro con arco superior */
.pub .app-scene{height:auto;min-height:640px;background:#000;border-radius:var(--r-big) var(--r-big) var(--r-card) var(--r-card);overflow:hidden;isolation:isolate}
.pub .app-scene::before,.pub .app-scene::after{display:none}
.pub .scene-orbit,.pub .scene-cross{display:none}
.pub .app-scene::before{content:'';display:block;position:absolute;left:50%;bottom:-38%;width:120%;aspect-ratio:1;transform:translateX(-50%);background:var(--c-accent);border-radius:50%;inset:auto auto -38% 50%;z-index:-1}
.pub .phone-demo{transform:rotate(-4deg);box-shadow:none;border-color:#111;margin-top:30px}
.pub .scene-stamp{top:28px;right:28px;left:auto;background:var(--c-accent);color:#000;border:0;border-radius:16px;transform:rotate(4deg);box-shadow:none;font-family:var(--f-mono);font-size:11px}
.pub .scene-stamp b{font-family:var(--f-display);font-size:26px;letter-spacing:0;text-transform:uppercase}
.pub .floating-pill{box-shadow:none;border-radius:16px;background:#fff}
.pub .floating-pill.pill-code{left:24px;top:auto;bottom:150px}
.pub .floating-pill.pill-vehicle{right:24px;bottom:60px}
.pub .scene-caption{color:#000;font-family:var(--f-mono);font-size:12px;text-transform:uppercase;bottom:18px}

/* Franja de marca */
.pub .brand-strip{margin:0 calc(50% - 50vw);padding:26px max(40px,calc(50vw - 600px));background:#000;color:#fff;gap:24px}
.pub .brand-strip span{font-size:clamp(28px,3.4vw,48px);color:#fff}
.pub .brand-strip b{background:var(--c-accent);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;flex:none}
.pub .brand-strip b .ar{stroke:#000}

/* Secciones */
.pub .home-section,.pub .how-section{padding:96px 0 0}
.pub .section-top,.pub .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}
.pub .section-top>p,.pub .section-heading>p{max-width:360px;font-size:18px;line-height:1.4;color:var(--c-slate);margin:0}

/* Tarjetas de servicio: una blanca y una negra, planas */
.pub .service-grid{gap:16px}
.pub .service-card{border:0;box-shadow:none;border-radius:var(--r-card);background:#fff;min-height:520px}
.pub .service-card.delivery-card{background:#000;color:#fff}
.pub .service-card h3{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:clamp(48px,5vw,72px);line-height:.9;letter-spacing:-.01em}
.pub .service-card p{color:var(--c-slate);font-size:16px}
.pub .service-card.delivery-card p{color:var(--c-smoke)}
.pub .service-number{font-size:12px;letter-spacing:0;background:var(--c-accent);color:#000;border-radius:64px;padding:6px 12px;display:inline-block}
.pub .service-badge{background:var(--c-mist);color:#000;border:0;box-shadow:none;font-family:var(--f-mono);font-size:11px;border-radius:64px}
.pub .round-link{background:#000;color:#fff;border:0;border-radius:var(--r-btn)}
.pub .round-link .ar{stroke:#fff}
.pub .delivery-card .round-link{background:var(--c-accent)}
.pub .delivery-card .round-link .ar,.pub .delivery-card .delivery-arrow .ar{stroke:#000}
.pub .delivery-arrow{background:var(--c-accent)}
.pub .parcel-orbit,.pub .road-line{opacity:.25}
.pub .service-footer{border-top:1.5px solid var(--c-mist)}
.pub .delivery-card .service-footer{border-color:#ffffff22}
.pub .service-footer span{font-family:var(--f-mono);font-size:12px;border-radius:64px;background:var(--c-mist);color:#000;border:0}
.pub .delivery-card .service-footer span{background:#ffffff14;color:#fff}

/* Pasos */
.pub .steps-grid{gap:16px;border:0}
.pub .steps-grid article{background:#fff;border:0;border-radius:var(--r-card);padding:32px;min-height:260px;display:flex;flex-direction:column}
.pub .steps-grid article::before{display:none}
.pub .reg-no,.pub .step-no{font-size:12px;color:#000;background:var(--c-accent);border-radius:64px;padding:6px 12px;align-self:flex-start;letter-spacing:0;font-weight:400}
.pub .steps-grid h3{margin:auto 0 10px;font-size:26px}
.pub .steps-grid p{color:var(--c-slate);margin:0;line-height:1.5}

/* Banner de conductores: bloque invertido */
.pub .driver-banner{background:#000;color:#fff;border-radius:var(--r-big);border:0;box-shadow:none;margin-top:96px;padding:24px;gap:40px}
.pub .driver-art{border-radius:40px;overflow:hidden;background:var(--c-accent)}
.pub .driver-copy{padding:32px 24px}
.pub .driver-copy p{color:var(--c-smoke)}
.pub .driver-checks span{font-family:var(--f-mono);font-size:12px;border:1.5px solid #ffffff33;border-radius:64px;color:#fff;background:transparent}
.pub .driver-copy small{color:var(--c-smoke)}

/* Confianza */
.pub .confidence-grid{gap:16px;border:0}
.pub .confidence-grid article{background:#fff;border:0;border-radius:var(--r-card);padding:32px}
.pub .trust-icon{background:#000;color:var(--c-accent);border-radius:var(--r-btn);border:0}
.pub .trust-icon .ar{stroke:var(--c-accent)}
.pub .confidence-grid p{color:var(--c-slate)}

/* Cierre */
.pub .join-banner{background:#fff;color:#000;border:0;border-radius:var(--r-big);padding:56px;margin:96px 0;box-shadow:none}
.pub .join-banner p:not(.eyebrow){color:var(--c-slate);font-size:18px}
.pub .join-banner .eyebrow{background:var(--c-accent)}

/* Pie: banda oscura compacta */
.pub footer{max-width:none;margin:0;background:#000;color:#fff;padding:56px max(40px,calc(50vw - 600px)) 28px;border-radius:var(--r-big) var(--r-big) 0 0}
.pub footer .logo{background:#fff;border-radius:16px;padding:10px 14px;width:170px;height:auto}
.pub footer p,.pub .footer-bottom{color:var(--c-smoke)}
.pub .footer-links a{color:#fff;font-weight:500}
.pub .footer-links a:hover{color:var(--c-accent)}
.pub .footer-bottom{border-top:1px solid #ffffff22;font-family:var(--f-mono);font-size:12px}
.pub .footer-bottom .ar{stroke:var(--c-accent)}

/* Centro de ayuda */
.pub .support-hero{background:transparent;border:0;padding:24px 0 64px}
.pub .support-hero h1{font-size:clamp(72px,10vw,136px)}
.pub .support-hero p:not(.eyebrow){color:var(--c-slate);font-size:18px}
.pub .support-orb{background:var(--c-accent);box-shadow:none;border:0}
.pub .topic-grid{gap:16px}
.pub .topic{background:#fff;border:0;border-radius:var(--r-card);box-shadow:none;padding:32px;transform:none!important}
.pub .topic:hover{background:#000;color:#fff}
.pub .topic:hover p,.pub .topic:hover .text-link{color:#fff}
.pub .topic-icon{background:var(--c-accent);color:#000;border-radius:var(--r-btn);border:0}
.pub .topic p{color:var(--c-slate)}
.pub .faq,.pub .contact-card{background:#fff;border:0;border-radius:var(--r-card);box-shadow:none;padding:40px}
.pub .faq h2,.pub .contact-card h2{font-size:clamp(40px,4.4vw,64px)}
.pub .faq details{border-color:var(--c-mist)}
.pub .faq summary{font-weight:600}
.pub .notice{background:var(--c-mist);border:0;border-radius:16px}
.pub input,.pub select,.pub textarea{border-radius:var(--r-btn);border:1.5px solid var(--c-ash);background:var(--c-mist);box-shadow:none}
.pub input:focus,.pub select:focus,.pub textarea:focus{border-color:#000;outline:none;background:#fff}

/* Cómo funciona */
.pub .how{max-width:none;padding:24px 0 0}
.pub .how-hero{margin-bottom:64px}
.pub .how-hero h1{font-size:clamp(64px,8.6vw,124px)}
.pub .how-jump a{border:0;background:#fff;border-radius:var(--r-btn);transform:none!important}
.pub .how-jump a:first-child{background:#000;color:#fff}
.pub .how-tabs{background:#fff;border:0;border-radius:48px}
.pub .how-tabs button[aria-selected=true]{background:#000}
.pub .how-steps{border-top:0;display:grid;gap:12px}
.pub .how-steps li{background:#fff;border:0;border-radius:var(--r-card);padding:32px}
.pub .how-no{color:#000;background:var(--c-accent);border-radius:64px;padding:6px 12px;justify-self:start;align-self:start;font-weight:400;letter-spacing:0;font-size:12px}
.pub .how-text h2{font-family:var(--f-body);text-transform:none;font-size:clamp(22px,2.4vw,30px);line-height:1.15;letter-spacing:-.02em;font-weight:700}
.pub .how-text p{color:var(--c-slate)}
.pub .mini{box-shadow:none;border:0;background:var(--c-mist)}
.pub .how-codes{background:#000;border-radius:var(--r-big);padding:56px}
.pub .how-codes article{background:#ffffff0f;border:0;border-radius:24px}
.pub .how-codes h2{font-size:clamp(44px,5vw,72px)}
.pub .how-codes p{color:var(--c-smoke)}
.pub .how-cta{background:#fff;border:0;border-radius:var(--r-big);padding:48px}
.pub .how-cta.lime-cta{background:#000;color:#fff}
.pub .how-cta.lime-cta p:not(.eyebrow){color:var(--c-smoke)}
.pub .how-cta.lime-cta .eyebrow{background:var(--c-accent)}
.pub .how-cta h2{font-size:clamp(40px,4.4vw,64px)}

/* Registro de conductores */
.pub .reg-card{background:#fff;border:0;border-radius:var(--r-card)}
.pub .reg-card h2{font-family:var(--f-body);text-transform:none;font-size:28px;letter-spacing:-.02em;line-height:1.15;font-weight:700}
.pub .reg-needs{background:#000;border-radius:var(--r-card)}
.pub .reg-status{background:#fff;border-radius:var(--r-card)}
.pub .chip-check span{border-radius:64px;background:var(--c-mist);border:1.5px solid var(--c-ash)}

/* Páginas legales */
.pub .legal{background:#fff;border-radius:var(--r-card);padding:56px;margin:24px auto 96px;max-width:880px}
.pub .legal h1{font-size:clamp(56px,7vw,96px);margin-bottom:24px}
.pub .legal h2{font-family:var(--f-body);text-transform:none;font-size:24px;line-height:1.2;letter-spacing:-.02em;font-weight:700;margin:32px 0 10px}
.pub .legal p,.pub .legal li{color:var(--c-slate);line-height:1.6}

/* Responsive */
@media(max-width:1100px){
 .pub main{padding:0 24px}.pub .header{padding:0 24px;min-height:104px}
 .pub .home-hero{grid-template-columns:1fr;gap:24px}
 .pub .app-scene{min-height:600px}
}
@media(max-width:760px){
 .pub .header{min-height:84px;padding:0 20px}
 .pub .header nav{border-radius:24px;padding:16px;background:#fff}
 .pub main{padding:0 16px}
 .pub .home-hero{padding:8px 0 48px}
 .pub .home-hero h1{font-size:clamp(60px,19vw,96px);margin-bottom:24px}
 .pub main h2{font-size:clamp(44px,13vw,64px)}
 .pub .section-top,.pub .section-heading{flex-direction:column;align-items:flex-start;gap:16px}
 .pub .home-section,.pub .how-section{padding-top:64px}
 .pub .app-scene{min-height:560px;border-radius:40px 40px 24px 24px}
 .pub .brand-strip{padding:20px 16px}
 .pub .service-card{min-height:480px;border-radius:24px}
 .pub .driver-banner{border-radius:32px;padding:12px;margin-top:64px}
 .pub .driver-copy{padding:20px 12px}
 .pub .join-banner{padding:32px 24px;border-radius:32px;margin:64px 0}
 .pub .faq,.pub .contact-card,.pub .legal{padding:28px 20px}
 .pub .how-codes,.pub .how-cta{padding:32px 20px;border-radius:32px}
 .pub .how-steps li{padding:24px 20px}
 .pub footer{padding:40px 20px 24px;border-radius:32px 32px 0 0}
}

/* Ajustes finos */
.pub .eyebrow{align-self:flex-start;width:fit-content}
.pub .floating-pill{max-width:250px}
.pub .floating-pill.pill-code{left:24px;top:120px;bottom:auto}
.pub .floating-pill.pill-vehicle{right:24px;left:auto;bottom:64px}
.pub .brand-strip{overflow:hidden}
.pub .brand-strip span{font-size:clamp(22px,2.6vw,38px);white-space:nowrap}
.pub .service-footer{background:transparent}
.pub .delivery-card .service-footer b{color:#fff}
.pub main h2+p,.pub .join-banner h2+p{margin-top:16px}
.pub .plain-link{white-space:nowrap}
@media(max-width:760px){
 .pub .floating-pill,.pub .scene-stamp{display:none}
 .pub .app-scene{min-height:520px}
 .pub .trust-icon{position:static;margin-bottom:16px}
 .pub .confidence-grid article{display:block}
}
.pub footer .logo{mix-blend-mode:normal;isolation:isolate}

/* Escena del teléfono — composición equilibrada (r4.1) */
.pub .app-scene{display:grid;place-items:center;min-height:660px;padding:72px 24px 64px;border-radius:var(--r-big) var(--r-big) var(--r-card) var(--r-card)}
.pub .app-scene::before{width:78%;aspect-ratio:1;left:50%;top:54%;bottom:auto;inset:auto;transform:translate(-50%,-50%);left:50%;top:54%;position:absolute;border-radius:50%;background:var(--c-accent)}
.pub .phone-demo{transform:none;margin:0;border-width:8px;border-color:#000;box-shadow:0 0 0 2px #ffffff1f}
.pub .scene-stamp{top:24px;right:24px;left:auto;transform:none;border-radius:12px;padding:10px 40px 10px 14px;font-size:10px;letter-spacing:.08em;line-height:1.3}
.pub .scene-stamp b{font-size:20px;display:block}
.pub .scene-stamp span{top:12px;right:12px;font-size:18px}
.pub .scene-stamp span .ar{stroke:#000}
.pub .floating-pill{transform:none!important;border-radius:14px;padding:12px 16px;gap:12px;max-width:none;white-space:nowrap}
.pub .floating-pill b{font-size:13px}
.pub .floating-pill small{font-size:11px;color:var(--c-slate)}
.pub .floating-pill.pill-code{left:24px;right:auto;top:auto;bottom:38%}
.pub .floating-pill.pill-code>span{width:32px;height:32px;padding:0;display:grid;place-items:center;font-size:14px;flex:none}
.pub .floating-pill.pill-vehicle{right:24px;left:auto;bottom:88px}
.pub .floating-pill.pill-vehicle img{width:56px;height:34px}
.pub .scene-caption{top:28px;bottom:auto;left:28px;right:auto;text-align:left;color:#fff;opacity:.7;font-size:11px;letter-spacing:.06em;max-width:180px;line-height:1.4}
.pub .app-scene::before{width:min(78%,520px)}
.pub .floating-pill.pill-code{bottom:120px}
.pub .floating-pill.pill-vehicle{bottom:36px}
