/* Where It Lands (countynewsflash.com) v1.0.0. Own design system: ledger paper, Treasury green, signal amber.
   Archivo (variable width + weight) and Azeret Mono, self-hosted (SIL OFL). Square corners, hairlines, 12-column rhythm. */
@font-face { font-family: "Archivo"; src: url("fonts/archivo-latin-wdth-normal.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url("fonts/archivo-latin-wdth-italic.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-style: italic; font-display: swap; }
@font-face { font-family: "Azeret Mono"; src: url("fonts/azeret-mono-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
  --paper: #f5f2ea; --paper-2: #ece7db; --card: #fffdf8; --ink: #13171c; --ink-2: #2b323b; --slate: #5b6470;
  --green: #0b5d3b; --green-2: #08482d; --green-lt: #dfeee5; --amber: #f0b429; --amber-dk: #8a5a00; --line: #d9d3c4; --line-dk: #b9b1a0;
  --red: #a4262c;
  --sans: "Archivo", "Helvetica Neue", Arial, sans-serif; --mono: "Azeret Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --gut: 24px; --max: 1240px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/1.55 var(--sans); font-stretch: 100%; overflow-wrap: anywhere; }
img, svg { max-width: 100%; }
a { color: var(--green); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--green-2); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }
.wrap { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); }
.num { font-family: var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.skip { position: absolute; left: -9999px; top: 0; background: var(--amber); color: var(--ink); padding: 8px 12px; z-index: 9; }
.skip:focus { left: 8px; }
.eyebrow { margin: 0 0 10px; font: 700 12px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.eyebrow a { color: inherit; }
.eyebrow--lt { color: var(--amber); }
.hint { font-weight: 400; color: var(--slate); font-size: 13px; letter-spacing: 0; text-transform: none; }
.note { color: var(--slate); font-size: 14px; margin: 12px 0; }
.empty { padding: 20px; border: 1px dashed var(--line-dk); color: var(--ink-2); background: var(--card); margin: 0; }
.r { text-align: right; }
.h3 { font: 700 19px/1.25 var(--sans); font-stretch: 85%; margin: 0 0 8px; }

/* buttons: square, heavy, condensed */
.btn { display: inline-block; border: 2px solid var(--green); background: var(--green); color: #fff; font: 700 15px/1 var(--sans); font-stretch: 88%; letter-spacing: .02em; padding: 13px 20px; text-decoration: none; cursor: pointer; border-radius: 0; margin: 4px 6px 4px 0; }
.btn:hover { background: var(--green-2); border-color: var(--green-2); color: #fff; }
.btn--amber { background: var(--amber); border-color: var(--amber); color: var(--ink); }
.btn--amber:hover { background: #ffc94d; border-color: #ffc94d; color: var(--ink); }
.btn--line { background: transparent; color: var(--green); }
.btn--line:hover { background: var(--green-lt); color: var(--green-2); }
.btn--ghost { background: transparent; border-color: #fff; color: #fff; }
.btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff; border-color: #fff; }

/* masthead */
.mast { background: var(--card); border-bottom: 1px solid var(--line); }
.mast__in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); padding: 12px 0; }
.brand:hover { color: var(--ink); }
.brand__mark { width: 40px; height: 40px; flex: none; }
.brand__words { display: flex; flex-direction: column; }
.brand__name { font: 800 25px/1 var(--sans); font-stretch: 72%; letter-spacing: -.01em; text-transform: uppercase; }
.brand__sub { font: 500 12px/1.3 var(--sans); color: var(--slate); letter-spacing: .04em; margin-top: 3px; }
.nav { display: flex; gap: 2px; }
.nav a { font: 600 15px/1 var(--sans); color: var(--ink); text-decoration: none; padding: 12px 14px; border-bottom: 3px solid transparent; }
.nav a:hover { border-bottom-color: var(--line-dk); color: var(--ink); }
.nav a[aria-current="page"] { border-bottom-color: var(--green); color: var(--green); }

/* flash strip (dark ticker) */
.strip { background: var(--ink); color: #e8e3d6; }
.strip__in { display: flex; align-items: stretch; gap: 0; }
.strip__tag { flex: none; background: var(--amber); color: var(--ink); font: 800 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 12px 14px; display: flex; align-items: center; }
.strip__list { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scrollbar-width: none; min-width: 0; }
.strip__list::-webkit-scrollbar { display: none; }
.strip__list li { flex: none; border-right: 1px solid #333b45; }
.strip__list a { display: block; color: #e8e3d6; text-decoration: none; padding: 11px 16px; font-size: 14px; white-space: nowrap; }
.strip__list a:hover { background: #222a33; color: #fff; }
.strip__co { font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; color: #9fb0a6; }
.strip__amt { font-family: var(--mono); color: var(--amber); font-weight: 600; margin: 0 4px; }

/* hero */
.hero { background: var(--card); border-bottom: 1px solid var(--line); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 48px; }
.hero__h { font: 800 clamp(40px, 5.6vw, 76px)/.95 var(--sans); font-stretch: 68%; letter-spacing: -.015em; text-transform: uppercase; margin: 0 0 20px; }
.hero__lede { font-size: 19px; color: var(--ink-2); max-width: 36em; margin: 0 0 28px; }
.hero__stat { border-top: 4px solid var(--ink); padding-top: 14px; margin-bottom: 26px; }
.hero__num { font-family: var(--sans); font-stretch: 78%; font-size: clamp(56px, 7.5vw, 104px); line-height: .95; font-weight: 800; color: var(--green); margin: 0 0 8px; letter-spacing: -.02em; }
.hero__numcap { margin: 0; color: var(--ink-2); }
.hero__numcap span { color: var(--slate); font-size: 15px; }
.pick__lbl { display: block; font: 700 13px/1 var(--sans); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; }
.pick__row { display: flex; gap: 0; max-width: 460px; }
.pick__row select { flex: 1; min-width: 0; margin: 4px 0; }
.pick__row .btn { margin-right: 0; }
.hero__map { min-width: 0; }

/* map */
.map { margin: 0; }
.map__svg { display: block; width: 100%; height: auto; }
.map__state { fill: var(--paper-2); stroke: var(--line-dk); stroke-width: 1.5; }
.map__dot { fill: var(--green); fill-opacity: .82; stroke: var(--card); stroke-width: 1.2; transition: fill .15s; }
.map__dot.is-zero { fill: var(--card); stroke: var(--line-dk); }
.map__dot.is-hl { fill: var(--amber); fill-opacity: 1; stroke: var(--ink); stroke-width: 2; }
.map__link:hover .map__dot, .map__link:focus .map__dot { fill: var(--amber); fill-opacity: 1; }
.map__lbl { font: 700 13px/1 var(--sans); fill: var(--ink); paint-order: stroke; stroke: var(--card); stroke-width: 4px; pointer-events: none; }
.map__lblamt { font-family: var(--mono); font-weight: 500; fill: var(--green); }
.map__cap { font-size: 12px; color: var(--slate); margin-top: 6px; }

/* sections */
.band { padding: 48px 0; }
.band--tight { padding: 36px 0 56px; }
.sec { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 2px solid var(--ink); margin-bottom: 4px; padding-bottom: 8px; }
.sec--gap { margin-top: 40px; }
.sec__h { font: 800 22px/1.1 var(--sans); font-stretch: 75%; text-transform: uppercase; letter-spacing: .01em; margin: 0; }
.sec__more { font-size: 14px; font-weight: 600; white-space: nowrap; }
.split { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px; }
.split__main, .split__side { min-width: 0; }

/* ledger rows */
.ledger { list-style: none; margin: 0; padding: 0; }
.ledger__row { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); align-items: start; }
.ledger__row.is-new { background: linear-gradient(90deg, rgba(240,180,41,.18), transparent 70%); box-shadow: inset 4px 0 0 var(--amber); padding-left: 12px; }
.ledger__when { font-family: var(--mono); font-size: 14px; color: var(--ink-2); display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.kind { font: 700 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; padding: 4px 6px; border: 1px solid currentColor; }
.kind--contract { color: var(--green); }
.kind--grant { color: #6b3fa0; }
.newtag { font: 700 11px/1.2 var(--sans); background: var(--amber); color: var(--ink); padding: 3px 6px; }
.ledger__to { font: 700 18px/1.25 var(--sans); font-stretch: 92%; color: var(--ink); text-decoration: none; }
.ledger__to:hover { color: var(--green); text-decoration: underline; }
.ledger__from { margin: 4px 0 0; font-size: 14px; color: var(--slate); }
.ledger__desc { margin: 6px 0 0; font-size: 14px; color: var(--ink-2); font-stretch: 94%; }
.ledger__amt { font-family: var(--mono); font-weight: 600; font-size: 18px; text-align: right; white-space: nowrap; color: var(--ink); }

/* biggest + bars + toplists */
.big { list-style: none; margin: 0; padding: 0; }
.big li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.big__rank { font-size: 26px; color: var(--line-dk); font-weight: 700; line-height: 1; }
.big__amt { margin: 0 0 2px; font-family: var(--sans); font-stretch: 80%; font-size: 26px; font-weight: 800; color: var(--green); }
.big a { font-weight: 700; color: var(--ink); text-decoration: none; }
.big a:hover { color: var(--green); text-decoration: underline; }
.big__meta { margin: 2px 0 0; font-size: 13px; color: var(--slate); }
.bars { list-style: none; margin: 0; padding: 0; }
.bars li a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 10px 0; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); font-size: 14px; }
.bars li a:hover .bars__name { color: var(--green); text-decoration: underline; }
.bars__amt { font-size: 14px; }
.bars__bar { grid-column: 1 / -1; width: 100%; height: 6px; display: block; }
.bars__bar rect { fill: var(--green); }
.toplist { list-style: none; margin: 0; padding: 0; counter-reset: t; }
.toplist li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.toplist li span:first-child { min-width: 0; }

/* Watch Desk pitch (dark green) */
.pitch { background: var(--green); color: #eef5f0; padding: 64px 0; }
.pitch__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.pitch__h { font: 800 clamp(32px, 4vw, 52px)/1 var(--sans); font-stretch: 70%; text-transform: uppercase; margin: 0 0 16px; color: #fff; }
.pitch p { font-size: 17px; }
.pitch__price { border-left: 4px solid var(--amber); padding-left: 12px; color: #fff; }
.steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.3); }
.steps li { padding: 18px 0 18px 64px; position: relative; border-bottom: 1px solid rgba(255,255,255,.3); }
.steps li .num { position: absolute; left: 0; top: 16px; font-size: 28px; color: var(--amber); }
.steps strong { color: #fff; }

/* plans */
.plans { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 0; border: 2px solid var(--ink); background: var(--card); margin: 16px 0 24px; }
.plan { padding: 28px; }
.plan + .plan { border-left: 2px solid var(--ink); }
.plan--pass { background: #fffaf0; }
.plan__name { font: 800 14px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; }
.plan__price { font-size: 17px; margin: 0 0 16px; }
.plan__price .num { font-family: var(--sans); font-stretch: 80%; font-size: 44px; font-weight: 800; color: var(--green); letter-spacing: 0; }
.plan__or { color: var(--slate); white-space: nowrap; }
.plan__or .num { font-size: 22px; }
.plan__list { margin: 0 0 16px; padding-left: 20px; }
.plan__list li { margin: 4px 0; }
.plan__day { font-size: 15px; }
.plan__preview { margin: 0; padding: 12px 14px; background: var(--amber); color: var(--ink); font-size: 15px; }

/* inner pages */
.page { padding-top: 44px; padding-bottom: 64px; }
.page__h { font: 800 clamp(34px, 4.6vw, 58px)/1 var(--sans); font-stretch: 70%; text-transform: uppercase; letter-spacing: -.01em; margin: 0 0 14px; }
.page__lede { font-size: 19px; color: var(--ink-2); max-width: 44em; margin: 0 0 20px; }
.phead { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; border-bottom: 4px solid var(--ink); padding-bottom: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.phead .page__h { margin: 0; }
.phead__count { margin: 0; color: var(--slate); }
.phead__count .num { font-size: 28px; color: var(--ink); font-weight: 600; }
.cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 24px; }
.prose { max-width: 820px; }
.prose h2 { font: 800 22px/1.2 var(--sans); font-stretch: 78%; text-transform: uppercase; margin: 32px 0 8px; }
.prose code { font-family: var(--mono); font-size: 14px; background: var(--paper-2); padding: 1px 4px; }
.msg { max-width: 860px; }
.nudge { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border: 2px solid var(--ink); background: var(--card); padding: 16px 20px; margin-top: 28px; }
.nudge p { margin: 0; }

/* filters + forms */
.filters { display: flex; flex-wrap: wrap; gap: 12px 14px; align-items: flex-end; background: var(--card); border: 1px solid var(--line); padding: 14px; margin: 0 0 8px; }
.fld { display: flex; flex-direction: column; gap: 6px; font: 700 12px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); min-width: 0; flex: 1 1 150px; }
.fld--wide { flex: 2 1 220px; }
.fld--sm { flex: 0 1 130px; }
.fld--block { display: flex; margin: 0 0 16px; }
select, input, textarea { font: 400 16px/1.3 var(--sans); color: var(--ink); background: #fff; border: 1px solid var(--line-dk); border-radius: 0; padding: 10px 12px; min-height: 46px; width: 100%; text-transform: none; letter-spacing: 0; }
textarea { min-height: 90px; resize: vertical; }
select:focus, input:focus, textarea:focus { outline: 3px solid var(--amber); outline-offset: 0; border-color: var(--ink); }
.filters__go { display: flex; align-items: center; gap: 12px; }
.filters__go .btn { margin: 0; }
.filters__clear { font-size: 14px; font-weight: 600; }
.pager { display: flex; justify-content: center; align-items: center; gap: 24px; padding: 24px 0 0; font-weight: 600; }
.errors { border: 2px solid var(--red); background: #fdf0f0; padding: 4px 16px; margin-bottom: 16px; color: var(--red); }

/* counties */
.cgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: start; }
.cgrid__map { position: sticky; top: 16px; }
.tablewrap { overflow-x: auto; }
.ctable { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--card); }
.ctable th, .ctable td { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.ctable thead th { font: 700 12px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; border-bottom: 2px solid var(--ink); background: var(--paper-2); }
.ctable thead th.r, .ctable td.r { text-align: right; }
.ctable thead a { color: var(--ink); }
.ctable thead a[aria-current] { color: var(--green); text-decoration-thickness: 3px; }
.ctable tbody th { font-weight: 600; }
.ctable tbody tr:hover { background: #fff8e6; }

/* county head */
.chead { background: var(--card); border-bottom: 1px solid var(--line); }
.chead__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 40px; padding-top: 40px; padding-bottom: 32px; align-items: center; }
.chead__map { max-width: 360px; justify-self: end; width: 100%; }
.kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 20px 0 0; border-top: 4px solid var(--ink); }
.kpis div { padding: 14px 16px 0 0; }
.kpis div + div { padding-left: 16px; border-left: 1px solid var(--line); }
.kpis dt { font: 700 12px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.kpis dd { margin: 6px 0 0; font-family: var(--sans); font-stretch: 80%; font-variant-numeric: tabular-nums; font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; color: var(--green); }
.kpis dd.kpis__sub { font-family: var(--sans); font-size: 14px; color: var(--slate); font-weight: 400; margin-top: 2px; }
.kpis__slash { color: var(--line-dk); }
.watch { background: var(--ink); color: #e8e3d6; padding: 22px; }
.watch .eyebrow { color: var(--amber); }
.watch p { font-size: 15px; }
.watch__price { border-left: 3px solid var(--amber); padding-left: 10px; color: #fff; }

/* award */
.award__to { max-width: 24em; }
.award__amt { font-family: var(--sans); font-stretch: 78%; font-size: clamp(44px, 6.5vw, 80px); font-weight: 800; color: var(--green); margin: 8px 0 4px; letter-spacing: -.01em; line-height: 1; }
.award__from { font-size: 18px; margin: 0 0 24px; }
.award__desc { margin: 0 0 28px; border-left: 4px solid var(--amber); background: var(--card); padding: 18px 22px; max-width: 900px; }
.award__desc p { margin: 0 0 10px; font-size: 16px; }
.award__desc footer { font-size: 13px; color: var(--slate); }
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0 0 28px; max-width: 900px; }
.facts div { border-top: 1px solid var(--line); padding: 10px 0; }
.facts dt { font: 700 12px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.facts dd { margin: 4px 0 0; }

/* desk */
.deskpage { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.ticks { list-style: none; padding: 0; margin: 0; }
.ticks li { padding: 8px 0 8px 28px; border-bottom: 1px solid var(--line); position: relative; font-weight: 600; }
.ticks li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 10px; height: 10px; background: var(--amber); }
.deskform { background: var(--card); border: 2px solid var(--ink); padding: 24px; }
.cpick { border: 1px solid var(--line); margin: 0 0 16px; padding: 12px 14px; }
.cpick legend { font: 700 12px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; padding: 0 6px; }
.cpick__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(138px, 1fr)); gap: 2px 10px; max-height: 300px; overflow-y: auto; }
.cpick__grid label { font-size: 15px; padding: 5px 0; display: flex; align-items: center; gap: 6px; }
.cpick__grid input { width: 18px; height: 18px; min-height: 0; accent-color: var(--green); margin: 0; }
.deskform__row { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 16px; }
.deskform__price { border-left: 4px solid var(--amber); padding-left: 12px; }
.saved { background: var(--amber); padding: 14px 18px; margin-bottom: 24px; }
.saved p { margin: 0 0 6px; }
.saved__url { font-size: 15px; word-break: break-all; }
.deskmeta { margin: 8px 0 0; color: var(--slate); }
.tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 2px solid var(--ink); margin-bottom: 8px; }
.tool { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; text-decoration: none; color: var(--ink); background: var(--card); }
.tool + .tool { border-left: 1px solid var(--line); }
.tool strong { font-stretch: 85%; font-size: 18px; text-transform: uppercase; color: var(--green); }
.tool span { font-size: 14px; color: var(--slate); }
.tool:hover { background: #fff8e6; color: var(--ink); }
.edit { margin-top: 32px; border-top: 2px solid var(--ink); padding-top: 12px; }
.edit summary { cursor: pointer; font: 800 18px/1.2 var(--sans); font-stretch: 78%; text-transform: uppercase; padding: 8px 0 16px; }
.del { margin-top: 24px; }

/* sheet (print) */
.sheet { padding-top: 32px; padding-bottom: 48px; }
.sheet__t { width: 100%; border-collapse: collapse; font-size: 14px; background: var(--card); }
.sheet__t th, .sheet__t td { border-bottom: 1px solid var(--line); padding: 8px; text-align: left; vertical-align: top; }
.sheet__t thead th { border-bottom: 2px solid var(--ink); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.sheet__t td.r, .sheet__t th.r { text-align: right; white-space: nowrap; }
.sheet__d { color: var(--slate); font-size: 13px; }

/* footer */
.foot { background: var(--ink); color: #c9c3b5; padding: 44px 0 24px; font-size: 14px; }
.foot a { color: #fff; }
.foot__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; }
.foot__name { font: 800 22px/1 var(--sans); font-stretch: 72%; text-transform: uppercase; color: #fff; margin: 0 0 12px; }
.foot__ind { max-width: 44em; }
.foot__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; align-content: start; }
.foot__base { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid #333b45; margin-top: 28px; padding-top: 16px; }

/* tablet */
@media (max-width: 980px) {
  .hero__grid, .split, .pitch__grid, .cgrid, .chead__grid, .deskpage, .foot__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .hero__grid { padding-top: 36px; }
  .hero__map { max-width: 520px; }
  .cgrid__map { position: static; max-width: 460px; }
  .chead__map { justify-self: start; max-width: 300px; }
  .cols { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
/* phone */
@media (max-width: 640px) {
  :root { --gut: 16px; }
  body { font-size: 16px; }
  .mast__in { min-height: 0; gap: 0; padding-bottom: 4px; }
  .brand__name { font-size: 22px; }
  .nav { width: 100%; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gut)); padding: 0 var(--gut); }
  .nav a { padding: 10px 10px; font-size: 14px; white-space: nowrap; }
  .strip__tag { padding: 10px; }
  .hero__lede, .page__lede { font-size: 17px; }
  .ledger__row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
  .ledger__when { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 10px; }
  .ledger__main { grid-column: 1 / 2; }
  .ledger__amt { grid-column: 2 / 3; grid-row: 2; font-size: 16px; }
  .ledger__to { font-size: 17px; }
  .plans, .tools { grid-template-columns: minmax(0, 1fr); }
  .plan + .plan { border-left: 0; border-top: 2px solid var(--ink); }
  .tool + .tool { border-left: 0; border-top: 1px solid var(--line); }
  .plan { padding: 20px; }
  .kpis { grid-template-columns: minmax(0, 1fr); }
  .kpis div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .kpis div { padding-bottom: 10px; }
  .facts { grid-template-columns: minmax(0, 1fr); }
  .hide-sm { display: none; }
  .deskform { padding: 16px; }
  .pitch { padding: 44px 0; }
  .steps li { padding-left: 52px; }
  .foot__links { grid-template-columns: minmax(0, 1fr); }
  .pick__row { flex-wrap: wrap; }
  .pick__row .btn { width: 100%; }
}
@media print {
  .mast, .strip, .foot, .noprint, .nav { display: none !important; }
  body { background: #fff; font-size: 11pt; }
  .sheet__t { background: #fff; }
  a { color: inherit; text-decoration: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* v1.1.0: AdEngine banner (adengine.us). One labelled slot between the main content and the footer, on the public reading
   pages only (the controllers opt in). The label and the reserved height are on the <ins>, so when tag.js (or ae-size.js)
   hides a slot it cannot fill, the label and the space go with it. 110px = 16px label + 4px gap + 90px banner; 270px on
   phones (300x250). Every page above already ends with its own bottom padding and the dark footer has no top margin, so
   the only spacing is below the <ins>, and it disappears with a hidden slot. display stays in this file and is never
   !important: tag.js hides a slot with style.display='none'. */
.ae-slot { padding: 0 var(--gut); }
.ae-slot ins.adengine { display: block; max-width: 728px; min-height: 110px; margin: 0 auto 48px; text-align: center; text-decoration: none; }
.ae-slot ins.adengine::before { content: "Advertisement"; display: block; margin-bottom: 4px; font: 700 11px/16px var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--slate); }
.ae-slot ins.adengine a { display: inline-block; vertical-align: top; }
.ae-slot:has(> ins.adengine[style*="none"]) { display: none; }
@media (max-width: 767px) { .ae-slot ins.adengine { max-width: 300px; min-height: 270px; margin-bottom: 40px; } }
@media print { .ae-slot { display: none; } }
