/* Manteca Insurance: the Pumpkin Fair weigh-off at Library Park as a sticker album. Matte blue-gray album paper printed with ghosted
   outlines; glossy pumpkin stickers sit proud of the page; entry numbers are slot numbers; a press-down seats each sticker. */
@font-face { font-family: "Bowlby One"; font-weight: 400; font-style: normal; font-display: swap; src: url(/fonts/bowlby-one-400.woff2) format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-weight: 400; font-style: normal; font-display: swap; src: url(/fonts/hanken-grotesk-400.woff2) format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-weight: 700; font-style: normal; font-display: swap; src: url(/fonts/hanken-grotesk-700.woff2) format("woff2"); }

:root {
  color-scheme: light;
  --paper: #CDD7CF;
  --page: #E4EAE0;
  --stock: #FBFCF7;
  --ghost: #7A8D81;
  --ghost-ink: #3F5146;
  --ink: #16231A;
  --muted: #2F4036;
  --vine: #1F3023;
  --vine-2: #2D4431;
  --leaf: #4C7340;
  --cream: #F6F0DB;
  --pk: #EE7A12;
  --pk-deep: #B24C06;
  --red: #A82E12;
  --red-deep: #7A1F0A;
  --gold: #E7B02A;
  --jarrah: #43646C;
  --lumina: #F6F2E4;
  --moss: #4A6B22;
  --line: #5E7164;
  --accent: #A82E12;
  --accent-dark: #7A1F0A;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --head: "Bowlby One", "Arial Black", Impact, sans-serif;
  --text: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lift: 0 1px 0 rgba(255,255,255,.75) inset, 0 10px 14px -8px rgba(22,35,26,.7), 0 2px 3px rgba(22,35,26,.35);
  --seat: 0 1px 0 rgba(255,255,255,.55) inset, 0 1px 1px rgba(22,35,26,.55);
  --gloss: linear-gradient(165deg, rgba(255,255,255,.5) 0, rgba(255,255,255,.12) 34%, rgba(255,255,255,0) 52%, rgba(0,0,0,.1) 100%);
  --pumpkin-mark: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='none' stroke='white' stroke-opacity='.4' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M50 22C58 18 70 21 80 31C90 41 92 59 82 73C74 84 60 89 50 89C40 89 26 84 18 73C8 59 10 41 20 31C30 21 42 18 50 22Z'/><path d='M40 20C26 39 26 71 40 88'/><path d='M60 20C74 39 74 71 60 88'/><path d='M47 22C47 14 49 10 55 8'/></g></svg>");
  --pumpkin-ghost: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='none' stroke='%237A8D81' stroke-opacity='.9' stroke-width='2.6' stroke-dasharray='6 5' stroke-linecap='round' stroke-linejoin='round'><path d='M50 22C58 18 70 21 80 31C90 41 92 59 82 73C74 84 60 89 50 89C40 89 26 84 18 73C8 59 10 41 20 31C30 21 42 18 50 22Z'/><path d='M40 20C26 39 26 71 40 88'/><path d='M60 20C74 39 74 71 60 88'/></g></svg>");
  --fiber: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .1  0 0 0 0 .2  0 0 0 0 .14  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); font: 400 1.0625rem/1.6 var(--text); background: var(--fiber), var(--paper); overflow-x: clip; }
::selection { background: var(--gold); color: var(--ink); }
img { max-width: 100%; }
a { color: var(--red-deep); text-decoration-thickness: 2px; text-underline-offset: .2em; }
a:hover { color: var(--ink); text-decoration-thickness: 3px; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { margin: 0; font-family: var(--head); font-weight: 400; color: var(--ink); text-wrap: balance; }

/* ---------- header: the album spine ---------- */
.site-header { position: relative; z-index: 5; background: var(--vine); border-bottom: 6px solid var(--pk); box-shadow: 0 6px 0 var(--vine-2); }
.header-inner { width: min(100% - 32px, 1180px); max-width: none; margin: auto; padding: 8px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px 20px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; color: var(--cream); text-decoration: none; font-size: 1rem; line-height: 1.2; letter-spacing: 0; }
.brand strong { display: block; font: 400 1.15rem/1.15 var(--head); color: var(--cream); }
.brand:hover { color: #fff; }
.brand-mark { position: relative; display: grid; place-items: center; flex: none; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--pk); color: var(--ink); font: 400 1.5rem/1 var(--head); box-shadow: var(--lift); }
.brand-mark::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--gloss); pointer-events: none; }
.header-link { display: inline-flex; align-items: center; min-height: 44px; border: 0; padding: 0 2px; background: transparent; color: var(--cream); white-space: nowrap; font-weight: 700; text-decoration: underline; text-decoration-style: dashed; text-decoration-thickness: 2px; text-underline-offset: .28em; cursor: pointer; }
.header-link:hover { color: var(--gold); text-decoration-style: solid; }
.header-link span { color: var(--gold); }

