:root {
  color-scheme: light;
  --canvas: #f5f3ed;
  --surface: #fffefa;
  --surface-cool: #e9eff2;
  --ink: #10202c;
  --ink-soft: #54636d;
  --ink-faint: #7a878e;
  --line: #d6d9d5;
  --line-dark: #b9c0c1;
  --blue: #1769aa;
  --blue-dark: #0d4e83;
  --blue-pale: #dceaf4;
  --teal: #16796f;
  --amber: #ad6b16;
  --red: #b64b3c;
  --shadow: 0 28px 80px rgba(26, 44, 54, .13);
  --shell: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 14px; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(16, 32, 44, .11); }
.nav-shell { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: fit-content; font-weight: 760; letter-spacing: -.025em; }
.brand img { border-radius: 9px; }
.site-nav { display: flex; align-items: center; gap: 28px; color: var(--ink-soft); font-size: .95rem; }
.site-nav a, .site-footer a, .text-link, .trust-links a { text-underline-offset: 4px; }
.site-nav a:hover, .site-footer a:hover, .text-link:hover, .trust-links a:hover { text-decoration: underline; }
.nav-action { justify-self: end; border: 1px solid var(--line-dark); padding: 10px 15px; font-size: .9rem; font-weight: 700; }

.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, 1fr); gap: clamp(44px, 6vw, 82px); align-items: center; min-height: 640px; padding-block: 62px 72px; }
.eyebrow, .ui-kicker { margin: 0 0 16px; color: var(--blue); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 720px; margin-bottom: 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.1rem, 6.2vw, 5.65rem); font-weight: 500; letter-spacing: -.055em; line-height: .98; }
.hero-summary { max-width: 650px; margin-bottom: 28px; color: var(--ink-soft); font-size: clamp(1.12rem, 1.7vw, 1.3rem); line-height: 1.58; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 19px; font-weight: 760; }
.button-primary { background: var(--ink); color: #fff; }
.button-primary:hover { background: var(--blue-dark); }
.text-link { color: var(--blue-dark); font-weight: 700; }
.release-note { display: flex; align-items: center; gap: 9px; margin: 20px 0 0; color: var(--ink-faint); font-size: .9rem; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }

.product-stage { position: relative; padding: 48px 0 18px; }
.product-stage::before { content: ""; position: absolute; inset: 0 9% 11% 2%; border: 1px solid var(--line-dark); background: var(--surface-cool); transform: rotate(-2.3deg); }
.preview-label { position: absolute; z-index: 3; top: 2px; right: 8px; color: var(--ink-faint); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.phone-frame { position: relative; z-index: 2; width: min(100%, 480px); margin-left: auto; border: 9px solid #17232c; border-radius: 48px; background: #17232c; box-shadow: var(--shadow); transform: rotate(1.25deg); }
.phone-screen { overflow: hidden; border-radius: 38px; background: #f8f8f4; }
.phone-topbar { display: flex; justify-content: space-between; gap: 14px; padding: 27px 23px 17px; }
.phone-topbar > div { display: grid; gap: 4px; }
.phone-topbar strong { font-size: .96rem; }
.ui-kicker { margin-bottom: 0; color: var(--ink-faint); font-size: .57rem; }
.risk-badge { align-self: center; padding: 6px 9px; font-size: .69rem; font-weight: 800; }
.risk-moderate { color: #71450c; background: #f2dfbd; }
.route-map { position: relative; height: 220px; overflow: hidden; border-block: 1px solid #dce1de; background: #dfe9e9; }
.route-map::before, .route-map::after { content: ""; position: absolute; width: 150px; height: 100px; border-radius: 50%; background: rgba(255,255,255,.38); }
.route-map::before { top: -32px; left: 40px; }.route-map::after { right: -20px; bottom: -34px; }
.route-map svg { position: relative; z-index: 1; width: 100%; height: 100%; }
.map-road { fill: none; stroke: var(--blue); stroke-width: 5; stroke-linecap: round; }
.map-road-shadow { stroke: #fff; stroke-width: 12; opacity: .88; }
.map-point { stroke: #fff; stroke-width: 4; }.map-point.start,.map-point.end { fill: var(--ink); }.map-point.low { fill: var(--teal); }.map-point.moderate { fill: var(--amber); }.map-point.high { fill: var(--red); }
.rain-cloud { fill: #72838b; opacity: .93; }.rain-cloud .rain { fill: none; stroke: var(--blue); stroke-width: 4; stroke-linecap: round; }
.map-city { position: absolute; z-index: 2; font-size: .64rem; font-weight: 800; letter-spacing: .04em; }.city-start { left: 13px; bottom: 9px; }.city-end { top: 34px; right: 14px; }
.hazard-card { display: grid; grid-template-columns: 34px 1fr; gap: 12px; margin: 17px; padding: 15px; border: 1px solid #e5c594; background: #fff9ed; }
.hazard-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--amber); font-weight: 900; }
.hazard-card strong { display: block; margin: 3px 0 2px; font-size: .83rem; }.hazard-card p { margin: 0; color: var(--ink-soft); font-size: .7rem; }
.coverage-row { display: flex; justify-content: space-between; padding: 0 20px 22px; color: var(--ink-soft); font-size: .69rem; }.coverage-row strong { color: var(--ink); }

.fact-bar { border-block: 1px solid var(--line); background: var(--surface); }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.fact-grid p { display: grid; gap: 4px; margin: 0; padding: 21px 30px; border-left: 1px solid var(--line); }
.fact-grid p:last-child { border-right: 1px solid var(--line); }.fact-grid strong { font-size: .95rem; }.fact-grid span { color: var(--ink-faint); font-size: .84rem; }

.story-section, .comparison { padding-block: 92px; }
.section-heading { max-width: 780px; margin-bottom: 48px; }.section-heading.compact { margin-bottom: 38px; }
h2 { margin-bottom: 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.35rem, 4.5vw, 4.25rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.03; }
.section-heading > p:last-child { max-width: 690px; color: var(--ink-soft); font-size: 1.16rem; }
.route-story { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 58px; }
.story-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.story-list li { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.story-index, .capability-number { color: var(--blue); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .75rem; }
.story-list h3 { margin-bottom: 6px; font-size: 1.08rem; }.story-list p { max-width: 650px; margin: 0; color: var(--ink-soft); font-size: 1rem; }
.route-note { align-self: start; padding: 32px; border-top: 4px solid var(--blue); background: var(--surface); }
.route-note-mark { display: block; margin-bottom: 38px; color: var(--blue); font-size: 2rem; }.route-note blockquote { margin: 12px 0 22px; font-family: Georgia, serif; font-size: 1.65rem; line-height: 1.25; }.route-note > p:last-child { margin-bottom: 0; color: var(--ink-soft); font-size: .98rem; }

.capabilities { padding-block: 92px; border-block: 1px solid var(--line); background: var(--surface); }
.capability-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 7vw, 90px); align-items: center; padding: 66px 0; border-top: 1px solid var(--line); }
.capability-row.reverse .capability-copy { order: 2; }.capability-row.reverse > :last-child { order: 1; }
.capability-number { display: block; margin-bottom: 32px; }.capability-copy h3 { max-width: 520px; margin-bottom: 18px; font-family: Georgia, serif; font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 500; line-height: 1.08; }.capability-copy > p { color: var(--ink-soft); font-size: 1.05rem; }
.check-list { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; font-size: .98rem; }.check-list li { position: relative; padding-left: 22px; }.check-list li::before { content: ""; position: absolute; top: .65em; left: 0; width: 9px; border-top: 2px solid var(--blue); }
.data-panel, .choice-panel, .glance-panel { padding: 28px; border: 1px solid var(--line-dark); background: var(--canvas); }
.data-panel-head { display: flex; justify-content: space-between; margin-bottom: 24px; color: var(--ink-faint); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.condition-row { display: grid; grid-template-columns: 54px 1fr auto; gap: 12px; padding: 18px 0; border-top: 1px solid var(--line); font-size: .86rem; }.condition-time { color: var(--ink-faint); }.condition-place { font-weight: 750; }.condition-state { font-weight: 750; }.low-text { color: var(--teal); }.moderate-text { color: var(--amber); }.high-text { color: var(--red); }
.choice-panel > .ui-kicker { margin-bottom: 20px; }.choice { display: flex; justify-content: space-between; gap: 20px; padding: 19px 17px; border-top: 1px solid var(--line); }.choice.selected { border: 1px solid var(--blue); background: #edf5fa; }.choice div { display: grid; gap: 3px; }.choice div:last-child { text-align: right; }.choice strong { font-size: .84rem; }.choice span { color: var(--ink-faint); font-size: .72rem; }.choice-footnote { margin: 16px 0 0; color: var(--teal); font-size: .75rem; font-weight: 750; text-align: center; }
.glance-panel { padding: 45px 28px; background: #dce4e8; }.activity-card { padding: 20px; border-radius: 24px; color: #fff; background: #18252d; box-shadow: 0 18px 38px rgba(16,32,44,.2); }.activity-head { display: flex; justify-content: space-between; margin-bottom: 28px; color: #c3ced3; font-size: .72rem; }.mini-brand { display: flex; align-items: center; gap: 7px; font-weight: 700; }.mini-brand img { border-radius: 6px; }.activity-card > strong { display: block; font-size: 1rem; }.activity-card > p { margin: 4px 0 20px; color: #b8c5cb; font-size: .76rem; }.progress-track { height: 4px; overflow: hidden; border-radius: 4px; background: #40515a; }.progress-track span { display: block; width: 61%; height: 100%; background: #63a6d5; }

.comparison-table { border-top: 2px solid var(--ink); }.comparison-row { display: grid; grid-template-columns: .65fr 1.35fr; gap: 30px; padding: 23px 18px; border-bottom: 1px solid var(--line); }.comparison-head { color: var(--ink-faint); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.comparison-row span { color: var(--ink-soft); }.comparison-row.highlighted { background: var(--blue-pale); }.comparison-row.highlighted strong, .comparison-row.highlighted span { color: var(--blue-dark); }.safety-note { max-width: 820px; margin: 25px 0 0; color: var(--ink-faint); font-size: .92rem; }

.trust-section { padding-block: 78px; color: #eef4f5; background: var(--ink); }.trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }.trust-section .eyebrow { color: #82b9dd; }.trust-section h2 { margin-bottom: 0; }.trust-copy > p { color: #b9c6ca; font-size: 1.1rem; }.trust-links { display: flex; gap: 24px; margin-top: 26px; color: #fff; font-size: .96rem; font-weight: 750; }
.final-cta { display: grid; grid-template-columns: 1fr auto; gap: 56px; align-items: end; padding-block: 82px; }.final-cta h2 { max-width: 760px; margin-bottom: 0; }.final-cta > div:last-child { text-align: right; }.final-cta > div:last-child p { margin: 12px 0 0; color: var(--ink-faint); font-size: .84rem; }

.site-footer { padding: 52px 0 22px; border-top: 1px solid var(--line-dark); background: var(--surface); }.footer-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 70px; padding-bottom: 46px; }.footer-brand p { margin: 16px 0 0; color: var(--ink-faint); font-family: Georgia, serif; }.site-footer nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }.site-footer nav div { display: grid; align-content: start; gap: 9px; }.site-footer nav strong { margin-bottom: 5px; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }.site-footer nav a { width: fit-content; color: var(--ink-soft); font-size: .9rem; }.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink-faint); font-size: .8rem; }

.document-main { min-height: 70vh; padding-block: 92px 120px; }
.document-header { max-width: 760px; margin-bottom: 62px; }
.document-header h1 { margin-bottom: 20px; font-size: clamp(3rem, 7vw, 5rem); }
.document-header > p:last-child { color: var(--ink-soft); font-size: 1.08rem; }
.support-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.support-contact { padding: 28px; border-top: 4px solid var(--blue); background: var(--surface); }
.support-contact h2 { margin-bottom: 12px; font-family: inherit; font-size: 1.15rem; font-weight: 780; letter-spacing: -.02em; }
.support-contact p { color: var(--ink-soft); font-size: .88rem; }
.support-contact .button { width: 100%; margin-top: 10px; }
.faq-list { border-top: 1px solid var(--line-dark); }
.faq-list details { padding: 22px 0; border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; font-weight: 750; list-style-position: outside; }
.faq-list details p { max-width: 700px; margin: 14px 0 0; color: var(--ink-soft); font-size: .92rem; }

@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; --canvas: #11181d; --surface: #172127; --surface-cool: #223038; --ink: #edf2f3; --ink-soft: #b3bfc4; --ink-faint: #86969d; --line: #344148; --line-dark: #4a5a62; --blue: #69a9d8; --blue-dark: #9ac8e7; --blue-pale: #233b4b; }
  .phone-screen { color: #10202c; background: #f8f8f4; }.data-panel, .choice-panel { background: #1c282f; }.choice.selected { background: #203c4d; }.route-note { background: #1c282f; }.button-primary { color: #10202c; background: #edf2f3; }.button-primary:hover { color: #fff; background: var(--blue); }
}

@media (max-width: 900px) {
  .nav-shell { grid-template-columns: 1fr auto; }.site-nav { display: none; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 72px; }.hero-copy { max-width: 760px; }.product-stage { width: min(100%, 600px); margin-inline: auto; }.phone-frame { margin-inline: auto; }
  .route-story, .trust-grid { grid-template-columns: 1fr; gap: 50px; }.route-note-mark { margin-bottom: 35px; }
  .capability-row { grid-template-columns: 1fr; gap: 45px; }.capability-row.reverse .capability-copy, .capability-row.reverse > :last-child { order: initial; }
  .footer-grid { grid-template-columns: 1fr; gap: 45px; }
  .support-grid { grid-template-columns: 1fr; gap: 50px; }
}

@media (max-width: 620px) {
  .shell { width: min(calc(100% - 28px), var(--shell)); }.nav-shell { min-height: 66px; }.brand span { font-size: .91rem; }.nav-action { padding: 8px 10px; font-size: .75rem; }
  .hero { gap: 42px; padding-block: 58px 70px; } h1 { font-size: clamp(2.7rem, 14vw, 4rem); }.hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .product-stage { padding-top: 35px; }.phone-frame { border-width: 6px; border-radius: 35px; }.phone-screen { border-radius: 28px; }.phone-topbar { padding: 22px 16px 14px; }.phone-topbar strong { font-size: .8rem; }.route-map { height: 175px; }.hazard-card { margin: 12px; padding: 12px; }
  .fact-grid { grid-template-columns: 1fr; }.fact-grid p, .fact-grid p:last-child { padding: 17px 4px; border: 0; border-bottom: 1px solid var(--line); }
  .story-section, .comparison, .capabilities { padding-block: 84px; }.section-heading { margin-bottom: 44px; }.route-story { gap: 38px; }.story-list li { grid-template-columns: 45px 1fr; }.route-note { padding: 24px; }
  .capability-row { padding: 65px 0; }.capability-number { margin-bottom: 30px; }.data-panel, .choice-panel, .glance-panel { padding: 18px 14px; }.condition-row { grid-template-columns: 45px 1fr; }.condition-state { grid-column: 2; }.choice { padding-inline: 10px; }
  .comparison-row { grid-template-columns: 1fr; gap: 5px; padding-inline: 4px; }.comparison-head { display: none; }
  .trust-section { padding-block: 76px; }.trust-links { align-items: flex-start; flex-direction: column; gap: 12px; }
  .final-cta { grid-template-columns: 1fr; gap: 32px; padding-block: 80px; }.final-cta > div:last-child { text-align: left; }
  .site-footer nav { grid-template-columns: 1fr 1fr; }.footer-bottom { flex-direction: column; }
  .document-main { padding-block: 64px 90px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
