/* Routebook for business: content first, deliberate scale, restrained motion. */
:root { --bg:#f5f5f7; --bg-soft:#eeeef0; --surface:var(--rc-card-bg); --text:var(--rc-fg); --text-strong:var(--rc-fg); --muted:#6e6e73; --border:var(--rc-border); --accent:var(--rc-fg); --accent-soft:var(--rc-section-bg); }
html[data-theme="dark"] { --bg:#000; --bg-soft:#1c1c1e; --muted:#a1a1a6; }
*,*::before,*::after { box-sizing:border-box; }
html { background:var(--bg); scroll-behavior:smooth; scroll-padding-top:86px; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { max-width:100%; display:block; }
a,button { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
[hidden] { display:none!important; }
.page-width { width:min(1120px,calc(100% - 80px)); margin-inline:auto; }
.section-space { padding-block:120px; }
.skip-link { position:fixed; z-index:100; top:10px; left:16px; padding:12px 20px; background:var(--surface); border-radius:12px; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.employer-nav,html[data-theme="dark"] .employer-nav { background:rgba(29,29,31,.94); padding-inline:max(32px,calc((100% - 1120px)/2)); }
.employer-nav .nav-brand { max-width:150px; }
.employer-nav .brand-wordmark { height:40px; width:auto; }
.employer-nav-links { display:flex; align-items:center; gap:28px; }
.riders-link { color:#d2d2d7; font-size:12px; padding-block:12px; }
.riders-link:hover { color:white; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:52px; padding:16px 26px; background:var(--rc-fg); border:0; color:var(--rc-card-bg); border-radius:980px; font-size:14px; font-weight:500; line-height:1.4; transition:background-color .2s,transform .2s; }
.button:hover { background:var(--rc-fg); transform:translateY(-2px); }
.button-small { min-height:34px; padding:8px 16px; font-size:11px; gap:12px; }
.text-link { display:inline-flex; align-items:center; gap:12px; color:var(--accent); font-size:14px; line-height:1.5; padding-block:8px; }
.text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.eyebrow { margin:0 0 24px; color:var(--muted); font-size:12px; line-height:1.5; font-weight:600; letter-spacing:.035em; }
h1,h2,h3,h4,p { overflow-wrap:break-word; }
h2 { color:var(--text-strong); font-size:clamp(36px,4.3vw,60px); letter-spacing:-.055em; line-height:1.08; font-weight:650; margin:0; }
h2 > span { color:var(--muted); }
/* Keep the human scene and the decision visible together. */
.hero { padding-block:72px 0; background:var(--bg); }
html[data-theme="dark"] .hero { background:var(--bg); }
.hero-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center; }
.hero-copy { text-align:left; }
.hero .eyebrow { display:flex; align-items:center; gap:9px; font-size:13px; color:var(--text); margin-bottom:24px; letter-spacing:0; }
.brand-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.hero h1 { font-size:clamp(56px,6.3vw,86px); line-height:1.02; letter-spacing:-.06em; font-weight:650; margin:0; }
.hero h1 span { color:var(--accent); }
.hero-description { max-width:410px; margin:26px 0; color:var(--muted); font-size:17px; line-height:1.7; letter-spacing:-.015em; }
.hero-actions { display:flex; align-items:center; justify-content:flex-start; gap:22px; flex-wrap:wrap; }
.hero-actions .text-link { font-size:13px; }
.hero-note { color:var(--muted); font-size:12px; margin:18px 0 0; line-height:1.6; }
.hero-scene { margin:0; min-width:0; border-radius:28px; overflow:hidden; background:var(--rc-card-bg); border:1px solid var(--border); box-shadow:none; }
.hero-scene img { width:100%; height:410px; object-fit:cover; object-position:58% center; }
.hero-scene figcaption { display:flex; align-items:center; justify-content:center; gap:9px; padding:20px; font-size:12px; font-weight:500; color:var(--rc-fg); background:var(--rc-card-bg); border-top:1px solid var(--rc-border); }
.arrival-dot { width:7px; height:7px; border-radius:50%; background:var(--rc-fg); }
.hero-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; padding-block:42px; margin-top:42px; border-bottom:1px solid var(--border); }
.hero-benefits p { margin:0; }.hero-benefits strong { display:block; font-size:16px; letter-spacing:-.025em; font-weight:600; }.hero-benefits p > span { display:block; color:var(--muted); font-size:12px; line-height:1.7; margin-top:7px; }
.section-heading { margin-bottom:46px; }
.section-heading > p:last-child { font-size:18px; line-height:1.6; color:var(--muted); margin:24px 0 0; letter-spacing:-.02em; }
.dashboard-section { padding-top:0; }
.dashboard-heading { display:grid; grid-template-columns:1.4fr 1fr; gap:70px; align-items:end; margin-bottom:48px; }
.dashboard-heading > p { color:var(--muted); font-size:16px; line-height:1.75; margin:0; }
.dashboard-preview { margin:0; background:var(--surface); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:none; }
.dashboard-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 32px; border-bottom:1px solid var(--border); }
.dashboard-brand { display:flex; align-items:center; gap:12px; }
.dashboard-brand-mark { display:block; flex-shrink:0; }
.dashboard-brand-mark img { width:44px; height:44px; object-fit:contain; }
.dashboard-logo-dark { display:none; }
html[data-theme="dark"] .dashboard-logo-light { display:none; }
html[data-theme="dark"] .dashboard-logo-dark { display:block; }
.dashboard-brand-name { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.dashboard-wordmark { width:112px; height:auto; filter:brightness(0); }
html[data-theme="dark"] .dashboard-wordmark { filter:none; }
.dashboard-brand-name > span { color:var(--muted); font-size:10px; margin-left:4px; }
.preview-label { font-size:10px; color:var(--muted); padding:7px 10px; border-radius:30px; background:var(--bg-soft); }
.dashboard-body { padding:32px; background:var(--bg-soft); }
.dashboard-context { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:26px; }
.dashboard-context p { font-size:9px; letter-spacing:.1em; color:var(--muted); margin:0 0 8px; }.dashboard-context h3 { font-size:24px; font-weight:600; letter-spacing:-.035em; margin:0; }
.date-label { padding:9px 14px; border:1px solid var(--border); background:var(--surface); border-radius:8px; font-size:11px; color:var(--muted); }
.dashboard-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.dashboard-stats > div { padding:24px; background:var(--surface); border-radius:12px; }
.dashboard-stats span { display:block; font-size:11px; color:var(--muted); line-height:1.6; }.dashboard-stats strong { display:block; font-size:40px; letter-spacing:-.045em; font-weight:600; margin-top:12px; }
.dashboard-detail { display:grid; grid-template-columns:1.5fr 1fr; gap:20px; margin-top:20px; }.dashboard-detail h4 { margin:0; font-size:13px; font-weight:500; }
.sample-chart { padding:26px; border-radius:12px; background:var(--surface); }.chart-bars { display:flex; gap:24px; height:160px; margin-top:24px; align-items:end; }.chart-bars > div { flex:1; height:100%; display:flex; flex-direction:column; justify-content:end; align-items:center; gap:12px; }.chart-bars i { height:calc(var(--bar) * .8); width:100%; max-width:68px; border-radius:5px 5px 0 0; background:var(--accent); opacity:.85; }.chart-bars span { font-size:9px; color:var(--muted); white-space:nowrap; }
.review-note { display:flex; flex-direction:column; justify-content:center; padding:28px; border-radius:12px; background:var(--accent-soft); }.review-icon { color:var(--accent); font-size:26px; margin-bottom:18px; }.review-note p { font-size:12px; color:var(--muted); line-height:1.8; margin:12px 0 20px; }.review-caption { font-size:10px; color:var(--muted); line-height:1.7; }
.dashboard-preview figcaption { font-size:10px; line-height:1.7; color:var(--muted); padding:18px 32px; }
.offer-section { background:var(--bg-soft); }
.pricing-heading { text-align:center; margin-bottom:40px; }.pricing-heading > p:last-child { color:var(--muted); font-size:16px; line-height:1.7; margin:22px 0 0; }
.pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:980px; margin-inline:auto; align-items:stretch; }
.offer-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); padding:36px; border-radius:24px; }
.offer-badge { align-self:flex-start; color:var(--muted); font-size:11px; font-weight:500; margin-bottom:24px; }
.offer-card h3 { font-size:28px; letter-spacing:-.04em; font-weight:600; line-height:1.2; margin:0 0 26px; }
.offer-price { display:flex; align-items:center; gap:20px; font-size:76px; line-height:1; font-weight:600; letter-spacing:-.075em; margin:0; min-height:95px; }
.offer-price > span { font-size:13px; line-height:1.6; letter-spacing:-.015em; font-weight:500; }
.offer-description { font-size:14px; line-height:1.7; color:var(--muted); margin:22px 0 24px; min-height:72px; }
.plan-benefits { display:grid; gap:16px; list-style:none; border-top:1px solid var(--border); padding:24px 0 0; margin:0 0 30px; }
.plan-benefits li { font-size:13px; line-height:1.65; display:flex; gap:12px; }
.offer-button,.ongoing-button { width:100%; justify-content:space-between; margin-top:auto; }
.offer-fine-print,.ongoing-fine-print { font-size:11px; line-height:1.75; color:var(--muted); margin:18px 0 0; }
.ongoing-card { background:var(--rc-card-bg); color:var(--rc-fg); border-color:var(--rc-border); box-shadow:none; }
.ongoing-card .offer-badge { color:var(--muted); }.ongoing-card .offer-description { color:var(--muted); }.ongoing-card .plan-benefits { border-color:rgba(255,255,255,.25); }
.price-from { font-size:12px; color:var(--muted); margin:0 0 7px; }
.ongoing-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; margin:0; min-height:70px; line-height:1; }.price-currency { font-size:21px; }.ongoing-price strong { font-size:60px; font-weight:600; letter-spacing:-.065em; }.price-period { font-size:16px; color:var(--muted); margin-left:4px; }
.ongoing-button { background:var(--rc-fg); color:var(--rc-card-bg); }.ongoing-button:hover { background:var(--rc-fg); }.ongoing-fine-print { color:var(--muted); }
.pricing-note { text-align:center; max-width:650px; margin:28px auto 0; color:var(--muted); font-size:12px; line-height:1.8; }
.challenge-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }.challenge-tab { border:1px solid var(--border); background:transparent; color:var(--muted); border-radius:980px; min-height:46px; padding:12px 19px; font-size:13px; transition:background-color .2s,color .2s; }.challenge-tab:hover { color:var(--text); }.challenge-tab[aria-selected="true"] { background:var(--text); color:var(--bg); border-color:transparent; }
.challenge-content { background:var(--bg-soft); border-radius:24px; padding:50px; }.challenge-panel { max-width:720px; min-height:280px; }.panel-label { color:var(--accent); font-size:13px; margin:0 0 20px; }.challenge-panel h3 { font-size:42px; line-height:1.1; font-weight:600; letter-spacing:-.045em; margin:0 0 22px; }.challenge-panel > p:not(.panel-label) { color:var(--muted); font-size:15px; line-height:1.75; margin:0; max-width:640px; }.challenge-panel > p.panel-start { font-size:12px; margin-top:20px; color:var(--text); }.challenge-content > .text-link { margin-top:22px; }
.contact-section { text-align:center; padding-block:120px; }.contact-copy .eyebrow { color:var(--accent); }.contact-copy h2 { font-size:clamp(38px,5vw,70px); }.contact-copy > p:last-child { max-width:590px; font-size:17px; line-height:1.7; color:var(--muted); margin:26px auto 32px; }.contact-action p { font-size:11px; color:var(--muted); line-height:1.7; margin:18px 0 6px; }.email-address { display:inline-block; font-size:12px; color:var(--muted); padding:8px; text-decoration:underline; text-underline-offset:4px; }
.employer-footer { background:var(--bg-soft); padding-block:32px; }.footer-content { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:22px 40px; }.footer-brand { display:inline-flex; align-items:center; gap:12px; color:var(--muted); font-size:12px; justify-self:start; }.footer-brand img { width:36px; height:36px; object-fit:contain; }html[data-theme="dark"] .footer-brand img { filter:invert(1); }.footer-links { display:flex; flex-wrap:wrap; gap:22px; color:var(--muted); font-size:11px; }.footer-links a { padding-block:12px; }.theme-switch { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--border); border-radius:30px; }.theme-switch button { background:transparent; border:0; color:var(--muted); padding:7px 11px; min-height:32px; font-size:11px; border-radius:30px; }.theme-switch button[aria-pressed="true"] { background:var(--surface); color:var(--text); }.copyright { grid-column:1/-1; font-size:10px; color:var(--muted); line-height:1.6; margin:0; }
.route-arrived .art-route { animation:route-arrival 1.6s cubic-bezier(.2,.7,.2,1) both; }
@keyframes route-arrival { from { stroke-dashoffset:650; } to { stroke-dashoffset:0; } }

