/* RoadNote landing page styles: scoped to the body.roadnote class. */
body.roadnote { --rn-bg:#080b11; --rn-text:#f3f6fb; --rn-muted:#aab5c5; --rn-dim:#7e8a9c; --rn-blue:#299cff; --rn-line:rgba(193,211,235,.14); background:var(--rn-bg); color:var(--rn-text); }
body.roadnote .site-nav { border-color:rgba(255,255,255,.08); }
body.roadnote .nav-links a:hover, body.roadnote footer .legal a:hover { color:var(--rn-text); }
body.roadnote main { display:block; }
.rn-wrap { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.rn-hero { position:relative; overflow:hidden; padding:86px 0 94px; background:radial-gradient(ellipse at 76% 40%,rgba(20,87,150,.3),transparent 35%),radial-gradient(ellipse at 8% 8%,rgba(26,57,100,.2),transparent 34%); }
.rn-hero-grid { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:62px; }
.rn-kicker { color:#69baff; font-size:.76rem; font-weight:700; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; }
.rn-hero h1 { margin:20px 0; max-width:690px; font-size:clamp(3.3rem,6.8vw,5.5rem); line-height:.99; letter-spacing:-.065em; font-weight:680; }
.rn-hero h1 span { color:#a6d5ff; }
.rn-lede { max-width:590px; color:var(--rn-muted); font-size:clamp(1.08rem,1.7vw,1.25rem); line-height:1.65; }
.rn-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; margin-top:30px; }
.rn-button { min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 20px; border-radius:999px; font-size:.92rem; font-weight:650; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.rn-button:hover { transform:translateY(-2px); }
.rn-button-primary { background:var(--rn-blue); color:#06101b; }
.rn-button-quiet { border:1px solid var(--rn-line); background:rgba(255,255,255,.025); color:var(--rn-text); }
.rn-beta { margin-top:17px; color:var(--rn-dim); font-size:.82rem; }
.rn-hero-art { position:relative; min-height:535px; display:grid; place-items:center; }
.rn-orbit { position:absolute; width:min(490px,92%); aspect-ratio:1; border:1px solid rgba(83,166,255,.17); border-radius:50%; box-shadow:inset 0 0 95px rgba(23,122,212,.1),0 0 90px rgba(21,93,164,.12); }
.rn-orbit:before,.rn-orbit:after { content:""; position:absolute; inset:9%; border:1px solid rgba(83,166,255,.1); border-radius:inherit; }
.rn-orbit:after { inset:19%; }
.rn-phone { position:relative; z-index:1; width:min(300px,68%); padding:8px; border:1px solid rgba(255,255,255,.2); border-radius:40px; background:linear-gradient(145deg,#242c38,#05070a 42%,#202b38); box-shadow:0 38px 90px rgba(0,0,0,.58),0 0 60px rgba(36,153,255,.13); transform:rotate(2deg); }
.rn-phone img { display:block; width:100%; border-radius:31px; }
.rn-float { position:absolute; z-index:2; display:flex; align-items:center; gap:10px; padding:12px 15px; border:1px solid rgba(204,222,244,.16); border-radius:15px; color:var(--rn-text); background:rgba(17,24,34,.92); box-shadow:0 14px 32px rgba(0,0,0,.36); font-size:.83rem; }
.rn-float-top { top:10%; right:-1%; }
.rn-float-bottom { bottom:10%; left:-3%; }
.rn-pulse { width:9px; height:9px; border-radius:50%; background:#67baff; box-shadow:0 0 15px #299cff; }
.rn-wave { color:#74c2ff; font-size:.77rem; letter-spacing:-.2em; }
.rn-section { padding:100px 0; }
.rn-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.rn-shot { padding:13px; border:1px solid var(--rn-line); border-radius:32px; background:linear-gradient(145deg,#151e2a,#0d121a); box-shadow:0 28px 70px rgba(0,0,0,.28); }
.rn-shot img { display:block; width:100%; height:auto; border-radius:22px; }
.rn-phone-shot { width:min(100%,410px); margin-inline:auto; padding:9px; border-radius:39px; }
.rn-phone-shot img { border-radius:30px; }
.rn-copy h2,.rn-section-heading h2,.rn-last-call h2 { margin:13px 0 15px; font-size:clamp(2.05rem,4.2vw,3.35rem); line-height:1.06; letter-spacing:-.055em; font-weight:640; }
.rn-copy p,.rn-section-heading p,.rn-last-call p { color:var(--rn-muted); font-size:1.04rem; line-height:1.62; }
.rn-list { display:grid; gap:12px; margin:23px 0 0; padding:0; list-style:none; }
.rn-list li { display:flex; align-items:flex-start; gap:11px; color:#d5deea; }
.rn-list li span { flex:0 0 18px; color:#74c2ff; font-weight:800; }
.rn-tint { background:linear-gradient(115deg,#0d2339,#0c1724 58%,#0f1924); border-block:1px solid rgba(95,171,246,.12); }
.rn-feature-reverse .rn-copy { order:1; }
.rn-feature-reverse .rn-shot { order:2; }
.rn-voice-shot { width:min(100%,430px); max-height:560px; overflow:hidden; margin-inline:auto; }
.rn-voice-shot img { object-position:top; }
.rn-voice-chip { display:inline-flex; align-items:center; gap:12px; margin-top:20px; padding:12px 16px; border:1px solid rgba(100,181,255,.25); border-radius:15px; background:rgba(36,153,255,.07); color:#d9ecff; }
.rn-voice-chip strong { color:#74c2ff; font-size:1.16rem; }
.rn-carplay-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.rn-carplay-shot { padding:11px; }
.rn-section-heading { max-width:690px; margin-bottom:39px; }
.rn-keeps { padding:82px 0; border-block:1px solid var(--rn-line); background:linear-gradient(180deg,#0c121b,#0a0e15); }
.rn-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.rn-card { min-height:208px; padding:24px; border:1px solid var(--rn-line); border-radius:21px; background:rgba(255,255,255,.025); }
.rn-card>span { display:block; margin-bottom:22px; color:#74c2ff; font-size:.74rem; font-weight:750; letter-spacing:.08em; }
.rn-card h3 { margin:0 0 9px; font-size:1.13rem; line-height:1.3; }
.rn-card p { margin:0; color:var(--rn-muted); font-size:.93rem; line-height:1.55; }
.rn-pricing { padding-top:93px; }
.rn-plans { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.rn-plan { padding:27px; border:1px solid var(--rn-line); border-radius:23px; background:#101722; }
.rn-plan-pro { border-color:rgba(41,156,255,.42); background:linear-gradient(135deg,rgba(41,156,255,.12),#101722 55%); }
.rn-plan-label { color:#74c2ff; font-size:.73rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.rn-plan h3 { margin:11px 0; font-size:1.5rem; letter-spacing:-.03em; }
.rn-plan p { margin:0; color:var(--rn-muted); line-height:1.58; }
.rn-fineprint { margin-top:16px; color:var(--rn-dim); font-size:.84rem; }
.rn-last-call { padding:92px 0; text-align:center; background:radial-gradient(ellipse at 50% 100%,rgba(26,110,189,.2),transparent 53%); }
.rn-last-call h2 { max-width:720px; margin-inline:auto; }
.rn-last-call p { max-width:620px; margin:0 auto 24px; }
body.roadnote footer { color:#768397; }
body.roadnote footer .legal a { color:#768397; }
@media (max-width:820px) {
  .rn-hero { padding:64px 0 68px; }
  .rn-hero-grid,.rn-feature-grid,.rn-carplay-grid { grid-template-columns:1fr; gap:43px; }
  .rn-hero-copy { text-align:center; }
  .rn-lede { margin-inline:auto; }
  .rn-actions { justify-content:center; }
  .rn-hero-art { min-height:460px; }
  .rn-phone { width:min(255px,59%); }
  .rn-float-top { right:2%; }
  .rn-float-bottom { left:1%; }
  .rn-section { padding:76px 0; }
  .rn-section-heading { margin-bottom:31px; }
  .rn-feature-reverse .rn-copy,.rn-feature-reverse .rn-shot { order:initial; }
  .rn-phone-shot,.rn-voice-shot { max-width:470px; }
  .rn-cards { grid-template-columns:1fr; }
  .rn-card { min-height:0; }
}
@media (max-width:560px) {
  .rn-wrap { width:min(100% - 32px,1160px); }
  .rn-hero { padding:52px 0 56px; }
  .rn-hero h1 { font-size:clamp(2.8rem,14.5vw,4.25rem); }
  .rn-hero-art { min-height:390px; }
  .rn-phone { width:min(225px,62%); }
  .rn-float { padding:10px 12px; font-size:.75rem; }
  .rn-float-top { top:7%; }
  .rn-float-bottom { bottom:6%; }
  .rn-plans { grid-template-columns:1fr; }
  .rn-last-call { padding:72px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .rn-button { transition-duration:.01ms; }
}
