@font-face { font-family: "Gloria Hallelujah"; font-weight: 400; font-style: normal; font-display: swap; src: url(/fonts/gloria-hallelujah-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: #2b1830;
  --muted: #4a3322;
  --line: #2b1830;
  --kraft: #d8bb8f;
  --kraft-deep: #cdaa78;
  --paper: #fffdf8;
  --paper-tint: #f1f6e4;
  --accent: #1f5a33;
  --accent-dark: #174528;
  --leaf: #2f6b3f;
  --rust: #a8421d;
  --teal: #1d6a68;
  --olive: #6b6a14;
  --plum: #5b2a5e;
  --swipe: #b9e08a;
  --wob: 12px 18px 10px 20px / 18px 10px 20px 12px;
  --wob-b: 20px 10px 18px 12px / 10px 20px 12px 18px;
  --head: "Gloria Hallelujah", "Segoe Print", "Bradley Hand", cursive;
  --body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
  --shadow: 4px 5px 0 rgba(43, 24, 48, .22);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--kraft); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); font: 17px/1.6 var(--body); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--plum); outline-offset: 3px; }
svg { max-width: 100%; }

/* draw-on doodles */
.draw { stroke-dasharray: 1; stroke-dashoffset: 0; }
@media (prefers-reduced-motion: no-preference) {
  .draw { stroke-dashoffset: 1; animation: drawon 1.4s ease-out .3s forwards; }
  .draw.d2 { animation-delay: .9s; }
  .draw.d3 { animation-delay: 1.4s; }
  @supports (animation-timeline: view()) {
    .draw { animation: drawon linear both; animation-timeline: view(); animation-range: entry 0% entry 100%; }
  }
}
@keyframes drawon { to { stroke-dashoffset: 0; } }

/* home */
.top-strip { position: relative; }
.spread { position: relative; width: min(100% - 40px, 1120px); margin: 0 auto; padding: 14px 0 0; }
.spread-art { width: 210px; margin: 0 auto; }
.spread-art svg { display: block; width: 100%; height: auto; }
.divider { width: min(100% - 40px, 1120px); margin: 10px auto 0; }
.divider svg { display: block; width: 100%; height: auto; }

