/* ==========================================================================
   THE CONVERGENCE OVERRIDE — Mission Archive
   Design system: signal-log / archive terminal
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

 :root{
  --bg:        #f6faff;
  --bg-raise:  #ffffff;
  --panel:     #ffffff;
  --panel-2:   #edf5ff;
  --line:      rgba(11,61,145,0.18);
  --line-soft: rgba(11,61,145,0.11);
  --ink:       #10213d;
  --ink-dim:   #405473;
  --ink-faint: #6f84a5;
  --amber:     #0b5ed7;
  --amber-br:  #073d91;
  --amber-dim: #2f80ed;
  --teal:      #1268b3;
  --alert:     #1f4fbf;

  --mono: 'Space Grotesk', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --serif: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --maxw: 1180px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--serif);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  z-index:2000;
  opacity:0.012;
  background-image:repeating-linear-gradient(0deg, #000 0px, #000 1px, transparent 1px, transparent 3px);
  mix-blend-mode:overlay;
}
a{ color:var(--amber); text-decoration:none; }
a:hover{ color:var(--amber-br); }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:var(--mono); font-weight:600; letter-spacing:0.01em; color:var(--ink); margin:0 0 0.6em; }
p{ margin:0 0 1.1em; color:var(--ink); }
.container{ max-width:var(--maxw); margin:0 inline-start auto; margin-inline:auto; padding:0 1.6rem; }

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

:focus-visible{ outline:2px solid var(--amber); outline-offset:3px; }

/* ── EYEBROW / LABELS ────────────────────────────────────────── */
.eyebrow{
  font-family:var(--mono);
  font-size:0.68rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--amber-dim);
  display:flex; align-items:center; gap:0.5rem;
  margin-bottom:0.9rem;
}
.eyebrow::before{
  content:"";
  width:7px; height:7px;
  background:var(--amber);
  display:inline-block;
  box-shadow:0 0 6px var(--amber);
}

/* ── TOP BAR ─────────────────────────────────────────────────── */
.topbar{
  border-bottom:1px solid var(--line);
  background:var(--bg-raise);
  position:sticky; top:0; z-index:500;
}
.topbar-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:0.9rem 1.6rem;
  max-width:var(--maxw); margin:0 auto;
  gap:1rem;
  flex-wrap:wrap;
}
.brand{
  font-family:var(--mono);
  font-weight:700;
  font-size:0.92rem;
  letter-spacing:0.05em;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  line-height:1.2;
}
.brand small{
  font-weight:400;
  font-size:0.62rem;
  letter-spacing:0.18em;
  color:var(--ink-faint);
  margin-top:2px;
}
nav.mainnav{
  display:flex; gap:1.4rem; flex-wrap:wrap;
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
nav.mainnav a{ color:var(--ink-dim); position:relative; padding:0.2rem 0; }
nav.mainnav a:hover, nav.mainnav a.active{ color:var(--amber); }
nav.mainnav a.active::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-6px;
  height:1px; background:var(--amber);
}
.navtoggle{ display:none; }

/* ── SIGNAL STRIP (signature element) ───────────────────────── */
.signal-strip{
  border-bottom:1px solid var(--line);
  background:var(--bg);
  overflow:hidden;
}
.signal-strip .container{ padding:0; max-width:var(--maxw); }
.signal-wrap{
  display:flex; align-items:center; gap:1rem;
  padding:0.45rem 1.6rem;
}
.signal-strip canvas{ flex:1; height:34px; display:block; }
.signal-label{
  font-family:var(--mono);
  font-size:0.62rem;
  letter-spacing:0.12em;
  color:var(--ink-faint);
  white-space:nowrap;
}
.signal-label b{ color:var(--amber-dim); font-weight:600; }

/* ── HERO ────────────────────────────────────────────────────── */
.hero{
  padding:5rem 0 4rem;
  border-bottom:1px solid var(--line-soft);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:3rem;
  align-items:center;
}
.hero h1{
  font-size:clamp(2.1rem, 4.2vw, 3.3rem);
  line-height:1.12;
  margin-bottom:0.9rem;
  text-transform:none;
}
.hero .lede{
  font-family:var(--serif);
  font-size:1.18rem;
  color:var(--ink-dim);
  max-width:52ch;
}
.hero-cover{
  border:1px solid var(--line);
  padding:0.5rem;
  background:var(--panel);
  position:relative;
}
.hero-cover img{ width:100%; }
.hero-cover .tag{
  position:absolute; top:-1px; right:-1px;
  background:var(--amber); color:var(--panel);
  font-family:var(--mono); font-size:0.6rem; font-weight:700;
  letter-spacing:0.1em;
  padding:0.35rem 0.6rem;
}
.cta-row{ display:flex; gap:0.9rem; margin-top:1.6rem; flex-wrap:wrap; }
.btn{
  font-family:var(--mono);
  font-size:0.76rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.85rem 1.4rem;
  border:1px solid var(--amber);
  color:var(--amber);
  background:transparent;
  display:inline-flex; align-items:center; gap:0.5rem;
  transition:background 0.15s, color 0.15s;
}
.btn:hover{ background:var(--amber); color:var(--panel); }
.btn.ghost{ border-color:var(--line); color:var(--ink-dim); }
.btn.ghost:hover{ background:var(--panel-2); color:var(--ink); }

/* ── SECTIONS / PANELS ──────────────────────────────────────── */
section{ padding:4rem 0; }
section.alt{ background:var(--bg-raise); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.section-head{ max-width:70ch; margin-bottom:2.4rem; }
.section-head h2{ font-size:1.5rem; }
.section-head p{ color:var(--ink-dim); }

.panel{
  background:var(--panel);
  border:1px solid var(--line-soft);
  padding:1.8rem 1.9rem;
  position:relative;
}
.panel::before{
  content:"";
  position:absolute; top:0; left:0;
  width:16px; height:16px;
  border-top:1px solid var(--amber-dim);
  border-left:1px solid var(--amber-dim);
}
.panel h3{ font-size:1.02rem; margin-bottom:0.7rem; }
.panel .stamp{
  font-family:var(--mono); font-size:0.62rem; letter-spacing:0.14em;
  color:var(--ink-faint); text-transform:uppercase; margin-bottom:0.6rem;
  display:block;
}

.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; }

/* ── ROSTER / CHARACTER CARDS ────────────────────────────────── */
.roster-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.roster-card{
  background:var(--panel);
  border:1px solid var(--line-soft);
  padding:1.4rem 1.4rem 1.5rem;
  display:block;
  transition:border-color 0.15s, transform 0.15s;
}
.roster-card:hover{ border-color:var(--amber-dim); transform:translateY(-2px); }
.roster-glyph{
  width:38px; height:38px;
  border:1px solid var(--amber-dim);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); color:var(--amber);
  margin-bottom:0.9rem;
  font-size:0.85rem;
}
.roster-card .rname{ font-family:var(--mono); color:var(--ink); font-size:0.95rem; font-weight:600; margin-bottom:0.2rem; }
.roster-card .rrole{ font-family:var(--mono); font-size:0.65rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--teal); margin-bottom:0.7rem; }
.roster-card .rrole.human{ color:var(--amber); }
.roster-card .rrole.ai{ color:var(--alert); }
.roster-card p{ color:var(--ink-dim); font-size:0.92rem; margin-bottom:0; }

