/* Lake Como Tribune: IL LARIO design system.
   Warm ivory paper, editorial ink, Verde Lario green. Newsreader display,
   Source Serif 4 body, Inter UI. No gradients, no iconography. */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400..800;1,6..72,400..800&family=Source+Serif+4:ital,opsz,wght@0,8..60,400..700;1,8..60,400..700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --paper: #FAF6EE;
  --ink: #14120E;
  --charcoal: #2B2822;
  --muted: #6E675C;
  --hairline: #E4DCCB;
  --green: #1D4A3A;
  --green-deep: #143627;
  --red: #A93226;
  --measure: 1200px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 17px;
  line-height: 1.65;
}
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--green); }
img { max-width: 100%; height: auto; display: block; }

.inner { max-width: var(--measure); margin: 0 auto; padding: 0 24px; }

/* ---------- masthead ---------- */
.masthead { border-bottom: none; }
.utilbar { border-bottom: 1px solid var(--hairline); }
.utilbar .inner {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 8px; padding-bottom: 8px;
  font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted);
}
.dateline { letter-spacing: 0.02em; }
.dl-date { font-weight: 500; }
.acts { display: flex; gap: 14px; align-items: center; }
.tlink { color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: 11px; }
.tlink:hover { color: var(--green); }
.btn-sub {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em;
  background: var(--green); color: var(--paper);
  padding: 8px 16px; border-radius: 2px;
}
.btn-sub:hover { background: var(--green-deep); color: var(--paper); }
.langtoggle { display: inline-flex; border: 1px solid var(--hairline); border-radius: 2px; overflow: hidden; }
.langtoggle a {
  padding: 4px 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  color: var(--muted);
}
.langtoggle a.active { background: var(--ink); color: var(--paper); }
.langtoggle a:not(.active):hover { color: var(--green); }

.kicker {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--green);
  text-align: center; margin: 28px 0 10px;
}
.wordmark { text-align: center; margin: 0 0 18px; }
.wordmark a {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700;
  font-size: 54px; letter-spacing: -0.01em; color: var(--ink);
  line-height: 1;
}
.wordmark a:hover { color: var(--ink); }
.double-rule {
  border-top: 2px solid var(--ink);
  position: relative; height: 6px; max-width: var(--measure); margin: 0 auto;
}
.double-rule::after {
  content: ""; display: block; position: absolute; left: 0; right: 0; top: 3px;
  border-top: 1px solid var(--green); height: 2px;
}

/* ---------- section nav ---------- */
.secnav { border-bottom: 1px solid var(--hairline); margin-top: 10px; }
.secnav-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 26px;
}
.secnav-list a {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--charcoal);
  display: inline-block; padding: 12px 0; border-bottom: 2px solid transparent;
}
.secnav-list a:hover { color: var(--green); }
.secnav-list a.active { color: var(--green); border-bottom-color: var(--green); }
.secnav-mobile { display: none; }
.secnav-panel a {
  display: block; padding: 8px 0; font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
}
.secnav-mobile summary {
  cursor: pointer; list-style: none; padding: 12px 0;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--charcoal);
}
.secnav-mobile summary::-webkit-details-marker { display: none; }
.secnav-mobile summary::after { content: " +"; color: var(--green); }
.secnav-mobile[open] summary::after { content: " \u2013"; }

/* ---------- scroll minibar (hidden until styled JS reveals) ---------- */
#minibar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  background: var(--paper); border-bottom: 1px solid var(--hairline);
  transform: translateY(-110%); transition: transform 0.25s ease;
}
#minibar.show { transform: translateY(0); }
#minibar .inner {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 10px; padding-bottom: 10px;
}
.miniword {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700;
  font-size: 20px; letter-spacing: -0.01em; color: var(--ink);
}
.mb-sec {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--green);
}

/* ---------- live banner ---------- */
#livebar { background: var(--red); color: #fff; }
#livebar.developing { background: var(--green); }
#livebar .inner {
  display: flex; gap: 12px; align-items: baseline;
  padding-top: 10px; padding-bottom: 10px;
  font-family: 'Inter', sans-serif; font-size: 14px;
}
#livebar .blabel {
  font-weight: 700; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  border: 1px solid rgba(255,255,255,0.7); padding: 3px 8px; border-radius: 2px;
  white-space: nowrap;
}
#livebar a { color: #fff; text-decoration: underline; }
.live-updated { opacity: 0.85; font-size: 12px; white-space: nowrap; }
.breaking[hidden] { display: none; }