.minimal-shell { position: relative; width: 100%; margin: 0; padding: 14px 0 34px; display: flex; flex-direction: column; }
.minimal-shell h1 { margin: 0 0 34px; max-width: 12em; font: 400 clamp(40px, 7vw, 86px)/1.12 var(--head); letter-spacing: -.01em; color: var(--ink); transform: rotate(-1deg); transform-origin: left center; }
.minimal-shell h1 { background: linear-gradient(transparent 58%, var(--swipe) 58%, var(--swipe) 90%, transparent 90%) no-repeat 0 0 / 100% 100%; display: inline-block; align-self: flex-start; padding: 0 .12em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.choice-grid { counter-reset: panel; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 22px; }
.choice-grid a { counter-increment: panel; position: relative; min-height: 158px; padding: 58px 104px 20px 22px; display: flex; align-items: flex-end; border: 2px solid var(--ink); border-radius: var(--wob); color: var(--ink); font-size: clamp(19px, 2vw, 24px); font-weight: 700; line-height: 1.22; text-decoration: none;
  background-color: var(--paper);
  background-image: linear-gradient(var(--swipe), var(--swipe)), var(--rub, none), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat, repeat;
  background-position: 0 calc(100% - 12px), right 12px top 14px, 0 0;
  background-size: 0% 14px, 88px 88px, 160px 160px;
  box-shadow: var(--shadow); transition: background-size .45s ease, transform .2s, box-shadow .2s; }
.choice-grid a:nth-child(1) { --rub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0 H5' stroke='%236b6a14' stroke-width='2.2' opacity='.5'/%3E%3C/pattern%3E%3Cpath d='M60 112 L58 74 L20 64 L30 46 L10 32 L40 32 L42 8 L60 28 L78 8 L80 32 L110 32 L90 46 L100 64 L62 74 Z' fill='url(%23h)' stroke='%236b6a14' stroke-width='2.5' stroke-linejoin='round' opacity='.85'/%3E%3Cpath d='M60 112 L60 74 M60 74 L24 62 M60 74 L96 62 M60 74 L42 14 M60 74 L78 14 M60 60 L30 40 M60 60 L90 40' fill='none' stroke='%23fffdf8' stroke-width='2' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E"); transform: rotate(-1.1deg); }
.choice-grid a:nth-child(2) { --rub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0 H5' stroke='%23a8421d' stroke-width='2.2' opacity='.5'/%3E%3C/pattern%3E%3Cpath d='M60 112 L60 84 L26 90 L34 68 L12 56 L38 52 L30 30 L50 40 L60 8 L70 40 L90 30 L82 52 L108 56 L86 68 L94 90 L62 84 Z' fill='url(%23h)' stroke='%23a8421d' stroke-width='2.5' stroke-linejoin='round' opacity='.85'/%3E%3Cpath d='M60 112 L60 40 M60 84 L28 88 M60 84 L92 88 M60 66 L16 56 M60 66 L104 56 M60 50 L34 34 M60 50 L86 34' fill='none' stroke='%23fffdf8' stroke-width='2' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E"); transform: rotate(.9deg); border-radius: var(--wob-b); }
.choice-grid a:nth-child(3) { --rub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0 H5' stroke='%232f6b3f' stroke-width='2.2' opacity='.5'/%3E%3C/pattern%3E%3Cpath d='M60 112 C30 100 22 62 38 34 C46 20 54 12 60 8 C66 12 74 20 82 34 C98 62 90 100 60 112 Z' fill='url(%23h)' stroke='%232f6b3f' stroke-width='2.5' stroke-linejoin='round' opacity='.85'/%3E%3Cpath d='M60 112 L60 12 M60 96 L36 76 M60 96 L84 76 M60 76 L34 52 M60 76 L86 52 M60 56 L40 34 M60 56 L80 34' fill='none' stroke='%23fffdf8' stroke-width='2' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E"); transform: rotate(-.6deg); }
.choice-grid a:nth-child(4) { --rub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0 H5' stroke='%231d6a68' stroke-width='2.2' opacity='.5'/%3E%3C/pattern%3E%3Cpath d='M60 114 C40 90 38 50 60 6 C82 50 80 90 60 114 Z' fill='url(%23h)' stroke='%231d6a68' stroke-width='2.5' stroke-linejoin='round' opacity='.85'/%3E%3Cpath d='M60 114 L60 8 M60 94 L46 78 M60 94 L74 78 M60 74 L45 56 M60 74 L75 56 M60 52 L48 36 M60 52 L72 36' fill='none' stroke='%23fffdf8' stroke-width='2' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E"); transform: rotate(.8deg); border-radius: var(--wob-b); }
.choice-grid a:nth-child(5) { --rub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0 H5' stroke='%232f6b3f' stroke-width='2.2' opacity='.5'/%3E%3C/pattern%3E%3Cpath d='M60 116 L60 10 M60 100 L30 88 M60 100 L90 88 M60 84 L24 70 M60 84 L96 70 M60 68 L26 52 M60 68 L94 52 M60 52 L32 36 M60 52 L88 36 M60 36 L40 20 M60 36 L80 20' fill='none' stroke='%232f6b3f' stroke-width='9' stroke-linecap='round' opacity='.42' stroke-dasharray='1 7'/%3E%3Cpath d='M60 116 L60 10 M60 100 L30 88 M60 100 L90 88 M60 84 L24 70 M60 84 L96 70 M60 68 L26 52 M60 68 L94 52 M60 52 L32 36 M60 52 L88 36 M60 36 L40 20 M60 36 L80 20' fill='none' stroke='%232f6b3f' stroke-width='3' stroke-linecap='round' opacity='.6'/%3E%3C/svg%3E"); transform: rotate(-.9deg); }
.choice-grid a:nth-child(6) { --rub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0 H5' stroke='%235b2a5e' stroke-width='2.2' opacity='.5'/%3E%3C/pattern%3E%3Cpath d='M60 114 L60 98 C30 98 20 60 34 38 L28 30 L40 32 L42 20 L52 28 L60 8 L68 28 L78 20 L80 32 L92 30 L86 38 C100 60 90 98 60 98 Z' fill='url(%23h)' stroke='%235b2a5e' stroke-width='2.5' stroke-linejoin='round' opacity='.85'/%3E%3Cpath d='M60 114 L60 10 M60 88 L38 70 M60 88 L82 70 M60 66 L36 48 M60 66 L84 48 M60 44 L46 30 M60 44 L74 30' fill='none' stroke='%23fffdf8' stroke-width='2' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E"); transform: rotate(.6deg); border-radius: var(--wob-b); }
.choice-grid a::before { content: counter(panel); position: absolute; top: 12px; left: 14px; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--ink); border-radius: 50% 46% 52% 48%; background: var(--swipe); font: 400 18px/1 var(--head); color: var(--ink); }
.choice-grid a::after { content: ""; position: absolute; top: -9px; right: 34px; width: 54px; height: 18px; background: rgba(185, 224, 138, .8); border-left: 2px dotted rgba(43, 24, 48, .35); border-right: 2px dotted rgba(43, 24, 48, .35); transform: rotate(4deg); }
.choice-grid a:hover, .choice-grid a:focus-visible { transform: rotate(0) translateY(-3px); background-size: 100% 14px, 88px 88px, 160px 160px; box-shadow: 6px 8px 0 rgba(43, 24, 48, .26); }
.agency-line { margin: 34px 0 0; padding: 10px 14px; align-self: flex-start; color: var(--ink); font-size: 16px; font-weight: 700; background: var(--paper); border: 2px dashed var(--ink); border-radius: var(--wob); }
.agency-line a { text-underline-offset: 4px; }

/* local board */
.local-board { border-top: 3px dashed var(--ink); background: var(--kraft-deep); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); color: var(--ink); }
.local-wrap { max-width: 1180px; margin: auto; padding: 70px 24px 96px; }
.local-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 0 0 30px; border-bottom: 3px solid var(--ink); border-image: none; }
.local-kicker, .local-card-kicker, .local-small-label { font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.local-section-heading > span { font-size: 17px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.local-kicker { margin: 0 0 14px; color: var(--ink); }
.local-kicker span { padding: 0 7px; }
.local-intro h2 { margin: 0; font: 400 clamp(36px, 5.6vw, 68px)/1.12 var(--head); }
.local-intro > div > p:last-child { max-width: 540px; margin: 18px 0 0; color: var(--ink); font-size: 18px; }
.local-generated { flex: none; margin: 0 0 3px; padding: 6px 10px; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); border-radius: var(--wob); font-size: 14px; font-weight: 700; }
.local-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 60px 0 22px; }
.local-section-heading h3 { margin: 0; font: 400 clamp(28px, 3.4vw, 40px)/1.15 var(--head); }
.local-section-heading > h3 { order: 1; }
.local-section-heading > span { order: 2; padding: 4px 10px; color: var(--ink); background: var(--swipe); border: 2px solid var(--ink); border-radius: var(--wob); transform: rotate(-1.2deg); white-space: nowrap; }
.local-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 22px; }
.local-card { min-width: 0; position: relative; padding: 26px 26px 24px; border: 2px solid var(--ink); border-radius: var(--wob); background: var(--paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); box-shadow: var(--shadow); }
.local-grid > .local-card:nth-child(even) { border-radius: var(--wob-b); }
.local-card::before { content: ""; position: absolute; top: -10px; left: 34px; width: 62px; height: 20px; background: rgba(185, 224, 138, .85); border-left: 2px dotted rgba(43, 24, 48, .35); border-right: 2px dotted rgba(43, 24, 48, .35); transform: rotate(-3deg); }
.local-card-kicker { margin: 0; color: var(--leaf); }
.local-card h4 { margin: 6px 0 18px; font: 400 clamp(24px, 2.8vw, 32px)/1.2 var(--head); color: var(--ink); }
.local-card .local-copy { margin: 10px 0; color: var(--ink); max-width: 56ch; }
.local-card .local-subtle, .local-subtle { display: block; color: var(--muted); font-size: 15px; }
.local-source { margin: 24px 0 0; padding-top: 14px; border-top: 2px dashed var(--ink); color: var(--muted); font-size: 14px; font-weight: 700; }
.local-link { display: inline-block; margin-top: 10px; padding: 8px 0; color: var(--rust); font-size: 16px; font-weight: 700; text-underline-offset: 4px; }
.local-wide { grid-column: 1 / -1; }
.local-weather-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: end; padding: 12px 0 24px; border-bottom: 2px dashed var(--ink); }
.local-weather-lead > div:first-child { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px 22px; }
.local-big-temp { font: 400 clamp(72px, 11vw, 120px)/.9 var(--head); color: var(--ink); }
.local-weather-condition { max-width: 190px; color: var(--ink); font-size: 18px; }
.local-weather-note { padding-bottom: 7px; display: flex; flex-direction: column; gap: 5px; color: var(--ink); font-size: 16px; }
.local-weather-note strong { color: var(--ink); font-size: 18px; }
.local-day-strip, .local-hour-strip { display: flex; overflow-x: auto; scrollbar-width: thin; }
.local-day-strip { gap: 0; padding: 20px 0; border-bottom: 2px dashed var(--ink); }
.local-day { flex: 0 0 150px; padding: 0 14px; border-left: 2px dotted var(--ink); display: flex; flex-direction: column; gap: 5px; font-size: 15px; color: var(--muted); line-height: 1.3; }
.local-day:first-child { padding-left: 0; border-left: 0; }
.local-day strong { color: var(--ink); font-size: 16px; }
.local-day-temp { color: var(--rust); font-size: 22px; font-weight: 700; }
.local-small-label { margin: 22px 0 12px; color: var(--leaf); }
.local-hour-strip { gap: 9px; padding-bottom: 6px; }
.local-hour { flex: 0 0 96px; padding: 10px 10px; border: 0; border-left: 3px dotted var(--ink); border-radius: 0; background: transparent; display: flex; flex-direction: column; gap: 3px; font-size: 14px; color: var(--muted); }
.local-hour strong { color: var(--ink); font-size: 22px; }
.local-big-number { margin: 14px 0 8px; color: var(--rust); font: 400 76px/1 var(--head); }
.local-radar { margin: 18px 0 0; overflow: hidden; border: 2px solid var(--ink); border-radius: var(--wob); background: #fff; }
.local-radar img { display: block; width: 100%; height: auto; }
.local-radar figcaption { padding: 6px 10px; color: var(--muted); font-size: 13px; border-top: 2px dashed var(--ink); }
.local-alert, .local-advisory { display: flex; gap: 18px; padding: 22px 24px; margin-top: 22px; border: 2px solid var(--ink); border-radius: var(--wob); background: #fbe3d3; color: var(--ink); box-shadow: var(--shadow); }
.local-alert-icon { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #8f2f1a; color: #fff; font-weight: 700; }
.local-alert h3, .local-advisory h3 { margin: 6px 0 8px; font-size: 20px; line-height: 1.35; color: var(--ink); }
.local-alert p, .local-advisory p { margin-bottom: 0; color: var(--ink); }
.local-advisory { align-items: center; background: var(--paper-tint); }
.local-advisory-mark { flex: none; color: var(--leaf); font-size: 40px; line-height: 1; }
.local-advisory h3 { font: 400 clamp(20px, 2.4vw, 27px)/1.3 var(--head); }
.local-advisory-alert { background: #fbe3d3; }
.local-advisory-info { background: var(--paper-tint); }
.local-advisory-watch { background: #fbf0c2; }
.local-advisory-warning { background: #fbe3d3; }
.local-row { padding: 13px 0; border-bottom: 2px dotted var(--ink); }
.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: 17px; font-weight: 700; line-height: 1.35; text-decoration-color: var(--leaf); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.local-row-title:hover { background: var(--swipe); }
.local-row-detail { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; }
.local-news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.local-market-name { display: block; font-size: 18px; }
.local-lottery { padding: 12px 0; border-bottom: 2px dotted var(--ink); display: flex; flex-direction: column; gap: 5px; }
.local-lottery strong { font-size: 21px; letter-spacing: .04em; }

/* header */
.site-header { border-bottom: 3px solid var(--ink); background: var(--paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.header-inner { max-width: 1180px; margin: auto; padding: 18px 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; text-decoration: none; font-size: 17px; line-height: 1.25; }
.brand strong { display: block; font: 400 21px/1.2 var(--head); }
.brand-mark { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border: 2px solid var(--ink); border-radius: 50% 40% 50% 40%; background: var(--leaf); color: #fff; font: 400 24px/1 var(--head); transform: rotate(-6deg); }
.header-link { display: inline-flex; align-items: center; min-height: 44px; border: 0; padding: 0 2px; background: transparent; color: var(--ink); white-space: nowrap; font-weight: 700; text-decoration: underline; text-decoration-color: var(--leaf); text-decoration-thickness: 3px; text-underline-offset: 5px; cursor: pointer; }
.header-link:hover { background: var(--swipe); }
.header-link span { color: var(--rust); }

/* quote and question pages */
.page-shell { max-width: 1120px; margin: auto; padding: 56px 24px 84px; }
.intro { display: flex; flex-direction: column; align-items: flex-start; }
.eyebrow { order: 2; margin: 18px 0 0; padding: 0 4px; color: var(--ink); background: linear-gradient(transparent 55%, var(--swipe) 55%); font: 400 20px/1.4 var(--head); transform: rotate(-1deg); }
.intro h1 { margin: 0; font: 400 clamp(38px, 6vw, 72px)/1.12 var(--head); color: var(--ink); }
.intro-copy { order: 3; margin: 20px 0 0; color: var(--ink); font-size: clamp(18px, 2vw, 21px); max-width: 670px; }

.options { margin-top: 50px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.option { min-width: 0; min-height: 247px; padding: 26px; display: flex; flex-direction: column; align-items: flex-start; border: 2px solid var(--ink); border-radius: var(--wob); background: var(--paper); box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.option:hover { transform: translateY(-3px) rotate(-.4deg); box-shadow: 6px 8px 0 rgba(43, 24, 48, .26); }
.option-number { color: var(--rust); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.option h2 { margin: 18px 0 8px; font: 400 clamp(23px, 2.6vw, 29px)/1.2 var(--head); }
.option p { margin: 0; color: var(--muted); font-size: 16px; max-width: 30ch; }
.option .option-action { margin-top: auto; padding: 12px 15px; min-height: 48px; width: 100%; display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; border: 2px solid var(--ink); border-radius: var(--wob); color: #fff; background: var(--accent); font-weight: 700; font-size: 16px; line-height: 1.25; text-decoration: none; text-align: left; cursor: pointer; }
.option-action:hover { background: var(--accent-dark); }
.option-action span { font-size: 20px; line-height: 1; }
.option .option-note { margin-top: 8px; font-size: 14px; color: var(--muted); }

.question-section { scroll-margin-top: 25px; margin-top: 60px; padding: 40px; border: 2px solid var(--ink); border-radius: var(--wob); background: var(--paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); box-shadow: var(--shadow); }
.question-heading h2 { margin: 0; font: 400 clamp(28px, 4vw, 42px)/1.2 var(--head); }
.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 20px; }
.form-grid label { display: flex; flex-direction: column; gap: 8px; font-weight: 700; font-size: 16px; color: var(--ink); }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-width: 0; border: 2px solid var(--ink); border-radius: 8px 12px 8px 12px / 12px 8px 12px 8px; padding: 12px 14px; color: var(--ink); background: #fff; font-weight: 400; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { background: var(--paper-tint); }
.form-grid input, .form-grid select { min-height: 50px; }
.form-grid textarea { min-height: 140px; resize: vertical; }
.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(--accent); }
.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: 26px; }
.form-bottom button { min-height: 54px; display: inline-flex; align-items: center; gap: 12px; border: 2px solid var(--ink); border-radius: var(--wob); padding: 12px 22px; color: #fff; background: var(--accent); font-weight: 700; font-size: 18px; box-shadow: 3px 4px 0 rgba(43, 24, 48, .3); cursor: pointer; }
.form-bottom button:hover { background: var(--accent-dark); }
.submit-note { max-width: 610px; margin: 16px 0 0; color: var(--muted); font-size: 15px; }
.form-status { min-height: 24px; margin: 12px 0 0; color: var(--accent-dark); font-weight: 700; font-size: 16px; }

.product-switch { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 20px; }
.product-switch a { display: inline-flex; align-items: center; min-height: 48px; border: 2px solid var(--ink); border-radius: var(--wob); padding: 8px 18px; background: var(--paper); font-weight: 700; text-decoration: none; box-shadow: 3px 4px 0 rgba(43, 24, 48, .22); }
.product-switch a:hover { background: var(--swipe); }
.product-switch a[aria-current="page"] { color: #fff; background: var(--accent); }
.quote-form fieldset { min-width: 0; margin: 26px 0; padding: 28px; border: 2px solid var(--ink); border-radius: var(--wob); background: var(--paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .2  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); box-shadow: var(--shadow); }
.quote-form fieldset:nth-of-type(even) { border-radius: var(--wob-b); }
.quote-form legend { padding: 3px 12px; font: 400 23px/1.3 var(--head); background: var(--swipe); border: 2px solid var(--ink); border-radius: var(--wob); }
.quote-form .form-grid { margin-top: 6px; }
.quote-submit { margin: 22px 0 55px; max-width: 720px; }
.quote-submit button, .quote-results button { min-height: 52px; border: 2px solid var(--ink); border-radius: var(--wob); padding: 12px 22px; color: #fff; background: var(--accent); font-weight: 700; font-size: 18px; box-shadow: 3px 4px 0 rgba(43, 24, 48, .3); cursor: pointer; }
.quote-submit button:hover, .quote-results button:hover { background: var(--accent-dark); }
.quote-submit button:disabled, .quote-results button:disabled { cursor: wait; opacity: .6; }
#quote-status { color: var(--accent-dark); font-weight: 700; }
.quote-results { margin: 30px 0 70px; padding: 28px; border: 2px solid var(--ink); border-radius: var(--wob); background: var(--paper); box-shadow: var(--shadow); }
.quote-results h2 { margin: 0 0 16px; font: 400 clamp(26px, 3vw, 34px)/1.2 var(--head); }
.quote-results article { border-top: 2px dashed var(--ink); padding: 20px 0; }
.quote-results article h3 { margin: 0 0 5px; }
.quote-results article p { margin: 4px 0 13px; }

.site-footer { border-top: 3px dashed var(--ink); max-width: 1180px; margin: auto; padding: 26px 24px 36px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 22px; color: var(--ink); font-size: 16px; }
.site-footer p { margin: 0; }
.site-footer > p:first-child { color: var(--ink); font-weight: 700; }
.site-footer a { display: inline-block; padding: 8px 0; text-underline-offset: 4px; }
.site-footer .footer-note { flex-basis: 100%; }

@media (min-width: 960px) {
  .spread-art { position: absolute; top: 0; right: 0; width: 236px; margin: 0; }
  .minimal-shell h1 { max-width: 9.5em; margin-bottom: 64px; }
}

@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; }
}

@media (max-width: 590px) {
  .header-inner { padding: 14px 20px; flex-wrap: wrap; gap: 6px 16px; }
  .brand { font-size: 15px; gap: 10px; }
  .brand strong { font-size: 19px; }
  .brand-mark { width: 42px; height: 42px; font-size: 21px; }
  .header-link { margin-left: auto; font-size: 16px; white-space: normal; text-align: right; }
  .page-shell { padding: 40px 20px 60px; }
  .options { margin-top: 36px; grid-template-columns: 1fr; gap: 18px; }
  .option { min-height: 0; padding: 22px; }
  .option h2 { margin-top: 14px; }
  .option .option-action { margin-top: 20px; }
  .question-section { margin-top: 48px; padding: 26px 18px; }
  .form-grid { grid-template-columns: 1fr; gap: 18px; }
  .quote-form fieldset { padding: 22px 16px; }
  .site-footer { padding: 24px 20px 34px; }
  .minimal-shell { padding-top: 10px; }
  .minimal-shell h1 { margin-bottom: 28px; }
  .choice-grid { grid-template-columns: 1fr; gap: 22px; }
  .choice-grid a { min-height: 104px; padding: 22px 96px 18px 62px; }
  .choice-grid a::before { top: 50%; margin-top: -17px; }
  .spread { width: min(100% - 40px, 1120px); }
  .local-wrap { padding: 56px 20px 72px; }
  .local-section-heading { margin-top: 48px; align-items: flex-start; flex-direction: column; gap: 10px; }
  .local-section-heading > span { white-space: normal; }
  .local-grid, .local-weather-lead, .local-news-list { grid-template-columns: 1fr; }
  .local-card { padding: 24px 20px; }
  .local-weather-lead { gap: 14px; }
  .local-alert, .local-advisory { padding: 20px 18px; gap: 12px; }
  .local-day { flex-basis: 130px; }
}

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