.section-space { padding-block:88px; }
h2 { font-size:clamp(34px,3.8vw,52px); }
.challenges .section-heading { max-width:820px; }
.challenges .section-heading > p:last-child { font-size:16px; }
.challenge-content { background:var(--rc-card-bg); border:1px solid var(--rc-border); }
html[data-theme="dark"] .challenge-content { background:var(--rc-card-bg); }
.challenge-panel { min-height:240px; }
.dashboard-section { padding-top:88px; }
.dashboard-heading { grid-template-columns:1.3fr 1fr; gap:60px; }
.contact-section { padding-block:88px; }
@media(max-width:960px) {
 .page-width { width:calc(100% - 56px); }.hero { padding-top:54px; }.hero-layout { gap:28px; }.hero h1 { font-size:62px; }.hero-scene img { height:380px; }.hero-description { font-size:15px; }.hero-actions { gap:12px; }.hero-benefits { gap:22px; }
 .offer-card { padding:28px; }.ongoing-price strong { font-size:50px; }.price-currency { font-size:18px; }.price-period { font-size:14px; }.offer-price { font-size:68px; gap:14px; }.offer-price > span { font-size:12px; }
 .dashboard-heading { gap:36px; }.footer-content { grid-template-columns:1fr auto; }.theme-switch { justify-self:start; }.copyright { grid-column:auto; text-align:right; }
}
@media(max-width:680px) {
 html { scroll-padding-top:78px; }.page-width { width:calc(100% - 40px); }.section-space { padding-block:64px; }.employer-nav,html[data-theme="dark"] .employer-nav { padding-inline:20px; }.employer-nav .nav-brand { max-width:104px; }.employer-nav .brand-wordmark { height:34px; }.employer-nav-links { gap:14px; }.riders-link { font-size:11px; }.button-small { font-size:10px; padding-inline:12px; gap:8px; }
 .hero { padding-top:42px; }.hero-layout { grid-template-columns:1fr; gap:30px; }.hero h1 { font-size:62px; }.hero h1 span { white-space:nowrap; }.hero .eyebrow { margin-bottom:20px; }.hero-description { max-width:none; font-size:16px; margin:22px 0; }.hero-actions { gap:20px; }.hero-actions .button { font-size:13px; padding-inline:21px; }.hero-note { font-size:11px; }.hero-scene { border-radius:20px; }.hero-scene img { height:240px; }.hero-scene figcaption { padding:16px; font-size:11px; }
 .hero-benefits { margin-top:28px; grid-template-columns:1fr; gap:20px; padding-block:26px; }.hero-benefits strong { font-size:15px; }.hero-benefits p > span { margin-top:3px; }
 .section-heading { margin-bottom:28px; }.section-heading > p:last-child { font-size:15px; }.challenge-tabs { gap:8px; margin-bottom:24px; }.challenge-tab { font-size:11px; padding:11px 14px; min-height:42px; }.challenge-content { padding:28px; border-radius:20px; }.challenge-panel { min-height:350px; }.challenge-panel h3 { font-size:30px; }.challenge-panel > p:not(.panel-label) { font-size:14px; }
 .pricing-heading { text-align:left; margin-bottom:30px; }.pricing-heading > p:last-child { font-size:15px; }.pricing-grid { grid-template-columns:1fr; gap:18px; }.offer-card { padding:28px; border-radius:20px; }.offer-description { min-height:0; }.ongoing-price { flex-wrap:nowrap; }.ongoing-price strong { font-size:58px; }.price-period { font-size:16px; }.offer-price { font-size:76px; }.pricing-note { text-align:left; }
 .dashboard-heading,.dashboard-detail { grid-template-columns:1fr; gap:28px; }.dashboard-heading { margin-bottom:30px; }.dashboard-heading > p { font-size:15px; }.dashboard-top { padding:20px; flex-wrap:wrap; gap:12px; }.dashboard-body { padding:18px; }.dashboard-stats { gap:8px; }.dashboard-stats > div { padding:14px 10px; }.dashboard-stats span { font-size:10px; min-height:32px; }.dashboard-stats strong { font-size:27px; }.dashboard-context h3 { font-size:21px; }.date-label { font-size:10px; padding-inline:10px; }.sample-chart { padding:20px; }.chart-bars { gap:18px; }.dashboard-preview figcaption { padding:16px 20px; }
 .contact-copy > p:last-child { font-size:15px; }.footer-content { grid-template-columns:1fr; gap:18px; }.copyright { text-align:left; }
}
@media(max-width:360px) { .employer-nav,html[data-theme="dark"] .employer-nav { padding-inline:14px; }.employer-nav .nav-brand { max-width:90px; }.employer-nav-links { gap:10px; }.riders-link { font-size:10px; }.hero h1 { font-size:56px; }.hero-actions { gap:12px; }.hero-actions .button { padding-inline:16px; font-size:12px; }.hero-actions .text-link { font-size:12px; }.offer-card { padding:24px; }.ongoing-price strong { font-size:50px; }.price-period { font-size:14px; }.price-currency { font-size:16px; }.challenge-content { padding:24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important; transition:none!important; } }