/* ---------- homepage ---------- */
.frontpage { padding: 8px 0 0; }
.leadhub {
  display: grid; grid-template-columns: 2fr 1fr; gap: 40px;
  padding: 28px 0 8px; align-items: start;
}
.leadfig { margin: 0 0 16px; }
.leadfig img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.kick {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green);
  margin: 14px 0 8px;
}
.kick a { color: var(--green); }
.kick a:hover { text-decoration: underline; }
.leadh { font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 42px; line-height: 1.08; letter-spacing: -0.01em; margin: 0 0 12px; }
.leadh a:hover { color: var(--green-deep); }
.dek { font-size: 19px; color: var(--charcoal); line-height: 1.5; margin: 0 0 12px; }
.by {
  font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted);
  letter-spacing: 0.02em; margin: 0;
}
.by a { color: var(--muted); font-weight: 600; }
.by a:hover { color: var(--green); }

.mostread { border-left: 1px solid var(--hairline); padding-left: 28px; }
.mostread h2 {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--green);
  margin: 0 0 14px;
}
.mostread ol { list-style: none; margin: 0; padding: 0; counter-reset: mr; }
.mostread li {
  counter-increment: mr; padding: 12px 0; border-top: 1px solid var(--hairline);
  font-family: 'Newsreader', Georgia, serif; font-size: 17px; line-height: 1.35;
}
.mostread li::before {
  content: counter(mr, decimal-leading-zero) " ";
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  color: var(--green); letter-spacing: 0.08em; margin-right: 8px;
}

.zone { padding: 34px 0 6px; }
.sechead { display: flex; align-items: baseline; gap: 18px; margin-bottom: 20px; }
.sechead h2 {
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink); margin: 0;
  white-space: nowrap;
}
.sechead h2 a { color: var(--ink); }
.sechead h2 a:hover { color: var(--green); }
.sechead .secrule { flex: 1; border-top: 1px solid var(--hairline); }
.sechead .all {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--green); white-space: nowrap;
}
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.card { border-top: 1px solid var(--hairline); padding-top: 16px; }
.cardimg { display: block; margin-bottom: 4px; }
.cardimg img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.card h2, .textcard h3 {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700;
  font-size: 24px; line-height: 1.2; margin: 0 0 8px;
}
.card h2 a:hover, .textcard h3 a:hover { color: var(--green-deep); }
.card .dek { font-size: 16px; }
.textcard { border-top: 1px solid var(--hairline); padding: 16px 0 4px; }

.latestlist { list-style: none; margin: 0; padding: 0; }
.latestlist li {
  display: flex; gap: 18px; align-items: baseline;
  padding: 12px 0; border-top: 1px solid var(--hairline);
  font-family: 'Newsreader', Georgia, serif; font-size: 18px;
}
.timestamp {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em; color: var(--green); white-space: nowrap; min-width: 90px;
}

.secblock { }
.opinionband { background: #F3EDE0; padding-left: 24px; padding-right: 24px; border-radius: 3px; }

.welcome { padding: 40px 0; max-width: 720px; }
.welcome h2 { font-family: 'Newsreader', Georgia, serif; font-size: 34px; font-weight: 700; margin: 0 0 14px; }

/* ---------- newsletter band ---------- */
.newsband { background: var(--green); color: var(--paper); margin: 36px 0 0; }
.newsband .inner {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center;
  padding-top: 34px; padding-bottom: 34px;
}
.newsband h2 { font-family: 'Newsreader', Georgia, serif; font-size: 28px; font-weight: 700; margin: 0 0 8px; }
.newsband p { margin: 0; opacity: 0.92; font-size: 16px; }
.nlform-row { display: flex; gap: 10px; margin-bottom: 8px; }
.nlform input[type="email"] {
  flex: 1; padding: 12px 14px; border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.08); color: var(--paper); border-radius: 2px;
  font-family: 'Inter', sans-serif; font-size: 14px;
}
.nlform input[type="email"]::placeholder { color: rgba(250,246,238,0.6); }
.nlform input[type="email"]:disabled { opacity: 0.6; }
.btn {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em;
  background: var(--paper); color: var(--green-deep);
  border: none; padding: 12px 22px; border-radius: 2px; cursor: pointer;
}
.btn:disabled { opacity: 0.55; cursor: not-allowed; }
.nl-soon {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.8;
}
.fine { font-family: 'Inter', sans-serif; font-size: 12px; opacity: 0.75; margin-top: 10px; }
.nlpage { max-width: 560px; margin: 18px 0; }
.nlpage .nlform-row input[type="email"] {
  border-color: var(--hairline); background: #fff; color: var(--ink);
}
.nlpage .nlform-row input[type="email"]::placeholder { color: var(--muted); }
.nlpage .btn { background: var(--green); color: var(--paper); }
.nlpage .nl-soon { color: var(--green); }
.nlpage ~ .fine { color: var(--muted); opacity: 1; }

