/* ==========================================================================
   MaverixPrime — single stylesheet (replaces the old style/premium/active/
   delight/enhance/features split, which had five files overriding the same
   selectors with !important wars and hard-coded stock-photo backgrounds).
   Brand tokens (--primary, --accent, --radius-*, --font-*) are set by an
   inline <style> block from admin-controlled settings — see themeStyleBlock()
   in includes.php. Everything else here is a fixed, tested neutral palette.
   ========================================================================== */

:root{
  --primary:#004097; --primary-rgb:0,64,151;
  --accent:#c6742a; --accent-rgb:198,116,42;
  --sepia-accent:#d4a574; --sepia-accent-rgb:212,165,116;
  --radius-l:14px; --radius-m:6px; --radius-s:3px;
  --font-heading:'Fraunces',ui-serif,Georgia,serif;
  --font-body:'Inter',ui-sans-serif,system-ui,sans-serif;

  --ink:#14161c; --ink-soft:#4a4c55;
  --paper:#faf8f3; --paper-raised:#ffffff; --paper-sunk:#f2efe6;
  --line:#e4ddcd; --line-strong:#d8cfb9; --muted:#726c5c;
  --shadow:0 1px 2px rgba(20,15,5,.05);
  --shadow-lift:0 20px 44px -20px rgba(20,15,5,.28);
  --on-primary:#fff; --on-accent:#fff;
  color-scheme:light;
}
html.dark{
  --ink:#efe9db; --ink-soft:#c6bfab;
  --paper:#111116; --paper-raised:#191a20; --paper-sunk:#0c0c10;
  --line:#2c2c33; --line-strong:#3a3a43; --muted:#9a9280;
  --shadow:0 1px 2px rgba(0,0,0,.4);
  --shadow-lift:0 24px 50px -20px rgba(0,0,0,.6);
  color-scheme:dark;
}
html.sepia{ --ink:#3a2f1f; --ink-soft:#5c4d36; --paper:#f4ecd8; --paper-raised:#faf3e3; --paper-sunk:#ece0c4; --line:#ddceac; --line-strong:#cdba8e; --muted:#7a6a4a; --accent:var(--sepia-accent); --accent-rgb:var(--sepia-accent-rgb); --on-accent:#1a150a; }
html.contrast{ --ink:#fff; --ink-soft:#fff; --paper:#000; --paper-raised:#0a0a0a; --paper-sunk:#111; --line:#555; --line-strong:#888; --muted:#ccc; --primary:#ffe600; --primary-rgb:255,230,0; --accent:#00ff00; --accent-rgb:0,255,0; --on-primary:#000; --on-accent:#000; color-scheme:dark; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background .25s ease, color .25s ease;
}
img{ max-width:100%; display:block; }
a{ color:var(--primary); text-decoration:none; transition:color .15s ease, opacity .15s ease; }
a:hover{ color:var(--accent); opacity:.85; }
a:focus-visible{ outline:2px solid var(--primary); outline-offset:2px; border-radius:2px; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,textarea,select{ font:inherit; color:inherit; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-heading); font-weight:600; letter-spacing:-.01em; line-height:1.15; }
p{ margin:0 0 1em; }
code{ font-family:ui-monospace,Menlo,monospace; }
::selection{ background:var(--primary); color:var(--on-primary); }
:focus-visible{ outline:2px solid var(--primary); outline-offset:3px; border-radius:2px; }
.shell{ width:min(100% - 2.75rem, 76rem); margin-inline:auto; }

/* ---------- Icon System (SVG) ---------- */
.icon{ display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.icon svg{ display:block; width:100%; height:100%; }
.icon-sm{ width:16px; height:16px; }
.icon-md{ width:20px; height:20px; }
.icon-lg{ width:24px; height:24px; }
.icon-xl{ width:32px; height:32px; }

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

/* ---------- reading progress ---------- */
.reading-progress{ height:3px; position:fixed; top:0; left:0; width:0; background:var(--primary); z-index:50; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:color-mix(in oklab, var(--paper) 86%, transparent);
  backdrop-filter:blur(12px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.nav{ height:4.5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand{ display:flex; align-items:center; gap:.6rem; min-width:0; }
.brand-mark{ width:32px; height:32px; flex-shrink:0; object-fit:contain; }
.brand-mark-text{
  display:grid; place-items:center; width:32px; height:32px; border-radius:50%;
  background:var(--primary); color:var(--on-primary); font-family:var(--font-heading); font-weight:600;
}
.brand-word{ font-family:var(--font-heading); font-weight:600; font-size:1.2rem; letter-spacing:-.01em; white-space:nowrap; }
.brand.light .brand-word{ color:var(--paper); }

.nav nav[data-nav]{ display:flex; gap:1.7rem; align-items:center; font-size:.87rem; }
.nav nav[data-nav] a{ color:var(--ink-soft); font-weight:600; position:relative; padding:.3rem 0; transition:color .18s ease; }
.nav nav[data-nav] a:hover{ color:var(--ink); }
.nav-cta{ display:inline-flex; align-items:center; gap:.35rem; border:1.5px solid var(--line-strong); border-radius:999px; padding:.5rem 1rem!important; }
.nav-cta:hover{ border-color:var(--primary); color:var(--primary); }
.lang-switch{ display:flex; gap:.3rem; font-size:.76rem; }
.lang-switch a{ opacity:.7; padding:.25rem .4rem; border:1px solid transparent; border-radius:var(--radius-s); font-weight:700; }
.lang-switch a.is-active{ opacity:1; border-color:var(--line-strong); }
.theme-toggle{ font-size:1.1rem; padding:.4rem; border-radius:999px; }
.theme-toggle:hover{ background:var(--paper-sunk); }
.nav-toggle{ display:none; flex-direction:column; gap:5px; padding:.5rem; }
.nav-toggle span{ width:20px; height:2px; background:var(--ink); display:block; border-radius:1px; }

@media (max-width:820px){
  .nav{ flex-wrap:wrap; height:auto; padding:.9rem 0; }
  .nav-toggle{ display:flex; }
  .nav nav[data-nav]{ display:none; flex-basis:100%; flex-direction:column; align-items:flex-start; gap:.9rem; padding-top:1rem; }
  .nav nav[data-nav].is-open{ display:flex; }
}

/* ---------- reading preferences panel ---------- */
.reading-prefs-panel{
  position:fixed; top:4.7rem; right:1rem; z-index:45; width:min(280px,calc(100% - 2rem));
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:1.1rem; box-shadow:var(--shadow-lift);
}
.prefs-row{ margin-top:.7rem; font-size:.82rem; }
.prefs-buttons{ display:flex; gap:.4rem; margin-top:.4rem; flex-wrap:wrap; }
.prefs-buttons button{ padding:.35rem .65rem; border:1px solid var(--line-strong); border-radius:var(--radius-s); font-size:.78rem; }
.prefs-buttons button.is-active{ background:var(--primary); color:var(--on-primary); border-color:var(--primary); }

/* ---------- ticker ---------- */
.ticker{ overflow:hidden; background:var(--ink); color:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ticker-track{ display:inline-flex; gap:2.8rem; padding:.7rem 0; white-space:nowrap; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; animation:ticker 32s linear infinite; }
.ticker-dot{ color:var(--accent); }
@keyframes ticker{ to{ transform:translateX(-50%); } }

/* ---------- kickers / badges / buttons ---------- */
.eyebrow{ display:block; font-size:.78rem; font-weight:700; color:var(--accent); text-transform:none; }
.badge{ display:inline-flex; align-items:center; padding:.3rem .7rem; border-radius:999px; font-size:.7rem; font-weight:700; background:var(--ink); color:var(--paper); }
.button,.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  height:2.6rem; padding:0 1.2rem; border-radius:999px; font-weight:600; font-size:.85rem;
  background:var(--primary); color:var(--on-primary); white-space:nowrap;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover{ transform:translateY(-1px); box-shadow:var(--shadow-lift); }
.button-quiet{ background:var(--paper-sunk); color:var(--ink); }
.button-quiet:hover{ background:var(--line); box-shadow:none; }
.link{ color:var(--primary); font-weight:600; font-size:.85rem; }
.link-button{ color:var(--primary); font-weight:600; font-size:.82rem; }

/* ---------- hero ---------- */
.hero{ padding:3.2rem 0 2.6rem; }
.hero-grid{ display:grid; gap:2.2rem; grid-template-columns:1fr; align-items:center; }
@media (min-width:960px){ .hero-grid{ grid-template-columns:1.05fr .95fr; } }
.hero h1{ margin-top:.6rem; font-size:clamp(2.1rem,4.6vw,3.4rem); line-height:1.04; max-width:22ch; }
.hero p{ margin-top:1rem; max-width:34rem; color:var(--muted); font-size:1.05rem; line-height:1.6; }
.hero .button{ margin-top:1.5rem; }
.hero-image{
  aspect-ratio:4/3; border-radius:var(--radius-l); overflow:hidden;
  background:linear-gradient(135deg, rgba(var(--primary-rgb),.9), rgba(var(--primary-rgb),.5) 60%, rgba(var(--accent-rgb),.35));
}
.hero-image img{ width:100%; height:100%; object-fit:cover; }
.reading-streak{ display:block; margin-top:.3rem; font-size:.78rem; font-weight:700; color:var(--accent); }
.recommended-banner{ margin-top:1.1rem; font-size:.84rem; background:var(--paper-sunk); padding:.7rem 1rem; border-radius:var(--radius-m); }
.recommended-banner a{ color:var(--primary); font-weight:600; }

/* ---------- sections / grids ---------- */
.section{ padding:3.8rem 0; }
.section-raised{ background:var(--paper-raised); }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; border-bottom:1px solid var(--line); padding-bottom:1rem; margin-bottom:1.8rem; flex-wrap:wrap; }
.section-head h2{ margin-top:.35rem; font-size:clamp(1.5rem,2.4vw,2rem); }

.cards{ display:grid; grid-template-columns:1fr; gap:1.4rem; }
@media (min-width:680px){ .cards{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:980px){ .cards{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1300px){ .cards{ grid-template-columns:repeat(4,1fr); } }

.card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-l);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease, border-color .25s ease;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); border-color:color-mix(in oklab, var(--primary) 30%, var(--line)); }
.card-image{
  aspect-ratio:16/10; overflow:hidden;
  background:linear-gradient(135deg, color-mix(in oklab, var(--primary) 55%, var(--paper-sunk)), color-mix(in oklab, var(--accent) 35%, var(--paper-sunk)));
}
.card-image img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.card:hover .card-image img{ transform:scale(1.05); }
.card-body{ padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.card-body h3{ font-size:1.15rem; line-height:1.25; }
.card-body h3 a:hover{ color:var(--primary); }
.card-body p{ font-size:.87rem; line-height:1.55; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.meta{ margin-top:auto; padding-top:.3rem; font-size:.78rem; color:var(--muted); }

/* Bento homepage layout: first card large, rest normal */
.bento-grid{ display:grid; grid-template-columns:1fr; gap:1.2rem; }
@media (min-width:760px){ .bento-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1080px){ .bento-grid{ grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; } }
.bento-grid .bento-large{ grid-column:span 1; }
@media (min-width:760px){ .bento-grid .bento-large{ grid-column:span 2; } }
@media (min-width:1080px){ .bento-grid .bento-large{ grid-column:span 2; grid-row:span 2; } .bento-grid .bento-large .card-image{ aspect-ratio:auto; height:100%; } }
/* Classic layout (admin toggle): plain even grid regardless of position */
.grid-classic .bento-grid{ grid-template-columns:1fr; }
@media (min-width:680px){ .grid-classic .bento-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:980px){ .grid-classic .bento-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1300px){ .grid-classic .bento-grid{ grid-template-columns:repeat(4,1fr); } }
.grid-classic .bento-grid .bento-large{ grid-column:span 1; grid-row:span 1; }
.grid-classic .bento-grid .bento-large .card-image{ aspect-ratio:16/10; height:auto; }

/* Two-column "latest" list */
.latest{ display:grid; grid-template-columns:1fr; gap:0; }
@media (min-width:760px){ .latest{ grid-template-columns:repeat(2,1fr); column-gap:2.8rem; } }
@media (min-width:1200px){ .latest{ grid-template-columns:repeat(3,1fr); column-gap:2rem; } }
.latest .card{ flex-direction:row; border-width:0 0 1px; border-radius:0; background:none; box-shadow:none!important; transform:none!important; padding:1.3rem 0; }
.latest .card-image{ width:9.5rem; flex-shrink:0; aspect-ratio:4/3; border-radius:var(--radius-m); }
.latest .card-body{ padding:0 0 0 1.1rem; gap:.35rem; }
.latest .card-body h3{ font-size:1rem; }
.latest .card-body p{ display:none; }
@media (min-width:1200px){
  .latest .card{ flex-direction:column; border-width:1px; border-radius:var(--radius-l); background:var(--paper-raised); box-shadow:var(--shadow)!important; padding:0; }
  .latest .card-image{ width:100%; aspect-ratio:16/10; border-radius:var(--radius-l) var(--radius-l) 0 0; }
  .latest .card-body{ padding:1.2rem 1.3rem 1.4rem; gap:.55rem; }
  .latest .card-body h3{ font-size:1.15rem; }
  .latest .card-body p{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}

/* Most popular rail */
.popular-rail{ display:flex; flex-direction:column; }
.popular-rail li{ display:flex; align-items:center; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.popular-rail .rank{ font-family:var(--font-heading); font-size:1.3rem; color:var(--primary); width:2rem; flex-shrink:0; }
.popular-rail a{ flex:1; font-weight:600; }
.popular-rail a:hover{ color:var(--primary); }
.popular-rail .meta{ white-space:nowrap; }

/* ---------- newsletter ---------- */
.newsletter{ background:var(--paper-sunk); border-radius:var(--radius-l); padding:3rem 2rem; text-align:center; }
.newsletter h2{ margin-top:.4rem; font-size:clamp(1.6rem,3vw,2.1rem); }
.newsletter p{ margin-top:.5rem; color:var(--muted); }
.newsletter-form{ display:flex; max-width:26rem; margin:1.4rem auto 0; gap:.6rem; }
.nl-input,.newsletter input[type=email]{ flex:1; border:1px solid var(--line-strong); border-radius:999px; padding:0 1.1rem; height:2.6rem; background:var(--paper-raised); }
[data-form-message]{ display:block; margin-top:.6rem; font-size:.8rem; color:var(--muted); }
@media (max-width:600px){ .newsletter-form{ flex-direction:column; } }

.capture-popup{
  position:fixed; right:1.4rem; bottom:1.4rem; width:min(380px,calc(100% - 2.8rem));
  padding:1.6rem; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-l);
  box-shadow:var(--shadow-lift); z-index:35;
  opacity:0; pointer-events:none; transform:translateY(20px); transition:.3s ease;
}
.capture-popup.is-open{ opacity:1; pointer-events:auto; transform:none; }
.capture-popup h2{ margin-top:.3rem; font-size:1.5rem; }
.capture-popup p{ margin-top:.4rem; color:var(--muted); font-size:.86rem; }
.popup-close{ position:absolute; right:.9rem; top:.7rem; font-size:1.2rem; color:var(--muted); }

/* ---------- ad slot ---------- */
.ad-slot{ min-height:90px; border:1px dashed var(--line-strong); display:grid; place-items:center; color:var(--muted); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; margin:1.8rem auto; border-radius:var(--radius-m); }

/* ---------- footer ---------- */
.footer{ background:var(--ink); color:color-mix(in oklab, var(--paper) 72%, transparent); padding:3.4rem 0 1.2rem; font-size:.88rem; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width:760px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr; } }
.footer-grid > div > small{ font-size:.7rem; letter-spacing:.08em; color:color-mix(in oklab, var(--paper) 45%, transparent); }
.footer-grid a{ display:block; margin:.55rem 0; color:color-mix(in oklab, var(--paper) 78%, transparent); }
.footer-grid a:hover{ color:var(--paper); }
.footer p{ margin-top:.7rem; color:color-mix(in oklab, var(--paper) 55%, transparent); max-width:22rem; }
.social-links{ display:flex; gap:.9rem; margin-top:.8rem; flex-wrap:wrap; }
.social-links a{ margin:0; font-size:.8rem; }
.copyright{ border-top:1px solid color-mix(in oklab, var(--paper) 14%, transparent); margin-top:2.4rem; padding-top:1.1rem; font-size:.76rem; color:color-mix(in oklab, var(--paper) 45%, transparent); }
.copyright a{ color:inherit; }

.whatsapp-float{
  position:fixed; right:1.3rem; bottom:5.4rem; width:52px; height:52px; border-radius:50%;
  background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 10px 25px rgba(0,0,0,.28); z-index:30;
}
@media (max-width:760px){ .whatsapp-float{ right:.9rem; bottom:5.2rem; width:46px; height:46px; } }

.cookie{
  position:fixed; left:1.4rem; bottom:1.4rem; width:min(440px,calc(100% - 2.8rem)); z-index:35;
  padding:1.1rem 1.3rem; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m);
  box-shadow:var(--shadow-lift); display:flex; gap:1.2rem; align-items:center; justify-content:space-between;
  transform:translateY(140%); transition:transform .4s ease; font-size:.85rem;
}
.cookie.is-visible{ transform:none; }
.cookie p{ margin-top:.3rem; color:var(--muted); }
.cookie-actions{ display:flex; gap:.6rem; flex-shrink:0; }
@media (max-width:600px){ .cookie{ left:.8rem; bottom:.8rem; flex-direction:column; align-items:stretch; } .cookie-actions .button{ flex:1; } }

/* ---------- article ---------- */
.article{ padding:3.4rem 0 4.5rem; }
.article-inner{ max-width:44rem; margin:auto; }
.article h1{ font-size:clamp(2.1rem,5vw,3rem); line-height:1.06; margin:.6rem 0 0; }
.article-lead{ margin-top:.9rem; font-size:1.2rem; color:var(--muted); line-height:1.5; }
.breadcrumbs{ font-size:.78rem; color:var(--muted); margin-bottom:.9rem; }
.breadcrumbs a{ color:var(--primary); }
.article-actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin:1.3rem 0; }
.article-actions button[aria-pressed=true]{ background:var(--primary); color:var(--on-primary); }
.article-feature{ margin:1.8rem 0; border-radius:var(--radius-l); overflow:hidden; aspect-ratio:16/9; background:var(--paper-sunk); }
.article-feature img{ width:100%; height:100%; object-fit:cover; }
.article-content{ font-size:1.12rem; line-height:1.8; margin-top:1.6rem; }
.article-content h2{ font-size:1.6rem; margin-top:2.2rem; }
.article-content h3{ font-size:1.25rem; margin-top:1.8rem; }
.article-content p{ margin:1.2rem 0; }
html[data-mp-size="sm"] .article-content{ font-size:.98rem; }
html[data-mp-size="lg"] .article-content{ font-size:1.28rem; }
html[data-mp-spacing="relaxed"] .article-content{ line-height:2.1; }

.toc{ background:var(--paper-sunk); border-radius:var(--radius-m); padding:1rem 1.3rem; margin:1.6rem 0; }
.toc-list{ margin-top:.5rem; }
.toc-list li{ padding:.25rem 0; }
.toc-list a{ color:var(--primary); }
.toc-sub{ padding-left:1rem!important; font-size:.92em; }

.glossary-term{ border-bottom:1.5px dotted var(--primary); cursor:help; position:relative; }
.glossary-term:hover::after,.glossary-term:focus::after{
  content:attr(data-tooltip); position:absolute; bottom:100%; left:0; margin-bottom:.4rem;
  background:var(--ink); color:var(--paper); padding:.6rem .8rem; border-radius:var(--radius-m);
  font-size:.78rem; line-height:1.4; width:15rem; z-index:20; box-shadow:var(--shadow-lift);
}
.quote-share-btn{ position:absolute; background:var(--ink); color:var(--paper); border-radius:999px; padding:.5rem .9rem; font-size:.78rem; z-index:25; }
.currency-widget{ margin:1.3rem 0; background:var(--paper-sunk); border-radius:var(--radius-m); padding:1rem 1.2rem; }
.currency-row{ display:flex; align-items:center; gap:.6rem; margin-top:.5rem; font-size:1rem; }
.currency-row input{ width:8rem; padding:.5rem; border:1px solid var(--line-strong); border-radius:var(--radius-s); background:var(--paper-raised); }

.author-strip{ background:var(--paper-sunk); padding:2rem 0; margin-top:2.5rem; }

body.focus-mode .site-header,body.focus-mode .ticker,body.focus-mode .footer,
body.focus-mode .whatsapp-float,body.focus-mode .ad-slot,body.focus-mode .cookie,
body.focus-mode .article-actions,body.focus-mode .capture-popup{ display:none!important; }
body.focus-mode .article-inner{ max-width:38rem; margin:3.5rem auto; }

/* ---------- High Contrast Mode Fixes ---------- */
html.contrast a{ color:var(--primary); text-decoration:underline; }
html.contrast a:hover{ color:var(--accent); }
html.contrast .breadcrumbs a{ color:var(--primary); }
html.contrast .article-lead{ color:var(--ink); }
html.contrast .meta{ color:var(--ink); }
html.contrast .card-body h3 a{ color:var(--ink); }
html.contrast .card-body h3 a:hover{ color:var(--accent); }
html.contrast .card-body p{ color:var(--ink); }
html.contrast .footer-grid a{ color:var(--ink); text-decoration:underline; }
html.contrast .footer-grid a:hover{ color:var(--accent); }
html.contrast .nav nav[data-nav] a{ color:var(--ink); text-decoration:underline; }
html.contrast .nav nav[data-nav] a:hover{ color:var(--accent); }
html.contrast .nav-cta{ border-color:var(--ink); color:var(--ink); }
html.contrast .nav-cta:hover{ border-color:var(--accent); color:var(--accent); }
html.contrast .eyebrow{ color:var(--accent); }
html.contrast .badge{ background:var(--accent); color:var(--paper); }
html.contrast .button{ background:var(--primary); color:var(--on-primary); border:2px solid var(--ink); }
html.contrast .button:hover{ background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
html.contrast .button-quiet{ background:var(--paper); color:var(--ink); border:2px solid var(--ink); }
html.contrast .button-quiet:hover{ background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
html.contrast .link{ color:var(--primary); text-decoration:underline; }
html.contrast .link:hover{ color:var(--accent); }
html.contrast .social-share-btn{ border:2px solid var(--ink); color:var(--ink); }
html.contrast .social-share-btn:hover{ background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
html.contrast .toc-list a{ color:var(--primary); text-decoration:underline; }
html.contrast .glossary-term{ border-bottom-color:var(--primary); }
html.contrast .glossary-term:hover::after{ background:var(--ink); color:var(--paper); border:2px solid var(--ink); }
html.contrast .ad-slot{ border:2px dashed var(--line-strong); color:var(--ink); }
html.contrast .cookie{ border:2px solid var(--ink); }
html.contrast .comment-form input, html.contrast .comment-form textarea{ border:2px solid var(--ink); background:var(--paper); color:var(--ink); }
html.contrast .search input{ border:2px solid var(--ink); background:var(--paper); color:var(--ink); }
html.contrast .newsletter input[type=email]{ border:2px solid var(--ink); background:var(--paper); color:var(--ink); }
html.contrast .directory a{ border:2px solid var(--ink); color:var(--ink); }
html.contrast .directory a:hover{ background:var(--primary); color:var(--on-primary); border-color:var(--primary); }
html.contrast .topic-chip{ border:2px solid var(--ink); color:var(--ink); }
html.contrast .topic-chip:hover{ border-color:var(--primary); color:var(--primary); }
html.contrast .whatsApp-float{ border:2px solid var(--ink); }
html.contrast .gallery-lightbox-close, html.contrast .gallery-lightbox-prev, html.contrast .gallery-lightbox-next{ border:2px solid var(--ink); }
html.contrast .admin-side a{ color:var(--ink); text-decoration:underline; }
html.contrast .admin-side a.is-active{ color:var(--accent); }
html.contrast .admin-table{ border:2px solid var(--ink); }
html.contrast .admin-table th, html.contrast .admin-table td{ border:1px solid var(--line-strong); }
html.contrast .admin-table th{ background:var(--paper-sunk); color:var(--ink); }
html.contrast .admin-panel{ border:2px solid var(--ink); }
html.contrast .admin-panel input{ border:2px solid var(--ink); background:var(--paper); color:var(--ink); }
html.contrast .post-form{ border:2px solid var(--ink); }
html.contrast .editor-btn{ border:2px solid transparent; }
html.contrast .editor-btn:hover{ background:var(--paper-sunk); border-color:var(--ink); }
html.contrast .admin-head{ border-bottom:2px solid var(--ink); }
html.contrast .theme-preview{ border:2px solid var(--ink); }
html.contrast .badge-preview{ background:var(--accent); color:var(--paper); border:2px solid var(--ink); }
html.contrast .tag-pill{ border:2px solid currentColor; }

/* ---------- comments ---------- */
.comments{ margin-top:3.2rem; border-top:1px solid var(--line); padding-top:2rem; }
.comment{ padding:1rem 0; border-bottom:1px solid var(--line); }
.comment .meta{ display:inline; margin-left:.6rem; }
.comment-tools{ display:flex; gap:1rem; margin-top:.4rem; }
.reply-form{ margin:.7rem 0 1rem; padding:1rem; background:var(--paper-sunk); border-radius:var(--radius-m); }
.comment-form input,.comment-form textarea{ width:100%; padding:.7rem; border:1px solid var(--line-strong); border-radius:var(--radius-s); margin-top:.3rem; background:var(--paper-raised); }
.comment-form p{ margin:.8rem 0; }
.comment-form label{ font-size:.85rem; font-weight:600; }
.comment-form button{ margin-top:.4rem; }

/* ---------- flash / errors ---------- */
.flash{ padding:.8rem 1rem; border-radius:var(--radius-m); font-size:.86rem; margin:1rem 0; }
.flash-success{ background:#e5f6ea; color:#1a7a3c; border:1px solid #b9e6c4; }
.flash-error{ background:#fbe7e7; color:#a4222c; border:1px solid #f3c3c6; }
.error{ color:#c0333c; font-size:.85rem; }

/* ---------- search / archive / static pages ---------- */
.search{ padding:3.4rem 0 4rem; }
.search h1{ margin-top:.4rem; font-size:clamp(1.9rem,4vw,2.6rem); }
.search form{ margin:1.4rem 0; }
.search input{ width:100%; padding:.9rem 1.1rem; border:1px solid var(--line-strong); border-radius:var(--radius-m); font-size:1rem; background:var(--paper-raised); }
.search .cards{ margin-top:1.6rem; }
.search .meta{ margin-top:.5rem; }

.briefing{ background:var(--ink); color:var(--paper); padding:3.4rem 0; border-radius:var(--radius-l); }
.brain-snack{ padding:1rem 1.3rem; border-left:4px solid var(--accent); background:color-mix(in oklab, var(--accent) 10%, var(--paper-sunk)); margin:1.6rem 0; font-weight:700; font-size:.9rem; border-radius:0 var(--radius-m) var(--radius-m) 0; }
.directory{ display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; }
@media (min-width:760px){ .directory{ grid-template-columns:repeat(4,1fr); } }
.directory a{ padding:1.1rem; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); font-weight:700; font-size:.85rem; transition:.2s; }
.directory a:hover{ background:var(--primary); color:var(--on-primary); border-color:var(--primary); transform:translateY(-2px); }
.topic-bar{ display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.topic-chip{ border:1px solid var(--line-strong); padding:.4rem .8rem; border-radius:999px; font-size:.78rem; color:var(--muted); transition:.2s; }
.topic-chip:hover{ border-color:var(--primary); color:var(--primary); }

/* ---------- reveal-on-load ---------- */
.reveal{ animation:rise .5s var(--reveal-delay,0ms) both; }
@keyframes rise{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* ---------- search overlay (kept for future use; header links to /blog/search today) ---------- */
.search-overlay{ position:fixed; inset:0; z-index:60; background:color-mix(in oklab, var(--paper) 96%, transparent); backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity .2s ease; }
.search-overlay.open{ opacity:1; pointer-events:auto; }

/* ---------- admin login screen (shares the public shell) ---------- */
.admin{ padding:3rem 0; }
.admin-panel{ max-width:26rem; margin:auto; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-l); padding:2rem; }
.admin-panel input{ width:100%; padding:.7rem; border:1px solid var(--line-strong); border-radius:var(--radius-s); margin-top:.3rem; background:var(--paper); }
.admin-panel label{ font-size:.85rem; font-weight:600; }
.admin-panel p{ margin:.9rem 0; }

/* ---------- article gallery/slider ---------- */
.article-gallery{ position:relative; border-radius:var(--radius-l); overflow:hidden; background:var(--paper-sunk); margin-bottom:1.5rem; }
.gallery-main{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.gallery-main img{ width:100%; height:100%; object-fit:cover; transition:opacity .3s ease; cursor:zoom-in; }
.gallery-main img.zoomed{ cursor:zoom-out; }
.gallery-thumbs{ display:flex; gap:8px; padding:10px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; background:var(--paper-raised); border-top:1px solid var(--line); }
.gallery-thumb{ flex:0 0 80px; height:60px; border-radius:var(--radius-s); overflow:hidden; border:2px solid transparent; cursor:pointer; scroll-snap-align:start; transition:border-color .2s, transform .2s; background:var(--paper-sunk); }
.gallery-thumb img{ width:100%; height:100%; object-fit:cover; }
.gallery-thumb:hover{ transform:scale(1.05); border-color:var(--accent); }
.gallery-thumb.active{ border-color:var(--primary); }
.gallery-nav{ position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; background:rgba(0,0,0,.5); color:#fff; border:none; font-size:1.5rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; z-index:10; }
.gallery-nav:hover{ background:rgba(0,0,0,.8); }
.gallery-nav.prev{ left:12px; }
.gallery-nav.next{ right:12px; }
@media (max-width:600px){ .gallery-nav{ width:32px; height:32px; font-size:1.2rem; } .gallery-nav.prev{ left:8px; } .gallery-nav.next{ right:8px; } }

/* Lightbox for zoom */
.gallery-lightbox{ position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.95); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.gallery-lightbox.open{ opacity:1; pointer-events:auto; }
.gallery-lightbox img{ max-width:90vw; max-height:90vh; object-fit:contain; transform:scale(0.9); transition:transform .3s ease; }
.gallery-lightbox.open img{ transform:scale(1); }
.gallery-lightbox-close{ position:absolute; top:20px; right:20px; width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.2); color:#fff; border:none; font-size:1.5rem; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.gallery-lightbox-prev,.gallery-lightbox-next{ position:absolute; top:50%; transform:translateY(-50%); width:60px; height:60px; border-radius:50%; background:rgba(255,255,255,.2); color:#fff; border:none; font-size:2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.gallery-lightbox-prev{ left:20px; }
.gallery-lightbox-next{ right:20px; }
@media (max-width:600px){ .gallery-lightbox-prev,.gallery-lightbox-next{ width:44px; height:44px; font-size:1.5rem; } .gallery-lightbox-prev{ left:10px; } .gallery-lightbox-next{ right:10px; } }

/* ---------- Social Share Section ---------- */
.social-share-section{ margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.social-share-section h3{ font-size:1.2rem; margin-bottom:1rem; color:var(--ink); }
.social-share-grid{ display:flex; flex-wrap:wrap; gap:8px; }
.social-share-btn{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; background:var(--paper-raised); border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:.85rem; font-weight:500; transition:all .2s ease; text-decoration:none; }
.social-share-btn:hover{ background:var(--primary); color:var(--on-primary); border-color:var(--primary); transform:translateY(-2px); box-shadow:var(--shadow-lift); }
.social-icon{ width:18px; height:18px; flex-shrink:0; }
.social-label{ font-weight:600; font-size:.8rem; }
@media (max-width:600px){ .social-share-grid{ justify-content:center; } .social-label{ display:none; } .social-share-btn{ padding:10px 12px; } }

/* ---------- Article Gallery Animations ---------- */
.gallery-main img{ transition:opacity .3s ease, transform .3s ease; }
.gallery-main img[style*="translateX"]{ transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .3s ease; }
.gallery-main img[style*="scale"]{ transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .3s ease; }

/* ---------- Print ---------- */
@media print{
  .site-header,.ticker,.footer,.whatsapp-float,.ad-slot,.cookie,.article-actions,
  .reading-prefs-panel,.capture-popup,.comments,.section-head ~ .cards,.toc{ display:none!important; }
  .article-inner{ max-width:100%; }
  body{ color:#000; }
}
