/* Sun Valley Tribune: "The Smoky Register" (PROVISIONAL, awaiting sign-off) */
:root{
  color-scheme: light;
  --paper:#FAF7F0; --ink:#20241F; --body:#2A2E2A; --soft:#4A4F4A; --mute:#767B74;
  --line:#DCD5C4; --accent:#A63A2A; --slab:#20241F;
  --disp:"Bitter",Georgia,"Times New Roman",serif;
  --body-f:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ui:"Archivo",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:#FAF7F0}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:var(--body-f);font-size:18px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover h1,a:hover h2,a:hover h3{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.inner{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Utility bar */
.utilbar{background:var(--ink);color:#EDE8DB;font-family:var(--ui);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase}
.utilbar .inner{padding-top:8px;padding-bottom:8px}
.utilbar .dl-date{color:#EDE8DB}
.utilbar .dl-wx{color:#C9C2B2}
.utilbar .sep{margin:0 8px;color:#8A8578}
.utilbar a{color:#EDE8DB;margin-left:18px}
.utilbar a:hover{text-decoration:underline}

/* Phase 2 header/nav fix (owner-directed, 2026-09-30): the utilbar is one
   slim row on every viewport. It never wraps, even at 390px. */
.utilbar .inner{flex-wrap:nowrap;white-space:nowrap}
.utilbar .utilbar-date{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center}
.utilbar .dl-date{overflow:hidden;text-overflow:ellipsis}
.utilbar .acts{display:flex;gap:14px;align-items:center;flex-shrink:0}
.utilbar .acts a{margin-left:0}
.utilbar .acts .utilink{font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#EDE8DB;text-decoration:none;white-space:nowrap}
.utilbar .acts .utilink:hover{text-decoration:underline}
.utilbar .acts .btn.mini{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fff;border:0;padding:7px 13px;text-decoration:none;white-space:nowrap;cursor:pointer}
.utilbar .acts .btn.mini:hover{filter:brightness(.93)}
@media(max-width:720px){
  .utilbar .dl-wx{display:none}
  .utilbar .dl-sep{display:none}
}

/* Masthead */
.masthead{text-align:center;padding:26px 0 0}
.ridgeline{display:block;margin:0 auto 10px}
.dateline-top{font-family:var(--ui);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--soft)}
.dateline-top .sep{margin:0 10px;color:var(--mute)}
.rule3{border:0;border-top:3px solid var(--ink);margin:14px 0 0}
.wordmark{font-family:var(--disp);font-weight:800;color:var(--ink);
  font-size:clamp(44px,7.5vw,84px);line-height:1.02;letter-spacing:-.01em;margin:10px 0 4px}
.wordmark a:hover{text-decoration:none}
.tagline{font-family:var(--ui);font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mute);margin:0 0 4px}
.rule1{border:0;border-top:1px solid var(--ink);margin:0 0 14px}

/* Section nav */
nav.sections{border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);
  font-family:var(--ui)}
nav.sections .inner{justify-content:center;flex-wrap:wrap;gap:0;padding-top:0;padding-bottom:0}
nav.sections a{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);padding:12px 16px 9px;display:block;border-bottom:3px solid transparent}
nav.sections a:hover{color:var(--accent)}
nav.sections a.on{color:var(--accent);border-bottom-color:var(--accent)}

/* Kickers */
.kicker{font-family:var(--ui);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin:0 0 8px}
.kicker .new{color:#fff;background:var(--accent);padding:2px 7px;margin-right:8px;font-size:10.5px}
.kicker.review{color:var(--soft)}

/* Homepage lead */
.lead{display:grid;grid-template-columns:2fr 1fr;gap:36px;padding:28px 0 8px}
.lead h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4vw,46px);
  line-height:1.08;color:var(--ink);margin:0 0 12px;letter-spacing:-.01em}
.standfirst{font-style:italic;color:var(--soft);font-size:19px;line-height:1.55;margin:0 0 14px}
.byline{font-family:var(--ui);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--soft);margin:0 0 6px}
.byline a{color:var(--ink);font-weight:600}
.byline a:hover{color:var(--accent)}
.stamp{font-family:var(--ui);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);margin:0 0 16px}
.hero{margin:0 0 10px}
.credit{display:block;font-family:var(--ui);font-size:8px;
  color:var(--mute);margin:6px 0 0;opacity:.55}