/* ---------- institutions band ---------- */
.services { padding: 30px 0 40px; }
.svc-grid {
  list-style: none; margin: 0 0 10px; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px 24px;
}
.svc-grid a {
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; color: var(--green);
}
.svc-grid a:hover { text-decoration: underline; }
.svc-note { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); }

/* ---------- section fronts ---------- */
.pagehead { padding: 30px 0 6px; }
.pagehead h1 {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 44px;
  letter-spacing: -0.01em; margin: 0 0 8px;
}
.pagehead p { font-size: 18px; color: var(--charcoal); max-width: 720px; margin: 0; }
.seclead { padding: 22px 0; border-bottom: 1px solid var(--hairline); }
.seclead img { width: 100%; aspect-ratio: 16/8; object-fit: cover; margin-bottom: 6px; }
.seclead h2 { font-family: 'Newsreader', Georgia, serif; font-size: 34px; font-weight: 700; line-height: 1.15; margin: 0 0 10px; }
.srow { padding: 20px 0; border-bottom: 1px solid var(--hairline); }
.srow h3 { font-family: 'Newsreader', Georgia, serif; font-size: 24px; font-weight: 700; margin: 0 0 6px; }
.srow p { margin: 0 0 8px; color: var(--charcoal); }

/* ---------- articles ---------- */
.article { max-width: 760px; margin: 0 auto; padding: 26px 0 10px; }
.article h1 {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700;
  font-size: 44px; line-height: 1.08; letter-spacing: -0.01em; margin: 6px 0 14px;
}
.article .dek { font-size: 20px; }
.hero { margin: 18px 0 8px; }
.hero img { width: 100%; }
figcaption { margin-top: 8px; }
.caption { font-family: 'Inter', sans-serif; font-size: 13px; color: var(--charcoal); }
.credit {
  font-family: 'Inter', sans-serif; font-size: 8px; font-weight: 400;
  color: var(--muted); opacity: 0.55; margin-top: 4px; display: inline-block;
}
.byline {
  font-family: 'Inter', sans-serif; font-size: 13px; color: var(--muted);
  margin: 0 0 6px; padding-bottom: 14px; border-bottom: 1px solid var(--hairline);
}
.byline a { color: var(--muted); font-weight: 600; }
.transnote {
  font-family: 'Inter', sans-serif; font-size: 13px; font-style: italic;
  color: var(--muted); border-left: 2px solid var(--green); padding-left: 12px;
}
.article .body { padding: 10px 0; }
.article .body p { margin: 0 0 1.2em; }
.article .body p.lead::first-letter {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 3.4em;
  line-height: 0.9; color: var(--green); float: left; margin: 0.06em 0.12em 0 0;
}
.article .body h2 {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 26px;
  margin: 1.6em 0 0.6em;
}
.article blockquote {
  border-left: 3px solid var(--green); margin: 1.6em 0; padding: 4px 0 4px 22px;
  font-family: 'Newsreader', Georgia, serif; font-size: 21px; font-style: italic;
  color: var(--charcoal);
}
.article blockquote p { margin: 0; }
.article blockquote cite {
  display: block; font-family: 'Inter', sans-serif; font-style: normal;
  font-size: 12px; font-weight: 600; color: var(--muted); margin-top: 8px;
  letter-spacing: 0.06em;
}
.inlineimg { margin: 1.8em 0; }
.inlineimg img { width: 100%; }
.pullquote {
  font-family: 'Newsreader', Georgia, serif; font-size: 26px; font-style: italic;
  font-weight: 600; color: var(--green-deep); text-align: center;
  border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline);
  padding: 22px 40px; margin: 2em 0;
}
.opinionlabel {
  display: inline-block; font-family: 'Inter', sans-serif; font-size: 11px;
  font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  background: var(--green); color: var(--paper); padding: 5px 12px; border-radius: 2px;
  margin-bottom: 6px;
}
.opinion {
  font-family: 'Inter', sans-serif; font-size: 13px; font-style: italic;
  color: var(--muted); border: 1px solid var(--hairline); border-radius: 3px;
  padding: 14px 18px; margin: 1.6em 0;
}
.tags { font-family: 'Inter', sans-serif; font-size: 12px; margin: 1.4em 0; }
.tagslabel { font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); margin-right: 8px; }
.tag {
  display: inline-block; border: 1px solid var(--hairline); border-radius: 2px;
  padding: 4px 10px; margin: 0 6px 6px 0; color: var(--charcoal);
}
.tag:hover { border-color: var(--green); color: var(--green); }
.share {
  display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
  border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline);
  padding: 12px 0; margin: 1.8em 0; font-family: 'Inter', sans-serif;
}
.shlabel { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.shlink {
  font-size: 12px; font-weight: 600; color: var(--green);
  border: 1px solid var(--hairline); border-radius: 2px; padding: 6px 12px;
  background: none; cursor: pointer; font-family: 'Inter', sans-serif;
}
.shlink:hover { border-color: var(--green); }
.shnative { display: none; }
.share.native .shnative { display: inline-block; }
.copylink { cursor: pointer; }
.authorbox { margin: 2em 0 0.5em; padding-top: 16px; border-top: 2px solid var(--ink); }
.aname { font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 20px; }
.arole { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); letter-spacing: 0.04em; }
.corrections-link { font-family: 'Inter', sans-serif; font-size: 12px; }
.corrections-link a { color: var(--green); }
.corrections {
  border: 1px solid var(--hairline); border-radius: 3px; padding: 16px 20px; margin: 1.6em 0;
}
.corrections h3 {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--red); margin: 0 0 8px;
}
.corrections ul { margin: 0; padding-left: 18px; font-size: 15px; }
.related { margin: 2.5em 0 0; }
.readnext {
  border-top: 2px solid var(--ink); margin-top: 24px; padding-top: 14px;
}
.readnext span {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green);
}
.readnext h3 { font-family: 'Newsreader', Georgia, serif; font-size: 24px; margin: 6px 0 0; }
.testbanner {
  border: 2px dashed var(--red); padding: 14px 18px; margin-bottom: 18px;
  font-family: 'Inter', sans-serif; font-size: 13px; color: var(--red);
}

