/*
Theme Name: The Royal Insider
Author: MWeb Services
Description: A premium royal-news publishing platform with editorial workflow, homepage curation, live coverage, newsroom trust tools, media rights, staff profiles, native SEO/news sitemaps, analytics, series, live search, redirects/404 intelligence, newsletter consent, ad inventory, caching, media optimization and dark mode.
Version: 1.6.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: the-royal-insider
Tags: news, magazine, two-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --tri-navy: #061f35;
  --tri-navy-2: #0a2945;
  --tri-gold: #b88a45;
  --tri-gold-soft: #d3ad6d;
  --tri-red: #b5222b;
  --tri-ink: #111821;
  --tri-muted: #66717d;
  --tri-line: #e6e1d9;
  --tri-paper: #fffdfa;
  --tri-white: #ffffff;
  --tri-shadow: 0 16px 40px rgba(5,31,53,.12);
  --tri-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --tri-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --tri-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--tri-paper);
  color: var(--tri-ink);
  font-family: var(--tri-serif);
  font-size: 17px;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
}
body.tri-dark {
  --tri-ink: #f4efe6;
  --tri-muted: #b8c0c8;
  --tri-line: #284058;
  --tri-paper: #071725;
  --tri-white: #0b2237;
  --tri-shadow: 0 16px 40px rgba(0,0,0,.28);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--tri-gold); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); height: 1px; width: 1px; overflow: hidden; }
.screen-reader-text:focus { clip: auto !important; width: auto; height: auto; background: #fff; color: #000; padding: .75rem 1rem; z-index: 99999; }
.tri-shell { width: min(calc(100% - 40px), var(--tri-max)); margin-inline: auto; }

/* Top utility bar */
.tri-topbar { background: var(--tri-navy); color: #fff; font: 500 12px/1.2 var(--tri-sans); }
.tri-topbar-inner { min-height: 38px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.tri-topbar-left, .tri-topbar-right { display: flex; align-items: center; gap: 18px; }
.tri-topbar a { color: #fff; opacity: .92; }
.tri-topbar a:hover { color: var(--tri-gold-soft); opacity: 1; }
.tri-social-mini { display: inline-flex; align-items: center; gap: 10px; }
.tri-social-mini a { font-weight: 800; }
.tri-icon-btn { border: 0; color: inherit; background: transparent; padding: 3px; display: inline-grid; place-items: center; }
.tri-icon-btn svg { width: 17px; height: 17px; }

/* Masthead */
.tri-masthead { position: relative; overflow: hidden; border-bottom: 1px solid var(--tri-line); background: linear-gradient(90deg,#fffaf2 0%,#fff 42%,#f4ede1 100%); }
.tri-dark .tri-masthead { background: linear-gradient(90deg,#091b2c 0%,#0b2237 50%,#11293e 100%); }
.tri-masthead::after { content:""; position:absolute; inset:0 0 0 auto; width:46%; opacity:.15; background: url('assets/images/palace.svg') center/cover no-repeat; pointer-events:none; }
.tri-brand-row { position: relative; z-index: 1; min-height: 156px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.tri-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; min-width:0; }
.tri-brand-logo-line { display:flex; align-items:center; gap:20px; min-width:0; width:100%; }
.tri-crown { width: 92px; flex: 0 0 auto; }
.tri-crown img { width: 100%; }
.tri-brand-copy { min-width:0; }
.tri-site-title { margin:0; font: 600 clamp(36px,5.3vw,67px)/.92 var(--tri-serif); letter-spacing:.015em; white-space:nowrap; color:var(--tri-navy); }
.tri-dark .tri-site-title { color:#fff; }
.tri-site-title .tri-gold-word { color:var(--tri-gold); }
.tri-tagline { display:block; width:100%; margin:0; text-align:center; font:600 13px/1.2 var(--tri-sans); letter-spacing:.28em; text-transform:uppercase; color:#1b2732; }
.tri-dark .tri-tagline { color:#d5dce2; }
.tri-brand-kicker { position:relative; z-index:1; text-transform:uppercase; letter-spacing:.24em; font:600 10px/1.8 var(--tri-sans); text-align:right; color:#172230; }
.tri-dark .tri-brand-kicker { color:#e4e8eb; }

/* Navigation */
.tri-nav-wrap { position:sticky; top:0; z-index:50; background:var(--tri-navy); color:#fff; box-shadow:0 3px 10px rgba(0,0,0,.08); }
.tri-main-nav { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.tri-main-nav ul { margin:0; padding:0; list-style:none; display:flex; align-items:center; gap:0; }
.tri-main-nav li { position:relative; }
.tri-main-nav a { display:block; color:#fff; font:600 13px/1 var(--tri-sans); padding:21px 17px; white-space:nowrap; }
.tri-main-nav .current-menu-item > a, .tri-main-nav .current_page_item > a { box-shadow:inset 0 -3px var(--tri-gold); }
.tri-main-nav a:hover { background:rgba(255,255,255,.05); color:#fff; }
.tri-nav-actions { margin-left:auto; display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.tri-mobile-toggle { display:none; border:0; background:transparent; color:#fff; padding:10px; }

/* Search overlay */
.tri-search-panel { position:fixed; inset:0; background:rgba(3,19,33,.94); z-index:100; display:none; place-items:center; padding:30px; }
.tri-search-panel.is-open { display:grid; }
.tri-search-box { width:min(760px, 100%); position:relative; }
.tri-search-box input[type=search] { width:100%; border:0; border-bottom:2px solid var(--tri-gold); padding:18px 52px 18px 6px; font:500 clamp(26px,4vw,45px)/1.1 var(--tri-serif); background:transparent; color:#fff; outline:none; }
.tri-search-box button[type=submit] { position:absolute; right:0; top:50%; transform:translateY(-50%); background:transparent; border:0; color:#fff; }
.tri-search-close { position:absolute; right:26px; top:22px; color:#fff; border:0; background:transparent; font-size:32px; }

/* Breaking bar */
.tri-breaking { border-bottom:1px solid var(--tri-line); background:var(--tri-white); }
.tri-breaking-inner { min-height:52px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; }
.tri-breaking-label { align-self:stretch; display:flex; align-items:center; padding:0 17px; background:linear-gradient(135deg,#8f6b31,#cda965); color:#fff; font:800 12px/1 var(--tri-sans); letter-spacing:.04em; text-transform:uppercase; }
.tri-ticker-viewport { overflow:hidden; white-space:nowrap; }
.tri-ticker-track { display:inline-flex; align-items:center; gap:0; transition:transform .35s ease; }
.tri-ticker-item { font-size:14px; }
.tri-ticker-item + .tri-ticker-item::before { content:"|"; margin:0 16px; color:#9ba2a8; }
.tri-ticker-controls { display:flex; gap:4px; }
.tri-ticker-controls button { border:0; background:transparent; color:var(--tri-ink); padding:8px; }

/* Homepage top */
.tri-home { padding: 22px 0 48px; }
.tri-lead-grid { display:grid; grid-template-columns:minmax(0, 2.25fr) minmax(270px,.9fr); gap:24px; align-items:start; }
.tri-hero { min-height:568px; position:relative; overflow:hidden; background:#1c2732; color:#fff; box-shadow:var(--tri-shadow); }
.tri-hero-media, .tri-hero-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tri-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 34%,rgba(3,16,28,.18) 48%,rgba(3,13,24,.93) 100%); }
.tri-hero-content { position:absolute; z-index:2; inset:auto 0 0; padding:30px 30px 25px; }
.tri-badge { display:inline-flex; background:var(--tri-red); color:#fff; padding:6px 9px; font:800 10px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.04em; }
.tri-hero h1 { margin:10px 0 8px; max-width:900px; font:600 clamp(36px,4.5vw,57px)/.98 var(--tri-serif); letter-spacing:-.02em; }
.tri-hero-deck { margin:0 0 12px; max-width:850px; font-size:18px; line-height:1.35; color:#f6f3ed; }
.tri-meta { display:flex; align-items:center; flex-wrap:wrap; gap:0; font:500 12px/1.4 var(--tri-sans); }
.tri-meta > span + span::before, .tri-meta > a + span::before { content:"|"; margin:0 10px; opacity:.65; }
.tri-meta a { font-weight:700; }

.tri-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--tri-line); margin:0 0 14px; padding:0 0 11px; }
.tri-section-title h2 { position:relative; margin:0; font:600 26px/1.1 var(--tri-serif); }
.tri-section-title h2::after { content:""; position:absolute; left:0; bottom:-13px; width:55px; height:2px; background:var(--tri-gold); }
.tri-view-all { font:700 11px/1 var(--tri-sans); }

.tri-trending { padding:12px 2px 0; }
.tri-trending-list { list-style:none; margin:0; padding:0; counter-reset:trend; }
.tri-trending-item { counter-increment:trend; display:grid; grid-template-columns:28px 1fr 76px; gap:12px; align-items:center; min-height:94px; padding:12px 0; border-bottom:1px solid var(--tri-line); }
.tri-trending-item::before { content:counter(trend); color:var(--tri-gold); font:600 27px/1 var(--tri-serif); text-align:center; }
.tri-trending-item h3 { margin:0; font:600 15px/1.32 var(--tri-serif); }
.tri-trending-thumb { width:76px; aspect-ratio:1/1; background:#d9d9d9; overflow:hidden; }
.tri-trending-thumb img { width:100%; height:100%; object-fit:cover; }

.tri-secondary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 1.1fr; gap:18px; margin-top:20px; }
.tri-story-card { min-width:0; }
.tri-story-card .tri-card-media { aspect-ratio: 1.45 / 1; overflow:hidden; background:#d8d8d8; }
.tri-story-card .tri-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.tri-story-card:hover .tri-card-media img { transform:scale(1.025); }
.tri-story-card .tri-card-cat { display:block; margin:9px 0 3px; color:var(--tri-red); font:800 10px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.05em; }
.tri-story-card h3 { margin:0; font:600 19px/1.08 var(--tri-serif); }
.tri-story-card p { margin:7px 0 4px; color:var(--tri-muted); font-size:13px; line-height:1.45; }
.tri-card-readtime { color:var(--tri-muted); font:500 11px/1.4 var(--tri-sans); }

.tri-newsletter { background:var(--tri-navy); color:#fff; min-height:100%; display:flex; flex-direction:column; justify-content:center; text-align:center; padding:24px; box-shadow:var(--tri-shadow); }
.tri-newsletter .tri-news-crown { width:47px; margin:0 auto 10px; }
.tri-newsletter h3 { margin:0 auto 7px; max-width:260px; color:#fff !important; font:600 28px/1.08 var(--tri-serif); }
.tri-newsletter p { margin:0 auto 14px; max-width:270px; color:#eff3f5; font:400 14px/1.45 var(--tri-sans); }
.tri-newsletter input[type=email] { width:100%; height:46px; border:0; padding:0 13px; background:#fff; color:#111; font:500 13px var(--tri-sans); }
.tri-newsletter button { width:100%; margin-top:10px; height:46px; border:0; background:linear-gradient(135deg,#c99f5b,#b1813d); color:#fff; font:800 12px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.05em; }
.tri-newsletter-status { min-height:18px; margin-top:8px !important; font-size:11px !important; }

.tri-lower-grid { display:grid; grid-template-columns:1fr 1.05fr .97fr; gap:30px; margin-top:34px; }
.tri-compact-list { list-style:none; margin:0; padding:0; }
.tri-compact-item { display:grid; grid-template-columns:112px 1fr; gap:13px; align-items:center; padding:0 0 12px; margin:0 0 12px; border-bottom:1px solid var(--tri-line); }
.tri-compact-thumb { aspect-ratio:1.5/1; overflow:hidden; background:#ddd; }
.tri-compact-thumb img { width:100%; height:100%; object-fit:cover; }
.tri-compact-item h3 { margin:0 0 6px; font:500 16px/1.22 var(--tri-serif); }
.tri-time { color:var(--tri-muted); font:500 11px/1 var(--tri-sans); }

.tri-world-feature { position:relative; }
.tri-world-slide { display:none; }
.tri-world-slide.is-active { display:block; }
.tri-world-media { aspect-ratio: 1.55/1; overflow:hidden; background:#ddd; }
.tri-world-media img { width:100%; height:100%; object-fit:cover; }
.tri-world-feature h3 { margin:10px 0 5px; font:600 21px/1.08 var(--tri-serif); }
.tri-world-feature p { margin:0; color:var(--tri-muted); font-size:14px; line-height:1.4; }
.tri-slider-dots { display:flex; justify-content:center; gap:8px; padding:13px 0 0; }
.tri-slider-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#c9c9c9; }
.tri-slider-dot.is-active { background:var(--tri-gold); }

/* Page/archive/article */
.tri-content-area { padding:36px 0 64px; }
.tri-page-head { border-bottom:1px solid var(--tri-line); margin-bottom:26px; padding-bottom:20px; }
.tri-page-head h1 { margin:0; font:600 clamp(38px,5vw,62px)/1 var(--tri-serif); }
.tri-page-head p { color:var(--tri-muted); max-width:760px; }
.tri-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 22px; }
.tri-archive-grid article { border-bottom:1px solid var(--tri-line); padding-bottom:18px; }
.tri-pagination { margin-top:36px; font:700 13px var(--tri-sans); }
.tri-pagination .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.tri-pagination .page-numbers { display:grid; place-items:center; min-width:38px; height:38px; border:1px solid var(--tri-line); padding:0 10px; }
.tri-pagination .current { background:var(--tri-navy); color:#fff; border-color:var(--tri-navy); }

.tri-breadcrumbs { color:var(--tri-muted); font:600 11px/1.4 var(--tri-sans); text-transform:uppercase; letter-spacing:.05em; margin-bottom:18px; }
.tri-article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(280px,360px); justify-content:space-between; gap:52px; }
.tri-article-header h1 { margin:8px 0 13px; font:600 clamp(42px,5.6vw,68px)/.99 var(--tri-serif); letter-spacing:-.025em; }
.tri-article-deck { margin:0 0 16px; color:var(--tri-muted); font-size:20px; line-height:1.4; }
.tri-article-featured { margin:24px 0 28px; }
.tri-article-featured img { width:100%; }
.tri-entry-content { font-size:19px; line-height:1.72; }
.tri-entry-content > * { max-width:100%; }
.tri-entry-content h2, .tri-entry-content h3 { line-height:1.1; margin-top:1.7em; }
.tri-entry-content h2 { font-size:34px; }
.tri-entry-content blockquote { border-left:4px solid var(--tri-gold); margin:1.6em 0; padding:.3em 0 .3em 1.25em; font-size:24px; font-style:italic; }
.tri-entry-content a { color:#8c621f; text-decoration:underline; text-underline-offset:2px; }
.tri-entry-content img { margin:1.3em auto; }
.tri-sidebar { position:relative; }
.tri-sidebar-inner { position:sticky; top:84px; }
.tri-sidebar .tri-newsletter { margin-top:24px; }
.tri-post-tags { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.tri-post-tags a { border:1px solid var(--tri-line); padding:7px 10px; font:700 11px var(--tri-sans); }
.tri-author-box { display:grid; grid-template-columns:72px 1fr; gap:16px; border-block:1px solid var(--tri-line); padding:22px 0; margin:26px 0; }
.tri-author-box img { border-radius:50%; }
.tri-author-box h3 { margin:0 0 4px; font:600 20px var(--tri-serif); }
.tri-author-box p { margin:0; color:var(--tri-muted); font-size:14px; }
.tri-related { margin-top:42px; }
.tri-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }

/* Comments */
.comments-area { margin-top:42px; border-top:2px solid var(--tri-navy); padding-top:24px; }
.comments-title { font-size:28px; }
.comment-list { list-style:none; margin:0; padding:0; }
.comment-body { border-bottom:1px solid var(--tri-line); padding:18px 0; }
.comment-meta { font:600 12px var(--tri-sans); }
.comment-content { font-size:15px; }
.comment-respond textarea, .comment-respond input[type=text], .comment-respond input[type=email], .comment-respond input[type=url] { width:100%; border:1px solid var(--tri-line); background:var(--tri-white); color:var(--tri-ink); padding:12px; }
.comment-respond input[type=submit] { border:0; background:var(--tri-navy); color:#fff; padding:12px 18px; font:800 12px var(--tri-sans); text-transform:uppercase; }

/* Footer */
.tri-footer { margin-top:0; background:#041a2d; color:#fff; }
.tri-footer-main { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:52px; padding:52px 0 40px; }
.tri-footer-brand { display:flex; gap:14px; align-items:center; }
.tri-footer-crown { width:58px; }
.tri-footer h2 { margin:0; font:600 31px/1 var(--tri-serif); }
.tri-footer p { color:#c7d0d7; font:400 13px/1.6 var(--tri-sans); max-width:520px; }
.tri-footer h3 { margin:0 0 14px; color:var(--tri-gold-soft); font:800 11px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.12em; }
.tri-footer ul { list-style:none; margin:0; padding:0; columns:2; }
.tri-footer li { margin-bottom:8px; font:500 13px/1.4 var(--tri-sans); }
.tri-footer-bottom { border-top:1px solid rgba(255,255,255,.15); padding:16px 0; display:flex; justify-content:space-between; gap:24px; color:#c8d1d8; font:500 11px/1.4 var(--tri-sans); }

/* No image placeholders */
.tri-no-image { width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(135deg,#e8e0d3,#c7b89e); color:#795e33; }
.tri-dark .tri-no-image { background:linear-gradient(135deg,#132d45,#0e2437); color:#d0ab68; }
.tri-no-image img { width:54px !important; height:auto !important; object-fit:contain !important; opacity:.72; }

/* Title contrast guardrails. WordPress global element styles are loaded after
   the theme stylesheet, so component selectors intentionally win the cascade. */
.tri-section-title h2,
.tri-trending-item h3,
.tri-story-card h3,
.tri-compact-item h3,
.tri-world-feature h3,
.tri-page-head h1,
.tri-article-header h1,
.tri-author-box h3,
.tri-discovery-item h3,
.tri-read-next h3,
.tri-auto-title,
.comments-title,
.comment-reply-title,
.tri-entry-content :where(h1,h2,h3,h4,h5,h6) { color:var(--tri-ink); }

.tri-trending-item h3 a,
.tri-story-card h3 a,
.tri-compact-item h3 a,
.tri-world-feature h3 a,
.tri-discovery-item h3 a,
.tri-read-next h3 a,
.tri-auto-title a { color:inherit !important; }

/* Headlines placed on dark/image surfaces must remain white in both modes. */
.tri-hero h1,
.tri-hero h1 a,
.tri-newsletter h3,
.tri-newsletter h3 a { color:#fff !important; }

/* Responsive */
@media (max-width: 1100px) {
  .tri-site-title { white-space:normal; }
  .tri-main-nav a { padding-inline:11px; font-size:12px; }
  .tri-secondary-grid { grid-template-columns:repeat(3,1fr); }
  .tri-newsletter { grid-column:1 / -1; min-height:240px; }
  .tri-newsletter form { max-width:520px; margin-inline:auto; width:100%; }
  .tri-lower-grid { grid-template-columns:1fr 1fr; }
  .tri-lower-grid > :last-child { grid-column:1 / -1; }
}
@media (max-width: 900px) {
  .tri-brand-kicker { display:none; }
  .tri-brand-row { min-height:128px; }
  .tri-crown { width:70px; }
  .tri-site-title { font-size:50px; }
  .tri-tagline { text-align:center; font-size:10px; }
  .tri-mobile-toggle { display:block; }
  .tri-main-nav { min-height:50px; }
  .tri-main-nav ul.menu { position:absolute; display:none; left:0; right:0; top:100%; background:var(--tri-navy); padding:8px 20px 18px; flex-direction:column; align-items:stretch; max-height:75vh; overflow:auto; }
  .tri-main-nav ul.menu.is-open { display:flex; }
  .tri-main-nav ul.menu a { padding:12px 8px; }
  .tri-nav-actions { margin-left:0; }
  .tri-lead-grid { grid-template-columns:1fr; }
  .tri-trending { padding-top:10px; }
  .tri-trending-list { display:grid; grid-template-columns:1fr 1fr; column-gap:22px; }
  .tri-article-layout { grid-template-columns:1fr; }
  .tri-sidebar-inner { position:static; }
  .tri-archive-grid { grid-template-columns:1fr 1fr; }
  .tri-footer-main { grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px) {
  .tri-shell { width:min(calc(100% - 28px), var(--tri-max)); }
  .tri-topbar-left .tri-top-status { display:none; }
  .tri-topbar-right > a { display:none; }
  .tri-brand-row { min-height:105px; }
  .tri-crown { width:55px; }
  .tri-brand { gap:12px; }
  .tri-site-title { font-size:36px; }
  .tri-tagline { letter-spacing:.14em; }
  .tri-breaking-inner { grid-template-columns:auto 1fr; gap:10px; }
  .tri-breaking-label { padding-inline:10px; }
  .tri-ticker-controls { display:none; }
  .tri-hero { min-height:500px; }
  .tri-hero-content { padding:22px 18px 20px; }
  .tri-hero h1 { font-size:38px; }
  .tri-hero-deck { font-size:15px; }
  .tri-secondary-grid, .tri-lower-grid, .tri-archive-grid, .tri-related-grid { grid-template-columns:1fr; }
  .tri-newsletter { grid-column:auto; }
  .tri-lower-grid > :last-child { grid-column:auto; }
  .tri-trending-list { grid-template-columns:1fr; }
  .tri-trending-item { grid-template-columns:25px 1fr 70px; }
  .tri-footer-main { grid-template-columns:1fr; gap:28px; }
  .tri-footer-bottom { flex-direction:column; gap:8px; }
  .tri-article-header h1 { font-size:44px; }
  .tri-entry-content { font-size:18px; }
}

/* ==========================================================
   v1.1 — layout controls, social sharing and advertising
   ========================================================== */

/* Customizable masthead density */
.tri-compact-header .tri-brand-row { min-height:112px; }
.tri-compact-header .tri-crown { width:72px; }
.tri-compact-header .tri-site-title { font-size:clamp(34px,4.6vw,58px); }

/* Homepage layout variants */
.tri-home-layout-wide-hero .tri-lead-grid,
.tri-lead-grid.tri-lead-no-trending { grid-template-columns:1fr; }
.tri-home-layout-wide-hero .tri-hero { min-height:650px; }
.tri-home-layout-wide-hero .tri-trending { margin-top:4px; }
.tri-home-layout-wide-hero .tri-trending-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.tri-home-layout-wide-hero .tri-trending-item { grid-template-columns:26px 1fr; align-items:start; min-height:0; }
.tri-home-layout-wide-hero .tri-trending-thumb { grid-column:2; width:100%; aspect-ratio:1.55/1; order:-1; }
.tri-secondary-grid.tri-secondary-no-newsletter { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tri-lower-grid.tri-lower-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tri-lower-grid.tri-lower-count-1 { grid-template-columns:1fr; }

/* Article layout variants */
.tri-article-layout-sidebar-left .tri-article-layout { grid-template-columns:minmax(280px,360px) minmax(0,760px); }
.tri-article-layout-sidebar-left .tri-sidebar { order:-1; }
.tri-article-layout-full-width .tri-article-layout { grid-template-columns:minmax(0,840px); justify-content:center; }
.tri-article-layout-full-width .tri-article { width:100%; }

/* Archive density */
.tri-archive-cols-2 .tri-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tri-archive-cols-3 .tri-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tri-archive-cols-4 .tri-archive-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 18px; }
.tri-archive-cols-4 .tri-story-card h3 { font-size:17px; }

/* Native social sharing */
.tri-share-bar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:18px; font-family:var(--tri-sans); }
.tri-share-label { margin-right:3px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--tri-muted); }
.tri-share-btn { width:34px; height:34px; display:inline-grid; place-items:center; border:1px solid var(--tri-line); border-radius:50%; background:var(--tri-white); color:var(--tri-ink); font:800 12px/1 var(--tri-sans); text-decoration:none !important; transition:transform .15s ease,border-color .15s ease,color .15s ease; }
.tri-share-btn:hover { transform:translateY(-1px); border-color:var(--tri-gold); color:var(--tri-gold); }
.tri-copy-status { min-width:58px; color:var(--tri-muted); font-size:11px; }

/* Ad inventory — invisible when no widget is assigned */
.tri-ad-slot { width:min(calc(100% - 40px), var(--tri-max)); margin:20px auto; text-align:center; font-family:var(--tri-sans); }
.tri-ad-label { display:block; margin-bottom:7px; color:var(--tri-muted); font-size:9px; line-height:1; letter-spacing:.14em; text-transform:uppercase; }
.tri-ad-widget { width:100%; overflow:hidden; }
.tri-ad-widget > * { max-width:100%; }
.tri-ad-header { margin-block:14px; }
.tri-ad-sidebar { width:100%; margin:24px 0; }
.tri-ad-incontent { width:100%; margin:34px auto; padding-block:16px; border-block:1px solid var(--tri-line); }
.tri-ad-footer { margin-block:28px; }

/* Accessible focus treatment */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid var(--tri-gold-soft); outline-offset:3px; }

@media (max-width: 1100px) {
  .tri-home-layout-wide-hero .tri-trending-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tri-archive-cols-4 .tri-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .tri-article-layout-sidebar-left .tri-article-layout { grid-template-columns:1fr; }
  .tri-article-layout-sidebar-left .tri-sidebar { order:initial; }
  .tri-home-layout-wide-hero .tri-trending-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tri-archive-cols-3 .tri-archive-grid,
  .tri-archive-cols-4 .tri-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .tri-home-layout-wide-hero .tri-hero { min-height:520px; }
  .tri-home-layout-wide-hero .tri-trending-list,
  .tri-lower-grid.tri-lower-count-2,
  .tri-archive-cols-2 .tri-archive-grid,
  .tri-archive-cols-3 .tri-archive-grid,
  .tri-archive-cols-4 .tri-archive-grid { grid-template-columns:1fr; }
  .tri-home-layout-wide-hero .tri-trending-item { grid-template-columns:25px 1fr 70px; }
  .tri-home-layout-wide-hero .tri-trending-thumb { grid-column:auto; width:70px; aspect-ratio:1/1; order:initial; }
  .tri-ad-slot { width:min(calc(100% - 28px), var(--tri-max)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ==========================================================
   v1.2 — discovery, continuous reading, ticker & galleries
   ========================================================== */

/* Theme.json is the source of truth for brand colors; fallbacks support older installs. */
:root {
  --tri-navy: var(--wp--preset--color--royal-navy, #061f35);
  --tri-gold: var(--wp--preset--color--palace-gold, #b88a45);
  --tri-red: var(--wp--preset--color--breaking-red, #b5222b);
  --tri-ink: var(--wp--preset--color--ink, #111821);
  --tri-paper: var(--wp--preset--color--ivory, #fffdfa);
  --tri-white: var(--wp--preset--color--white, #ffffff);
}

/* Apply a stored dark preference before deferred JavaScript runs. */
html.tri-dark-mode body {
  --tri-ink: #f4efe6;
  --tri-muted: #b8c0c8;
  --tri-line: #284058;
  --tri-paper: #071725;
  --tri-white: #0b2237;
  --tri-shadow: 0 16px 40px rgba(0,0,0,.28);
}
html.tri-dark-mode .tri-masthead { background:linear-gradient(90deg,#091b2c 0%,#0b2237 50%,#11293e 100%); }
html.tri-dark-mode .tri-site-title { color:#fff; }
html.tri-dark-mode .tri-tagline { color:#d5dce2; }
html.tri-dark-mode .tri-brand-kicker { color:#e4e8eb; }
html.tri-dark-mode .tri-no-image { background:linear-gradient(135deg,#132d45,#0e2437); color:#d0ab68; }

/* Breaking ticker: CSS animation first, buttons remain available as an override. */
.tri-ticker-track { display:flex; width:max-content; min-width:100%; will-change:transform; }
.tri-ticker-group { display:inline-flex; align-items:center; flex:0 0 auto; padding-right:36px; }
.tri-breaking.is-animated .tri-ticker-track { animation:triTickerScroll 48s linear infinite; }
.tri-breaking.is-animated .tri-ticker-viewport:hover .tri-ticker-track,
.tri-breaking.is-animated .tri-ticker-viewport:focus-within .tri-ticker-track { animation-play-state:paused; }
.tri-ticker-track.is-manual { will-change:auto; }
@keyframes triTickerScroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* Configurable single-post discovery query loop. */
.tri-sidebar-discovery { margin-top:30px; padding-top:8px; border-top:1px solid var(--tri-line); }
.tri-discovery-list { list-style:none; margin:0; padding:0; }
.tri-discovery-item { display:grid; grid-template-columns:82px 1fr; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--tri-line); }
.tri-discovery-thumb { display:block; aspect-ratio:1.3/1; overflow:hidden; background:var(--tri-line); }
.tri-discovery-thumb img { width:100%; height:100%; object-fit:cover; }
.tri-discovery-item h3 { margin:0 0 5px; font:600 15px/1.25 var(--tri-serif); }
.tri-discovery-item .tri-time { font:600 10px/1.2 var(--tri-sans); color:var(--tri-muted); text-transform:uppercase; letter-spacing:.04em; }

/* Inline editorial recommendation. */
.tri-read-next { display:grid; grid-template-columns:116px minmax(0,1fr); gap:16px; align-items:center; margin:30px 0; padding:15px 0; border-block:1px solid var(--tri-line); background:linear-gradient(90deg, color-mix(in srgb, var(--tri-gold) 8%, transparent), transparent 75%); }
.tri-read-next-media { display:block; aspect-ratio:1.35/1; overflow:hidden; background:var(--tri-line); }
.tri-read-next-media img { width:100%; height:100%; object-fit:cover; }
.tri-read-next-copy > span { display:block; margin-bottom:5px; color:var(--tri-red); font:800 10px/1 var(--tri-sans); letter-spacing:.1em; text-transform:uppercase; }
.tri-read-next h3 { margin:0; font:700 20px/1.18 var(--tri-serif); }

/* Continuous article stream. */
.tri-continuous-reading { width:min(100%, 860px); margin:70px auto 0; }
.tri-continuous-stream { display:block; }
.tri-auto-article { margin:0 0 72px; padding-top:64px; border-top:4px solid var(--tri-gold); }
.tri-auto-article:first-of-type { margin-top:0; }
.tri-auto-title { margin:8px 0 14px; font:700 clamp(38px,5vw,58px)/1.02 var(--tri-serif); letter-spacing:-.02em; }
.tri-auto-title a:hover { color:var(--tri-gold); }
.tri-continuous-sentinel { min-height:90px; display:grid; place-items:center; margin:24px 0 40px; color:var(--tri-muted); font:700 11px/1.2 var(--tri-sans); letter-spacing:.08em; text-transform:uppercase; }
.tri-continuous-sentinel::after { content:""; width:24px; height:24px; margin-top:10px; border:2px solid var(--tri-line); border-top-color:var(--tri-gold); border-radius:50%; animation:triSpinner .9s linear infinite; }
.tri-continuous-sentinel.is-done::after { display:none; }
@keyframes triSpinner { to { transform:rotate(360deg); } }

/* Stable ad inventory prevents delayed creatives from shifting editorial layout. */
.tri-ad-header { min-height:90px; display:flex; flex-direction:column; justify-content:center; }
.tri-ad-sidebar { min-height:280px; display:flex; flex-direction:column; justify-content:center; }
.tri-ad-incontent { min-height:250px; display:flex; flex-direction:column; justify-content:center; }
.tri-ad-grid { grid-column:1 / -1; width:100%; min-height:180px; margin:8px 0 24px; display:flex; flex-direction:column; justify-content:center; }
.tri-ad-between-articles { width:100%; min-height:180px; margin:20px 0 48px; display:flex; flex-direction:column; justify-content:center; }
.tri-ad-footer { min-height:90px; display:flex; flex-direction:column; justify-content:center; }

/* Core Gallery → "Royal Masonry" block style. WordPress retains intrinsic image dimensions,
   while PHP forces gallery images to lazy-load and decode asynchronously. */
.tri-entry-content .wp-block-gallery.is-style-royal-masonry { display:block !important; columns:3; column-gap:14px; margin-block:30px; }
.tri-entry-content .wp-block-gallery.is-style-royal-masonry > .wp-block-image,
.tri-entry-content .wp-block-gallery.is-style-royal-masonry > figure { display:inline-block !important; width:100% !important; margin:0 0 14px !important; break-inside:avoid; vertical-align:top; }
.tri-entry-content .wp-block-gallery.is-style-royal-masonry img { width:100%; height:auto; border-radius:2px; }
.tri-entry-content .wp-block-gallery.is-style-royal-masonry figcaption { position:static !important; padding:7px 0 0 !important; background:none !important; color:var(--tri-muted) !important; font:500 11px/1.4 var(--tri-sans) !important; text-align:left !important; }

@media (max-width: 900px) {
  .tri-continuous-reading { width:min(100%, 760px); }
  .tri-entry-content .wp-block-gallery.is-style-royal-masonry { columns:2; }
}

@media (max-width: 680px) {
  .tri-read-next { grid-template-columns:92px 1fr; gap:12px; }
  .tri-read-next h3 { font-size:17px; }
  .tri-auto-article { padding-top:46px; margin-bottom:54px; }
  .tri-entry-content .wp-block-gallery.is-style-royal-masonry { columns:1; }
  .tri-ad-sidebar, .tri-ad-incontent { min-height:200px; }
}

/* ==========================================================
   v1.3 — form-first comments, newest-first thread, AJAX posting
   ========================================================== */
.comments-area { margin-top:48px; border-top:3px solid var(--tri-navy); padding-top:28px; }
.tri-comment-compose { margin-bottom:34px; padding-bottom:32px; border-bottom:1px solid var(--tri-line); }
.tri-comment-compose-heading { margin-bottom:8px; }
.tri-comment-compose .comment-reply-title { margin:0 0 14px; font:700 25px/1.15 var(--tri-serif); }
.tri-comment-compose .logged-in-as,
.tri-comment-compose .comment-notes { margin:0 0 14px; color:var(--tri-muted); font:500 12px/1.5 var(--tri-sans); }
.tri-comment-compose .comment-form-comment label,
.tri-comment-compose .comment-form-author label,
.tri-comment-compose .comment-form-email label,
.tri-comment-compose .comment-form-url label { display:block; margin:0 0 6px; font:800 10px/1.2 var(--tri-sans); letter-spacing:.08em; text-transform:uppercase; }
.tri-comment-compose textarea { min-height:148px; resize:vertical; }
.tri-comment-compose .form-submit { margin-bottom:0; }
.tri-comment-submit[disabled] { opacity:.6; cursor:wait; }
.tri-comment-ajax-status { min-height:1.3em; margin:10px 0 0; color:var(--tri-muted); font:700 11px/1.35 var(--tri-sans); }

.tri-comment-thread { margin-top:8px; }
.tri-comments-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:4px; padding-bottom:12px; border-bottom:2px solid var(--tri-gold); }
.tri-comments-heading .comments-title { margin:0; font:700 27px/1.1 var(--tri-serif); }
.tri-comment-sort { color:var(--tri-muted); font:800 10px/1 var(--tri-sans); letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.comment-list { list-style:none; margin:0; padding:0; }
.comment-list .children { list-style:none; margin:0 0 0 58px; padding:0; border-left:1px solid var(--tri-line); }
.tri-comment-card { padding:21px 0 20px; border-bottom:1px solid var(--tri-line); }
.comment-list .children .tri-comment-card { padding-left:18px; }
.tri-comment-header { display:flex; gap:12px; align-items:center; margin-bottom:11px; }
.tri-comment-avatar { flex:0 0 44px; }
.tri-comment-avatar img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.tri-comment-byline { min-width:0; }
.tri-comment-author { display:block; font:800 13px/1.2 var(--tri-sans); }
.tri-comment-author a { color:var(--tri-ink); text-decoration:none; }
.tri-comment-date { display:inline-block; margin-top:3px; color:var(--tri-muted); font:600 10px/1.2 var(--tri-sans); text-decoration:none; }
.tri-comment-content { font-size:15px; line-height:1.58; }
.tri-comment-content > :first-child { margin-top:0; }
.tri-comment-content > :last-child { margin-bottom:0; }
.tri-comment-actions { display:flex; align-items:center; gap:12px; margin-top:10px; font:800 10px/1 var(--tri-sans); letter-spacing:.05em; text-transform:uppercase; }
.tri-comment-actions a { color:var(--tri-gold); text-decoration:none; }
.tri-comment-moderation { margin:0 0 10px; padding:8px 10px; border-left:3px solid var(--tri-gold); background:color-mix(in srgb, var(--tri-gold) 8%, transparent); color:var(--tri-muted); font:700 11px/1.4 var(--tri-sans); }
.tri-no-comments { margin:18px 0 0; color:var(--tri-muted); font-style:italic; }
#cancel-comment-reply-link { margin-left:10px; color:var(--tri-red); font:800 10px/1 var(--tri-sans); text-transform:uppercase; text-decoration:none; }

@media (max-width:680px) {
  .tri-comments-heading { align-items:center; }
  .comment-list .children { margin-left:24px; }
  .tri-comment-compose .comment-reply-title { font-size:22px; }
}

/* Native contact, sitemap and utility modules — v1.4 */
.tri-contact-form { max-width: 860px; padding: clamp(22px,4vw,40px); border:1px solid var(--tri-line); background:var(--tri-white); box-shadow:var(--tri-shadow); }
.tri-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tri-contact-form p { margin:0 0 18px; }
.tri-contact-form label { display:grid; gap:7px; font:700 13px/1.3 var(--tri-sans); letter-spacing:.02em; }
.tri-contact-form input[type="text"], .tri-contact-form input[type="email"], .tri-contact-form select, .tri-contact-form textarea { width:100%; border:1px solid var(--tri-line); background:var(--tri-paper); color:var(--tri-ink); padding:12px 13px; border-radius:2px; font:400 16px/1.45 var(--tri-sans); }
.tri-contact-form textarea { resize:vertical; min-height:180px; }
.tri-contact-form button { border:0; background:var(--tri-gold); color:#fff; padding:12px 22px; text-transform:uppercase; font:800 12px/1 var(--tri-sans); letter-spacing:.08em; }
.tri-contact-form button:disabled { opacity:.6; cursor:wait; }
.tri-contact-consent label { display:flex; grid-template-columns:none; align-items:flex-start; gap:9px; font-weight:500; }
.tri-contact-consent input { margin-top:3px; }
.tri-contact-status { min-height:1.4em; margin-top:12px !important; font:600 13px/1.4 var(--tri-sans); color:var(--tri-muted); }
.tri-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.tri-html-sitemap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; }
.tri-html-sitemap section { border-top:3px solid var(--tri-gold); padding-top:14px; }
.tri-html-sitemap h2 { margin:0 0 14px; color:var(--tri-navy); }
.tri-dark .tri-html-sitemap h2 { color:var(--tri-gold-soft); }
.tri-html-sitemap ul { margin:0; padding-left:1.2em; }
.tri-html-sitemap li { margin:.38em 0; }
.tri-popular-posts { margin-top:34px; }
@media (max-width:700px) { .tri-contact-grid, .tri-html-sitemap { grid-template-columns:1fr; } }


/* ==========================================================
   v1.5 — newsroom trust, discovery, staff and compliance
   ========================================================== */
body.tri-overlay-open { overflow:hidden; }
.tri-live-search-results { margin-top:18px; max-height:min(55vh,560px); overflow:auto; color:#fff; font-family:var(--tri-sans); }
.tri-live-search-list { list-style:none; margin:0; padding:0; background:#071827; border:1px solid rgba(255,255,255,.14); }
.tri-live-search-list li + li { border-top:1px solid rgba(255,255,255,.1); }
.tri-live-search-list a { display:grid; grid-template-columns:90px 1fr; gap:14px; align-items:center; padding:12px; color:#fff; }
.tri-live-search-list a:hover, .tri-live-search-list a:focus-visible { background:rgba(184,138,69,.14); color:#fff; outline:2px solid var(--tri-gold); outline-offset:-2px; }
.tri-live-search-list img { width:90px; height:62px; object-fit:cover; }
.tri-live-search-list strong { display:block; font:700 16px/1.2 var(--tri-serif); }
.tri-live-search-list small { display:block; margin-top:5px; color:#c6d0d8; font-size:11px; }
.tri-live-search-empty { margin:0; padding:13px; background:#071827; border:1px solid rgba(255,255,255,.14); color:#d5dde4; }

.tri-newsletter-consent { display:flex; align-items:flex-start; gap:8px; margin:10px 0 12px; text-align:left; color:#dbe3e8; font:500 10px/1.4 var(--tri-sans); }
.tri-newsletter-consent input { flex:0 0 auto; margin-top:2px; accent-color:var(--tri-gold); }

.tri-photo-credit { display:flex; justify-content:space-between; gap:18px; padding:8px 0 0; color:var(--tri-muted); font:500 10px/1.45 var(--tri-sans); }
.tri-photo-caption { max-width:65%; }
.tri-photo-rights { margin-left:auto; text-align:right; }
.tri-photo-rights a { text-decoration:underline; text-underline-offset:2px; }
.tri-updated-time { color:var(--tri-gold); font-weight:700; }

.tri-editorial-trust { margin:40px 0 32px; padding:24px 26px; border:1px solid var(--tri-line); border-top:4px solid var(--tri-gold); background:color-mix(in srgb,var(--tri-white) 96%,var(--tri-gold) 4%); }
.tri-editorial-trust h2 { margin:0 0 15px; font-size:25px; color:var(--tri-ink); }
.tri-editorial-trust h3 { margin:18px 0 8px; font:800 11px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.1em; color:var(--tri-gold); }
.tri-trust-meta { display:flex; gap:12px; flex-wrap:wrap; color:var(--tri-muted); font:700 11px/1.4 var(--tri-sans); }
.tri-trust-meta span + span::before { content:"·"; margin-right:12px; }
.tri-methodology { font-size:14px; }
.tri-source-list { margin:0; padding-left:20px; font:500 13px/1.5 var(--tri-sans); }
.tri-source-list li { margin:5px 0; }
.tri-source-list a { color:#8b6427; text-decoration:underline; text-underline-offset:2px; }
.tri-correction-notice { padding:12px 14px; margin-bottom:14px; border-left:4px solid var(--tri-red); background:color-mix(in srgb,var(--tri-red) 7%,transparent); font:600 13px/1.5 var(--tri-sans); }
.tri-correction-history { margin:10px 0 15px; color:var(--tri-muted); font:500 12px/1.45 var(--tri-sans); }
.tri-correction-history summary { cursor:pointer; font-weight:800; color:var(--tri-ink); }
.tri-correction-history ol { margin-bottom:0; }

.tri-author-box { align-items:flex-start; }
.tri-author-photo, .tri-author-archive-photo, .tri-staff-photo { border-radius:50%; object-fit:cover; aspect-ratio:1; }
.tri-author-role { margin:3px 0 8px !important; color:var(--tri-gold); font:800 10px/1.2 var(--tri-sans) !important; text-transform:uppercase; letter-spacing:.08em; }
.tri-author-credentials { color:var(--tri-muted); font:500 12px/1.5 var(--tri-sans); }
.tri-author-social { display:flex; gap:12px; flex-wrap:wrap; }
.tri-author-social a { color:var(--tri-gold); font:800 11px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.04em; }
.tri-author-archive-head { display:grid; grid-template-columns:150px 1fr; gap:28px; align-items:start; padding:34px 0; border-bottom:1px solid var(--tri-line); margin-bottom:30px; }
.tri-author-archive-head h1 { margin:2px 0 7px; font-size:clamp(38px,5vw,58px); }
.tri-eyebrow { color:var(--tri-gold); font:800 10px/1 var(--tri-sans); text-transform:uppercase; letter-spacing:.13em; }
.tri-staff-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.tri-staff-card { padding:24px; border:1px solid var(--tri-line); background:var(--tri-white); }
.tri-staff-card .tri-staff-photo { width:112px; height:112px; margin-bottom:14px; }
.tri-staff-card h2 { margin:0 0 5px; font-size:25px; }
.tri-staff-card p { font-size:14px; }

/* Native newsroom block styles / patterns. */
.tri-entry-content .is-style-tri-key-points,
.tri-entry-content .is-style-tri-what-we-know,
.tri-entry-content .is-style-tri-why-it-matters,
.tri-entry-content .is-style-tri-update-box,
.tri-entry-content .is-style-tri-source-box,
.tri-entry-content .is-style-tri-correction-box { margin:30px 0; padding:20px 22px; border:1px solid var(--tri-line); background:var(--tri-white); }
.tri-entry-content .is-style-tri-key-points { border-top:4px solid var(--tri-navy); }
.tri-entry-content .is-style-tri-what-we-know { border-left:4px solid var(--tri-gold); }
.tri-entry-content .is-style-tri-why-it-matters { background:color-mix(in srgb,var(--tri-gold) 8%,var(--tri-white)); border-top:3px solid var(--tri-gold); }
.tri-entry-content .is-style-tri-update-box { border-left:4px solid var(--tri-red); }
.tri-entry-content .is-style-tri-source-box { border-left:4px solid #4776c5; }
.tri-entry-content .is-style-tri-correction-box { border-left:4px solid var(--tri-red); background:color-mix(in srgb,var(--tri-red) 6%,var(--tri-white)); }
.tri-entry-content .is-style-tri-key-points h3,
.tri-entry-content .is-style-tri-what-we-know h3,
.tri-entry-content .is-style-tri-why-it-matters h3,
.tri-entry-content .is-style-tri-update-box h4,
.tri-entry-content .is-style-tri-source-box h4,
.tri-entry-content .is-style-tri-correction-box h4 { margin-top:0; }
.tri-entry-content .wp-block-quote.is-style-tri-royal-quote { margin:36px 0; padding:26px 28px; border:0; border-top:3px solid var(--tri-gold); border-bottom:1px solid var(--tri-line); color:var(--tri-navy); font-size:clamp(24px,3vw,35px); line-height:1.2; }
.tri-dark .tri-entry-content .wp-block-quote.is-style-tri-royal-quote { color:#fff; }
.tri-entry-content .is-style-tri-timeline { list-style:none; padding-left:26px; border-left:2px solid var(--tri-gold); }
.tri-entry-content .is-style-tri-timeline li { position:relative; margin:0 0 18px; }
.tri-entry-content .is-style-tri-timeline li::before { content:""; position:absolute; left:-33px; top:.5em; width:12px; height:12px; border-radius:50%; background:var(--tri-gold); border:3px solid var(--tri-paper); }

/* Strong keyboard focus across interactive controls. */
:where(a,button,input,textarea,select):focus-visible { outline:3px solid var(--tri-gold); outline-offset:3px; }
.tri-slider-dot:focus-visible { outline-offset:4px; }

@media (max-width:800px) {
  .tri-staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tri-author-archive-head { grid-template-columns:100px 1fr; }
  .tri-author-archive-photo { width:100px; height:100px; }
}
@media (max-width:560px) {
  .tri-live-search-list a { grid-template-columns:68px 1fr; }
  .tri-live-search-list img { width:68px; height:50px; }
  .tri-photo-credit { flex-direction:column; gap:5px; }
  .tri-photo-caption { max-width:none; }
  .tri-photo-rights { margin-left:0; text-align:left; }
  .tri-staff-grid, .tri-author-archive-head { grid-template-columns:1fr; }
}
.tri-inline-media-credit { display:block; margin-top:5px; color:var(--tri-muted); font:500 9px/1.35 var(--tri-sans); letter-spacing:.01em; }
.tri-inline-media-credit a { color:inherit; text-decoration:underline; text-underline-offset:2px; }

/* ===== v1.6 newsroom platform additions ===== */
.tri-live-blog{margin:32px 0;border:1px solid var(--tri-border,#d9d6cf);background:var(--tri-surface,#fff);padding:22px}
.tri-live-heading{display:flex;align-items:center;gap:12px;border-bottom:2px solid #b5222b;padding-bottom:12px;margin-bottom:6px}.tri-live-heading h2{margin:0}.tri-live-badge{background:#b5222b;color:#fff;font-weight:800;letter-spacing:.12em;padding:5px 9px}.tri-live-status{margin-left:auto;font-size:.78rem;opacity:.68}.tri-live-update{padding:20px 0;border-bottom:1px solid var(--tri-border,#e2dfd9)}.tri-live-update time{font-size:.78rem;font-weight:800;color:#b5222b;text-transform:uppercase}.tri-live-update h3{margin:6px 0 8px;font-size:1.25rem}.tri-live-update:last-child{border-bottom:0}
.tri-series-box{margin:28px 0;padding:20px;border-left:4px solid #b88a45;background:rgba(184,138,69,.08)}.tri-series-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#9a6e2f}.tri-series-box h2{margin:5px 0 8px}.tri-series-nav{display:flex;justify-content:space-between;gap:20px;margin-top:12px}.tri-series-nav a{font-weight:700}
.tri-lite-youtube{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden;margin:1.5em 0}.tri-lite-youtube button{width:100%;height:100%;padding:0;border:0;background:#111;cursor:pointer;position:relative}.tri-lite-youtube img{width:100%;height:100%;object-fit:cover;opacity:.86}.tri-lite-youtube span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:70px;height:50px;border-radius:12px;background:#cc0000;color:white;font-size:25px}.tri-lite-youtube iframe{width:100%;height:100%;border:0}.tri-lazy-social-embed{min-height:180px;display:grid;place-items:center;background:rgba(127,127,127,.06);margin:1.5em 0}.tri-embed-placeholder{font-size:.85rem;opacity:.65}
.tri-alert-subscribe{border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;padding:5px 9px;font-size:.72rem;font-weight:700;cursor:pointer}.tri-alert-subscribe:hover,.tri-alert-subscribe:focus-visible{border-color:#b88a45;color:#b88a45}.tri-alert-subscribe:disabled{opacity:.6;cursor:wait}
.tri-dark-mode .tri-live-blog{background:#0b2032}.tri-dark-mode .tri-series-box{background:rgba(184,138,69,.13)}
@media(max-width:700px){.tri-live-heading{align-items:flex-start;flex-wrap:wrap}.tri-live-status{margin-left:0;width:100%}.tri-series-nav{flex-direction:column}.tri-alert-subscribe{display:none}}


/* Publication page pack */
.tri-entry-content .tri-page-intro {font-size:1.16em;line-height:1.65;color:var(--tri-muted);max-width:850px;margin:0 0 2rem;}
.tri-entry-content h2 {margin-top:2.1rem;}
.tri-entry-content h3 {margin-top:1.6rem;}
.tri-entry-content ul,.tri-entry-content ol {padding-left:1.35rem;}
.tri-entry-content a {text-underline-offset:3px;}
.tri-dark-mode .tri-entry-content .tri-page-intro {color:#b9c4cd;}