.caption{font-family:var(--ui);font-size:13px;color:var(--soft);margin:8px 0 0;line-height:1.5}
.caption .credit{display:block;margin-top:4px}

/* Wire */
.wire{border-top:3px solid var(--ink);padding-top:14px}
.wire h2,.secblock h2,.opinion h2{font-family:var(--disp);font-weight:700;font-size:21px;
  color:var(--ink);margin:0 0 6px}
.wire ul{list-style:none;margin:0;padding:0}
.wire li{padding:12px 0;border-top:1px solid var(--line)}
.wire li:first-child{border-top:0}
.wire .t{font-family:var(--ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);display:block;margin-bottom:3px}
.wire h3{font-family:var(--disp);font-weight:700;font-size:17px;line-height:1.3;
  color:var(--ink);margin:0}

/* Section blocks */
.secblock{border-top:3px solid var(--ink);margin-top:34px;padding-top:14px}
.secblock .rows{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.secblock article{padding:14px 0;border-top:1px solid var(--line)}
.secblock .rows article:nth-child(-n+2){border-top:0}
.secblock h3{font-family:var(--disp);font-weight:700;font-size:19px;line-height:1.3;
  color:var(--ink);margin:0 0 6px}
.secblock p{font-size:15.5px;color:var(--soft);margin:0;line-height:1.55}
.sec-more{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);display:inline-block;margin-top:10px}

/* Most read */
.mostread{border-top:3px solid var(--ink);margin-top:34px;padding-top:14px}
.mostread h2{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--ink);margin:0 0 6px}
.mostread ol{list-style:none;margin:0;padding:0;counter-reset:mr}
.mostread li{counter-increment:mr;display:flex;gap:14px;align-items:baseline;
  padding:11px 0;border-top:1px solid var(--line)}
.mostread li:first-child{border-top:0}
.mostread li::before{content:counter(mr);font-family:var(--disp);font-weight:800;
  font-size:24px;color:var(--accent);min-width:28px}
.mostread h3{font-family:var(--disp);font-weight:700;font-size:16.5px;line-height:1.35;
  color:var(--ink);margin:0}

/* Opinion */
.opinion{border-top:3px solid var(--ink);margin-top:34px;padding-top:14px}
.opinion article{padding:14px 0;border-top:1px solid var(--line)}
.opinion article:first-of-type{border-top:0}
.opinion h3{font-family:var(--disp);font-weight:700;font-size:20px;color:var(--ink);margin:0 0 6px}
.opinion p{font-size:15.5px;color:var(--soft);margin:0}

/* Newsletter */
.newsletter{margin:40px 0 0;border:1px solid var(--line);background:#F4EFE3;padding:30px}
.newsletter h2{font-family:var(--disp);font-weight:700;font-size:24px;color:var(--ink);margin:0 0 8px}
.newsletter > p{font-size:16px;color:var(--soft);margin:0 0 16px;max-width:36rem}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap}
.newsletter input[type=email]{font-family:var(--ui);font-size:15px;padding:11px 14px;
  border:1px solid var(--line);background:#fff;min-width:260px;color:var(--ink)}
.newsletter button{font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;background:var(--accent);color:#fff;border:0;padding:11px 22px;cursor:pointer}
.newsletter button:hover{background:var(--ink)}
.newsletter .note{font-family:var(--ui);font-size:12px;color:var(--mute);margin:12px 0 0}

/* Article page */
.article-head{padding:30px 0 0;max-width:760px}
.article-head h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.4vw,48px);
  line-height:1.08;color:var(--ink);margin:0 0 14px;letter-spacing:-.01em}
.article-meta{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);
  padding:12px 0;margin:18px 0 22px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.article-body{max-width:680px}
.article-body>p:first-of-type::first-letter{font-family:var(--disp);font-weight:800;
  font-size:3.4em;float:left;line-height:.86;padding:4px 10px 0 0;color:var(--ink)}