/* ---------- static pages ---------- */
.staticpage { max-width: 760px; margin: 0 auto; padding: 30px 0 40px; }
.staticpage h1 {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 38px;
  letter-spacing: -0.01em; margin: 0 0 16px;
}
.staticpage h2 {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 24px;
  margin: 1.8em 0 0.6em;
}
.staticpage h3 {
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 700;
  letter-spacing: 0.06em; margin: 1.6em 0 0.4em;
}
.staticpage ul { padding-left: 22px; }
.staticpage li { margin-bottom: 0.5em; }
.staticpage a { color: var(--green); text-decoration: underline; }
.legal-note {
  border: 1px solid var(--hairline); border-left: 3px solid var(--red);
  background: #FFFDF7; padding: 14px 18px; margin: 0 0 1.4em;
  font-family: 'Inter', sans-serif; font-size: 13px;
}
.tocomplete {
  font-weight: 700; color: var(--red); text-transform: uppercase;
  font-size: 11px; letter-spacing: 0.08em;
}

/* ---------- forms ---------- */
.contactform { max-width: 560px; margin: 1em 0; }
.contactform label {
  display: block; font-family: 'Inter', sans-serif; font-size: 12px;
  font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--charcoal); margin: 14px 0 4px;
}
.contactform input, .contactform textarea, .contactform select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--hairline);
  border-radius: 2px; background: #fff; font-family: 'Inter', sans-serif;
  font-size: 14px; color: var(--ink);
}
.contactform .btn { background: var(--green); color: var(--paper); margin-top: 16px; }
.form-status { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--green-deep); }
.searchform { display: flex; gap: 10px; max-width: 560px; margin: 1em 0 1.5em; }
.searchform input[type="search"] {
  flex: 1; padding: 12px 14px; border: 1px solid var(--hairline); border-radius: 2px;
  font-family: 'Inter', sans-serif; font-size: 14px; background: #fff;
}
.searchform button {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  background: var(--green); color: var(--paper); border: none;
  padding: 12px 22px; border-radius: 2px; cursor: pointer;
}
#results p { border-top: 1px solid var(--hairline); padding: 10px 0; }
#results p a { font-family: 'Newsreader', Georgia, serif; font-size: 18px; }
#results p span { font-family: 'Inter', sans-serif; font-size: 13px; color: var(--muted); }

