:root {
      --ink: #161616;
      --muted: #686868;
      --rule: #d8d8d8;
      --paper: #ffffff;
      --soft: #f5f6f7;
      --accent: #1f4f78;
      --accent-dark: #163956;
      --max: 1180px;
      --content: 820px;
      --sidebar: 300px;
      --gap: 32px;
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: Georgia, "Times New Roman", serif;
      line-height: 1.65;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }
    
     /* Keep LinkConnector tracking pixels active but invisible */
    img[src*="linkconnector.com/tr.php"] {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      min-width: 1px !important;
      min-height: 1px !important;
      max-width: 1px !important;
      max-height: 1px !important;
      opacity: 0 !important;
      pointer-events: none !important;
      overflow: hidden !important;    
    }   

    a { color: var(--accent); }

    .shell {
      width: min(var(--max), calc(100% - 32px));
      margin: 0 auto;
    }

    /* =========================================================
       TOP UTILITY BAR
       ========================================================= */

    .utility-bar {
      background: #111;
      color: #fff;
      font: 700 .78rem/1.2 Arial, Helvetica, sans-serif;
      letter-spacing: .04em;
    }

    .utility-inner {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    .utility-bar a {
      color: #fff;
      text-decoration: none;
    }

    /* =========================================================
       MASTHEAD
       ========================================================= */

    .masthead {
      padding: 24px 0 18px;
      border-bottom: 4px double var(--ink);
      text-align: center;
    }

    .masthead .kicker {
      margin: 0 0 4px;
      color: var(--accent);
      font: 800 .74rem/1.2 Arial, Helvetica, sans-serif;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .masthead-logo {
      margin: 0 auto;
    }

    .masthead .tagline {
      margin: 10px auto 0;
      max-width: 720px;
      font-size: clamp(1rem, 2vw, 1.2rem);
      font-style: italic;
    }

    .section-nav {
      margin-top: 16px;
      padding: 9px 0;
      border-top: 1px solid var(--rule);
      border-bottom: 1px solid var(--rule);
      display: flex;
      justify-content: center;
      gap: 8px 18px;
      flex-wrap: wrap;
      font: 800 .72rem/1.2 Arial, Helvetica, sans-serif;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .section-nav a {
      color: var(--ink);
      text-decoration: none;
    }

    .section-nav a:hover { color: var(--accent); }

    /* =========================================================
       ARTICLE HEADER
       ========================================================= */

    .article-header {
      padding: 36px 0 24px;
      border-bottom: 1px solid var(--rule);
    }

    .breadcrumb {
      margin: 0 0 12px;
      color: var(--muted);
      font: 800 .72rem/1.4 Arial, Helvetica, sans-serif;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .breadcrumb a {
      color: var(--accent);
      text-decoration: none;
    }

    .article-category {
      margin: 0 0 8px;
      color: var(--accent);
      font: 800 .78rem/1.2 Arial, Helvetica, sans-serif;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .article-header h1 {
      margin: 0 0 14px;
      max-width: 980px;
      font-size: clamp(2.4rem, 5.5vw, 4.8rem);
      line-height: .98;
      letter-spacing: -.04em;
    }

    .article-deck {
      max-width: 900px;
      margin: 0 0 16px;
      color: #383838;
      font-size: clamp(1.12rem, 2vw, 1.35rem);
      line-height: 1.5;
    }

    .article-meta {
      margin: 0;
      color: var(--muted);
      font: 700 .76rem/1.4 Arial, Helvetica, sans-serif;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    /* =========================================================
       MAIN ARTICLE + 300PX SIDEBAR
       ========================================================= */

    .article-layout {
      display: grid;
      grid-template-columns: minmax(0, var(--content)) var(--sidebar);
      gap: var(--gap);
      align-items: start;
      padding: 30px 0 46px;
    }

    .article-feature {
      margin: 0 0 26px;
      min-height: 360px;
      display: grid;
      place-items: center;
      padding: 24px;
      background: var(--soft);
      border: 1px solid var(--rule);
      color: var(--muted);
      text-align: center;
      font: 800 .76rem/1.4 Arial, Helvetica, sans-serif;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .article-feature img {
      width: 100%;
      height: auto;
    }

    .article-body p {
      margin: 0 0 1.12em;
      font-size: 1.08rem;
    }

    .article-body h2 {
      margin: 1.35em 0 .45em;
      font-size: clamp(1.7rem, 3.5vw, 2.5rem);
      line-height: 1.08;
      letter-spacing: -.025em;
    }

    .article-body h3 {
      margin: 1.25em 0 .4em;
      font-size: 1.45rem;
      line-height: 1.2;
    }

    .article-body ul,
    .article-body ol {
      margin: 0 0 1.2em 1.35em;
      padding: 0;
    }

    .article-body li {
      margin-bottom: .45em;
      font-size: 1.05rem;
    }

    .article-body blockquote {
      margin: 28px 0;
      padding: 18px 22px;
      border-left: 4px solid var(--accent);
      background: var(--soft);
      font-size: 1.15rem;
      font-style: italic;
    }

    .article-note {
      margin: 28px 0;
      padding: 18px 20px;
      border-top: 3px solid var(--ink);
      border-bottom: 1px solid var(--rule);
      background: var(--soft);
    }

    .article-note strong {
      font-family: Arial, Helvetica, sans-serif;
      text-transform: uppercase;
      letter-spacing: .04em;
      font-size: .82rem;
    }

    .back-link {
      display: inline-flex;
      margin-top: 20px;
      min-height: 42px;
      align-items: center;
      padding: 0 15px;
      background: var(--accent);
      color: #fff;
      text-decoration: none;
      font: 800 .78rem/1 Arial, Helvetica, sans-serif;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .back-link:hover { background: var(--accent-dark); }

    /* =========================================================
       RIGHT SIDEBAR - THREE ADVERTISER SPOTS
       ========================================================= */

    .ad-sidebar {
      position: sticky;
      top: 18px;
      display: grid;
      gap: 22px;
    }

    .ad-slot {
      border: 1px solid var(--rule);
      background: var(--soft);
      padding: 16px;
    }

    .ad-label {
      margin: 0 0 8px;
      color: var(--muted);
      font: 800 .66rem/1 Arial, Helvetica, sans-serif;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .sponsor-type {
      margin: 0 0 8px;
      color: var(--accent);
      font: 800 .7rem/1 Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .ad-box {
      width: 100%;
      min-height: 250px;
      display: grid;
      place-items: center;
      margin: 10px 0 14px;
      border: 1px dashed #a7a7a7;
      background: #fff;
      color: #777;
      text-align: center;
      overflow: hidden;
      font: 800 .76rem/1.4 Arial, Helvetica, sans-serif;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .ad-box img {
      width: 100%;
      height: auto;
    }

    .ad-slot h4 {
      margin: 0 0 7px;
      font-size: 1.2rem;
      line-height: 1.2;
    }

    .ad-slot p {
      margin: 0 0 12px;
      color: #444;
      font-size: .92rem;
      line-height: 1.5;
    }

    .ad-slot a.button {
      display: inline-flex;
      min-height: 40px;
      align-items: center;
      justify-content: center;
      padding: 0 14px;
      border: 1px solid var(--ink);
      background: var(--ink);
      color: #fff;
      text-decoration: none;
      font: 800 .74rem/1 Arial, Helvetica, sans-serif;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .ad-slot a.button:hover {
      background: var(--accent);
      border-color: var(--accent);
    }

    .disclosure {
      margin-top: 10px !important;
      color: var(--muted) !important;
      font: .72rem/1.45 Arial, Helvetica, sans-serif !important;
    }

    /* =========================================================
       NEWSLETTER SIGNUP
       ========================================================= */

    .subscribe {
      margin: 12px 0 48px;
      padding: 30px;
      background: var(--accent);
      color: #fff;
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
      gap: 28px;
      align-items: center;
    }

    .subscribe h2 {
      margin: 0 0 7px;
      font: 800 clamp(1.8rem, 4vw, 3rem)/1 Arial, Helvetica, sans-serif;
      text-transform: uppercase;
      letter-spacing: -.02em;
    }

    .subscribe p { margin: 0; }

    .subscribe-form {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    .subscribe-form input {
      flex: 1 1 190px;
      min-height: 46px;
      border: 0;
      padding: 0 13px;
      font-size: 1rem;
    }

    .subscribe-form button {
      min-height: 46px;
      border: 2px solid #fff;
      background: #fff;
      color: var(--accent-dark);
      padding: 0 16px;
      cursor: pointer;
      font: 800 .77rem/1 Arial, Helvetica, sans-serif;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    /* =========================================================
       FOOTER
       ========================================================= */

    footer {
      border-top: 4px double var(--ink);
      padding: 28px 0 36px;
      color: var(--muted);
      font-family: Arial, Helvetica, sans-serif;
      text-align: center;
    }

    footer img {
      display: block;
      margin: 0 auto 12px;
    }

    /* =========================================================
       RESPONSIVE
       ========================================================= */

    @media (max-width: 980px) {
      .article-layout {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 24px;
      }
    }

    @media (max-width: 780px) {
      .article-layout,
      .subscribe {
        grid-template-columns: 1fr;
      }

      .ad-sidebar {
        position: static;
        max-width: 420px;
        width: 100%;
        margin: 0 auto;
      }
    }

    @media (max-width: 520px) {
      .shell {
        width: min(100% - 22px, var(--max));
      }

      .utility-inner {
        padding: 8px 0;
      }

      .article-header {
        padding-top: 28px;
      }

      .article-feature {
        min-height: 240px;
      }

      .subscribe {
        padding: 22px 18px;
      }
    }

/* =========================================================
   CATEGORY LANDING PAGES
   ========================================================= */
.category-header{padding:38px 0 28px;border-bottom:1px solid var(--rule)}
.category-header h1{margin:0 0 8px;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;letter-spacing:-.04em}
.category-strap{margin:0 0 14px;color:var(--accent);font:800 .74rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.category-intro{max-width:850px;margin:0;color:#3d3d3d;font-size:1.08rem}
.category-layout{display:grid;grid-template-columns:minmax(0,var(--content)) var(--sidebar);gap:var(--gap);align-items:start;padding:34px 0 46px}
.category-feed{display:grid;gap:26px}
.category-card{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:22px;padding-bottom:26px;border-bottom:1px solid var(--rule);align-items:start}
.category-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--rule);background:var(--soft)}
.category-card .image-placeholder{width:100%;aspect-ratio:16/9;display:grid;place-items:center;border:1px solid var(--rule);background:var(--soft);color:var(--muted);font:800 .7rem/1.4 Arial,Helvetica,sans-serif;text-align:center;text-transform:uppercase;letter-spacing:.05em}
.category-card h2{margin:0 0 7px;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.08}
.category-card h2 a{color:var(--ink);text-decoration:none}.category-card h2 a:hover{color:var(--accent)}
.category-card .card-meta{margin:0 0 9px;color:var(--muted);font:700 .72rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.category-card p{margin:0 0 12px}.category-card .read-more-link{font:800 .74rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
@media(max-width:780px){.category-layout{grid-template-columns:1fr}.category-card{grid-template-columns:1fr}.category-card img,.category-card .image-placeholder{max-width:100%}}

/* =========================================================
   MASTER HOMEPAGE
   ========================================================= */
.home-hero{padding:48px 0 42px;border-bottom:1px solid var(--rule);text-align:center}
.home-eyebrow{margin:0 0 9px;color:var(--accent);font:800 .74rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.home-hero h1{margin:0 0 14px;font-size:clamp(2.7rem,7vw,5.7rem);line-height:.92;letter-spacing:-.055em}
.home-hero .home-lead{margin:0 auto 12px;max-width:900px;font-size:clamp(1.15rem,2.2vw,1.45rem);font-style:italic}
.home-hero>p:last-of-type{max-width:900px;margin:0 auto;color:#3d3d3d;font-size:1.08rem}
.home-actions{margin-top:24px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.home-actions a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;text-decoration:none;font:800 .75rem/1 Arial,Helvetica,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.home-primary{background:var(--accent);color:#fff}.home-primary:hover{background:var(--accent-dark)}
.home-secondary{border:1px solid var(--ink);color:var(--ink)}.home-secondary:hover{border-color:var(--accent);color:var(--accent)}
.latest-issue{margin:42px 0;padding:30px;border-top:4px double var(--ink);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:34px;align-items:start;background:var(--soft)}
.latest-issue h2{margin:0 0 10px;font-size:clamp(2rem,4vw,3.1rem);line-height:1}
.latest-issue-copy>p:not(.home-eyebrow){margin:0 0 15px}
.latest-issue-list{display:grid;border-top:1px solid var(--rule)}
.latest-issue-list a{padding:12px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-weight:700;line-height:1.25}
.latest-issue-list a:hover{color:var(--accent)}
.latest-issue-list span{display:block;margin-bottom:4px;color:var(--accent);font:800 .66rem/1 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.home-section{padding:42px 0;border-bottom:1px solid var(--rule)}
.home-section-head{max-width:850px;margin-bottom:24px}
.home-section-head h2{margin:0 0 8px;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1}
.home-section-head p:last-child{margin:0;color:#444}
.department-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.department-card{padding:20px;border:1px solid var(--rule);background:var(--soft)}
.department-card>p:first-child{margin:0 0 9px;color:var(--accent);font:800 .65rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.department-card h3{margin:0 0 9px;font-size:1.45rem;line-height:1.08}
.department-card h3 a{color:var(--ink);text-decoration:none}.department-card h3 a:hover{color:var(--accent)}
.department-card p{margin:0 0 13px;font-size:.94rem;line-height:1.5}
.read-more-link{font:800 .74rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
.home-layout{display:grid;grid-template-columns:minmax(0,var(--content)) var(--sidebar);gap:var(--gap);align-items:start}
.home-article-feed{display:grid;gap:28px}
.home-feature-card{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:22px;padding-bottom:28px;border-bottom:1px solid var(--rule);align-items:start}
.home-feature-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--rule);background:var(--soft)}
.home-feature-card .card-meta{margin:0 0 8px;color:var(--muted);font:700 .72rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.home-feature-card h3{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.08}
.home-feature-card h3 a{color:var(--ink);text-decoration:none}.home-feature-card h3 a:hover{color:var(--accent)}
.home-feature-card p{margin:0 0 12px}
@media(max-width:1000px){.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}}
@media(max-width:780px){.latest-issue,.home-layout{grid-template-columns:1fr}.department-grid{grid-template-columns:1fr}.home-feature-card{grid-template-columns:1fr}.home-feature-card img{max-width:100%}}
