/* nexus-url.online, Fira Sans + Lora, news-portal container */

@font-face { font-family:"Fira Sans"; src:url("/assets/fonts/firasans-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap }
@font-face { font-family:"Fira Sans"; src:url("/assets/fonts/firasans-700.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap }
@font-face { font-family:"Lora";      src:url("/assets/fonts/lora-400.woff2")     format("woff2"); font-weight:400; font-style:normal; font-display:swap }
@font-face { font-family:"Lora";      src:url("/assets/fonts/lora-700.woff2")     format("woff2"); font-weight:700; font-style:normal; font-display:swap }

*,*::before,*::after{ box-sizing:border-box }
html,body{ margin:0; padding:0 }
html{ background:#ffffff; color:#292929 }
body{
  background:#ffffff; color:#292929;
  font-family:"Fira Sans", system-ui, sans-serif;
  font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

a{ color:#292929; text-decoration:none }
a:hover{ text-decoration:underline }
a.xlink{ color:#cc3333; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px }
a.xlink:hover{ text-decoration-thickness:2px }
a.ext{ color:#0000ee } /* defined but not used on this site */

.wrap{ max-width:1080px; margin:0 auto; padding:0 20px }
.skip{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden }
.skip:focus{ position:static; width:auto; height:auto; padding:6px 10px; background:#151515; color:#fff }

/* header */
.site-header{ background:#151515; color:#fff; border-bottom:1px solid #000 }
.header-wrap{ display:flex; align-items:center; justify-content:space-between; padding-top:12px; padding-bottom:12px; gap:16px }
.wordmark{ display:inline-flex; align-items:center; gap:10px; color:#fff }
.wordmark:hover{ text-decoration:none }
.wm-square{ width:22px; height:22px; background:#cc3333; border-radius:4px; display:inline-block }
.wm-text{ font-weight:700; font-size:20px; letter-spacing:.2px }
.wm-dim{ color:#999999; font-weight:400 }
.today-tag{ color:#999999; font-size:13px; text-align:right }

/* pills */
.rubric-pills{ background:#fff; border-bottom:1px solid #eaeaea }
.rubric-pills .wrap{ display:flex; flex-wrap:wrap; gap:8px; padding-top:12px; padding-bottom:12px }
.pill{
  display:inline-block; padding:6px 14px; background:#eaeaea; color:#292929;
  border-radius:30px; font-size:13px; font-weight:400;
}
.pill:hover{ background:#e0e0e0; text-decoration:none }
.pill-on{ background:#151515; color:#fff }
.pill-on:hover{ background:#151515 }
.pill-quiet{ background:transparent; color:#595959 }
.pill-quiet:hover{ background:#eaeaea }

/* address strip */
.addr-strip{ background:#e6e7e8; padding:14px 0; border-bottom:1px solid #eaeaea }
.addr-intro{ font-size:13px; color:#595959; margin-bottom:8px }
.addr-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px }
.addr-list li{ display:flex; align-items:center; gap:10px; flex-wrap:wrap }
.addr{
  font-family:"Fira Sans", ui-monospace, monospace;
  font-size:13px; color:#151515; background:#fff;
  padding:4px 8px; border-radius:6px; word-break:break-all;
  border:1px solid #eaeaea;
}
.copy{
  background:#151515; color:#fff; border:0; padding:4px 12px; border-radius:30px;
  font-family:"Fira Sans",sans-serif; font-size:12px; cursor:pointer;
}
.copy:hover{ background:#000 }
.copy.copied{ background:#cc3333 }

/* crumbs */
.crumbs{ background:#fff; padding:10px 0; border-bottom:1px solid #eaeaea; font-size:12px; color:#595959 }
.crumbs a{ color:#595959; text-decoration:underline; text-underline-offset:2px }
.crumbs a:hover{ color:#151515 }
.cr-sep{ color:#999999; margin:0 6px }
.cr-here{ color:#151515 }

/* body */
.body-grid{ display:grid; grid-template-columns:minmax(0, 640px) 300px; gap:40px; padding-top:28px; padding-bottom:36px; align-items:start }
@media (max-width:900px){ .body-grid{ grid-template-columns:1fr; gap:24px } }

.col-main{ min-width:0 }
.entry h1{ font-family:"Fira Sans",sans-serif; font-weight:700; font-size:32px; line-height:1.15; margin:0 0 12px; color:#151515 }
.entry .sub-sans{ font-family:"Fira Sans",sans-serif; color:#595959; font-size:17px; margin:0 0 14px; font-weight:400 }
.meta-strip{ font-family:"Fira Sans",sans-serif; font-size:12px; color:#999999; margin:0 0 22px; text-transform:lowercase; letter-spacing:.2px }
.meta-strip .ms-dot{ margin:0 8px; color:#999999 }
.meta-strip .ms-rubric-link{ color:#595959; text-decoration:underline }
.meta-strip .ms-mod{ color:#999999 }

.entry-body{ font-family:"Lora", Georgia, serif; font-size:17px; line-height:1.65; color:#292929 }
.entry-body p{ margin:0 0 18px }
.entry-body h2{ font-family:"Fira Sans",sans-serif; font-weight:700; font-size:22px; margin:32px 0 12px; color:#151515 }
.entry-body h3{ font-family:"Fira Sans",sans-serif; font-weight:700; font-size:17px; margin:24px 0 8px; color:#151515 }
.entry-body ul, .entry-body ol{ margin:0 0 18px; padding-left:22px }
.entry-body li{ margin:0 0 6px }
.entry-body p.lede{ font-size:19px; color:#151515; margin-bottom:22px }

hr.rule{ border:0; border-top:1px solid #eaeaea; margin:26px 0 }

/* before/after */
.ba{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 22px }
@media (max-width:640px){ .ba{ grid-template-columns:1fr } }
.ba-col{ background:#eaeaea; padding:14px 16px; border-radius:6px }
.ba-h{ font-family:"Fira Sans",sans-serif; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:#595959; margin:0 0 6px }
.ba-after{ background:#fdeec0 }
.ba-body{ font-family:"Lora",serif; font-size:15px; line-height:1.55; color:#292929 }
.ba-body p{ margin:0 0 8px }
.ba-body p:last-child{ margin:0 }

/* note aside */
.note{ background:#fdeec0; border-radius:6px; padding:12px 14px; margin:0 0 20px; font-family:"Fira Sans",sans-serif; font-size:14px; color:#151515 }
.note-label{ display:inline-block; font-weight:700; text-transform:uppercase; letter-spacing:.6px; font-size:11px; color:#595959; margin-right:8px }

/* prev/next */
.pn{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:36px; border-top:1px solid #eaeaea; padding-top:20px }
@media (max-width:640px){ .pn{ grid-template-columns:1fr } }
.pn a{ display:block; padding:14px 16px; background:#eaeaea; border-radius:6px; color:#151515 }
.pn a:hover{ background:#e0e0e0; text-decoration:none }
.pn-next{ text-align:right }
.pn-dir{ display:block; font-family:"Fira Sans",sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:#595959; margin-bottom:4px }
.pn-t{ display:block; font-family:"Fira Sans",sans-serif; font-weight:700; font-size:15px }

/* sidebar widgets */
.col-side{ min-width:0; max-width:300px }
@media (max-width:900px){ .col-side{ max-width:none } }
.widget{ background:#fff; border-radius:10px; box-shadow:0 4px 20px rgba(0,0,0,0.08); padding:16px 18px; margin:0 0 18px; font-family:"Fira Sans",sans-serif }
.w-h{ font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.7px; color:#595959; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid #eaeaea }
.w-list{ list-style:none; margin:0; padding:0; counter-reset:wl }
.w-list li{ padding:8px 0; border-bottom:1px solid #eaeaea; font-size:14px }
.w-list li:last-child{ border-bottom:0 }
.w-list a{ color:#151515; text-decoration:none }
.w-list a:hover{ color:#cc3333; text-decoration:underline }
.w-rub{ display:block; font-size:11px; color:#999999; text-transform:lowercase; letter-spacing:.4px; margin-top:2px }
.w-more{ display:inline-block; margin-top:8px; font-size:12px; color:#cc3333; text-decoration:underline }
.fresh{ display:inline-block; background:#fdeec0; color:#151515; font-size:10px; text-transform:uppercase; letter-spacing:.6px; padding:1px 6px; border-radius:30px; margin-right:6px; font-weight:700 }
.rub-list{ list-style:none; margin:0; padding:0 }
.rub-list li{ padding:6px 0; font-size:14px; border-bottom:1px solid #eaeaea }
.rub-list li:last-child{ border-bottom:0 }
.rub-list a{ color:#151515 }
.rub-list a:hover{ color:#cc3333; text-decoration:underline }
.widget p{ margin:0 0 10px; font-size:14px }
.widget p:last-child{ margin:0 }
.widget .xlink{ color:#cc3333 }
.widget .quiet{ color:#595959; font-size:12px }

/* rubric hub, entry index grid */
.hub-grid{ display:grid; grid-template-columns:1fr; gap:12px; margin:20px 0 }
.hub-item{ display:block; padding:14px 16px; background:#eaeaea; border-radius:6px; color:#151515 }
.hub-item:hover{ background:#e0e0e0; text-decoration:none }
.hub-item .hi-t{ display:block; font-family:"Fira Sans",sans-serif; font-weight:700; font-size:16px; margin-bottom:4px }
.hub-item .hi-p{ display:block; font-family:"Fira Sans",sans-serif; font-size:12px; color:#595959 }

/* home hero row */
.home-hero{ background:#fdeec0; padding:20px 22px; border-radius:10px; margin:0 0 24px; font-family:"Fira Sans",sans-serif }
.home-hero h1{ font-family:"Fira Sans",sans-serif; font-weight:700; font-size:28px; margin:0 0 8px; color:#151515 }
.home-hero p{ margin:0; color:#292929; font-size:15px }

/* home lists, recent shifts as newsroom river */
.river{ display:flex; flex-direction:column; gap:0 }
.river-item{ display:block; padding:16px 0; border-bottom:1px solid #eaeaea }
.river-item:last-child{ border-bottom:0 }
.river-item .ri-rub{ font-family:"Fira Sans",sans-serif; font-size:11px; color:#cc3333; text-transform:uppercase; letter-spacing:.6px }
.river-item .ri-t{ display:block; font-family:"Fira Sans",sans-serif; font-weight:700; font-size:20px; color:#151515; margin:2px 0 4px }
.river-item .ri-t:hover{ color:#cc3333 }
.river-item .ri-p{ font-family:"Fira Sans",sans-serif; font-size:14px; color:#595959; margin:0 }

/* footer */
.site-footer{ background:#151515; color:#eaeaea; margin-top:40px; padding:32px 0 20px }
.site-footer .wrap{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px }
@media (max-width:640px){ .site-footer .wrap{ grid-template-columns:1fr } }
.ft-h{ font-family:"Fira Sans",sans-serif; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.7px; color:#999999; margin:0 0 10px }
.site-footer p{ font-family:"Fira Sans",sans-serif; font-size:13px; margin:0; color:#eaeaea }
.site-footer ul{ list-style:none; margin:0; padding:0 }
.site-footer li{ padding:2px 0; font-family:"Fira Sans",sans-serif; font-size:13px }
.site-footer a{ color:#eaeaea; text-decoration:none }
.site-footer a:hover{ color:#cc3333; text-decoration:underline }
.ft-bottom{ margin-top:20px; padding-top:14px; border-top:1px solid #292929; display:flex; justify-content:space-between; font-family:"Fira Sans",sans-serif; font-size:12px; color:#999999 }
@media (max-width:640px){ .ft-bottom{ flex-direction:column; gap:6px } }
