/* Portada beta: identidad RoadSpeak y contenido orientado a testers. */
.landing .page{max-width:1320px;padding:0 5%}
.landing header{min-height:88px}
.landing .hero{grid-template-columns:1.15fr .85fr;gap:56px;padding:65px 0 60px}
.landing h1{font-size:clamp(58px,6.7vw,90px);line-height:1.01;letter-spacing:-4px;margin-bottom:25px}
.landing .intro{max-width:540px;font-size:19px;line-height:1.65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.landing .button{gap:20px;border-radius:8px;padding:15px 20px;min-height:50px}
.landing .secondary{background:transparent;color:var(--text);border:1px solid #555750}
.landing .secondary:hover{background:#222420}
.landing .platform{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;letter-spacing:1px}
.landing .platform span{margin:0}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#80ba87;flex-shrink:0}
.app-visual{position:relative;min-width:0;display:flex;justify-content:center;align-items:center;padding:15px 10px}
.orbit{position:absolute;width:95%;aspect-ratio:1;border:1px solid #ff790026;border-radius:50%;background:radial-gradient(circle,#ff790019,transparent 65%);box-shadow:0 0 0 25px #ff790005}
.app-visual figure{position:relative;z-index:1;margin:0;max-width:285px;width:78%}
.phone-frame{padding:8px;background:#282b29;border:1px solid #565b56;border-radius:30px;box-shadow:0 25px 70px #0008;transform:rotate(3deg);overflow:hidden}
.phone-frame img{display:block;width:100%;height:auto;border-radius:23px;background:#000}
.app-visual figcaption{margin-top:17px;text-align:center;font-size:11px;line-height:1.5;color:var(--muted)}
.visual-note{position:absolute;z-index:2;left:0;bottom:100px;display:flex;align-items:center;gap:12px;padding:15px 18px;background:#1c201c;border:1px solid #42483e;border-radius:10px;box-shadow:0 10px 30px #0006;font-size:13px}
.visual-note strong,.visual-note span{display:block}.visual-note div span{color:var(--muted);margin-top:4px}
.landing .ticker{font-size:11px;letter-spacing:1.5px;padding:22px 0}
.section-block{padding:75px 0;border-bottom:1px solid var(--border)}
.section-block>.eyebrow,.tester-callout .eyebrow,.updates-strip .eyebrow,.support-section .eyebrow{color:var(--orange);margin-bottom:18px}
.landing h2{font-size:clamp(32px,3.7vw,48px);letter-spacing:-1.5px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:36px}
.step-number{font-size:45px;font-weight:850;letter-spacing:-2px;color:var(--orange)}
.steps h3{font-size:21px;margin:18px 0 12px}
.steps p,.mode-grid p,.section-intro{color:var(--muted);line-height:1.7;font-size:16px;margin:0}
.section-intro{margin-top:20px}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.mode-grid article{padding:28px;background:#191c19;border:1px solid var(--border);border-radius:12px}
.mode-grid h3{font-size:24px;margin-top:22px}
.landing .feature-grid{margin-top:35px}
.tester-callout{display:grid;grid-template-columns:1fr 220px;gap:45px;align-items:center;margin:65px 0;padding:42px;border:1px solid #865124;border-radius:16px;background:linear-gradient(125deg,#292016,#1a1d19 80%)}
.tester-callout p{font-size:16px;line-height:1.7;color:#b8bab4;max-width:690px}
.tester-callout .eyebrow{font-size:11px}
.tester-contact a,.support-section a:not(.button){text-decoration:underline;text-underline-offset:4px}
.landing .small-note{font-size:12px;line-height:1.65;color:var(--muted)}
.beta-stamp{transform:rotate(-5deg);padding:22px 18px;border:1px solid #795330;border-radius:12px;text-align:center;color:var(--orange)}
.beta-stamp>span{font-size:32px;font-weight:850;line-height:1}.beta-stamp strong{display:block;font-size:47px;letter-spacing:3px;margin:15px 0}.beta-stamp small{font-size:9px;letter-spacing:1px}
.updates-strip,.support-section{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:35px 0 55px}
.updates-strip{border-bottom:1px solid var(--border)}
.updates-strip p,.support-section p{color:var(--muted);line-height:1.7;max-width:650px;font-size:15px}
.updates-strip h2,.support-section h2{font-size:32px}
.support-section{padding-top:45px}.support-section .support-button{background:#f5a573;white-space:nowrap}
.landing footer{gap:25px;padding:30px 0}
@media(max-width:900px){.landing header nav{gap:15px}.landing .hero{gap:20px}.landing h1{font-size:clamp(50px,7vw,68px);letter-spacing:-2.5px}.visual-note{left:-10px;bottom:80px;padding:12px}.steps{gap:22px}.tester-callout{grid-template-columns:1fr 160px;padding:30px;gap:25px}.updates-strip,.support-section{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:650px){.landing .page{padding:0 6%}.landing header{gap:10px;min-height:80px}.landing header nav>a:not(.nav-status){display:none}.landing header nav{gap:0}.landing header .wordmark{font-size:22px}.landing .nav-status{font-size:11px;padding:9px 11px}.landing .hero{grid-template-columns:1fr;padding:40px 0;gap:25px}.landing h1{font-size:clamp(47px,12vw,70px);letter-spacing:-2.5px}.landing .intro{font-size:17px}.landing .hero .eyebrow{font-size:9px;letter-spacing:1.3px}.app-visual{padding:16px 15px 0}.app-visual figure{max-width:255px;width:72%}.visual-note{left:0;bottom:85px;font-size:12px}.landing .ticker{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;font-size:9px;letter-spacing:1px}.landing .ticker>b:nth-of-type(2){display:block}.section-block{padding:45px 0}.steps,.mode-grid,.landing .feature-grid{grid-template-columns:1fr;gap:25px}.steps article{border-top:1px solid var(--border);padding-top:16px}.step-number{font-size:35px}.steps h3{margin-top:10px}.mode-grid article{padding:23px}.tester-callout{grid-template-columns:1fr;margin:40px 0;padding:26px 22px}.beta-stamp{display:none}.landing h2{font-size:34px}.tester-callout .button{font-size:13px;padding:14px 16px}.support-section .support-button{white-space:normal;font-size:13px}.landing .eyebrow{font-size:10px}.landing footer{gap:18px}.landing footer .contact-link{max-width:100%;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing .button{transition:none}.landing .button:hover{transform:none}}

.landing .route-banner{margin:0 0 36px;overflow:hidden;border:1px solid var(--border);border-radius:16px}.landing .route-banner img{display:block;width:100%;height:auto}