/* ── DOSSIER (single character page) ─────────────────────────── */
.dossier-head{
  display:flex; gap:1.6rem; align-items:flex-start;
  padding-bottom:2rem; border-bottom:1px solid var(--line-soft);
  margin-bottom:2rem; flex-wrap:wrap;
}
.dossier-glyph{
  width:74px; height:74px;
  border:1px solid var(--amber-dim);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:1.8rem; color:var(--amber);
  flex-shrink:0;
}
.dossier-meta .eyebrow{ margin-bottom:0.3rem; }
.dossier-meta h1{ font-size:1.9rem; margin-bottom:0.4rem; }
.dossier-tags{ display:flex; gap:0.5rem; flex-wrap:wrap; }
.dtag{
  font-family:var(--mono); font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
  border:1px solid var(--line); padding:0.28rem 0.6rem; color:var(--ink-dim);
}
.dossier-body{ display:grid; grid-template-columns: 2fr 1fr; gap:2.4rem; }
.field{ margin-bottom:1.5rem; }
.field .flabel{ font-family:var(--mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber-dim); margin-bottom:0.4rem; display:block; }
.field-value{ color:var(--ink-dim); font-family:var(--mono); font-size:0.85rem; }

/* ── TIMELINE / GEO LIST ─────────────────────────────────────── */
.geo-item{
  display:grid; grid-template-columns: 280px 1fr;
  gap:1.8rem;
  padding:2.2rem 0; border-bottom:1px solid var(--line-soft);
}
.geo-item:last-child{ border-bottom:none; }
.geo-media{ width:100%; }
.geo-media img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border:1px solid var(--line); background:var(--panel-2);
}
.geo-credit{
  font-family:var(--mono); font-size:0.6rem; letter-spacing:0.04em;
  color:var(--ink-faint); margin-top:0.5rem; display:block;
}
.geo-name{ font-family:var(--mono); font-size:1rem; color:var(--amber); }
.geo-coord{ font-family:var(--mono); font-size:0.7rem; color:var(--ink-faint); margin-top:0.4rem; margin-bottom:1rem; }

/* ── QUOTE BLOCK ─────────────────────────────────────────────── */
.quoteblock{
  border-left:2px solid var(--amber-dim);
  padding-left:1.4rem;
  font-family:var(--serif);
  font-style:italic;
  color:var(--ink-dim);
  font-size:1.1rem;
  margin:1.6rem 0;
}

/* ── FOOTER ──────────────────────────────────────────────────── */
footer.sitefoot{
  border-top:4px solid #0B3D91;
  padding:3.4rem 0;
  background:#071B3A;
  color:#FFFFFF;
}
.foot-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:1.8rem; }
.foot-brand{ font-family:var(--mono); font-size:0.86rem; color:#FFFFFF; }
.foot-links{ display:flex; gap:1.4rem; flex-wrap:wrap; font-family:var(--mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; }
.foot-links a{ color:#D8E8FF; }
.foot-links a:hover{ color:#FFFFFF; }
.foot-fine{ font-family:var(--mono); font-size:0.62rem; color:#B9CBE8; margin-top:1.4rem; }

/* ── BLOG / MISSION LOG ──────────────────────────────────────── */
.post-list{ display:flex; flex-direction:column; gap:0; }
.post-card{
  display:block; padding:2rem 0; border-bottom:1px solid var(--line-soft);
}
.post-card:hover .post-title{ color:var(--amber-br); }
.post-card:last-child{ border-bottom:none; }
.post-meta{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:0.5rem; }
.post-title{ font-family:var(--mono); font-size:1.3rem; color:var(--ink); margin-bottom:0.6rem; transition:color 0.15s; }
.post-excerpt{ color:var(--ink-dim); max-width:70ch; margin-bottom:0; }

.post-body{ max-width:76ch; margin:0 auto; }
.post-body p{ font-size:1.05rem; line-height:1.75; }
.post-body h2{ font-size:1.35rem; margin-top:2.6rem; margin-bottom:0.9rem; }
.post-image{ margin:2.2rem 0; }
.post-image img{ width:100%; border:1px solid var(--line); background:var(--panel-2); }
.post-caption{
  display:block; font-family:var(--mono); font-size:0.72rem; color:var(--ink-faint);
  margin-top:0.6rem; line-height:1.5;
}
.post-faq dt{ font-family:var(--mono); font-weight:600; color:var(--ink); margin-top:1.4rem; }
.post-faq dd{ margin:0.4rem 0 0; color:var(--ink-dim); }
.post-hero-meta{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:1rem; }
.post-featured{ margin-bottom:2rem; }
.post-featured img{ width:100%; border:1px solid var(--line); display:block; }

.post-card{ display:flex; gap:1.4rem; align-items:flex-start; }
.post-card-thumb{ flex:0 0 200px; width:200px; }
.post-card-thumb img{ width:100%; border:1px solid var(--line-soft); display:block; }
.post-card-body{ flex:1; min-width:0; }


.article-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:1rem;
  align-items:stretch;
}
.article-nav-card{
  border:1px solid var(--line-soft);
  background:var(--panel);
  padding:1rem;
  text-decoration:none;
  min-height:100%;
}
.article-nav-card span{
  display:block;
  font-family:var(--mono);
  font-size:0.64rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:0.45rem;
}
.article-nav-card strong{
  display:block;
  color:var(--ink);
  font-family:var(--mono);
  font-size:0.9rem;
  line-height:1.35;
}
.article-nav-card:hover strong{ color:var(--amber-br); }
.article-nav-card.next{ text-align:right; }
.article-nav-card.muted{ opacity:0.85; }
.article-nav-home{ align-self:center; white-space:nowrap; }
@media (max-width:640px){
  .article-nav{ grid-template-columns:1fr; }
  .article-nav-card.next{ text-align:left; }
  .article-nav-home{ justify-self:start; }
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width:860px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-cover{ order:-1; max-width:280px; }
  .grid-3, .roster-grid{ grid-template-columns:repeat(2,1fr); }
  .grid-2{ grid-template-columns:1fr; }
  .dossier-body{ grid-template-columns:1fr; }
  .geo-item{ grid-template-columns:1fr; gap:0.4rem; }
}
@media (max-width:640px){
  nav.mainnav{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:var(--bg-raise); border-bottom:1px solid var(--line);
    flex-direction:column; padding:1rem 1.6rem; gap:1rem;
  }
  nav.mainnav.open{ display:flex; }
  .navtoggle{
    display:block; background:none; border:1px solid var(--line);
    color:var(--ink); font-family:var(--mono); font-size:0.7rem;
    padding:0.5rem 0.7rem; letter-spacing:0.08em;
  }
  .grid-3, .roster-grid{ grid-template-columns:1fr; }
  .topbar-row{ position:relative; }
  .post-card{ flex-direction:column; }
  .post-card-thumb{ width:100%; }
}


/* ── VISUAL REFRESH: cinematic archive layout ───────────────────────────── */
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(168,98,31,0.18), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(47,109,98,0.12), transparent 30rem),
    linear-gradient(180deg, #f8f1df 0%, var(--bg) 42%, #eee3cd 100%);
}
.topbar{
  backdrop-filter: blur(14px);
  background:rgba(236,227,207,0.88);
  box-shadow:0 8px 28px rgba(36,31,22,0.06);
}
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(115deg, rgba(244,239,226,0.96) 0%, rgba(244,239,226,0.86) 48%, rgba(36,31,22,0.20) 100%),
    url('cover.webp') right 8% center / min(44vw, 560px) auto no-repeat;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--amber-dim), transparent);
}
.hero h1{
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,0.5);
}
.hero .lede{ font-size:clamp(1.08rem, 1.7vw, 1.28rem); }
.hero-cover{
  box-shadow:0 30px 80px rgba(36,31,22,0.22);
  transform:rotate(1deg);
}
.hero-cover::after{
  content:"";
  position:absolute;
  inset:0.5rem;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.18);
}
.btn{
  border-radius:999px;
  box-shadow:0 10px 22px rgba(168,98,31,0.08);
}
.btn:not(.ghost){ background:var(--amber); color:var(--panel); }
.btn:not(.ghost):hover{ background:var(--amber-br); }
.panel,.roster-card,.article-nav-card{
  border-radius:18px;
  box-shadow:0 18px 44px rgba(36,31,22,0.08);
}
.panel:hover,.roster-card:hover,.post-card:hover{
  box-shadow:0 22px 58px rgba(36,31,22,0.12);
}
.grid-3 .panel:nth-child(2){ transform:translateY(14px); }
.grid-3 .panel:nth-child(3){ transform:translateY(28px); }
.archive-media{
  margin:-1.4rem -1.4rem 1rem;
  overflow:hidden;
  border-radius:18px 18px 0 0;
  border-bottom:1px solid var(--line-soft);
}
.archive-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  filter:saturate(0.92) contrast(1.04);
  transition:transform 0.25s ease;
}
.roster-card:hover .archive-media img{ transform:scale(1.04); }
.home-post-list,.blog-grid-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
}
.home-post-list .post-card,.blog-grid-list .post-card{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:22px;
  background:var(--panel);
  transition:transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.home-post-list .post-card:hover,.blog-grid-list .post-card:hover{
  transform:translateY(-5px);
  border-color:var(--amber-dim);
}
.home-post-list .post-card-thumb,.blog-grid-list .post-card-thumb{
  flex:0 0 auto;
  width:100%;
}
.home-post-list .post-card-thumb img,.blog-grid-list .post-card-thumb img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border:0;
  filter:saturate(0.9) contrast(1.05);
}
.home-post-list .post-card-body,.blog-grid-list .post-card-body{ padding:1.25rem; }
.home-post-list .post-title,.blog-grid-list .post-title{ font-size:1.03rem; line-height:1.35; }
.home-post-list .post-excerpt,.blog-grid-list .post-excerpt{ font-size:0.95rem; }
section.alt{
  background:
    linear-gradient(180deg, rgba(236,227,207,0.92), rgba(241,233,214,0.82)),
    radial-gradient(circle at 100% 0%, rgba(47,109,98,0.10), transparent 25rem);
}
.section-head h2{ font-size:clamp(1.45rem, 2.2vw, 2rem); line-height:1.2; }
.post-featured img,.post-image img,.geo-media img{
  border-radius:18px;
  box-shadow:0 18px 50px rgba(36,31,22,0.12);
}
.post-body{
  background:rgba(251,248,240,0.48);
  border:1px solid rgba(45,36,20,0.06);
  padding:2rem;
  border-radius:24px;
}
.sitefoot{ box-shadow:inset 0 1px 0 rgba(255,255,255,0.45); }
@media (max-width:980px){
  .home-post-list,.blog-grid-list{ grid-template-columns:1fr; }
  .grid-3 .panel:nth-child(2),.grid-3 .panel:nth-child(3){ transform:none; }
  .hero{ background:linear-gradient(180deg, rgba(244,239,226,0.98), rgba(244,239,226,0.9)); }
}


