/* Hill County Current — original stylesheet.
   System fonts only: Arial, Calibri, Tahoma.
   Minimalist editorial design: white paper, black ink, hairline rules,
   one muted accent used sparingly. Not a copy of any publication. */
:root{
  --ink:#111;
  --ink2:#555;
  --paper:#fff;
  --card:#fff;
  --rule:#e2e2e2;
  --accent:#5c2a28;
  --accent-d:#3f1c1b;
  --ok:#1f6b3a;
  --warn:#111;
  --max:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.55 Arial,Calibri,Tahoma,sans-serif}
a{color:var(--ink)}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
h1,h2,h3,h4{font-family:Tahoma,Arial,sans-serif;line-height:1.12;margin:0 0 .35em;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* keep the illustration above the sponsor slot */
.front{display:flex;flex-direction:column}
.front .lead-art{order:1}
.front .pack{order:2}
.front .sponsor.banner{order:3;margin-top:32px;margin-bottom:8px}

/* masthead — black ink, quiet, typographic */
.mast{background:#fff;color:var(--ink);padding:8px 0 20px;border-top:1px solid var(--ink)}
.mast .wrap{display:block}
.mast-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap;font-size:12px;letter-spacing:.03em;color:var(--ink2);padding:6px 0 12px;border-bottom:1px solid var(--rule)}
.mast-top a{color:var(--ink);text-decoration:none;font-weight:bold;border-bottom:1px solid var(--rule)}
.mast-top a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.mast-top .place{font-family:Tahoma,Arial,sans-serif;font-weight:bold;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-size:11px}
.mast-top .wx{color:var(--ink)}
.brand{display:block;text-decoration:none;color:var(--ink);text-align:center;padding:22px 0 2px}
.brand .name{display:block;font:bold clamp(40px,7.6vw,76px)/.9 Tahoma,Arial,sans-serif;letter-spacing:-.045em;color:var(--ink)}
.brand .name .word{display:block;font-size:.26em;line-height:1;letter-spacing:.28em;text-transform:uppercase;font-weight:bold;color:var(--ink);margin-bottom:.4em}
.brand .name em{font-style:normal;font-weight:bold;color:var(--ink)}
.brand .line{display:block;margin-top:12px;font:12px/1.3 Arial,Calibri,Tahoma,sans-serif;letter-spacing:.18em;color:var(--ink2)}

/* nav — restrained */
.nav{background:#fff;border-top:1px solid var(--rule);border-bottom:1px solid var(--ink);position:sticky;top:0;z-index:5}
.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;min-width:0}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0;flex:1;min-width:0}
.nav a{display:block;padding:15px 12px 14px 0;margin-right:6px;white-space:nowrap;text-decoration:none;color:var(--ink);font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.nav a:hover,.nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink)}
.nav .email-cta{margin-left:auto;margin-right:0;flex:0 0 auto;white-space:nowrap;font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:8px 0}
.nav .email-cta:hover{box-shadow:inset 0 -1px 0 var(--ink)}
.menu-btn{display:none;background:#fff;border:1px solid var(--ink);color:var(--ink);font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;cursor:pointer;flex:0 0 auto}

/* alerts — white, hairline; actual alerts invert to black */
.ribbon{font-size:14px;padding:8px 0;background:#fff;color:var(--ink);border-bottom:1px solid var(--rule)}
.ribbon.hot{background:var(--ink);color:#fff}.ribbon.hot a{color:#fff}
.ribbon .wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ribbon .pill{font:bold 11px Tahoma,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.wx-links{display:inline-flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.wx-links a{display:inline-block;background:#fff;border:1px solid var(--ink);color:var(--ink);font:bold 12px Arial,sans-serif;padding:3px 8px;text-decoration:none}
.ribbon.hot .wx-links a{background:transparent;border-color:#fff;color:#fff}

/* sponsor — white, hairline, no tint */
.sponsor{background:#fff;border:1px solid var(--rule);padding:18px;color:var(--ink2);font-size:15px;text-align:center}
.sponsor .lab{display:block;font:bold 10px Tahoma,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.sponsor.banner{margin:28px 0 8px;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sponsor a{font-weight:bold;text-decoration:none;border-bottom:1px solid var(--rule)}
.sponsor a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* lead illustration — wide 16:9 banner, full content width, generous white, no caption */
.lead-art{width:100%;max-width:none;margin:28px auto 44px;padding:8px 0 0;text-align:center}
.lead-art img{width:100%;height:auto;margin:0 auto;border:0;background:#fff;padding:0;display:block}

/* lead + latest */
.pack{display:grid;grid-template-columns:1.7fr 1fr;gap:0 48px;align-items:start;margin:8px 0 8px;padding-bottom:8px}
.lead .kicker,.latest .place,.news-list .place,.topic .place{
  display:block;font:bold 11px Tahoma,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px
}
.lead h1{font-size:clamp(28px,3.8vw,48px);line-height:1.05;margin:0 0 12px;letter-spacing:-.035em}
.lead h1 a{color:var(--ink);text-decoration:none}
.lead h1 a:hover{color:var(--ink);border-bottom:1px solid var(--ink)}
.lead .deck{font:bold 20px/1.35 Tahoma,Arial,sans-serif;letter-spacing:-.015em;margin:0 0 14px;color:var(--ink);font-weight:400}
.lead .brief{font-size:17px;line-height:1.55;margin:0 0 14px;color:#222}
.lead .meta,.item-meta,.latest .meta{font-size:13px;color:var(--ink2);margin:0 0 12px}
.lead .meta a,.item-meta a{font-weight:bold;text-decoration:none;border-bottom:1px solid var(--rule)}
.lead .links{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}

/* by the numbers — typographic, hairline, no tinted panel */
.numbers{margin:22px 0 8px;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.numbers h2{font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.numbers dl{margin:0;display:grid;gap:10px}
.numbers div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:0}
.numbers dt{font-size:13px;color:var(--ink2);margin:0}
.numbers dd{font:bold 15px/1.3 Tahoma,Arial,sans-serif;margin:0;text-align:right;letter-spacing:-.01em}

/* latest column — tight typographic list, hairlines */
.latest{padding:0;border-left:1px solid var(--rule);padding-left:32px}
.latest h2,.sec-h h2,.coming-h h2,.topic h2,.news-block > h2,.calendars h2{
  font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:0;padding:0 0 8px
}
.latest h2{border-bottom:1px solid var(--ink);display:block;margin:0 0 4px}
.latest ol{list-style:none;margin:0;padding:0}
.latest li{margin:0;padding:14px 0;border-bottom:1px solid var(--rule)}
.latest li:last-of-type{border-bottom:0}
.latest h3{font-size:18px;line-height:1.2;margin:0 0 6px;letter-spacing:-.02em}
.latest h3 a{color:var(--ink);text-decoration:none}
.latest h3 a:hover{border-bottom:1px solid var(--ink)}
.latest .more,.sec-h .more,.coming-h a,.topic .more{font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;margin:0}
.latest .more{display:inline-block;margin-top:12px}
.latest .more:hover,.sec-h .more:hover,.coming-h a:hover{border-bottom:1px solid var(--ink)}

/* coming up — white, hairline band, not a tinted panel */
.coming{background:#fff;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin:40px 0 0;padding:36px 0 40px}
.sec-h,.coming-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px 20px;flex-wrap:wrap;margin-bottom:20px}
.sec-h h2,.coming-h h2{border-bottom:1px solid var(--ink);display:inline-block;margin:0}
.coming-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.coming-list a{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;text-decoration:none;color:inherit}
.coming-list .d{text-align:center;min-width:48px;color:var(--accent)}
.coming-list .d b{display:block;font:bold 40px/1 Tahoma,Arial,sans-serif;letter-spacing:-.05em}
.coming-list .d span{display:block;font:bold 11px/1.25 Tahoma,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.coming-list h3{font-size:17px;margin:2px 0 6px;letter-spacing:-.02em}
.coming-list h3, .coming-list p{color:var(--ink)}
.coming-list p{margin:0;font-size:14px;color:var(--ink2);line-height:1.4}

/* topic sections — newspaper columns, hairlines */
.topics{display:flex;flex-direction:column;gap:48px;margin:52px 0 8px}
.topic h2{border-bottom:1px solid var(--ink);display:inline-block}
.topic ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 36px}
.topic li{margin:0;padding:16px 0 22px;border-top:1px solid var(--ink);border-bottom:0}
.topic h3{font-size:20px;line-height:1.2;margin:0 0 8px;letter-spacing:-.025em}
.topic h3 a{color:var(--ink);text-decoration:none}
.topic h3 a:hover{border-bottom:1px solid var(--ink)}
.topic .sum{margin:0 0 8px;font-size:15px;line-height:1.5;color:#333}
.topic .item-meta{font-size:12px;margin:0}
.topic .quick{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px;columns:unset}
.topic .quick li{margin:0;padding:12px 0;border-top:1px solid var(--rule);border-bottom:0}
.topic .quick a{font-weight:bold;text-decoration:none;color:var(--ink)}
.topic .quick a:hover{border-bottom:1px solid var(--ink)}
.topic .quick span{display:block;font-size:13px;color:var(--ink2);font-weight:normal;margin-top:2px}

/* email + sponsor */
.bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin:56px 0 64px;align-items:stretch}
.card{background:#fff;border:1px solid var(--rule);padding:28px 28px}
#newsletter.card{background:#fff;color:var(--ink);border:1px solid var(--ink)}
#newsletter.card h2{font-size:26px;letter-spacing:-.03em;color:var(--ink);margin:0 0 10px}
#newsletter.card p,#newsletter.card .note,#newsletter.card a,#newsletter.card label{color:var(--ink)}
#newsletter.card .note{color:var(--ink2)}
#newsletter.card a{text-decoration:none;border-bottom:1px solid var(--rule)}
#newsletter.card a:hover{border-bottom-color:var(--ink)}
.news-form label,.page label{display:block;font-weight:bold;margin:12px 0 4px}
.news-form input[type=email],.news-form input[type=text],.news-form input[type=date],.news-form input[type=url],.news-form input[type=tel],.news-form textarea,.news-form select,
.page input[type=email],.page input[type=text],.page input[type=date],.page input[type=url],.page input[type=tel],.page input[type=search],.page textarea,.page select{
  width:100%;max-width:100%;padding:10px 12px;font:16px Arial,sans-serif;border:1px solid #ccc;background:#fff;color:var(--ink)
}
.btn{display:inline-block;background:var(--ink);color:#fff;border:0;padding:10px 16px;font:bold 14px Arial,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:#000;color:#fff}
.btn.alt{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn.alt:hover{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.note{font-size:14px;color:var(--ink2)}
.privacy-line{margin-top:8px}
.ai{font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--ink2);text-decoration:none}
.ai:hover{border-bottom:1px solid var(--ink2)}

/* interior pages */
main{padding-bottom:8px}
.page{padding:36px 0 64px;max-width:760px}
.page.wide,.page-wide{max-width:none}
.page h1,.interior h1{font-size:clamp(30px,4.6vw,46px);margin:0 0 12px;letter-spacing:-.035em}
.lede{font-size:18px;color:#333;margin:0 0 28px;line-height:1.5}
.updated{font-size:13px;color:var(--ink2);margin:0 0 20px}
.interior{padding:36px 0 64px}

/* news list */
.news-list{list-style:none;margin:0 0 36px;padding:0}
.news-list > li{padding:20px 0;border-bottom:1px solid var(--rule)}
.news-list h2{font-size:24px;margin:0 0 8px;letter-spacing:-.025em}
.news-list h2 a{color:var(--ink);text-decoration:none}
.news-list h2 a:hover{border-bottom:1px solid var(--ink)}
.news-block{margin-bottom:48px}
.news-block > h2{border-bottom:1px solid var(--ink);display:inline-block;margin:0 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.chips a{display:inline-block;border:1px solid var(--rule);background:#fff;padding:6px 12px;font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.chips a:hover,.chips a[aria-current=page]{border-color:var(--ink)}

/* events page */
.ev-day{margin:0 0 40px}
.ev-day > h2{display:flex;align-items:baseline;gap:14px;font:bold 12px/1 Tahoma,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--rule);padding-bottom:12px;margin:0 0 20px}
.ev-day > h2 b{font:bold 40px/1 Tahoma,Arial,sans-serif;letter-spacing:-.05em;color:var(--accent);text-transform:none}
.ev-day article{margin:0 0 22px}
.ev-day h3{font-size:22px;margin:0 0 6px;letter-spacing:-.02em}
.ev-day h3 a{color:var(--ink);text-decoration:none}
.ev-day h3 a:hover{border-bottom:1px solid var(--ink)}
.ev-day p{margin:0 0 4px;font-size:16px}
.calendars{margin-top:48px}
.calendars h2{border-bottom:1px solid var(--ink);display:inline-block;margin:0 0 14px}
.calendars ul{margin:0;padding-left:1.2em}

/* links directory */
.search-box{margin:0 0 22px}
.search-box label{font-weight:bold;display:block;margin-bottom:4px}
.toc{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0 0 36px;padding:0}
.toc a{font-weight:bold;text-decoration:none;border-bottom:1px solid var(--rule)}
.toc a:hover{border-bottom-color:var(--ink)}
.hub section{margin:0 0 40px}
.hub h2{font-size:24px;letter-spacing:-.025em;border-bottom:1px solid var(--ink);padding-bottom:8px;display:inline-block;width:auto}
.hub h3{font-size:16px;margin:18px 0 8px}
.hub ul{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}
.hub li{break-inside:avoid;padding:8px 0;border-bottom:1px solid var(--rule)}
.hub li a{font-weight:bold;text-decoration:none;color:var(--ink)}
.hub li a:hover{border-bottom:1px solid var(--ink)}
.hub li span{display:block;font-size:13px;color:var(--ink2)}
.tbl{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl th{font-family:Tahoma,Arial,sans-serif;width:40%}

/* footer — white, typographic, hairline */
footer{background:#fff;color:var(--ink);padding:48px 0 32px;margin-top:0;font-size:15px;border-top:1px solid var(--ink)}
footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
footer a:hover{border-bottom-color:var(--ink)}
footer h2{font:bold 11px/1 Tahoma,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}
footer .brand-foot{font:bold clamp(26px,4vw,36px)/.95 Tahoma,Arial,sans-serif;letter-spacing:-.03em;color:var(--ink);margin:0 0 6px}
footer .brand-foot em{font-style:normal;color:var(--ink)}
footer .tag{display:block;font:12px/1.3 Arial,sans-serif;letter-spacing:.14em;color:var(--ink2);margin:0 0 14px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:0 0 8px}
footer p{margin:0 0 12px}
footer .fine{margin-top:36px;font-size:12px;color:var(--ink2);border-top:1px solid var(--rule);padding-top:16px}

/* forms status */
.form-ok{background:#fff;border:1px solid #1f6b3a;padding:12px 14px;margin:12px 0}
.form-err{background:#fff;border:1px solid #8a1c1c;padding:12px 14px;margin:12px 0}

h1,h2,h3,p,li,a{overflow-wrap:break-word}

@media (max-width:900px){
  .wrap{padding:0 18px}
  .pack{grid-template-columns:1fr;gap:28px}
  .latest{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:24px}
  .coming-list{grid-template-columns:repeat(2,1fr)}
  .topic ol{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .topic .quick{grid-template-columns:1fr}
  .bottom{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  .hub ul{columns:1}
  .lead-art{padding:4px 0 0;margin:16px auto 28px}
  .lead-art img{padding:0;border:0}
}
@media (max-width:700px){
  .wrap{padding:0 16px}
  .menu-btn{display:inline-block;order:1}
  .nav-bar{flex-wrap:wrap;padding:8px 16px;gap:8px}
  .nav ul{display:none;flex-direction:column;width:100%;border-top:1px solid var(--rule);order:3}
  .nav.is-open ul{display:flex}
  .nav a{padding:14px 0;margin-right:0}
  .nav .email-cta{order:2;margin:0 0 0 auto;width:auto;max-width:calc(100% - 96px);padding:8px 0;letter-spacing:.06em}
  .mast{padding:8px 0 14px}
  .mast-top{padding-bottom:10px}
  .brand{padding:16px 0 2px}
  .front{display:flex;flex-direction:column}
  .front .sponsor.banner{order:3;margin:20px 0 0}
  .front .lead-art{order:1}
  .front .pack{order:2;margin-top:8px}
  .coming-list,footer .cols,.topic ol{grid-template-columns:1fr}
  .coming-list{gap:22px}
  .lead h1{font-size:clamp(26px,8.4vw,36px)}
  .lead .deck{font-size:18px}
  .lead .brief{font-size:16px}
  .topic h3,.latest h3{font-size:20px}
  .hub ul{columns:1}
  .wx-links{margin-left:0}
  .card,#newsletter.card{padding:22px 18px}
  .topics{gap:36px;margin:36px 0 8px}
  .bottom{margin:36px 0 44px}
  .numbers div{grid-template-columns:1fr;gap:2px}
  .numbers dd{text-align:left}
}