.article-body p{margin:0 0 1.35em}
.article-body h2{font-family:var(--disp);font-weight:700;font-size:23px;color:var(--ink);
  margin:1.6em 0 .6em;line-height:1.25}
.pullquote{border-left:3px solid var(--accent);margin:1.8em 0;padding:4px 0 4px 20px;
  font-family:var(--disp);font-weight:700;font-size:22px;line-height:1.4;color:var(--ink)}
.pullquote cite{display:block;font-family:var(--ui);font-style:normal;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.fig{margin:2em 0}
.fig.wide{max-width:900px}
.sources{border-top:3px solid var(--ink);margin-top:34px;padding-top:12px;max-width:680px}
.sources h2{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);margin:0 0 10px}
.sources li{font-size:15px;margin-bottom:8px;color:var(--soft)}
.sources a{text-decoration:underline}
.share{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 0;margin:26px 0;max-width:680px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.share span{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--soft)}
.share a{font-family:var(--ui);font-size:13px;font-weight:600;color:var(--ink);
  border:1px solid var(--line);padding:7px 14px}
.share a:hover{border-color:var(--ink)}
.related{margin-top:30px;max-width:680px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:720px){.rel-grid{grid-template-columns:1fr}}
.related h2{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--ink);
  border-top:3px solid var(--ink);padding-top:12px;margin:0 0 6px}
.related article{padding:12px 0;border-top:1px solid var(--line)}
.related h3{font-family:var(--disp);font-weight:700;font-size:17px;color:var(--ink);margin:0}

/* Section front */
.sec-head{padding:30px 0 6px;border-bottom:3px solid var(--ink);margin-bottom:6px}
.sec-head h1{font-family:var(--disp);font-weight:800;font-size:clamp(34px,5vw,54px);
  color:var(--ink);margin:0}
.sec-head p{color:var(--soft);font-style:italic;margin:8px 0 0;max-width:40rem}
.sec-list article{padding:18px 0;border-top:1px solid var(--line);display:grid;
  grid-template-columns:160px 1fr;gap:20px;align-items:start}
.sec-list article:first-child{border-top:0}
.sec-list h2{font-family:var(--disp);font-weight:700;font-size:22px;line-height:1.3;
  color:var(--ink);margin:0 0 6px}
.sec-list .thumb img{aspect-ratio:4/3;object-fit:cover;width:100%}
.sec-list p{font-size:15.5px;color:var(--soft);margin:0}

/* Author page */
.author-head{padding:30px 0 6px;border-bottom:3px solid var(--ink);margin-bottom:6px}
.author-head h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.5vw,46px);
  color:var(--ink);margin:0}
.author-head .role{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);margin:10px 0 0}
.author-head p.bio{color:var(--soft);max-width:40rem}

/* Static pages */
.page{padding:30px 0 10px;max-width:680px}
.page h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.5vw,44px);
  color:var(--ink);margin:0 0 16px;line-height:1.1}
.page h2{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--ink);margin:1.8em 0 .5em}
.page p,.page li{color:var(--body)}
.page ul{padding-left:1.4em}
.masthead-list{list-style:none;padding:0;margin:0}
.masthead-list li{padding:14px 0;border-top:1px solid var(--line);display:grid;
  grid-template-columns:1fr 2fr;gap:16px}
.masthead-list li:first-child{border-top:0}
.masthead-list .who{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--ink)}
.masthead-list .who a:hover{color:var(--accent)}
.masthead-list .what{font-family:var(--ui);font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--soft);padding-top:4px}
.email-plain{font-family:var(--ui);font-size:15px;color:var(--ink)}

