/* Mountain View Insurance: a tooled saddle-leather lid showing the Stevens Creek Trail bridge, stitched and shelved on walnut over warm linen. */
@font-face { font-family: "Bevan"; font-weight: 400; font-style: normal; font-display: swap; src: url(/fonts/bevan-400.woff2) format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-weight: 400; font-style: normal; font-display: swap; src: url(/fonts/atkinson-hyperlegible-400.woff2) format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-weight: 700; font-style: normal; font-display: swap; src: url(/fonts/atkinson-hyperlegible-700.woff2) format("woff2"); }

:root {
  color-scheme: light;
  --ink: #2a170b;
  --muted: #4d3a2c;
  --line: #8a6a47;
  --linen: #d6d2c8;
  --paper: #f8f2e2;
  --paper-edge: #cdbf9f;
  --tan: #b87c43;
  --tan-hi: #d9a96f;
  --tan-lo: #8a5426;
  --walnut: #4a2c18;
  --walnut-hi: #6b4527;
  --cream: #f4e7c8;
  --thread: #f1e3c0;
  --seam-red: #2f6f73;
  --grass: #2d5a30;
  --grass-dark: #173019;
  --accent: #2d5a30;
  --accent-dark: #1d4121;
  --display: "Bevan", Georgia, "Times New Roman", serif;
  --text: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
  --leather-grain: radial-gradient(rgba(40, 18, 4, .16) 1px, transparent 1.6px) 0 0 / 5px 5px, radial-gradient(rgba(255, 235, 200, .10) 1px, transparent 1.6px) 2px 3px / 7px 7px;
  --emboss: 0 1px 0 rgba(255, 233, 196, .55), 0 -1px 0 rgba(40, 18, 4, .35);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font: 400 1.0625rem/1.6 var(--text);
  background:
    repeating-linear-gradient(0deg, rgba(70, 50, 30, .05) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(70, 50, 30, .05) 0 1px, transparent 1px 3px),
    var(--linen);
  overflow-x: clip;
}
::selection { background: var(--grass); color: var(--cream); }
a { color: var(--accent-dark); text-decoration-thickness: 2px; text-underline-offset: .2em; }
a:hover { color: var(--ink); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--grass); outline-offset: 3px; box-shadow: 0 0 0 6px var(--cream); }
h1, h2, h3, h4 { margin: 0; }

