/* Ohio News Flash, redesign 2026-10-10: "civic wayfinding". White paper, black ink, one signal yellow;
   cities as round line bullets coloured by county; a dark departures-board panel; Public Sans + IBM Plex Mono
   (both self-hosted, OFL). See F:\Clients\ohionewsflash.com\DESIGN.md. */
@font-face{font-family:"Public Sans";src:url(fonts/public-sans-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{--ink:#111418;--ink2:#4b5563;--paper:#fff;--mist:#f3f3ee;--rule:#d9d9cf;--signal:#ffd400;--pale:#fff6c2;--link:#1d4ed8;--err:#b3261e;--amber:#8a4b00;
--sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;
--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:40px;--s6:64px;--max:1240px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);font-feature-settings:"tnum" 0}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:3px}
a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus,summary:focus-visible{outline:3px solid transparent;background-color:var(--signal);color:var(--ink);box-shadow:0 -2px var(--signal),0 4px var(--ink);text-decoration:none}
input:focus,select:focus,textarea:focus{background-color:#fff;outline:3px solid var(--signal);outline-offset:0;box-shadow:inset 0 0 0 2px var(--ink)}
h1,h2,h3{line-height:1.08;letter-spacing:-.02em;font-weight:800;margin:0 0 .4em}
h1{font-size:clamp(2.2rem,5vw,3.5rem);letter-spacing:-.035em}
h2{font-size:clamp(1.4rem,2.4vw,1.85rem);margin-top:1.6em}
h3{font-size:1.15rem;margin-top:1.3em}
p{margin:0 0 1em}
.shell{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:12px;top:12px;z-index:9;padding:10px 14px}
.small{font-size:.93rem;color:var(--ink2)}
.empty{color:var(--ink2);padding:var(--s3) 0;border-top:1px solid var(--rule)}
.eyebrow{font:700 .78rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);margin:0 0 var(--s3)}
.eyebrow::before{content:"";display:inline-block;vertical-align:-2px;margin-right:10px;width:14px;height:14px;border-radius:50%;background:var(--signal);box-shadow:inset 0 0 0 2px var(--ink)}
.eyebrow a{color:var(--ink)}
.lede{font-size:clamp(1.08rem,1.6vw,1.25rem);line-height:1.55;color:#2b3138;max-width:60ch}

/* header */
.hd{border-top:6px solid var(--signal);border-bottom:1px solid var(--rule);background:var(--paper)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);min-height:76px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;padding:6px 0}
.logo-mk{width:38px;height:38px;flex:none}.mk-disc{fill:var(--signal);stroke:var(--ink);stroke-width:2.5}.mk-bolt{fill:var(--ink)}
.logo-tx{font:500 1.35rem/1 var(--sans);letter-spacing:-.03em}.logo-tx b{font-weight:850}
.hd-nav{display:flex;align-items:center;gap:2px}
.hd-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem;padding:10px 14px;border-radius:4px;white-space:nowrap}
.hd-nav a:hover{background:var(--mist)}
.hd-nav a[aria-current]{box-shadow:inset 0 -4px var(--ink);border-radius:0}
.hd-nav .hd-sheet{background:var(--ink);color:#fff;border-radius:999px;margin-left:8px;padding:10px 18px}
.hd-nav .hd-sheet:hover{background:#2c323a}
.hd-nav .hd-sheet[aria-current]{box-shadow:0 0 0 3px var(--signal);border-radius:999px}
.status{background:var(--pale);border-top:1px solid #efe2a0;font-size:.93rem}
.status-in{display:flex;gap:12px;align-items:baseline;padding-top:9px;padding-bottom:9px}
.status-tag{font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;background:var(--ink);color:var(--signal);padding:5px 8px;border-radius:3px;flex:none}
.status a{color:var(--ink);font-weight:700}

/* actions + the money line */
.act{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:2px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);font:700 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer}
.act:hover{background:var(--mist)}
.act-dark{background:var(--ink);color:#fff}.act-dark:hover{background:#2c323a}
.act-quiet{border-color:transparent;background:transparent;text-decoration:underline}
.act-danger{background:var(--err);border-color:var(--err);color:#fff}
.danger{color:var(--err)}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer}
.fare{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px;border:2px solid var(--ink);border-radius:22px;padding:6px 16px 6px 6px;margin:var(--s3) 0;font-size:.95rem;background:#fff}
.fare-tag{background:var(--ink);color:var(--signal);font:700 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;padding:8px 12px;border-radius:999px}
.fare-tx{flex:1 1 18em;min-width:0;padding-left:2px}
.fare-free{background:var(--signal);padding:1px 6px;font-weight:700}
.fare a{color:var(--ink);font-weight:600}

/* hero */
.hero{background:var(--paper);border-bottom:1px solid var(--rule)}
.hero-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5) clamp(24px,5vw,72px);align-items:start;padding-top:clamp(32px,6vw,72px);padding-bottom:var(--s5)}
.hero-h{font-size:clamp(2.6rem,6.2vw,5rem);line-height:.98;letter-spacing:-.045em;margin:0 0 .3em;max-width:12ch}
.hero-lede{font-size:clamp(1.05rem,1.5vw,1.2rem);color:#2b3138;max-width:58ch}
.bigsearch{margin:var(--s4) 0 var(--s3);max-width:620px}
.bigsearch label{display:block;font-weight:700;margin-bottom:6px}
.bigsearch-row{display:flex}
.bigsearch input{flex:1 1 auto;min-width:0;height:58px;border:3px solid var(--ink);border-right:0;border-radius:0;padding:0 16px;font:400 1.1rem var(--sans)}
.bigsearch button{height:58px;border:0;background:var(--ink);color:var(--signal);font:800 1.05rem var(--sans);padding:0 26px;cursor:pointer}
.bigsearch button:hover{color:#fff}
.hero-go{display:flex;flex-wrap:wrap;gap:12px}
.board{background:var(--ink);color:#e7e9ec;border-radius:6px;padding:22px 22px 18px;box-shadow:0 30px 60px -30px rgba(17,20,24,.45)}
.board-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid #343a42;padding-bottom:12px;margin-bottom:4px}
.board-h{font:500 .9rem/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--signal);margin:0}
.board-sub{font:500 .74rem var(--mono);color:#aeb4bc}
.board-list{list-style:none;margin:0;padding:0}
.board-list li{display:grid;grid-template-columns:7.2em minmax(0,1fr);gap:2px 14px;padding:13px 0;border-bottom:1px solid #2a3037}
.board-time{font:500 .82rem/1.5 var(--mono);color:var(--signal);grid-row:span 2}
.board-city{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#c9ced4;font-weight:600}
.board-list a{color:#fff;text-decoration:none;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.board-list a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.board-list a:focus-visible{color:var(--ink)}
.board-empty{color:#c9ced4;padding:14px 0}
.board-foot{font:500 .76rem/1.5 var(--mono);color:#aeb4bc;margin:14px 0 0}
.tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0 0 var(--s5);gap:0 var(--s4)}
.tally div{border-top:3px solid var(--ink);padding-top:12px}
.tally dt{font-size:.85rem;color:var(--ink2);font-weight:600}
.tally dd{margin:0;font:800 clamp(2rem,4vw,3rem)/1.1 var(--sans);letter-spacing:-.04em}

/* bands + sections */
.band{padding:clamp(40px,6vw,80px) 0}
.band-alt{background:var(--mist)}
.sec-h{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .35em}
.sec-note{color:var(--ink2);max-width:62ch;font-size:.97rem}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s5) clamp(24px,5vw,72px);align-items:start}
.split-side{position:sticky;top:24px}

/* the feed */
.pday{display:flex;align-items:baseline;gap:12px;font:500 .8rem/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink2);border-bottom:3px solid var(--ink);padding-bottom:10px;margin:var(--s5) 0 0}
.pday:first-child{margin-top:0}
.pday span{font:800 1.25rem/1 var(--sans);letter-spacing:-.02em;text-transform:none;color:var(--ink)}
.feed{list-style:none;margin:0 0 var(--s3);padding:0}
.post{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:0 var(--s3);padding:18px 0;border-bottom:1px solid var(--rule)}
.post-clock{font:500 .78rem/1.3 var(--mono);color:var(--ink2);padding-top:4px}
.post-clock b{font:500 1.05rem/1 var(--mono);color:var(--ink)}
.post-clock small{display:block;font-size:.74rem;margin-top:4px}
.post-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;overflow-wrap:anywhere}
.post-city{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;font-size:.85rem;text-decoration:none}
.post-city:hover{text-decoration:underline}
.post-head{display:block}
.ptitle{color:var(--ink);font-weight:750;font-size:1.13rem;line-height:1.3;text-decoration-color:var(--rule);text-decoration-thickness:2px}
.ptitle:hover{text-decoration-color:var(--ink)}
.post-when{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.post-ex{color:#2b3138;max-width:68ch}
.post-goneline{font-size:.88rem;color:var(--amber)}
.post-gone .ptitle{color:var(--ink2)}
.lv-new{display:inline-block;vertical-align:2px;margin-right:4px;background:var(--signal);color:var(--ink);font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;padding:4px 7px;border-radius:3px}

/* city bullets (county tones; every tone >= 4.5:1 with white) */
.bul{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none;color:#fff;font:800 .68rem/1 var(--sans);letter-spacing:.02em}
.bul-lg{width:84px;height:84px;font-size:1.75rem;letter-spacing:-.02em;box-shadow:0 0 0 4px #fff,0 0 0 7px var(--ink)}
.bul-0{background:#c8102e}.bul-1{background:#1d4ed8}.bul-2{background:#047857}.bul-3{background:#7e22ce}.bul-4{background:#b45309}
.bul-5{background:#0e7490}.bul-6{background:#be185d}.bul-7{background:#374151}.bul-8{background:#4d7c0f}.bul-9{background:#9a3412}

/* county "lines" with city "stops" */
.lines{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s4) var(--s5);margin:var(--s4) 0}
.line h2,.line-h{font:800 .8rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.14em;margin:0 0 6px;padding-bottom:8px;border-bottom:3px solid var(--ink)}
.stops{list-style:none;margin:0;padding:0;position:relative}
.stops::before{content:"";position:absolute;left:13px;top:18px;bottom:18px;width:2px;background:var(--rule)}
.stops li{position:relative}
.stops a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 12px;align-items:center;padding:8px 0;color:var(--ink);text-decoration:none}
.stops a .bul{grid-row:span 2}
.stop-name{font-weight:700;line-height:1.25}
.stops a:hover .stop-name{text-decoration:underline}
.stop-n{font-size:.82rem;color:var(--ink2);line-height:1.3}

/* steps */
.steps{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.steps li{border-top:3px solid var(--ink);padding-top:var(--s3)}
.step-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--signal);box-shadow:inset 0 0 0 2px var(--ink);font:800 1.2rem var(--sans);margin-bottom:12px}
.steps p{font-size:1.02rem;max-width:36ch}

/* tickets (plans) */
.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4);margin:var(--s4) 0}
.ticket{position:relative;background:#fff;border:2px solid var(--ink);border-radius:10px;padding:26px 28px 22px}
.ticket-kind{font:700 .8rem var(--sans);text-transform:uppercase;letter-spacing:.14em;margin:0 0 6px}
.ticket-amt{font:800 3rem/1 var(--sans);letter-spacing:-.04em;margin:0 0 6px}
.ticket-amt span{font:500 1rem var(--sans);letter-spacing:0;color:var(--ink2)}
.ticket-alt{margin:0 0 22px;font-size:.95rem}
.ticket ul{margin:18px 0 0;padding:18px 0 0;list-style:none;border-top:2px dashed var(--rule)}
.ticket li{padding:6px 0 6px 26px;position:relative}
.ticket li::before{content:"";position:absolute;left:0;top:13px;width:12px;height:12px;border-radius:50%;background:var(--ink)}
.ticket-pass{background:var(--ink);color:#fff}
.ticket-pass .ticket-kind,.ticket-pass .ticket-amt{color:var(--signal)}
.ticket-pass .ticket-amt span{color:#c9ced4}
.ticket-pass li::before{background:var(--signal)}
.ticket-pass ul{border-top-color:#3a4049}
.ticket-free{background:var(--signal);color:var(--ink);font-weight:700;font-size:.93rem;padding:10px 12px;border-radius:4px;margin:16px 0 0}

/* inner pages */
.phead{background:var(--mist);border-bottom:1px solid var(--rule);padding:clamp(32px,5vw,64px) 0 clamp(24px,4vw,44px)}
.phead h1{margin:0 0 .3em;max-width:22ch}
.phead .lede{margin:0}
.phead-cityin{display:flex;gap:var(--s4) clamp(20px,3vw,36px);align-items:center}
.credit{font-size:.95rem;color:var(--ink2);margin:0;max-width:70ch}
.page{padding-top:var(--s5);padding-bottom:var(--s6)}
.page.split{padding-top:var(--s5)}
.page>h2:first-child{margin-top:0}
.prose p,.prose li{max-width:70ch}
.prose ul,ul.prose{padding-left:1.2em}
.prose li{margin:.45em 0}
.caution{color:var(--amber)}
.note{padding:14px 18px;margin:var(--s3) 0;border-left:6px solid var(--ink);background:var(--mist)}
.note-err{border-left-color:var(--err);color:var(--err);background:#fdf1f0}
.note-main{border-left-color:var(--signal);background:var(--pale)}
code{font:500 .86em var(--mono);background:var(--mist);padding:2px 5px;border-radius:3px}
.wrapcode{display:block;overflow-wrap:anywhere;margin-top:4px;padding:10px 12px}
.links{list-style:none;padding:0}
.sum{width:100%;border-collapse:collapse;margin:var(--s3) 0;font-size:.93rem}
.sum th{text-align:left;font:700 .76rem var(--sans);text-transform:uppercase;letter-spacing:.1em;border-bottom:3px solid var(--ink);padding:10px}
.sum td{padding:10px;border-bottom:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere}
.sum tbody tr:nth-child(even){background:#fafaf6}

/* forms */
label{display:block;font-weight:700;font-size:.95rem}
input,select,textarea{display:block;width:100%;min-width:0;font:400 1rem var(--sans);color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:0;padding:10px 12px;min-height:48px}
textarea{line-height:1.5;resize:vertical;margin-top:6px}
label input{margin-top:6px}
.sform{border:2px solid var(--ink);border-radius:6px;padding:16px 18px;margin:0 0 var(--s3);background:#fff}
.row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.row input{flex:1 1 200px;width:auto}.row select{flex:0 1 220px;width:auto}
fieldset{border:0;padding:0;margin:0 0 var(--s3);min-width:0}
legend{font-weight:800;margin:0 0 8px;padding:0}
.ticks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.check{display:flex;gap:10px;align-items:center;font-weight:500;margin:4px 0;min-height:36px}
.check input{width:20px;height:20px;min-height:0;margin:0;flex:none;accent-color:var(--ink)}
.checkform{border:2px solid var(--ink);border-radius:6px;padding:20px 22px;margin:var(--s3) 0;background:#fff}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:var(--s3) 0}
.inline{display:inline}
.linkbox{background:var(--pale);border:2px solid var(--ink);border-radius:6px;padding:16px 18px;margin:var(--s3) 0}
.linkbox .row input{font:500 .85rem var(--mono)}
.more{display:block;margin-top:2px;font-size:.88rem}.more summary{cursor:pointer;color:var(--link)}

/* footer */
.ft{background:var(--signal);color:var(--ink);margin-top:0;padding:var(--s6) 0 var(--s5)}
.ft a{color:var(--ink)}
.ft-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3) var(--s5);align-items:flex-end;border-bottom:3px solid var(--ink);padding-bottom:var(--s4)}
.ft-name{display:flex;align-items:center;gap:14px;font:850 clamp(1.8rem,4vw,2.8rem)/1 var(--sans);letter-spacing:-.04em;margin:0}
.ft-mk{width:48px;height:48px;flex:none}.ft-mk circle{fill:var(--ink)}.ft-mk path{fill:var(--signal)}
.ft-say{max-width:42ch;margin:0;font-weight:500}
.ft-nav{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:var(--s3) var(--s6);padding:var(--s4) 0}
.ft-nav ul{list-style:none;margin:0;padding:0}
.ft-nav li{margin:6px 0}
.ft-h{font:700 .74rem var(--sans);text-transform:uppercase;letter-spacing:.14em}
.ft-nav a{font-weight:600}
.fine{font-size:.88rem;max-width:92ch;border-top:1px solid rgba(17,20,24,.25);padding-top:var(--s3)}
.powered{font-weight:700;margin:0}
.ft a:focus-visible{background:var(--ink);color:var(--signal);box-shadow:none}

@media (max-width:980px){
  .hero-in,.split{grid-template-columns:1fr}
  .split-side{position:static}
  .tally{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .steps{grid-template-columns:1fr}
  .ticks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  body{font-size:16px}
  .hd-in{min-height:0;padding-top:12px;padding-bottom:0}
  .hd-nav{width:calc(100% + 32px);margin:8px -16px 0;padding:6px 10px;overflow-x:auto;border-top:1px solid var(--rule);justify-content:space-between}
  .hd-nav a{padding:10px 8px}
  .hd-nav .hd-opt{display:none}
  .hd-nav .hd-sheet{margin-left:4px;padding:10px 16px}
  .board-list li:nth-child(n+5){display:none}
  .status-in{flex-direction:column;gap:6px}
  .hero-h{font-size:clamp(2.4rem,11vw,3rem)}
  .bigsearch button{padding:0 18px}
  .post{grid-template-columns:1fr}
  .post-clock{display:flex;gap:8px;align-items:baseline;padding:0 0 6px}
  .post-clock small{display:inline;margin:0}
  .phead-cityin{flex-direction:column;align-items:flex-start}
  .bul-lg{width:64px;height:64px;font-size:1.35rem}
  .ticks{grid-template-columns:1fr}
  .row select,.row input,.row .act{flex:1 1 100%}
  .ft-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.hd,.ft,.status,.skip,.fare,.actions,.sform,.bigsearch,.board{display:none!important}.hero-in,.split{display:block}}
.page p,.page li{max-width:72ch}
/* ---------- v1.2.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),
   apart from the city posts. 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). The footer has no top margin, so the space below the banner is the <ins>'s own margin (it goes with a hidden
   slot); pages end with 64px of white padding, except the home page, which ends on a grey band and gets a top margin too.
   display stays in this file and is never !important: tag.js hides a slot with style.display='none'. */
.ae-slot{padding:0 clamp(16px,4vw,40px)}
.ae-slot:has(> ins.adengine[style*="none"]){display:none}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto clamp(40px,5vw,56px);text-align:center;text-decoration:none}
main:has(> .band:last-child) + .ae-slot ins.adengine{margin-top:clamp(40px,5vw,56px)}
.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(--ink2)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
@media (max-width:767px){.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}

/* ---------- v1.3.0: a post's own page (the city's words, credited and linked) ---------- */
.post-top{background:var(--mist);border-bottom:1px solid var(--rule);padding:clamp(28px,4.5vw,56px) 0 clamp(20px,3vw,36px)}
.post-top h1{font-size:clamp(1.9rem,4.2vw,3rem);max-width:30ch;margin:0 0 .35em;overflow-wrap:anywhere}
.post-by{font:500 .98rem/1.5 var(--sans);color:var(--ink2);margin:0}
.postpage{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--s5) clamp(24px,5vw,72px);align-items:start}
.post-text{font-size:1.06rem;line-height:1.7;overflow-wrap:anywhere;min-width:0}
.post-text p,.post-text li{max-width:68ch}
.post-text h2{font-size:1.35rem;margin:1.4em 0 .45em}
.post-text h3{font-size:1.2rem;margin:1.3em 0 .4em}
.post-text h4{font-size:1.06rem;margin:1.2em 0 .35em}
.post-text ul,.post-text ol{padding-left:1.3em}
.post-text li{margin:.35em 0}
.post-text blockquote{margin:1em 0;padding:2px 0 2px 18px;border-left:4px solid var(--rule);color:#2b3138}
.post-text table{border-collapse:collapse;margin:1em 0;display:block;max-width:100%;overflow-x:auto}
.post-text th,.post-text td{border:1px solid var(--rule);padding:6px 10px;text-align:left;vertical-align:top}
.post-text img{max-width:100%;height:auto}
.post-text hr{border:0;border-top:1px solid var(--rule);margin:1.6em 0}
.post-text em a,.post-text a{overflow-wrap:anywhere}
/* v1.3.0 review fix: a note of ours inside a city's post (a picture not shown here, a video or slideshow): its own line, never the city's words */
.post-text .post-note{display:block;margin:.6em 0;padding:8px 12px;border-left:4px solid var(--rule);background:var(--mist);font-size:.95rem;color:var(--ink2)}
.post-ex-lead{font-size:1.14rem;line-height:1.6;color:#2b3138}
.post-desc{font-size:1.12rem;color:#2b3138}
.post-fig{margin:0 0 var(--s4)}
.post-fig img{display:block;max-width:100%;height:auto;border-radius:6px;background:var(--mist)}
.post-fig figcaption{font-size:.85rem;color:var(--ink2);margin-top:6px}
.post-src{position:sticky;top:24px;border:1px solid var(--rule);border-top:6px solid var(--signal);padding:18px 20px 6px;font-size:.95rem;background:var(--paper)}
.post-src h2{font:800 .8rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9em}
.post-src p{margin:0 0 .9em;overflow-wrap:anywhere}
.src-url{font-family:var(--mono);font-size:.82rem}
.post-flag{display:inline-block;vertical-align:2px;margin-left:4px;font:700 .68rem/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;padding:4px 7px;border-radius:3px;background:var(--mist);border:1px solid var(--rule);color:var(--ink2)}
.pager{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:var(--s4) 0}
@media (max-width:980px){.postpage{grid-template-columns:1fr}.post-src{position:static}}
