/* Ohio Newsline: newsprint ivory, federal ink navy, docket red, deadline teal. Piazzolla + Gantari (SIL OFL 1.1, self-hosted). */
@font-face { font-family: "Piazzolla"; src: url("/assets/fonts/piazzolla-var.woff2") format("woff2"); font-weight: 300 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Piazzolla"; src: url("/assets/fonts/piazzolla-var-italic.woff2") format("woff2"); font-weight: 300 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Gantari"; src: url("/assets/fonts/gantari-var.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; }

:root {
  --paper: #f5f1e8; --paper-2: #ece6d8; --ink: #0e1b2c; --ink-2: #33415a; --mute: #5d6676; --rule: #d6cdb9;
  --red: #b23a2b; --red-ink: #8f2a1e; --teal: #0d6b66; --teal-2: #e0efec; --night: #0e1b2c; --night-2: #172a42;
  --serif: "Piazzolla", "Iowan Old Style", Georgia, serif; --sans: "Gantari", "Segoe UI", system-ui, sans-serif;
  --w: 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.6 var(--serif); font-optical-sizing: auto; }
a { color: var(--ink); text-decoration-color: var(--red); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--red-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
img, svg { max-width: 100%; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: #fff; padding: 8px 14px; z-index: 9; }
.skip:focus { left: 8px; }
.wrap { max-width: var(--w); margin: 0 auto; padding: 0 28px; }
.narrow { max-width: 780px; }
.kicker { font: 700 12px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin: 0 0 10px; }
.small { font: 400 14px/1.5 var(--sans); color: var(--mute); }
.lbl { font: 700 11px/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--mute); margin-right: 4px; }

/* masthead */
.mast { background: var(--paper); border-bottom: 3px double var(--ink); }
.mast-strip { background: var(--ink); color: #d9dfe8; font: 500 13px/1 var(--sans); }
.mast-strip-in { display: flex; gap: 24px; align-items: center; min-height: 36px; }
.mast-src { color: #9fb0c6; }
.mast-acct { margin-left: auto; display: flex; gap: 18px; }
.mast-acct a { color: #fff; text-decoration: none; }
.mast-acct a:hover, .mast-acct a[aria-current] { color: #f2b8ae; }
.mast-main { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 22px; padding-bottom: 18px; }
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); }
.brand-mk { width: 52px; height: 52px; flex: none; }
.mk-bg { fill: var(--ink); } .mk-dome, .mk-steps { fill: var(--paper); } .mk-line { fill: var(--red); }
.brand-tx { display: flex; flex-direction: column; }
.brand-name { font: 800 40px/1 var(--serif); letter-spacing: -.02em; }
.brand-tag { font: italic 400 16px/1.3 var(--serif); color: var(--ink-2); margin-top: 4px; }
.mast-search { display: flex; border: 1px solid var(--ink); background: #fff; }
.mast-search input { border: 0; padding: 10px 12px; font: 400 15px var(--sans); width: 260px; background: transparent; color: var(--ink); }
.mast-search button { border: 0; background: var(--ink); color: #fff; font: 700 13px var(--sans); letter-spacing: .06em; text-transform: uppercase; padding: 0 16px; cursor: pointer; }
.desks { border-top: 1px solid var(--ink); }
.desks-in { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.desks-in::-webkit-scrollbar { display: none; }
.desks a { font: 600 14px/1 var(--sans); color: var(--ink); text-decoration: none; padding: 14px 16px 12px; border-bottom: 3px solid transparent; white-space: nowrap; }
.desks a:first-child { padding-left: 0; }
.desks a:hover { color: var(--red-ink); }
.desks a[aria-current] { border-bottom-color: var(--red); }

/* deadline board */
.board { background: var(--night); color: #e8edf3; padding: 56px 0 40px; background-image: linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 80px 100%; }
.board-in { display: grid; grid-template-columns: 1.5fr 1fr; gap: 56px; align-items: end; }
.board-k { font: 700 12px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: #f2b8ae; margin: 0 0 16px; }
.board h1 { font: 700 54px/1.04 var(--serif); letter-spacing: -.02em; margin: 0 0 18px; color: #fff; max-width: 15ch; }
.board-p { font-size: 18px; color: #c6d0dc; max-width: 58ch; margin: 0 0 26px; }
.board-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin: 0; }
.board-figs { margin: 0; display: grid; gap: 0; border-top: 1px solid #3a4d68; }
.board-figs div { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-bottom: 1px solid #3a4d68; }
.board-figs dt { font: 500 14px var(--sans); color: #9fb0c6; }
.board-figs dd { margin: 0; font: 700 40px/1 var(--serif); color: #fff; font-variant-numeric: tabular-nums; }
.dues { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #3a4d68; border: 1px solid #3a4d68; }
.due { background: var(--night-2); padding: 18px 18px 20px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto; column-gap: 10px; }
.due-n { font: 800 44px/1 var(--serif); color: #7fd3c8; grid-row: 1; }
.due-u { font: 600 12px/1.2 var(--sans); text-transform: uppercase; letter-spacing: .1em; color: #7fd3c8; align-self: end; padding-bottom: 6px; }
.due-t { grid-column: 1 / -1; color: #fff; font: 600 16px/1.35 var(--serif); margin-top: 12px; text-decoration: none; }
.due-t:hover { color: #f2b8ae; text-decoration: underline; }
.due-a { grid-column: 1 / -1; font: 400 13px/1.4 var(--sans); color: #9fb0c6; margin-top: 8px; }

/* buttons */
.btn { display: inline-block; font: 700 14px/1 var(--sans); letter-spacing: .04em; padding: 14px 20px; background: var(--ink); color: #fff; border: 1px solid var(--ink); text-decoration: none; cursor: pointer; border-radius: 0; }
.btn:hover { background: var(--red-ink); border-color: var(--red-ink); color: #fff; }
.btn-light { background: #fff; color: var(--ink); border-color: #fff; }
.btn-light:hover { background: #f2b8ae; border-color: #f2b8ae; color: var(--ink); }
.btn-ghost { background: transparent; color: var(--ink); }
.btn-ghost:hover { background: var(--ink); color: #fff; }
.btn-danger { background: var(--red); border-color: var(--red); }
.btn-link { background: none; border: 0; padding: 0; font: 600 14px var(--sans); color: inherit; text-decoration: underline; text-decoration-color: currentColor; cursor: pointer; }
.board .btn-link { color: #c6d0dc; }

/* home grid */
.paper { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; padding-top: 48px; padding-bottom: 72px; }
.sec-h { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 2px solid var(--ink); padding-bottom: 8px; margin-bottom: 4px; }
.sec-h h2 { font: 800 30px/1.1 var(--serif); margin: 0; }
.sec-h p { margin: 0; font: 400 14px var(--sans); color: var(--mute); }
.dayrule { display: flex; justify-content: space-between; align-items: baseline; margin: 34px 0 0; padding-bottom: 8px; border-bottom: 1px solid var(--red); font: 700 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--red); }
.dayrule small { font: 500 12px var(--sans); letter-spacing: 0; text-transform: none; color: var(--mute); }

/* wire entry */
.entry { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--rule); }
.entry-meta { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; }
.entry-meta .kicker { margin: 0; }
.entry-proposed .kicker { color: var(--teal); }
.entry-notices .kicker { color: var(--ink-2); }
.entry-presidential .kicker { color: #6b4b16; }
.entry-date { font: 500 13px var(--sans); color: var(--mute); }
.entry-title { font: 600 21px/1.3 var(--serif); margin: 0 0 6px; letter-spacing: -.005em; }
.entry-title a { text-decoration: none; }
.entry-title a:hover { text-decoration: underline; }
.entry-agency { font: 500 14px/1.4 var(--sans); color: var(--ink-2); margin: 0 0 8px; }
.entry-agency a { color: var(--ink-2); text-decoration: none; }
.entry-agency a:hover { text-decoration: underline; }
.sep { color: var(--rule); margin: 0 6px; }
.entry-sum { margin: 0 0 10px; color: #2b3546; font-size: 16px; }
.entry-foot { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin: 0; }
.chip { font: 600 12px/1 var(--sans); padding: 6px 8px; border: 1px solid var(--rule); color: var(--ink-2); background: #fbf9f4; }
.chip-due { background: var(--teal-2); border-color: #a9d3cc; color: var(--teal); }
.chip-where { color: var(--mute); }
.out { font: 700 13px var(--sans); color: var(--red-ink); text-decoration: none; margin-left: auto; }
.out::after { content: " \2197"; }
.out:hover { text-decoration: underline; }
.tag-new { font: 800 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; background: var(--red); color: #fff; padding: 3px 6px; vertical-align: 3px; }
.empty { font: 400 16px var(--sans); color: var(--mute); padding: 28px 0; }

/* rail */
.rail { display: flex; flex-direction: column; gap: 28px; }
.rail-box { border-top: 2px solid var(--ink); padding-top: 12px; }
.rail-h { font: 700 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 14px; }
.desk-list { list-style: none; padding: 0; margin: 0; }
.desk-list li { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.desk-list a { display: flex; align-items: baseline; gap: 12px; text-decoration: none; }
.dl-n { font: 800 28px/1 var(--serif); min-width: 2.2ch; font-variant-numeric: tabular-nums; color: var(--red); }
.dl-t { font: 700 17px var(--serif); }
.desk-list p { margin: 4px 0 0; font: 400 13px/1.45 var(--sans); color: var(--mute); }
.rail-how ol { margin: 0; padding-left: 20px; font: 400 15px/1.5 var(--sans); color: var(--ink-2); }
.rail-how li { margin-bottom: 8px; }
.rail-note { font: 400 13px var(--sans); color: var(--mute); }

/* pass */
.pass { background: #fff; border: 1px solid var(--ink); box-shadow: 8px 8px 0 var(--paper-2); padding: 24px; }
.pass-k { font: 700 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--teal); margin: 0 0 10px; }
.pass-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0 0 14px; }
.pp-n { font: 800 38px/1 var(--serif); }
.pp-n2 { font-size: 26px; }
.pp-u { font: 500 14px var(--sans); color: var(--mute); }
.pp-or { font: italic 400 15px var(--serif); color: var(--mute); }
.pass-list { margin: 0 0 14px; padding-left: 18px; font: 400 14px/1.5 var(--sans); color: var(--ink-2); }
.pass-list li { margin-bottom: 4px; }
.pass-preview { font: 400 13px/1.5 var(--sans); background: var(--teal-2); color: #124b47; padding: 10px 12px; margin: 0 0 16px; }

/* pages */
.page { padding-top: 44px; padding-bottom: 80px; }
.page-h { border-bottom: 2px solid var(--ink); padding-bottom: 20px; margin-bottom: 8px; }
.page h1 { font: 800 44px/1.08 var(--serif); letter-spacing: -.02em; margin: 0 0 12px; max-width: 26ch; }
.lede { font-size: 18px; color: var(--ink-2); max-width: 70ch; margin: 0; }
.note { font: 500 15px/1.5 var(--sans); border-left: 4px solid var(--teal); background: #fff; padding: 12px 16px; margin: 18px 0; }
.note-err, .note-price { border-left-color: var(--red); }
.note-preview { border-left-color: var(--teal); background: var(--teal-2); }
.stack { margin-top: 8px; }
.count { font: 600 14px var(--sans); color: var(--mute); margin: 24px 0 0; }
.sub-h { font: 700 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; margin: 28px 0 10px; }
.prose h2 { font: 700 24px/1.2 var(--serif); margin: 34px 0 10px; }
.prose li { margin-bottom: 8px; }
.crumb { font: 500 14px var(--sans); color: var(--mute); margin: 0 0 22px; }
.crumb span { margin: 0 6px; color: var(--rule); }

/* comment calendar */
.cal { list-style: none; margin: 0; padding: 0; }
.cal-row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 28px; padding: 22px 0; border-bottom: 1px solid var(--rule); }
.cal-date { display: flex; flex-direction: column; align-items: flex-start; border-left: 4px solid var(--teal); padding-left: 14px; }
.cal-soon .cal-date { border-left-color: var(--red); }
.cal-m { font: 700 13px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.cal-d { font: 800 46px/1 var(--serif); }
.cal-left { font: 600 12px var(--sans); color: var(--teal); margin-top: 6px; }
.cal-soon .cal-left { color: var(--red); }
.cal-t { font: 600 22px/1.3 var(--serif); margin: 0 0 8px; }
.cal-t a { text-decoration: none; }
.cal-t a:hover { text-decoration: underline; }
.cal-links { font: 400 14px var(--sans); color: var(--mute); margin: 0; }
.cal-links .out { margin-left: 4px; }

/* agencies */
.ag-grid { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px; }
.ag-grid a { display: flex; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--rule); text-decoration: none; }
.ag-n { font: 800 22px/1 var(--serif); color: var(--red); min-width: 2.4ch; font-variant-numeric: tabular-nums; }
.ag-t { font: 500 15px/1.35 var(--sans); }

/* document */
.doc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; }
.doc-t { font: 700 38px/1.15 var(--serif); }
.doc-by { font: 600 16px var(--sans); color: var(--ink-2); margin: 0 0 24px; }
.doc-sum { margin: 0 0 28px; padding: 6px 0 6px 22px; border-left: 3px solid var(--red); font-size: 19px; line-height: 1.6; }
.doc-sum p { margin: 0 0 8px; }
.doc-act { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.doc-note, .doc-nosum { font: 400 14px/1.5 var(--sans); color: var(--mute); }
.doc-facts { margin: 0; border-top: 2px solid var(--ink); align-self: start; }
.doc-facts div { padding: 12px 0; border-bottom: 1px solid var(--rule); }
.doc-facts dt { font: 700 11px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); margin-bottom: 6px; }
.doc-facts dd { margin: 0; font: 600 18px var(--serif); }
.doc-facts small { display: block; font: 600 13px var(--sans); color: var(--teal); margin-top: 4px; }
.fact-due { background: var(--teal-2); padding-left: 10px !important; }

/* search */
.sform { margin: 24px 0; }
.sform label { display: block; font: 600 14px var(--sans); margin-bottom: 6px; }
.sform-row { display: flex; gap: 8px; flex-wrap: wrap; }
.sform input, .sform select, .stackform input, .lc-form textarea, .feedurl, .keybox input { font: 400 16px var(--sans); padding: 12px; border: 1px solid var(--ink); background: #fff; color: var(--ink); border-radius: 0; }
.sform input { flex: 1 1 280px; }

/* pricing */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 28px 0; border: 1px solid var(--ink); background: #fff; }
.plan { padding: 28px; border-right: 1px solid var(--rule); }
.plan:last-child { border-right: 0; }
.plan-main { background: var(--ink); color: #e8edf3; }
.plan h2 { font: 700 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; margin: 0 0 16px; }
.plan-main h2 { color: #7fd3c8; }
.plan-price { font: 800 48px/1 var(--serif); margin: 0 0 18px; }
.plan-price span { font: 500 15px var(--sans); color: var(--mute); margin-left: 4px; }
.plan-main .plan-price span { color: #9fb0c6; }
.plan ul { margin: 0; padding-left: 18px; font: 400 15px/1.55 var(--sans); }
.plan li { margin-bottom: 6px; }
.tag-preview { display: inline-block; font: 700 12px/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; padding: 8px 10px; border: 1px solid currentColor; }
.faq dl { margin: 0; max-width: 760px; }
.faq dt { font: 700 19px var(--serif); margin-top: 18px; }
.faq dd { margin: 4px 0 0; color: var(--ink-2); }

/* line card */
.linecard-intro { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.lc-head { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: end; }
.lc-preview { font: 400 14px/1.5 var(--sans); background: var(--teal-2); color: #124b47; padding: 12px 14px; margin: 0; }
.keybox { background: #fff; border: 1px dashed var(--ink); padding: 14px 16px; margin: 20px 0; }
.keybox label { display: block; font: 600 14px var(--sans); margin-bottom: 8px; }
.keybox-row { display: flex; gap: 8px; }
.keybox input { flex: 1; min-width: 0; font-size: 14px; }
.lc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; }
.lc-dues { list-style: none; padding: 0; margin: 0; }
.lc-dues li { padding: 8px 0; border-bottom: 1px solid var(--rule); font-size: 16px; }
.lc-side { display: flex; flex-direction: column; gap: 24px; }
.lc-form { background: #fff; border: 1px solid var(--ink); padding: 20px; }
.lc-form fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.lc-form legend, .lc-form > label { font: 700 15px var(--sans); margin-bottom: 8px; display: block; }
.lc-form small { font-weight: 500; color: var(--mute); }
.lc-form textarea { width: 100%; }
.ag-pick { max-height: 260px; overflow: auto; border: 1px solid var(--rule); padding: 8px 10px; }
.check { display: flex; gap: 8px; align-items: flex-start; font: 400 14px/1.4 var(--sans); padding: 4px 0; }
.check input { margin-top: 3px; }
.lc-feeds p { font: 400 14px var(--sans); }
.feedurl { display: block; width: 100%; font-size: 13px; margin-top: 6px; }
.lc-admin { display: flex; gap: 20px; flex-wrap: wrap; font-size: 14px; color: var(--mute); }
.stackform { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; max-width: 560px; }
.stackform label { font: 600 14px var(--sans); }

/* footer */
.foot { background: var(--ink); color: #c6d0dc; padding: 52px 0 0; font: 400 14px/1.55 var(--sans); }
.foot a { color: #fff; text-decoration-color: #f2b8ae; }
.foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; padding-bottom: 36px; }
.foot-name { font: 800 26px/1 var(--serif); color: #fff; margin: 0 0 12px; }
.foot-indep { margin: 0; max-width: 56ch; }
.foot-h { font: 700 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #9fb0c6; margin: 0 0 12px; }
.foot-nav { display: flex; flex-direction: column; gap: 8px; }
.foot-nav a { text-decoration: none; }
.foot-nav a:hover { text-decoration: underline; }
.foot-base { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; border-top: 1px solid #2c3f59; padding-top: 16px; padding-bottom: 24px; font-size: 13px; color: #9fb0c6; }

@media (max-width: 1060px) {
  .board-in, .paper, .doc-grid, .lc-grid, .linecard-intro, .lc-head { grid-template-columns: 1fr; gap: 32px; }
  .dues { grid-template-columns: repeat(2, 1fr); }
  .ag-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  body { font-size: 16px; }
  .wrap { padding: 0 18px; }
  .mast-src { display: none; }
  .mast-strip-in { gap: 12px; font-size: 12px; }
  .mast-acct { gap: 12px; }
  .mast-main { flex-direction: column; align-items: stretch; gap: 14px; padding-top: 16px; }
  .brand-name { font-size: 32px; }
  .brand-mk { width: 44px; height: 44px; }
  .mast-search input { width: 100%; flex: 1; min-width: 0; }
  .desks a { padding: 12px 12px 10px; font-size: 13px; }
  .board { padding: 36px 0 28px; }
  .board h1 { font-size: 36px; }
  .board-p { font-size: 16px; }
  .board-figs dd { font-size: 30px; }
  .dues { grid-template-columns: 1fr; }
  .entry { grid-template-columns: 1fr; gap: 6px; }
  .entry-meta { flex-direction: row; gap: 12px; align-items: baseline; }
  .entry-title { font-size: 19px; }
  .out { margin-left: 0; }
  .page h1, .doc-t { font-size: 32px; }
  .cal-row { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; }
  .cal-d { font-size: 34px; }
  .cal-t { font-size: 19px; }
  .ag-grid { grid-template-columns: 1fr; }
  .plans { grid-template-columns: 1fr; }
  .plan { border-right: 0; border-bottom: 1px solid var(--rule); }
  .foot-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .foot-brand { grid-column: 1 / -1; }
  .sec-h { flex-direction: column; gap: 4px; }
}
@media print { .mast-strip, .desks, .mast-search, .foot, .rail, .board { display: none; } body { background: #fff; } }
/* ---------- 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),
   apart from the Federal Register documents. 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). Pages end with 72-80px of padding and the footer has no top margin, so the space
   below the banner is the <ins>'s own margin (it goes 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 28px; }
.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; }
.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(--mute); }
.ae-slot ins.adengine a { display: inline-block; vertical-align: top; }
@media (max-width: 767px) { .ae-slot { padding: 0 18px; } .ae-slot ins.adengine { max-width: 300px; min-height: 270px; } }
@media print { .ae-slot { display: none; } }
