  :root { color-scheme: light; }
  body { margin:0; padding:0; background-color:#FAF8F4; font-family:Arial,Helvetica,sans-serif; color:#1A1A1A; }
  a { text-decoration:none; }
  .wrap { max-width:660px; margin:0 auto; padding-block:18px 40px; padding-left:16px; padding-right:16px; }
  .masthead { background-color:#1F4E5F; padding:34px 28px 20px; border-bottom:4px solid #C24A1F; }
  .masthead a.home { color:#FFFFFF; }
  .kicker { color:#9FC3D1; font-size:11px; letter-spacing:3px; text-transform:uppercase; padding-bottom:8px; }
  h1 { color:#FFFFFF; font-family:Georgia,'Times New Roman',serif; font-size:40px; font-weight:bold; line-height:1.05; margin:0; }
  .tagline { color:#D8E7EC; font-size:14px; font-style:italic; padding-top:12px; font-family:Georgia,serif; }
  .owner { color:#9FC3D1; font-size:12px; padding-top:8px; }
  nav.mainnav { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.18); }
  nav.mainnav a { color:#D8E7EC; font-size:12px; font-weight:bold; letter-spacing:1px; text-transform:uppercase; padding:6px 10px; border:1px solid rgba(255,255,255,0.35); border-radius:3px; }
  nav.mainnav a.current { background-color:#C24A1F; border-color:#C24A1F; color:#FFFFFF; }
  .latest { background-color:#FFFFFF; border-left:4px solid #C24A1F; padding:22px 28px; margin-top:14px; }
  .latest .label { color:#C24A1F; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:bold; padding-bottom:8px; }
  .latest h2 { font-family:Georgia,serif; font-size:24px; color:#1F4E5F; margin:0 0 8px; line-height:1.2; }
  .latest p { font-size:14px; line-height:1.6; margin:0 0 14px; color:#3A3A3A; }
  .btn { display:inline-block; background-color:#1F4E5F; color:#FFFFFF; font-size:14px; font-weight:bold; padding:12px 22px; border-radius:3px; }
  .btn:hover { background-color:#2A6B80; }
  .btn.secondary { background-color:#FFFFFF; color:#1F4E5F; border:1px solid #1F4E5F; }
  .section { padding:24px 28px 4px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  .section .head { color:#1F4E5F; font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:bold; border-bottom:2px solid #1F4E5F; padding-bottom:6px; flex:1; }
  .section .more { font-size:12px; font-weight:bold; color:#C24A1F; padding-bottom:6px; }
  .desk { background-color:#FFFFFF; margin:8px 0 0; padding:16px 22px; border-bottom:1px solid #EAE6DD; display:block; }
  .desk b { color:#1F4E5F; font-family:Georgia,serif; font-size:16px; }
  .desk span { display:block; font-size:12.5px; color:#6B6B6B; padding-top:4px; line-height:1.5; }
  .desk .tag { display:inline-block; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; font-weight:bold; padding:2px 7px; border-radius:2px; margin-right:8px; }
  .tag.checks { background-color:#E4EFE1; color:#3D6B33; }
  .tag.claim { background-color:#F6E9D8; color:#9C5A18; }
  .desk .deskname { color:#9FC3D1; background:#1F4E5F; }
  .deskcard { background-color:#FFFFFF; margin:8px 0 0; padding:18px 22px; border-left:4px solid #1F4E5F; display:block; }
  .deskcard b { color:#1F4E5F; font-family:Georgia,serif; font-size:18px; display:block; margin-bottom:6px; }
  .deskcard span { display:block; font-size:13px; color:#6B6B6B; line-height:1.55; }
  .deskcard .count { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#C24A1F; font-weight:bold; margin-top:8px; display:block; }
  .about { background-color:#EAF1F3; padding:18px 28px; margin-top:14px; border-left:4px solid #1F4E5F; }
  .about .head { color:#1F4E5F; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:bold; padding-bottom:6px; }
  .about h3 { color:#1F4E5F; font-family:Georgia,serif; font-size:16px; margin:18px 0 8px; }
  .about p { font-size:13.5px; line-height:1.65; margin:0 0 10px; color:#2A2A2A; }
  .about ul { margin:0 0 10px; padding-left:18px; }
  .about li { font-size:13.5px; line-height:1.65; color:#2A2A2A; margin-bottom:6px; }
  .footer { background-color:#1F4E5F; padding:18px 28px; margin-top:14px; }
  .footer p { color:#D8E7EC; font-size:12px; line-height:1.6; margin:0; }
  .footer a { color:#FFFFFF; font-weight:bold; }
  /* article page */
  .back { display:inline-block; padding:14px 28px 0; font-size:12.5px; }
  .back a { color:#1F4E5F; font-weight:bold; }
  .article-head { background-color:#FFFFFF; padding:22px 28px 18px; margin-top:10px; border-left:4px solid #C24A1F; }
  .article-head .tag { display:inline-block; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; font-weight:bold; padding:3px 8px; border-radius:2px; margin-bottom:10px; margin-right:6px; }
  .article-head h1.title { color:#1F4E5F; font-family:Georgia,serif; font-size:26px; line-height:1.25; margin:0 0 10px; font-weight:bold; }
  .article-head .dek { font-style:italic; color:#6B6B6B; font-size:14.5px; line-height:1.5; margin:0; }
  .article-media { margin-top:14px; }
  .article-media img { width:100%; height:auto; display:block; border-left:4px solid #C24A1F; }
  .article-media .credit { font-size:11px; color:#8A8A8A; padding:6px 28px 0; }
  .article-body { background-color:#FFFFFF; padding:6px 28px 20px; }
  .article-body p { font-size:15px; line-height:1.7; color:#2A2A2A; margin:16px 0 0; }
  .sources { background-color:#FFFFFF; padding:4px 28px 22px; font-size:12.5px; font-style:italic; color:#6B6B6B; border-top:1px solid #EAE6DD; margin-top:6px; padding-top:14px; }

  /* modernization additions: thumbnail article rows + hero image */
  .deskrow { display:flex; align-items:stretch; gap:0; background-color:#FFFFFF; margin:8px 0 0; border-bottom:1px solid #EAE6DD; transition:background-color .15s ease; }
  .deskrow:hover { background-color:#FBF6EE; }
  .deskrow .desk-thumb { flex:0 0 104px; width:104px; height:104px; object-fit:cover; display:block; background-color:#E8E3D8; }
  .deskrow .desk-info { flex:1; padding:14px 20px 14px 16px; min-width:0; }
  .deskrow .desk-info b { color:#1F4E5F; font-family:Georgia,serif; font-size:16px; display:block; line-height:1.3; }
  .deskrow .desk-info span { display:block; font-size:12.5px; color:#6B6B6B; padding-top:6px; line-height:1.5; }
  .deskrow .desk-info .tag { display:inline-block; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; font-weight:bold; padding:2px 7px; border-radius:2px; margin-right:8px; }
  .latest { overflow:hidden; padding:0; }
  .latest-media img { width:100%; height:240px; object-fit:cover; display:block; }
  .latest-text { padding:20px 28px 22px; }
  @media (max-width:480px) {
    .deskrow .desk-thumb { flex-basis:84px; width:84px; height:84px; }
  }
