: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-MATCHED CATEGORY SPONSOR SIDEBAR
       ========================================================= */

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

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

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

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

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

    .sponsor-card .ad-box a {
      display: block;
      width: 100%;
    }

    .sponsor-card .ad-box img {
      max-width: 100%;
      height: auto;
      margin: 0 auto;
    }

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

    .sponsor-card > p:not(.sponsor-type):not(.disclosure) {
      margin: 0 0 12px;
      color: #444;
      font-size: .92rem;
      line-height: 1.5;
    }

    .sponsor-card 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;
    }

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

    /* =========================================================
       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;
      }
    }