/* The Realty Gazette — master stylesheet (v2 "newsprint" design, approved Oct 26, 2026).
   A printed-gazette look: newsprint paper, blackletter nameplate, color-keyed desks, stacked on phones.
   Desk colors: residential, commercial, business, investor, advisory, fun, rates. */
:root{
  --white:#1d1b18; /* legacy alias used by older edition markup */
  --paper:#f7f3ea; --sheet:#fffdf8; --ink:#1d1b18; --muted:#5f5a52; --rule:#d9d1c2; --soft:#efe8da;
  --res:#d2552f; --com:#1f7f86; --biz:#6a4c9c; --inv:#2f8a4e; --adv:#b87a10; --adv-bright:#d9921a; --fun:#d6497f; --rate:#2f6fd0;
  --display:"UnifrakturMaguntia","Old English Text MT",Georgia,serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--serif); font-size:17px; line-height:1.55}
img,video,svg{max-width:100%}
a{color:inherit; text-decoration-thickness:1px; text-underline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--rate); outline-offset:2px}
h1,h2,h3,h4,h5{text-wrap:balance; margin:0; line-height:1.15}
p{margin:0}

/* ---------- top bar ---------- */
.topbar{background:var(--ink); color:#f7f3ea; font-family:var(--sans); font-size:13px}
.topbar-in{max-width:1120px; margin:0 auto; padding:8px 16px; display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center; justify-content:space-between}
.topbar .home{font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase}
.topbar .links{display:flex; flex-wrap:wrap; gap:4px 16px; align-items:center}
.topbar .links a{text-decoration:none; opacity:.9}
.topbar .links a:hover{opacity:1; text-decoration:underline}
.topbar .links a.sub-btn{background:var(--res); color:#fff; padding:4px 12px; border-radius:999px; font-weight:700; opacity:1}

/* ---------- the sheet ---------- */
.page{max-width:1120px; margin:20px auto 32px; background:var(--sheet); border:1px solid var(--rule); padding:clamp(16px,3vw,40px); display:grid; gap:26px; grid-template-columns:minmax(0,1fr)}
.page > *{min-width:0}
@media(max-width:600px){ .page{margin:0; border-left:0; border-right:0; padding:18px 16px} }

/* masthead */
.masthead{display:grid; gap:12px}
.dateline{display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; font-family:var(--sans); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--rule); padding-bottom:8px}
.nameplate{text-align:center; display:grid; gap:4px}
.nameplate .np{font-family:var(--display); font-weight:400; font-size:clamp(42px,9vw,92px); line-height:1; margin:0}
.nameplate .np a{text-decoration:none}
.nameplate .tag{font-style:italic; color:var(--muted); font-size:clamp(15px,2.2vw,18px)}
.stripe{height:6px; background:linear-gradient(90deg,var(--rate) 0 14%,var(--res) 14% 28%,var(--inv) 28% 42%,var(--com) 42% 56%,var(--adv-bright) 56% 70%,var(--biz) 70% 84%,var(--fun) 84% 100%)}
.edition-bar{display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:space-between; align-items:center; font-family:var(--sans); font-size:13px}
.edition-bar strong{font-size:14px}
.desks{display:flex; flex-wrap:wrap; gap:4px 14px; font-weight:700; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase}
.desks a{text-decoration:none}
.desks a:hover{text-decoration:underline}

/* chips and small type */
.label{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#fff; padding:4px 8px; display:inline-block; line-height:1.3; justify-self:start; align-self:start}
.res{background:var(--res)} .com{background:var(--com)} .biz{background:var(--biz)} .inv{background:var(--inv)} .adv{background:var(--adv)} .fun{background:var(--fun)} .rate{background:var(--rate)} .dark{background:var(--ink)}
.small{font-family:var(--sans); font-size:12.5px; color:var(--muted); line-height:1.45}
.kicker{font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase}
.rule2{border-top:3px double var(--ink)}

/* market pulse (KPI tiles) */
.pulse-wrap{display:grid; gap:10px}
.pulse-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 12px}
.pulse-head h2{font-family:var(--sans); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase}
.pulse{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.tile{border:1px solid var(--rule); border-top:4px solid var(--c); padding:10px 12px; display:grid; gap:3px; background:#fff; align-content:start}
.tile b{font-family:var(--sans); font-size:clamp(22px,3vw,28px); color:var(--c); font-variant-numeric:tabular-nums; line-height:1.1}
.tile span{font-family:var(--sans); font-size:13px; font-weight:600; line-height:1.35}
.tile small{font-family:var(--sans); font-size:12px; color:var(--muted); line-height:1.35}
@media(max-width:860px){ .pulse{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:420px){ .tile b{font-size:22px} }

/* lead block */
.lead{display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:28px; align-items:start}
.lead-story{display:grid; gap:14px; min-width:0}
.lead-story h1,.lead-story h2.hl{font-size:clamp(30px,4.6vw,46px); line-height:1.07; font-weight:700}
.lead-story h2.hl a{text-decoration:none}
.lead-story h2.hl a:hover{text-decoration:underline}
.dek{font-style:italic; font-size:clamp(17px,2vw,19px); color:var(--muted)}
.meta{display:flex; flex-wrap:wrap; gap:4px 14px}
.meta b{color:var(--ink)}
.takeaway{border-left:5px solid var(--res); background:#fbece6; padding:14px 16px; display:grid; gap:6px}
.takeaway .kicker{color:var(--res)}
.takeaway p{font-size:18px}
.lead-img{display:block; border:1px solid var(--rule)}
.lead-img img{display:block; width:100%; height:auto}
a.more{font-family:var(--sans); font-weight:700; font-size:14px; color:var(--c,var(--res)); text-decoration:none}
a.more:hover{text-decoration:underline}

/* side column: advisory + inside */
.side{display:grid; gap:20px; min-width:0}
.advisory{border:2px solid var(--adv-bright); background:#fdf3df; padding:16px; display:grid; gap:10px; min-width:0}
.adv-head{display:flex; gap:12px; align-items:center}
.adv-head img{width:56px; height:56px; border-radius:50%; object-fit:cover; border:2px solid var(--adv-bright); flex:none; background:#fff}
.adv-head div{display:grid; gap:4px}
.advisory h2{font-size:22px; line-height:1.15}
.advisory p{font-size:15.5px; line-height:1.5}
.ask{background:#fff; border:1px solid var(--rule); padding:12px; display:grid; gap:4px; font-size:15px}
.contact{font-family:var(--sans); font-weight:700; word-break:break-word}
.inside{display:grid; gap:8px; border-top:3px double var(--ink); padding-top:12px; font-family:var(--sans); font-size:14px}
.inside ul{list-style:none; padding:0; margin:0; display:grid; gap:6px}
.inside li{display:flex; gap:8px; align-items:baseline}
.inside a{text-decoration:none}
.inside a:hover{text-decoration:underline}
.dot{width:9px; height:9px; border-radius:50%; flex:none; background:var(--c)}
@media(max-width:860px){ .lead{grid-template-columns:minmax(0,1fr)} }

/* the story body */
.story{max-width:760px; width:100%; margin:0 auto; display:block}
.story > * + *{margin-top:1rem}
.story h2{font-size:clamp(24px,3.2vw,30px); border-top:4px solid var(--c,var(--res)); padding-top:12px; margin-top:2.2rem}
.story h2:first-child{margin-top:0}
.story h2:nth-of-type(6n+1){--c:var(--res)} .story h2:nth-of-type(6n+2){--c:var(--rate)} .story h2:nth-of-type(6n+3){--c:var(--inv)}
.story h2:nth-of-type(6n+4){--c:var(--com)} .story h2:nth-of-type(6n+5){--c:var(--biz)} .story h2:nth-of-type(6n){--c:var(--adv-bright)}
.story h3{font-size:21px; margin-top:1.6rem}
.story p,.story li{font-size:17px}
.story ul,.story ol{padding-left:22px}
.story li + li{margin-top:.35rem}
.sec-num{display:inline-block; color:var(--c,var(--res)); margin-right:.3em}
.label-fact,.label-analysis{display:inline-block; font-family:var(--sans); font-size:11px; letter-spacing:.09em; text-transform:uppercase; font-weight:700; padding:3px 8px; color:#fff; margin-top:1rem}
.label-fact{background:var(--rate)}
.label-analysis{background:var(--res)}
.story .label-fact + p,.story .label-analysis + p,.story .label-fact + ul,.story .label-analysis + ul{margin-top:.5rem}
.story sup a{font-family:var(--sans); font-size:11px; color:var(--rate); text-decoration:none; font-weight:700}
.box{border:1px dashed var(--rate); background:#eef3fc; padding:14px 16px; display:grid; gap:6px}
.box .lbl{font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--rate)}
.box p{font-size:16px}
.box.opinion{border:0; border-left:5px solid var(--adv-bright); background:#fdf3df}
.box.opinion .lbl{color:var(--adv)}
.box.opinion p{font-size:17.5px}
.num{white-space:nowrap; font-variant-numeric:tabular-nums}
a.go{font-family:var(--sans); font-weight:700; color:var(--res)}
a.go::after{content:" \2192"}
a.tel{font-weight:700; white-space:nowrap}

/* tables */
.tbl-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rule); background:#fff}
.tbl{width:100%; border-collapse:collapse; font-family:var(--sans); font-size:14.5px}
.tbl th{background:var(--soft); text-align:left; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:9px 10px; border-bottom:1px solid var(--rule)}
.tbl td{padding:9px 10px; border-bottom:1px solid var(--rule); vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.two-mkts td:first-child{font-weight:600}
@media(max-width:600px){ .tbl{font-size:13.5px} .tbl th{letter-spacing:.03em; padding:8px} .tbl td{padding:8px} .tbl .num{white-space:normal} }

/* what to watch */
.watch{list-style:none; padding:0!important; margin:1rem 0}
.watch li{display:flex; gap:14px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--rule); margin:0!important}
.watch .when{flex:0 0 116px; font-family:var(--sans); font-weight:700; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:var(--res); padding:4px 8px; text-align:center; line-height:1.3}
@media(max-width:520px){ .watch .when{flex-basis:92px; font-size:11.5px} }

/* sources */
ol.sources{font-family:var(--sans); font-size:14px; padding-left:22px}
ol.sources li{font-size:14px}

/* line chart */
.chart{border:1px solid var(--rule); border-top:4px solid var(--rate); background:#fff; padding:14px 14px 8px; margin:1.2rem 0 1.4rem; position:relative}
.chart h4,.bars h4{font-family:var(--serif); font-size:19px}
.chart .sub,.bars .sub{font-family:var(--sans); font-size:12.5px; color:var(--muted); margin:2px 0 8px}
.chart svg{width:100%; height:auto; display:block; overflow:visible}
.chart .tip{position:absolute; pointer-events:none; background:var(--ink); color:#fff; border-radius:4px; padding:5px 9px; font-family:var(--sans); font-size:12.5px; white-space:nowrap; transform:translate(-50%,-120%); opacity:0; transition:opacity .12s}
details{margin:6px 0 0}
details summary{cursor:pointer; padding:6px 0; font-family:var(--sans); font-size:13px; font-weight:700; color:var(--rate)}
details .tbl{font-size:13.5px}

/* grouped bars */
.bars{border:1px solid var(--rule); border-top:4px solid var(--com); background:#fff; padding:14px 14px 8px; margin:1.2rem 0 1.4rem}
.bars .legend{display:flex; gap:16px; flex-wrap:wrap; font-family:var(--sans); font-size:13px; margin:0 0 10px}
.bars .legend i{display:inline-block; width:12px; height:12px; margin-right:6px; vertical-align:-1px}
.bars .panels{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.bars .panel h5{font-family:var(--sans); margin:0 0 8px; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:700; line-height:1.35}
.bars .row{display:grid; gap:2px; margin:0 0 10px}
.bars .row .nm{display:flex; justify-content:space-between; gap:8px; font-family:var(--sans); font-size:12.5px; color:var(--muted)}
.bars .row .nm b{color:var(--ink)}
.bars .track{position:relative; height:18px; background:var(--soft)}
.bars .track .zero{position:absolute; top:-2px; bottom:-2px; width:1px; background:rgba(29,27,24,.45)}
.bars .bar{position:absolute; top:0; height:18px}
@media(max-width:700px){ .bars .panels{grid-template-columns:1fr} }

/* video */
.video{margin:0; display:grid; gap:6px}
.video .frame{position:relative; padding-top:56.25%; background:#0b1a33}
.video .frame iframe,.video .frame video{position:absolute; inset:0; width:100%; height:100%; border:0}
.video .cap{font-family:var(--sans); font-size:12.5px; color:var(--muted)}

/* desk row (front page) */
.desk-row{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px}
.desk{display:grid; gap:10px; align-content:start; border-top:4px solid var(--c); padding-top:12px; min-width:0}
.desk h3{font-size:22px}
.desk p{font-size:15.5px}
.archive{list-style:none; padding:0; margin:0; display:grid; gap:14px}
.archive .d{font-family:var(--sans); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:700}
.archive a.t{display:block; font-size:19px; font-weight:700; line-height:1.2; margin:2px 0 4px; text-decoration:none}
.archive a.t:hover{text-decoration:underline}
.archive p{font-size:15px; color:var(--muted)}
.promise{padding-left:18px; margin:0; display:grid; gap:6px; font-size:15.5px}
@media(max-width:860px){ .desk-row{grid-template-columns:minmax(0,1fr)} }

/* bottom boxes */
.bottom{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px}
.bx{padding:16px; display:grid; gap:10px; align-content:start; min-width:0}
.bx p{font-size:15.5px}
.win{background:#fff6d9; border:1px solid #ecd9a0}
.joke{background:#fde7ef; border:1px solid #f2bfd1; text-align:center}
.joke .label{justify-self:center}
.joke q{font-size:21px; font-weight:600; display:block; quotes:"\201C" "\201D"}
.joke .punch{font-family:var(--sans); font-weight:700; color:var(--fun)}
.hits{border:1px solid var(--rule)}
.hits ul{margin:0; padding-left:18px; display:grid; gap:8px; font-size:15px}
.hits a{font-weight:600}
.partner{border:1px dashed var(--muted); padding:16px; display:grid; gap:8px; align-content:start}
.partner p{font-size:15.5px}

/* subscribe */
.subbox{border:2px solid var(--ink); background:#fff; padding:18px; display:grid; gap:10px; align-content:start}
.subbox h3{font-size:24px}
.subbox p{font-size:15.5px}
.subbox form{display:flex; gap:10px; flex-wrap:wrap}
.subbox input[type=email],.subbox input[type=text]{flex:1 1 200px; min-width:0; padding:11px 12px; border:1px solid var(--muted); background:var(--sheet); font-family:var(--sans); font-size:15px; color:var(--ink)}
.subbox .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.subbox .fine{font-family:var(--sans); font-size:12px; color:var(--muted)}
.subbox .ok{font-family:var(--sans); font-weight:700; color:var(--inv)}
.subbox .er{font-family:var(--sans); color:#b3261e; font-size:13.5px; min-height:1em}
.btn{display:inline-block; font-family:var(--sans); font-weight:700; font-size:14px; padding:10px 18px; border:2px solid var(--ink); background:var(--ink); color:#fff; text-decoration:none; cursor:pointer; border-radius:0}
.btn:hover{background:var(--res); border-color:var(--res)}
.btn-ghost{background:#fff; color:var(--ink)}
.btn-ghost:hover{color:#fff}
button.btn[disabled]{opacity:.65; cursor:wait}
.cta-row{display:flex; flex-wrap:wrap; gap:10px}

/* close / footer */
.close{border-top:3px double var(--ink); padding-top:16px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px}
.close > div{display:grid; gap:12px; align-content:start; min-width:0}
.close .sign{font-style:italic; font-size:22px; line-height:1.25}
.intents{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-family:var(--sans); font-size:14px}
.intents a{border:1.5px solid var(--ink); padding:5px 12px; border-radius:999px; text-decoration:none; font-weight:600; background:#fff}
.intents a:hover{background:var(--ink); color:#fff}
.poll{display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-family:var(--sans); font-size:14px}
.poll button{font:inherit; font-weight:600; border:1.5px solid var(--ink); background:#fff; color:var(--ink); border-radius:999px; padding:5px 14px; cursor:pointer}
.poll button[aria-pressed="true"]{background:var(--ink); color:#fff}
.legal{display:grid; gap:8px; font-family:var(--sans); font-size:12.5px; color:var(--muted); line-height:1.5}
.legal .entity{color:var(--ink); font-weight:700}
.foot-links{display:flex; flex-wrap:wrap; gap:4px 14px; font-family:var(--sans); font-size:13px}
@media(max-width:860px){ .close{grid-template-columns:minmax(0,1fr)} }

/* about page cards */
.pillars{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.card{border:1px solid var(--rule); border-top:4px solid var(--c); background:#fff; padding:14px}
.card .tag{font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--c)}
.card h3{font-size:19px; margin:4px 0 6px}
.card p{font-size:15px}
@media(max-width:700px){ .pillars{grid-template-columns:1fr} }

@media print{ .topbar,.subbox,.poll,.intents{display:none} .page{border:0; margin:0} body{background:#fff} }

/* sponsor slots (house ads until sold; paid ones always labeled) */
.sponsor{border:2px dashed var(--adv-bright); background:repeating-linear-gradient(135deg,#fff8e6 0 14px,#fffdf8 14px 28px); padding:16px 18px; display:grid; gap:10px; min-width:0}
.sponsor.is-paid{border-style:solid; background:#fff}
.sponsor .sp-big{font-size:clamp(22px,3vw,28px); font-weight:700; line-height:1.15}
.sponsor .sp-small{font-family:var(--sans); font-size:14px; color:var(--muted); line-height:1.45}
.sponsor .sp-tx{display:grid; gap:6px; align-content:start; min-width:0}
.sponsor .sp-body{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.sponsor .sp-body p{font-size:16px; flex:1 1 260px}
.sp-presenting{grid-template-columns:minmax(0,1fr) auto; align-items:center}
.sp-presenting.is-paid{grid-template-columns:minmax(0,1fr)}
.sp-featured{grid-template-columns:140px minmax(0,1fr); align-items:center; max-width:760px; width:100%; margin:0 auto}
.sp-featured.is-paid{grid-template-columns:minmax(0,1fr)}
.sp-ph{aspect-ratio:1/1; border:2px dashed var(--muted); background:#fff; display:flex; align-items:center; justify-content:center; text-align:center; font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); line-height:1.3}
.sp-photo{width:120px; height:120px; object-fit:cover; border:1px solid var(--rule)}
.sp-head{display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center}
.sp-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.sp-card{background:#fff; border:1px dashed var(--muted); padding:12px; display:grid; gap:4px; align-content:start}
.sp-card.is-paid{border-style:solid; border-color:var(--rule)}
.sp-card b{font-size:18px; line-height:1.2}
.sp-card p{font-size:15px}
@media(max-width:760px){ .sp-presenting{grid-template-columns:minmax(0,1fr)} .sp-presenting .btn{justify-self:start} .sp-featured{grid-template-columns:96px minmax(0,1fr)} .sp-cards{grid-template-columns:minmax(0,1fr)} }
@media(max-width:420px){ .sp-featured{grid-template-columns:minmax(0,1fr)} .sp-ph{width:96px} }

/* sponsor page: rate card + inquiry form */
.sp-rates td:first-child{min-width:150px}
.sp-form-wrap{display:grid; gap:14px; max-width:860px; width:100%; margin:0 auto}
.sp-form-head{display:grid; gap:8px}
.sp-form-head h2{font-size:clamp(26px,3.4vw,34px)}
.sp-form{display:grid; gap:14px; background:#fff; border:2px solid var(--ink); padding:clamp(14px,3vw,24px); font-family:var(--sans)}
.sp-form label{display:grid; gap:6px; font-size:14px; font-weight:600}
.sp-form input[type=text],.sp-form input[type=email],.sp-form input[type=tel],.sp-form input[type=url],.sp-form select,.sp-form textarea{width:100%; min-width:0; padding:11px 12px; border:1px solid var(--muted); background:var(--sheet); font:inherit; font-weight:400; font-size:15px; color:var(--ink); border-radius:0}
.sp-form textarea{resize:vertical}
.sp-form .row2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.sp-form .row3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.sp-form fieldset{border:1px solid var(--rule); padding:10px 12px; margin:0; display:flex; flex-wrap:wrap; gap:8px 18px}
.sp-form legend{font-size:14px; font-weight:600; padding:0 4px}
.sp-form .chk{display:flex; gap:8px; align-items:flex-start; font-weight:400; font-size:14.5px}
.sp-form .chk input{margin-top:3px; width:16px; height:16px; flex:none}
.sp-form .consent{font-size:13.5px; color:var(--muted)}
.sp-form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.sp-note{background:#fdf3df; border-left:4px solid var(--adv-bright); padding:8px 10px}
.sp-er{color:#b3261e; font-size:14px; min-height:1em; margin:0}
.sp-ok{background:#fff; border:2px solid var(--inv); padding:20px; display:grid; gap:8px}
.sp-ok .sp-big{font-size:26px; font-weight:700; font-family:var(--serif)}
@media(max-width:700px){ .sp-form .row2,.sp-form .row3{grid-template-columns:minmax(0,1fr)} }
@media(max-width:600px){
  .sp-rates thead{display:none}
  .sp-rates tr{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-bottom:1px solid var(--rule); padding:6px 0}
  .sp-rates tr:last-child{border-bottom:0}
  .sp-rates td{border-bottom:0; padding:4px 10px}
  .sp-rates td:nth-child(1),.sp-rates td:nth-child(2){grid-column:1 / -1}
  .sp-rates td[data-l]::before{content:attr(data-l); display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:700}
  .sp-rates td:first-child{min-width:0}
}

/* Side-column sponsor space and slim "Presented by" line (Brenda, Nov 9, 2026): news first, sponsors beside it. */
.presented{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 12px; padding:6px 0 10px; border-bottom:1px solid var(--rule); font-family:var(--sans); font-size:13px; color:var(--muted)}
.presented a{display:inline-flex; align-items:center; gap:8px; color:var(--ink); text-decoration:none}
.presented img{height:24px; width:auto}
.presented .pd{font-size:11px; letter-spacing:.06em; text-transform:uppercase}
.rail-sp{border-top:1px solid var(--ink); padding-top:10px; display:grid; gap:6px; font-family:var(--sans); min-width:0}
.rail-sp .kicker{color:var(--muted); font-size:11px}
.rail-sp p{font-size:14px; line-height:1.45; color:var(--ink)}
.rail-sp a.more{font-size:13px; color:var(--ink); text-decoration:underline}
.rail-sp.house .kicker{color:var(--adv)}
.rail-sp ul{list-style:none; padding:0; margin:0; display:grid; gap:10px}
.rail-sp li{display:grid; gap:2px}
.rail-sp .rs-photo{width:72px; height:72px; object-fit:cover; border:1px solid var(--rule)}
.rail-sp.aff{border:1px solid var(--rule); border-top:3px solid var(--ink); background:#fff; padding:10px 12px}
.rail-sp .fine{font-size:11.5px; color:var(--muted)}
.rail-sp .rs-book{display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px; align-items:start}
.rail-sp .rs-book img{display:block; width:72px; height:auto; border:1px solid var(--rule); box-shadow:0 2px 6px rgba(0,0,0,.18)}
.rail-sp .rs-tools{font-size:13px; color:var(--muted); border-top:1px dotted var(--rule); padding-top:6px}
