/* Omni News.org — broadsheet wire-desk skin.
   Evolved from the 2010 QuickBlogcast theme: navy/steel masthead, left rail,
   square edges, hairline rules, no shadows. Bootstrap supplies reset + grid
   utilities only; everything visual below is bespoke.                        */

:root{
  --ink:#1b2027;
  --ink-soft:#3f4750;
  --muted:#5f6b76;
  --navy:#144673;
  --navy-deep:#0d3055;
  --steel:#41678d;
  --accent:#b8531b;
  --accent-soft:#e08a3c;
  --rule:#ccd6de;
  --rule-strong:#9fb0bf;
  --paper:#fcfbf8;
  --paper-alt:#f1eee7;
  --shell:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Asap","Segoe UI",Helvetica,Arial,sans-serif;
  font-size:1.0625rem;
  line-height:1.7;
  font-synthesis-weight:none;
}
img{max-width:100%;height:auto;display:block}

.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 20px}

.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:50}
.skip:focus{left:0}

/* ---------- masthead ---------- */
.masthead{
  background:var(--navy);
  background-image:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
  border-bottom:4px solid var(--accent);
  padding:30px 0 22px;
}
.wordmark{
  margin:0;
  font-family:"Arvo",Georgia,"Times New Roman",serif;
  font-weight:700;
  font-size:clamp(2rem,5.2vw,3.4rem);
  line-height:1.05;
  letter-spacing:-.015em;
}
.wordmark a{color:#fff;text-decoration:none}
.wordmark a:hover{color:var(--accent-soft)}
.strapline{
  margin:.55rem 0 0;
  color:#c6d6e4;
  font-size:.9375rem;
  letter-spacing:.02em;
  text-transform:none;
  max-width:60ch;
}

/* ---------- nav (wrapping, never clipped) ---------- */
.topnav{background:var(--paper-alt);border-bottom:1px solid var(--rule-strong);position:static}
.topnav ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;min-width:0;
  gap:0 4px;
}
.topnav li{min-width:0}
.topnav a{
  display:block;padding:12px 14px;
  color:var(--navy-deep);text-decoration:none;
  font-weight:600;font-size:.9375rem;letter-spacing:.01em;
  border-bottom:3px solid transparent;
}
.topnav a:hover{color:var(--accent);background:#e7e2d8}
.topnav a.is-current{border-bottom-color:var(--accent);color:var(--accent)}

/* ---------- layout ---------- */
.layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:36px;
  padding-top:34px;
  padding-bottom:52px;
}
@media (min-width:940px){
  .layout{grid-template-columns:minmax(0,1fr) 274px}
}
.column{min-width:0}

/* ---------- prose ---------- */
.prose{max-width:74ch}
.prose h1{
  font-family:"Arvo",Georgia,serif;
  font-weight:700;
  font-size:clamp(1.75rem,3.6vw,2.6rem);
  line-height:1.16;
  margin:0 0 .6rem;
  color:var(--navy-deep);
  letter-spacing:-.01em;
}
.prose h2{
  font-family:"Arvo",Georgia,serif;
  font-weight:700;
  font-size:1.375rem;
  line-height:1.3;
  margin:2.1rem 0 .65rem;
  padding-top:.85rem;
  border-top:1px solid var(--rule);
  color:var(--navy);
}
.prose h3{font-family:"Arvo",Georgia,serif;font-size:1.125rem;margin:1.4rem 0 .4rem;color:var(--ink)}
.prose p{margin:0 0 1.05rem}
.prose a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.prose a:hover{color:var(--accent)}
.prose strong{font-weight:600;color:var(--ink)}
.prose ul,.prose ol{margin:0 0 1.15rem;padding-left:1.25rem}
.prose li{margin:0 0 .5rem}

.dateline{
  font-size:.8125rem;text-transform:uppercase;letter-spacing:.09em;
  color:var(--muted);font-weight:600;margin:0 0 1.2rem;
  padding-bottom:.75rem;border-bottom:2px solid var(--rule-strong);
}
.tagline{
  font-family:"Arvo",Georgia,serif;font-size:1.0625rem;color:var(--steel);
  margin:0 0 1.4rem;padding-bottom:.9rem;border-bottom:2px solid var(--rule-strong);
}
.post-list{list-style:none;padding-left:0}
.post-list li{
  padding:.7rem 0 .7rem 0;border-bottom:1px dotted var(--rule);
}
.post-list a{font-family:"Arvo",Georgia,serif;font-weight:600;text-decoration:none}
.post-list a:hover{text-decoration:underline}

figure.lede,figure.inline-fig{margin:0 0 1.5rem}
figure.lede img,figure.inline-fig img{border:1px solid var(--rule-strong)}
figure.inline-fig{margin:1.8rem 0}

.filed{
  margin-top:2.2rem;padding-top:.9rem;border-top:2px solid var(--rule-strong);
  font-size:.875rem;color:var(--muted);
}
.filed a{color:var(--navy)}

/* ---------- rail ---------- */
.rail{min-width:0;font-size:.9375rem}
@media (min-width:940px){.rail{position:sticky;top:18px;align-self:start}}
.rail-block{margin:0 0 26px;padding:0 0 18px;border-bottom:1px solid var(--rule)}
.rail-head{
  font-family:"Arvo",Georgia,serif;font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.13em;color:var(--accent);
  margin:0 0 .6rem;
}
.rail-list{list-style:none;margin:0;padding:0}
.rail-list li{margin:0 0 .45rem;line-height:1.45}
.rail-list a{color:var(--navy-deep);text-decoration:none}
.rail-list a:hover{color:var(--accent);text-decoration:underline}
.rail-recent li{padding-left:12px;border-left:2px solid var(--rule);font-size:.875rem}
.rail-note{margin:0;color:var(--muted);font-size:.875rem;line-height:1.55}
.rail-note a{color:var(--navy)}

/* ---------- footer ---------- */
.foot{background:var(--navy-deep);color:#c9d8e6;border-top:4px solid var(--accent);margin-top:10px}
.footgrid{display:grid;gap:26px;grid-template-columns:1fr;padding-top:34px;padding-bottom:12px}
@media (min-width:700px){.footgrid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footmark{font-family:"Arvo",Georgia,serif;font-size:1.375rem;font-weight:700;color:#fff;margin:0 0 .35rem}
.footnote{margin:0;font-size:.875rem;color:#9fb8cd;max-width:38ch}
.foothead{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-soft);margin:0 0 .55rem;font-weight:600}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 .35rem;font-size:.9375rem}
.foot a{color:#c9d8e6;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.copy{border-top:1px solid #1d4a76;padding-top:14px;padding-bottom:26px}
.copy p{margin:0;font-size:.8125rem;color:#8aa4bc}

/* ---------- 404 ---------- */
.notfound{padding:60px 0 70px;max-width:62ch}
.notfound h1{font-family:"Arvo",Georgia,serif;font-size:clamp(2rem,6vw,3rem);color:var(--navy-deep);margin:0 0 .5rem}
.notfound p{margin:0 0 1rem}
.btn-line{display:inline-block;margin-top:.5rem;padding:11px 20px;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;border:0}
.btn-line:hover{background:var(--accent);color:#fff}

/* ---------- entrance animation: CSS-only, ends visible ---------- */
@media (prefers-reduced-motion:no-preference){
  .prose>h1,figure.lede{animation:riseIn .5s ease-out both}
}
@keyframes riseIn{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Safeguard: content is NEVER hidden waiting on JavaScript. */
[data-aos]{opacity:1 !important;transform:none !important}

@media print{.topnav,.rail,.foot{display:none}}