/* ---------- authors ---------- */
.teamlist { list-style: none; margin: 0; padding: 0; }
.teamlist li {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px;
  padding: 14px 0; border-top: 1px solid var(--hairline);
}
.teamlist .aname { font-size: 18px; }
.teamlist .r { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; color: var(--green); text-transform: uppercase; letter-spacing: 0.08em; }
.teamlist .b { grid-column: 1 / -1; font-family: 'Inter', sans-serif; font-size: 13px; color: var(--muted); }
.teamlist .noteam { font-style: italic; color: var(--muted); display: block; }
.authorpage .arole {
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
  color: var(--green); text-transform: uppercase; letter-spacing: 0.08em;
}
.authorpage .beat { font-style: italic; color: var(--charcoal); }
.authorpage .housenote { font-size: 13px; color: var(--muted); border-left: 2px solid var(--green); padding-left: 10px; margin: 12px 0; }
.arch { list-style: none; margin: 0; padding: 0; }
.arch li { padding: 10px 0; border-top: 1px solid var(--hairline); }
.arch a { font-family: 'Newsreader', Georgia, serif; font-size: 18px; }
.arch .t { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); margin-left: 10px; }

/* ---------- footer ---------- */
.sitefooter { border-top: 2px solid var(--ink); margin-top: 48px; padding: 36px 0 30px; }
.fword {
  font-family: 'Newsreader', Georgia, serif; font-weight: 700; font-size: 28px;
  letter-spacing: -0.01em;
}
.foottag {
  font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--green); margin: 6px 0 0;
}
.frule { border-top: 1px solid var(--green); margin: 16px 0; }
.footnav ul, .legalrow { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.footnav { margin-bottom: 14px; }
.footnav a {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--charcoal);
}
.legalrow a { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); }
.footnav a:hover, .legalrow a:hover { color: var(--green); }
.publisher { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); margin: 16px 0 4px; }
.publisher a { color: var(--green); }
.footcontact { font-family: 'Inter', sans-serif; font-size: 12px; margin: 4px 0; }
.footcontact a { color: var(--green); }
.copy { font-family: 'Inter', sans-serif; font-size: 11px; color: var(--muted); margin-top: 10px; }
.cy { font-style: normal; }
.sections-menu { }

/* ---------- consent banner ---------- */
.cmp {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
  display: flex; justify-content: center; padding: 16px;
  pointer-events: none;
}
.cmp-box {
  pointer-events: auto; background: var(--ink); color: var(--paper);
  max-width: 720px; border-radius: 4px; padding: 20px 24px;
  box-shadow: 0 8px 30px rgba(20,18,14,0.35);
}
.cmp-box p { font-family: 'Inter', sans-serif; font-size: 13px; margin: 0 0 14px; }
.cmp-box p a { color: var(--paper); text-decoration: underline; }
.cmp-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.cmp-btns button {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 10px 18px; border-radius: 2px; cursor: pointer;
}
.cmp-accept { background: var(--green); color: var(--paper); border: none; }
.cmp-refuse, .cmp-custom { background: transparent; color: var(--paper); border: 1px solid rgba(250,246,238,0.5); }
.cmp-toggles { display: none; margin-top: 12px; }
.cmp.open .cmp-toggles { display: block; }
.cmp-toggles label {
  display: block; font-family: 'Inter', sans-serif; font-size: 13px; margin: 8px 0;
}
.cmp-toggles small { opacity: 0.7; }

/* ---------- responsive ---------- */
@media (max-width: 960px) {
  .leadhub { grid-template-columns: 1fr; gap: 24px; }
  .mostread { border-left: none; padding-left: 0; border-top: 1px solid var(--hairline); padding-top: 20px; }
  .grid3 { grid-template-columns: 1fr 1fr; }
  .newsband .inner { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .secnav-list { display: none; }
  .secnav-mobile { display: block; }
  .grid3 { grid-template-columns: 1fr; }
  .wordmark a { font-size: 34px; }
  .leadh { font-size: 30px; }
  .article h1 { font-size: 30px; }
  .pagehead h1 { font-size: 30px; }
  .utilbar .dateline { display: none; }
  .acts { margin-left: auto; }
  .teamlist li { grid-template-columns: 1fr; }
}
