/* Targeted additions to the existing StormRecord visual system. */
[hidden] { display:none !important; }
.page-home .hero-availability { order:3; font-size:14px; line-height:1.6; color:var(--text-2); margin-top:20px; max-width:530px; }
.page-home .hero-availability span { display:block; }
.page-home .hero-availability span + span { margin-top:6px; }
.page-home .instrument-panel .reading { min-width:0; gap:8px; }
.page-home .instrument-panel .reading-label { font-size:11px; line-height:1.5; letter-spacing:.12em; }
.page-home .instrument-panel .reading-value { font-size:20px; font-weight:600; line-height:1.35; white-space:normal; }
.page-home .instrument-panel .reading-support { font-size:14px; line-height:1.6; color:var(--text-2); }
/* A full-width heading leaves more room for the map beside the supporting copy. */
@media(min-width:960px) {
  .page-home .hero { --hero-heading-size:clamp(52px,4.4vw,68px); display:grid; grid-template-columns:340px minmax(0,1fr); gap:24px 24px; align-items:start; padding-right:16px; }
  .page-home .hero-container { display:contents; }
  .page-home .hero-heading { grid-column:1/-1; grid-row:1; }
  .page-home .hero-eyebrow { max-width:560px; margin-bottom:20px; }
  .page-home .hero-content { grid-column:1; grid-row:2; }
  .page-home .hero-reading-zone { display:none; }
  .page-home .hero h1.hero-headline { font-size:var(--hero-heading-size); margin:0; }
  .page-home .hero h1.hero-headline .line1 { white-space:nowrap; width:max-content; }
  .page-home .hero h1.hero-headline .emphasis { width:max-content; }
  .page-home .hero-cta-row { flex-direction:column; }
  .page-home .hero-availability { margin:8px 0 0; }
  .page-home .instrument-panel { grid-column:1/-1; grid-row:3; grid-template-columns:repeat(4,minmax(0,1fr)); width:calc(100% - 40px); }
}
@media(max-width:959px) { .page-home .hero-heading { display:contents; } }
.release-button { display:inline-block; background:var(--brand-dark); color:white; padding:12px 20px; border-radius:4px; font-weight:600; }
.coverage-copy { font-size:14px; line-height:1.65; color:#526574; margin:12px 0; }
.date-entry-label { display:block; margin:20px 0 8px; font-size:15px; }.date-entry { width:100%; min-height:48px; padding:12px; font:inherit; color:#152a3c; background:white; border:1px solid #bccbd6; border-radius:6px; }
.early-report-cta { margin:28px 0; padding:24px; background:#edf3f7; border-left:4px solid #17364b; }.early-report-cta p { margin:8px 0 18px; }.early-report-cta .release-button { color:white; text-decoration:none; }
.early-report-cta h2 { margin:0; padding:0; border:0; font-size:20px; }
#dl-ref-code { overflow-wrap:anywhere; }.download-btn { cursor:pointer; } .purchase-section .purchase-note-mobile-combined { line-height:1.5; }
@media(max-width:760px) { .coverage-copy { font-size:14px; }.preview-address-block { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

@media(max-width:767px) { .page-home .hero-availability { text-align:center; margin:0 0 16px; } }

.regional-preview { margin-top:24px; } .event-preview-item { padding:16px 0; border-top:1px solid #d5dee5; } .event-preview-item h5 { font-size:16px; font-weight:600; } .event-preview-item p { margin:6px 0 0; }
.page-report .stat-row-inner { grid-template-columns:repeat(4,1fr); }
@media(max-width:767px) { .page-report .stat-row-inner { grid-template-columns:repeat(2,1fr); } }

.source-details { margin:20px 0; border-block:1px solid #d5dee5; padding:14px 0; } .source-details summary { cursor:pointer; font-size:15px; font-weight:600; }

/* Report typography and color: preserve the established layout and map palette. */
.page-report {
  --sans: 'IBM Plex Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-base: var(--sans);
  --ink: #17385b;
  --ink-soft: #224e78;
  --text-1: #17385b;
  --text-2: #3b4d61;
  --text-3: #52657a;
  --rule: #c7d6e5;
  --rule-soft: #dce5ee;
  --report-blue: #2456a6;
  --report-action: #2563eb;
  --report-action-hover: #1d4ed8;
  --report-teal: #12696a;
  --report-tint: #eef4fb;
}
.page-report .nav-logo { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
.page-report .nav-links > li > a { font-size:15px; }
.page-report :is(a, button, summary, input):focus-visible { outline:3px solid var(--report-action); outline-offset:4px; }

/* Results read as a document, with the purchase action beside the selection. */
.page-report[data-step="3"] .checkout-hero,
.page-report[data-step="3"] .stat-row,
.page-report[data-step="3"] .progress-wrapper,
.page-report[data-step="3"] .whats-inside-band { display:none; }
.page-report[data-step="3"] .checkout-layout { max-width:1280px; margin:28px auto 64px; gap:48px; }
.page-report[data-step="3"] .checkout-sidebar.align-step3 { padding-top:48px; margin-top:0; }
.page-report #step-3 .back-btn { font-size:15px; font-weight:500; color:var(--report-blue); margin:0 22px 18px 0; padding:4px 0; min-height:32px; }
.page-report #step-3 .preview-card { background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.page-report .report-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 24px; align-items:start; padding:0 0 24px; border-bottom:2px solid var(--report-blue); scroll-margin-top:100px; }
.page-report .report-heading:focus { outline:none; }
.page-report .report-heading h1 { font-size:30px; line-height:1.2; font-weight:600; letter-spacing:-.02em; color:var(--ink); margin:6px 0 0; }
.page-report .report-selection { grid-column:1/-1; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 32px; }
.page-report .report-address { font-size:16px; font-weight:600; line-height:1.5; margin:0; overflow-wrap:anywhere; }
.page-report .report-date { margin:0; font-size:16px; color:var(--text-2); }
.page-report .report-date strong { font-weight:600; }
.page-report .report-date span { white-space:nowrap; color:var(--text-3); }
.page-report #step-3 .purchase-section { margin:0; padding:0; max-width:260px; gap:0; }
.page-report :is(#step-3, .desktop-purchase-bar) .purchase-btn { position:static; width:100%; min-height:48px; margin:0; padding:13px 18px; border:0; border-radius:6px; background:var(--report-action); color:#fff; box-shadow:none; transform:none; font-size:17px; font-weight:600; gap:8px; white-space:nowrap; }
.page-report :is(#step-3, .desktop-purchase-bar) .purchase-btn:hover { background:var(--report-action-hover); }
.page-report :is(#step-3, .desktop-purchase-bar) .purchase-btn:disabled { opacity:.55; cursor:wait; }
.page-report :is(#step-3, .desktop-purchase-bar) .price-badge { padding:0; background:none; border-radius:0; font:inherit; }
.page-report .purchase-caption { order:2; font-size:13px; line-height:1.5; text-align:center; color:var(--text-2); margin:8px 0 0; }
.page-report #step-3 .preview-body { padding:28px 0 0; }
.page-report #step-3 h2 { font-size:21px; line-height:1.35; font-weight:600; letter-spacing:-.01em; color:var(--report-blue); margin:0 0 12px; }
.page-report .weather-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:20px 0 12px; }
.page-report .weather-values div { border:0; padding:0; display:block; }
.page-report .weather-values dt { font-size:15px; font-weight:500; color:var(--text-2); }
.page-report .weather-values dd { font-size:30px; font-weight:600; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums lining-nums; line-height:1.4; margin:6px 0 0; }
.page-report .weather-values div:last-child dd { font-size:26px; padding-top:5px; }
.page-report #preview-gust { color:var(--report-blue); }
.page-report #preview-precip { color:var(--report-teal); }
.page-report .weather-values .measurement-unit { font-size:.53em; font-weight:500; letter-spacing:0; }
.page-report .weather-values .measurement-join { font-size:.55em; font-weight:400; color:var(--text-3); }
.page-report .weather-values .measurement-missing { font-size:20px; font-weight:500; color:var(--text-3); }
.page-report #step-3 .coverage-copy { color:var(--text-2); font-size:16px; line-height:1.65; }
.page-report .regional-preview { border-top:1px solid var(--rule); margin-top:28px; padding-top:24px; }
.page-report .event-preview-item { border-top:1px solid var(--rule-soft); padding:18px 0; }
.page-report .event-preview-item h3 { font-size:19px; font-weight:600; color:var(--ink); margin:0; }
.page-report .event-preview-item.alert-preview-item { border-left:3px solid var(--report-blue); padding:16px 0 16px 18px; margin:16px 0; }
.page-report .alert-preview-item .coverage-copy { overflow-wrap:anywhere; }
.page-report .source-details { margin:12px 0 24px; border-color:var(--rule); padding:16px 0; }
.page-report .source-details summary { font-size:16px; color:var(--report-blue); }
.page-report #step-3 .sample-report-link { display:inline-block; font-size:16px; font-weight:500; color:var(--report-blue); text-decoration:underline; text-underline-offset:3px; margin:2px 0 0; }
.page-report .sample-format-note { font-size:14px; color:var(--text-3); margin:8px 0 0; }
.page-report .mobile-purchase-bar, .page-report .desktop-purchase-bar { display:none; }
.page-report #step3-loading { scroll-margin-top:100px; }
.page-report[data-step="3"] .sample-carousel-wrap { padding:0; background:transparent; border:0; box-shadow:none; }
.page-report[data-step="3"] .sample-carousel-title { font-size:21px; font-weight:600; color:var(--report-blue); }
.page-report[data-step="3"] .sample-sub,
.page-report[data-step="3"] .sample-caption { font-size:14px; line-height:1.6; color:var(--text-2); }
.page-report[data-step="3"] .sample-carousel-counter,
.page-report[data-step="3"] .sample-carousel-dot.active { background:var(--report-blue); }
.page-report[data-step="3"] .sample-carousel-eyebrow { display:none; }
.page-report[data-step="3"] .sample-carousel { padding:16px; border-radius:6px; background:var(--report-tint); border-color:var(--rule); box-shadow:none; }
@media(min-width:1024px) {
  .page-report[data-step="3"] .checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px 56px; }
  .page-report[data-step="3"] .checkout-main,
  .page-report[data-step="3"] #step-3.active,
  .page-report[data-step="3"] #step-3 .preview-card { display:contents; }
  .page-report .report-actions { grid-column:1/-1; grid-row:1; }
  .page-report #step-3 .report-actions .back-btn { margin-bottom:0; }
  .page-report .report-heading { grid-column:1/-1; grid-row:2; align-items:center; gap:16px 32px; padding-bottom:24px; border-bottom:2px solid var(--report-blue); }
  .page-report .report-heading h1 { font-size:36px; font-weight:600; margin:0; letter-spacing:-.02em; }
  .page-report #step-3 .purchase-section { width:320px; max-width:none; }
  .page-report :is(#step-3, .desktop-purchase-bar) .purchase-btn { min-height:62px; padding:18px 26px; font-size:18px; gap:10px; border-radius:6px; }
  .page-report .desktop-purchase-bar { display:block; position:sticky; top:88px; z-index:2; margin-bottom:12px; padding-bottom:12px; background:var(--paper); }
  .page-report .purchase-caption { font-size:13px; margin-top:9px; }
  .page-report .report-address, .page-report .report-date { font-size:16px; }
  .page-report #step-3 .preview-body { grid-column:1; grid-row:3; padding:0; }
  .page-report #step3-loading.is-active { grid-column:1/-1; grid-row:2; }
  .page-report[data-step="3"] .checkout-sidebar.align-step3 { grid-column:2; grid-row:3; padding:0; margin:0; align-self:start; }
  .page-report #step-3 h2 { font-size:23px; }
  .page-report .weather-values { gap:28px; margin-top:24px; }
  .page-report .weather-values dd { font-size:38px; font-weight:500; }
  .page-report .weather-values div:last-child dd { font-size:32px; font-weight:500; }
  .page-report .regional-preview { margin-top:32px; padding-top:28px; }
  .page-report .event-preview-item { padding:20px 0; }
  .page-report[data-step="3"] .sample-carousel { padding:12px; }
}
@media(max-width:767px) {
  .page-report[data-step="3"] .checkout-layout { margin-top:16px; padding:0 20px; gap:40px; }
  .page-report .report-heading { grid-template-columns:1fr; gap:16px; padding-bottom:24px; scroll-margin-top:88px; }
  .page-report .report-selection { grid-row:2; }
  .page-report .report-heading h1 { font-size:28px; }
  .page-report #step-3 .purchase-section { max-width:none; }
  .page-report .purchase-caption { font-size:13px; }
  .page-report .weather-values { grid-template-columns:1fr; gap:0; margin:12px 0; }
  .page-report .weather-values div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--rule-soft); }
  .page-report .weather-values dt { font-size:15px; }
  .page-report .weather-values dd, .page-report .weather-values div:last-child dd { font-size:25px; margin:0; padding:0; white-space:nowrap; }
  .page-report .weather-values .measurement-unit { font-size:.64em; }
  .page-report .mobile-purchase-bar { display:block; position:fixed; z-index:25; bottom:0; left:0; right:0; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); background:var(--paper); border-top:1px solid var(--rule); }
  .page-report[data-step="3"] .footer { padding-bottom:110px; }
  .page-report[data-step="3"] .checkout-sidebar.align-step3 { padding:0; }
}
