/* Articles: listing, single article, and the "Latest articles" strip on /insights/ (Midnight & Gold). */

/* cards */
.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
@media(max-width:980px){.art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.art-grid{grid-template-columns:1fr}}
.art-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;color:inherit}
.art-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,21,43,.1);border-color:#d8cfb8}
.art-media{aspect-ratio:16/10;background:var(--navy-ink);overflow:hidden}
.art-media img{width:100%;height:100%;object-fit:cover;display:block}
.art-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:radial-gradient(120% 120% at 85% -10%,rgba(176,141,87,.22),transparent 55%),linear-gradient(160deg,var(--navy-ink),var(--navy-deep))}
.art-fallback img{width:54px;height:auto;opacity:.92}
.art-fallback span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);font-weight:600}
.art-body{display:flex;flex-direction:column;gap:8px;padding:22px 24px 24px;flex:1}
.art-cat{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700}
.art-body h3{font-size:1.32rem;line-height:1.25;color:var(--navy-ink);text-wrap:balance}
.art-body p{color:var(--muted);font-size:.95rem;line-height:1.6}
.art-meta{margin-top:auto;padding-top:6px;font-size:.78rem;color:var(--muted)}

/* listing */
.art-list{padding:64px 0 88px}
.art-list .chips{margin-bottom:34px}
.art-list .chip{display:inline-block}
.art-empty{color:var(--muted);padding:40px 0}
.art-pages{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:44px}
.art-pages a,.art-pages span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;
  border:1px solid var(--line);border-radius:2px;font-size:.9rem;font-variant-numeric:tabular-nums}
.art-pages a:hover{border-color:var(--navy);color:var(--navy)}
.art-pages span[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}

/* single article */
.art-hero h1{max-width:24ch;text-wrap:balance}
.art-byline{margin-top:6px;font-size:.88rem!important;color:#9fb0cf!important;font-weight:400!important}
.art-figure{max-width:1080px;margin:-1px auto 0;padding-top:40px}
.art-figure img{width:100%;height:auto;display:block;border-radius:3px}
.art-content{max-width:760px;padding-top:52px;padding-bottom:40px;font-size:1.06rem;line-height:1.75;color:var(--ink)}
.art-content>*+*{margin-top:1.15em}
.art-content h2{font-size:1.85rem;line-height:1.2;color:var(--navy-ink);margin-top:2.1em}
.art-content h3{font-size:1.4rem;line-height:1.25;color:var(--navy-ink);margin-top:1.8em}
.art-content h4{font-size:1.15rem;color:var(--navy-ink);margin-top:1.6em}
.art-content a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.art-content a:hover{color:var(--gold)}
.art-content ul,.art-content ol{padding-left:1.3em}
.art-content li+li{margin-top:.4em}
.art-content blockquote,.art-content .wp-block-quote{border-left:3px solid var(--gold);padding:.2em 0 .2em 1.2em;
  font-family:var(--serif);font-size:1.3rem;line-height:1.5;color:var(--navy-ink)}
.art-content blockquote cite{display:block;margin-top:.6em;font-family:var(--sans);font-size:.85rem;color:var(--muted);font-style:normal}
.art-content .wp-block-pullquote{border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);padding:1.4em 0;text-align:center}
.art-content table{width:100%;border-collapse:collapse;font-size:.95rem}
.art-content .wp-block-table{overflow-x:auto}
.art-content th,.art-content td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.art-content th{background:var(--paper-2);color:var(--navy-ink);font-weight:600}
.art-content img{max-width:100%;height:auto;border-radius:3px}
.art-content figcaption{font-size:.85rem;color:var(--muted);margin-top:.6em}
.art-content hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.art-content code{font-size:.9em;background:var(--paper-2);padding:.1em .35em;border-radius:2px}
.art-disclaimer{margin-top:44px!important;padding-top:18px;border-top:1px solid var(--line);font-size:.84rem;line-height:1.6;color:var(--muted)}
.art-cta{max-width:1080px;margin:10px auto 80px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  padding:36px 40px;color:#fff;border-top:3px solid var(--gold);border-radius:3px;
  background:radial-gradient(120% 120% at 85% -10%,rgba(176,141,87,.18),transparent 55%),linear-gradient(160deg,var(--navy-ink),var(--navy-deep))}
.art-cta h2{color:#fff;font-size:1.6rem}
.art-cta p{color:#cfd6e4;margin-top:6px;max-width:52ch}
@media(max-width:640px){.art-cta{padding:28px 24px;margin-left:16px;margin-right:16px}}
.art-related{background:var(--paper-2)}
.art-related h2{font-size:1.6rem;color:var(--navy-ink);margin-bottom:24px}
.art-related .art-grid+h2{margin-top:56px}
.art-updates{list-style:none;padding:0;display:grid;gap:12px;max-width:820px}
.art-updates li{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.art-updates .d{font-family:var(--serif);color:var(--navy);font-weight:600}
.art-updates a:hover{color:var(--navy)}
@media(max-width:560px){.art-updates li{grid-template-columns:1fr;gap:4px}}

/* "Latest articles" strip on /insights/ */
.art-strip{background:var(--paper)}
.art-strip .sec-head{margin-bottom:34px}
.art-all{margin-top:30px}

/* Tables: override WordPress block defaults (black borders, heavy header rule) with the site's hairlines. */
.art-content .wp-block-table table{border-collapse:collapse}
.art-content .wp-block-table th,.art-content .wp-block-table td{border:1px solid var(--line)}
.art-content .wp-block-table thead{border-bottom:2px solid var(--gold)}
.art-content .wp-block-table figcaption{text-align:left}
