/* Base 65 v1.0.0, v1.0.5 (gallivantohio.com). Own design system: night-ink header, light frost hero with a season strip,
   ice/ember diverging data colours, thermostat-dial mark. Type: Josefin Sans (display, OFL) + Open Sans (text, OFL), both self-hosted. */
@font-face { font-family: "Josefin Sans"; src: url("/assets/fonts/josefin-sans-var-latin.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("/assets/fonts/open-sans-var-latin.woff2") format("woff2"); font-weight: 300 800; font-style: normal; font-display: swap; }

:root {
  --ink: #0d1824; --ink-2: #172736; --ink-3: #243a4f; --ink-text: #e9eff5; --ink-muted: #a9b8c6;
  --frost: #f1f4f7; --paper: #ffffff; --line: #d3dce5; --line-2: #e6ecf1;
  --text: #14202b; --muted: #55616d;
  --ember: #b9481a; --ember-2: #9c3c14; --ember-soft: #fbe6da;
  --ice: #1f5b9e; --ice-soft: #dce9f6;
  --tc4: #163f75; --tc3: #2e64a8; --tc2: #6a9dd6; --tc1: #b7d2ee; --t0: #e9edf1; --tw1: #f7cfb3; --tw2: #ee9a66; --tw3: #d4642c; --tw4: #9e3a12;
  --radius: 14px; --shadow: 0 1px 2px rgba(13, 24, 36, .06), 0 8px 24px rgba(13, 24, 36, .06);
  --display: "Josefin Sans", "Century Gothic", "Avenir Next", sans-serif;
  --body: "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--frost); color: var(--text); font: 400 1.0625rem/1.65 var(--body); font-variant-numeric: lining-nums; }
img, svg { max-width: 100%; }
a { color: var(--ice); text-underline-offset: .18em; }
a:hover { color: var(--ember-2); }
:focus-visible { outline: 3px solid #f0a33c; outline-offset: 2px; border-radius: 4px; }
.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--paper); padding: 8px 12px; z-index: 9; }
.skip:focus { left: 8px; }
.muted { color: var(--muted); }
.small { font-size: .875rem; }
h1, h2, h3 { font-family: var(--display); font-weight: 700; letter-spacing: -.005em; line-height: 1.12; margin: 0 0 .5em; }
.eyebrow { font: 600 .8125rem/1.3 var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--ember); margin: 0 0 .75rem; }
.eyebrow a { color: inherit; }

/* header */
.top { background: var(--ink); color: var(--ink-text); }
.top__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-top: 12px; padding-bottom: 12px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink-text); text-decoration: none; }
.brand:hover { color: #fff; }
.brand__dial { width: 34px; height: 34px; color: var(--ink-text); }
.brand__name { font: 700 1.45rem/1 var(--display); letter-spacing: .04em; text-transform: uppercase; padding-top: 4px; }
.brand__tag { font-size: .8rem; color: var(--ink-muted); border-left: 1px solid var(--ink-3); padding-left: 10px; display: none; }
.nav { display: flex; gap: 2px 18px; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.nav a { color: var(--ink-muted); text-decoration: none; font: 600 .95rem/1 var(--body); padding: 10px 0; white-space: nowrap; border-bottom: 2px solid transparent; }
.nav a:hover { color: #fff; }
.nav a[aria-current="page"] { color: #fff; border-bottom-color: var(--tw2); }
/* preview notice: part of the night-ink header, not a separate strip */
.pv { background: var(--ink-2); color: var(--ink-text); border-top: 1px solid var(--ink-3); font-size: .85rem; line-height: 1.45; }
.pv__in { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding-top: 8px; padding-bottom: 8px; }
.pv__tag { font: 700 .7rem/1 var(--display); letter-spacing: .16em; text-transform: uppercase; color: #fff; background: var(--ember); border-radius: 4px; padding: 5px 7px 3px; }
.pv a { color: #f3a27a; font-weight: 600; }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 20px; border-radius: 999px; border: 2px solid transparent; font: 700 1rem/1.1 var(--body); text-decoration: none; cursor: pointer; }
.btn--ember { background: var(--ember); color: #fff; }
.btn--ember:hover { background: var(--ember-2); color: #fff; }
.btn--ink { background: var(--ink); color: #fff; }
.btn--ink:hover { background: var(--ink-3); color: #fff; }
.btn--line { border-color: rgba(233, 239, 245, .55); color: var(--ink-text); background: transparent; }
.btn--line:hover { border-color: #fff; color: #fff; }
.btn--line-dark { border-color: var(--line); color: var(--text); }
.btn--line-dark:hover { border-color: var(--ink); color: var(--ink); }
.btn--danger { background: #8f1d1d; color: #fff; }
.linkbtn { background: none; border: 0; padding: 4px 0; font: 600 .875rem var(--body); color: var(--ice); cursor: pointer; text-decoration: underline; }
.linkbtn--danger { color: #8f1d1d; }
.arrow { font-weight: 700; text-decoration: none; }
.arrow::after { content: " \2192"; }

/* hero (v1.0.5, review BR1): a light page-wide headline row over a full-width season strip, with the county map in
   its own band below (v1.0.0-v1.0.4 had a dark split hero with a map card, a pattern several sibling sites share) */
.hero { background: linear-gradient(180deg, #e2e9f0 0%, var(--frost) 80%); color: var(--text); padding: 30px 0 30px; border-bottom: 1px solid var(--line); }
.hero__top { display: grid; gap: 14px; align-items: end; }
.hero__h { font-size: clamp(2.2rem, 6.4vw, 4.3rem); color: var(--ink); max-width: 13ch; margin: 0; line-height: 1.02; }
.hero__lead { font-size: 1.06rem; color: var(--text); max-width: 36em; margin: 0; }
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 10px; }
.hero .hero__cta { margin: 16px 0 8px; }
.hero__note { color: var(--muted); font-size: .9rem; margin: 0; }
.hero .eyebrow { color: var(--ember-2); }
.strip { margin: 34px 0 0; }
.strip__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 3px solid var(--ink); margin: 0 0 30px; }
.stat { margin: 0; padding: 12px 14px 0 0; display: grid; gap: 3px; align-content: start; }
.stat + .stat { padding-left: 14px; border-left: 1px solid var(--line); }
.stat__k { font: 600 .72rem/1.3 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.stat__v { font: 700 clamp(1.4rem, 4.2vw, 2.7rem)/1.05 var(--display); color: var(--ink); font-variant-numeric: tabular-nums; }
.stat--warm .stat__v { color: var(--ember-2); }
.stat--cold .stat__v { color: var(--ice); }
.stat__s { color: var(--muted); font-size: .86rem; }
.strip__plot { position: relative; height: clamp(110px, 21vw, 230px); border-bottom: 2px solid var(--ink); }
.strip__grid { position: absolute; inset: 0; display: flex; flex-direction: column; pointer-events: none; }
.strip__grid span { flex: 1 1 0; display: flex; align-items: flex-end; border-bottom: 1px dashed #c3ced9; font: 600 .68rem/1 var(--body); color: var(--muted); padding: 0 0 3px 2px; }
.strip__grid span:last-child { border-bottom: 0; }
.strip__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.strip__bar--c { fill: var(--tc3); }
.strip__bar--w { fill: var(--tw3); }
.strip__bar--n { fill: #a3afbb; }
.strip__norm { fill: none; stroke: var(--ink); stroke-width: 2px; stroke-linejoin: round; }
.strip__norm--ahead { stroke: var(--ink-3); stroke-dasharray: 5 5; }
.strip__now { stroke: var(--ember-2); stroke-width: 1.5px; stroke-dasharray: 2 3; }
.strip__today { position: absolute; top: -25px; transform: translateX(-50%); font: 700 .7rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: #fff; background: var(--ember-2); padding: 5px 7px 3px; border-radius: 4px; white-space: nowrap; }
.strip__today--end { transform: translateX(-100%); }
.strip__months { display: grid; grid-template-columns: 31fr 31fr 30fr 31fr 30fr 31fr 31fr 28fr 31fr 30fr 31fr 30fr; font: 600 .7rem/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.strip__months span { border-left: 1px solid var(--line); padding: 7px 0 0 4px; overflow: hidden; white-space: nowrap; }
.strip__key { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .84rem; color: var(--muted); margin-top: 14px; }
.mapband { background: var(--paper); padding: 40px 0; border-bottom: 1px solid var(--line-2); }
.mapband__grid { display: grid; gap: 24px; align-items: center; }
.mapband__map { max-width: 520px; }
.extremes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
.extremes__h { font: 600 .74rem/1.3 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 6px; }
.extremes ol { margin: 0; padding-left: 1.2em; }
.extremes li { margin: 3px 0; }
.card { background: var(--paper); border: 1px solid var(--line-2); border-radius: var(--radius); box-shadow: var(--shadow); }
.card--map { margin: 0; padding: 18px; color: var(--text); }
.ohmap { display: block; width: 100%; height: auto; }
.ohmap path { stroke: #fff; stroke-width: .9; stroke-linejoin: round; transition: opacity .15s; }
.ohmap a:hover path, .ohmap a:focus path { opacity: .78; stroke: var(--ink); stroke-width: 1.6; }
.ohmap .is-hl { stroke: var(--ink); stroke-width: 2.4; fill: var(--ember) !important; }
.tc4 { fill: var(--tc4); background: var(--tc4); color: #fff; } .tc3 { fill: var(--tc3); background: var(--tc3); color: #fff; }
.tc2 { fill: var(--tc2); background: var(--tc2); color: #0c1d30; } .tc1 { fill: var(--tc1); background: var(--tc1); color: #10243a; }
.t0 { fill: var(--t0); background: var(--t0); color: #1d2a36; } .tn { fill: #dfe5eb; }
.tw1 { fill: var(--tw1); background: var(--tw1); color: #4a1d06; } .tw2 { fill: var(--tw2); background: var(--tw2); color: #2e1103; }
.tw3 { fill: var(--tw3); background: var(--tw3); color: #1a0a02; } .tw4 { fill: var(--tw4); background: var(--tw4); color: #fff; }
.readout { display: grid; gap: 2px; margin: 14px 0 10px; }
.readout__k { font: 600 .78rem/1.3 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.readout__v { font: 700 2.6rem/1.05 var(--display); color: var(--ink); font-variant-numeric: tabular-nums; }
.readout__v small, .tile__v small { font-size: .45em; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.readout__s { color: var(--muted); font-size: .95rem; }
.legend { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .8rem; color: var(--muted); }
.legend li { display: inline-flex; align-items: center; gap: 6px; }
.sw { width: 14px; height: 14px; border-radius: 3px; display: inline-block; border: 1px solid rgba(0, 0, 0, .08); }

/* sections */
.band, .steps, .split, .tablewrap, .chartsec, .recent, .formsec, .fitsec, .plans, .prose, .boardtop, .countytop, .resulttop, .homecard, .addhome, .fine { padding: 36px 0; }
.sec__h { font-size: clamp(1.5rem, 3.4vw, 2.1rem); color: var(--ink); }
.sec__h--sm { font-size: 1.35rem; }
.band { background: var(--paper); border-bottom: 1px solid var(--line-2); }
.explain { display: grid; gap: 18px; align-items: center; }
.explain__eq { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 700 1.2rem/1 var(--display); }
.eq__t { background: var(--frost); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px 9px; color: var(--ink); }
.eq__t--hot { background: var(--ember-soft); border-color: #f1c2a6; color: var(--ember-2); }
.eq__op { color: var(--muted); font-size: 1.5rem; }
.steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.step { background: var(--paper); border-radius: var(--radius); border: 1px solid var(--line-2); padding: 22px; position: relative; }
.step h3 { font-size: 1.3rem; color: var(--ink); }
.step__n { font: 700 2.4rem/1 var(--display); color: var(--tw2); display: block; margin-bottom: 8px; }
.split__grid { display: grid; gap: 24px; }
.ticks { list-style: none; padding: 0; margin: 0 0 20px; }
.ticks li { padding: 6px 0 6px 30px; position: relative; }
.ticks li::before { content: ""; position: absolute; left: 4px; top: 13px; width: 12px; height: 7px; border-left: 3px solid var(--ember); border-bottom: 3px solid var(--ember); transform: rotate(-45deg); }
.prices { padding: 22px; }
.prices__h { font: 700 1.2rem var(--display); color: var(--ink); margin: 0 0 8px; text-transform: uppercase; letter-spacing: .08em; }
.prices__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line-2); }
.prices__row strong { font: 700 1.4rem/1.15 var(--display); color: var(--ink); text-align: right; white-space: nowrap; }
.prices__row small { font: 600 .8rem var(--body); color: var(--muted); }
.prices__row--pass strong { color: var(--ember-2); }
.prices__note, .previewnote { background: #fff4d6; border: 1px solid #f1dda2; border-radius: 10px; padding: 10px 12px; font-size: .9rem; color: #4d3800; }

/* page heads */
.pagehead { background: var(--ink); color: var(--ink-text); padding: 30px 0 34px; }
.pagehead .eyebrow { color: #f3a27a; }
.pagehead__h { font-size: clamp(1.9rem, 5vw, 3rem); color: #fff; max-width: 22ch; }
.pagehead__lead { max-width: 46em; color: var(--ink-text); font-size: 1.05rem; margin: 0; }
.pagehead--msg { padding: 48px 0 56px; }
.pagehead .previewnote { margin-top: 18px; max-width: 46em; }
.pagehead .alert { margin-top: 12px; }

/* board */
.boardtop__grid, .countytop__grid { display: grid; gap: 20px; align-items: start; }
.hero__top > *, .mapband__grid > *, .split__grid > *, .boardtop__grid > *, .countytop__grid > *, .formsec__grid > *, .fitsec__grid > *, .plans__grid > *, .foot__grid > * { min-width: 0; }
.tiles { display: grid; gap: 12px; }
.tiles--row { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.tile { background: var(--paper); border: 1px solid var(--line-2); border-radius: var(--radius); padding: 16px 18px; display: grid; gap: 4px; box-shadow: var(--shadow); }
.tile__k { font: 600 .74rem/1.3 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.tile__v { font: 700 2.1rem/1.05 var(--display); color: var(--ink); font-variant-numeric: tabular-nums; }
.tile__s { font-size: .9rem; color: var(--muted); }
.tile--big { background: var(--ink); border-color: var(--ink); }
.tile--big .tile__k, .tile--big .tile__s { color: var(--ink-muted); }
.tile--big .tile__v { color: #fff; }
.tiles__note { font-size: .9rem; color: var(--muted); margin: 4px 0 0; }
.sorter { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .95rem; margin: 0 0 12px; }
.sorter a[aria-current="true"] { font-weight: 700; color: var(--ink); text-decoration: none; border-bottom: 2px solid var(--tw2); }
.scrollx { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 8px; }
.scrollx:focus-visible { outline: 3px solid #f0a33c; outline-offset: -3px; border-radius: 4px; }
table.data { width: 100%; border-collapse: collapse; background: var(--paper); border-radius: var(--radius); font-size: .95rem; font-variant-numeric: tabular-nums; }
table.data th, table.data td { padding: 10px 12px; border-bottom: 1px solid var(--line-2); text-align: left; vertical-align: middle; }
table.data thead th { font: 600 .74rem/1.3 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); background: #f8fafc; white-space: nowrap; }
table.data tbody th { font-weight: 600; white-space: nowrap; }
table.data .n { text-align: right; white-space: nowrap; }
table.data tfoot th, table.data tfoot td { font-weight: 700; border-top: 2px solid var(--line); }
table.data tr.muted td, table.data tr.muted th { color: var(--muted); }
.data--compact th, .data--compact td { padding: 8px 10px; }
.chip { display: inline-block; min-width: 3.4em; text-align: center; padding: 2px 8px; border-radius: 999px; font-weight: 700; font-size: .85rem; }
.card--mini { padding: 12px; margin: 0; max-width: 260px; }
.ohmap--mini path { stroke-width: .6; }

/* charts */
.chart { margin: 0 0 16px; padding: 18px; }
.bars { display: block; width: 100%; height: auto; }
.bar--normal { fill: #c9d5e1; }
.bar--obs { fill: var(--ice); }
.bar--obs.is-partial { fill: #8fb3dc; }
.bar--past { fill: var(--ink); }
.bar--now { fill: var(--ember); }
.hatch__bg { fill: #f3d3c1; }
.hatch__ln { stroke: var(--ember); stroke-width: 2; }
.bars__lbl { font: 600 12px var(--body); fill: var(--muted); }
.bars__val { font: 700 11px var(--body); fill: var(--ink); }
.chart figcaption { font-size: .85rem; color: var(--muted); margin-top: 8px; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
.key { display: inline-block; width: 12px; height: 12px; border-radius: 2px; margin-right: 2px; vertical-align: -1px; }
.key--normal { background: #c9d5e1; } .key--obs { background: var(--ice); } .key--past { background: var(--ink); } .key--now { background: var(--ember); }
.key--ahead { background: repeating-linear-gradient(45deg, #f3d3c1 0 3px, var(--ember) 3px 5px); }
.key--c { background: var(--tc3); } .key--w { background: var(--tw3); }
.key--norm { width: 18px; height: 0; border-top: 2px solid var(--ink); border-radius: 0; vertical-align: 3px; }
.ctaband { background: var(--ember-soft); border-top: 1px solid #f1c2a6; border-bottom: 1px solid #f1c2a6; padding: 26px 0; }
.ctaband__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.ctaband__in p { margin: 0; max-width: 48em; }
.ctaband form { margin: 0; }

/* forms */
.formsec__grid, .fitsec__grid { display: grid; gap: 24px; align-items: start; }
.form { padding: 22px; }
.form fieldset { border: 0; padding: 0; margin: 0 0 22px; }
.form legend { font: 700 1.15rem var(--display); color: var(--ink); margin-bottom: 10px; padding: 0; }
.fields { display: grid; gap: 14px; }
.field { display: grid; gap: 6px; }
.field label { font-weight: 600; font-size: .95rem; }
.hint { font-weight: 400; color: var(--muted); font-size: .85rem; }
input, select { font: inherit; font-size: 1rem; color: var(--text); background: #fff; border: 1.5px solid #b9c6d3; border-radius: 10px; padding: 10px 12px; min-height: 46px; width: 100%; }
input:focus, select:focus { border-color: var(--ice); outline: 3px solid rgba(31, 91, 158, .2); }
.money { position: relative; display: block; }
.money::before { content: "$"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.money input { padding-left: 26px; }
.billrow { display: grid; gap: 10px; padding: 14px 0; border-top: 1px dashed var(--line); }
.billrow__n { font-weight: 700; color: var(--ink); }
.alert { background: #fdecec; border: 1px solid #f2b8b8; color: #6d1414; border-radius: 10px; padding: 12px 16px; margin: 0 0 18px; }
.alert ul { margin: 6px 0 0; padding-left: 20px; }
.pointprice { font-size: .9rem; color: var(--muted); border-top: 1px solid var(--line-2); padding-top: 12px; margin-bottom: 0; }
.aside { padding: 4px 2px; }
.aside__h { font-size: 1.3rem; color: var(--ink); }
.aside__list { padding-left: 20px; }
.aside__list li { margin-bottom: 10px; }
.fit { padding: 22px; }
.fit__h { font-size: 1.3rem; color: var(--ink); }
.fit__n { margin: 0 0 8px; }
.fit__v { font: 700 1.8rem var(--display); color: var(--ember-2); font-variant-numeric: tabular-nums; }
.note { background: #eef4fb; border-left: 4px solid var(--ice); padding: 10px 14px; border-radius: 0 10px 10px 0; font-size: .95rem; }
.formula { font: 600 1.05rem/1.5 var(--display); background: var(--paper); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; color: var(--ink); }

/* pricing */
.plans__grid { display: grid; gap: 20px; }
.plan { padding: 26px; }
.plan__name { font: 700 .9rem var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin: 0; }
.plan__price { font: 700 2.8rem/1.1 var(--display); color: var(--ink); margin: 6px 0 2px; }
.plan__price small { font-size: .4em; color: var(--muted); letter-spacing: .04em; }
.plan__alt { color: var(--muted); margin: 0 0 16px; }
.plan--pass { border: 2px solid var(--ember); }
.pill { display: inline-block; background: #fff4d6; color: #4d3800; border: 1px solid #f1dda2; border-radius: 999px; padding: 6px 14px; font-weight: 700; font-size: .9rem; }
.plainlist { padding-left: 20px; }
.plainlist li { margin-bottom: 8px; }
.prose__in { max-width: 820px; }
.prose h2 { font-size: 1.5rem; color: var(--ink); margin-top: 1.6em; }

/* bill book */
.keylink { background: var(--ink-2); border: 1px solid var(--ink-3); border-radius: 12px; padding: 14px 16px; margin-top: 16px; max-width: 760px; }
.keylink p { margin: 0 0 8px; }
.keylink--new { background: #3a2410; border-color: #a85a24; }
.keylink__in { font-family: ui-monospace, "Cascadia Mono", Menlo, monospace; font-size: .85rem; background: #0a131c; color: #fff; border-color: var(--ink-3); }
.flash { display: inline-block; background: #e3f3ea; color: #10432a; border-radius: 999px; padding: 6px 14px; margin: 14px 0 0; font-weight: 600; }
.homecard { border-bottom: 1px solid var(--line); }
.homecard__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-bottom: 14px; }
.homecard__h { font-size: 1.8rem; color: var(--ink); margin: 0; }
.homecard__head p { margin: 0; }
.sub__h { font-size: 1.25rem; color: var(--ink); margin-top: 26px; }
.form--inline { margin-top: 10px; }
.form__t, .form__h { font: 700 1.15rem var(--display); color: var(--ink); margin: 0 0 6px; }
.tank, .compare { padding: 18px 20px; margin: 16px 0; }
.tank__h, .compare__h { font-size: 1.2rem; color: var(--ink); }
.tank__gauge { height: 18px; background: var(--frost); border: 1px solid var(--line); border-radius: 999px; overflow: hidden; margin: 6px 0 10px; }
.tank__fill { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--ember), var(--tw2)); }
.tank__warn { background: var(--ember-soft); border-left: 4px solid var(--ember); padding: 10px 14px; border-radius: 0 10px 10px 0; font-size: .95rem; margin-bottom: 0; }
.settings { padding: 0 20px; margin-top: 16px; }
.settings summary, .danger summary { cursor: pointer; font-weight: 700; padding: 16px 0; color: var(--ink); }
.settings__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 0 0 16px; }
.settings__foot form { margin: 0; }
.tankfields { margin-top: 18px !important; }
.planbox { padding: 16px 20px; margin: 18px 0; }
.planbox p { margin: 0 0 6px; }
.danger { padding: 0 20px; border-color: #f2c4c4; }
.danger form { display: grid; gap: 10px; padding-bottom: 18px; max-width: 420px; }

/* ads (AdEngine) */
.ae-slot { margin: 0; padding: 0; }
.ae-slot ins.adengine { display: block; max-width: 728px; min-height: 110px; margin: 32px auto; text-align: center; text-decoration: none; }
.ae-slot ins.adengine::before { content: "Advertisement"; display: block; margin-bottom: 4px; font-size: 11px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.ae-slot ins.adengine a { display: inline-block; }

/* footer */
.foot { background: var(--ink); color: var(--ink-muted); padding: 34px 0 20px; font-size: .9rem; }
.foot a { color: var(--ink-text); }
.foot__grid { display: grid; gap: 20px; }
.foot__name { display: flex; align-items: center; gap: 8px; font: 700 1.2rem var(--display); color: #fff; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 8px; }
.foot__dial { width: 26px; height: 26px; color: #fff; }
.foot__h { font: 700 .8rem var(--display); letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 8px; }
.foot__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.foot__small { font-size: .85rem; }
.foot__price { color: var(--ink-text); }
.foot__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid var(--ink-3); margin-top: 26px; padding-top: 16px; }
.foot__base p { margin: 0; }
.foot__indep { max-width: 60em; }

@media (min-width: 600px) {
  .brand__tag { display: inline; }
  .billrow { grid-template-columns: 1fr 1fr 1fr; align-items: end; }
  .form--inline .billrow { grid-template-columns: repeat(4, 1fr); }
  .billrow__n { grid-column: 1 / -1; }
  .fields { grid-template-columns: 1fr 1fr; }
  .fields .field { grid-column: 1 / -1; }
  .fields .field--half { grid-column: auto; }
  .steps__list { grid-template-columns: repeat(3, 1fr); }
  .plans__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
  .hero { padding: 54px 0 44px; }
  .hero__top { grid-template-columns: 1.2fr 1fr; gap: 56px; }
  .mapband__grid { grid-template-columns: minmax(0, 520px) 1fr; gap: 56px; }
  .explain { grid-template-columns: auto 1fr; gap: 36px; }
  .split__grid { grid-template-columns: 1.2fr 1fr; align-items: start; gap: 48px; }
  .boardtop__grid { grid-template-columns: 1.15fr 1fr; }
  .countytop__grid { grid-template-columns: 1fr 260px; }
  .formsec__grid { grid-template-columns: 1.6fr 1fr; }
  .fitsec__grid { grid-template-columns: 1fr 1.4fr; }
  .foot__grid { grid-template-columns: 1.6fr 1fr 1.4fr; }
  .tiles:not(.tiles--row) { grid-template-columns: 1fr 1fr; }
  .tiles:not(.tiles--row) .tiles__note { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .ae-slot ins.adengine { max-width: 300px; min-height: 270px; }
  .nav { width: 100%; flex-wrap: wrap; gap: 0 16px; overflow: visible; }
  .bars__val { display: none; }
}
@media (max-width: 599px) {
  .hide-sm { display: none; }
  .strip__stats { grid-template-columns: 1fr; }
  .stat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; padding: 10px 0 8px; }
  .stat + .stat { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .stat__k { flex: 1 0 100%; }
  .stat__v { font-size: 1.7rem; }
  .strip__months { font-size: .58rem; letter-spacing: 0; }
  .strip__months span { padding-left: 2px; }
  .extremes { grid-template-columns: 1fr; }
  table.data thead th { white-space: normal; }
  table.data th, table.data td { padding: 8px; }
  .homecard__h { font-size: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media print {
  .top, .foot, .pv, .ae-slot, .nav, form, details, .ctaband { display: none !important; }
  body { background: #fff; }
  .pagehead, .hero { background: #fff; color: #000; }
  .pagehead__h { color: #000; }
}
