:root {
  --ink: #070806;
  --ink-2: #0e120e;
  --panel: #111711;
  --panel-2: #171710;
  --leather: #1c120c;
  --bronze: #a86b31;
  --bronze-bright: #d49b55;
  --gold: #ddbc69;
  --cream: #f1e7cf;
  --muted: #b5ad9e;
  --green: #72c63c;
  --green-deep: #244a2a;
  --line: #3b4338;
  --danger: #c8654e;
  --max: 1180px;
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: radial-gradient(circle at 25% 0%, #1e160e 0, #0b0d0a 35%, #060706 70%); color: var(--cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; }
img { display: block; max-width: 100%; }
code { font-family: "SFMono-Regular", Consolas, monospace; color: var(--gold); }

.site-header { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; gap: 24px; width: min(calc(100% - 32px), var(--max)); margin: 14px auto 0; padding: 12px 16px; border: 1px solid #4c4030; border-radius: 18px; background: rgba(7,8,6,.88); backdrop-filter: blur(15px); }
.brand { display: flex; gap: 10px; align-items: center; text-decoration: none; letter-spacing: .12em; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--bronze); border-radius: 50%; color: var(--gold); background: linear-gradient(145deg,#3d2717,#111); }
.brand b, .brand small { display: block; }
.brand b { font-size: .9rem; }
.brand small { font-size: .58rem; color: var(--gold); margin-top: -3px; }
.site-header nav { display: flex; gap: 10px; align-items: center; }
.site-header nav a { text-decoration: none; color: var(--muted); font-weight: 750; font-size: .9rem; padding: 10px 12px; border-radius: 12px; }
.site-header nav a:hover { color: white; background: #181b17; }
.site-header .nav-cta { color: #091007; background: var(--green); }
.site-header .nav-cta:hover { color: #091007; background: #82dc49; }

main { overflow: clip; }
.section, .hero, .page-intro { width: min(calc(100% - 36px), var(--max)); margin-inline: auto; }
.section { padding: 88px 0; }
.section-eyebrow, .badge { color: var(--gold); font-weight: 900; letter-spacing: .17em; font-size: .76rem; }

.hero { min-height: 700px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: center; padding: 70px 0 86px; }
.hero-copy h1, .page-intro h1 { font-size: clamp(3rem, 7vw, 6.4rem); line-height: .94; letter-spacing: -.055em; margin: 22px 0; max-width: 980px; }
.hero-copy h1 span, .page-intro h1 span { color: var(--gold); }
.hero-copy > p { max-width: 720px; color: #d0c8b9; font-size: clamp(1.05rem, 2vw, 1.28rem); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 30px 0 14px; }
.primary-button, .secondary-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border-radius: 13px; text-decoration: none; font-weight: 900; letter-spacing: .02em; border: 1px solid transparent; cursor: pointer; font-size: .95rem; }
.primary-button { color: #091007; background: var(--green); box-shadow: inset 0 0 0 1px #97ef5b; }
.primary-button:hover { background: #86db4e; }
.secondary-button { color: var(--cream); border-color: #585244; background: #131611; }
.secondary-button:hover { border-color: var(--gold); }
.micro { font-size: .82rem !important; color: #8f9488 !important; }

.hero-art { min-height: 540px; border-radius: 30px; overflow: hidden; border: 1px solid #4f3c28; background: linear-gradient(145deg,#24170f,#0a0b09); position: relative; }
.hero-art img { width: 100%; height: 100%; min-height: 540px; object-fit: cover; }
.roman-fallback { min-height: 540px; height: 100%; display: grid; place-content: center; text-align: center; background: radial-gradient(circle at 50% 35%, #6f4b22 0, #23170e 35%, #090a08 72%); padding: 30px; }
.roman-fallback .helmet { font-size: 8rem; color: var(--gold); text-shadow: 0 10px 40px black; transform: rotate(-8deg); }
.roman-fallback .laurel { font-family: Georgia, serif; letter-spacing: .25em; color: var(--gold); margin: 20px 0; }
.roman-fallback p { color: var(--muted); font-size: .85rem; }

.money-thread { width: min(calc(100% - 36px), var(--max)); margin: -34px auto 0; padding: 18px 22px; border: 1px solid #5c492f; border-radius: 16px; background: linear-gradient(90deg,#161008,#11160f); display: flex; gap: 18px; align-items: baseline; }
.money-kicker { color: var(--green); font-size: .7rem; font-weight: 900; letter-spacing: .16em; white-space: nowrap; }
.money-thread strong { font-size: .98rem; color: #e9dec6; }

.money-cards h2, .section h2 { font-size: clamp(2.1rem, 4.3vw, 4.5rem); line-height: 1.02; letter-spacing: -.04em; margin: 14px 0 34px; max-width: 950px; }
.card-grid { display: grid; gap: 18px; }
.card-grid.three { grid-template-columns: repeat(3, 1fr); }
.card-grid.two { grid-template-columns: repeat(2, 1fr); }
.info-card { border: 1px solid #424839; border-radius: 20px; background: linear-gradient(150deg,#161b14,#10120f); padding: 28px; }
.info-card .num { color: var(--bronze-bright); font-family: Georgia, serif; font-size: 1.1rem; }
.info-card h3 { font-size: 1.45rem; margin: 16px 0 9px; }
.info-card p { color: var(--muted); margin: 0; }

.split { display: grid; grid-template-columns: 1fr 1.08fr; gap: 60px; align-items: center; }
.split .lead, .lead { font-size: 1.25rem; color: #ddd4c5; }
.copy p { color: var(--muted); font-size: 1.04rem; }
.copy p strong { color: var(--cream); }
.text-link { display: inline-block; margin-top: 14px; color: var(--gold); font-weight: 800; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.screen-frame { border-radius: 20px; padding: 10px; background: #090a08; border: 1px solid #58432b; }
.screen-frame.bronze { box-shadow: inset 0 0 0 2px #23170e; }
.screen-frame img { border-radius: 11px; width: 100%; }
.screen-frame figcaption { padding: 12px 8px 3px; color: #8f9489; font-size: .82rem; }
.phone-shot { max-width: 420px; margin: auto; padding: 9px; border-radius: 28px; border: 1px solid #58432b; background: #070806; }
.phone-shot img { border-radius: 20px; width: 100%; }
.phone-shot.light { background: #ebe6d6; border-color: #d1b765; }

.horizon-callout { display: grid; grid-template-columns: 1.1fr .65fr; gap: 70px; align-items: center; border-top: 1px solid #262b24; border-bottom: 1px solid #262b24; }
.horizon-callout h2 span { color: var(--gold); }
.horizon-copy p { font-size: 1.06rem; color: var(--muted); max-width: 720px; }
.horizon-copy .punchline { font-size: 1.5rem; color: var(--cream); font-weight: 900; border-left: 3px solid var(--green); padding-left: 16px; }
.horizon-shot { max-width: 480px; margin: 0 auto; padding: 12px; border: 1px solid #76512d; border-radius: 24px; background: radial-gradient(circle at 50% 35%, #2b1b10 0, #090a08 68%); box-shadow: 0 24px 55px #0008, inset 0 0 0 1px #2a1b11; }
.horizon-shot img { width: 100%; max-height: 520px; object-fit: contain; border-radius: 15px; background: #050605; }
.horizon-shot figcaption { padding: 12px 8px 3px; color: #9ca092; font-size: .84rem; }

.beyond .narrow { max-width: 760px; color: var(--muted); }
.character-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 34px; }
.character-card { overflow: hidden; border: 1px solid #55432e; border-radius: 24px; background: #11130f; }
.character-card img { aspect-ratio: 16/10; width: 100%; object-fit: cover; object-position: center 30%; }
.character-card div { padding: 24px; }
.character-card small { color: var(--gold); letter-spacing: .17em; font-weight: 900; }
.character-card h3 { font-size: 2rem; margin: 8px 0; }
.character-card p { color: var(--muted); }

.beta-cta { border: 1px solid #4d6538; background: radial-gradient(circle at 85% 10%, #27471e 0, #131b11 26%, #0b0d0a 70%); padding: 42px; border-radius: 26px; display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-bottom: 90px; }
.beta-cta h2 { margin-bottom: 10px; }
.beta-cta p { color: var(--muted); }

.page-intro { padding: 110px 0 64px; }
.page-intro.compact { padding-bottom: 24px; }
.page-intro p { max-width: 850px; color: var(--muted); font-size: 1.2rem; }
.metro-hero { grid-template-columns: .95fr 1.15fr; min-height: 620px; }
.metro-hero .hero-screen { transform: perspective(1200px) rotateY(-4deg); }
.pitch-30 { padding-top: 50px; }
.pitch-30 h2 { max-width: 1050px; }
.steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.steps > div { padding: 22px 18px; border-top: 2px solid var(--bronze); background: #10130f; }
.steps span { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #2a1d12; color: var(--gold); font-weight: 900; }
.steps strong { display: block; margin: 16px 0 7px; }
.steps p { margin: 0; color: var(--muted); font-size: .92rem; }
.link-card { text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.link-card:hover { transform: translateY(-3px); border-color: var(--gold); }
.link-card small { color: var(--gold); font-weight: 900; letter-spacing: .14em; }
.link-card span { display: block; color: var(--green); font-weight: 900; margin-top: 16px; }

.explainer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 52px 70px; align-items: center; }
.explainer-grid article h2 { font-size: clamp(2rem,3.6vw,3.4rem); margin: 5px 0 18px; }
.explainer-grid article p { color: var(--muted); font-size: 1.08rem; }
.big-index { font-family: Georgia,serif; font-size: 1.3rem; color: var(--bronze-bright); }
.callout-line { border-left: 3px solid var(--green); padding-left: 14px; }
.next-deep { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.next-deep h2 { margin-bottom: 0; }

.engineering-intro h1 { color: var(--gold); }
.engineering-block { border-top: 1px solid #2f342c; }
.engineering-block p { max-width: 920px; color: var(--muted); font-size: 1.08rem; }
.engineering-columns { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.sensor-list { display: grid; gap: 10px; }
.sensor-list div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 17px 18px; border: 1px solid #3c4338; background: #111510; border-radius: 13px; }
.sensor-list b { color: var(--gold); }
.sensor-list span { color: var(--muted); }
.quote-card { margin-top: 30px; max-width: 900px; padding: 26px; border-left: 4px solid var(--green); background: #11160f; font-weight: 900; font-size: 1.3rem; }
.flow-chain { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.flow-chain span, .flow-chain strong { padding: 14px 16px; border-radius: 12px; border: 1px solid #394035; background: #10130f; }
.flow-chain i { color: var(--bronze-bright); font-style: normal; font-size: 1.4rem; }
.flow-chain strong { border-color: #4f7639; color: #a7e57a; }
.validation-demo { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 30px; }
.validation-demo div { padding: 24px; border: 1px solid #3d4439; border-radius: 15px; background: #111510; }
.validation-demo small, .validation-demo strong, .validation-demo span { display: block; }
.validation-demo small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.validation-demo strong { font-size: 1.3rem; margin: 9px 0 4px; }
.validation-demo span { color: var(--muted); }

.beta-form-wrap { display: grid; grid-template-columns: 1fr .75fr; gap: 60px; align-items: start; padding-top: 30px; }
.beta-form { padding: 28px; background: #11150f; border: 1px solid #424a3d; border-radius: 22px; display: grid; gap: 18px; }
.beta-form label { display: grid; gap: 7px; font-weight: 800; color: #ddd5c6; }
.beta-form input, .beta-form select { width: 100%; min-height: 48px; border: 1px solid #4b5246; border-radius: 11px; background: #090b09; color: white; padding: 10px 12px; font: inherit; }
.beta-form input:focus, .beta-form select:focus { outline: 2px solid var(--green); outline-offset: 2px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.optional { color: var(--muted); font-weight: 400; }
.field-hint { color: #8f9789; font-size: .78rem; line-height: 1.4; font-weight: 500; }
.beta-form .consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; color: var(--muted); }
.beta-form .consent input { width: 20px; min-height: 20px; margin-top: 3px; }
.form-status { color: var(--gold); margin: 0; min-height: 24px; }
.beta-aside h2 { font-size: 2.4rem; }
.beta-aside li, .beta-aside p { color: var(--muted); }
.beta-aside li { margin-bottom: 9px; }

.prose { max-width: 850px; }
.prose h2 { font-size: 2rem; margin-top: 36px; margin-bottom: 12px; }
.prose p { color: var(--muted); }

.site-footer { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; border-top: 1px solid #2c312a; padding: 40px 0 70px; display: grid; grid-template-columns: 1fr auto; gap: 25px; color: var(--muted); }
.site-footer strong { color: var(--cream); letter-spacing: .08em; }
.footer-links { display: flex; gap: 18px; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: var(--gold); }
.legal-note { grid-column: 1 / -1; font-size: .78rem; max-width: 900px; }

.debug-attribution { position: fixed; right: 10px; bottom: 10px; z-index: 99; width: min(420px, calc(100% - 20px)); max-height: 45vh; overflow: auto; margin: 0; padding: 14px; border: 1px solid var(--gold); border-radius: 10px; background: #050605e8; color: #dbe8d2; font-size: 11px; }

@media (max-width: 900px) {
  .site-header { top: 8px; }
  .site-header nav a:not(.nav-cta) { display: none; }
  .hero, .split, .horizon-callout, .metro-hero, .explainer-grid, .engineering-columns, .beta-form-wrap { grid-template-columns: 1fr; }
  .hero { min-height: 0; gap: 34px; padding-top: 55px; }
  .metro-hero .hero-screen { transform: none; }
  .hero-art { min-height: 420px; }
  .hero-art img, .roman-fallback { min-height: 420px; }
  .card-grid.three, .steps, .validation-demo { grid-template-columns: 1fr 1fr; }
  .character-grid { grid-template-columns: 1fr; }
  .phone-shot { max-width: 390px; }
  .money-thread { align-items: flex-start; flex-direction: column; gap: 4px; }
  .next-deep, .beta-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .site-header { width: calc(100% - 16px); margin-top: 8px; padding: 9px 10px; }
  .brand b { font-size: .78rem; }
  .site-header .nav-cta { padding-inline: 10px; }
  .section, .hero, .page-intro, .site-footer, .money-thread { width: calc(100% - 28px); }
  .section { padding: 62px 0; }
  .hero { padding-bottom: 66px; }
  .hero-copy h1, .page-intro h1 { font-size: clamp(2.6rem, 14vw, 4.2rem); }
  .card-grid.three, .card-grid.two, .steps, .validation-demo { grid-template-columns: 1fr; }
  .split { gap: 35px; }
  .horizon-callout { gap: 40px; }
  .money-thread { margin-top: -22px; }
  .money-cards h2, .section h2 { font-size: clamp(2rem, 10vw, 3.2rem); }
  .form-row { grid-template-columns: 1fr; }
  .sensor-list div { grid-template-columns: 1fr; gap: 3px; }
  .beta-cta { padding: 28px 22px; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-links { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* 0.2.0: news + iOS availability */
.inline-link { color: var(--gold); font-weight: 800; text-decoration: none; }
.inline-link:hover { text-decoration: underline; }
.cta-actions, .platform-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.section-heading-row { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 30px; }
.section-heading-row h2 { margin-bottom: 0; }

.latest-news { border-top: 1px solid #2f342c; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.news-card { min-width: 0; padding: 26px; border: 1px solid #424839; border-radius: 20px; background: linear-gradient(150deg,#171710,#10120f); }
.news-card h3 { font-size: 1.45rem; line-height: 1.15; margin: 16px 0 10px; }
.news-card p { color: var(--muted); margin: 0; }
.news-meta { display: flex; gap: 12px; justify-content: space-between; align-items: baseline; color: var(--muted); font-size: .76rem; }
.news-meta span { color: var(--gold); font-weight: 900; letter-spacing: .11em; }
.news-meta time { white-space: nowrap; }
.news-list { max-width: 920px; padding-top: 30px; }
.news-article { scroll-margin-top: 100px; padding: 48px 0 58px; border-top: 1px solid #30362e; }
.news-article:first-child { border-top: 0; padding-top: 12px; }
.news-article h2 { margin: 14px 0 18px; font-size: clamp(2.2rem, 5vw, 4.3rem); }
.news-article .lead { max-width: 820px; }
.news-article > p:not(.lead) { color: var(--muted); max-width: 820px; font-size: 1.08rem; }

.platform-band { padding: 44px; border: 1px solid #5c492f; border-radius: 26px; background: radial-gradient(circle at 95% 0%, #362715 0, #15160f 34%, #0b0d0a 75%); display: grid; grid-template-columns: 1fr auto; gap: 36px; align-items: center; margin-bottom: 90px; }
.platform-band h2 { margin: 10px 0 12px; font-size: clamp(2rem, 4vw, 3.7rem); }
.platform-band p { max-width: 720px; margin: 0; color: var(--muted); }

.ios-inline-callout { margin-top: 28px; max-width: 760px; display: flex; gap: 12px 18px; flex-wrap: wrap; padding: 16px 18px; border: 1px solid #5d513a; border-radius: 14px; background: #15150f; }
.ios-inline-callout strong { color: var(--gold); }
.ios-inline-callout span { color: var(--muted); }
.ios-inline-callout a { color: var(--cream); font-weight: 800; text-decoration: none; }
.ios-inline-callout a:hover { color: var(--gold); }
.platform-chip { min-height: 48px; border: 1px solid #4b5246; border-radius: 11px; background: #0d110d; padding: 10px 12px; display: grid; align-content: center; }
.platform-chip small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.platform-chip strong { color: var(--cream); }
.platform-chip span { color: var(--muted); font-size: .78rem; }
.ios-intro { padding-bottom: 30px; }
.ios-form { border-color: #665437; background: linear-gradient(160deg,#15160f,#10120f); }
.availability-badge { display: inline-flex; padding: 8px 12px; border: 1px solid #6a5836; border-radius: 999px; color: var(--gold); background: #1d180f; font-weight: 900; letter-spacing: .12em; font-size: .72rem; }
.ios-aside strong { color: var(--cream); }

@media (max-width: 900px) {
  .news-grid { grid-template-columns: 1fr 1fr; }
  .platform-band { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 560px) {
  .section-heading-row { align-items: flex-start; flex-direction: column; }
  .news-grid { grid-template-columns: 1fr; }
  .news-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .platform-band { padding: 28px 22px; }
  .platform-actions, .cta-actions { width: 100%; }
  .platform-actions .primary-button, .platform-actions .secondary-button, .cta-actions .primary-button, .cta-actions .secondary-button { width: 100%; }
}

/* 0.3.1: richer ride story + contextual help system */
.battery-better-section .punchline,
.ride-coach-section .callout-line { margin-top: 24px; }
.ride-coach-section { text-align: left; }
.ride-coach-section > h2 { max-width: 980px; }
.ride-coach-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 30px 0 22px; }
.ride-coach-grid > div { background: #11150f; border: 1px solid #3d4638; border-radius: 16px; padding: 20px; display: grid; gap: 6px; }
.ride-coach-grid small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.ride-coach-grid strong { color: var(--cream); font-size: 1.2rem; }
.ride-coach-grid span { color: var(--muted); line-height: 1.5; }
.context-stack .context-cards { margin-top: 24px; }

.help-intro { max-width: 1120px; }
.help-intro > p { max-width: 850px; }
.help-deeplink { margin-top: 28px; display: grid; gap: 7px; border: 1px solid #4a4837; background: #11140f; border-radius: 16px; padding: 18px 20px; max-width: 920px; }
.help-deeplink small, .help-link-box small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.help-deeplink code, .help-link-box code { color: #f3e4b7; overflow-wrap: anywhere; font-size: .92rem; }
.help-deeplink span { color: var(--muted); }
.help-search-section { padding-top: 24px; padding-bottom: 34px; }
.help-search-label { display: block; color: var(--cream); font-weight: 900; margin-bottom: 9px; }
.help-search { width: 100%; min-height: 56px; border: 1px solid #4b5246; border-radius: 14px; background: #090b09; color: white; padding: 12px 16px; font: inherit; font-size: 1rem; }
.help-search:focus { outline: 2px solid var(--gold); outline-offset: 2px; }
.help-search-status { color: var(--muted); margin: 9px 0 0; }
.tutorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tutorial-card { background: #11150f; border: 1px solid #3d4638; border-radius: 20px; padding: 24px; }
.tutorial-card h3 { font-size: 1.45rem; margin: 12px 0; }
.tutorial-card p, .tutorial-card li { color: var(--muted); }
.tutorial-card ol { padding-left: 22px; margin: 18px 0 24px; }
.tutorial-card li { margin-bottom: 8px; line-height: 1.45; }
.tutorial-meta { display: flex; gap: 10px; align-items: center; }
.tutorial-meta span { font-size: .72rem; letter-spacing: .12em; color: var(--gold); font-weight: 900; }
.tutorial-meta small { color: var(--muted); }
.primary-button.small { display: inline-flex; min-height: 40px; padding: 9px 14px; font-size: .9rem; }
.help-directory { padding-top: 30px; }
.help-category { margin-bottom: 62px; }
.help-category-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid #30362d; margin-bottom: 18px; }
.help-category-head h2 { font-size: 2rem; margin: 0 0 12px; }
.help-category-head span { color: var(--muted); font-size: .85rem; }
.help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.help-card { display: grid; align-content: start; min-width: 0; min-height: 230px; padding: 20px; background: #11150f; border: 1px solid #394235; border-radius: 16px; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.help-card small { color: var(--gold); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.help-card h3 { color: var(--cream); margin: 10px 0 8px; font-size: 1.2rem; }
.help-card p { color: var(--muted); line-height: 1.5; margin: 0 0 18px; }
.help-card > span { color: #d7c490; margin-top: auto; font-size: .84rem; }
@media (hover: hover) and (pointer: fine) { .help-card:hover { border-color: var(--gold); transform: translateY(-2px); } }
.help-no-results { border: 1px dashed #4b5246; border-radius: 18px; padding: 28px; text-align: center; }
.help-no-results p { color: var(--muted); }
.help-breadcrumb { display: flex; gap: 8px; align-items: center; color: var(--muted); margin-bottom: 22px; font-size: .9rem; }
.help-breadcrumb a { color: var(--gold); text-decoration: none; }
.help-location { margin-top: 24px; display: inline-grid; gap: 4px; padding: 12px 16px; border: 1px solid #4a4837; border-radius: 12px; background: #11140f; }
.help-location small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.help-location strong { color: var(--cream); }
.help-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 42px; align-items: start; padding-top: 24px; }
.help-article-body { min-width: 0; }
.help-article-body section { margin-bottom: 46px; }
.help-article-body h2 { font-size: 2rem; margin-bottom: 16px; }
.help-article-body p, .help-article-body li { color: var(--muted); line-height: 1.7; }
.help-steps { counter-reset: helpstep; list-style: none; padding: 0; display: grid; gap: 12px; }
.help-steps li { counter-increment: helpstep; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: start; }
.help-steps li::before { content: counter(helpstep); width: 32px; height: 32px; border: 1px solid #806f42; border-radius: 50%; color: var(--gold); display: grid; place-items: center; font-weight: 900; }
.help-tips { border-top: 1px solid #30362d; padding-top: 24px; }
.help-tips ul { padding-left: 20px; }
.help-article-aside { display: grid; gap: 16px; position: sticky; top: 100px; }
.help-link-box, .help-support-box { background: #11150f; border: 1px solid #3d4638; border-radius: 16px; padding: 18px; display: grid; gap: 10px; }
.help-link-box p, .help-support-box p { color: var(--muted); margin: 0; line-height: 1.5; }
.help-support-box strong { color: var(--cream); font-size: 1.15rem; }
.related-help { border-top: 1px solid #30362d; }

@media (max-width: 900px) {
  .ride-coach-grid, .help-grid { grid-template-columns: 1fr 1fr; }
  .help-article-layout { grid-template-columns: 1fr; }
  .help-article-aside { position: static; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .ride-coach-grid, .tutorial-grid, .help-grid, .help-article-aside { grid-template-columns: 1fr; }
  .help-card { min-height: 0; }
  .help-category-head { align-items: flex-start; flex-direction: column; gap: 0; }
  .help-article-body h2 { font-size: 1.65rem; }
}

/* 0.3.2 — evidence loop: telemetry, targeted missions, and charging feedback */
.mission-learning-section { border-top: 1px solid #262b24; border-bottom: 1px solid #262b24; }
.evidence-triad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 28px 0 22px; }
.evidence-triad article { min-width: 0; border: 1px solid #3d4638; border-radius: 18px; background: linear-gradient(150deg,#151a13,#0f120e); padding: 22px; }
.evidence-triad small { display: block; color: var(--gold); font-weight: 900; letter-spacing: .12em; margin-bottom: 9px; }
.evidence-triad h3 { margin: 0 0 10px; font-size: 1.3rem; }
.evidence-triad p { margin: 0; color: var(--muted); line-height: 1.6; }
.mission-quote { display: grid; gap: 7px; }
.mission-quote strong { color: var(--cream); font-size: 1.18rem; }
.mission-quote span { color: var(--muted); }
.compact-triad { margin-top: 24px; }
.mission-flow { margin-top: 22px; }
.big-index { font-size: .76rem; letter-spacing: .13em; font-weight: 900; opacity: .82; }

@media (max-width: 820px) {
  .evidence-triad { grid-template-columns: 1fr; }
}

/* 0.3.3 — aerodynamic road load + savings ledger */
.aero-section { border-top: 1px solid #2f342c; border-bottom: 1px solid #2f342c; }
.aero-section .punchline { margin-top: 22px; color: var(--cream); font-weight: 850; }
.aero-visual { min-height: 390px; position: relative; overflow: hidden; border: 1px solid #4b4638; border-radius: 24px; background: radial-gradient(circle at 62% 42%, #20271d 0, #10140f 38%, #090a08 72%); padding: 30px; }
.aero-rider { position: absolute; left: 10%; top: 41%; min-width: 180px; min-height: 74px; display: grid; place-items: center; padding: 16px 20px; border: 1px solid #7a5a32; border-radius: 38px 14px 14px 38px; background: linear-gradient(90deg,#2b1a0f,#151913); color: var(--cream); font-weight: 900; letter-spacing: .08em; transform: skewX(-5deg); }
.aero-wind { position: absolute; right: 6%; top: 18%; width: 48%; display: grid; gap: 6px; text-align: right; color: var(--gold); }
.aero-wind span { display: block; line-height: .7; font-size: clamp(2.4rem,6vw,5rem); opacity: .72; }
.aero-wind b { color: var(--muted); font-size: .72rem; letter-spacing: .18em; }
.aero-road { position: absolute; left: 7%; right: 7%; bottom: 72px; height: 8px; border-radius: 10px; background: #3a3d36; box-shadow: 0 16px 0 #141714; }
.aero-road span { position: absolute; right: 0; top: 20px; color: var(--muted); font-size: .68rem; letter-spacing: .12em; font-weight: 800; }
.aero-note { position: absolute; left: 8%; bottom: 18px; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.aero-note strong { color: var(--green); }
.aero-note span { color: var(--muted); }

.savings-ledger-section { border-top: 1px solid #2f342c; }
.savings-ledger-section .narrow { max-width: 790px; }
.ledger-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; margin-top: 28px; }
.ledger-story, .mass-card { min-width: 0; border: 1px solid #424a3d; border-radius: 20px; background: linear-gradient(150deg,#141913,#0e110d); padding: 28px; }
.ledger-story small, .mass-card small, .carbon-strip small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.ledger-story h3, .mass-card h3, .carbon-strip h3 { font-size: 1.55rem; margin: 10px 0 12px; }
.ledger-story p, .mass-card p, .carbon-strip p { color: var(--muted); }
.ledger-story p strong { color: var(--cream); }
.mass-card { background: radial-gradient(circle at 80% 15%, #382813 0, #17150f 34%, #0e110d 70%); }
.mass-card > strong { display: block; font-size: clamp(2rem,4.5vw,4rem); line-height: 1; letter-spacing: -.04em; margin: 22px 0; }
.mass-card > strong span:first-child { color: var(--green); }
.mass-card > strong span:last-child { color: var(--gold); }
.mass-card .fineprint { font-size: .78rem; color: #888e83; }
.carbon-strip { margin-top: 18px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 28px; align-items: center; border: 1px solid #514831; border-radius: 20px; padding: 26px; background: linear-gradient(105deg,#181108,#10150f 60%,#121811); }
.carbon-strip h3 { color: var(--cream); }
.carbon-aside { display: grid; gap: 7px; border-left: 3px solid var(--green); padding-left: 18px; }
.carbon-aside strong { color: var(--cream); font-size: 1.2rem; }
.carbon-aside span { color: #d9c692; font-style: italic; }
.carbon-aside small { color: #8e9488; letter-spacing: 0; font-weight: 500; line-height: 1.45; }

.road-load-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 28px 0; }
.road-load-grid article { min-width: 0; border: 1px solid #3d4638; border-radius: 16px; background: #111510; padding: 22px; }
.road-load-grid small { color: var(--gold); font-weight: 900; letter-spacing: .11em; }
.road-load-grid h3 { margin: 8px 0 10px; font-size: 2rem; }
.road-load-grid p { font-size: .98rem; }
.road-load-grid code { display: block; margin-top: 16px; padding: 12px; border: 1px solid #4c493a; border-radius: 10px; background: #0a0c09; color: #e3d19f; font-size: 1rem; overflow-wrap: anywhere; }
.road-load-block .quote-card { display: grid; gap: 8px; }
.road-load-block .quote-card strong { color: var(--cream); font-size: 1.15rem; }
.road-load-block .quote-card span { color: var(--muted); }

@media (max-width: 900px) {
  .ledger-grid, .carbon-strip { grid-template-columns: 1fr; }
  .road-load-grid { grid-template-columns: 1fr; }
  .carbon-aside { border-left: 0; border-top: 3px solid var(--green); padding-left: 0; padding-top: 16px; }
}

@media (max-width: 560px) {
  .aero-visual { min-height: 330px; }
  .aero-rider { left: 6%; top: 44%; min-width: 150px; font-size: .8rem; }
  .aero-wind { width: 44%; right: 4%; }
  .ledger-story, .mass-card, .carbon-strip { padding: 22px; }
}

/* 0.3.4 — battery-care methodology + modeled thermal intelligence */
.battery-mystery-section { border-top: 1px solid #2f342c; }
.battery-mystery-section .narrow, .thermal-intelligence-section .narrow { max-width: 850px; }
.battery-mystery-section .quote-card,
.thermal-intelligence-section .quote-card,
#thermal-model .quote-card { display: grid; gap: 8px; }
.battery-mystery-section .quote-card strong,
.thermal-intelligence-section .quote-card strong,
#thermal-model .quote-card strong { color: var(--cream); font-size: 1.15rem; }
.battery-mystery-section .quote-card span,
.thermal-intelligence-section .quote-card span,
#thermal-model .quote-card span { color: var(--muted); }
.thermal-intelligence-section { border-top: 1px solid #2f342c; border-bottom: 1px solid #2f342c; }


/* 0.3.5: earned premium, smart-charging economics, and range physics */
.business-model-section { border-top: 1px solid #3a3527; border-bottom: 1px solid #2f342c; }
.business-model-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; align-items: start; }
.business-model-copy .lead { max-width: 820px; }
.business-model-copy p { color: var(--muted); font-size: 1.05rem; }
.earned-premium-card { display: grid; gap: 14px; padding: 26px; border: 1px solid #6b5738; border-radius: 20px; background: radial-gradient(circle at 90% 0%, #312213 0, #13160f 44%, #0d100c 100%); }
.earned-premium-card > small { color: var(--gold); font-weight: 900; letter-spacing: .14em; }
.earned-premium-card div { display: grid; gap: 5px; padding: 14px 0; border-bottom: 1px solid #36382f; }
.earned-premium-card div strong { color: var(--cream); }
.earned-premium-card div span, .earned-premium-card p { color: var(--muted); line-height: 1.55; }
.earned-premium-card p { margin: 0; font-size: .9rem; }

.smart-preview-section { border-bottom: 1px solid #2f342c; }
.charging-comparison { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 28px 0; }
.comparison-card { min-width: 0; padding: 24px; border: 1px solid #424839; border-radius: 18px; background: #10130f; }
.comparison-card small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.comparison-card h3 { margin: 9px 0 12px; font-size: 1.55rem; }
.comparison-card p { color: var(--muted); margin-bottom: 0; }
.comparison-card.habits { border-color: #5b4137; }
.comparison-card.free { border-color: #596044; }
.comparison-card.premium { border-color: #4d743d; background: linear-gradient(145deg,#12180f,#10130f); }

.range-physics-preview { border-bottom: 1px solid #2f342c; }
.range-physics-preview > h2 { max-width: 960px; }
.physics-strip { margin: 26px 0 20px; display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.physics-strip span, .physics-strip strong, .physics-strip b { padding: 12px 14px; border: 1px solid #41463b; border-radius: 11px; background: #10130f; }
.physics-strip i { color: var(--bronze-bright); font-style: normal; font-size: 1.35rem; }
.physics-strip strong { color: #a7e57a; border-color: #4f7639; }
.physics-strip b { color: var(--gold); font-weight: 900; }
.accuracy-callout { max-width: 980px; padding: 20px 22px; border: 1px solid #4e6b3d; border-radius: 16px; background: #11180e; display: grid; gap: 6px; }
.accuracy-callout strong { color: #a7e57a; }
.accuracy-callout span { color: var(--muted); }

.charging-why-section, .charging-comparison-section, .battery-economics-section, .earned-premium-section,
.observed-physics-section, .physics-equations-section, .accuracy-evidence-section, .reserve-purpose-section,
.telemetry-paradox-section, .learning-loop-section { border-top: 1px solid #2f342c; }

.comparison-table-wrap { overflow-x: auto; margin-top: 28px; border: 1px solid #424839; border-radius: 18px; }
.comparison-table { width: 100%; min-width: 900px; border-collapse: collapse; background: #0e110d; }
.comparison-table th, .comparison-table td { padding: 17px 18px; border-bottom: 1px solid #343a31; border-right: 1px solid #30362e; vertical-align: top; text-align: left; line-height: 1.5; }
.comparison-table thead th { background: #17190f; color: var(--gold); font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }
.comparison-table tbody th { color: var(--cream); width: 17%; }
.comparison-table tbody td { color: var(--muted); }
.comparison-table tr:last-child th, .comparison-table tr:last-child td { border-bottom: 0; }
.comparison-table th:last-child, .comparison-table td:last-child { border-right: 0; }

.example-badge { display: inline-block; padding: 9px 12px; border: 1px solid #7a5a32; border-radius: 999px; color: var(--gold); font-weight: 900; font-size: .72rem; letter-spacing: .1em; white-space: nowrap; }
.economics-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 30px; }
.economics-card { padding: 26px; border: 1px solid #424839; border-radius: 20px; background: #10130f; display: grid; align-content: start; gap: 8px; }
.economics-card small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.economics-card .economics-number { font-family: Georgia,serif; font-size: clamp(3rem,6vw,5.3rem); line-height: .95; color: var(--cream); }
.economics-card > span { color: var(--muted); }
.economics-card hr { width: 100%; border: 0; border-top: 1px solid #3a4036; margin: 12px 0; }
.economics-card b { color: var(--cream); }
.economics-card p { color: var(--muted); font-size: .94rem; }
.economics-card.habits { border-color: #5b4137; }
.economics-card.free { border-color: #626546; }
.economics-card.premium { border-color: #4f7639; background: radial-gradient(circle at 90% 0%,#20331a 0,#11150f 43%); }
.fineprint { color: #8f9489; font-size: .8rem; line-height: 1.55; }

.qualification-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 10px; align-items: stretch; margin: 28px 0; }
.qualification-flow > div { padding: 20px; border: 1px solid #3d4638; border-radius: 15px; background: #11150f; display: grid; gap: 7px; align-content: start; }
.qualification-flow small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.qualification-flow span { color: var(--muted); font-size: .91rem; }
.qualification-flow > i { display: grid; place-items: center; color: var(--bronze-bright); font-style: normal; font-size: 1.5rem; }

.physics-observation-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 28px; }
.physics-observation-grid article, .physics-equation-grid article { min-width: 0; padding: 22px; border: 1px solid #3d4638; border-radius: 16px; background: #111510; }
.physics-observation-grid small, .physics-equation-grid small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.physics-observation-grid h3 { margin: 8px 0; font-size: 1.45rem; }
.physics-observation-grid p, .physics-equation-grid p { color: var(--muted); margin-bottom: 0; }
.physics-equation-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin: 28px 0; }
.physics-equation-grid code { display: block; margin: 12px 0; padding: 14px; border: 1px solid #4c493a; border-radius: 10px; background: #0a0c09; color: #e3d19f; font-size: 1.1rem; overflow-wrap: anywhere; }
.physics-strip.wide { justify-content: center; }

.accuracy-hero-card { padding: 34px; border: 1px solid #4f7639; border-radius: 24px; background: radial-gradient(circle at 90% 0%,#263c1d 0,#11160f 38%,#0c0f0b 100%); }
.accuracy-hero-card > small { color: var(--gold); font-weight: 900; letter-spacing: .13em; }
.accuracy-hero-card > strong { display: block; margin: 16px 0 6px; font-family: Georgia,serif; color: #a7e57a; font-size: clamp(4rem,10vw,8rem); line-height: .85; }
.accuracy-hero-card h2 { max-width: 1000px; }
.accuracy-hero-card p { max-width: 900px; color: var(--muted); font-size: 1.05rem; }
.uncertainty-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.uncertainty-comparison article { padding: 24px; border: 1px solid #41463b; border-radius: 18px; background: #10130f; }
.uncertainty-comparison small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.uncertainty-comparison p { color: var(--muted); }

.reserve-dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 30px 0; }
.reserve-dual-grid article { position: relative; padding: 28px; border: 1px solid #4a513f; border-radius: 20px; background: #11150f; }
.reserve-dual-grid article:last-child { border-color: #5e5538; }
.reserve-index { display: block; font-family: Georgia,serif; color: var(--bronze-bright); font-size: 2rem; }
.reserve-dual-grid small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.reserve-dual-grid p { color: var(--muted); }
.reserve-evolution { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; }
.reserve-evolution > div { padding: 20px; border: 1px solid #3d4638; border-radius: 14px; background: #10130f; display: grid; gap: 7px; }
.reserve-evolution small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.reserve-evolution i { color: var(--bronze-bright); font-style: normal; font-size: 1.5rem; }
.range-loop { margin-bottom: 24px; }

@media (max-width: 1000px) {
  .business-model-grid { grid-template-columns: 1fr; }
  .qualification-flow { grid-template-columns: 1fr; }
  .qualification-flow > i { transform: rotate(90deg); min-height: 20px; }
}

@media (max-width: 900px) {
  .charging-comparison, .economics-grid, .physics-observation-grid { grid-template-columns: 1fr 1fr; }
  .physics-equation-grid, .reserve-dual-grid, .uncertainty-comparison { grid-template-columns: 1fr; }
  .reserve-evolution { grid-template-columns: 1fr; }
  .reserve-evolution i { transform: rotate(90deg); justify-self: center; }
}

@media (max-width: 560px) {
  .charging-comparison, .economics-grid, .physics-observation-grid { grid-template-columns: 1fr; }
  .accuracy-hero-card { padding: 24px 20px; }
  .comparison-table-wrap { margin-inline: -4px; }
  .example-badge { white-space: normal; }
}


/* 0.3.6: one-scooter lifestyle story */
.ride-life-story { border-top: 1px solid #2f342c; border-bottom: 1px solid #2f342c; }
.ride-life-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 44px; align-items: end; margin-bottom: 34px; }
.ride-life-heading h2 { max-width: 900px; margin-bottom: 0; }
.ride-life-heading > p { max-width: 620px; color: var(--muted); font-size: 1.08rem; line-height: 1.65; margin: 0 0 6px; }
.ride-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ride-story-card { margin: 0; min-width: 0; overflow: hidden; border: 1px solid #4c4435; border-radius: 24px; background: linear-gradient(155deg,#151710,#0d100c); }
.ride-story-card.feature { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: stretch; }
.ride-story-image-wrap { position: relative; min-width: 0; overflow: hidden; background: #090b09; }
.ride-story-card:not(.feature) .ride-story-image-wrap { aspect-ratio: 4 / 3; }
.ride-story-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ride-story-card.feature img { min-height: 500px; }
.ride-story-badge { position: absolute; left: 18px; bottom: 18px; padding: 8px 11px; border: 1px solid #8a6b3e; border-radius: 999px; background: #090b09d9; color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .13em; backdrop-filter: blur(8px); }
.ride-story-card figcaption { padding: 24px 25px 28px; }
.ride-story-card.feature figcaption { display: grid; align-content: center; padding: 38px; }
.ride-story-card h3 { margin: 0 0 12px; font-size: clamp(1.55rem, 2.5vw, 2.45rem); line-height: 1.08; }
.ride-story-card p { margin: 0; color: var(--muted); line-height: 1.6; }
.ride-story-card[data-story-step="2"] { border-color: #765d3b; }
.ride-story-card[data-story-step="5"] { border-color: #5b633e; }
.ride-story-punchline { margin-top: 24px; padding: 24px 26px; display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: baseline; border-left: 3px solid var(--green); background: #11160f; }
.ride-story-punchline strong { color: var(--cream); font-size: 1.25rem; white-space: nowrap; }
.ride-story-punchline span { color: var(--muted); line-height: 1.55; }

@media (max-width: 900px) {
  .ride-life-heading { grid-template-columns: 1fr; align-items: start; gap: 16px; }
  .ride-story-card.feature { grid-template-columns: 1fr; }
  .ride-story-card.feature .ride-story-image-wrap { aspect-ratio: 4 / 3; }
  .ride-story-card.feature img { min-height: 0; }
  .ride-story-card.feature figcaption { padding: 24px 25px 28px; }
}

@media (max-width: 680px) {
  .ride-story-grid { grid-template-columns: 1fr; }
  .ride-story-card.feature { grid-column: auto; }
  .ride-story-punchline { grid-template-columns: 1fr; gap: 7px; }
  .ride-story-punchline strong { white-space: normal; }
}

/* 0.3.8: richer Beyond the Ride visual integration */
.beyond-rich { border-top: 1px solid #2f342c; }
.product-world-grid { align-items: start; }
.product-world-card { display: grid; grid-template-columns: 1fr; gap: 0; }
.product-world-card > .character-hero-image { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: center 30%; }
.product-world-copy { padding: 24px; }
.product-screen-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 16px 18px; align-items: start; }
.product-screen { margin: 0; overflow: hidden; border: 1px solid #3e4438; border-radius: 14px; background: #090b08; }
.character-card .product-screen img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; object-position: center; display: block; background: #050604; }
.product-screen.wide { grid-column: 1 / -1; }
.product-screen.tall { max-width: 74%; justify-self: center; }
.product-screen figcaption { padding: 9px 11px 11px; color: var(--muted); font-size: .78rem; line-height: 1.35; }
@media (max-width: 700px) {
  .product-screen-pair { grid-template-columns: 1fr; }
  .product-screen.wide { grid-column: auto; }
  .product-screen.tall { max-width: 86%; }
}

/* 0.3.9: battery habits quiz + 3,500-HP dragon metaphor */
.quiz-bubble {
  display: inline-grid;
  gap: 2px;
  max-width: 420px;
  margin: 18px 0 4px;
  padding: 15px 18px 16px;
  position: relative;
  border: 1px solid #7b6236;
  border-radius: 20px 20px 20px 6px;
  background: linear-gradient(135deg,#2b2113,#14150f 65%);
  text-decoration: none;
  box-shadow: 0 18px 36px #0005, inset 0 0 0 1px #2f291e;
  transition: transform .16s ease, border-color .16s ease;
}
.quiz-bubble::after {
  content: '';
  position: absolute;
  left: 16px;
  bottom: -10px;
  width: 18px;
  height: 18px;
  background: #17160f;
  border-right: 1px solid #7b6236;
  border-bottom: 1px solid #7b6236;
  transform: rotate(45deg);
}
.quiz-bubble:hover { transform: translateY(-2px); border-color: var(--gold); }
.quiz-bubble small { color: var(--green); font-size: .68rem; font-weight: 950; letter-spacing: .14em; }
.quiz-bubble strong { color: var(--cream); font-size: 1.14rem; line-height: 1.15; }
.quiz-bubble span { color: var(--gold); font-size: .87rem; font-weight: 800; }

.quiz-intro { padding-bottom: 40px; }
.quiz-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 34px; align-items: start; padding-top: 42px; }
.battery-quiz { display: grid; gap: 20px; }
.battery-quiz fieldset { margin: 0; padding: 24px; border: 1px solid #40483d; border-radius: 20px; background: linear-gradient(150deg,#131712,#0d100c); }
.battery-quiz legend { padding: 0 8px; color: var(--cream); font-size: 1.18rem; font-weight: 900; }
.battery-quiz legend span { color: var(--gold); margin-right: 9px; font-family: Georgia,serif; }
.battery-quiz label { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: start; padding: 13px 12px; margin-top: 8px; border: 1px solid transparent; border-radius: 13px; cursor: pointer; }
.battery-quiz label:hover { background: #171a14; border-color: #363d33; }
.battery-quiz input[type="radio"] { width: 19px; height: 19px; margin-top: 3px; accent-color: var(--green); }
.battery-quiz label span, .battery-quiz label b, .battery-quiz label small { display: block; }
.battery-quiz label b { color: var(--cream); }
.battery-quiz label small { margin-top: 2px; color: var(--muted); line-height: 1.4; }
.quiz-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.quiz-actions button { font: inherit; }
.quiz-result-shell { position: sticky; top: 102px; display: grid; gap: 18px; }
.quiz-result, .quiz-free-card { padding: 26px; border: 1px solid #4d523f; border-radius: 22px; background: #11150f; }
.quiz-result { border-color: #765a32; background: radial-gradient(circle at 90% 0%,#2d2111 0,#11140f 47%,#0b0e0a 100%); }
.quiz-result small, .quiz-free-card > small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.quiz-result > strong { display: block; margin: 14px 0 2px; color: #a7e57a; font-family: Georgia,serif; font-size: clamp(4rem,8vw,6.5rem); line-height: .85; }
.quiz-result > span { display: block; color: var(--cream); font-weight: 850; }
.quiz-result h3 { margin: 22px 0 8px; font-size: 1.45rem; }
.quiz-result p, .quiz-free-card p { color: var(--muted); }
.quiz-result.has-result { border-color: #5f7e45; }
.quiz-free-card h3 { margin: 9px 0 10px; }

.dragon-section { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 44px; align-items: center; border-top: 1px solid #302c27; border-bottom: 1px solid #302c27; }
.dragon-copy h2 { max-width: 780px; }
.dragon-copy p { max-width: 780px; color: var(--muted); }
.dragon-copy .lead { color: #d7cfbf; }
.dragon-copy .punchline { color: var(--cream); }
.dragon-meter { padding: 30px; border: 1px solid #76512d; border-radius: 24px; background: radial-gradient(circle at 80% 10%,#4a2515 0,#1a120d 32%,#0c0e0b 75%); box-shadow: inset 0 0 0 1px #26150f; }
.dragon-meter > small { color: var(--gold); font-weight: 900; letter-spacing: .13em; }
.dragon-meter > strong { display: block; margin: 12px 0 16px; color: #f0c86f; font-family: Georgia,serif; font-size: clamp(4rem,8vw,7rem); line-height: .86; text-shadow: 0 2px 18px #a83f1944; }
.dragon-meter > strong span { font-size: .28em; color: #d3975e; letter-spacing: .08em; }
.dragon-health-track { height: 16px; overflow: hidden; border: 1px solid #66513b; border-radius: 999px; background: #090a08; margin-bottom: 22px; }
.dragon-health-track i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#6e2d24,#c78337 42%,#d9c760 68%,#73c83c); }
.dragon-meter p { color: var(--muted); }
.dragon-meter b { color: var(--cream); }

@media (max-width: 900px) {
  .quiz-layout, .dragon-section { grid-template-columns: 1fr; }
  .quiz-result-shell { position: static; }
}

@media (max-width: 560px) {
  .quiz-bubble { margin-top: 15px; max-width: 100%; }
  .battery-quiz fieldset { padding: 18px 15px; }
  .quiz-actions { display: grid; grid-template-columns: 1fr; }
  .dragon-meter { padding: 24px 20px; }
}


/* 0.3.10 — Savings Ledger milk-run comparison */
.section-heading-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.milk-run-compact { margin-top: 24px; padding-top: 28px; border-top: 1px solid #30362e; }
.milk-run-section { border-top: 1px solid #2f342c; }
.milk-run-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: end; margin-bottom: 26px; }
.milk-run-heading .lead { max-width: 780px; }
.milk-price-tag { min-width: 180px; padding: 18px 20px; border: 1px solid #5b5138; border-radius: 18px; background: linear-gradient(145deg,#1b160d,#11140f); display: grid; text-align: right; }
.milk-price-tag small { color: var(--gold); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.milk-price-tag strong { color: var(--cream); font-size: 2.5rem; line-height: 1.05; margin-top: 5px; }
.milk-price-tag span { color: var(--muted); font-size: .82rem; }
.milk-run-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.milk-run-card { min-width: 0; padding: 25px; border: 1px solid #424839; border-radius: 20px; background: linear-gradient(155deg,#141713,#0d100c); display: flex; flex-direction: column; }
.milk-run-card.camry { border-color: #5c4438; }
.milk-run-card.leaf { border-color: #405262; }
.milk-run-card.scooter { border-color: #4e6d3f; background: radial-gradient(circle at 86% 10%,#1c3218 0,#12180f 34%,#0d100c 72%); }
.milk-card-top { display: grid; grid-template-columns: 1fr auto; column-gap: 10px; align-items: start; }
.milk-card-top small { grid-column: 1 / -1; color: var(--gold); font-weight: 900; letter-spacing: .11em; font-size: .7rem; }
.milk-card-top h3 { margin: 7px 0 0; font-size: 1.45rem; }
.vehicle-mass { justify-self: end; align-self: center; white-space: nowrap; color: var(--cream); font-weight: 900; border: 1px solid #454a40; border-radius: 999px; padding: 5px 8px; font-size: .72rem; }
.milk-card-story { color: var(--muted); min-height: 76px; }
.trip-ledger { margin: 6px 0 18px; }
.trip-ledger div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 10px 0; border-top: 1px solid #2f352d; }
.trip-ledger dt { color: var(--muted); }
.trip-ledger dd { margin: 0; color: var(--cream); font-weight: 850; text-align: right; }
.trip-ledger .emphasis dt, .trip-ledger .emphasis dd { color: #e1cc91; }
.effective-cost { margin-top: auto; padding: 16px; border: 1px solid #4a4939; border-radius: 14px; background: #0a0d09; display: grid; gap: 4px; }
.effective-cost small { color: var(--muted); font-size: .66rem; letter-spacing: .1em; font-weight: 900; }
.effective-cost strong { color: var(--green); font-size: 2.2rem; line-height: 1; }
.milk-run-card.camry .effective-cost strong { color: #d7ad82; }
.milk-run-card.leaf .effective-cost strong { color: #a9c8da; }
.microcopy { color: #898f85; font-size: .73rem; line-height: 1.5; margin: 14px 0 0; }
.milk-run-punchline { margin-top: 18px; padding: 22px 24px; border-left: 3px solid var(--green); background: #11160f; display: flex; gap: 10px 18px; align-items: baseline; flex-wrap: wrap; }
.milk-run-punchline strong { color: var(--cream); font-size: 1.2rem; }
.milk-run-punchline span { color: #d8c78f; }
.comparison-disclosure { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.comparison-disclosure p { margin: 0; padding: 16px 18px; border: 1px solid #343a31; border-radius: 14px; background: #0e110d; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.comparison-disclosure strong { color: var(--cream); }
.savings-page-intro .quote-card { margin-top: 24px; display: grid; gap: 7px; }
.savings-page-intro .quote-card strong { color: var(--cream); }
.savings-page-intro .quote-card span { color: var(--muted); }
.car-cost-explainer { border-top: 1px solid #2f342c; }
.cost-model-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 26px; }
.cost-model-grid article { padding: 24px; border: 1px solid #3d4538; border-radius: 18px; background: #10130f; }
.cost-model-grid small { color: var(--gold); font-weight: 900; letter-spacing: .11em; }
.cost-model-grid h3 { margin: 8px 0 10px; }
.cost-model-grid p { color: var(--muted); margin-bottom: 0; }
.estimator-formula { margin-top: 18px; padding: 24px; border: 1px solid #504a35; border-radius: 18px; background: linear-gradient(120deg,#17130b,#10150f); display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: baseline; }
.estimator-formula span { color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .11em; }
.estimator-formula strong { color: var(--cream); font-size: 1.2rem; }
.estimator-formula b { grid-column: 2; color: var(--green); font-weight: 800; }
.source-note { color: #91978d; font-size: .8rem; line-height: 1.55; margin-top: 20px; }
.source-links { display: flex; gap: 10px 16px; flex-wrap: wrap; margin-top: 10px; }
.source-links a { color: #c6b273; font-size: .78rem; }
.ledger-principles { border-top: 1px solid #2f342c; }

@media (max-width: 900px) {
  .milk-run-heading { grid-template-columns: 1fr; align-items: start; }
  .milk-price-tag { justify-self: start; text-align: left; }
  .milk-run-grid, .cost-model-grid { grid-template-columns: 1fr; }
  .milk-card-story { min-height: 0; }
  .comparison-disclosure { grid-template-columns: 1fr; }
  .estimator-formula { grid-template-columns: 1fr; }
  .estimator-formula b { grid-column: 1; }
}

@media (max-width: 560px) {
  .milk-run-card { padding: 21px; }
  .milk-card-top { grid-template-columns: 1fr; }
  .vehicle-mass { justify-self: start; margin-top: 10px; }
  .milk-run-punchline { flex-direction: column; align-items: flex-start; }
  .comparison-disclosure p { padding: 14px; }
}

/* 0.3.11 — Voltimus Around the World + lower-SOC safety education */
.global-world-section { border-top: 1px solid #332d25; border-bottom: 1px solid #2f342c; }
.global-world-heading { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 40px; align-items: end; margin-bottom: 30px; }
.global-world-heading h2 { margin-bottom: 0; }
.global-world-heading > p { margin: 0 0 8px; color: var(--muted); font-size: 1.06rem; }
.persona-stage { position: relative; }
.persona-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 24%); gap: 34px; overflow-x: auto; padding: 112px 100px 116px; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #74542f #111; scroll-behavior: smooth; align-items: center; }
.persona-track:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 20px; }
.persona-card { position: relative; z-index: 1; scroll-snap-align: center; border: 1px solid #3d3b33; border-radius: 26px; overflow: hidden; background: #090a08; opacity: .46; transform: scale(.76); transform-origin: center; transition: opacity .28s ease, transform .28s ease, border-color .28s ease, box-shadow .28s ease, filter .28s ease; cursor: pointer; filter: saturate(.76) brightness(.82); }
.persona-card.is-active { z-index: 5; opacity: 1; transform: scale(1.5); border-color: #9d723e; box-shadow: 0 24px 76px rgba(0,0,0,.54), 0 0 0 1px rgba(221,188,105,.2); filter: none; }
.persona-image-wrap { position: relative; aspect-ratio: 4 / 6.15; overflow: hidden; padding: 0; background: #090a08; }
.persona-image { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.persona-image-placeholder { position: absolute; inset: 0; display: grid; place-content: center; gap: 12px; padding: 24px; text-align: center; background: radial-gradient(circle at 50% 35%,#624421 0,#23170e 36%,#090a08 76%); }
.persona-image-placeholder[hidden] { display: none; }
.persona-image-placeholder span { font-size: 4rem; color: var(--gold); }
.persona-image-placeholder strong { font-family: Georgia,serif; font-size: 1.45rem; color: var(--cream); }
.persona-image-placeholder small { color: #aaa291; overflow-wrap: anywhere; }
.persona-nav { position: absolute; z-index: 3; top: 44%; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #725432; border-radius: 50%; color: var(--cream); background: rgba(8,9,7,.9); font-size: 2rem; line-height: 1; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.persona-nav:hover, .persona-nav:focus-visible { border-color: var(--gold); color: var(--gold); }
.persona-prev { left: 0; }
.persona-next { right: 0; }
.persona-summary { width: min(94%, 520px); margin: -4px auto 28px; padding: 13px 18px; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: baseline; border: 1px solid #50422e; border-radius: 999px; background: #10120f; text-align: center; }
.persona-summary span { color: var(--gold); font-weight: 850; font-size: .82rem; }
.persona-summary strong { font-family: Georgia,serif; font-size: 1.12rem; }
.persona-summary small { color: var(--muted); }
.emmv-map-shell { border: 1px solid #4a3d2b; border-radius: 28px; padding: 20px; background: radial-gradient(circle at 50% 45%,rgba(65,48,25,.38),rgba(8,10,8,.95) 63%), linear-gradient(160deg,#141710,#080907); box-shadow: inset 0 0 80px rgba(0,0,0,.35); }
.emmv-map-topline { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 16px; }
.emmv-map-topline > div { display: grid; gap: 2px; }
.emmv-map-topline strong { color: var(--cream); font-size: 1.05rem; }
.emmv-map-topline span { color: var(--gold); font-size: .82rem; }
.emmv-map-topline small { color: #817b70; text-align: right; }
.emmv-map { position: relative; width: 100%; aspect-ratio: 16 / 9; padding: 0; border-radius: 18px; overflow: hidden; background: #090907; isolation: isolate; }
.emmv-map::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,rgba(7,8,6,.08),rgba(7,8,6,.18)), radial-gradient(circle at 50% 46%,transparent 40%,rgba(7,8,6,.24) 100%); }
.emmv-map::after { content: ''; position: absolute; inset: 10px; z-index: 5; border: 1px solid rgba(221,188,105,.13); border-radius: 14px; pointer-events: none; box-shadow: inset 0 0 60px rgba(0,0,0,.12); }
.emmv-world-underlay { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: .95; object-fit: cover; object-position: center; filter: sepia(.08) saturate(.9) brightness(.78) contrast(1.02); }
.emmv-voronoi-layer { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; overflow: visible; }
.voronoi-cell { fill: rgba(80,56,26,.035); stroke: rgba(78,55,29,.28); stroke-width: .8; vector-effect: non-scaling-stroke; transition: fill .36s ease, stroke .36s ease, opacity .36s ease, filter .36s ease; pointer-events: none; }
.voronoi-cell.is-ocean { fill: rgba(22,29,24,.035); stroke: rgba(56,62,48,.16); }
.voronoi-cell.is-country { fill: rgba(122,87,39,.025); stroke: rgba(104,76,36,.24); }
.voronoi-cell.is-featured { pointer-events: auto; cursor: pointer; }
.voronoi-cell.is-featured:hover { fill: rgba(225,174,76,.14); stroke: rgba(241,199,106,.66); }
.voronoi-cell.is-global { fill: rgba(214,165,72,.045); stroke: rgba(139,96,42,.30); }
.voronoi-cell.is-near { fill: rgba(216,160,63,.10); stroke: rgba(217,171,82,.46); }
.voronoi-cell.is-focused { fill: rgba(244,189,72,.31); stroke: #ffd477; stroke-width: 1.7; filter: drop-shadow(0 0 7px rgba(255,204,105,.95)) drop-shadow(0 0 18px rgba(255,169,55,.62)); animation: voronoiPulse 2.9s ease-in-out infinite; }
.emmv-voronoi-fallback { position: absolute; right: 16px; bottom: 14px; z-index: 6; padding: 7px 10px; border-radius: 999px; background: rgba(10,10,8,.72); color: #a99b84; font-size: .72rem; }
.global-world-note { max-width: 920px; margin: 16px auto 0; color: #8f897d; font-size: .84rem; text-align: center; }
@keyframes voronoiPulse { 0%,100% { filter: drop-shadow(0 0 7px rgba(255,204,105,.86)) drop-shadow(0 0 16px rgba(255,169,55,.50)); } 50% { filter: drop-shadow(0 0 10px rgba(255,215,125,1)) drop-shadow(0 0 24px rgba(255,169,55,.72)); } }

.charge-safety-section { border-top: 1px solid #3a3527; border-bottom: 1px solid #2f342c; }
.charge-safety-section .info-card small { color: var(--gold); font-weight: 900; letter-spacing: .1em; }
.safety-disclaimer { margin-top: 22px; padding: 20px 22px; display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: 22px; border: 1px solid #6c5335; border-radius: 18px; background: linear-gradient(110deg,#20150d,#11140f); }
.safety-disclaimer strong { color: var(--gold); }
.safety-disclaimer span { color: #c5bcae; }

@media (max-width: 900px) {
  .global-world-heading { grid-template-columns: 1fr; gap: 8px; }
  .persona-track { grid-auto-columns: minmax(250px, 58%); padding: 82px 58px 92px; gap: 24px; }
  .persona-card { transform: scale(.8); }
  .persona-card.is-active { transform: scale(1.28); }
  .safety-disclaimer { grid-template-columns: 1fr; gap: 7px; }
}

@media (max-width: 560px) {
  .persona-track { grid-auto-columns: 66%; padding: 74px 40px 84px; gap: 18px; }
  .persona-card { transform: scale(.84); }
  .persona-card.is-active { transform: scale(1.16); }
  .persona-nav { width: 38px; height: 38px; font-size: 1.6rem; }
  .persona-summary { grid-template-columns: 1fr; gap: 1px; border-radius: 18px; }
  .emmv-map-shell { padding: 12px; }
  .emmv-map-topline { align-items: flex-start; flex-direction: column; gap: 5px; }
  .emmv-map-topline small { text-align: left; }
  .emmv-map { aspect-ratio: 16 / 9; }
  .emmv-world-underlay { inset: 0; width: 100%; height: 100%; opacity: .92; object-fit: cover; }
  .voronoi-cell { stroke-width: .65; }
}

@media (prefers-reduced-motion: reduce) {
  .persona-card, .voronoi-cell { transition: none; }
  .voronoi-cell.is-focused { animation: none; }
}


/* 0.4.0 — product-proof homepage */
.home-hero-040 { grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); min-height: 760px; }
.home-hero-040 .hero-copy h1 { font-size: clamp(3rem,6.2vw,5.9rem); }
.release-chip { display: inline-flex; margin-top: 16px; padding: 7px 10px; border: 1px solid #5d472e; border-radius: 999px; color: #bda979; background: #141008; font-size: .67rem; font-weight: 900; letter-spacing: .14em; }
.product-hero-proof { width: min(100%, 470px); margin: 0 auto; padding: 12px; border: 1px solid #76512d; border-radius: 30px; background: radial-gradient(circle at 50% 20%,#2b1b10,#080907 67%); box-shadow: 0 30px 75px rgba(0,0,0,.48), inset 0 0 0 1px #26190f; }
.product-hero-screen-crop { position: relative; height: 690px; overflow: hidden; border-radius: 20px; background: #050605; }
.product-hero-screen-crop img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.product-hero-proof figcaption { display: grid; gap: 4px; padding: 14px 8px 4px; }
.product-hero-proof figcaption strong { color: var(--cream); font-size: .88rem; }
.product-hero-proof figcaption span { color: #999184; font-size: .78rem; line-height: 1.45; }

.product-loop-040 { border-top: 1px solid #332d25; border-bottom: 1px solid #2f342c; }
.product-loop-040 h2 { max-width: 1000px; }
.product-loop-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.product-loop-grid article { position: relative; min-height: 260px; padding: 24px 22px 22px; border: 1px solid #434538; border-radius: 20px; background: linear-gradient(155deg,#171911,#0d100c); overflow: hidden; }
.product-loop-grid article::after { content: ''; position: absolute; inset: auto -30px -45px auto; width: 130px; height: 130px; border: 1px solid rgba(221,188,105,.12); border-radius: 50%; }
.product-loop-grid article > span { display: block; color: #6e5332; font-family: Georgia,serif; font-size: 2.6rem; line-height: 1; }
.product-loop-grid small { display: block; margin-top: 18px; color: var(--gold); font-size: .68rem; font-weight: 900; letter-spacing: .16em; }
.product-loop-grid h3 { margin: 8px 0 9px; font-size: 1.35rem; }
.product-loop-grid p { margin: 0; color: var(--muted); }

.charge-demo-040 { border-bottom: 1px solid #2f342c; }
.charge-demo-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 44px; align-items: end; margin-bottom: 28px; }
.charge-demo-heading h2 { margin-bottom: 0; }
.charge-demo-heading > p { color: var(--muted); margin: 0 0 6px; }
.charge-demo-shell { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); gap: 22px; padding: 22px; border: 1px solid #654a2f; border-radius: 28px; background: radial-gradient(circle at 75% 30%,rgba(93,61,28,.28),transparent 38%), linear-gradient(150deg,#17110b,#0c100b 70%); box-shadow: inset 0 0 70px rgba(0,0,0,.32); }
.charge-demo-controls { display: flex; flex-direction: column; gap: 22px; padding: 22px; border: 1px solid #3d4035; border-radius: 20px; background: rgba(10,12,9,.78); }
.demo-battery-id { display: grid; gap: 2px; padding-bottom: 18px; border-bottom: 1px solid #34372f; }
.demo-battery-id small { color: var(--gold); font-weight: 900; letter-spacing: .13em; }
.demo-battery-id strong { font-size: 1.2rem; }
.demo-battery-id span { color: var(--muted); font-size: .87rem; }
.demo-slider-row { display: grid; gap: 12px; }
.demo-slider-row > span { display: flex; justify-content: space-between; gap: 20px; }
.demo-slider-row b { color: var(--cream); }
.demo-slider-row output { color: var(--gold); font-weight: 900; }
.demo-slider-row input[type="range"] { width: 100%; accent-color: var(--green); }
.demo-slider-row.reserve input[type="range"] { accent-color: var(--bronze-bright); }
.demo-max-button { width: 100%; }
.demo-fineprint { margin: 0; color: #8e897e; font-size: .8rem; }
.charge-demo-instrument { display: grid; align-content: start; gap: 20px; padding: 26px; border: 1px solid #79532f; border-radius: 22px; background: radial-gradient(circle at 50% 8%,rgba(115,75,33,.23),transparent 38%), #090b08; box-shadow: inset 0 0 0 1px #21180f; }
.demo-readout-top { display: grid; justify-items: center; padding: 22px; border: 1px solid #5d462d; border-radius: 18px; background: #161008; text-align: center; }
.demo-readout-top small, .demo-readout-pair small, .demo-stress-row small { color: #9f927d; font-size: .67rem; font-weight: 900; letter-spacing: .13em; }
.demo-readout-top strong { color: var(--gold); font-family: Georgia,serif; font-size: clamp(2.8rem,6vw,5.4rem); line-height: .95; }
.demo-readout-top span { color: var(--muted); }
.demo-readout-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.demo-readout-pair > div { display: grid; gap: 4px; padding: 16px; border: 1px solid #3e4337; border-radius: 15px; background: #11150f; }
.demo-readout-pair strong { font-size: 1.6rem; }
.demo-window { padding: 18px 0 4px; }
.demo-window-labels, .demo-window-scale { display: flex; justify-content: space-between; gap: 12px; color: #8f897e; font-size: .69rem; }
.demo-window-bar { position: relative; height: 34px; margin: 9px 0; overflow: visible; border: 1px solid #5b4e3e; border-radius: 999px; background: linear-gradient(90deg,#182318 0%,#27422a 43%,#6b5724 70%,#6a251a 100%); box-shadow: inset 0 3px 8px rgba(0,0,0,.45); }
.demo-mission-fill, .demo-reserve-fill { position: absolute; inset-block: 3px; border-radius: 999px; }
.demo-mission-fill { left: 3px; background: rgba(94,185,255,.52); }
.demo-reserve-fill { background: rgba(238,155,54,.58); }
.demo-target-marker { position: absolute; top: -7px; width: 4px; height: 48px; transform: translateX(-2px); border-radius: 4px; background: #ffe09a; box-shadow: 0 0 15px rgba(255,205,105,.9); }
.demo-target-marker span { position: absolute; top: -4px; left: 50%; width: 12px; height: 12px; transform: translate(-50%,-50%) rotate(45deg); background: #ffe09a; }
.demo-stress-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.demo-stress-row > div { display: grid; gap: 3px; padding: 14px 16px; border-radius: 14px; background: #141810; border: 1px solid #3c4135; }
.demo-stress-row strong { color: var(--cream); font-size: 1.15rem; }
#demoNarrative { margin: 0; color: #c6beaf; border-left: 3px solid var(--green); padding-left: 14px; }
.charge-demo-link-row { display: flex; gap: 24px; flex-wrap: wrap; }

.ride-proof-040 { display: grid; grid-template-columns: 1.05fr .75fr; gap: 60px; align-items: center; border-bottom: 1px solid #2f342c; }
.ride-proof-copy .lead { max-width: 750px; }
.ride-proof-list { display: grid; gap: 11px; margin: 28px 0 6px; }
.ride-proof-list > div { display: grid; grid-template-columns: 155px 1fr; gap: 16px; padding: 14px 16px; border-left: 2px solid #725433; background: #10130f; }
.ride-proof-list b { color: var(--cream); }
.ride-proof-list span { color: var(--muted); }

.learning-proof-040 { border-bottom: 1px solid #2f342c; }
.learning-proof-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.learning-proof-grid article { padding: 22px; border: 1px solid #40463a; border-radius: 18px; background: #11150f; }
.learning-proof-grid small { color: var(--gold); font-weight: 900; letter-spacing: .13em; }
.learning-proof-grid strong { display: block; margin: 8px 0; font-size: 1.12rem; }
.learning-proof-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.learning-proof-media { display: grid; grid-template-columns: minmax(240px,1fr) auto minmax(240px,1fr); gap: 24px; align-items: center; margin-top: 32px; }
.learning-proof-media .phone-shot { width: min(100%,380px); }
.learning-proof-media figcaption { padding: 10px 6px 3px; color: #827d72; font-size: .8rem; }
.learning-proof-arrow { color: var(--gold); font-size: 3rem; }

.offline-trust-040 { display: grid; grid-template-columns: .78fr 1.22fr; gap: 42px; align-items: start; border: 1px solid #3c593a; border-radius: 28px; padding: 44px; background: radial-gradient(circle at 10% 10%,rgba(54,111,55,.18),transparent 30%),#0d120c; }
.offline-trust-040 h2 { margin-bottom: 18px; }
.offline-trust-040 > div:first-child p { color: var(--muted); }
.offline-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.offline-trust-grid article { padding: 18px; border: 1px solid #3b4938; border-radius: 16px; background: rgba(13,18,12,.8); }
.offline-trust-grid span { color: var(--green); font-weight: 900; }
.offline-trust-grid strong { display: block; margin: 8px 0 5px; }
.offline-trust-grid p { margin: 0; color: var(--muted); font-size: .87rem; }

.platform-vision-040 { border-top: 1px solid #2f342c; }
.platform-vision-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.platform-vision-grid article { padding: 24px; border: 1px solid #3d4036; border-radius: 18px; background: #11130f; }
.platform-vision-grid article.is-now { border-color: #5b783e; box-shadow: inset 0 0 0 1px rgba(114,198,60,.08); }
.platform-vision-grid article.is-later { opacity: .78; }
.platform-vision-grid small { color: var(--gold); font-weight: 900; letter-spacing: .12em; }
.platform-vision-grid h3 { margin: 10px 0; }
.platform-vision-grid p { margin: 0; color: var(--muted); }

@media (max-width: 980px) {
  .home-hero-040, .ride-proof-040 { grid-template-columns: 1fr; }
  .home-hero-040 .product-hero-proof { width: min(100%,430px); }
  .product-loop-grid, .learning-proof-grid, .platform-vision-grid { grid-template-columns: 1fr 1fr; }
  .charge-demo-heading, .charge-demo-shell, .offline-trust-040 { grid-template-columns: 1fr; }
  .ride-proof-040 .product-hero-proof { order: -1; }
}

@media (max-width: 620px) {
  .product-hero-screen-crop { height: 610px; }
  .product-loop-grid, .learning-proof-grid, .platform-vision-grid, .offline-trust-grid { grid-template-columns: 1fr; }
  .charge-demo-shell { padding: 12px; }
  .charge-demo-controls, .charge-demo-instrument { padding: 18px; }
  .demo-readout-pair, .demo-stress-row { grid-template-columns: 1fr; }
  .ride-proof-list > div { grid-template-columns: 1fr; gap: 5px; }
  .learning-proof-media { grid-template-columns: 1fr; }
  .learning-proof-arrow { transform: rotate(90deg); justify-self: center; }
  .offline-trust-040 { padding: 28px 20px; }
}

/* 0.4.1 — guided homepage ribbon + compact proof sections */
.home-subnav-041 {
  position: sticky;
  top: 84px;
  z-index: 18;
  width: min(calc(100% - 32px), var(--max));
  margin: 8px auto 0;
  padding: 7px;
  border: 1px solid #4b4032;
  border-radius: 16px;
  background: rgba(9,10,8,.92);
  backdrop-filter: blur(16px);
  box-shadow: 0 12px 30px rgba(0,0,0,.26);
}
.home-subnav-track {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  white-space: nowrap;
  scroll-behavior: smooth;
}
.home-subnav-track::-webkit-scrollbar { display: none; }
.home-subnav-041 a {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #9b9588;
  text-decoration: none;
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .01em;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.home-subnav-041 a:hover { color: var(--cream); background: #181811; }
.home-subnav-041 a.is-active {
  color: #f0d18a;
  border-color: #6e5432;
  background: linear-gradient(180deg,#21180e,#15120d);
  box-shadow: inset 0 0 0 1px rgba(239,199,112,.05);
}
#battery-intelligence,
#voltimus-loop,
#interactive-demo,
#ride-command,
#configured-learned,
#ride-first-network-second,
#lower-stress,
#the-physics,
#keeping-the-promise,
#economic-reality,
#battery-philosophy,
#latest-from-voltimus { scroll-margin-top: 154px; }

.smart-blindspot-041 { border-top: 1px solid #2f342c; border-bottom: 1px solid #2f342c; }
.smart-blindspot-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 42px; align-items: end; margin-bottom: 26px; }
.smart-blindspot-heading h2 { margin-bottom: 0; max-width: 920px; }
.smart-blindspot-heading > p { margin: 0 0 6px; color: var(--muted); font-size: 1.04rem; }
.smart-blindspot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.smart-blindspot-grid article { padding: 26px; border: 1px solid #414438; border-radius: 20px; background: #11140f; }
.smart-blindspot-grid article.is-voltimus { border-color: #725a35; background: radial-gradient(circle at 80% 10%,rgba(198,151,61,.16),transparent 38%),#14120d; }
.smart-blindspot-grid small { color: #8f897b; font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.smart-blindspot-grid .is-voltimus small { color: var(--gold); }
.smart-blindspot-grid h3 { margin: 8px 0 10px; }
.smart-blindspot-grid p { margin: 0; color: var(--muted); }
.prescience-line { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: center; margin: 18px 0; padding: 20px 22px; border: 1px solid #6b5733; border-radius: 18px; background: linear-gradient(90deg,rgba(71,48,24,.32),rgba(17,20,15,.75)); }
.prescience-line strong { color: #f0d18a; font-family: Georgia,serif; font-size: 1.2rem; line-height: 1.35; }
.prescience-line span { color: #c0b7a7; }
.lower-stress-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 18px 0; }
.lower-stress-strip > span { display: grid; gap: 4px; padding: 16px 18px; border-left: 2px solid #657f42; background: #10140e; }
.lower-stress-strip b { color: var(--cream); }
.lower-stress-strip small { color: var(--muted); line-height: 1.45; }

.home-proof-compact { padding-block: clamp(56px,7vw,92px); }
.home-proof-compact .accuracy-callout { margin-top: 6px; }

.keeping-promise-041 { border-bottom: 1px solid #2f342c; }
.promise-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 26px; }
.promise-steps article { position: relative; padding: 24px; border: 1px solid #414438; border-radius: 18px; background: #11140f; }
.promise-steps span { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 14px; border: 1px solid #725a35; border-radius: 50%; color: var(--gold); font-weight: 900; }
.promise-steps strong { display: block; margin-bottom: 8px; color: var(--cream); font-size: 1.12rem; }
.promise-steps p { margin: 0; color: var(--muted); }

.economic-reality-041 { display: grid; grid-template-columns: 1.05fr .7fr; gap: 44px; align-items: center; border-bottom: 1px solid #2f342c; }
.economic-reality-copy .primary-button { margin-top: 10px; }
.economic-mini-ledger { display: grid; gap: 10px; padding: 24px; border: 1px solid #5b4831; border-radius: 22px; background: radial-gradient(circle at 90% 5%,rgba(174,123,51,.12),transparent 38%),#11120e; }
.economic-mini-ledger > small { color: var(--gold); font-weight: 900; letter-spacing: .11em; }
.economic-mini-ledger > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 18px; align-items: baseline; padding: 13px 14px; border: 1px solid #34382f; border-radius: 13px; background: #0c0f0b; }
.economic-mini-ledger > div strong { color: var(--cream); font-family: Georgia,serif; font-size: 1.4rem; }
.economic-mini-ledger > div small { grid-column: 1 / -1; color: #8e897e; }
.economic-mini-ledger > div.is-scooter { border-color: #58713e; background: #0f160d; }
.economic-mini-ledger > div.is-scooter strong { color: #a7e57a; }
.economic-mini-ledger > p { margin: 5px 0 0; color: var(--muted); font-size: .8rem; }

.battery-philosophy-041 { text-align: center; border-bottom: 1px solid #2f342c; }
.battery-philosophy-041 h2 { margin-inline: auto; }
.battery-philosophy-lead { max-width: 760px; margin: 0 auto 26px; color: #d2c9b9; font-size: clamp(1.08rem,2vw,1.35rem); }
.philosophy-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; text-align: left; }
.philosophy-grid article { padding: 22px; border: 1px solid #3c4035; border-radius: 18px; background: #11140f; }
.philosophy-grid strong { color: var(--cream); }
.philosophy-grid p { margin-bottom: 0; color: var(--muted); }
.philosophy-platform-note { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; max-width: 970px; margin: 24px auto 0; padding: 16px 20px; border: 1px solid #4c4231; border-radius: 14px; background: #12110d; color: var(--muted); }
.philosophy-platform-note strong { color: var(--gold); }

@media (max-width: 980px) {
  .home-subnav-041 { top: 76px; }
  .smart-blindspot-heading, .economic-reality-041 { grid-template-columns: 1fr; }
  .prescience-line { grid-template-columns: 1fr; }
  .lower-stress-strip, .promise-steps, .philosophy-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .home-subnav-041 { width: calc(100% - 16px); top: 70px; margin-top: 6px; padding: 5px; border-radius: 13px; }
  .home-subnav-041 a { padding: 7px 9px; font-size: .69rem; }
  #battery-intelligence,
  #voltimus-loop,
  #interactive-demo,
  #ride-command,
  #configured-learned,
  #ride-first-network-second,
  #lower-stress,
  #the-physics,
  #keeping-the-promise,
  #economic-reality,
  #battery-philosophy,
  #latest-from-voltimus { scroll-margin-top: 136px; }
  .smart-blindspot-grid { grid-template-columns: 1fr; }
  .prescience-line { padding: 18px; }
  .economic-mini-ledger { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-subnav-track { scroll-behavior: auto; }
  .home-subnav-041 a { transition: none; }
}