/* Premium white/blue visual refresh */
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(47,128,237,0.12), transparent 32rem),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 42%, #ffffff 100%);
}
.topbar{
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px);
  box-shadow:0 10px 32px rgba(16,33,61,0.06);
}
.brand{color:var(--amber-br);}
.brand small{color:var(--ink-faint);}
nav.mainnav a{font-weight:700;}
.signal-strip{background:linear-gradient(90deg,#eef6ff,#ffffff);}
.hero{padding:6.5rem 0 5.5rem;}
.hero h1{font-weight:700; letter-spacing:-0.035em; color:#071b3a;}
.hero .lede{font-size:1.15rem; line-height:1.85;}
.hero-cover,.panel,.roster-card,.post-card,.post-article,.article-nav-card{
  border-radius:24px;
  box-shadow:0 18px 50px rgba(16,33,61,0.08);
}
.hero-cover{padding:0.65rem; transform:rotate(1deg);}
.hero-cover img,.archive-media,.post-card-thumb,.post-image img{border-radius:18px; overflow:hidden;}
.hero-cover .tag{border-radius:0 22px 0 16px; background:linear-gradient(135deg,var(--amber),var(--amber-br));}
.btn{
  border-radius:999px;
  background:var(--amber);
  color:#fff;
  border-color:var(--amber);
  box-shadow:0 10px 24px rgba(11,94,215,0.18);
}
.btn:hover{background:var(--amber-br); color:#fff; transform:translateY(-1px);}
.btn.ghost{background:#fff; color:var(--amber-br); border-color:rgba(11,61,145,0.2); box-shadow:none;}
section.alt{background:linear-gradient(180deg,#f6faff,#edf5ff);}
.eyebrow{color:var(--amber-br); font-weight:700;}
.eyebrow::before{background:var(--amber-dim); box-shadow:0 0 12px rgba(47,128,237,.45); border-radius:50%;}
h1,h2,h3,h4{letter-spacing:-0.02em;}
.section-head h2{font-size:clamp(1.65rem,2.5vw,2.25rem);}
.post-card{overflow:hidden;}
.home-post-list .post-card:hover,.blog-grid-list .post-card:hover,.roster-card:hover{transform:translateY(-5px); box-shadow:0 24px 60px rgba(16,33,61,0.13);}
.post-card-thumb img,.archive-media img{transition:transform .25s ease;}
.post-card:hover .post-card-thumb img,.roster-card:hover .archive-media img{transform:scale(1.035);}
.post-title{color:#071b3a;}
.post-meta,.stamp{color:var(--amber-br);}
.sitefoot{background:#071b3a; color:#dce9ff;}
.sitefoot a,.foot-fine{color:#b9c9e6;}
.foot-brand{color:#ffffff;}
.post-hero{background:linear-gradient(180deg,#ffffff,#f6faff); border-bottom:1px solid var(--line-soft);}
.post-hero h1{max-width:980px; letter-spacing:-0.035em;}
.post-featured{display:none !important;}

/* ========================================================================== 
   PROFESSIONAL WHITE + DEEP BLUE REIMAGINE
   Keeps existing content, SEO, URLs, and assets intact.
   ========================================================================== */
:root{
  --bg:#ffffff;
  --bg-raise:#ffffff;
  --panel:#ffffff;
  --panel-2:#eef5ff;
  --line:rgba(7,27,58,.16);
  --line-soft:rgba(7,27,58,.10);
  --ink:#071b3a;
  --ink-dim:#334867;
  --ink-faint:#667b9a;
  --amber:#0b3d91;
  --amber-br:#062a66;
  --amber-dim:#1d4ed8;
  --teal:#0b5ed7;
  --alert:#1d4ed8;
  --maxw:1240px;
}
html{background:#071b3a;}
body{
  background:
    linear-gradient(180deg,#ffffff 0%,#f7fbff 48%,#ffffff 100%);
  color:var(--ink);
  font-size:16.5px;
}
body::before{display:none;}
.container{max-width:var(--maxw); padding-inline:clamp(1.25rem,3vw,2.5rem);}
h1,h2,h3,h4,.brand,.post-title,.rname,.foot-brand,.btn,nav.mainnav,.eyebrow,.stamp,.post-meta{font-family:'Space Grotesk','Inter',system-ui,sans-serif;}
h1,h2,h3,h4{color:#071b3a; letter-spacing:-.045em; font-weight:700;}
p{color:#263b5b;}
a{color:#0b3d91;}
a:hover{color:#062a66;}

/* Header: crisp, premium, not template-like */
.topbar{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(11,61,145,.16);
  box-shadow:0 14px 35px rgba(7,27,58,.07);
}
.topbar-row{padding:1rem clamp(1.25rem,3vw,2.5rem);}
.brand{font-size:.95rem; letter-spacing:.065em; color:#071b3a;}
.brand small{color:#0b3d91; font-weight:700; letter-spacing:.16em;}
nav.mainnav{gap:1.15rem; align-items:center; font-size:.68rem;}
nav.mainnav a{color:#304664; font-weight:700;}
nav.mainnav a:hover,nav.mainnav a.active{color:#0b3d91;}
nav.mainnav a.active::after{height:2px; bottom:-10px; background:#0b3d91;}
nav.mainnav .btn{margin-left:.2rem; padding:.62rem 1rem !important; color:#fff; background:#0b3d91; border-color:#0b3d91; box-shadow:0 10px 22px rgba(11,61,145,.20);}
nav.mainnav .btn:hover{background:#062a66; color:#fff;}
.signal-strip{display:none;}

/* Hero: publisher-grade launch panel */
.hero{
  position:relative;
  padding:clamp(4.5rem,8vw,7.5rem) 0 clamp(4rem,7vw,6.5rem);
  border-bottom:1px solid rgba(7,27,58,.08);
  background:
    radial-gradient(circle at 88% 16%, rgba(29,78,216,.20), transparent 28rem),
    linear-gradient(135deg,#ffffff 0%,#f4f8ff 52%,#dfeeff 100%);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#071b3a,#0b3d91,#1d4ed8);
}
.hero::after{
  content:"";
  position:absolute;
  right:-10vw; bottom:-24vw;
  width:52vw; height:52vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(11,61,145,.16),rgba(11,61,145,.06) 42%,transparent 70%);
  pointer-events:none;
}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr); gap:clamp(2.5rem,5vw,5rem); position:relative; z-index:1;}
.hero h1{font-size:clamp(2.7rem,5.2vw,5.25rem); line-height:.98; max-width:11ch; margin-bottom:1.25rem; color:#071b3a;}
.hero .lede{font-size:clamp(1.05rem,1.45vw,1.22rem); line-height:1.85; color:#263b5b; max-width:61ch;}
.eyebrow{font-size:.72rem; color:#0b3d91; font-weight:800; letter-spacing:.18em;}
.eyebrow::before{width:28px; height:2px; border-radius:999px; background:#0b3d91; box-shadow:none;}
.cta-row{margin-top:2rem; gap:1rem;}
.btn{border-radius:12px; padding:.92rem 1.35rem; font-size:.74rem; font-weight:800; letter-spacing:.08em; background:#0b3d91; border-color:#0b3d91; color:#fff; box-shadow:0 14px 28px rgba(11,61,145,.20); transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;}
.btn:hover{background:#062a66; color:#fff; transform:translateY(-2px); box-shadow:0 18px 36px rgba(11,61,145,.24);}
.btn.ghost{background:#fff; color:#0b3d91; border-color:rgba(11,61,145,.22); box-shadow:0 10px 22px rgba(7,27,58,.06);}
.btn.ghost:hover{background:#eef5ff; color:#062a66;}
.hero-cover{border:0; border-radius:26px; padding:.75rem; background:#fff; box-shadow:0 30px 80px rgba(7,27,58,.22); transform:none;}
.hero-cover img{border-radius:20px; box-shadow:0 1px 0 rgba(255,255,255,.6) inset;}
.hero-cover .tag{top:1rem; right:1rem; border-radius:999px; background:#071b3a; color:#fff; padding:.45rem .75rem;}

/* Sections: editorial rhythm */
section{padding:clamp(4rem,7vw,6.25rem) 0; background:#fff;}
section.alt{background:linear-gradient(180deg,#f6faff,#eef5ff); border-block:1px solid rgba(7,27,58,.08);}
.section-head{max-width:820px; margin-bottom:2.6rem;}
.section-head h2{font-size:clamp(1.9rem,3vw,3rem); line-height:1.05; margin-bottom:1rem;}
.section-head p{font-size:1.03rem; line-height:1.8; color:#334867;}
.grid-3,.grid-2{gap:1.55rem;}
.panel,.roster-card,.article-nav-card{
  border:1px solid rgba(7,27,58,.10);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 55px rgba(7,27,58,.08);
}
.panel{padding:2rem;}
.panel::before{width:100%; height:5px; border:0; background:linear-gradient(90deg,#071b3a,#0b3d91,#1d4ed8); border-radius:24px 24px 0 0;}
.panel h3{font-size:1.2rem;}
.panel .stamp,.post-meta{color:#0b3d91; font-weight:800;}
.grid-3 .panel:nth-child(2),.grid-3 .panel:nth-child(3){transform:none;}

/* Archive cards */
.roster-card{padding:1.35rem; overflow:hidden;}
.archive-media{margin:-1.35rem -1.35rem 1.25rem; border-radius:24px 24px 0 0;}
.archive-media img{aspect-ratio:16/10; filter:saturate(1.08) contrast(1.04);}
.roster-glyph{border:0; background:#eef5ff; color:#0b3d91; border-radius:12px; font-weight:800;}
.roster-card .rname{font-size:1.08rem; color:#071b3a;}
.roster-card .rrole,.roster-card .rrole.human,.roster-card .rrole.ai{color:#0b3d91; font-weight:800;}
.roster-card:hover,.home-post-list .post-card:hover,.blog-grid-list .post-card:hover{transform:translateY(-6px); box-shadow:0 28px 75px rgba(7,27,58,.14); border-color:rgba(11,61,145,.28);}

/* Journal cards: magazine-like */
.home-post-list,.blog-grid-list{gap:1.55rem;}
.home-post-list .post-card,.blog-grid-list .post-card{
  border-radius:26px;
  border:1px solid rgba(7,27,58,.10);
  box-shadow:0 18px 55px rgba(7,27,58,.08);
  background:#fff;
}
.home-post-list .post-card-thumb img,.blog-grid-list .post-card-thumb img{aspect-ratio:16/10; filter:saturate(1.08) contrast(1.04);}
.home-post-list .post-card-body,.blog-grid-list .post-card-body{padding:1.45rem;}
.home-post-list .post-title,.blog-grid-list .post-title{font-size:1.15rem; line-height:1.25; color:#071b3a;}
.home-post-list .post-excerpt,.blog-grid-list .post-excerpt{font-size:.96rem; line-height:1.7; color:#405474;}

/* Article pages */
.post-hero{background:linear-gradient(135deg,#ffffff,#eef5ff); border-bottom:1px solid rgba(7,27,58,.08);}
.post-hero h1{font-size:clamp(2.25rem,4.6vw,4.6rem); line-height:1.02; color:#071b3a; max-width:1050px;}
.post-hero-meta{font-weight:800; color:#0b3d91;}
.post-body{max-width:820px; padding:clamp(1.4rem,3vw,2.8rem); background:#fff; border:1px solid rgba(7,27,58,.08); border-radius:28px; box-shadow:0 22px 70px rgba(7,27,58,.08);}
.post-body p{font-size:1.07rem; line-height:1.86; color:#263b5b;}
.post-body h2{font-size:clamp(1.55rem,2.5vw,2.15rem); line-height:1.15; color:#071b3a; margin-top:3rem;}
.post-image img,.geo-media img{border:0; border-radius:22px; box-shadow:0 18px 50px rgba(7,27,58,.14);}
.post-caption,.geo-credit{color:#667b9a;}
.post-featured{display:none !important;}
.article-nav{max-width:900px; margin-inline:auto;}
.article-nav-card{padding:1.25rem;}
.article-nav-card strong{font-size:1rem; color:#071b3a;}
.article-nav-home{align-self:center;}

/* Geography/media lists */
.geo-item{border-bottom:1px solid rgba(7,27,58,.10); gap:2rem;}
.geo-name{font-size:1.2rem; color:#071b3a; font-weight:800;}
.geo-coord{color:#0b3d91; font-weight:700;}

/* Footer: visible, authoritative, with Buy the Book as CTA */
footer.sitefoot{
  margin-top:0;
  padding:clamp(3rem,6vw,5rem) 0 3rem;
  background:
    radial-gradient(circle at 85% 10%, rgba(29,78,216,.28), transparent 30rem),
    linear-gradient(135deg,#05152f 0%,#071b3a 48%,#0b3d91 100%);
  border-top:0;
  color:#fff;
  box-shadow:none;
}
.foot-grid{align-items:flex-start; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.16);}
.foot-brand{font-size:1.05rem; color:#fff; letter-spacing:.08em;}
.foot-fine{color:#c9d8f0; font-size:.72rem; line-height:1.65;}
.foot-links{gap:.7rem; justify-content:flex-end; max-width:680px;}
.foot-links a{color:#dce9ff; border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:.55rem .82rem; background:rgba(255,255,255,.06);}
.foot-links a:hover{background:rgba(255,255,255,.14); color:#fff;}
.foot-links a[href*="amazon.com"]{background:#fff; color:#071b3a; border-color:#fff; font-weight:900;}
.foot-links a[href*="amazon.com"]:hover{background:#dfeeff; color:#062a66;}

/* Mobile */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{max-width:13ch;}
  .hero-cover{max-width:380px; order:-1;}
  .home-post-list,.blog-grid-list{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .topbar-row{padding:.9rem 1.1rem;}
  .brand{font-size:.82rem;}
  .brand small{font-size:.55rem;}
  nav.mainnav{background:#fff; box-shadow:0 24px 42px rgba(7,27,58,.14);}
  .navtoggle{border-color:rgba(11,61,145,.22); color:#0b3d91; border-radius:10px; font-weight:800;}
  .hero{padding:3.5rem 0 3.25rem;}
  .hero h1{font-size:2.55rem; max-width:100%;}
  section{padding:3.25rem 0;}
  .foot-links{justify-content:flex-start;}
}

/* ========================================================================== 
   HOMEPAGE REIMAGINE — premium editorial author site
   ========================================================================== */
.home-premium{
  background:#ffffff;
}
.home-premium .topbar{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(7,27,58,.12);
}
.premium-hero{
  position:relative;
  min-height:calc(100vh - 74px);
  display:flex;
  align-items:center;
  padding:clamp(4.5rem,7vw,7rem) 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 42%, rgba(238,245,255,.82) 100%),
    radial-gradient(circle at 74% 46%, rgba(11,61,145,.22), transparent 27rem),
    linear-gradient(135deg,#ffffff 0%,#eef5ff 100%);
  overflow:hidden;
}
.premium-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(7,27,58,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,27,58,.045) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent,black 22%,black 72%,transparent);
  pointer-events:none;
}
.premium-hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#0b3d91,transparent);
}
.premium-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(320px,.78fr);
  gap:clamp(3rem,6vw,6rem);
  align-items:center;
}
.premium-copy h1{
  font-size:clamp(3.2rem,6.8vw,7.6rem);
  line-height:.88;
  letter-spacing:-.075em;
  max-width:10.8ch;
  margin-bottom:1.5rem;
}
.premium-copy .lede{
  max-width:62ch;
  font-size:clamp(1.07rem,1.45vw,1.28rem);
  line-height:1.92;
  color:#273d5e;
}
.premium-text-link{
  display:inline-flex;
  align-items:center;
  color:#071b3a;
  font-family:'Space Grotesk','Inter',system-ui,sans-serif;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.76rem;
  border-bottom:2px solid #0b3d91;
  padding:.86rem .1rem .28rem;
}
.premium-text-link:hover{color:#0b3d91;}
.premium-cover-wrap{
  position:relative;
  max-width:460px;
  margin-inline:auto;
}
.premium-cover-wrap::before{
  content:"";
  position:absolute;
  inset:8% -14% -8% 16%;
  background:linear-gradient(135deg,#071b3a,#0b3d91,#1d4ed8);
  border-radius:34px;
  transform:rotate(-4deg);
  box-shadow:0 34px 95px rgba(7,27,58,.24);
}
.premium-cover-card{
  position:relative;
  border-radius:30px;
  background:#fff;
  padding:.72rem;
  box-shadow:0 30px 95px rgba(7,27,58,.28);
}
.premium-cover-card img{
  width:100%;
  border-radius:23px;
}
.premium-note-card{
  position:absolute;
  left:-52px;
  bottom:44px;
  width:min(260px,72%);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(11,61,145,.16);
  border-radius:20px;
  padding:1rem 1.1rem;
  box-shadow:0 18px 50px rgba(7,27,58,.18);
  backdrop-filter:blur(14px);
}
.premium-note-card span{
  display:block;
  color:#0b3d91;
  font-family:'Space Grotesk','Inter',system-ui,sans-serif;
  font-weight:900;
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:.35rem;
}
.premium-note-card strong{
  display:block;
  color:#071b3a;
  font-family:'Space Grotesk','Inter',system-ui,sans-serif;
  font-size:1.08rem;
  line-height:1.2;
}
.premium-intro{
  background:#fff;
  padding:clamp(4rem,7vw,6.5rem) 0;
}
.intro-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.section-kicker{
  position:sticky;
  top:110px;
}
.section-kicker h2,.wide-head h2{
  font-size:clamp(2.2rem,4vw,4.35rem);
  line-height:.98;
  letter-spacing:-.07em;
}
.intro-copy{
  border-left:1px solid rgba(7,27,58,.14);
  padding-left:clamp(1.5rem,3vw,3rem);
}
.intro-copy p{
  font-size:1.08rem;
  line-height:1.92;
  color:#263b5b;
}
.premium-threads{
  padding:0 0 clamp(4rem,7vw,6.5rem);
  background:#fff;
}
.thread-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
}
.thread-panel{
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-radius:28px;
  box-shadow:none;
  background:#f7fbff;
}
.thread-panel.featured-thread{
  background:linear-gradient(135deg,#071b3a,#0b3d91);
  transform:translateY(-28px);
}
.thread-panel.featured-thread h3,
.thread-panel.featured-thread p,
.thread-panel.featured-thread .stamp{color:#fff;}
.thread-panel.featured-thread::before{background:rgba(255,255,255,.5);}
.premium-archive-section{
  background:
    linear-gradient(180deg,#f6faff 0%,#eef5ff 100%);
  border-block:1px solid rgba(7,27,58,.08);
}
.wide-head{
  max-width:980px;
}
.premium-archive-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  grid-template-rows:auto auto;
  gap:1.35rem;
}
.premium-archive-card.large{
  grid-row:span 2;
}
.premium-archive-card{
  min-height:100%;
}
.premium-archive-card.large .archive-media img{
  aspect-ratio:4/5;
  object-position:center;
}
.premium-archive-card:not(.large) .archive-media img{
  aspect-ratio:21/9;
}
.premium-journal-section{
  background:#fff;
}
.premium-journal-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:1fr 1fr;
  gap:1.35rem;
}
.premium-journal-grid .post-card{
  border:1px solid rgba(7,27,58,.10);
  border-radius:30px;
  padding:0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 60px rgba(7,27,58,.08);
}
.premium-journal-grid .post-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 80px rgba(7,27,58,.14);
}
.premium-journal-grid .journal-feature{
  grid-row:span 2;
}
.premium-journal-grid .post-card-thumb{
  width:100%;
  flex:0 0 auto;
}
.premium-journal-grid .post-card-thumb img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border:0;
}
.premium-journal-grid .journal-feature .post-card-thumb img{
  aspect-ratio:16/12;
}
.premium-journal-grid .post-card-body{
  padding:1.45rem;
}
.premium-journal-grid .journal-feature .post-card-body{
  padding:1.8rem;
}
.premium-journal-grid .journal-feature .post-title{
  font-size:clamp(1.6rem,2.4vw,2.35rem);
  line-height:1.05;
  letter-spacing:-.045em;
}
.premium-book-two{
  background:linear-gradient(135deg,#071b3a,#0b3d91);
  color:#fff;
  padding:clamp(3rem,6vw,5rem) 0;
}
.book-two-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
}
.book-two-card h2,
.book-two-card p,
.book-two-card .eyebrow{color:#fff;}
.book-two-card h2{
  font-size:clamp(2rem,3.5vw,3.5rem);
  line-height:1;
}
.book-two-card p{max-width:760px; color:#dbe9ff;}
.book-two-card .btn.ghost{
  background:#fff;
  color:#071b3a;
  flex-shrink:0;
}
.home-premium footer.sitefoot{
  background:#05152f;
}
@media (max-width:980px){
  .premium-hero{min-height:auto;}
  .premium-hero-grid,.intro-grid,.premium-archive-grid,.premium-journal-grid{grid-template-columns:1fr;}
  .premium-copy h1{max-width:11.5ch;}
  .premium-cover-wrap{max-width:360px; order:-1;}
  .premium-note-card{left:-18px; bottom:24px;}
  .section-kicker{position:static;}
  .intro-copy{border-left:0; padding-left:0;}
  .thread-grid{grid-template-columns:1fr;}
  .thread-panel,.thread-panel.featured-thread{min-height:auto; transform:none;}
  .premium-archive-card.large{grid-row:auto;}
  .premium-archive-card.large .archive-media img{aspect-ratio:16/10;}
  .premium-journal-grid .journal-feature{grid-row:auto;}
  .premium-journal-grid .journal-feature .post-card-thumb img{aspect-ratio:16/9;}
  .book-two-card{align-items:flex-start; flex-direction:column;}
}
@media (max-width:640px){
  .premium-copy h1{font-size:3rem; max-width:100%;}
  .premium-cover-wrap{max-width:300px;}
  .premium-note-card{position:relative; left:auto; bottom:auto; margin:-1.25rem auto 0; width:88%;}
  .section-kicker h2,.wide-head h2{font-size:2.35rem;}
  .premium-journal-grid .journal-feature .post-title{font-size:1.45rem;}
}


/* === FINAL PREMIUM BLUE SYSTEM — applied across site === */
:root{
  --bg:#ffffff;
  --bg-raise:#ffffff;
  --panel:#ffffff;
  --panel-2:#f1f6ff;
  --line:rgba(7,27,58,.16);
  --line-soft:rgba(7,27,58,.10);
  --ink:#071b3a;
  --ink-dim:#334766;
  --ink-faint:#71809a;
  --amber:#0b3d91;
  --amber-br:#071b3a;
  --amber-dim:#1d4ed8;
  --teal:#0b5ed7;
  --alert:#0b3d91;
  --maxw:1220px;
}
html{background:#fff;}
body{background:#fff;color:var(--ink);font-size:17px;line-height:1.72;}
body::before{display:none!important;}
.container{max-width:1220px;padding-left:clamp(1.25rem,3vw,2rem);padding-right:clamp(1.25rem,3vw,2rem);}
.topbar{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,27,58,.12);box-shadow:0 12px 34px rgba(7,27,58,.06);}
.topbar-row{padding:1rem 1.6rem;}
.brand{font-weight:800;color:#0b3d91;letter-spacing:.08em;}
.brand small{color:#5e6f8d;letter-spacing:.14em;}
nav.mainnav{gap:1.18rem;align-items:center;}
nav.mainnav a{color:#16294a;font-weight:700;}
nav.mainnav a:hover,nav.mainnav a.active{color:#0b3d91;}
nav.mainnav a.active::after{height:2px;bottom:-9px;background:#0b3d91;}
.btn, nav.mainnav .btn{background:#0b3d91!important;color:#fff!important;border:1px solid #0b3d91!important;border-radius:10px;box-shadow:0 10px 24px rgba(11,61,145,.18);font-weight:800;}
.btn:hover, nav.mainnav .btn:hover{background:#071b3a!important;border-color:#071b3a!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 16px 34px rgba(7,27,58,.24);}
.btn.ghost{background:#fff!important;color:#0b3d91!important;border-color:rgba(11,61,145,.34)!important;box-shadow:none;}
.btn.ghost:hover{background:#f1f6ff!important;color:#071b3a!important;border-color:#0b3d91!important;}
.eyebrow{color:#0b3d91;font-weight:800;letter-spacing:.14em;}
.eyebrow::before{background:#0b3d91;box-shadow:none;}
h1,h2,h3,.post-title,.rname{color:#071b3a;letter-spacing:-.015em;}
.section-head{margin-bottom:1.35rem;}
.section-head h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08;}
.section-head p{max-width:62ch;color:#425571;}
.premium-hero{background:linear-gradient(110deg,#071b3a 0%,#0b3d91 42%,#edf5ff 42.2%,#ffffff 100%);border-bottom:1px solid rgba(7,27,58,.1);padding:clamp(3rem,6vw,5.6rem) 0;}
.premium-hero-grid{grid-template-columns:minmax(0,1fr) 430px;gap:clamp(2rem,5vw,5rem);align-items:center;}
.premium-copy h1{color:#fff!important;font-size:clamp(2.3rem,5vw,4.55rem);line-height:.98;letter-spacing:-.045em;max-width:780px;}
.premium-copy .lede{color:#eaf2ff;font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:58ch;}
.premium-copy .eyebrow{color:#7db7ff;}
.premium-copy .premium-text-link{color:#fff;font-weight:800;}
.premium-cover-wrap{justify-self:center;}
.premium-cover-card{background:#fff;border:0;border-radius:22px;box-shadow:0 30px 90px rgba(7,27,58,.28);padding:.8rem;transform:rotate(.6deg);}
.premium-cover-card img{border-radius:16px;}
.premium-note-card{border-radius:18px;background:#071b3a;color:#fff;box-shadow:0 20px 50px rgba(7,27,58,.20);}
.premium-note-card span{color:#9bc7ff;}
.premium-note-card strong{color:#fff;}
.premium-intro{padding:clamp(3rem,5vw,5rem) 0;background:#fff;}
.intro-grid{gap:clamp(2rem,6vw,5rem);align-items:start;}
.intro-copy{background:#f5f8ff;border:1px solid rgba(7,27,58,.10);border-radius:24px;padding:clamp(1.4rem,3vw,2.4rem);}
.premium-threads{background:#071b3a;padding:clamp(2.8rem,5vw,4.5rem) 0;}
.thread-panel{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);box-shadow:none;border-radius:22px;}
.thread-panel h3,.thread-panel p,.thread-panel .stamp{color:#fff;}
.thread-panel p{color:#dbeafe;}
.thread-panel.featured-thread{background:#0b3d91;border-color:rgba(255,255,255,.22);}
.premium-archive-section{background:#f4f8ff;padding:clamp(3rem,5vw,4.8rem) 0;}
.premium-archive-grid{gap:1.25rem;}
.roster-card,.post-card,.panel{border-radius:22px;border:1px solid rgba(7,27,58,.10);box-shadow:0 18px 48px rgba(7,27,58,.08);background:#fff;}
.roster-card:hover,.post-card:hover{transform:translateY(-4px);box-shadow:0 30px 70px rgba(7,27,58,.14);border-color:rgba(11,61,145,.28);}
.archive-media{border-radius:22px 22px 0 0!important;}
.archive-media img,.post-card-thumb img{border:0!important;object-fit:cover;}
.premium-archive-card.no-media{background:linear-gradient(135deg,#071b3a 0%,#0b3d91 62%,#1d4ed8 100%);}
.premium-journal-section{background:#fff;padding:clamp(2.6rem,4vw,3.8rem) 0!important;}
.premium-journal-section .section-head{margin-bottom:1.15rem!important;}
.premium-journal-section .section-head h2{margin-bottom:.35rem;}
.premium-journal-section .section-head p{margin-bottom:0;}
.premium-journal-grid,.blog-grid-list,.home-post-list{gap:1.15rem!important;}
.premium-journal-grid .post-card,.blog-grid-list .post-card,.home-post-list .post-card{border-radius:22px;overflow:hidden;min-height:100%;}
.premium-journal-grid .post-card-thumb,.blog-grid-list .post-card-thumb,.home-post-list .post-card-thumb{margin:0;border-radius:22px 22px 0 0;background:#dbeafe;}
.premium-journal-grid .post-card-thumb img,.blog-grid-list .post-card-thumb img,.home-post-list .post-card-thumb img{aspect-ratio:16/9!important;width:100%;height:auto;border-radius:0!important;filter:saturate(1.06) contrast(1.03);}
.premium-journal-grid .post-card-body,.blog-grid-list .post-card-body,.home-post-list .post-card-body{padding:1.25rem 1.25rem 1.4rem!important;}
.post-meta{color:#0b3d91!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;}
.post-title{font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.16;font-weight:800;}
.post-excerpt{color:#465a77;}
.blog-grid-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));}
.blog-grid-list .post-card{display:flex;flex-direction:column;}
.blog-grid-list .post-card-body{flex:1;}
.hero{background:linear-gradient(180deg,#f4f8ff 0,#fff 100%);padding:clamp(2.8rem,5vw,4.5rem) 0!important;border-bottom:1px solid rgba(7,27,58,.1);}
.hero h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.04em;}
.signal-strip{display:none!important;}
main.post{max-width:900px!important;margin:0 auto;padding-top:clamp(2rem,4vw,3.5rem)!important;}
.post-header{border-bottom:1px solid rgba(7,27,58,.12);margin-bottom:2rem;padding-bottom:1.4rem;}
.post-header h1{font-size:clamp(2.2rem,4.8vw,4rem);line-height:1.02;letter-spacing:-.045em;}
.post-content{font-size:1.08rem;line-height:1.85;}
.post-content h2{font-size:clamp(1.55rem,3vw,2.2rem);margin-top:2.5rem;}
.post-image img,.geo-media img{border-radius:24px!important;box-shadow:0 24px 64px rgba(7,27,58,.14)!important;}
.post-nav{border-top:1px solid rgba(7,27,58,.12);margin-top:3rem;padding-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.post-nav a{background:#f4f8ff;border:1px solid rgba(7,27,58,.10);border-radius:18px;padding:1.15rem;color:#071b3a;font-weight:800;}
.post-nav a:hover{background:#0b3d91;color:#fff;}
.sitefoot{background:#071b3a!important;color:#fff;border-top:0!important;padding:clamp(3rem,5vw,4.5rem) 0 2rem!important;margin-top:0;}
.sitefoot .foot-brand{color:#fff;font-weight:900;font-size:1.05rem;letter-spacing:.08em;}
.sitefoot .foot-fine{color:#c9d8f2!important;}
.sitefoot .foot-links{gap:.7rem 1rem;}
.sitefoot a{color:#dbeafe!important;font-weight:800;}
.sitefoot a:first-child{background:#fff;color:#0b3d91!important;border-radius:999px;padding:.55rem .95rem;}
.sitefoot a:hover{color:#fff!important;}
.sitefoot a:first-child:hover{background:#dbeafe;color:#071b3a!important;}
@media (max-width:900px){
  .premium-hero{background:linear-gradient(180deg,#071b3a 0%,#0b3d91 62%,#f4f8ff 62.2%,#fff 100%);}
  .premium-hero-grid,.intro-grid,.premium-archive-grid,.premium-journal-grid,.blog-grid-list{grid-template-columns:1fr!important;}
  .premium-cover-wrap{justify-self:start;max-width:360px;}
  nav.mainnav{width:100%;}
  .post-nav{grid-template-columns:1fr;}
}

/* ==========================================================================
   STABILITY PATCH — simplified, verified hero / cover / footer / nav
   This section intentionally overrides earlier rules above. It removes
   the mask-image grid overlay and absolutely-positioned note card (both
   fragile across browsers) in favor of simpler, robust equivalents, and
   gives the mobile menu toggle one unambiguous, guaranteed-correct rule.
   ========================================================================== */

/* Hero: solid background, no diagonal split, no pseudo-element overlays */
.premium-hero{
  background:linear-gradient(135deg,#071b3a 0%,#0b3d91 100%)!important;
  min-height:auto!important;
}
.post-featured{
  display:block!important;
  margin:1.6rem 0 2.2rem!important;
}
.post-featured img{
  width:100%!important;
  border-radius:14px!important;
  box-shadow:0 18px 50px rgba(7,27,58,.16)!important;
  border:0!important;
}
.premium-hero::before,
.premium-hero::after{
  content:none!important;
  display:none!important;
}
.premium-hero-grid{ position:relative; z-index:1; }

/* Book cover: 3D book mockup with visible spine and page edge */
.premium-cover-wrap{
  position:relative;
  max-width:400px;
  margin-inline:auto;
  padding-right:18px;
}
.premium-cover-wrap::before{ content:none!important; display:none!important; }
.premium-cover-card{
  position:relative;
  border-radius:3px 8px 8px 3px;
  background:none;
  padding:0;
  box-shadow:
    0 40px 70px rgba(7,27,58,.35),
    0 10px 24px rgba(7,27,58,.22);
  transform:rotate(-2.5deg);
  transform-origin:bottom left;
}
.premium-cover-card img{
  width:100%;
  border-radius:3px 8px 8px 3px;
  display:block;
  position:relative;
  z-index:2;
}
/* Spine shading on the left edge, for depth */
.premium-cover-card::before{
  content:"";
  position:absolute;
  top:0; left:0; bottom:0; width:16px;
  background:linear-gradient(to right, rgba(0,0,0,.45), transparent);
  border-radius:3px 0 0 3px;
  z-index:3;
}
/* Page edge on the right side, simulating stacked paper */
.premium-cover-card::after{
  content:"";
  position:absolute;
  top:2.5%; right:-14px; bottom:2.5%;
  width:14px;
  background:repeating-linear-gradient(
    to bottom,
    #f6f2e4 0px, #f6f2e4 2px,
    #ddd7c2 2px, #ddd7c2 3px
  );
  border-radius:0 6px 6px 0;
  transform:skewY(8deg);
  transform-origin:top left;
  box-shadow:2px 0 6px rgba(0,0,0,.18);
  z-index:1;
}
.premium-note-card{
  position:static!important;
  left:auto!important; bottom:auto!important;
  width:auto!important;
  max-width:340px;
  margin:1.1rem auto 0!important;
  background:#071b3a;
  border:0;
  border-radius:14px;
  padding:.9rem 1.1rem;
  box-shadow:0 14px 34px rgba(7,27,58,.20);
  backdrop-filter:none!important;
  text-align:left;
}
.premium-note-card span{ color:#9bc7ff!important; }
.premium-note-card strong{ color:#fff!important; }

/* Article body links: make them unmistakably clickable, distinct from
   surrounding paragraph text (color alone was too close before) */
.post-body a{
  color:#0b5ed7!important;
  text-decoration:underline!important;
  text-decoration-color:rgba(11,94,215,.45)!important;
  text-underline-offset:2px!important;
  font-weight:600!important;
}
.post-body a:hover{
  color:#071b3a!important;
  text-decoration-color:currentColor!important;
}
.post-body a[target="_blank"]::after{
  content:" ↗";
  font-size:0.8em;
  font-weight:400;
}
footer.sitefoot,
.sitefoot{
  background:#071b3a!important;
  color:#eaf2ff!important;
  border-top:0!important;
}
.sitefoot .foot-brand{ color:#ffffff!important; }
.sitefoot .foot-fine{ color:#c9d8f2!important; }
.sitefoot .foot-links a{ color:#dbeafe!important; }
.sitefoot .foot-links a:hover{ color:#ffffff!important; }
.sitefoot .foot-links a[href*="amazon.com"]{ background:#ffffff!important; color:#071b3a!important; }

/* Explore the Archive: simple, equal three-column grid, no spanning blocks */
.premium-archive-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:none!important;
  gap:1.3rem!important;
}
.premium-archive-card.large{ grid-row:auto!important; }
.premium-archive-card{ min-height:0!important; }

/* Dark "no-media" archive cards: force readable light text, no exceptions */
.premium-archive-card.no-media,
.roster-card.no-media{
  background:linear-gradient(135deg,#071b3a 0%,#0b3d91 100%)!important;
  color:#eaf2ff!important;
}
.premium-archive-card.no-media .rname,
.roster-card.no-media .rname{ color:#ffffff!important; }
.premium-archive-card.no-media .rrole,
.premium-archive-card.no-media .rrole.human,
.premium-archive-card.no-media .rrole.ai,
.roster-card.no-media .rrole{ color:#9bc7ff!important; }
.premium-archive-card.no-media p,
.roster-card.no-media p{ color:#dbeafe!important; }

/* Thread panels (The Discovery / The Signal / The Question): panels 1 and 3
   sit on a light background and need dark text; only the featured middle
   panel (dark blue background) needs light text. */
.thread-panel .stamp,
.thread-panel h3,
.thread-panel p{
  color:#0b3d91!important;
}
.thread-panel p{ color:#334766!important; }
.thread-panel.featured-thread .stamp,
.thread-panel.featured-thread h3,
.thread-panel.featured-thread p{
  color:#ffffff!important;
}
.thread-panel.featured-thread p{ color:#d7e6ff!important; }

/* Journal grid on the homepage: remove the row-spanning "feature card"
   layout, which was causing card bodies to be clipped/hidden when row
   heights were computed from mismatched content. Simple equal grid instead. */
.premium-journal-grid{
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:none!important;
}
.premium-journal-grid .journal-feature{
  grid-row:auto!important;
  grid-column:auto!important;
}
.premium-journal-grid .post-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  overflow:visible!important;
}
.premium-journal-grid .post-card-thumb img{
  aspect-ratio:16/10!important;
}
.premium-journal-grid .journal-feature .post-card-thumb img{
  aspect-ratio:16/10!important;
}
.premium-journal-grid .journal-feature .post-title{
  font-size:1.15rem!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
}
.premium-journal-grid .post-card-body,
.premium-journal-grid .journal-feature .post-card-body{
  padding:1.25rem!important;
}

/* Mobile menu toggle: single guaranteed-correct rule set */
@media (max-width:640px){
  nav.mainnav{ display:none!important; }
  nav.mainnav.open{ display:flex!important; flex-direction:column!important; }
  .navtoggle{ display:block!important; }
}
@media (min-width:641px){
  nav.mainnav{ display:flex!important; }
  .navtoggle{ display:none!important; }
}