/* Forms */
form.contact label{display:block;font-family:var(--ui);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:18px 0 6px}
form.contact input,form.contact select,form.contact textarea{width:100%;font-family:var(--ui);
  font-size:15px;padding:11px 14px;border:1px solid var(--line);background:#fff;color:var(--ink)}
form.contact textarea{min-height:160px}
form.contact button{margin-top:20px;font-family:var(--ui);font-size:13px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fff;
  border:0;padding:13px 28px;cursor:pointer}
form.contact button:hover{background:var(--ink)}
.hp{position:absolute;left:-9999px}

/* Search */
.searchbox{padding:30px 0;max-width:680px}
.searchbox input{width:100%;font-family:var(--ui);font-size:17px;padding:13px 16px;
  border:1px solid var(--ink);background:#fff;color:var(--ink)}
#search-results article{padding:14px 0;border-top:1px solid var(--line)}
#search-results h3{font-family:var(--disp);font-weight:700;font-size:19px;color:var(--ink);margin:0 0 4px}

/* Footer */
footer{background:var(--slab);color:#D8D2C2;margin-top:56px}
footer .inner{display:block;padding:40px 20px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-brand .wordmark{font-size:30px;color:#F4EFE3;margin:8px 0 10px}
.foot-brand p{font-size:14.5px;color:#B7B0A0;max-width:22rem;line-height:1.6}
footer h3{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#8F8878;margin:0 0 12px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:8px}
footer li a{font-size:14.5px;color:#D8D2C2}
footer li a:hover{color:#fff;text-decoration:underline}
.parent{border-top:1px solid #3A4038;margin-top:32px;padding-top:20px;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--ui);font-size:12.5px;
  letter-spacing:.06em;color:#8F8878}
.parent a{color:#D8D2C2;text-decoration:underline}

/* 404 */
.e404{padding:60px 0;text-align:center}
.e404 h1{font-family:var(--disp);font-weight:800;font-size:72px;color:var(--ink);margin:0}

@media (max-width:860px){
  .lead{grid-template-columns:1fr}
  .secblock .rows{grid-template-columns:1fr}
  .secblock .rows article:nth-child(-n+2){border-top:1px solid var(--line)}
  .secblock .rows article:first-child{border-top:0}
  .sec-list article{grid-template-columns:1fr}
  .sec-list .thumb{max-width:420px}
  .foot-grid{grid-template-columns:1fr 1fr}
  nav.sections .inner{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
    -webkit-overflow-scrolling:touch}
  nav.sections a{white-space:nowrap}
  .masthead-list li{grid-template-columns:1fr;gap:4px}
}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* Phase 2 header/nav fix (owner-directed, 2026-09-30): on mobile the
   horizontal-scroll strip is replaced by a <details> sections menu with the
   same links stacked vertically. Desktop keeps the inline row unchanged. */
nav.sections .sections-menu{display:none}
@media(max-width:720px){
  nav.sections .inner{display:none}
  nav.sections .sections-menu{display:block;max-width:1120px;margin:0 auto;padding:0 20px}
  nav.sections .sections-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--ui);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);padding:12px 0}
  nav.sections .sections-menu summary::-webkit-details-marker{display:none}
  nav.sections .sections-menu summary::marker{display:none}
  nav.sections .sections-menu summary::after{content:"+";font-size:17px;font-weight:400;color:var(--mute);line-height:1}
  nav.sections .sections-menu[open] summary::after{content:"-"}
  nav.sections .sections-menu .menu-panel{border-top:1px solid var(--ink);padding:4px 0 10px}
  nav.sections .sections-menu .menu-panel a{display:block;padding:10px 0 10px 12px;font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:none;border-left:3px solid transparent;white-space:normal;margin-bottom:0}
  nav.sections .sections-menu .menu-panel a.on{border-left-color:var(--accent);color:var(--accent)}
}


/* ==========================================================================
   DESIGN V2 (layout layer): the measured regional-teardown system,
   fitted to the Smoky Register tokens. New modules: .trending, .lead-grid,
   .rail, .cards (standard image cards), .tcard, .latest-list, .seclead,
   .readnext, .pill. Story separation is always 24px of air plus a 1px
   hairline (--rule). Card images are image-first 3:2 crops; tap targets on
   primary controls are >=44px.
   ========================================================================== */

/* ---------- trending bar: one-line topic strip ---------- */
.trending{background:var(--paper);border-bottom:1px solid var(--ink)}
.trending .wrap{display:flex;align-items:center;gap:1.25rem;padding-top:0;padding-bottom:0;
  overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
.tlabel{font-family:var(--ui);font-size:.66rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);flex-shrink:0}
.trending a{font-family:var(--ui);font-size:.72rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--soft);text-decoration:none;flex-shrink:0;
  min-height:44px;display:inline-flex;align-items:center}
.trending a:hover{color:var(--accent);text-decoration:underline}

/* ---------- lead grid: lead card + most-read rail ---------- */
.lead-grid{display:grid;grid-template-columns:1fr;padding:1.8rem 0 0}
.lead{border-bottom:none;margin-bottom:0;padding:0}
.lead-fig{margin:0 0 1rem}
.lead-fig img{width:100%;aspect-ratio:3/2;object-fit:cover}
.lead h1{font-size:1.9rem;margin:.2rem 0 0}
.lead h1 a{color:inherit;text-decoration:none}
.lead h1 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pill{display:inline-block;font-family:var(--ui);font-size:.66rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#FAF7F0;background:var(--accent);
  padding:.3rem .55rem;margin:0 .6rem .6rem 0;vertical-align:middle}

/* ---------- most-read rail: desktop-only, big serif numerals ---------- */
.rail{display:none}
@media(min-width:1100px){
  .lead-grid{grid-template-columns:8fr 4fr;gap:2.5rem}
  .lead h1{font-size:2.9rem}
  .rail{display:block;border-left:1px solid var(--line);padding-left:1.5rem;align-self:start}
  .rail ol{list-style:none;margin:.4rem 0 0;padding:0;counter-reset:rail}
  .rail li{counter-increment:rail;border-bottom:1px solid var(--line);
    padding:.75rem 0 .75rem 2.8rem;position:relative;font-size:1.02rem;line-height:1.4}
  .rail li:last-child{border-bottom:none}
  .rail li::before{content:counter(rail);position:absolute;left:0;top:.45rem;
    font-family:var(--disp);font-weight:600;font-size:1.9rem;line-height:1;color:var(--accent)}
  .rail a{color:inherit;text-decoration:none}
  .rail a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
}
@media(min-width:768px) and (max-width:1099px){
  .lead h1{font-size:2.4rem}
}

/* ---------- standard cards: image-first, 3:2, hairline separated ---------- */
.cards{display:grid;grid-template-columns:1fr;gap:1.6rem;margin:0 0 2.2rem}
.cards>article{border-bottom:1px solid var(--line);padding-bottom:1.5rem}
.cards>article:last-child{border-bottom:none;padding-bottom:0}
.p-img{display:block;margin:0 0 .8rem}
.p-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.cards h3{font-size:1.25rem;line-height:1.3;margin:0 0 .3rem}
.cards h3 a{color:inherit;text-decoration:none}
.cards h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.cards .deck{font-size:.98rem;color:var(--soft);margin:.3rem 0 0}
.cards .by{font-family:var(--ui);font-size:.78rem;color:var(--mute);margin:.5rem 0 0}
.cards .by b{color:var(--ink)}
.cards .by a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.tcard{border-bottom:1px solid var(--line);padding:1rem 0}
.tcard:last-child{border-bottom:none}
.tcard h3{font-size:1.15rem;margin:0 0 .3rem}
.tcard h3 a{color:inherit;text-decoration:none}
.tcard h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.tcard .by{font-family:var(--ui);font-size:.78rem;color:var(--mute);margin:.3rem 0 0}

/* ---------- the latest: timestamped text list ---------- */
.latest-list{list-style:none;margin:0 0 2.2rem;padding:0}
.latest-list li{display:flex;gap:1rem;align-items:baseline;
  border-bottom:1px solid var(--line);padding:.6rem 0}
.latest-list li:last-child{border-bottom:none}
.latest-list time{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mute);flex-shrink:0;min-width:6rem}
.latest-list a{color:inherit;text-decoration:none;font-size:1rem;line-height:1.4}
.latest-list a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ---------- section fronts: image-first seclead, locality kicks ---------- */
.seclead{margin:0 0 1.5rem}
.seclead .p-img{margin-bottom:1rem}
.seclead h1{font-size:1.7rem;margin:.2rem 0 0}
.seclead h1 a{color:inherit;text-decoration:none}
.seclead h1 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sechead{border-top:none;border-bottom:2px solid var(--ink);padding:0 0 1rem;margin-bottom:1.5rem}
.sechead h1{font-size:1.9rem;margin:0 0 .3rem}
.secdek{color:var(--soft);font-size:.98rem;margin:0;max-width:44rem}
.srow{grid-template-columns:104px 1fr;gap:1rem;align-items:start;padding:1rem 0}
.srow .thumb img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(min-width:700px){
  .seclead h1{font-size:2.2rem}
  .sechead h1{font-size:2.4rem}
  .srow{grid-template-columns:200px 1fr;gap:1.4rem}
}

/* ---------- article: more-from cards + read next ---------- */
.herofig img{aspect-ratio:3/2;object-fit:cover}
.related .cards{margin-top:.4rem}
.readnext{margin:1.6rem 0 0;border-top:1px solid var(--line);padding-top:1rem}
.readnext span{display:block;font-family:var(--ui);font-size:.68rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem}
.readnext a{font-size:1.15rem;color:inherit;text-decoration:none}
.readnext a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ---------- search: real form ---------- */
.searchform{display:flex;gap:.6rem;margin:1.2rem 0;max-width:36rem;flex-wrap:wrap}
.searchform input{flex:1 1 16rem;font-family:var(--ui);font-size:1rem;padding:.7rem .9rem;
  border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:0;min-height:44px}
.searchform button{font-family:var(--ui);font-size:.8rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;background:var(--ink);color:#FAF7F0;border:1px solid var(--ink);
  padding:.75rem 1.4rem;cursor:pointer;border-radius:0;min-height:44px}
.searchform button:hover{background:#2A251C}

/* ---------- tap targets >=44px on primary controls ---------- */
.share a{min-height:44px;display:inline-flex;align-items:center}
.newsletter .btn{min-height:44px}
.sections-menu .menu-panel a{padding-top:.95rem;padding-bottom:.95rem}

/* ---------- modhead: title + all-link on one baseline ---------- */
.modhead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.modhead h2{display:block}
.modhead .all{flex-shrink:0}

/* V2 mobile fit (2026-09-30): the V1 wordmark clamp floor (44px) and the
   fixed 420px ridgeline SVG overflowed 390px viewports in V1; the V2 layer
   scales both down so the page never scrolls horizontally. */
@media (max-width:560px){
  .wordmark{font-size:10.5vw}
  .ridgeline{width:100%;height:auto;max-width:420px}
  .foot-brand .wordmark{font-size:7.5vw}
}

/* Mobile share-row collapse (2026-10-05): on phones with Web Share support,
   collapse the row to a single native Share button; desktop and no-share
   devices keep the full row as fallback. */
.share .shnative{display:none}
@media (max-width:640px){.share.native>span,.share.native .shlink{display:none}.share.native .shnative{display:inline-flex}}

/* Scroll-up minibar (2026-10-05, owner-approved): slim 48px bar, wordmark
   left, section/Search right; hidden by default, slides in only when the
   reader scrolls up past 140px; hides on scroll-down or near top. */
#minibar{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--paper);border-bottom:1px solid var(--line);transform:translateY(-101%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
#minibar.show{transform:none;visibility:visible;transition:transform .25s ease}
#minibar .mb-word{font-family:var(--disp);font-size:22px;line-height:1;color:var(--ink);text-decoration:none}
#minibar .mb-sec{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-decoration:none}

/* live bar: sitewide breaking/developing banner, JS-driven from /live.json.
   Developing tier is amber; both tiers show an "updated X ago" freshness stamp.
   Ported from the Bay Tribune reference 2026-10-06 (owner-directed). */
#livebar{background:var(--accent);color:#fff;padding:12px 0}
#livebar .inner{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;max-width:1120px;margin:0 auto;padding:0 20px}
#livebar .blabel{background:#fff;color:var(--accent);font-family:var(--ui);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;flex-shrink:0;margin-top:1px}
#livebar.developing{background:#8a5a00}
#livebar.developing .blabel{color:#8a5a00}
#livebar a{color:#fff}
#livebar .live-updated{opacity:.75;font-size:13px;white-space:nowrap;margin-left:auto;flex-shrink:0}