/* ---------- walnut rail with the brand burned in ---------- */
.site-header {
  border: 0;
  border-bottom: 4px solid #2a170b;
  background:
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .0) 0 38px, rgba(0, 0, 0, .12) 38px 40px, rgba(255, 220, 170, .05) 40px 41px),
    linear-gradient(180deg, var(--walnut-hi), var(--walnut) 55%, #3b2212);
  box-shadow: 0 6px 14px rgba(42, 23, 11, .35);
  color: var(--cream);
}
.header-inner { max-width: 1160px; margin: auto; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; gap: 10px 20px; }
.brand { display: inline-flex; align-items: center; gap: 14px; min-height: 48px; color: var(--cream); text-decoration: none; font-size: 1rem; letter-spacing: 0; line-height: 1.2; }
.brand strong { display: block; font: 400 1.25rem/1.2 var(--display); letter-spacing: .01em; text-shadow: 0 -1px 0 rgba(0, 0, 0, .55); }
.brand:hover { color: #fff; }
.brand-mark { position: relative; display: grid; place-items: center; flex: none; width: 46px; height: 46px; border: 3px dashed var(--seam-red); border-radius: 50%; background: #fbf7ec; color: var(--ink); font: 400 1.35rem/1 var(--display); box-shadow: 0 2px 0 rgba(0, 0, 0, .5), inset 0 -3px 5px rgba(120, 90, 50, .3); }
.header-link { display: inline-flex; align-items: center; min-height: 44px; border: 0; padding: 0; background: transparent; color: var(--cream); white-space: nowrap; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em; text-decoration-color: rgba(244, 231, 200, .6); cursor: pointer; }
.header-link:hover { color: #fff; }
.header-link span { color: var(--thread); }
.site-header :focus-visible { outline-color: var(--cream); box-shadow: none; }

/* ---------- the leather lid (home) ---------- */
.case { width: min(100% - 32px, 1160px); margin: 34px auto 0; }
.lid {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 24px;
  align-items: center;
  padding: clamp(28px, 4vw, 52px);
  border-radius: 22px;
  background: var(--leather-grain), linear-gradient(172deg, #d6a068 0%, #c8914f 46%, #bd8346 100%);
  box-shadow: 0 2px 0 #e0b27c inset, 0 -5px 10px rgba(60, 30, 8, .35) inset, 0 4px 0 #6d4118, 0 18px 34px rgba(42, 23, 11, .38);
}
.lid::before { content: ""; position: absolute; inset: 11px; z-index: -1; border: 3px dashed var(--thread); border-radius: 15px; opacity: .85; pointer-events: none; }
.lid .minimal-shell { display: contents; }
.lid .scene-art { grid-column: 3; grid-row: 1; width: 100%; max-height: 300px; height: auto; justify-self: end; filter: drop-shadow(0 8px 6px rgba(42, 23, 11, .35)); }
.lid .minimal-shell h1 { grid-column: 1 / 3; grid-row: 1; }
.lid .choice-grid { grid-column: 1 / -1; grid-row: 2; }
.lid .agency-line { grid-column: 1 / -1; grid-row: 3; }

.minimal-shell { width: min(100% - 32px, 1160px); min-height: 0; margin: auto; padding: 30px 0 38px; display: flex; flex-direction: column; }
.minimal-shell h1 { margin: 0; font: 400 clamp(2.5rem, 6.4vw, 4.9rem)/1.04 var(--display); letter-spacing: .005em; color: #2a170b; text-shadow: var(--emboss); }
.choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.choice-grid a {
  position: relative;
  min-height: 118px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 0;
  border-radius: 12px;
  background: var(--leather-grain), linear-gradient(180deg, #e2b57c, var(--tan-hi) 60%, #c9935a);
  color: var(--ink);
  font-size: clamp(1.15rem, 1.9vw, 1.4rem);
  font-weight: 700;
  line-height: 1.22;
  text-decoration: none;
  box-shadow: 0 1px 0 #f2d4a8 inset, 0 4px 0 #6d4118, 0 10px 16px rgba(42, 23, 11, .38);
  transition: transform .18s ease, box-shadow .18s ease;
}
.choice-grid a::after { content: ""; position: absolute; inset: 7px; border: 2px dashed rgba(58, 30, 10, .6); border-radius: 8px; pointer-events: none; }
.choice-grid a:hover { transform: translateY(-3px); box-shadow: 0 1px 0 #f2d4a8 inset, 0 7px 0 #6d4118, 0 16px 20px rgba(42, 23, 11, .4); color: var(--ink); }
.choice-grid a:active { transform: translateY(2px); box-shadow: 0 1px 0 #f2d4a8 inset, 0 2px 0 #6d4118, 0 4px 8px rgba(42, 23, 11, .4); }
.choice-grid a:focus-visible { outline-color: var(--grass-dark); box-shadow: 0 4px 0 #6d4118, 0 0 0 6px var(--cream); }
.agency-line { margin: 0; padding: 0; color: #2a170b; font-size: 1rem; font-weight: 700; text-align: center; text-shadow: 0 1px 0 rgba(255, 233, 196, .4); }
.agency-line a { color: #2a170b; }
.seam-art { display: block; width: 100%; height: 22px; margin-top: 14px; opacity: .85; }

@media (min-width: 851px) {
  .case { margin-top: 38px; }
}

/* ---------- walnut shelf and paper pages (local board, city notes) ---------- */
.local-board { position: relative; margin-top: 26px; border-top: 18px solid; border-image: linear-gradient(180deg, var(--walnut-hi), var(--walnut) 70%, #2e1a0c) 1; background: transparent; color: var(--ink); box-shadow: 0 -7px 12px rgba(42, 23, 11, .22); }
.local-wrap { max-width: 1160px; margin: auto; padding: 60px 28px 88px; }
.local-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 0 0 30px; border-bottom: 3px dashed rgba(70, 40, 15, .45); }
.local-kicker, .local-card-kicker, .local-small-label { color: var(--muted); font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.local-kicker { margin: 0 0 14px; }
.local-kicker span { padding: 0 7px; color: var(--seam-red); }
.local-intro h2 { font: 400 clamp(2.4rem, 5.4vw, 4.2rem)/1.05 var(--display); color: #3a200d; text-shadow: var(--emboss); }
.local-intro > div > p:last-child { max-width: 540px; margin: 16px 0 0; color: var(--muted); font-size: 1.0625rem; }
.local-generated { flex: none; margin: 0 0 3px; color: var(--muted); font-size: .875rem; font-weight: 700; }
.local-section-heading { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; margin: 56px 0 26px; padding: 14px 24px; border-radius: 10px; background: var(--leather-grain), linear-gradient(180deg, #cf9a5f, var(--tan));
  box-shadow: 0 1px 0 #ecc592 inset, 0 3px 0 #6d4118, 0 8px 12px rgba(42, 23, 11, .3); }
.local-section-heading::after { content: ""; position: absolute; inset: 5px; border: 2px dashed rgba(58, 30, 10, .55); border-radius: 6px; pointer-events: none; }
.local-section-heading h3 { font: 400 clamp(1.5rem, 3vw, 2.15rem)/1.1 var(--display); color: #2a170b; text-shadow: var(--emboss); }
.local-section-heading > span { color: #2a170b; font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; order: 2; }
.local-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
.local-card { position: relative; min-width: 0; padding: 28px 28px 30px 34px; margin-bottom: 8px; border: 1px solid var(--paper-edge); border-radius: 3px 3px 0 0; background: repeating-linear-gradient(180deg, transparent 0 31px, rgba(120, 90, 50, .07) 31px 32px), var(--paper); box-shadow: 0 1px 0 #fff inset, 0 8px 14px rgba(42, 23, 11, .22); }
.local-card::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 11px; border-left: 2px dashed rgba(47, 111, 115, .55); }
.local-card::after { content: ""; position: absolute; left: -1px; right: -1px; bottom: -11px; height: 11px; background: linear-gradient(135deg, var(--paper) 50%, transparent 50%) 0 0 / 14px 11px, linear-gradient(225deg, var(--paper) 50%, transparent 50%) 0 0 / 14px 11px; filter: drop-shadow(0 4px 3px rgba(42, 23, 11, .18)); }
.local-card h4 { margin: 8px 0 18px; font: 400 clamp(1.5rem, 2.6vw, 2rem)/1.12 var(--display); color: #3a200d; }
.local-card-kicker { margin: 0; }
.local-card .local-copy { margin: 10px 0; color: #3b2a1d; }
.local-card .local-subtle, .local-subtle { display: block; color: var(--muted); font-size: .9375rem; }
.local-source { margin: 24px 0 0; padding-top: 14px; border-top: 2px dashed rgba(70, 40, 15, .35); color: var(--muted); font-size: .875rem; font-weight: 700; }
.local-link { display: inline-block; margin-top: 11px; padding: 6px 0; color: var(--accent-dark); font-size: 1rem; font-weight: 700; text-underline-offset: 3px; }
.local-wide { grid-column: 1 / -1; }
.local-weather-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: end; padding: 10px 0 26px; border-bottom: 2px dashed rgba(70, 40, 15, .35); }
.local-weather-lead > div:first-child { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px 22px; }
.local-big-temp { font: 400 clamp(4.2rem, 11vw, 7rem)/.9 var(--display); color: var(--ink); text-shadow: var(--emboss); }
.local-weather-condition { max-width: 200px; color: #3b2a1d; font-size: 1.125rem; }
.local-weather-note { padding-bottom: 7px; display: flex; flex-direction: column; gap: 5px; color: #3b2a1d; font-size: 1rem; }
.local-weather-note strong { color: var(--ink); font-size: 1.125rem; }
.local-day-strip, .local-hour-strip { display: flex; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--tan-lo) transparent; }
.local-day-strip { gap: 0; padding: 22px 0; border-bottom: 2px dashed rgba(70, 40, 15, .35); }
.local-day { flex: 0 0 158px; padding: 4px 14px; border-right: 2px dashed rgba(70, 40, 15, .3); display: flex; flex-direction: column; gap: 5px; font-size: .875rem; color: var(--muted); line-height: 1.35; }
.local-day:last-child { border-right: 0; }
.local-day strong { color: var(--ink); font-size: .9375rem; }
.local-day-temp { color: #8a1f17; font: 400 1.5rem/1.1 var(--display); }
.local-small-label { margin: 22px 0 14px; }
.local-hour-strip { gap: 10px; padding-bottom: 8px; }
.local-hour { flex: 0 0 96px; padding: 11px 10px; border-bottom: 4px solid #6d4118; background: #e2b57c; display: flex; flex-direction: column; gap: 3px; font-size: .8125rem; color: #2a170b; }
.local-hour strong { color: var(--ink); font-size: 1.3rem; }
.local-big-number { margin: 14px 0 8px; color: #8a1f17; font: 400 4.6rem/.95 var(--display); }
.local-radar { margin: 19px 0 0; padding: 10px; overflow: hidden; background: #d9a96f; border-bottom: 4px solid #6d4118; }
.local-radar img { display: block; width: 100%; height: auto; border-radius: 2px; }
.local-radar figcaption { padding: 7px 4px 2px; color: #2a170b; font-size: .8125rem; font-weight: 700; }
.local-alert, .local-advisory { display: flex; gap: 19px; padding: 22px 26px; margin-top: 22px; border: 2px solid #8a1f17; border-radius: 6px; background: #fbe6dc; color: var(--ink); box-shadow: 0 6px 12px rgba(42, 23, 11, .2); }
.local-alert-icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #8a1f17; color: #fff; font-weight: 700; }
.local-alert h3, .local-advisory h3 { margin: 6px 0 9px; font: 700 1.25rem/1.35 var(--text); }
.local-alert p, .local-advisory p { margin-bottom: 0; }
.local-advisory { align-items: center; border-color: #3d6b3e; background: #e1ead2; }
.local-advisory-mark { flex: none; color: #2d5a30; font-size: 2.5rem; line-height: 1; }
.local-advisory h3 { font: 400 clamp(1.25rem, 2.4vw, 1.7rem)/1.2 var(--display); }
.local-advisory-alert { border-color: #8a1f17; background: #fbe6dc; }
.local-row { padding: 13px 0; border-bottom: 2px dashed rgba(70, 40, 15, .22); }
.local-row:first-of-type { padding-top: 0; }
.local-row:last-of-type { border-bottom: 0; }
.local-row-title { display: block; color: var(--ink); font-size: 1.0625rem; font-weight: 700; line-height: 1.38; text-decoration-color: var(--tan-lo); text-underline-offset: 4px; }
.local-row-detail { display: block; margin-top: 4px; color: var(--muted); font-size: .9375rem; }
.local-news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 35px; }
.local-market-name { display: block; font-size: 1.0625rem; }
.local-lottery { padding: 12px 0; border-bottom: 2px dashed rgba(70, 40, 15, .22); display: flex; flex-direction: column; gap: 5px; }
.local-lottery strong { font: 400 1.4rem/1.2 var(--display); letter-spacing: .03em; }

/* ---------- quote and question pages: a tooled plaque, then paper sheets ---------- */
.page-shell { max-width: 1160px; margin: auto; padding: 44px 28px 80px; }
.intro { position: relative; isolation: isolate; padding: clamp(28px, 4vw, 46px); border-radius: 20px; background: var(--leather-grain), linear-gradient(172deg, #d6a068, #c8914f 50%, #bd8346); box-shadow: 0 2px 0 #e0b27c inset, 0 -5px 10px rgba(60, 30, 8, .35) inset, 0 4px 0 #6d4118, 0 16px 28px rgba(42, 23, 11, .34); }
.intro::before { content: ""; position: absolute; inset: 10px; z-index: -1; border: 3px dashed var(--thread); border-radius: 13px; opacity: .85; pointer-events: none; }
.eyebrow { margin: 0 0 10px; color: #2a170b; font-size: .875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.intro h1 { font: 400 clamp(2.4rem, 5.6vw, 4.2rem)/1.06 var(--display); color: #24120a; text-shadow: var(--emboss); }
.intro-copy { margin: 16px 0 0; color: #2a170b; font-size: clamp(1.0625rem, 1.8vw, 1.25rem); max-width: 680px; }

.options { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.option { min-width: 0; min-height: 247px; padding: 26px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--paper-edge); border-radius: 4px; background: var(--paper); box-shadow: 0 8px 14px rgba(42, 23, 11, .22); transition: transform .18s ease; }
.option:hover { transform: translateY(-3px); }
.option-number { color: var(--seam-red); font: 400 1rem/1 var(--display); letter-spacing: .08em; }
.option h2 { margin: 16px 0 8px; font: 400 clamp(1.5rem, 2.6vw, 1.9rem)/1.12 var(--display); color: #3a200d; }
.option p { margin: 0; color: var(--muted); font-size: 1rem; max-width: 30ch; }
.option .option-action { margin-top: auto; padding: 12px 16px; min-height: 48px; width: 100%; display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; border: 0; border-radius: 8px; color: var(--cream); background: var(--grass); box-shadow: 0 3px 0 var(--grass-dark); font-weight: 700; font-size: 1rem; line-height: 1.25; text-decoration: none; text-align: left; cursor: pointer; }
.option-action:hover { background: var(--accent-dark); color: #fff; }
.option-action span { font-size: 1.2rem; line-height: 1; }
.option .option-note { margin-top: 8px; font-size: .9375rem; color: var(--muted); }

.question-section, .quote-results { position: relative; margin-top: 44px; padding: 40px 40px 40px 52px; border: 1px solid var(--paper-edge); border-radius: 4px; background: repeating-linear-gradient(180deg, transparent 0 35px, rgba(120, 90, 50, .06) 35px 36px), var(--paper); box-shadow: 0 1px 0 #fff inset, 0 10px 18px rgba(42, 23, 11, .22); }
.question-section::before, .quote-form fieldset::before, .quote-results::before { content: ""; position: absolute; top: 14px; bottom: 14px; left: 14px; border-left: 2px dashed rgba(47, 111, 115, .55); pointer-events: none; }
.question-heading h2 { font: 400 clamp(1.8rem, 3.6vw, 2.6rem)/1.12 var(--display); color: #3a200d; }
.question-heading > p:last-child { margin: 12px 0 0; color: var(--muted); }
.question-form { margin-top: 10px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 22px; }
.form-grid label { display: flex; flex-direction: column; gap: 8px; font-weight: 700; font-size: 1rem; color: var(--ink); }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-width: 0; border: 2px solid #6a4a2c; border-radius: 6px; padding: 12px 14px; color: var(--ink); background: #fffdf6; box-shadow: inset 0 3px 5px rgba(70, 40, 15, .16); font-weight: 400; }
.form-grid input, .form-grid select { min-height: 50px; }
.form-grid textarea { min-height: 140px; resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--grass); }
.form-grid .message-field { grid-column: 1 / -1; }
.form-grid .checkbox-row, .quote-form > fieldset > .checkbox-row { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; font-weight: 400; }
.form-grid .checkbox-row { grid-column: 1 / -1; }
.form-grid .checkbox-row input, .quote-form > fieldset > .checkbox-row input { width: 24px; min-width: 24px; height: 24px; min-height: 24px; margin: 1px 0 0; accent-color: var(--grass); box-shadow: none; }
.quote-form > fieldset > .checkbox-row { margin-top: 22px; }
.honeypot { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.form-bottom { margin-top: 28px; }
.form-bottom button, .quote-submit button, .quote-results button { position: relative; min-height: 54px; display: inline-flex; align-items: center; gap: 12px; border: 0; border-radius: 9px; padding: 13px 24px; color: var(--cream); background: linear-gradient(180deg, #3a7040, var(--grass) 55%, #234a27); box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 4px 0 var(--grass-dark), 0 10px 14px rgba(42, 23, 11, .3); font-weight: 700; font-size: 1.0625rem; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.form-bottom button:hover, .quote-submit button:hover, .quote-results button:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 6px 0 var(--grass-dark), 0 14px 16px rgba(42, 23, 11, .3); }
.form-bottom button:active, .quote-submit button:active, .quote-results button:active { transform: translateY(2px); box-shadow: 0 2px 0 var(--grass-dark); }
.quote-submit button:disabled, .quote-results button:disabled { cursor: wait; opacity: .65; }
.submit-note { max-width: 640px; margin: 18px 0 0; color: var(--muted); font-size: .9375rem; }
.form-status { min-height: 22px; margin: 13px 0 0; color: var(--accent-dark); font-weight: 700; font-size: 1rem; }

.product-switch { display: flex; flex-wrap: wrap; gap: 12px; margin: 36px 0 18px; }
.product-switch a { min-height: 48px; display: inline-flex; align-items: center; border: 2px solid #5b574d; border-radius: 8px; padding: 10px 24px; background: linear-gradient(180deg, #f6f4ee, #cfcbc0 55%, #aeaa9f); color: var(--ink); font-weight: 700; text-decoration: none; box-shadow: 0 1px 0 #fff inset, 0 4px 0 #5b574d, 0 8px 10px rgba(42, 23, 11, .25); }
.product-switch a:hover { color: var(--ink); background: linear-gradient(180deg, #fff, #dad6cb 55%, #b8b4a9); }
.product-switch a[aria-current="page"] { border-color: var(--grass-dark); color: var(--cream); background: linear-gradient(180deg, #234a27, var(--grass)); box-shadow: 0 3px 8px rgba(0, 0, 0, .45) inset, 0 1px 0 rgba(255, 255, 255, .3); transform: translateY(3px); }
.quote-form fieldset { position: relative; min-width: 0; margin: 26px 0; padding: 34px 34px 34px 50px; border: 1px solid var(--paper-edge); border-radius: 4px; background: var(--paper); box-shadow: 0 1px 0 #fff inset, 0 8px 14px rgba(42, 23, 11, .2); }
.quote-form legend { padding: 0 10px; color: #2a170b; font: 400 1.4rem/1.25 var(--display); text-shadow: var(--emboss); text-decoration: underline dashed var(--seam-red) 3px; text-underline-offset: 8px; }
.quote-form .form-grid { margin-top: 6px; }
.quote-submit { margin: 26px 0 56px; max-width: 720px; }
#quote-status { color: var(--accent-dark); font-weight: 700; }
.quote-results { margin: 30px 0 70px; }
.quote-results h2 { margin: 0 0 16px; font: 400 clamp(1.7rem, 3vw, 2.3rem)/1.12 var(--display); color: #3a200d; }
.quote-results article { border-top: 2px dashed rgba(70, 40, 15, .35); padding: 20px 0; }
.quote-results article h3 { margin: 0 0 5px; font: 700 1.25rem/1.3 var(--text); }
.quote-results article p { margin: 4px 0 13px; }

.site-footer { margin: 40px 0 0; padding: 26px max(20px, calc((100% - 1160px) / 2 + 28px)) 34px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 26px; border-top: 4px solid #2a170b; background: linear-gradient(180deg, var(--walnut), #36200f); color: var(--cream); font-size: 1rem; }
.site-footer p { margin: 0; }
.site-footer > p:first-child { color: var(--cream); font-weight: 700; }
.site-footer a { display: inline-flex; align-items: center; min-height: 44px; color: var(--cream); text-underline-offset: 4px; }
.site-footer a:hover { color: #fff; }
.site-footer .footer-note { flex-basis: 100%; color: #e7d9b6; }

@media (max-width: 850px) {
  .options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .local-intro { align-items: flex-start; flex-direction: column; }
  .lid { grid-template-columns: 1fr; }
  .lid .minimal-shell h1 { grid-column: 1; grid-row: 2; }
  .lid .scene-art { grid-column: 1; grid-row: 1; justify-self: center; width: min(62%, 300px); }
  .lid .choice-grid { grid-row: 3; }
  .lid .agency-line { grid-row: 4; }
}

@media (max-width: 590px) {
  .header-inner { padding: 10px 16px; flex-wrap: wrap; }
  .brand { gap: 10px; }
  .brand strong { font-size: 1.05rem; }
  .brand-mark { width: 40px; height: 40px; font-size: 1.15rem; }
  .header-link { margin-left: auto; font-size: .9375rem; white-space: normal; text-align: right; }
  .case { margin-top: 22px; }
  .lid { padding: 26px 20px 28px; border-radius: 16px; }
  .choice-grid { grid-template-columns: 1fr; gap: 14px; }
  .choice-grid a { min-height: 84px; padding: 18px 22px; }
  .page-shell { padding: 30px 16px 56px; }
  .intro { padding: 26px 22px; }
  .options { margin-top: 34px; grid-template-columns: 1fr; gap: 14px; }
  .option { min-height: 0; padding: 22px; }
  .question-section, .quote-results { padding: 28px 18px 28px 30px; }
  .form-grid { grid-template-columns: 1fr; gap: 18px; }
  .quote-form fieldset { padding: 30px 16px 26px 30px; }
  .site-footer { padding: 24px 20px 32px; }
  .local-wrap { padding: 44px 16px 64px; }
  .local-section-heading { margin-top: 44px; align-items: flex-start; flex-direction: column; gap: 4px; padding: 12px 20px; }
  .local-section-heading > span { order: 0; }
  .local-grid, .local-weather-lead, .local-news-list { grid-template-columns: 1fr; }
  .local-card { padding: 24px 18px 26px 30px; }
  .local-weather-lead { gap: 14px; }
  .local-alert, .local-advisory { padding: 20px 16px; gap: 12px; }
  .local-day { flex-basis: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .choice-grid a, .option, .form-bottom button, .quote-submit button, .quote-results button { transition: none; }
}