/* ---------- home: one album page ---------- */
.album { width: min(100% - 24px, 1220px); margin: 0 auto 0; background: var(--page); background-image: var(--fiber); border-radius: 0 0 18px 18px; box-shadow: 0 0 0 2px var(--ghost) inset, 0 20px 30px -22px rgba(22,35,26,.7); }
.weigh-band { padding: 22px 16px 0; overflow: hidden; }
.weigh-art { display: block; width: 100%; height: auto; max-height: 250px; }
.shelf-band { padding: 8px 20px 34px; }
.shelf-art { display: block; width: 100%; height: auto; }

.minimal-shell { width: min(100% - 40px, 1120px); min-height: 0; margin: 0 auto; padding: 14px 0 6px; display: block; }
.minimal-shell h1 { margin: 6px 0 30px; max-width: 14ch; font-family: var(--head); font-weight: 400; font-size: clamp(2.5rem, 6.4vw, 5rem); line-height: 1; letter-spacing: -.01em; color: var(--ink); text-transform: uppercase; }
.minimal-shell h1::after { content: ""; display: block; width: 5.2rem; height: 10px; margin-top: 18px; border-radius: 5px; background: var(--pk); box-shadow: 0 0 0 2px var(--ink) inset; }

/* the six quote buttons are sticker slots 01-06; 07-08 stay empty ghost outlines */
.choice-grid { counter-reset: slot; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 22px; padding: 6px 0 4px; }
.choice-grid a { counter-increment: slot; position: relative; isolation: isolate; min-width: 0; min-height: 168px; padding: 58px 16px 16px; display: flex; align-items: flex-end; border: 0; border-radius: 18px; background-color: var(--pk); background-image: var(--pumpkin-mark); background-repeat: no-repeat; background-position: right 10px top 8px; background-size: 54px 54px; color: var(--ink); font: 700 1.2rem/1.2 var(--text); letter-spacing: 0; text-decoration: none; box-shadow: var(--lift); transform: translateY(0); transition: transform .22s var(--ease), box-shadow .22s var(--ease); animation: seat .6s var(--ease) both; }
.choice-grid a:nth-child(2) { animation-delay: .07s; }
.choice-grid a:nth-child(3) { animation-delay: .14s; }
.choice-grid a:nth-child(4) { animation-delay: .21s; }
.choice-grid a:nth-child(5) { animation-delay: .28s; }
.choice-grid a:nth-child(6) { animation-delay: .35s; }
.choice-grid a::before { content: counter(slot, decimal-leading-zero) / ""; position: absolute; top: 12px; left: 14px; font: 400 1.9rem/1 var(--head); color: currentColor; opacity: .92; }
.choice-grid a::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 18px; background: var(--gloss); pointer-events: none; }
.choice-grid a:nth-child(2) { background-color: var(--red); color: #FFF6E8; }
.choice-grid a:nth-child(3) { background-color: var(--gold); }
.choice-grid a:nth-child(4) { background-color: var(--jarrah); color: #fff; }
.choice-grid a:nth-child(5) { background-color: var(--lumina); }
.choice-grid a:nth-child(6) { background-color: #8FAE45; }
.choice-grid a:hover { transform: translateY(2px); box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 6px 9px -6px rgba(22,35,26,.7), 0 1px 2px rgba(22,35,26,.35); color: inherit; }
.choice-grid a:nth-child(2):hover, .choice-grid a:nth-child(4):hover { color: #fff; }
.choice-grid a:nth-child(1):hover, .choice-grid a:nth-child(3):hover, .choice-grid a:nth-child(5):hover, .choice-grid a:nth-child(6):hover { color: var(--ink); }
.choice-grid a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em; }
.choice-grid a:focus-visible { outline: 4px solid var(--ink); outline-offset: 5px; border-radius: 18px; }
.choice-grid a:active { transform: translateY(4px) scale(.985); box-shadow: var(--seat); transition-duration: .08s; }
.choice-grid::after { content: "07 08" / ""; grid-column: span 2; display: flex; align-items: flex-end; min-height: 168px; padding: 0 0 14px 16px; border: 3px dashed var(--ghost); border-radius: 18px; background: var(--pumpkin-ghost) no-repeat right 20px center / 86px 86px, var(--pumpkin-ghost) no-repeat right 126px center / 86px 86px; color: var(--ghost-ink); font: 400 1.9rem/1 var(--head); letter-spacing: .08em; word-spacing: .6em; }
@keyframes seat { from { transform: translateY(-9px) scale(1.035); box-shadow: 0 22px 20px -12px rgba(22,35,26,.55), 0 2px 3px rgba(22,35,26,.2); } to { transform: translateY(0) scale(1); } }
.agency-line { margin: 30px 0 0; padding: 0; color: var(--muted); font-size: 1.0625rem; font-weight: 700; }
.agency-line a { display: inline-block; padding-block: 10px; color: var(--red-deep); }
.agency-line a:hover { color: var(--ink); }

/* ---------- local board: slots on the same paper ---------- */
.local-board { border-top: 0; background: none; color: var(--ink); }
.local-wrap { width: min(100% - 24px, 1220px); max-width: none; margin: auto; padding: 72px clamp(16px, 4vw, 40px) 92px; }
.local-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px 36px; padding: 0 0 26px; border-bottom: 4px dashed var(--ghost); }
.local-kicker, .local-card-kicker, .local-section-heading > span, .local-small-label { color: var(--ghost-ink); font-size: .95rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.local-kicker { margin: 0 0 14px; }
.local-kicker span { padding: 0 6px; color: var(--red-deep); }
.local-intro h2 { font-family: var(--head); font-weight: 400; font-size: clamp(2.2rem, 5.4vw, 4rem); line-height: 1.02; text-transform: uppercase; color: var(--ink); }
.local-intro > div > p:last-child { max-width: 46ch; margin: 18px 0 0; color: var(--ink); font-size: 1.2rem; }
.local-generated { flex: none; margin: 0; color: var(--muted); font-size: .95rem; font-weight: 700; text-align: right; }
.local-section-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px; margin: 64px 0 30px; }
.local-section-heading h3 { order: 1; font-family: var(--head); font-weight: 400; font-size: clamp(1.7rem, 3.6vw, 2.5rem); line-height: 1.05; text-transform: uppercase; color: var(--ink); }
.local-section-heading > span { order: 2; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 2.5px dashed var(--ghost); border-radius: 999px; color: var(--ghost-ink); }
.local-grid { counter-reset: cell; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; align-items: start; }
.local-grid:empty { display: none; }
.local-card { counter-increment: cell; position: relative; min-width: 0; padding: 42px 30px 30px; border: 0; border-radius: 18px; background: linear-gradient(170deg, #fff 0, var(--stock) 40%, #EEF2EA 100%); box-shadow: var(--lift); outline: 3px dashed var(--ghost); outline-offset: 7px; }
.local-card::before { content: counter(cell, decimal-leading-zero) / ""; position: absolute; top: -17px; left: 24px; display: grid; place-items: center; min-width: 52px; height: 34px; padding: 0 10px; border-radius: 999px; background: var(--pk); color: var(--ink); font: 400 1.05rem/1 var(--head); box-shadow: var(--lift); }
.local-card:nth-child(4n+2)::before { background: var(--red); color: #FFF6E8; }
.local-card:nth-child(4n+3)::before { background: var(--gold); }
.local-card:nth-child(4n+4)::before { background: var(--jarrah); color: #fff; }
.local-card h4 { margin: 4px 0 20px; font-family: var(--head); font-weight: 400; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.1; text-transform: uppercase; color: var(--ink); }
.local-card-kicker { margin: 0; }
.local-card .local-copy { margin: 10px 0; color: var(--ink); }
.local-card .local-subtle, .local-subtle { display: block; color: var(--muted); font-size: 1rem; }
.local-source { margin: 24px 0 0; padding-top: 14px; border-top: 2.5px dotted var(--ghost); color: var(--muted); font-size: .95rem; font-weight: 700; letter-spacing: 0; }
.local-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; color: var(--red-deep); font-size: 1rem; font-weight: 700; text-underline-offset: .22em; }
.local-link:hover { color: var(--ink); }
.local-wide { grid-column: 1 / -1; }
.local-weather-lead { display: grid; grid-template-columns: auto 1fr; gap: 18px 40px; align-items: end; padding: 12px 0 26px; border-bottom: 3px dashed var(--ghost); }
.local-weather-lead > div:first-child { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 22px; }
.local-big-temp { color: var(--red); font: 400 clamp(4.6rem, 10vw, 7rem)/.9 var(--head); }
.local-weather-condition { max-width: 12em; color: var(--ink); font-size: 1.3rem; font-weight: 700; }
.local-weather-note { padding: 0; display: flex; flex-direction: column; gap: 5px; color: var(--ink); font-size: 1.0625rem; }
.local-weather-note strong { color: var(--ink); font-size: 1.15rem; }
.local-day-strip, .local-hour-strip { display: flex; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--ghost) transparent; }
.local-day-strip { gap: 12px; padding: 24px 4px 14px; border-bottom: 0; }
.local-hour-strip { gap: 10px; padding: 4px 4px 14px; }
.local-day { flex: 0 0 142px; padding: 14px 14px 12px; border: 0; border-top: 4px dashed var(--ghost); border-radius: 0; display: flex; flex-direction: column; gap: 4px; font-size: 1rem; color: var(--muted); line-height: 1.3; }
.local-day:first-child { border-top: 4px solid var(--pk-deep); }
.local-day strong { color: var(--ink); font-size: 1rem; }
.local-day-temp { color: var(--red); font: 400 1.5rem/1.1 var(--head); }
.local-small-label { margin: 22px 0 8px; }
.local-hour { flex: 0 0 96px; padding: 11px 10px; border-radius: 0; border-top: 4px solid var(--ghost); display: flex; flex-direction: column; gap: 3px; font-size: 1rem; color: var(--muted); }
.local-hour strong { color: var(--ink); font: 400 1.4rem/1.1 var(--head); }
.local-big-number { margin: 14px 0 8px; color: var(--red); font: 400 4.4rem/.95 var(--head); }
.local-radar { margin: 20px 0 0; overflow: hidden; border: 3px solid var(--ink); border-radius: 0; background: #fff; }
.local-radar img { display: block; width: 100%; height: auto; }
.local-radar figcaption { padding: 7px 12px; background: var(--page); color: var(--muted); font-size: .9rem; font-weight: 700; }
.local-alert, .local-advisory { position: relative; display: flex; gap: 18px; padding: 24px 26px; margin-top: 24px; border: 0; border-radius: 18px; background: var(--red); color: #FFF6E8; box-shadow: var(--lift); outline: 3px dashed var(--red-deep); outline-offset: 6px; }
.local-alert h3, .local-advisory h3 { margin: 6px 0 8px; font-family: var(--head); font-weight: 400; font-size: clamp(1.15rem, 2.2vw, 1.5rem); line-height: 1.25; color: #FFF6E8; }
.local-alert p, .local-advisory p, .local-alert .local-card-kicker, .local-alert .local-subtle, .local-advisory .local-card-kicker, .local-alert .local-source, .local-advisory .local-source, .local-alert .local-copy, .local-advisory .local-copy { color: #FFF6E8; }
.local-alert p, .local-advisory p { margin-bottom: 0; }
.local-alert .local-source, .local-advisory .local-source { border-top-color: rgba(255,246,232,.55); }
.local-alert a, .local-advisory a, .local-alert .local-link, .local-advisory .local-link { color: #FFF6E8; }
.local-alert a:hover, .local-advisory a:hover { color: var(--gold); }
.local-alert-icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gold); color: var(--ink); font: 400 1.2rem/1 var(--head); box-shadow: var(--seat); }
.local-advisory { align-items: center; background: var(--moss); outline-color: var(--moss); }
.local-advisory-mark { flex: none; color: var(--gold); font-size: 2.4rem; line-height: 1; }
.local-advisory-alert { background: var(--red); outline-color: var(--red-deep); }
.local-row { padding: 14px 0; border-bottom: 2.5px dotted var(--ghost); }
.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.35; text-decoration-color: var(--ghost); text-underline-offset: .22em; text-decoration-thickness: 2px; }
.local-row-title:hover { color: var(--red-deep); }
.local-row-detail { display: block; margin-top: 4px; color: var(--muted); font-size: .95rem; }
.local-news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
.local-market-name { display: block; font-size: 1.15rem; }
.local-lottery { padding: 12px 0; border-bottom: 2.5px dotted var(--ghost); display: flex; flex-direction: column; gap: 5px; }
.local-lottery strong { font: 400 1.4rem/1.2 var(--head); letter-spacing: .04em; color: var(--ink); }

/* ---------- quote and question pages ---------- */
.page-shell { width: min(100% - 24px, 1220px); max-width: none; margin: 0 auto; padding: 56px clamp(16px, 4vw, 48px) 80px; background: var(--page); background-image: var(--fiber); border-radius: 0 0 18px 18px; box-shadow: 0 0 0 2px var(--ghost) inset; }
.eyebrow { margin: 0 0 12px; color: var(--ghost-ink); font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.intro h1 { max-width: 16ch; font-family: var(--head); font-weight: 400; font-size: clamp(2.4rem, 6vw, 4.4rem); line-height: 1.02; text-transform: uppercase; color: var(--ink); }
.intro h1::after { content: ""; display: block; width: 5.2rem; height: 10px; margin-top: 18px; border-radius: 5px; background: var(--pk); box-shadow: 0 0 0 2px var(--ink) inset; }
.intro-copy { margin: 22px 0 0; max-width: 40rem; color: var(--ink); font-size: 1.2rem; }

.product-switch { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 22px; }
.product-switch a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 3px dashed var(--ghost); border-radius: 14px; background: transparent; color: var(--ink); font-weight: 700; text-decoration: none; transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.product-switch a:hover { color: var(--ink); background: var(--stock); border-style: solid; }
.product-switch a[aria-current="page"] { border: 0; background: var(--pk); color: var(--ink); box-shadow: var(--lift); padding: 0 25px; position: relative; }
.product-switch a[aria-current="page"]::after { content: ""; position: absolute; inset: 0; border-radius: 14px; background: var(--gloss); pointer-events: none; }
.quote-form { counter-reset: fs; }
.quote-form fieldset { counter-increment: fs; position: relative; min-width: 0; margin: 34px 0; padding: 36px 28px 28px; border: 3px dashed var(--ghost); border-radius: 18px; background: transparent; }
.quote-form legend { display: flex; align-items: center; gap: 12px; padding: 0 12px; margin-left: -4px; font: 400 1.35rem/1.1 var(--head); text-transform: uppercase; color: var(--ink); background: var(--page); }
.quote-form legend::before { content: counter(fs, decimal-leading-zero) / ""; display: grid; place-items: center; min-width: 48px; height: 32px; padding: 0 10px; border-radius: 999px; background: var(--pk); color: var(--ink); font: 400 1rem/1 var(--head); box-shadow: var(--lift); }
.quote-form .form-grid { margin-top: 4px; }

.question-section { scroll-margin-top: 25px; margin-top: 44px; padding: 36px 28px 30px; border: 3px dashed var(--ghost); border-radius: 18px; background: transparent; }
.question-heading h2 { font-size: 2rem; }
.question-form { margin: 0; }
.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; color: var(--ink); font-weight: 700; font-size: 1.0625rem; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-width: 0; border: 2.5px solid var(--line); border-radius: 12px; padding: 12px 14px; color: var(--ink); background: var(--stock); font-weight: 400; box-shadow: 0 2px 0 rgba(22,35,26,.2) inset; }
.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 { outline: 3px solid var(--ink); outline-offset: 2px; border-color: var(--ink); background: #fff; }
.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; min-height: 44px; 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: 2px 0 0; padding: 0; accent-color: var(--red); }
.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; }
.quote-submit { margin: 30px 0 10px; max-width: 720px; }
.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: 16px; padding: 12px 26px; color: var(--ink); background: var(--pk); font: 700 1.125rem/1.2 var(--text); cursor: pointer; box-shadow: var(--lift); transition: transform .2s var(--ease), box-shadow .2s var(--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,.7) inset, 0 6px 9px -6px rgba(22,35,26,.7); }
.form-bottom button:active, .quote-submit button:active, .quote-results button:active { transform: translateY(4px) scale(.985); box-shadow: var(--seat); transition-duration: .08s; }
.quote-submit button:disabled, .quote-results button:disabled { cursor: wait; opacity: .65; }
.submit-note { max-width: 610px; margin: 18px 0 0; color: var(--muted); font-size: 1rem; }
.form-status, #quote-status { min-height: 24px; margin: 13px 0 0; color: var(--red-deep); font-weight: 700; }
.quote-results { margin: 34px 0 40px; padding: 30px 28px; border: 0; border-radius: 18px; background: linear-gradient(170deg, #fff 0, var(--stock) 40%, #EEF2EA 100%); box-shadow: var(--lift); outline: 3px dashed var(--ghost); outline-offset: 7px; }
.quote-results h2 { margin: 0 0 16px; font-size: 1.8rem; text-transform: uppercase; }
.quote-results article { border-top: 2.5px dotted var(--ghost); padding: 20px 0; }
.quote-results article h3 { margin: 0 0 5px; font-size: 1.2rem; }
.quote-results article p { margin: 4px 0 13px; }

.site-footer { width: min(100% - 24px, 1220px); max-width: none; margin: 0 auto 24px; padding: 28px clamp(16px, 4vw, 48px) 30px; border: 0; border-radius: 0 0 18px 18px; background: var(--vine); color: var(--cream); display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 26px; 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: .22em; }
.site-footer a:hover { color: var(--gold); }
.site-footer .footer-note { flex-basis: 100%; color: var(--cream); }

@media (max-width: 960px) {
  .choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .choice-grid::after { grid-column: span 2; }
  .local-grid { grid-template-columns: 1fr; }
  .local-intro { align-items: flex-start; flex-direction: column; }
  .local-generated { text-align: left; }
}
@media (max-width: 640px) {
  .header-inner { width: min(100% - 28px, 1180px); padding: 8px 0 10px; }
  .brand { font-size: .95rem; gap: 10px; }
  .brand strong { font-size: 1.02rem; }
  .brand-mark { width: 42px; height: 42px; font-size: 1.3rem; }
  .header-link { margin-left: auto; white-space: normal; text-align: right; font-size: 1rem; }
  .album, .page-shell, .site-footer { width: 100%; border-radius: 0; }
  .weigh-band { padding: 14px 0 0; }
  .weigh-art { height: 150px; max-height: none; }
  .minimal-shell { width: min(100% - 32px, 1120px); }
  .choice-grid { grid-template-columns: 1fr; gap: 20px; }
  .choice-grid a { min-height: 112px; padding-top: 52px; }
  .choice-grid::after { display: none; }
  .shelf-band { padding: 4px 6px 24px; }
  .local-wrap { width: 100%; padding: 56px 20px 72px; }
  .local-section-heading { margin-top: 50px; }
  .local-card { padding: 38px 20px 24px; }
  .local-weather-lead, .local-news-list, .form-grid { grid-template-columns: 1fr; }
  .local-alert, .local-advisory { padding: 22px 18px; gap: 12px; }
  .page-shell { padding: 40px 16px 56px; }
  .quote-form fieldset { padding: 32px 16px 22px; }
  .question-section { padding: 30px 16px 24px; }
  .site-footer { padding: 24px 16px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .choice-grid a { animation: none; transition: none; }
  .product-switch a, .form-bottom button, .quote-submit button, .quote-results button { transition: none; }
}