/* Solid vectors stay crisp at zoom levels and inherit each surface's color. */
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.rb-icon { display:inline-block; width:20px; height:20px; flex:0 0 auto; fill:currentColor; vertical-align:middle; pointer-events:none; }
.benefit-icon { display:block; width:28px; height:28px; margin-bottom:14px; color:var(--accent); }
.challenge-tab { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:0; background:var(--bg-soft); min-height:46px; }
.challenge-tab .rb-icon { width:19px; height:19px; }
.plan-benefits .rb-icon { color:var(--accent); width:17px; height:17px; margin-top:2px; }
.ongoing-card .plan-benefits .rb-icon { color:var(--rc-fg); }
.metric-icon { color:var(--accent); margin-bottom:12px; }
.review-icon { width:27px; height:27px; }
.sample-chart h4 { display:flex; align-items:center; gap:9px; }
.sample-chart h4 .rb-icon { width:18px; height:18px; color:var(--accent); }
.theme-switch { border:0; padding:0; gap:4px; }
.theme-switch button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:44px; min-height:44px; font-size:12px; padding:10px 12px; }
.theme-switch .rb-icon { width:17px; height:17px; }
.employer-nav .button-small { flex:0 0 auto; min-width:104px; height:44px; min-height:44px; padding:0 18px; font-size:13px; font-weight:600; line-height:20px; white-space:nowrap; }
.employer-nav .nav-brand,.riders-link,.text-link,.email-address,.footer-links a { min-height:44px; }
.riders-link { display:inline-flex; align-items:center; }
.footer-links a { display:inline-flex; align-items:center; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.ongoing-card :focus-visible { outline-color:var(--rc-fg); }
.employer-nav :focus-visible { outline-color:#fff; outline-offset:2px; }
.hero-note,.hero-benefits p > span,.offer-badge,.offer-fine-print,.ongoing-fine-print,.pricing-note,.dashboard-preview figcaption,.contact-action p { font-size:12px; }
.ongoing-fine-print { color:var(--muted); }
.dashboard-stats span { font-size:13px; }
.preview-label,.dashboard-brand-name > span,.review-caption,.chart-bars span,.copyright { font-size:12px; }
.chart-bars { height:176px; }
@media(max-width:680px) {
 .challenge-tab { min-height:44px; font-size:12px; padding:11px 14px; gap:8px; }
 .hero-benefits p { display:grid; grid-template-columns:28px 1fr; column-gap:16px; }
 .hero-benefits .benefit-icon { grid-row:1/3; margin:3px 0 0; }
 .hero-benefits strong,.hero-benefits p > span { grid-column:2; }
 .hero-note { font-size:12px; }.hero-scene figcaption { font-size:12px; }
 .dashboard-stats { grid-template-columns:1fr; gap:10px; }
 .dashboard-stats > div { display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:12px; padding:16px; }
 .dashboard-stats .metric-icon { margin:0; width:22px; height:22px; }
 .dashboard-stats span { min-height:0; font-size:13px; }.dashboard-stats strong { font-size:28px; margin:0; }
 .theme-switch { flex-wrap:wrap; }
}

.ongoing-card .offer-badge,.ongoing-card .offer-description,.price-from,.price-period { color:var(--muted); }
.dashboard-context p,.date-label { font-size:12px; }

/* Business surfaces use the same shell and section tokens as RouteCard. */
.hero-scene,.challenge-content,.offer-card,.dashboard-preview,.dashboard-stats > div,.sample-chart,.review-note {
 background:var(--rc-card-bg); color:var(--rc-fg); border:1px solid var(--rc-border); border-radius:24px; box-shadow:var(--rc-shadow);
}
.hero-scene { overflow:hidden; }.hero-scene img { background:var(--rc-card-bg); }
.challenge-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; padding:32px; align-items:center; }
.challenge-panel { min-height:280px; }.challenge-panel h3 { font-size:34px; }
.challenge-copy { min-width:0; }.challenge-copy > .text-link { margin-top:22px; }
.commute-preview { min-width:0; }.commute-preview h3 { font-size:14px; font-weight:600; margin:0 0 16px; letter-spacing:-.015em; }
.business-route-example { cursor:default; }.business-route-example:active { transform:none; }
.business-route-example .rc-av { background:var(--rc-section-bg); color:var(--rc-fg); }
.business-route-example .rc-city { white-space:normal; overflow-wrap:anywhere; }
.business-route-example .rc-label { font-size:10px; }
.business-route-example .rc-arrow .rb-icon { width:18px; height:18px; }
.example-trip-meta { padding:12px 14px; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--rc-fg); }
.example-trip-meta .rb-icon { width:18px; height:18px; }
.commute-preview-note { color:var(--muted); font-size:12px; line-height:1.7; margin:14px 0 0; }
.offer-card { --plan-inset:36px; padding:var(--plan-inset); overflow:hidden; }
.plan-rate { margin-inline:calc(-1 * var(--plan-inset)); padding:24px var(--plan-inset); background:var(--rc-section-bg); color:var(--rc-fg); border-block:1px solid var(--rc-border); }
.plan-rate .offer-description { margin:12px 0 0; min-height:0; color:var(--rc-fg); }
.price-from,.price-period { color:var(--rc-fg); }
.plan-benefits,.ongoing-card .plan-benefits { border:0; margin-top:0; padding-top:24px; }
.dashboard-body { background:var(--rc-section-bg); border-block:1px solid var(--rc-border); }
.review-note { background:var(--rc-card-bg); }
.dashboard-preview figcaption { background:var(--rc-card-bg); }
.theme-switch button[aria-pressed="true"],.date-label,.preview-label { background:var(--rc-section-bg); color:var(--rc-fg); border:0; }
.offer-fine-print,.ongoing-fine-print { color:var(--muted); }
.hero h1 span,.benefit-icon,.metric-icon,.panel-label,.review-icon,.sample-chart h4 .rb-icon { color:var(--rc-fg); }
@media(max-width:960px) {
 .challenge-content { padding:28px; gap:28px; }.challenge-panel h3 { font-size:30px; }.offer-card { --plan-inset:28px; }
}
@media(max-width:680px) {
 .challenge-content { grid-template-columns:1fr; padding:24px; gap:30px; }.challenge-panel { min-height:350px; }
 .commute-preview { border-top:1px solid var(--rc-border); padding-top:24px; }.offer-card { --plan-inset:28px; }
 .business-route-example .rc-who { display:flex; }.business-route-example .rc-right { margin-left:auto; }
}
@media(max-width:360px) { .offer-card { --plan-inset:24px; }.challenge-content { padding:20px; } }

.plan-benefits li > div { min-width:0; }
.plan-benefits strong { display:block; font-size:14px; line-height:1.5; font-weight:600; }
.plan-benefits li > div > span { display:block; font-size:12px; line-height:1.7; color:var(--muted); margin-top:3px; }
.plan-benefits .rb-icon { width:20px; height:20px; margin-top:1px; }
.availability-note { color:var(--muted); font-size:12px; line-height:1.7; margin:18px 0 0; }
.challenge-panel { min-height:220px; }
@media(max-width:680px) { .challenge-panel { min-height:240px; } }

/* Editorial hierarchy; product card measurements remain shared. */
.hero h1 { font-weight:600; letter-spacing:-.055em; }
.hero .eyebrow { font-size:12px; letter-spacing:.035em; }
.section-heading .eyebrow,.pricing-heading .eyebrow,.dashboard-heading .eyebrow { font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.offer-card h3 { font-size:26px; font-weight:600; letter-spacing:-.035em; }
.plan-benefits { gap:20px; }
.plan-benefits li > div > span { max-width:310px; }

/* The employee preview uses the same expanded-card components as ride details. */
.ride-demo { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:80px; }
.ride-demo-copy { min-width:0; }.ride-demo-copy > p:not(.eyebrow) { font-size:16px; line-height:1.75; color:var(--muted); margin:24px 0 34px; max-width:400px; }
.ride-demo-copy .commute-preview { padding:0; border:0; }
.ride-detail-preview { margin:0; min-width:0; }
.ride-detail-preview > figcaption { display:flex; justify-content:space-between; gap:12px; font-size:13px; font-weight:600; margin-bottom:16px; }
.ride-detail-preview > figcaption > span { font-weight:400; color:var(--muted); }
.business-detail-example { max-height:none; max-width:none; box-shadow:none; animation:none; }
.business-detail-example .rcd-scroll { overflow:visible; }
.business-detail-example .rcd-person { padding-right:0; }
.business-detail-example .rcd-avatar { color:var(--rcd-t1); background:var(--rcd-fill); box-shadow:none; }
.example-driver-rating { font-size:12px; font-weight:600; margin-top:8px; color:var(--rcd-t1); }.example-driver-rating > span { font-weight:400; color:var(--rcd-t2); }
.example-schedule { padding-block:18px; border-block:1px solid var(--rcd-brd2); }
.business-detail-example .rcd-schedule-label,.business-detail-example .rcd-j-label,.business-detail-example .rcd-vehicle-label,.business-detail-example .rcd-tags-label { font-size:11px; color:var(--rcd-t2); }
.example-journey { margin-top:6px; }
.example-time-note { font-size:11px; font-weight:400; color:var(--rcd-t2); margin-left:4px; }
.example-vehicle-section { border-top:1px solid var(--rcd-brd2); margin-top:22px; padding-top:18px; }
.example-vehicle-section .rcd-vehicle-label { margin-bottom:0; }.example-vehicle-row { display:flex; align-items:center; gap:18px; }
.example-vehicle-row .rcd-vehicle-img { width:140px; height:94px; flex:0 0 auto; }
.example-vehicle-row .rcd-vehicle-mm { line-height:1.7; font-size:12px; }
.example-preferences { padding-block:12px 14px; }.example-preferences > .rcd-tags-label { display:block; }
.example-detail-footer { border-top:1px solid var(--rcd-brd2); display:flex; align-items:flex-start; gap:12px; padding:18px 20px; }
.example-detail-footer .rb-icon { margin-top:2px; }.example-detail-footer strong { display:block; font-size:15px; font-weight:600; }.example-detail-footer div > span { display:block; font-size:12px; color:var(--rcd-t2); line-height:1.7; margin-top:5px; }
.detail-preview-note { color:var(--muted); font-size:12px; line-height:1.7; margin:14px 0 0; }
.challenges .challenge-content { display:block; }.challenges .challenge-copy { max-width:720px; }
@media(max-width:960px) { .ride-demo { gap:36px; } }
@media(max-width:680px) { .ride-demo { grid-template-columns:1fr; gap:36px; }.ride-demo-copy > p:not(.eyebrow) { max-width:none; }.business-detail-example .rcd-scroll { padding-inline:16px; }.business-detail-example .rcd-person { flex-wrap:wrap; gap:12px; }.business-detail-example .rcd-rating-box { margin-left:auto; }.example-vehicle-row { gap:12px; }.example-vehicle-row .rcd-vehicle-img { width:110px; height:74px; }.business-detail-example .rcd-schedule-value { font-size:13px; } }

/* Same three-stop journey and section order as the product's ride card. */
.business-detail-example { background:var(--rc-card-bg); color:var(--rc-fg); border-color:var(--rc-border); }
.business-detail-example .example-driver-header { display:flex; align-items:center; gap:12px; margin:0; padding:14px; border-bottom:1px solid var(--rc-border); }
.business-detail-example .rcd-avatar { width:44px; height:44px; border-radius:50%; border:1px solid var(--rc-avatar-border); }
.business-detail-example .rcd-person-name { font-size:16px; margin-bottom:6px; }
.business-detail-example .rcd-price-badge { align-self:flex-start; padding:6px 10px; background:var(--rc-price-bg); color:var(--rc-fg); white-space:nowrap; font-size:13px; }
.example-driver-rating { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:0; font-size:11px; }
.example-stars { display:inline-flex; align-items:center; gap:1px; }.example-stars .rb-icon { width:11px; height:11px; }
.business-detail-example .example-journey { background:var(--rc-section-bg); margin:0; padding:8px 16px 18px; }
.business-detail-example .rcd-j-left { padding-top:21px; }.business-detail-example .rcd-j-content { padding-block:18px 24px; }
.business-detail-example .rcd-j-content-last { padding-bottom:4px; }.business-detail-example .rcd-j-city { font-size:20px; line-height:1.3; overflow-wrap:anywhere; }
.business-detail-example .example-origin { font-size:15px; }.business-detail-example .rcd-j-time { font-size:13px; margin-top:8px; }
.business-detail-example .rcd-j-label { font-size:10px; color:var(--rc-fg); font-weight:600; }
.business-detail-example .example-schedule { background:var(--rc-card-bg); padding:14px; border-block:1px solid var(--rc-border); }
.business-detail-example .rcd-schedule-label { color:var(--rc-fg); font-size:10px; }.business-detail-example .rcd-schedule-value { font-size:13px; }
.business-detail-example .example-vehicle-section { background:var(--rc-section-bg); margin:0; padding:14px 16px 16px; border:0; }
.example-vehicle-heading { display:flex; align-items:center; justify-content:space-between; color:var(--rcd-t2); font-size:11px; }.example-vehicle-heading .rcd-vehicle-label { font-size:10px; }
.business-detail-example .example-vehicle-section > .rcd-vehicle-img { width:210px; height:140px; aspect-ratio:1.5; margin:0 auto; }
.example-vehicle-caption { display:flex; flex-direction:column; align-items:center; gap:6px; font-size:12px; }.example-vehicle-caption strong { text-transform:uppercase; letter-spacing:.06em; font-size:13px; }.example-vehicle-caption small { font-size:10px; color:var(--rcd-t2); margin-top:3px; }
.business-detail-example .example-detail-footer { display:block; padding:14px 16px; text-align:center; font-size:11px; line-height:1.7; color:var(--rc-fg); background:var(--rc-card-bg); border-top:1px solid var(--rc-border); }
.sample-reviews { margin-top:32px; }.sample-reviews h3 { font-size:14px; margin:0 0 8px; font-weight:600; }.sample-reviews-disclosure { color:var(--muted); font-size:12px; line-height:1.7; margin:0 0 24px; }
.sample-reviews blockquote { margin:0; padding:20px 0; border-top:1px solid var(--rc-border); }.sample-reviews blockquote p { font-size:16px; letter-spacing:-.02em; line-height:1.6; margin:0 0 10px; }.sample-reviews blockquote footer { font-size:12px; color:var(--muted); }
@media(max-width:680px) { .business-detail-example .example-driver-header { flex-wrap:nowrap; gap:10px; }.business-detail-example .rcd-person-name { font-size:15px; }.business-detail-example .rcd-price-badge { font-size:12px; padding:6px 8px; }.example-driver-rating { gap:5px; font-size:11px; }.business-detail-example .rcd-j-city { font-size:19px; }.business-detail-example .example-origin { font-size:14px; } }

.example-vehicle-identity { display:flex; align-items:center; justify-content:space-around; gap:16px; min-height:130px; }
.business-detail-example .example-vehicle-identity .rcd-vehicle-img { width:45%; max-width:210px; height:120px; margin:0; }
.example-vehicle-make { max-width:45%; font-size:24px; font-weight:600; letter-spacing:-.03em; color:var(--rc-fg); }

/* VehicleSection.tsx: 156x104 car, 102x68 make logo, centered model. */
.example-vehicle-identity { justify-content:space-between; min-height:104px; gap:12px; }
.business-detail-example .example-vehicle-identity .rcd-vehicle-img { width:156px; max-width:48%; height:104px; }
.example-vehicle-identity img.example-vehicle-make { display:block; width:102px; max-width:40%; height:68px; object-fit:contain; }
html[data-theme="dark"] .example-vehicle-make { filter:brightness(0) invert(1); }
.example-vehicle-heading > span { font-size:9px; letter-spacing:1.5px; }
.example-vehicle-caption strong { font-size:12px; font-weight:700; letter-spacing:1.2px; }
.example-vehicle-caption small { font-size:10px; }
.example-ride-badges { display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex-shrink:0; }
.example-seat-count { font-size:11px; color:var(--rc-fg); }
.example-map-section { background:var(--rc-section-bg); border-top:1px solid var(--rc-border); padding:10px 14px; }
.example-map-link { display:block; border-radius:10px; overflow:hidden; min-height:160px; }
.example-route-map { position:relative; height:160px; width:100%; background:var(--rc-section-bg); }
.example-route-map .rb-snapshot-image,.example-route-map .rb-route-preview { position:absolute; inset:0; width:100%; height:100%; }
.example-route-map .rb-snapshot-image { z-index:0; object-fit:fill; }
.example-route-map .rb-route-preview { z-index:1; pointer-events:none; }
.example-map-status { display:flex; align-items:center; justify-content:center; height:100%; padding:18px; font-size:12px; line-height:1.6; text-align:center; color:var(--rc-fg); }

.dashboard-stats strong { font-variant-numeric:tabular-nums; }
.dashboard-stats strong .counter-visual { display:inline; font:inherit; color:inherit; line-height:inherit; min-height:0; }
.dashboard-stats strong .counter-final { position:absolute; width:1px; height:1px; padding:0; margin:-1px; min-height:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.chart-bars i { transform-origin:center bottom; }

.commute-benefits { margin-top:32px; }
.commute-benefits p { margin:0; padding:20px 0; border-top:1px solid var(--rc-border); font-size:18px; font-weight:500; letter-spacing:-.025em; line-height:1.6; }

.inquiry-form { position:relative; max-width:720px; margin:0 auto; padding:32px; text-align:left; background:var(--rc-card-bg); border:1px solid var(--rc-border); border-radius:24px; }
.inquiry-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.inquiry-form label { display:flex; flex-direction:column; gap:10px; font-size:12px; font-weight:600; line-height:1.5; margin-bottom:20px; }
.inquiry-form input,.inquiry-form textarea { display:block; width:100%; min-width:0; min-height:48px; border:1px solid var(--rc-border); border-radius:12px; padding:14px 16px; background:var(--bg); color:var(--rc-fg); font:inherit; font-size:16px; font-weight:400; line-height:1.5; }
.inquiry-form textarea { resize:vertical; min-height:132px; }
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder { color:var(--muted); opacity:1; }
.inquiry-form .button { width:100%; }
.inquiry-form .button:disabled { opacity:.55; cursor:default; transform:none; }
.inquiry-status { margin:20px 0 0; font-size:14px; line-height:1.6; }
.inquiry-privacy { margin:16px 0 0; font-size:11px; line-height:1.6; color:var(--muted); text-align:center; }
.inquiry-privacy a { text-decoration:underline; text-underline-offset:3px; }
.inquiry-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:600px) { .inquiry-form { padding:24px; }.inquiry-fields { grid-template-columns:1fr; gap:0; } }

/* Shared price row: currency, amount and period centered as one group. */
.plan-rate .price-from { margin:0 0 8px; font-size:12px; line-height:18px; font-weight:500; }
.plan-price { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; min-height:76px; margin:0; font-size:16px; line-height:1; letter-spacing:0; font-weight:400; }
.plan-price > strong { font-size:64px; line-height:1.1; font-weight:600; letter-spacing:-.065em; font-variant-numeric:tabular-nums; }
.plan-price > .price-currency { font-size:18px; line-height:1; font-weight:500; letter-spacing:0; }
.plan-price > .price-period { font-size:16px; line-height:1; font-weight:400; letter-spacing:0; margin-left:0; }
@media(max-width:360px) { .plan-price { min-height:64px; }.plan-price > strong { font-size:52px; }.plan-price > .price-currency { font-size:16px; }.plan-price > .price-period { font-size:14px; } }

.dashboard-figure { margin:0; min-width:0; }
.dashboard-disclosure { margin:0 0 16px; }
.dashboard-disclosure .preview-label { display:inline-block; }
.dashboard-note { margin:14px 0 0; font-size:12px; line-height:1.7; color:var(--muted); }

.dashboard-method { margin-top:16px; max-width:760px; font-size:12px; line-height:1.7; color:var(--muted); }
.dashboard-method summary { display:list-item; min-height:44px; padding:12px 0; cursor:pointer; color:var(--rc-fg); font-weight:500; }
.dashboard-method p { margin:0 0 12px; }
.dashboard-method a { text-decoration:underline; text-underline-offset:3px; }
.dashboard-stats > div { min-width:0; }
@media(max-width:680px) { .dashboard-stats > div { grid-template-columns:22px minmax(0,1fr) auto; gap:10px; }.dashboard-stats strong { font-size:26px; white-space:nowrap; } }

/* Remove supporting-copy gaps where the heading or metrics say it already. */
.dashboard-heading,.dashboard-detail { grid-template-columns:1fr; }
.contact-copy { margin-bottom:32px; }

.plan-benefits li { display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:12px; align-items:start; }
.plan-benefits .rb-icon { display:block; flex-shrink:0; margin-top:1px; }
