:root {
  color: #10203b;
  background: #f6f9ff;
  font: 16px/1.7 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --blue: #0866ff;
  --blue-dark: #064fc4;
  --ink-soft: #58677d;
  --line: #dce6f5;
  --card: #fff;
  --shadow: 0 22px 60px rgba(30, 81, 150, .12);
}

/* Ranked and comparison article details */
.publication-page .editorial-prose h3 {
  margin: 2rem 0 .7rem;
  color: var(--pub-ink);
  font: 750 clamp(1.15rem, 2vw, 1.42rem)/1.25 Inter, system-ui, sans-serif;
  letter-spacing: -.018em;
}

.publication-page .article-sources {
  margin: 3rem 0 1rem;
  padding: 1.35rem 1.45rem;
  border: 1px solid #cfe0ff;
  border-radius: 14px;
  background: linear-gradient(145deg, #f7faff, #eef5ff);
  font-family: Inter, system-ui, sans-serif;
}

.publication-page .article-sources > strong {
  display: block;
  margin-bottom: .35rem;
  color: #071b47;
  font-size: 1rem;
}

.publication-page .article-sources p {
  margin: 0 0 .9rem;
  color: #51617d;
  font: .9rem/1.55 Inter, system-ui, sans-serif;
}

.publication-page .article-sources ul {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.publication-page .article-sources a {
  display: inline-flex;
  padding: .48rem .72rem;
  border: 1px solid #b9d2ff;
  border-radius: 999px;
  background: #fff;
  color: #075de7;
  font: 700 .82rem/1 Inter, system-ui, sans-serif;
  text-decoration: none;
}

.publication-page .article-sources a:hover {
  border-color: #075de7;
  box-shadow: 0 5px 16px rgba(7, 93, 231, .12);
}

/* Covers for legacy article URLs: keep otherwise-simple pages visually complete. */
.legacy-article-hero {
  margin: 2rem 0 2.4rem;
}

.legacy-article-hero img {
  display: block;
  width: 100%;
  max-height: 33rem;
  object-fit: cover;
  border-radius: 1.25rem;
}

.legacy-article-hero figcaption {
  margin-top: .65rem;
  color: var(--ink-muted, #617086);
  font-size: .92rem;
}

/* Editorial journal homepage — deliberately scoped so article pages keep their
   established long-form reading layout. */
.blog-library-page.editorial-home {
  --news-paper: #f7f4ed;
  --news-ink: #111111;
  --news-muted: #5d5a54;
  --news-line: #b9b4aa;
  --news-accent: #075fd8;
  min-width: 0;
  margin: 0;
  color: var(--news-ink);
  background: var(--news-paper);
  font-family: Arial, Helvetica, sans-serif;
}
.editorial-home *, .editorial-home *::before, .editorial-home *::after { box-sizing: border-box; }
.editorial-home a { color: inherit; }
.editorial-home .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.news-skip-link { position: fixed; z-index: 100; left: 18px; top: -60px; padding: 10px 14px; color: #fff !important; background: #111; text-decoration: none; }
.news-skip-link:focus { top: 14px; }
.news-header { border-bottom: 4px double var(--news-ink); background: var(--news-paper); }
.news-utility, .news-masthead, .news-primary-nav, .editorial-home .library-main, .news-footer { width: calc(100% - clamp(48px, 5vw, 128px)); max-width: none; margin-inline: auto; }
.news-utility { min-height: 42px; display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; border-bottom: 1px solid var(--news-line); color: var(--news-muted); font-size: .72rem; font-weight: 700; letter-spacing: .025em; }
.news-utility a { color: var(--news-ink); text-decoration: none; }
.news-utility a:last-child { color: var(--news-accent); }
.news-masthead { min-height: 146px; display: grid; place-items: center; align-content: center; gap: 5px; text-align: center; }
.news-masthead > a { display: inline-flex; align-items: center; gap: 14px; color: var(--news-ink); text-decoration: none; }
.news-masthead img { width: 46px; height: 46px; }
.news-masthead span { font: 700 clamp(2.9rem, 5.4vw, 5.6rem)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
.news-masthead p { margin: 7px 0 0; color: var(--news-muted); font: italic .9rem/1.4 Georgia, "Times New Roman", serif; }
.news-primary-nav { min-height: 42px; display: flex; justify-content: center; gap: clamp(20px, 4vw, 52px); align-items: center; border-top: 1px solid var(--news-ink); }
.news-primary-nav a { color: #26231f; font-size: .75rem; font-weight: 800; text-decoration: none; }
.news-primary-nav a:hover, .news-primary-nav a:focus-visible { color: var(--news-accent); }
.editorial-home .library-main { padding: 0 0 86px; }
.news-edition { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 44px; align-items: end; padding: 66px 0 38px; border-bottom: 1px solid var(--news-ink); }
.news-edition > span { grid-column: 1 / -1; color: var(--news-accent); font-size: .68rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.news-edition h1 { margin: 0; color: var(--news-ink); font: 700 clamp(3.7rem, 8vw, 8.8rem)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.065em; }
.news-edition p { margin: 0 0 4px; color: #403d38; font: 1.15rem/1.55 Georgia, "Times New Roman", serif; }
.news-lead { display: grid; grid-template-columns: minmax(250px, .82fr) minmax(420px, 1.38fr) minmax(220px, .6fr); align-items: stretch; padding: 28px 0; border-bottom: 4px double var(--news-ink); }
.news-lead-copy { padding: 4px 28px 4px 0; border-right: 1px solid var(--news-line); }
.news-lead-copy > span, .news-briefing > span, .news-discovery > div > span, .news-reference-strip > div > span { color: var(--news-accent); font-size: .66rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.news-lead-copy h2 { margin: 13px 0 14px; font: 700 clamp(2.15rem, 3.45vw, 4.25rem)/.97 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.news-lead-copy h2 a { text-decoration: none; }
.news-lead-copy h2 a:hover { color: var(--news-accent); }
.news-lead-copy > p { margin: 0; color: #3f3d39; font: 1.02rem/1.55 Georgia, "Times New Roman", serif; }
.news-byline { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 22px; color: var(--news-muted); font-size: .7rem; }
.news-byline b { color: var(--news-ink); }
.news-lead-image { display: block; min-width: 0; padding: 0 28px; border-right: 1px solid var(--news-line); }
.news-lead-image img { width: 100%; height: 100%; min-height: 460px; max-height: 620px; display: block; object-fit: cover; filter: saturate(.9) contrast(1.02); }
.news-briefing { display: grid; align-content: start; padding-left: 28px; }
.news-briefing > a { display: grid; gap: 8px; padding: 19px 0; border-bottom: 1px solid var(--news-line); text-decoration: none; }
.news-briefing > a:last-child { border-bottom: 0; }
.news-briefing small { color: var(--news-accent); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.news-briefing strong { font: 700 1.08rem/1.18 Georgia, "Times New Roman", serif; }
.news-briefing a:hover strong { color: var(--news-accent); }
.news-discovery { display: grid; grid-template-columns: 1fr minmax(260px, 390px); gap: 40px; align-items: end; padding: 34px 0 20px; border-bottom: 2px solid var(--news-ink); }
.news-discovery h1, .news-discovery h2 { margin: 0; font: 700 clamp(2rem, 3.3vw, 3.8rem)/1 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.editorial-home .library-search { display: block; margin: 0; padding: 0; border: 0; background: transparent; }
.editorial-home .library-search input { width: 100%; min-height: 43px; padding: 0 2px; border: 0; border-bottom: 1px solid var(--news-ink); border-radius: 0; color: var(--news-ink); background: transparent; font: 1rem/1.2 Georgia, "Times New Roman", serif; }
.editorial-home .library-search input:focus-visible { outline: 2px solid var(--news-accent); outline-offset: 4px; }
.editorial-home .library-filter { display: flex; flex-wrap: nowrap; gap: 22px; margin: 0; padding: 13px 0; overflow-x: auto; border-bottom: 1px solid var(--news-line); scrollbar-width: thin; }
.editorial-home .library-filter button { flex: 0 0 auto; padding: 4px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #47433d; background: transparent; font-size: .7rem; font-weight: 800; white-space: nowrap; cursor: pointer; }
.editorial-home .library-filter button:hover { transform: none; color: var(--news-accent); border-color: #9fbde8; }
.editorial-home .library-filter button.is-active { color: var(--news-accent); border-color: var(--news-accent); background: transparent; }
.editorial-home .library-empty { margin: 22px 0 0; padding: 18px 0; border-bottom: 1px solid var(--news-line); color: var(--news-muted); font-family: Georgia, "Times New Roman", serif; }
.editorial-home .library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding-top: 0; }
.editorial-home .library-card, .editorial-home .library-card-featured { min-width: 0; display: flex; flex-direction: column; gap: 0; padding: 22px 24px 32px; border: 0; border-right: 1px solid var(--news-line); border-bottom: 1px solid var(--news-line); border-radius: 0; background: transparent; box-shadow: none; }
.editorial-home .library-card:nth-child(3n) { border-right: 0; }
.editorial-home .library-card-featured { grid-column: span 2; display: grid; grid-template-columns: minmax(240px, 1.05fr) minmax(220px, .95fr); gap: 26px; }
.editorial-home .library-card[hidden] { display: none !important; }
.editorial-home .library-card-visual, .editorial-home .library-card-featured .library-card-visual { width: 100%; min-height: 220px; display: block; padding: 0; overflow: hidden; border-radius: 0; background: #dedbd4; }
.editorial-home .library-card-featured .library-card-visual { min-height: 350px; }
.editorial-home .library-card-visual img, .editorial-home .library-card-visual.library-card-photo img { width: 100%; height: 100%; min-height: inherit; display: block; object-fit: cover; transition: filter .2s ease; }
.editorial-home .library-card:hover .library-card-visual img { transform: none; filter: saturate(1.04) contrast(1.02); }
.editorial-home .library-card-copy { min-width: 0; display: flex; flex: 1; flex-direction: column; padding: 17px 0 0; }
.editorial-home .library-card-featured .library-card-copy { padding-top: 0; }
.editorial-home .library-card-copy .guide-tag { display: block; margin: 0 0 9px; color: var(--news-accent); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.editorial-home .library-card-copy h2 { display: -webkit-box; margin: 0 0 11px; overflow: hidden; font: 700 clamp(1.35rem, 2.1vw, 2.2rem)/1.07 Georgia, "Times New Roman", serif; letter-spacing: -.028em; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.editorial-home .library-card-featured .library-card-copy h2 { font-size: clamp(2rem, 3vw, 3.3rem); }
.editorial-home .library-card-copy h2 a { color: var(--news-ink); text-decoration: none; }
.editorial-home .library-card-copy h2 a:hover { color: var(--news-accent); }
.editorial-home .library-card-copy > p { display: -webkit-box; margin: 0; overflow: hidden; color: #4c4944; font: .92rem/1.55 Georgia, "Times New Roman", serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.editorial-home .library-card-meta, .editorial-home .library-card-link { margin-top: auto; padding-top: 18px; color: var(--news-muted); font-size: .68rem; font-weight: 700; text-decoration: none; }
.editorial-home .library-card-meta { display: flex; justify-content: space-between; gap: 14px; }
.editorial-home .library-card-link { color: var(--news-accent); }
.editorial-home .library-archive { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); gap: 55px; margin: 72px 0 0; padding: 34px 0; border-top: 4px double var(--news-ink); border-bottom: 1px solid var(--news-ink); background: transparent; }
.editorial-home .library-archive > div:first-child span { color: var(--news-accent); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.editorial-home .library-archive h2 { margin: 11px 0 0; font: 700 clamp(2rem, 3.2vw, 3.5rem)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.editorial-home .library-archive-list { display: grid; }
.editorial-home .library-archive-list a { display: grid; grid-template-columns: 115px 1fr auto; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--news-line); text-decoration: none; }
.editorial-home .library-archive-list a:last-child { border-bottom: 0; }
.editorial-home .library-archive-list span { color: var(--news-accent); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.editorial-home .library-archive-list strong { font: 700 .98rem/1.25 Georgia, "Times New Roman", serif; }
.editorial-home .library-archive-list i { color: var(--news-accent); font-style: normal; }
.news-reference-strip { display: grid; grid-template-columns: minmax(220px, .65fr) repeat(2, minmax(230px, 1fr)); gap: 34px; margin-top: 64px; padding: 32px 0; border-top: 1px solid var(--news-ink); border-bottom: 4px double var(--news-ink); }
.news-reference-strip h2 { margin: 9px 0 0; font: 700 1.65rem/1.05 Georgia, "Times New Roman", serif; }
.news-reference-strip > a { display: grid; gap: 7px; padding-left: 26px; border-left: 1px solid var(--news-line); text-decoration: none; }
.news-reference-strip small { color: var(--news-accent); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.news-reference-strip strong { font: 700 1.15rem/1.2 Georgia, "Times New Roman", serif; }
.news-reference-strip > a > span { margin-top: 8px; color: var(--news-accent); font-size: .7rem; font-weight: 800; }
.news-footer { display: grid; grid-template-columns: 1fr auto auto; gap: 38px; align-items: center; padding: 34px 0 48px; color: var(--news-muted); font-size: .7rem; }
.news-footer > div > a { display: inline-flex; gap: 9px; align-items: center; color: var(--news-ink); text-decoration: none; }
.news-footer > div p { margin: 5px 0 0; }
.news-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.news-footer nav a { text-decoration: none; }
.news-footer nav a:hover { color: var(--news-accent); }
/* Uniform article tiles prevent the former, oversized featured card from
   breaking the reading rhythm. The only framing left is a light editorial
   divider, rather than a stack of nested boxes. */
.editorial-home .library-card-featured { grid-column: auto; display: flex; gap: 0; }
.editorial-home .library-card-featured .library-card-visual { min-height: 220px; }
.editorial-home .library-card-featured .library-card-copy { padding-top: 17px; }
.editorial-home .library-card-featured .library-card-copy h2 { font-size: clamp(1.35rem, 2.1vw, 2.2rem); }
@media (min-width: 1500px) {
  .editorial-home .library-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .editorial-home .library-card:nth-child(3n) { border-right: 1px solid var(--news-line); }
  .editorial-home .library-card:nth-child(4n) { border-right: 0; }
}
@media (max-width: 1050px) {
  .news-lead { grid-template-columns: minmax(250px, .8fr) minmax(400px, 1.2fr); }
  .news-briefing { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding: 25px 0 0; margin-top: 25px; border-top: 1px solid var(--news-line); }
  .news-briefing > span { grid-column: 1 / -1; }
  .news-briefing > a { padding: 0 18px 0 0; border-right: 1px solid var(--news-line); border-bottom: 0; }
  .news-briefing > a:last-child { border-right: 0; }
  .editorial-home .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-home .library-card:nth-child(3n) { border-right: 1px solid var(--news-line); }
  .editorial-home .library-card:nth-child(2n) { border-right: 0; }
}
@media (max-width: 760px) {
  .news-utility, .news-masthead, .news-primary-nav, .editorial-home .library-main, .news-footer { width: min(100% - 28px, 680px); }
  .news-utility { grid-template-columns: 1fr auto; gap: 14px; }
  .news-utility time { display: none; }
  .news-masthead { min-height: 112px; }
  .news-masthead img { width: 36px; height: 36px; }
  .news-masthead span { font-size: clamp(2.35rem, 11vw, 4.4rem); }
  .news-primary-nav { justify-content: flex-start; gap: 24px; overflow-x: auto; }
  .news-primary-nav a { flex: 0 0 auto; }
  .news-edition { grid-template-columns: 1fr; gap: 18px; padding: 44px 0 28px; }
  .news-edition h1 { font-size: clamp(3.6rem, 18vw, 6.2rem); }
  .news-edition p { font-size: 1rem; }
  .news-lead { grid-template-columns: 1fr; padding-top: 20px; }
  .news-lead-image { grid-row: 1; padding: 0 0 20px; border-right: 0; border-bottom: 1px solid var(--news-line); }
  .news-lead-image img { min-height: 300px; max-height: 470px; }
  .news-lead-copy { grid-row: 2; padding: 22px 0; border-right: 0; }
  .news-briefing { grid-template-columns: 1fr; gap: 0; }
  .news-briefing > a { padding: 15px 0; border-right: 0; border-bottom: 1px solid var(--news-line); }
  .news-discovery { grid-template-columns: 1fr; gap: 20px; padding-top: 46px; }
  .editorial-home .library-filter { gap: 19px; }
  .editorial-home .library-grid { grid-template-columns: 1fr; }
  .editorial-home .library-card, .editorial-home .library-card-featured { grid-column: auto; display: flex; padding: 24px 0 32px; border-right: 0 !important; }
  .editorial-home .library-card-visual, .editorial-home .library-card-featured .library-card-visual { min-height: 250px; }
  .editorial-home .library-card-featured .library-card-copy { padding-top: 17px; }
  .editorial-home .library-archive { grid-template-columns: 1fr; gap: 25px; margin-top: 52px; }
  .editorial-home .library-archive-list a { grid-template-columns: 1fr auto; }
  .editorial-home .library-archive-list span { grid-column: 1 / -1; }
  .news-reference-strip { grid-template-columns: 1fr; gap: 24px; }
  .news-reference-strip > a { padding: 20px 0 0; border-top: 1px solid var(--news-line); border-left: 0; }
  .news-footer { grid-template-columns: 1fr; gap: 22px; }
}

/* --------------------------------------------------------------------------
   2026 editorial library — authoritative responsive layout
   This final layer intentionally resolves older experimental blog rules.
   -------------------------------------------------------------------------- */
.publication-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid rgba(18, 51, 102, .12);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(18px) saturate(1.2);
}

.publication-header-inner {
  width: min(100% - 48px, 1440px);
  min-height: 76px;
  height: auto;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: 28px;
}

.publication-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #071a40;
  text-decoration: none;
  font-size: 1.08rem;
}

.publication-brand img { flex: 0 0 auto; }

.publication-header nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.2vw, 34px);
}

.publication-header nav a {
  color: #28446f;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.publication-header nav a:hover { color: #0868f6; }

.publication-store {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  background: #0868f6;
  box-shadow: 0 12px 30px rgba(8, 104, 246, .22);
  color: #fff;
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
}

.library-main {
  width: min(100% - 64px, 1440px);
  margin: 0 auto;
  padding: 72px 0 112px;
}

.library-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: clamp(42px, 7vw, 112px);
  align-items: end;
  padding: 28px 0 54px;
  border-top: 4px solid #081a3e;
  border-bottom: 1px solid rgba(10, 35, 77, .22);
}

.library-hero h1 {
  max-width: 980px;
  margin: 18px 0 22px;
  font-size: clamp(3.8rem, 7vw, 7.8rem);
  line-height: .88;
  letter-spacing: -.075em;
}

.library-hero > div > p {
  max-width: 790px;
  margin: 0;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.65;
}

.library-key {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 14px;
  padding: 28px 0 4px 30px;
  border-left: 1px solid rgba(10, 35, 77, .18);
}

.library-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .65fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
  margin: 52px 0 46px;
  padding: 0 0 48px;
  border-bottom: 2px solid #0d2348;
}

.library-lead-image {
  display: block;
  overflow: hidden;
  min-height: 470px;
  border-radius: 5px;
  background: #eaf3ff;
}

.library-lead-image img {
  width: 100%;
  height: 100%;
  min-height: 470px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.library-lead-copy > span,
.library-label {
  color: #0868f6;
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.library-lead-copy h2 {
  margin: 14px 0 18px;
  font-size: clamp(2.2rem, 3.8vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.052em;
}

.library-lead-copy h2 a { color: #071a40; text-decoration: none; }
.library-lead-copy > p { color: #4c6282; font-size: 1.08rem; line-height: 1.7; }
.library-lead-copy > div { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 26px; font-size: .82rem; }
.library-lead-copy > div a { margin-left: auto; color: #0868f6; font-weight: 800; text-decoration: none; }

.library-search {
  display: grid;
  grid-template-columns: auto minmax(240px, 560px);
  gap: 24px;
  align-items: center;
  margin: 0 0 18px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(10, 35, 77, .14);
}

.library-search label { color: #071a40; font-size: .82rem; font-weight: 800; }
.library-search input { width: 100%; min-height: 46px; padding: 0 18px; border: 1px solid #cbd9ed; border-radius: 999px; background: #fff; }

.library-filter { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 38px; }
.library-filter button { border-radius: 999px; white-space: nowrap; }

.library-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 28px;
}

.library-card,
.library-card-featured {
  display: flex;
  flex-direction: column;
  grid-column: auto;
  min-width: 0;
  border: 0;
  border-top: 1px solid rgba(9, 35, 76, .22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.library-card-visual,
.library-card-featured .library-card-visual {
  display: block;
  overflow: hidden;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 10;
  margin-top: 14px;
  border-radius: 4px;
  background: #edf4ff;
}

.library-card-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .4s ease, filter .4s ease;
}

.library-card:hover .library-card-visual img { transform: scale(1.018); filter: saturate(1.05); }
.library-card-copy { display: flex; flex: 1; flex-direction: column; padding: 22px 0 0; }
.library-card-copy h2 { margin: 10px 0 12px; font-size: clamp(1.35rem, 1.7vw, 1.75rem); line-height: 1.12; letter-spacing: -.026em; }
.library-card-copy h2 a { color: #071a40; text-decoration: none; }
.library-card-copy > p { color: #536a8b; line-height: 1.65; }
.library-card-meta { display: flex; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 20px; font-size: .78rem; }

.library-archive { margin-top: 82px; }

.publication-main {
  width: min(100% - 64px, 1480px);
  margin: 0 auto;
  padding: 58px 0 104px;
  display: grid;
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
  gap: clamp(42px, 5vw, 78px);
  align-items: start;
}

.publication-rail {
  position: sticky;
  top: 104px;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: 6px 26px 0 0;
  border-right: 1px solid rgba(11, 36, 78, .14);
}

.publication-article {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  max-width: 1120px;
}

.publication-article-header h1 {
  max-width: 1040px;
  font-size: clamp(3.6rem, 6.2vw, 6.8rem);
  line-height: .94;
  letter-spacing: -.064em;
}

.publication-deck { max-width: 880px; font-size: clamp(1.18rem, 2vw, 1.55rem); line-height: 1.55; }
.publication-hero { width: 100%; margin: 42px 0 28px; }
.publication-hero img { width: 100%; height: auto; min-height: 460px; max-height: 720px; aspect-ratio: 16 / 9; border-radius: 12px; object-fit: cover; object-position: center; }
.publication-copy { max-width: 940px; }
.publication-copy p { font-size: clamp(1.02rem, 1.25vw, 1.18rem); line-height: 1.86; }
.publication-copy h2 { max-width: 850px; font-size: clamp(2rem, 3.4vw, 3.4rem); line-height: 1.05; }

.article-inline-visual {
  width: min(1080px, calc(100vw - 350px));
  max-width: 100%;
  margin: 46px 0 50px;
}

.article-inline-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  object-fit: cover;
  background: #edf4ff;
}

.article-inline-visual figcaption { margin-top: 10px; color: #647895; font-size: .8rem; }
.reading-card-image img { display: block; width: 100%; height: 100%; }

@media (max-width: 1080px) {
  .publication-header-inner { grid-template-columns: 1fr auto; padding: 12px 0; }
  .publication-header nav { grid-column: 1 / -1; grid-row: 2; order: 3; padding-top: 12px; border-top: 1px solid rgba(18, 51, 102, .1); }
  .publication-store { grid-column: 2; grid-row: 1; }
  .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .library-lead { grid-template-columns: 1.2fr .8fr; }
  .publication-main { grid-template-columns: 190px minmax(0, 1fr); gap: 38px; }
}

@media (max-width: 780px) {
  .publication-header { position: static; }
  .publication-header-inner { width: min(100% - 28px, 680px); }
  .publication-header nav { justify-content: flex-start; gap: 18px; overflow-x: auto; padding-bottom: 2px; }
  .publication-header nav a { font-size: .78rem; }
  .publication-store { min-height: 38px; padding: 0 15px; }
  .library-main { width: min(100% - 28px, 680px); padding-top: 42px; }
  .library-hero { grid-template-columns: 1fr; gap: 22px; }
  .library-hero h1 { font-size: clamp(3.35rem, 15vw, 5.2rem); }
  .library-key { padding: 18px 0 0; border-top: 1px solid rgba(10, 35, 77, .18); border-left: 0; }
  .library-lead { grid-template-columns: 1fr; }
  .library-lead-image,
  .library-lead-image img { min-height: 300px; }
  .library-search { grid-template-columns: 1fr; gap: 10px; }
  .library-grid { grid-template-columns: 1fr; gap: 42px; }
  .publication-main { width: min(100% - 28px, 720px); grid-template-columns: 1fr; gap: 28px; padding-top: 36px; }
  .publication-rail { position: static; grid-column: 1; grid-row: auto; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid rgba(11, 36, 78, .14); }
  .publication-article { grid-column: 1; }
  .publication-article-header h1 { font-size: clamp(3rem, 13vw, 4.8rem); }
  .publication-hero img { min-height: 280px; }
  .article-inline-visual { width: 100%; }
}

@media (max-width: 480px) {
  .publication-brand strong { font-size: .92rem; }
  .publication-header nav { gap: 15px; }
  .publication-store span { font-size: .75rem; }
  .library-main { width: calc(100% - 24px); }
  .library-lead-image,
  .library-lead-image img { min-height: 230px; }
  .publication-main { width: calc(100% - 24px); }
  .publication-article-header h1 { font-size: clamp(2.6rem, 13vw, 3.7rem); }
  .publication-hero img { min-height: 220px; border-radius: 8px; }
}

/* ========================================================================== */
/* Editorial library and long-form article guide                              */
/* ========================================================================== */
.blog-library-page {
  color: #10203b;
  background:
    radial-gradient(circle at 82% 8%, rgba(72, 132, 255, .17), transparent 28rem),
    linear-gradient(180deg, #f7faff 0, #fff 34rem);
}

.library-main {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  padding: 72px 0 96px;
}

.library-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: clamp(44px, 8vw, 110px);
  align-items: end;
  padding: 42px 0 62px;
  border-bottom: 1px solid #cfdcf0;
}

.library-label {
  display: block;
  margin-bottom: 18px;
  color: var(--blue);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.library-hero h1 {
  max-width: 860px;
  margin: 0;
  color: #0c1d38;
  font-size: clamp(3.6rem, 7vw, 6.8rem);
  line-height: .9;
  letter-spacing: -.072em;
}

.library-hero > div > p {
  max-width: 730px;
  margin: 27px 0 0;
  color: #5c6e88;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  line-height: 1.65;
}

.library-key {
  display: grid;
  gap: 0;
  padding: 22px 0 5px;
  border-top: 2px solid #176dff;
}

.library-key strong {
  margin-bottom: 14px;
  color: #70819a;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.library-key span {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #dce5f2;
  color: #304661;
  font-size: .82rem;
  font-weight: 750;
}

.library-key i {
  color: #0e6cff;
  font-style: normal;
  font-size: .69rem;
  letter-spacing: .08em;
}

.library-filter {
  display: flex;
  gap: 8px;
  margin: 18px 0 44px;
  padding-bottom: 5px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.library-search {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(240px, 1fr);
  align-items: center;
  gap: 24px;
  margin-top: 36px;
}

.library-search label {
  color: #314864;
  font-size: .82rem;
  font-weight: 800;
}

.library-search input {
  width: 100%;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid #bfd0e8;
  border-radius: 12px;
  outline: none;
  color: #10203b;
  background: rgba(255, 255, 255, .84);
  font: inherit;
  box-shadow: 0 10px 30px rgba(31, 78, 140, .07);
}

.library-search input:focus-visible {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(8, 102, 255, .13);
}

.library-empty {
  padding: 28px 0;
  color: #5c6e88;
  border-top: 1px solid #cfdcf0;
}

.library-filter button {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid #c8d8ee;
  border-radius: 999px;
  color: #52647d;
  background: rgba(255, 255, 255, .8);
  font: 750 .76rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.library-filter button:hover { transform: translateY(-1px); border-color: #8fb6ef; }
.library-filter button.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }

.library-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
  border-top: 1px solid #cfdcf0;
}

.library-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 25px;
  align-items: start;
  min-width: 0;
  padding: 35px 0;
  border-bottom: 1px solid #d8e3f2;
}

.library-card[hidden] { display: none !important; }

.library-card-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 132px;
  overflow: hidden;
  border: 1px solid #c9dcf7;
  border-radius: 18px 5px 18px 5px;
  color: #fff;
  background: linear-gradient(145deg, #0866ff, #6149ea);
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(20, 92, 215, .17);
}

.library-card:nth-child(3n + 2) .library-card-visual { background: linear-gradient(145deg, #0b5ddd, #0eb4c7); }
.library-card:nth-child(3n) .library-card-visual { background: linear-gradient(145deg, #3826a7, #9764f3); }
.library-card-visual > span { position: relative; z-index: 2; font-size: 2.15rem; font-weight: 900; letter-spacing: -.08em; }
.library-card-visual i { position: absolute; width: 170%; height: 26px; border: 2px solid rgba(255, 255, 255, .32); border-radius: 50%; transform: rotate(-18deg); }
.library-card-visual i:nth-of-type(2) { height: 60px; transform: rotate(17deg); }
.library-card-visual i:nth-of-type(3) { height: 105px; opacity: .55; transform: rotate(-7deg); }
.library-card-visual.library-card-photo { padding: 0; overflow: hidden; background: #edf5ff; }
.library-card-visual.library-card-photo img { width: 100%; height: 100%; min-height: 160px; object-fit: cover; display: block; }
.seo-guide-card { border-color: #c9dcfb; }

.library-card-copy { min-width: 0; }
.library-card-copy .guide-tag { display: block; margin-bottom: 8px; color: #0c68f5; font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.library-card-copy h2 { margin: 0 0 10px; font-size: clamp(1.15rem, 2vw, 1.48rem); line-height: 1.18; letter-spacing: -.028em; }
.library-card-copy h2 a { color: #10203b; text-decoration: none; }
.library-card-copy h2 a:hover { color: var(--blue); }
.library-card-copy p { margin: 0; color: #607089; font-size: .84rem; line-height: 1.57; }
.library-card-link { display: inline-flex; gap: 8px; margin-top: 14px; color: #0b62e7; font-size: .75rem; font-weight: 850; text-decoration: none; }
.library-card-link span { transition: transform .2s ease; }
.library-card-link:hover span { transform: translateX(3px); }

.library-archive {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 70px;
  margin-top: 74px;
  padding: 48px;
  border: 1px solid #cedef3;
  border-radius: 28px 8px 28px 8px;
  background: linear-gradient(135deg, #ecf4ff, #fff 55%, #f2eeff);
}

.library-archive > div:first-child span { color: var(--blue); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.library-archive h2 { margin: 13px 0 0; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.05; }
.library-archive-list { display: grid; }
.library-archive-list a { display: grid; grid-template-columns: 120px 1fr auto; gap: 18px; align-items: center; padding: 17px 0; border-bottom: 1px solid #d5e2f1; color: #213a59; text-decoration: none; }
.library-archive-list a:last-child { border-bottom: 0; }
.library-archive-list span { color: #7789a0; font-size: .7rem; font-weight: 800; }
.library-archive-list strong { font-size: .88rem; }
.library-archive-list i { color: var(--blue); font-style: normal; font-size: 1.2rem; transition: transform .2s ease; }
.library-archive-list a:hover i { transform: translateX(4px); }

.article-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 3px;
  pointer-events: none;
}

.article-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #0866ff, #7355ef); box-shadow: 0 0 16px rgba(8, 102, 255, .45); }
.article-location { display: grid; gap: 6px; margin-bottom: 34px; padding-bottom: 23px; border-bottom: 1px solid var(--pub-line); }
.article-location > span { color: #999; font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.article-location a { color: #272727; font-size: .82rem; font-weight: 850; text-decoration: none; }
.article-location b { color: var(--pub-blue); font-size: .73rem; }
.reading-guide a small { display: block; margin-bottom: 3px; color: #a3a3a3; font-size: .59rem; font-weight: 900; letter-spacing: .09em; }
.reading-guide a.is-active small { color: var(--pub-blue); }
.reading-status { display: flex; justify-content: space-between; align-items: center; margin-top: 32px; padding-top: 15px; border-top: 1px solid var(--pub-line); color: #888; font-size: .66rem; }
.reading-status strong { color: var(--pub-blue); font-size: .78rem; }
.article-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: #8a8a8a; font-size: .7rem; }
.article-breadcrumb a { color: #686868; text-decoration: none; }
.article-breadcrumb b { color: var(--pub-blue); }

.editorial-hero-placeholder {
  position: relative;
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  min-height: 390px;
  margin: 40px 0 18px;
  overflow: hidden;
  border: 1px solid #cbdcf5;
  border-radius: 24px 7px 24px 7px;
  background:
    radial-gradient(circle at 73% 48%, rgba(104, 77, 237, .22), transparent 18rem),
    linear-gradient(145deg, #eef6ff, #fff 48%, #f0edff);
  box-shadow: 0 28px 70px rgba(34, 75, 135, .12);
}

.editorial-hero-placeholder::before { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(37, 100, 190, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(37, 100, 190, .08) 1px, transparent 1px); background-size: 36px 36px; content: ''; }
.editorial-hero-mark { position: relative; z-index: 2; display: grid; place-items: center; width: 112px; height: 112px; margin-left: 38px; border-radius: 32px 9px 32px 9px; color: #fff; background: linear-gradient(145deg, #0870ff, #684cec); box-shadow: 0 22px 46px rgba(26, 94, 216, .28); transform: rotate(-4deg); }
.editorial-hero-mark span { font-size: 2rem; font-weight: 900; letter-spacing: -.08em; transform: rotate(4deg); }
.editorial-wave { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; gap: 12px; height: 160px; }
.editorial-wave::before, .editorial-wave::after { position: absolute; left: 0; right: 0; height: 58%; border: 3px solid rgba(32, 109, 246, .28); border-right: 0; border-left: 0; border-radius: 50%; content: ''; transform: rotate(-7deg); }
.editorial-wave::after { height: 82%; border-color: rgba(104, 76, 237, .2); transform: rotate(9deg); }
.editorial-wave i { position: relative; z-index: 2; width: 7px; border-radius: 99px; background: linear-gradient(#7456ed, #0870ff); }
.editorial-wave i:nth-child(1), .editorial-wave i:nth-child(9) { height: 25px; }
.editorial-wave i:nth-child(2), .editorial-wave i:nth-child(8) { height: 45px; }
.editorial-wave i:nth-child(3), .editorial-wave i:nth-child(7) { height: 74px; }
.editorial-wave i:nth-child(4), .editorial-wave i:nth-child(6) { height: 105px; }
.editorial-wave i:nth-child(5) { height: 135px; }
.editorial-hero-placeholder figcaption { position: absolute; right: 22px; bottom: 18px; z-index: 2; display: flex; gap: 8px; color: #6d7d94; font-size: .69rem; }
.editorial-hero-placeholder figcaption strong { color: #1766dd; }

.editorial-prose { padding-top: 28px; }
.editorial-prose section { margin: 0 !important; padding: 70px 0 20px !important; }
.editorial-prose section + section { border-top: 1px solid #ececec; }
.article-section-label { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; }
.article-section-label span { color: var(--pub-blue); font: 900 .7rem/1 Inter, sans-serif; letter-spacing: .11em; }
.article-section-label i { width: 76px; height: 1px; background: linear-gradient(90deg, #7cabee, transparent); }
.editorial-prose h2 { max-width: 580px; margin-bottom: 28px; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.editorial-prose p { margin-bottom: 1.62em; }
.editorial-related-visual { display: grid; place-items: center; aspect-ratio: 16 / 9; color: #fff; background: linear-gradient(145deg, #0b6eff, #654aea); }
.editorial-related-visual span { font-size: 2rem; font-weight: 900; }

@media (max-width: 900px) {
  .library-hero { grid-template-columns: 1fr; }
  .library-key { width: min(460px, 100%); }
  .library-grid { grid-template-columns: 1fr; }
  .library-archive { grid-template-columns: 1fr; gap: 30px; }
  .editorial-essay-page .publication-rail { display: grid; grid-template-columns: 1fr; }
  .article-location { grid-template-columns: auto auto 1fr; gap: 10px; align-items: baseline; }
  .reading-status { margin-top: 12px; }
}

@media (max-width: 720px) {
  .library-search { grid-template-columns: 1fr; gap: 8px; }
  .library-main { width: min(100% - 28px, 1180px); padding-top: 42px; }
  .library-hero { padding-top: 22px; }
  .library-hero h1 { font-size: clamp(3.25rem, 15vw, 5rem); }
  .library-card { grid-template-columns: 112px minmax(0, 1fr); gap: 18px; }
  .library-card-visual { min-height: 116px; }
  .library-archive { margin-top: 52px; padding: 25px; }
  .library-archive-list a { grid-template-columns: 1fr auto; }
  .library-archive-list span { grid-column: 1 / -1; }
  .editorial-essay-page .publication-rail { margin-bottom: 26px; }
  .editorial-essay-page .reading-guide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; padding-bottom: 4px; overflow: visible; }
  .editorial-essay-page .reading-guide > p { grid-column: 1 / -1; }
  .editorial-essay-page .reading-guide a { min-width: 0; padding: 10px 0 12px; border-top: 1px solid #dedede; }
  .editorial-hero-placeholder { grid-template-columns: 110px 1fr; min-height: 290px; }
  .editorial-hero-mark { width: 82px; height: 82px; margin-left: 20px; border-radius: 24px 7px 24px 7px; }
  .editorial-wave { gap: 7px; }
  .editorial-prose section { padding-top: 54px !important; }
}

@media (max-width: 480px) {
  .library-card { grid-template-columns: 1fr; }
  .library-card-visual { min-height: 145px; }
  .library-card-copy h2 { font-size: 1.35rem; }
  .editorial-hero-placeholder { grid-template-columns: 1fr; min-height: 300px; }
  .editorial-hero-mark { position: absolute; top: 30px; left: 50%; margin: 0; transform: translateX(-50%) rotate(-4deg); }
  .editorial-wave { margin-top: 84px; }
  .editorial-hero-placeholder figcaption { right: 14px; bottom: 12px; left: 14px; justify-content: center; }
}

/* Medium-inspired GG Speech publication article */
.publication-page {
  --pub-ink: #191919;
  --pub-muted: #6b6b6b;
  --pub-blue: #0866ff;
  --pub-line: #e6e6e6;
  margin: 0;
  overflow-x: clip;
  color: var(--pub-ink);
  background: #fff;
  font: 15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.publication-page::before { display: none; }
.publication-page a { color: inherit; }
.publication-header { border-bottom: 1px solid var(--pub-line); background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); }
.publication-header-inner { width: min(1180px, calc(100% - 48px)); height: 72px; margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; gap: 32px; align-items: center; }
.publication-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--pub-ink); text-decoration: none; }
.publication-brand img { width: 36px; height: 36px; object-fit: contain; }
.publication-brand strong { font-size: 1.03rem; letter-spacing: -.015em; }
.publication-header nav { display: flex; gap: 30px; }
.publication-header nav a,
.publication-home { color: #303030; font-size: .79rem; font-weight: 750; text-decoration: none; transition: color .2s ease; }
.publication-header nav a:hover,
.publication-home:hover { color: var(--pub-blue); }
.publication-home { justify-self: end; display: inline-flex; align-items: center; gap: 7px; }
.publication-home svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.publication-main { width: min(1120px, calc(100% - 48px)); margin: auto; padding: 58px 0 88px; display: grid; grid-template-columns: 170px minmax(0, 800px); column-gap: 60px; align-items: start; }
.publication-rail { position: sticky; top: 28px; grid-column: 1; grid-row: 1; padding-top: 8px; }
.rail-author img { width: 86px; height: 86px; border-radius: 50%; object-fit: cover; object-position: center 34%; }
.rail-author h2 { margin: 14px 0 7px; font-size: 1rem; line-height: 1.25; letter-spacing: -.02em; }
.rail-author p { margin: 0; color: var(--pub-muted); font-size: .78rem; line-height: 1.55; }
.reading-guide { position: relative; margin-top: 38px; padding-left: 25px; }
.reading-guide > p { margin: 0 0 18px -25px; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.reading-guide-track { position: absolute; top: 45px; bottom: 10px; left: 2px; width: 1px; background: #dedede; }
.reading-guide-track span { position: absolute; top: 0; left: 0; width: 2px; height: 0; background: var(--pub-blue); transition: height .4s ease; }
.reading-guide a { position: relative; display: block; margin-bottom: 24px; color: #929292; font-size: .75rem; line-height: 1.4; text-decoration: none; transition: color .25s ease, transform .25s ease; }
.reading-guide a::before { position: absolute; top: .35em; left: -28px; width: 7px; height: 7px; border-radius: 50%; background: #d8d8d8; content: ""; transition: background .25s ease, transform .25s ease; }
.reading-guide a:hover { color: #333; transform: translateX(2px); }
.reading-guide a.is-active { color: var(--pub-blue); font-weight: 800; }
.reading-guide a.is-active::before { background: var(--pub-blue); transform: scale(1.18); }

.publication-article { grid-column: 2; min-width: 0; width: 100%; }
.publication-article-header { max-width: 730px; }
.publication-article-header h1 { max-width: none; margin: 0 0 18px; color: var(--pub-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 5vw, 4.7rem); font-weight: 700; line-height: .98; letter-spacing: -.045em; }
.publication-deck { max-width: 650px; margin: 0 0 24px; color: var(--pub-muted); font-size: 1.3rem; line-height: 1.45; }
.publication-byline { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: #4d4d4d; font-size: .78rem; }
.publication-byline img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: center 34%; }
.publication-byline i { width: 3px; height: 3px; border-radius: 50%; background: #aaa; }
.publication-hero { width: 100%; margin: 34px 0 10px; }
.publication-hero img { width: 100%; height: clamp(380px, 45vw, 570px); border-radius: 8px; object-fit: cover; object-position: center; }
.publication-hero figcaption { margin-top: 10px; color: #777; font-size: .74rem; }
.publication-copy { width: min(680px, 100%); color: #292929; font: 1.14rem/1.75 Georgia, "Times New Roman", serif; }
.publication-copy p { margin: 0 0 1.5em; }
.publication-copy .publication-opening { font-size: 1.21rem; }
.publication-copy section { margin-top: 28px; padding-top: 12px; scroll-margin-top: 100px; }
.publication-copy h2 { margin: 0 0 12px; color: var(--pub-ink); font: 700 clamp(1.55rem, 3vw, 2.05rem)/1.18 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.publication-copy a { color: var(--pub-blue); text-decoration-color: rgba(8, 102, 255, .45); }
.publication-signature { display: flex; gap: 18px; align-items: center; width: min(680px, 100%); margin-top: 40px; padding: 25px 0; border-top: 1px solid var(--pub-line); border-bottom: 1px solid var(--pub-line); }
.publication-signature img { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: center 34%; }
.publication-signature strong { font-size: 1rem; }
.publication-signature p { margin: 5px 0 0; color: var(--pub-muted); font-size: .85rem; line-height: 1.5; }

.live-transcript-reading { grid-column: 2; margin-top: 56px; padding-top: 38px; border-top: 1px solid var(--pub-line); }
.live-transcript-reading > h2 { margin: 0 0 26px; color: var(--pub-ink); font-size: 1.45rem; line-height: 1.2; letter-spacing: -.03em; }
.reading-grid { display: grid; gap: 34px; }
.reading-grid-featured { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 36px; border-bottom: 1px solid var(--pub-line); }
.reading-grid-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 34px; }
.reading-card { min-width: 0; }
.reading-card-image { display: block; overflow: hidden; border-radius: 8px; background: #f3f5f8; text-decoration: none; }
.reading-grid-featured .reading-card-image img { aspect-ratio: 16 / 9; }
.reading-grid-compact .reading-card-image img { aspect-ratio: 16 / 10; }
.reading-card-image img { width: 100%; object-fit: cover; object-position: top center; transition: transform .45s cubic-bezier(.2, .7, .2, 1), filter .35s ease; }
.reading-card:hover .reading-card-image img { transform: scale(1.025); filter: saturate(1.04); }
.reading-card-meta { display: flex; align-items: center; gap: 7px; margin-top: 13px; color: #777; font-size: .67rem; }
.reading-card-meta img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; object-position: center 34%; }
.reading-card-meta time::before { margin-right: 7px; content: "·"; }
.reading-card h3 { margin: 9px 0 5px; color: var(--pub-ink); font-size: 1.05rem; line-height: 1.25; letter-spacing: -.018em; }
.reading-grid-compact .reading-card h3 { font-size: .91rem; }
.reading-card h3 a { text-decoration: none; }
.reading-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.reading-card p { margin: 0; color: var(--pub-muted); font-size: .78rem; line-height: 1.5; }

.publication-footer { border-top: 1px solid var(--pub-line); background: #fafafa; }
.publication-footer-inner { width: min(1120px, calc(100% - 48px)); min-height: 110px; margin: auto; display: grid; grid-template-columns: 1fr auto auto; gap: 36px; align-items: center; }
.publication-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
.publication-footer nav a,
.publication-footer-inner > span { color: #666; font-size: .72rem; text-decoration: none; }
.publication-footer nav a:hover { color: var(--pub-blue); }

@media (max-width: 900px) {
  .publication-main { width: min(760px, calc(100% - 36px)); grid-template-columns: minmax(0, 1fr); padding-top: 40px; }
  .publication-rail { position: static; grid-column: 1; grid-row: auto; display: grid; grid-template-columns: 1fr 1.4fr; gap: 30px; margin-bottom: 40px; padding: 0 0 30px; border-bottom: 1px solid var(--pub-line); }
  .reading-guide { margin-top: 0; }
  .publication-article,
  .live-transcript-reading { grid-column: 1; }
}

@media (max-width: 720px) {
  .publication-header-inner { width: min(100% - 28px, 760px); height: auto; min-height: 68px; grid-template-columns: 1fr auto; gap: 12px 20px; padding: 12px 0; }
  .publication-header nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; gap: 24px; padding-top: 10px; border-top: 1px solid var(--pub-line); }
  .publication-brand img { width: 32px; height: 32px; }
  .publication-main { width: min(100% - 28px, 680px); padding: 34px 0 62px; }
  .publication-rail { grid-template-columns: 1fr; gap: 26px; }
  .rail-author { display: grid; grid-template-columns: 64px 1fr; column-gap: 14px; align-items: center; }
  .rail-author img { grid-row: 1 / 3; width: 64px; height: 64px; }
  .rail-author h2 { margin: 0 0 3px; }
  .reading-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; }
  .reading-guide > p { grid-column: 1 / -1; margin: 0 0 2px; }
  .reading-guide-track { display: none; }
  .reading-guide a { margin: 0; padding-top: 10px; border-top: 2px solid #e5e5e5; font-size: .69rem; }
  .reading-guide a::before { display: none; }
  .reading-guide a.is-active { border-top-color: var(--pub-blue); }
  .publication-article-header h1 { font-size: clamp(2.6rem, 13vw, 3.75rem); }
  .publication-deck { font-size: 1.12rem; }
  .publication-hero img { height: max(260px, 62vw); }
  .publication-copy { font-size: 1.06rem; line-height: 1.7; }
  .publication-copy .publication-opening { font-size: 1.12rem; }
  .reading-grid-featured,
  .reading-grid-compact { grid-template-columns: 1fr; gap: 30px; }
  .reading-grid-compact { margin-top: 30px; }
  .reading-grid-compact .reading-card h3 { font-size: 1rem; }
  .publication-footer-inner { width: min(100% - 28px, 680px); grid-template-columns: 1fr; gap: 18px; padding: 28px 0; }
}

@media (max-width: 420px) {
  .publication-header nav { justify-content: space-between; gap: 12px; }
  .publication-home { font-size: 0; }
  .publication-home svg { width: 21px; height: 21px; }
  .reading-guide { grid-template-columns: 1fr; }
  .publication-article-header h1 { font-size: 2.55rem; }
  .publication-byline { gap: 8px; }
  .publication-signature { align-items: flex-start; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { position: relative; margin: 0; overflow-x: hidden; background: radial-gradient(circle at 86% 4%, rgba(102, 151, 255, .2) 0, transparent 28rem), radial-gradient(circle at 5% 40%, rgba(208, 226, 255, .62) 0, transparent 24rem), linear-gradient(180deg, #f8fbff 0%, #f4f8ff 52%, #fbfdff 100%); }
body::before { position: fixed; inset: 0; z-index: -1; content: ""; opacity: .38; background-image: linear-gradient(rgba(27, 89, 178, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 89, 178, .055) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to bottom, black, transparent 72%); pointer-events: none; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--blue-dark); }
img { display: block; max-width: 100%; }

.guide-nav,
.guide-footer,
main { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.guide-nav { position: relative; display: flex; justify-content: space-between; align-items: center; min-height: 76px; border-bottom: 1px solid rgba(178, 197, 224, .72); }
.guide-brand-row { display: flex; align-items: center; gap: 14px; }
.guide-brand { display: inline-flex; align-items: center; gap: 10px; color: #10203b; text-decoration: none; font-size: 1.12rem; white-space: nowrap; }
.guide-brand img { width: 38px; height: 38px; object-fit: contain; }
.home-button { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border: 1px solid #cbdaf0; border-radius: 10px; color: #28517f; background: rgba(255, 255, 255, .78); font-size: .78rem; font-weight: 750; text-decoration: none; white-space: nowrap; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.home-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.home-button:hover { color: #fff; border-color: var(--blue); background: var(--blue); transform: translateY(-1px); }
.guide-nav div,
.guide-footer { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }
.guide-nav div a { color: #42536d; font-weight: 650; text-decoration: none; }

main { padding: 72px 0 24px; }
.index-hero { position: relative; max-width: 880px; margin-bottom: 52px; }
.index-hero::after { position: absolute; top: -26px; left: -34px; z-index: -1; width: 138px; height: 138px; border: 22px solid rgba(14, 103, 255, .06); border-radius: 50%; content: ""; }
.eyebrow { margin: 0 0 10px; color: var(--blue); font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
h1 { margin: 0 0 20px; max-width: 900px; font-size: clamp(2.55rem, 6vw, 5.3rem); line-height: .98; letter-spacing: -.052em; }
h2 { margin: 38px 0 12px; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.18; letter-spacing: -.025em; }
h3 { line-height: 1.25; }
p { margin: 0 0 18px; }
.lead { max-width: 760px; color: var(--ink-soft); font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.65; }

.guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.guide-card { overflow: hidden; border: 1px solid rgba(199, 216, 241, .92); border-radius: 24px; background: rgba(255, 255, 255, .92); box-shadow: 0 12px 36px rgba(30, 81, 150, .08); backdrop-filter: blur(12px); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.guide-card:hover { transform: translateY(-4px); border-color: rgba(72, 130, 231, .52); box-shadow: var(--shadow); }
.guide-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: top center; background: #eaf1ff; }
.guide-card-copy { padding: 26px 28px 28px; }
.guide-card h2 { margin: 0 0 10px; font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
.guide-card h2 a { color: #10203b; text-decoration: none; }
.guide-card p { color: var(--ink-soft); }
.guide-tag { display: inline-block; margin-bottom: 13px; padding: 5px 10px; border-radius: 999px; background: #eaf2ff; color: var(--blue-dark); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }

.article-main { max-width: 1080px; }
.article-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr); gap: 52px; align-items: center; margin-bottom: 58px; }
.article-hero > * { min-width: 0; }
.article-hero h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); }
.article-meta { color: #6b7890; font-size: .92rem; }
.article-hero figure { margin: 0; overflow: hidden; padding: 12px; border: 1px solid #ccdcf6; border-radius: 28px; background: #fff; box-shadow: var(--shadow); transform: rotate(1deg); }
.article-hero img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; border-radius: 18px; }
.article-hero figcaption { padding: 11px 8px 2px; color: #68768c; font-size: .82rem; }
.article-body { width: min(740px, 100%); margin-inline: auto; color: #263750; font-size: 1.05rem; }
.editorial-story { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.08rem, 1.6vw, 1.2rem); line-height: 1.85; }
.editorial-story > p { margin-bottom: 1.55em; }
.editorial-story > p:first-child::first-letter { float: left; margin: .08em .12em 0 0; color: var(--blue); font: 700 3.4em/.78 Georgia, serif; }
.article-body h2 { color: #10203b; }
.quick-answer { margin: 0 0 34px; padding: 24px 26px; border-left: 4px solid var(--blue); border-radius: 0 18px 18px 0; background: #edf4ff; }
.quick-answer strong { display: block; margin-bottom: 5px; color: #0b52c5; }
.steps { padding-left: 1.25rem; }
.steps li { margin-bottom: 11px; padding-left: 5px; }
.article-cta { margin-top: 42px; padding: 30px; border-radius: 24px; color: white; background: linear-gradient(135deg, #075fe8, #1677ff); box-shadow: 0 16px 38px rgba(8, 102, 255, .24); }
.article-cta h2 { margin: 0 0 8px; color: white; }
.article-cta p { color: #e9f2ff; }
.article-cta .cta-title { margin: 0 0 6px; color: #fff; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.35rem, 3vw, 1.8rem); font-weight: 800; line-height: 1.2; letter-spacing: -.025em; }
.article-cta a { display: inline-flex; padding: 11px 17px; border-radius: 12px; color: #0755ca; background: white; font-weight: 800; text-decoration: none; }
.article-next { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); color: #68768c; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .96rem; line-height: 1.8; }
.related-guides { margin-top: 48px; padding: 26px 28px; border: 1px solid #d4e2f5; border-radius: 20px; background: #fff; }
.related-guides h2 { margin-top: 0; }
.related-guides ul { margin-bottom: 0; padding-left: 20px; }
.related-guides li { margin: 8px 0; }
.guide-footer { justify-content: center; margin-top: 72px; padding: 30px 0 46px; border-top: 1px solid var(--line); }

@media (max-width: 820px) {
  .guide-grid,
  .article-hero { grid-template-columns: 1fr; }
  .article-hero { gap: 30px; }
  .article-hero figure { transform: none; }
  main { padding-top: 50px; }
}

@media (max-width: 600px) {
  .guide-nav,
  .guide-footer,
  main { width: min(100% - 28px, 1180px); }
  .guide-nav { align-items: flex-start; flex-direction: column; justify-content: center; gap: 10px; padding: 14px 0; }
  .guide-brand-row { width: 100%; justify-content: space-between; gap: 10px; }
  .guide-brand img { width: 34px; height: 34px; }
  .home-button { min-height: 36px; padding-inline: 10px; }
  .guide-nav div { gap: 8px 16px; }
  .guide-grid { gap: 16px; }
  .guide-card-copy { padding: 22px; }
  h1 { font-size: clamp(2.35rem, 13vw, 3.5rem); }
  .article-hero h1 { max-width: 100%; font-size: clamp(2.05rem, 10.5vw, 3rem); overflow-wrap: anywhere; }
  .article-hero figure { width: 100%; }
  .article-body { font-size: 1rem; }
  .editorial-story { font-size: 1.04rem; line-height: 1.78; }
}

/* Chrome speech-to-text field guide */
.field-guide-page {
  --guide-ink: #0b1d3a;
  --guide-muted: #5e6f89;
  --guide-line: #d9e4f3;
  color: var(--guide-ink);
  background: #fff;
}

.field-guide-page::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: "";
  opacity: .46;
  background:
    radial-gradient(circle at 91% 13%, rgba(38, 116, 255, .11), transparent 27rem),
    radial-gradient(circle at 6% 57%, rgba(194, 219, 255, .28), transparent 30rem);
  pointer-events: none;
}

.field-guide-page .guide-nav {
  width: min(1320px, calc(100% - 48px));
  min-height: 82px;
}

.field-guide-page .guide-nav > div:last-child {
  gap: clamp(20px, 3vw, 40px);
}

.field-guide-page .guide-nav > div:last-child a {
  position: relative;
}

.field-guide-page .guide-nav > div:last-child a::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}

.field-guide-page .guide-nav > div:last-child a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.field-guide-main {
  width: 100%;
  padding: 0;
}

.field-guide-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
  gap: clamp(48px, 6vw, 96px);
  align-items: center;
  width: min(1320px, calc(100% - 48px));
  min-height: 620px;
  margin-inline: auto;
  padding-top: clamp(56px, 7vw, 92px);
  border-bottom: 1px solid var(--guide-line);
}

.field-guide-hero::before {
  position: absolute;
  top: 34px;
  right: -24px;
  z-index: -1;
  width: 520px;
  height: 580px;
  border-radius: 50%;
  content: "";
  opacity: .54;
  background: radial-gradient(circle, rgba(195, 219, 255, .62), rgba(241, 247, 255, .08) 68%, transparent 72%);
  filter: blur(8px);
}

.field-guide-hero-copy {
  align-self: center;
  padding-bottom: 52px;
}

.field-guide-hero h1 {
  max-width: 670px;
  margin-bottom: 28px;
  font-size: clamp(3.4rem, 5.6vw, 5.55rem);
  line-height: .94;
  letter-spacing: -.062em;
}

.field-guide-hero .lead {
  max-width: 630px;
  color: var(--guide-muted);
  font-size: clamp(1.08rem, 1.5vw, 1.28rem);
  line-height: 1.7;
}

.field-guide-visual {
  position: relative;
  align-self: end;
  min-width: 0;
  margin: 0;
}

.field-guide-visual::before {
  position: absolute;
  inset: -22px -22px 20px 38px;
  z-index: -1;
  border: 1px solid rgba(63, 126, 238, .2);
  border-radius: 36px 36px 0 0;
  content: "";
  background: linear-gradient(145deg, rgba(233, 242, 255, .94), rgba(247, 250, 255, .42));
}

.field-guide-visual img {
  width: 100%;
  height: clamp(430px, 42vw, 590px);
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(190, 208, 235, .9);
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
  box-shadow: 0 30px 72px rgba(27, 71, 135, .18);
}

.field-guide-visual figcaption {
  position: absolute;
  right: 22px;
  bottom: 20px;
  max-width: 260px;
  padding: 9px 13px;
  border: 1px solid rgba(210, 224, 244, .86);
  border-radius: 10px;
  color: #425570;
  background: rgba(255, 255, 255, .9);
  font-size: .78rem;
  line-height: 1.35;
  box-shadow: 0 8px 24px rgba(29, 69, 129, .13);
  backdrop-filter: blur(12px);
}

.field-guide-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 780px);
  gap: clamp(52px, 7vw, 88px);
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  padding: 86px 0 34px;
}

.article-toc {
  position: sticky;
  top: 24px;
  align-self: start;
  padding-right: 26px;
  border-right: 1px solid var(--guide-line);
}

.article-toc > p {
  margin: 0 0 20px;
  color: #8694a9;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.article-toc nav {
  display: grid;
  gap: 7px;
}

.article-toc nav a {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: start;
  padding: 8px 0;
  color: #687991;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}

.article-toc nav a:first-child,
.article-toc nav a:hover {
  color: var(--blue);
  transform: translateX(3px);
}

.article-toc nav a span {
  color: #9aabc0;
  font-size: .74rem;
  letter-spacing: .05em;
}

.toc-next {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid var(--guide-line);
  color: var(--blue);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.toc-next span {
  font-size: 1.1rem;
}

.field-guide-article {
  min-width: 0;
}

.field-guide-article > section {
  padding: 0 0 78px;
  scroll-margin-top: 26px;
}

.article-section-marker {
  display: flex;
  gap: 18px;
  align-items: center;
}

.article-section-marker span {
  color: var(--blue);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.article-section-marker i {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #b9cff1, transparent);
}

.field-guide-article h2 {
  margin: 27px 0 18px;
  color: var(--guide-ink);
  font-size: clamp(1.9rem, 3vw, 2.55rem);
  line-height: 1.13;
  letter-spacing: -.04em;
}

.field-guide-article p {
  max-width: 730px;
  margin: 0;
  color: var(--guide-muted);
  font-size: clamp(1.03rem, 1.3vw, 1.14rem);
  line-height: 1.88;
}

.field-guide-related {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 34px;
  width: min(1180px, calc(100% - 48px));
  margin: 8px auto 94px;
  padding: 34px;
  border: 1px solid #d4e2f5;
  border-radius: 24px;
  background: linear-gradient(135deg, #f4f8ff, #fff 56%, #eef5ff);
  box-shadow: 0 18px 55px rgba(47, 91, 153, .08);
}

.related-guides-icon {
  display: grid;
  place-items: center;
  min-height: 150px;
  border-radius: 17px;
  background: linear-gradient(145deg, #0f70ff, #0754d7);
  box-shadow: 0 15px 35px rgba(8, 102, 255, .22);
}

.related-guides-icon svg {
  width: 52px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.related-guides-list h2 {
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  letter-spacing: -.04em;
}

.related-guides-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.related-guides-list li + li {
  border-top: 1px solid var(--guide-line);
}

.related-guides-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 12px 2px;
  color: #24415f;
  font-weight: 750;
  text-decoration: none;
}

.related-guides-list a b {
  color: var(--blue);
  font-size: 1.25rem;
  transition: transform .2s ease;
}

.related-guides-list a:hover b {
  transform: translateX(4px);
}

.editorial-footer {
  border-top: 1px solid var(--guide-line);
  background: #f5f8fd;
}

.editorial-footer-inner {
  display: grid;
  grid-template-columns: 1.5fr .75fr .75fr 1fr;
  gap: clamp(32px, 6vw, 76px);
  align-items: start;
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  padding: 58px 0 48px;
}

.footer-brand p {
  margin: 18px 0 0;
  color: #6c7d94;
  font-size: .94rem;
  line-height: 1.6;
}

.editorial-footer nav {
  display: grid;
  gap: 10px;
}

.editorial-footer nav strong {
  margin-bottom: 4px;
  color: #8391a6;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.editorial-footer nav a {
  color: #364d68;
  font-size: .9rem;
  font-weight: 650;
  text-decoration: none;
}

.footer-chrome-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 48px;
  padding: 0 17px;
  border-radius: 11px;
  color: #fff;
  background: #0866ff;
  font-size: .9rem;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(8, 102, 255, .2);
}

.footer-chrome-link:hover {
  color: #fff;
  background: #0757d8;
}

.editorial-footer-bottom {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  padding: 19px 0 25px;
  border-top: 1px solid var(--guide-line);
  color: #8795a8;
  font-size: .78rem;
}

@media (max-width: 920px) {
  .field-guide-hero {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 62px;
  }

  .field-guide-hero-copy {
    padding-bottom: 0;
  }

  .field-guide-visual {
    width: min(720px, 100%);
  }

  .field-guide-visual img {
    height: min(72vw, 560px);
  }

  .field-guide-layout {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .article-toc {
    position: static;
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 0 0 28px;
    border-right: 0;
    border-bottom: 1px solid var(--guide-line);
  }

  .article-toc > p {
    grid-column: 1 / -1;
  }

  .article-toc nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .toc-next {
    align-self: center;
    margin: 0 0 0 25px;
    padding: 0 0 0 25px;
    border-top: 0;
    border-left: 1px solid var(--guide-line);
  }

  .editorial-footer-inner {
    grid-template-columns: 1.3fr 1fr 1fr;
  }

  .footer-chrome-link {
    grid-column: 1 / -1;
    max-width: 280px;
  }
}


.author-publication-page .publication-author-portrait {
  display: grid;
  grid-template-columns: minmax(260px, 520px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: end;
  width: 100%;
  margin: clamp(34px, 5vw, 70px) 0;
  padding: clamp(22px, 3vw, 42px);
  border: 1px solid #dce5f0;
  background: linear-gradient(120deg, #f4f8ff, #fff8e8);
}

.author-publication-page .publication-author-portrait img {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
  object-position: center 22%;
}

.author-publication-page .publication-author-portrait figcaption {
  padding-bottom: 12px;
  color: #53627a;
  font: 700 clamp(1.1rem, 1.7vw, 1.6rem)/1.45 Georgia, "Times New Roman", serif;
}

.author-publication-page .publication-copy ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 38px;
  padding-left: 1.2em;
}

@media (max-width: 720px) {
  .author-publication-page .publication-author-portrait,
  .author-publication-page .publication-copy ul {
    grid-template-columns: 1fr;
  }
}

/* Chrome install actions use the familiar browser mark and one canonical
   visual treatment across article headers, guide CTAs, and the journal. */
.chrome-store-mark {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 2px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 2px 8px rgba(7, 33, 77, .2);
}

.publication-store {
  gap: 9px;
  min-height: 46px;
  padding: 0 20px 0 14px;
  border: 1px solid rgba(255, 255, 255, .72);
  background: linear-gradient(135deg, #0878ff, #075be4);
  box-shadow: 0 12px 30px rgba(8, 104, 246, .26);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.publication-store:hover {
  color: #fff;
  background: linear-gradient(135deg, #087fff, #064fcf);
  box-shadow: 0 16px 34px rgba(8, 104, 246, .32);
  transform: translateY(-2px);
}

.publication-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  margin-top: 20px;
  padding: 0 20px 0 14px;
  border-radius: 14px;
  color: #fff !important;
  background: linear-gradient(135deg, #0878ff, #075be4 62%, #6849ed);
  box-shadow: 0 14px 34px rgba(8, 104, 246, .25);
  font: 800 .95rem/1 Inter, system-ui, sans-serif;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.publication-cta:hover {
  box-shadow: 0 18px 38px rgba(8, 104, 246, .32);
  transform: translateY(-2px);
}

.publication-cta b {
  font-size: 1.15em;
  transition: transform .2s ease;
}

.publication-cta:hover b {
  transform: translateX(3px);
}

.journal-chrome-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px 0 7px;
  border-radius: 999px;
  color: #fff !important;
  background: #075fe9;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(7, 95, 233, .2);
  transition: transform .2s ease, background .2s ease;
}

.journal-chrome-link:hover {
  background: #064fcf;
  transform: translateY(-1px);
}

.journal-chrome-link .chrome-store-mark {
  width: 18px;
  height: 18px;
  padding: 1px;
}

.publication-store:focus-visible,
.publication-cta:focus-visible,
.journal-chrome-link:focus-visible {
  outline: 3px solid rgba(8, 104, 246, .38);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .publication-store,
  .publication-cta,
  .publication-cta b,
  .journal-chrome-link {
    transition: none;
  }
}

@media (max-width: 600px) {
  .publication-store {
    min-height: 40px;
    padding: 0 13px 0 9px;
  }

  .publication-store .chrome-store-mark {
    width: 20px;
    height: 20px;
  }

  .publication-cta {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .field-guide-page .guide-nav,
  .field-guide-hero,
  .field-guide-layout,
  .field-guide-related,
  .editorial-footer-inner,
  .editorial-footer-bottom {
    width: min(100% - 28px, 1180px);
  }

  .field-guide-hero {
    min-height: auto;
    padding-top: 48px;
  }

  .field-guide-hero::before {
    right: 0;
    width: 330px;
    height: 420px;
  }

  .field-guide-hero h1 {
    font-size: clamp(2.65rem, 13vw, 4rem);
    overflow-wrap: normal;
  }

  .field-guide-visual::before {
    inset: -10px 0 12px 18px;
  }

  .field-guide-visual img {
    height: 82vw;
    min-height: 330px;
  }

  .field-guide-visual figcaption {
    right: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
  }

  .field-guide-layout {
    padding-top: 58px;
  }

  .article-toc {
    display: block;
  }

  .article-toc nav {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .toc-next {
    margin: 18px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--guide-line);
    border-left: 0;
  }

  .field-guide-article > section {
    padding-bottom: 62px;
  }

  .field-guide-related {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 22px;
  }

  .related-guides-icon {
    min-height: 92px;
  }

  .editorial-footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand,
  .footer-chrome-link {
    grid-column: 1 / -1;
  }
}

/* Final cascade lock for the 2026 editorial layout. */
.publication-header-inner { width: min(100% - 48px, 1440px); min-height: 76px; height: auto; grid-template-columns: minmax(220px, 1fr) auto minmax(180px, 1fr); }
.publication-header nav { display: flex; justify-content: center; gap: clamp(18px, 2.2vw, 34px); }
.publication-store { justify-self: end; display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 20px; border-radius: 999px; background: #0868f6; color: #fff; font-weight: 800; text-decoration: none; }
.library-main { width: min(100% - 64px, 1440px); padding: 72px 0 112px; }
.library-hero { grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: clamp(42px, 7vw, 112px); padding: 28px 0 54px; }
.library-hero h1 { max-width: 980px; font-size: clamp(3.8rem, 7vw, 7.8rem); line-height: .88; }
.library-lead { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .65fr); gap: clamp(34px, 5vw, 72px); align-items: center; margin: 52px 0 46px; padding-bottom: 48px; border-bottom: 2px solid #0d2348; }
.library-lead-image { display: block; overflow: hidden; min-height: 470px; border-radius: 5px; }
.library-lead-image img { width: 100%; height: 100%; min-height: 470px; aspect-ratio: 16 / 9; object-fit: cover; }
.library-lead-copy h2 { margin: 14px 0 18px; font-size: clamp(2.2rem, 3.8vw, 4.25rem); line-height: .98; }
.library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 28px; }
.library-card, .library-card-featured { display: flex; flex-direction: column; grid-column: auto; min-width: 0; border: 0; border-top: 1px solid rgba(9,35,76,.22); border-radius: 0; background: transparent; box-shadow: none; }
.library-card-visual, .library-card-featured .library-card-visual { width: 100%; min-height: 0; aspect-ratio: 16 / 10; margin-top: 14px; border-radius: 4px; }
.library-card-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.library-card-copy { display: flex; flex: 1; flex-direction: column; padding: 22px 0 0; }
.publication-main { width: min(100% - 64px, 1480px); grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); gap: clamp(42px, 5vw, 78px); }
.publication-rail { position: sticky; top: 104px; grid-column: 1; grid-row: 1; padding-right: 26px; border-right: 1px solid rgba(11,36,78,.14); }
.publication-article { grid-column: 2; width: 100%; min-width: 0; max-width: 1120px; }
.publication-article-header h1 { max-width: 1040px; font-size: clamp(3.6rem, 6.2vw, 6.8rem); line-height: .94; }
.publication-copy { max-width: 940px; }
.publication-copy p { font-size: clamp(1.02rem, 1.25vw, 1.18rem); line-height: 1.86; }
.publication-hero img { height: auto; min-height: 460px; max-height: 720px; aspect-ratio: 16 / 9; border-radius: 12px; object-fit: cover; }
.article-inline-visual { width: 100%; max-width: 1080px; margin: 46px 0 50px; }
.article-inline-visual img { width: 100%; aspect-ratio: 16 / 9; border-radius: 12px; object-fit: cover; }
.reading-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1080px) {
  .publication-header-inner { grid-template-columns: 1fr auto; padding: 12px 0; }
  .publication-header nav { grid-column: 1 / -1; grid-row: 2; padding-top: 12px; border-top: 1px solid rgba(18,51,102,.1); }
  .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .library-lead { grid-template-columns: 1.2fr .8fr; }
}

@media (max-width: 780px) {
  .publication-header { position: static; }
  .publication-header-inner { width: min(100% - 28px, 680px); }
  .publication-header nav { justify-content: flex-start; overflow-x: auto; }
  .library-main { width: min(100% - 28px, 680px); padding-top: 42px; }
  .library-hero, .library-lead { grid-template-columns: 1fr; }
  .library-grid { grid-template-columns: 1fr; }
  .library-lead-image, .library-lead-image img { min-height: 300px; }
  .publication-main { width: min(100% - 28px, 720px); grid-template-columns: 1fr; gap: 28px; }
  .publication-rail { position: static; grid-column: 1; grid-row: auto; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid rgba(11,36,78,.14); }
  .publication-article { grid-column: 1; }
  .publication-hero img { min-height: 280px; }
}

/* --------------------------------------------------------------------------
   GG Transcript Journal home — approved cream e-newspaper composition.
   The real GG logo and real editorial media provide the visual character;
   layout, rules, type, and movement are all native CSS for crisp interaction.
   -------------------------------------------------------------------------- */
.home-journal {
  --journal-cream: #faf6ed;
  --journal-ink: #071a40;
  --journal-muted: #5d6573;
  --journal-line: rgba(7, 26, 64, .22);
  --journal-blue: #075fe9;
  margin: 0;
  color: var(--journal-ink);
  background:
    radial-gradient(circle at 100% 78%, rgba(115, 85, 239, .10), transparent 18rem),
    radial-gradient(circle at 0% 30%, rgba(15, 105, 245, .08), transparent 22rem),
    var(--journal-cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.home-journal::before {
  position: fixed;
  inset: auto auto 4vh -8rem;
  z-index: -1;
  width: 19rem;
  height: 19rem;
  border: 2px solid rgba(7, 95, 233, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 3.8rem rgba(115, 85, 239, .045), 0 0 0 7.6rem rgba(7, 95, 233, .025);
  content: "";
  pointer-events: none;
}
.home-journal .news-skip-link { background: var(--journal-blue); }
.journal-header,
.journal-main,
.journal-footer {
  width: min(100% - 64px, 1510px);
  margin-inline: auto;
}
.journal-header { padding-top: 10px; }
.journal-utility {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
  border-top: 1px solid var(--journal-ink);
  border-bottom: 1px solid var(--journal-line);
  color: var(--journal-muted);
  font-size: .74rem;
  font-weight: 700;
}
.journal-utility nav { display: flex; gap: 24px; }
.journal-utility a { color: inherit; text-decoration: none; }
.journal-utility > a { color: var(--journal-blue); }
.journal-utility a:hover { color: var(--journal-blue); }
.journal-masthead {
  display: flex;
  justify-content: center;
  padding: 22px 0 18px;
  border-bottom: 2px solid var(--journal-ink);
}
.journal-masthead a { display: inline-flex; align-items: center; gap: 16px; color: var(--journal-ink); text-decoration: none; }
.journal-masthead img { width: 58px; height: 58px; }
.journal-masthead span { font: 700 clamp(3rem, 5.7vw, 6.1rem)/.9 Georgia, "Times New Roman", serif; letter-spacing: -.066em; }
.journal-navigation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 28px;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid var(--journal-ink);
}
.journal-navigation nav { display: flex; gap: clamp(15px, 2.4vw, 37px); min-width: 0; overflow-x: auto; scrollbar-width: none; }
.journal-navigation nav::-webkit-scrollbar { display: none; }
.journal-navigation button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--journal-ink);
  background: transparent;
  font: 800 .77rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease;
}
.journal-navigation button:hover,
.journal-navigation button.is-active { color: var(--journal-blue); border-color: var(--journal-blue); }
.journal-search { margin: 0; }
.journal-search input {
  width: 100%;
  height: 34px;
  padding: 0 38px 0 13px;
  border: 1px solid rgba(7, 26, 64, .4);
  border-radius: 0;
  color: var(--journal-ink);
  background: rgba(255, 255, 255, .42) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23071a40' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.3-4.3'/%3E%3C/svg%3E") no-repeat right 12px center;
  font: .8rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
}
.journal-search input:focus-visible { outline: 3px solid rgba(7, 95, 233, .25); outline-offset: 3px; }
.journal-main { padding: 22px 0 96px; }
.journal-top { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(310px, .9fr); gap: 28px; padding: 0 0 22px; border-bottom: 1px solid var(--journal-ink); }
.journal-featured { min-width: 0; padding-right: 28px; border-right: 1px solid var(--journal-line); animation: journal-rise .7s cubic-bezier(.2,.7,.2,1) both; }
.journal-featured-image { display: block; overflow: hidden; aspect-ratio: 16 / 8.2; background: #e8e4dc; }
.journal-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.journal-featured:hover .journal-featured-image img { transform: scale(1.018); filter: saturate(1.04); }
.journal-featured > div { padding-top: 14px; }
.journal-featured small,
.journal-recent-row small,
.home-journal .guide-tag { display: block; color: var(--journal-blue); font-size: .66rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.journal-featured h1 { max-width: 940px; margin: 6px 0 9px; color: var(--journal-ink); font-size: clamp(1.65rem, 2.65vw, 3.05rem); line-height: 1.04; letter-spacing: -.048em; }
.journal-featured h1 a { color: inherit; text-decoration: none; }
.journal-featured h1 a:hover { color: var(--journal-blue); }
.journal-featured p { max-width: 760px; margin: 0 0 12px; color: #3e4655; font-size: .92rem; line-height: 1.5; }
.journal-featured > div > span { color: var(--journal-muted); font-size: .72rem; font-weight: 650; }
.journal-featured i { display: inline-block; width: 4px; height: 4px; margin: 0 9px; border-radius: 50%; background: #7b35ef; vertical-align: middle; }
.journal-recent { min-width: 0; animation: journal-rise .7s .08s cubic-bezier(.2,.7,.2,1) both; }
.journal-recent h2 { margin: 0; padding: 0 0 9px; border-bottom: 1px solid var(--journal-ink); color: var(--journal-ink); font-size: .78rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.journal-recent-row { display: grid; grid-template-columns: 114px minmax(0, 1fr); gap: 13px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--journal-line); color: var(--journal-ink); text-decoration: none; }
.journal-recent-row img { width: 114px; height: 65px; object-fit: cover; }
.journal-recent-row strong { display: -webkit-box; overflow: hidden; margin: 3px 0 4px; font-size: .84rem; line-height: 1.12; letter-spacing: -.025em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.journal-recent-row time { color: var(--journal-muted); font-size: .64rem; font-weight: 650; }
.journal-recent-row:hover strong { color: var(--journal-blue); }
.journal-recent-row-text { grid-template-columns: minmax(0, 1fr); padding-left: 14px; border-left: 3px solid color-mix(in srgb, var(--journal-blue) 64%, transparent); }
.journal-recent-row-text > span { min-width: 0; }
.journal-all-link { display: inline-block; padding-top: 12px; color: var(--journal-blue); font-size: .78rem; font-weight: 850; text-decoration: none; }
.journal-all-link span { padding-left: 4px; transition: transform .2s ease; }
.journal-all-link:hover span { display: inline-block; transform: translateX(4px); }
.home-journal .library-empty { margin: 20px 0; color: var(--journal-muted); font-size: .9rem; }
.home-journal .journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 20px 0 0; }
.home-journal .library-card,
.home-journal .library-card-featured {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 0 24px 28px;
  border: 0;
  border-right: 1px solid var(--journal-line);
  border-bottom: 1px solid var(--journal-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: journal-rise .72s cubic-bezier(.2,.7,.2,1) both;
}
.home-journal .library-card:nth-child(3n) { border-right: 0; }
.home-journal .library-card:nth-child(3n + 1) { padding-left: 0; }
.home-journal .library-card:nth-child(3n) { padding-right: 0; }
.home-journal .library-card:nth-child(n + 4) { padding-top: 28px; }
.home-journal .library-card:nth-child(2) { animation-delay: .05s; }
.home-journal .library-card:nth-child(3) { animation-delay: .1s; }
.home-journal .library-card:nth-child(4) { animation-delay: .15s; }
.home-journal .library-card-visual,
.home-journal .library-card-featured .library-card-visual { display: block; width: 100%; min-height: 0; overflow: hidden; aspect-ratio: 16 / 8.9; border-radius: 0; background: #e5e3de; }
.home-journal .library-card-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.home-journal .library-card:hover .library-card-visual img { transform: scale(1.025); filter: saturate(1.04); }
.home-journal .library-card-copy { display: flex; flex: 1; flex-direction: column; padding: 13px 0 0; }
.home-journal .library-card-copy .guide-tag { margin: 0 0 7px; }
.home-journal .library-card-copy h2 { display: -webkit-box; overflow: hidden; margin: 0 0 7px; color: var(--journal-ink); font: 800 clamp(1.08rem, 1.55vw, 1.45rem)/1.1 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: -.035em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-journal .library-card-copy h2 a { color: inherit; text-decoration: none; }
.home-journal .library-card-copy h2 a:hover { color: var(--journal-blue); }
.home-journal .library-card-copy > p { display: -webkit-box; overflow: hidden; margin: 0; color: #4f5663; font: .79rem/1.45 Inter, ui-sans-serif, system-ui, sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-journal .library-card-meta { padding-top: 11px; color: var(--journal-muted); font-size: .66rem; }
.home-journal .library-card-link { display: none; }
.home-journal .library-archive { margin-top: 58px; padding: 28px 0; border-top: 1px solid var(--journal-ink); border-bottom: 1px solid var(--journal-ink); background: transparent; }
.home-journal .library-archive h2 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.7rem, 2.5vw, 2.8rem); }
.journal-footer { display: grid; grid-template-columns: 1fr auto auto; gap: 32px; align-items: center; padding: 30px 0 46px; border-top: 1px solid var(--journal-ink); color: var(--journal-muted); font-size: .72rem; }
.journal-footer > a { display: inline-flex; gap: 9px; align-items: center; color: var(--journal-ink); font-size: .9rem; text-decoration: none; }
.journal-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.journal-footer nav a { color: inherit; text-decoration: none; }
.journal-footer nav a:hover { color: var(--journal-blue); }
@keyframes journal-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1080px) {
  .journal-top { grid-template-columns: minmax(0, 1.4fr) minmax(280px, .85fr); }
  .home-journal .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-journal .library-card:nth-child(3n) { border-right: 1px solid var(--journal-line); padding-right: 24px; }
  .home-journal .library-card:nth-child(2n) { border-right: 0; padding-right: 0; }
  .home-journal .library-card:nth-child(2n + 1) { padding-left: 0; }
}
@media (max-width: 760px) {
  .journal-header, .journal-main, .journal-footer { width: min(100% - 28px, 680px); }
  .journal-utility nav { gap: 15px; }
  .journal-masthead { justify-content: flex-start; padding: 17px 0 15px; }
  .journal-masthead img { width: 40px; height: 40px; }
  .journal-masthead span { font-size: clamp(2.35rem, 11vw, 4rem); }
  .journal-navigation { grid-template-columns: 1fr; gap: 0; padding: 0 0 12px; }
  .journal-navigation nav { gap: 22px; }
  .journal-navigation button { min-height: 40px; }
  .journal-search { margin-top: 6px; }
  .journal-top { grid-template-columns: 1fr; gap: 28px; }
  .journal-featured { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid var(--journal-line); }
  .journal-recent-row { grid-template-columns: 100px minmax(0, 1fr); }
  .journal-recent-row img { width: 100px; }
  .home-journal .journal-grid { grid-template-columns: 1fr; padding-top: 0; }
  .home-journal .library-card,
  .home-journal .library-card:nth-child(n) { padding: 25px 0; border-right: 0; }
  .home-journal .library-card-visual { aspect-ratio: 16 / 9.2; }
  .home-journal .library-card-copy h2 { font-size: 1.35rem; }
  .home-journal .library-archive { grid-template-columns: 1fr; gap: 22px; margin-top: 42px; }
  .journal-footer { grid-template-columns: 1fr; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-journal *, .home-journal *::before, .home-journal *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Journal homepage refinement: wide, quiet, and editorial rather than boxed. */
.home-journal {
  background: #faf6ed;
}

.home-journal::before {
  display: none;
}

.journal-header,
.journal-main,
.journal-footer {
  width: calc(100% - 48px);
  max-width: none;
}

.journal-header {
  padding-top: 0;
}

.journal-utility {
  min-height: 38px;
  border-top: 0;
  font-size: .77rem;
}

.journal-masthead {
  padding: 15px 0 14px;
}

.journal-masthead img {
  width: 54px;
  height: 54px;
}

.journal-masthead span {
  font-size: clamp(2.75rem, 5.15vw, 5.45rem);
  letter-spacing: -.062em;
}

.journal-navigation {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 292px);
  gap: 24px;
  min-height: 50px;
}

.journal-navigation button {
  min-height: 38px;
  font-size: .73rem;
}

.journal-main {
  padding: 20px 0 58px;
}

.journal-top {
  grid-template-columns: minmax(0, 1.82fr) minmax(300px, .82fr);
  gap: 26px;
  padding-bottom: 19px;
}

.journal-featured {
  padding-right: 26px;
}

.journal-featured-image {
  aspect-ratio: 16 / 6.2;
}

.journal-featured > div {
  padding-top: 11px;
}

.journal-featured h1 {
  max-width: 780px;
  margin: 5px 0 7px;
  font-size: clamp(1.3rem, 1.55vw, 1.8rem);
  line-height: 1.08;
}

.journal-featured p {
  display: -webkit-box;
  max-width: 760px;
  margin-bottom: 8px;
  overflow: hidden;
  font-size: .84rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.journal-featured > div > span {
  font-size: .69rem;
}

.journal-recent-row {
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
}

.journal-recent-row img {
  width: 126px;
  height: 62px;
  border-radius: 3px;
}

.journal-recent-row strong {
  margin: 2px 0 3px;
  font-size: .8rem;
  line-height: 1.13;
}

.journal-recent-row small,
.journal-featured small,
.home-journal .guide-tag {
  font-size: .62rem;
}

.home-journal .journal-grid {
  gap: 0 28px;
  padding-top: 16px;
}

.home-journal .library-card,
.home-journal .library-card-featured {
  padding-bottom: 24px;
  border-right: 0;
}

.home-journal .library-card:nth-child(n) {
  padding-left: 0;
  padding-right: 0;
}

.home-journal .library-card:not(:nth-child(3n)) {
  padding-right: 28px;
  border-right: 1px solid var(--journal-line);
}

.home-journal .library-card:nth-child(n + 4) {
  padding-top: 24px;
}

.home-journal .library-card-visual,
.home-journal .library-card-featured .library-card-visual {
  aspect-ratio: 16 / 6.7;
  border-radius: 4px;
}

.home-journal .library-card-copy {
  padding-top: 10px;
}

.home-journal .library-card-copy h2 {
  margin-bottom: 5px;
  font-size: clamp(1rem, 1.22vw, 1.25rem);
  line-height: 1.12;
}

.home-journal .library-card-copy > p {
  font-size: .73rem;
  line-height: 1.38;
  -webkit-line-clamp: 1;
}

.home-journal .library-card-meta {
  padding-top: 8px;
}

.home-journal .library-archive {
  display: none;
}

.journal-footer {
  min-height: 84px;
  padding: 24px 0 28px;
}

@media (max-width: 1080px) {
  .journal-top {
    grid-template-columns: minmax(0, 1.5fr) minmax(270px, .8fr);
  }

  .home-journal .library-card:not(:nth-child(3n)) {
    padding-right: 0;
    border-right: 0;
  }

  .home-journal .library-card:not(:nth-child(2n)) {
    padding-right: 24px;
    border-right: 1px solid var(--journal-line);
  }
}

@media (max-width: 760px) {
  .journal-header,
  .journal-main,
  .journal-footer {
    width: calc(100% - 28px);
  }

  .journal-masthead {
    padding: 14px 0 13px;
  }

  .journal-featured-image {
    aspect-ratio: 16 / 8.6;
  }

  .journal-top,
  .home-journal .journal-grid {
    grid-template-columns: 1fr;
  }

  .home-journal .library-card:not(:nth-child(2n)) {
    border-right: 0;
    padding-right: 0;
  }
}

/* --------------------------------------------------------------------------
   Responsive article scale and width repair.
   Editorial pages previously kept a 730px title and 680px prose measure even
   on laptop and desktop monitors. That made headlines stack one or two words
   per line and left most of the viewport empty. The outer article now follows
   the device width while the prose grows to a generous, still-readable line.
   -------------------------------------------------------------------------- */
.publication-page .publication-header-inner,
.publication-page .publication-main,
.publication-page .publication-footer-inner {
  width: calc(100% - clamp(32px, 5vw, 112px));
  max-width: none;
}

.publication-page .publication-main {
  grid-template-columns: clamp(190px, 15vw, 270px) minmax(0, 1fr);
  column-gap: clamp(40px, 5vw, 96px);
}

.publication-page .publication-article {
  width: 100%;
  max-width: none;
}

.publication-page .publication-article-header {
  width: 100%;
  max-width: 1500px;
}

.publication-page .publication-article-header h1 {
  max-width: 1450px;
  font-size: clamp(3rem, 3.55vw, 5.3rem);
  line-height: .98;
  letter-spacing: -.043em;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.publication-page .publication-deck {
  max-width: 1060px;
  font-size: clamp(1.25rem, 1.25vw, 1.55rem);
}

.publication-page .publication-hero {
  width: 100%;
  max-width: none;
}

.publication-page .publication-copy,
.publication-page .publication-signature {
  width: min(1180px, 100%);
  max-width: none;
}

.publication-page .publication-copy,
.publication-page .publication-copy p {
  font-size: clamp(1.25rem, 1.2vw, 1.48rem);
  line-height: 1.78;
}

.publication-page .publication-copy .publication-opening {
  font-size: clamp(1.34rem, 1.32vw, 1.58rem);
}

.publication-page .publication-copy h2,
.publication-page .editorial-prose h2 {
  max-width: 980px;
  font-size: clamp(2rem, 2.45vw, 3rem);
  text-wrap: balance;
}

.publication-page .live-transcript-reading {
  width: 100%;
  max-width: none;
}

/* The older SEO-guide article template shares this stylesheet. Give it the
   same comfortable type scale and device-aware horizontal frame. */
.article-main {
  width: calc(100% - clamp(32px, 5vw, 112px));
  max-width: none;
}

.article-main .article-hero {
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(42px, 5vw, 96px);
}

.article-main .article-hero h1 {
  max-width: 1200px;
  font-size: clamp(3rem, 3.75vw, 5.35rem);
  line-height: .98;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.article-main .article-body {
  width: min(1120px, 100%);
  font-size: clamp(1.22rem, 1.15vw, 1.44rem);
}

.article-main .editorial-story {
  font-size: clamp(1.25rem, 1.2vw, 1.48rem);
  line-height: 1.78;
}

@media (min-width: 1900px) {
  .publication-page .publication-copy,
  .publication-page .publication-signature,
  .article-main .article-body {
    width: min(1360px, 100%);
  }

  .publication-page .publication-article-header {
    max-width: 1760px;
  }

  .publication-page .publication-article-header h1 {
    max-width: 1700px;
  }
}

@media (max-width: 900px) {
  .publication-page .publication-main {
    width: min(100% - 36px, 820px);
    grid-template-columns: 1fr;
  }

  .publication-page .publication-article-header h1,
  .article-main .article-hero h1 {
    font-size: clamp(2.7rem, 8vw, 4.3rem);
  }

  .article-main {
    width: min(100% - 36px, 820px);
  }

  .article-main .article-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .publication-page .publication-header-inner,
  .publication-page .publication-main,
  .publication-page .publication-footer-inner,
  .article-main {
    width: calc(100% - 28px);
  }

  .publication-page .publication-article-header h1,
  .article-main .article-hero h1 {
    font-size: clamp(2.35rem, 10.5vw, 3.35rem);
    line-height: 1;
    overflow-wrap: break-word;
  }

  .publication-page .publication-copy,
  .publication-page .publication-copy p,
  .article-main .article-body,
  .article-main .editorial-story {
    font-size: 1.12rem;
    line-height: 1.72;
  }
}

/* Keep CTA branding authoritative after the legacy editorial cascade lock. */
.publication-store {
  gap: 9px;
  min-height: 46px;
  padding: 0 20px 0 14px;
  border: 1px solid rgba(255, 255, 255, .72);
  background: linear-gradient(135deg, #0878ff, #075be4);
  box-shadow: 0 12px 30px rgba(8, 104, 246, .26);
}

.journal-utility .journal-chrome-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px 0 7px;
  border-radius: 999px;
  color: #fff;
  background: #075fe9;
  text-decoration: none;
}

.article-cta a {
  align-items: center;
  gap: 9px;
}

@media (max-width: 600px) {
  .publication-store {
    min-height: 40px;
    padding: 0 13px 0 9px;
  }
}

/* --------------------------------------------------------------------------
   Full-width editorial reading canvas.

   The publication templates have accumulated a few older 680–800px measures.
   Keep this block last so every generated blog article and guide gets the same
   generous desktop canvas, larger typography, and responsive edge gutters.
   -------------------------------------------------------------------------- */
.publication-page .publication-header-inner,
.publication-page .publication-main,
.publication-page .publication-footer-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-right: clamp(24px, 3.25vw, 72px);
  padding-left: clamp(24px, 3.25vw, 72px);
}

.publication-page .publication-main {
  grid-template-columns: clamp(210px, 15vw, 300px) minmax(0, 1fr);
  column-gap: clamp(38px, 4vw, 88px);
}

.publication-page .publication-article,
.publication-page .publication-article-header,
.publication-page .publication-hero,
.publication-page .publication-copy,
.publication-page .publication-signature,
.publication-page .live-transcript-reading {
  width: 100%;
  max-width: none;
}

.publication-page .publication-article-header h1 {
  max-width: min(1640px, 100%);
  font-size: clamp(3.35rem, 4.25vw, 6.5rem);
}

.publication-page .publication-deck {
  max-width: 1280px;
  font-size: clamp(1.35rem, 1.45vw, 1.78rem);
}

.publication-page .publication-hero img {
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}

.publication-page .publication-copy,
.publication-page .publication-copy p,
.publication-page .publication-copy li {
  font-size: clamp(1.32rem, 1.42vw, 1.72rem);
  line-height: 1.75;
}

.publication-page .publication-copy .publication-opening {
  font-size: clamp(1.46rem, 1.6vw, 1.92rem);
}

.publication-page .publication-copy h2,
.publication-page .editorial-prose h2 {
  max-width: 1320px;
  font-size: clamp(2.25rem, 2.85vw, 3.85rem);
}

.publication-page .reading-grid,
.publication-page .reading-grid-featured,
.publication-page .reading-grid-compact {
  width: 100%;
  max-width: none;
}

/* Legacy guide articles use .article-main rather than .publication-main. */
.article-main {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-right: clamp(24px, 3.25vw, 72px);
  padding-left: clamp(24px, 3.25vw, 72px);
}

.article-main .article-body,
.article-main .editorial-story,
.article-main .related-guides {
  width: 100%;
  max-width: none;
}

.article-main .article-body,
.article-main .editorial-story,
.article-main .article-body p,
.article-main .article-body li {
  font-size: clamp(1.28rem, 1.36vw, 1.66rem);
  line-height: 1.76;
}

@media (max-width: 900px) {
  .publication-page .publication-header-inner,
  .publication-page .publication-main,
  .publication-page .publication-footer-inner,
  .article-main {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }

  .publication-page .publication-main {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .publication-page .publication-header-inner,
  .publication-page .publication-main,
  .publication-page .publication-footer-inner,
  .article-main {
    padding-right: 14px;
    padding-left: 14px;
  }

  .publication-page .publication-copy,
  .publication-page .publication-copy p,
  .publication-page .publication-copy li,
  .article-main .article-body,
  .article-main .editorial-story,
  .article-main .article-body p,
  .article-main .article-body li {
    font-size: 1.15rem;
    line-height: 1.72;
  }
}
/* --------------------------------------------------------------------------
   2026 journal composition: balanced page gutters, clearer editorial rhythm,
   and a left-shifted article canvas without crowding either screen edge.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) {
  .publication-page .publication-header-inner,
  .publication-page .publication-main,
  .publication-page .publication-footer-inner {
    padding-right: clamp(42px, 4vw, 76px);
    padding-left: clamp(42px, 4vw, 76px);
  }

  .publication-page .publication-main {
    grid-template-columns: clamp(160px, 10.5vw, 215px) minmax(0, 1fr);
    column-gap: clamp(28px, 2.75vw, 52px);
  }
}

.home-journal {
  --journal-paper: #ffffff;
  --journal-soft: #f3f7fd;
  --journal-ink: #0b1d3a;
  --journal-muted: #60708a;
  --journal-line: rgba(18, 49, 91, .17);
  --journal-blue: #0866ef;
  background:
    radial-gradient(circle at 94% 2%, rgba(57, 132, 255, .105), transparent 26rem),
    linear-gradient(180deg, #fff 0%, #fff 62%, #f8fbff 100%);
}

.home-journal .journal-header,
.home-journal .journal-main,
.home-journal .journal-footer {
  box-sizing: border-box;
  width: min(1680px, calc(100% - clamp(56px, 8vw, 144px)));
  max-width: none;
}

.home-journal .journal-utility {
  min-height: 44px;
  border-bottom-color: var(--journal-line);
  font-size: .79rem;
}

.home-journal .journal-utility nav {
  gap: clamp(18px, 2vw, 32px);
}

.home-journal .journal-masthead {
  justify-content: flex-start;
  min-height: clamp(116px, 12vw, 178px);
  padding: clamp(26px, 3vw, 48px) 0;
  border-bottom: 3px double var(--journal-ink);
}

.home-journal .journal-masthead a {
  gap: clamp(14px, 1.5vw, 24px);
}

.home-journal .journal-masthead img {
  width: clamp(52px, 5vw, 78px);
  height: clamp(52px, 5vw, 78px);
  filter: drop-shadow(0 12px 22px rgba(8, 102, 239, .16));
}

.home-journal .journal-masthead span {
  font-size: clamp(3rem, 5.35vw, 6.35rem);
  line-height: .9;
  letter-spacing: -.064em;
}

.home-journal .journal-navigation {
  position: relative;
  z-index: 3;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);
  gap: clamp(24px, 3vw, 52px);
  min-height: 66px;
  border-bottom-color: var(--journal-line);
}

.home-journal .journal-navigation nav {
  gap: clamp(20px, 2.4vw, 42px);
}

.home-journal .journal-navigation button {
  min-height: 50px;
  font-size: .79rem;
  letter-spacing: -.01em;
}

.home-journal .journal-search input {
  height: 42px;
  padding-left: 16px;
  border-color: #bfd0e7;
  border-radius: 999px;
  background-color: #f8fbff;
  font-size: .84rem;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.home-journal .journal-search input:focus {
  border-color: var(--journal-blue);
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(8, 102, 239, .1);
}

.home-journal .journal-main {
  padding: clamp(28px, 3vw, 48px) 0 86px;
}

.home-journal .journal-top {
  grid-template-columns: minmax(0, 1.68fr) minmax(320px, .82fr);
  gap: clamp(28px, 3.2vw, 58px);
  padding-bottom: clamp(34px, 4vw, 64px);
  border-bottom-color: var(--journal-line);
}

.home-journal .journal-featured {
  padding-right: 0;
  border-right: 0;
}

.home-journal .journal-featured-image {
  aspect-ratio: 16 / 8.7;
  border-radius: 18px;
  background: #eaf1fb;
  box-shadow: 0 22px 54px rgba(23, 62, 112, .12);
}

.home-journal .journal-featured > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 28px;
  align-items: end;
  padding-top: 22px;
}

.home-journal .journal-featured small,
.home-journal .journal-featured h1,
.home-journal .journal-featured p {
  grid-column: 1;
}

.home-journal .journal-featured h1 {
  max-width: 980px;
  margin: 7px 0 8px;
  font: 700 clamp(2.05rem, 3vw, 4rem)/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

.home-journal .journal-featured p {
  max-width: 800px;
  font-size: clamp(.96rem, 1vw, 1.08rem);
  line-height: 1.58;
  -webkit-line-clamp: 2;
}

.home-journal .journal-featured > div > span {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: end;
  padding-bottom: 4px;
  white-space: nowrap;
}

.home-journal .journal-recent {
  align-self: stretch;
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid #d8e4f3;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(244, 248, 254, .96), rgba(255, 255, 255, .98));
  box-shadow: 0 18px 45px rgba(35, 73, 120, .075);
}

.home-journal .journal-recent h2 {
  padding-bottom: 13px;
  border-bottom-color: #9fb4cf;
  font-size: .76rem;
}

.home-journal .journal-recent-row {
  grid-template-columns: clamp(104px, 8vw, 136px) minmax(0, 1fr);
  gap: 15px;
  padding: 14px 0;
}

.home-journal .journal-recent-row img {
  width: 100%;
  height: 76px;
  border-radius: 8px;
}

.home-journal .journal-recent-row strong {
  margin: 4px 0 5px;
  font-size: clamp(.86rem, .9vw, .98rem);
  line-height: 1.18;
}

.home-journal .journal-all-link {
  padding-top: 18px;
  font-size: .82rem;
}

.home-journal .journal-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 clamp(22px, 2vw, 38px);
  padding-top: 34px;
}

.home-journal .library-card,
.home-journal .library-card:nth-child(n) {
  grid-column: span 4;
  padding: 0 0 34px;
  border-right: 0;
  border-bottom: 1px solid var(--journal-line);
}

.home-journal .library-card:nth-child(n + 4) {
  padding-top: 34px;
}

.home-journal .library-card:nth-child(7n + 1),
.home-journal .library-card:nth-child(7n) {
  grid-column: span 8;
}

.home-journal .library-card-visual,
.home-journal .library-card-featured .library-card-visual {
  aspect-ratio: 16 / 9.8;
  border-radius: 12px;
  background: #eaf1fb;
}

.home-journal .library-card:nth-child(7n + 1) .library-card-visual,
.home-journal .library-card:nth-child(7n) .library-card-visual {
  aspect-ratio: 16 / 7.35;
}

.home-journal .library-card-copy {
  padding-top: 17px;
}

.home-journal .library-card-copy .guide-tag {
  margin-bottom: 9px;
  font-size: .67rem;
  letter-spacing: .075em;
}

.home-journal .library-card-copy h2 {
  max-width: 880px;
  margin-bottom: 9px;
  font: 750 clamp(1.3rem, 1.65vw, 2rem)/1.08 Inter, ui-sans-serif, system-ui, sans-serif;
  -webkit-line-clamp: 3;
}

.home-journal .library-card-copy > p {
  max-width: 780px;
  font-size: clamp(.84rem, .82vw, .95rem);
  line-height: 1.55;
  -webkit-line-clamp: 3;
}

.home-journal .library-card-meta {
  padding-top: 15px;
  font-size: .72rem;
}

.home-journal .library-card-meta .library-card-link,
.home-journal .library-card-copy > .library-card-link {
  display: inline-flex;
}

.home-journal .library-archive {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: clamp(38px, 5vw, 90px);
  margin-top: 72px;
  padding: clamp(40px, 5vw, 72px);
  border: 0;
  border-radius: 20px;
  color: #fff;
  background: #0b2145;
  box-shadow: 0 24px 64px rgba(10, 33, 69, .18);
}

.home-journal .library-archive > div:first-child > span {
  color: #86b7ff;
}

.home-journal .library-archive h2 {
  margin-top: 10px;
  color: #fff;
  font: 700 clamp(2rem, 3vw, 3.6rem)/1.02 Georgia, "Times New Roman", serif;
}

.home-journal .library-archive-list a {
  border-bottom-color: rgba(255, 255, 255, .18);
  color: #fff;
}

.home-journal .library-archive-list a span {
  color: #8fbaff;
}

.home-journal .library-archive-list a:hover strong,
.home-journal .library-archive-list a:hover i {
  color: #8fc2ff;
}

.home-journal .journal-footer {
  min-height: 108px;
  padding: 32px 0 40px;
  border-top-color: var(--journal-line);
}

@media (max-width: 1120px) {
  .home-journal .journal-top {
    grid-template-columns: minmax(0, 1.35fr) minmax(290px, .78fr);
  }

  .home-journal .journal-featured > div {
    grid-template-columns: 1fr;
  }

  .home-journal .journal-featured > div > span {
    grid-column: 1;
    grid-row: auto;
  }

  .home-journal .library-card,
  .home-journal .library-card:nth-child(n),
  .home-journal .library-card:nth-child(7n + 1),
  .home-journal .library-card:nth-child(7n) {
    grid-column: span 6;
  }

  .home-journal .library-card:nth-child(n) .library-card-visual {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 760px) {
  .home-journal .journal-header,
  .home-journal .journal-main,
  .home-journal .journal-footer {
    width: calc(100% - 28px);
  }

  .home-journal .journal-utility nav a:nth-child(3) {
    display: none;
  }

  .home-journal .journal-masthead {
    min-height: 100px;
    padding: 20px 0;
  }

  .home-journal .journal-masthead span {
    font-size: clamp(2.25rem, 11vw, 3.8rem);
  }

  .home-journal .journal-navigation,
  .home-journal .journal-top,
  .home-journal .library-archive {
    grid-template-columns: 1fr;
  }

  .home-journal .journal-navigation {
    padding-bottom: 14px;
  }

  .home-journal .journal-featured-image {
    aspect-ratio: 16 / 10;
  }

  .home-journal .journal-recent {
    padding: 18px;
  }

  .home-journal .library-card,
  .home-journal .library-card:nth-child(n),
  .home-journal .library-card:nth-child(7n + 1),
  .home-journal .library-card:nth-child(7n) {
    grid-column: 1 / -1;
  }

  .home-journal .library-card:nth-child(n) .library-card-visual {
    aspect-ratio: 16 / 9.4;
  }

  .home-journal .library-archive {
    gap: 20px;
    margin-top: 48px;
    padding: 28px 22px;
  }
}

/* Polished journal cards and author-first metadata. */
.home-journal .journal-grid {
  gap: clamp(22px, 2vw, 34px);
}

.home-journal .library-card,
.home-journal .library-card:nth-child(n),
.home-journal .library-card:nth-child(7n + 1),
.home-journal .library-card:nth-child(7n) {
  padding: 14px 14px 20px;
  border: 1px solid #d7e3f2;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(31, 73, 124, 0.07);
  transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}

.home-journal .library-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 102, 239, 0.42);
  box-shadow: 0 18px 42px rgba(31, 73, 124, 0.13);
}

.home-journal .library-card-visual,
.home-journal .library-card:nth-child(n) .library-card-visual {
  overflow: hidden;
  border: 1px solid rgba(172, 194, 220, 0.56);
  border-radius: 11px;
}

.home-journal .library-card-meta {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 10px 14px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #e2eaf4;
}

.home-journal .library-card-author {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--journal-ink);
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: none;
}

.home-journal .library-card-author:hover {
  color: var(--journal-blue);
}

.home-journal .library-card-author img {
  width: 24px;
  height: 24px;
  border: 1px solid #d5e1ef;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 34%;
}

.home-journal .library-card-meta time {
  color: var(--journal-muted);
  font-size: 0.72rem;
  font-weight: 650;
  white-space: nowrap;
}

.home-journal .library-card-meta .library-card-link {
  justify-self: end;
  margin-top: 0;
  padding-top: 0;
}

@media (max-width: 760px) {
  .home-journal .journal-grid {
    gap: 20px;
  }

  .home-journal .library-card,
  .home-journal .library-card:nth-child(n),
  .home-journal .library-card:nth-child(7n + 1),
  .home-journal .library-card:nth-child(7n) {
    padding: 12px 12px 18px;
  }

  .home-journal .library-card-meta {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .home-journal .library-card-meta .library-card-link {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

/* --------------------------------------------------------------------------
   Simple journal feed — approved spacious composition.
   Two large opening stories lead into full-width rows; search/filter results
   are re-ranked into these same three layout roles by the page script.
   -------------------------------------------------------------------------- */
.home-journal .journal-main {
  padding-top: clamp(24px, 2.6vw, 42px);
}

.home-journal .journal-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 1.8vw, 28px);
  padding-top: 0;
}

.home-journal .journal-grid .library-card,
.home-journal .journal-grid .library-card:nth-child(n),
.home-journal .journal-grid .library-card:nth-child(7n + 1),
.home-journal .journal-grid .library-card:nth-child(7n) {
  position: relative;
  grid-column: 1 / -1;
  min-width: 0;
  min-height: 280px;
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid #b9cce6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 26px rgba(34, 72, 121, .065);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.home-journal .journal-grid .library-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: -1px;
  left: -1px;
  width: 66px;
  height: 3px;
  border-radius: 14px 0 999px;
  background: var(--journal-blue);
}

.home-journal .journal-grid .library-card:hover {
  transform: translateY(-2px);
  border-color: rgba(8, 102, 239, .52);
  box-shadow: 0 15px 34px rgba(34, 72, 121, .105);
}

.home-journal .journal-grid .library-card.is-feed-lead {
  grid-column: span 8;
  min-height: 470px;
  grid-template-columns: minmax(0, .9fr) minmax(310px, 1.1fr);
  grid-template-areas: "copy media";
}

.home-journal .journal-grid .library-card.is-feed-side {
  grid-column: span 4;
  min-height: 470px;
  display: flex;
  flex-direction: column;
}

.home-journal .journal-grid .library-card.is-feed-row {
  grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
}

.home-journal .journal-grid .library-card-visual,
.home-journal .journal-grid .library-card:nth-child(n) .library-card-visual {
  width: 100%;
  height: 100%;
  min-height: 250px;
  aspect-ratio: auto;
  overflow: hidden;
  border: 0;
  border-radius: 9px;
  background: #eaf1fb;
}

.home-journal .journal-grid .library-card.is-feed-lead .library-card-visual {
  grid-area: media;
}

.home-journal .journal-grid .library-card.is-feed-side .library-card-visual {
  flex: 0 0 47%;
  min-height: 0;
  order: 2;
}

.home-journal .journal-grid .library-card-visual img,
.home-journal .journal-grid .library-card-visual.library-card-photo img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.home-journal .journal-grid .library-card-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 2.2vw, 36px);
}

.home-journal .journal-grid .library-card.is-feed-lead .library-card-copy {
  grid-area: copy;
  padding: clamp(26px, 2.6vw, 44px) clamp(24px, 2.5vw, 42px);
}

.home-journal .journal-grid .library-card.is-feed-side .library-card-copy {
  flex: 1 1 auto;
  padding: 22px 22px 18px;
}

.home-journal .journal-grid .guide-tag {
  display: none;
}

.home-journal .journal-grid .library-card-copy h2 {
  max-width: 820px;
  margin: 0 0 12px;
  font: 700 clamp(1.75rem, 2.25vw, 2.75rem)/1.02 Georgia, "Times New Roman", serif;
  letter-spacing: -.04em;
  -webkit-line-clamp: 3;
}

.home-journal .journal-grid .library-card.is-feed-lead h2 {
  font-size: clamp(2.15rem, 3.3vw, 4.15rem);
  line-height: .98;
}

.home-journal .journal-grid .library-card.is-feed-side h2 {
  font-size: clamp(1.7rem, 2.1vw, 2.45rem);
}

.home-journal .journal-grid .library-card-copy > p {
  max-width: 760px;
  margin: 0;
  color: #536783;
  font: clamp(.94rem, .92vw, 1.05rem)/1.58 Inter, ui-sans-serif, system-ui, sans-serif;
  -webkit-line-clamp: 3;
}

.home-journal .journal-grid .library-card.is-feed-side .library-card-copy > p {
  -webkit-line-clamp: 2;
}

.home-journal .journal-grid .library-card-meta {
  grid-template-columns: auto auto minmax(96px, 1fr);
  gap: 10px 14px;
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid #dce7f4;
}

.home-journal .journal-grid .library-card.is-feed-side .library-card-meta {
  grid-template-columns: minmax(0, 1fr) auto;
}

.home-journal .journal-grid .library-card.is-feed-side .library-card-link {
  grid-column: 1 / -1;
  justify-self: start;
}

.home-journal .library-archive {
  display: none;
}

@media (max-width: 1080px) {
  .home-journal .journal-grid .library-card.is-feed-lead,
  .home-journal .journal-grid .library-card.is-feed-side {
    grid-column: 1 / -1;
  }

  .home-journal .journal-grid .library-card.is-feed-side {
    min-height: 290px;
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  }

  .home-journal .journal-grid .library-card.is-feed-side .library-card-visual {
    min-height: 260px;
    order: initial;
  }
}

@media (max-width: 760px) {
  .home-journal .journal-navigation {
    gap: 12px;
  }

  .home-journal .journal-navigation nav {
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .home-journal .journal-grid .library-card,
  .home-journal .journal-grid .library-card:nth-child(n),
  .home-journal .journal-grid .library-card:nth-child(7n + 1),
  .home-journal .journal-grid .library-card:nth-child(7n),
  .home-journal .journal-grid .library-card.is-feed-lead,
  .home-journal .journal-grid .library-card.is-feed-side,
  .home-journal .journal-grid .library-card.is-feed-row {
    grid-column: 1 / -1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 9px;
  }

  .home-journal .journal-grid .library-card-visual,
  .home-journal .journal-grid .library-card:nth-child(n) .library-card-visual,
  .home-journal .journal-grid .library-card.is-feed-side .library-card-visual {
    flex: none;
    min-height: 0;
    aspect-ratio: 16 / 9.5;
    order: initial;
  }

  .home-journal .journal-grid .library-card-copy,
  .home-journal .journal-grid .library-card.is-feed-lead .library-card-copy,
  .home-journal .journal-grid .library-card.is-feed-side .library-card-copy {
    padding: 20px 14px 14px;
  }

  .home-journal .journal-grid .library-card-copy h2,
  .home-journal .journal-grid .library-card.is-feed-lead h2,
  .home-journal .journal-grid .library-card.is-feed-side h2 {
    font-size: clamp(1.75rem, 8.5vw, 2.45rem);
  }

  .home-journal .journal-grid .library-card-meta,
  .home-journal .journal-grid .library-card.is-feed-side .library-card-meta {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .home-journal .journal-grid .library-card-meta .library-card-link {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

/* --------------------------------------------------------------------------
   Live journal homepage restoration.
   Keep this blog-index-only block after the experimental feed rules so the
   deployed newspaper composition remains authoritative without changing any
   article or guide page.
   -------------------------------------------------------------------------- */
.home-journal {
  --journal-cream: #faf6ed;
  --journal-ink: #071a40;
  --journal-muted: #5d6573;
  --journal-line: rgba(7, 26, 64, .22);
  --journal-blue: #075fe9;
  background: var(--journal-cream);
}

.home-journal::before {
  display: none;
}

.home-journal .journal-header,
.home-journal .journal-main,
.home-journal .journal-footer {
  box-sizing: border-box;
  width: calc(100% - 48px);
  max-width: none;
  margin-inline: auto;
}

.home-journal .journal-header {
  padding-top: 0;
}

.home-journal .journal-utility {
  min-height: 38px;
  border-top: 0;
  border-bottom-color: var(--journal-line);
  font-size: .77rem;
}

.home-journal .journal-masthead {
  justify-content: center;
  min-height: 0;
  padding: 15px 0 14px;
  border-bottom: 2px solid var(--journal-ink);
}

.home-journal .journal-masthead a {
  gap: 16px;
}

.home-journal .journal-masthead img {
  width: 54px;
  height: 54px;
  filter: none;
}

.home-journal .journal-masthead span {
  font-size: clamp(2.75rem, 5.15vw, 5.45rem);
  line-height: .9;
  letter-spacing: -.062em;
}

.home-journal .journal-navigation {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 292px);
  gap: 24px;
  min-height: 50px;
  border-bottom-color: var(--journal-ink);
}

.home-journal .journal-navigation nav {
  gap: clamp(15px, 2.4vw, 37px);
}

.home-journal .journal-navigation button {
  min-height: 38px;
  font-size: .73rem;
}

.home-journal .journal-search input {
  height: 34px;
  padding: 0 38px 0 13px;
  border: 1px solid rgba(7, 26, 64, .4);
  border-radius: 0;
  background-color: rgba(255, 255, 255, .42);
  font-size: .8rem;
  box-shadow: none;
}

.home-journal .journal-main {
  padding: 20px 0 58px;
}

.home-journal .journal-top {
  display: grid;
  grid-template-columns: minmax(0, 1.82fr) minmax(300px, .82fr);
  gap: 26px;
  padding: 0 0 19px;
  border-bottom: 1px solid var(--journal-ink);
}

.home-journal .journal-featured {
  min-width: 0;
  padding: 0 26px 0 0;
  border-right: 1px solid var(--journal-line);
  border-bottom: 0;
}

.home-journal .journal-featured-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 6.2;
  border-radius: 0;
  background: #e8e4dc;
  box-shadow: none;
}

.home-journal .journal-featured > div {
  display: block;
  padding-top: 11px;
}

.home-journal .journal-featured small,
.home-journal .journal-featured h1,
.home-journal .journal-featured p {
  display: block;
}

.home-journal .journal-featured h1 {
  max-width: 780px;
  margin: 5px 0 7px;
  font: 800 clamp(1.3rem, 1.55vw, 1.8rem)/1.08 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -.048em;
}

.home-journal .journal-featured p {
  display: -webkit-box;
  max-width: 760px;
  margin: 0 0 8px;
  overflow: hidden;
  font-size: .84rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.home-journal .journal-featured > div > span {
  display: inline;
  padding: 0;
  font-size: .69rem;
  white-space: normal;
}

.home-journal .journal-recent {
  min-width: 0;
  align-self: stretch;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-journal .journal-recent h2 {
  margin: 0;
  padding: 0 0 9px;
  border-bottom: 1px solid var(--journal-ink);
  font-size: .78rem;
}

.home-journal .journal-recent-row {
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
}

.home-journal .journal-recent-row img {
  width: 126px;
  height: 62px;
  border-radius: 3px;
}

.home-journal .journal-recent-row strong {
  margin: 2px 0 3px;
  font-size: .8rem;
  line-height: 1.13;
}

.home-journal .journal-recent-row small,
.home-journal .journal-featured small,
.home-journal .guide-tag {
  font-size: .62rem;
}

.home-journal .journal-all-link {
  padding-top: 12px;
  font-size: .78rem;
}

.home-journal .journal-main .journal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 28px;
  padding: 16px 0 0;
}

.home-journal .journal-main .journal-grid .library-card,
.home-journal .journal-main .journal-grid .library-card:nth-child(n),
.home-journal .journal-main .journal-grid .library-card:nth-child(7n + 1),
.home-journal .journal-main .journal-grid .library-card:nth-child(7n),
.home-journal .journal-main .journal-grid .library-card.is-feed-lead,
.home-journal .journal-main .journal-grid .library-card.is-feed-side,
.home-journal .journal-main .journal-grid .library-card.is-feed-row {
  position: relative;
  grid-column: auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 24px;
  overflow: visible;
  border: 0;
  border-right: 0;
  border-bottom: 1px solid var(--journal-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.home-journal .journal-main .journal-grid .library-card::before {
  display: none;
}

.home-journal .journal-main .journal-grid .library-card:not(:nth-child(3n)) {
  padding-right: 28px;
  border-right: 1px solid var(--journal-line);
}

.home-journal .journal-main .journal-grid .library-card:nth-child(n + 4) {
  padding-top: 24px;
}

.home-journal .journal-main .journal-grid .library-card-visual,
.home-journal .journal-main .journal-grid .library-card:nth-child(n) .library-card-visual,
.home-journal .journal-main .journal-grid .library-card.is-feed-side .library-card-visual {
  flex: none;
  width: 100%;
  height: auto;
  min-height: 0;
  order: initial;
  overflow: hidden;
  aspect-ratio: 16 / 6.7;
  border: 0;
  border-radius: 4px;
  background: #e5e3de;
}

.home-journal .journal-main .journal-grid .library-card-copy,
.home-journal .journal-main .journal-grid .library-card.is-feed-lead .library-card-copy,
.home-journal .journal-main .journal-grid .library-card.is-feed-side .library-card-copy {
  min-width: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 10px 0 0;
}

.home-journal .journal-main .journal-grid .guide-tag {
  display: block;
  margin: 0 0 7px;
}

.home-journal .journal-main .journal-grid .library-card-copy h2,
.home-journal .journal-main .journal-grid .library-card.is-feed-lead h2,
.home-journal .journal-main .journal-grid .library-card.is-feed-side h2 {
  display: -webkit-box;
  max-width: none;
  margin: 0 0 5px;
  overflow: hidden;
  font: 800 clamp(1rem, 1.22vw, 1.25rem)/1.12 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -.035em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-journal .journal-main .journal-grid .library-card-copy > p,
.home-journal .journal-main .journal-grid .library-card.is-feed-side .library-card-copy > p {
  display: -webkit-box;
  max-width: none;
  margin: 0;
  overflow: hidden;
  color: #4f5663;
  font: .73rem/1.38 Inter, ui-sans-serif, system-ui, sans-serif;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.home-journal .journal-main .journal-grid .library-card-meta,
.home-journal .journal-main .journal-grid .library-card.is-feed-side .library-card-meta {
  display: block;
  margin: 0;
  padding-top: 8px;
  border: 0;
  color: var(--journal-muted);
  font-size: .66rem;
}

.home-journal .journal-main .journal-grid .library-card-author {
  display: none;
}

.home-journal .journal-main .journal-grid .library-card-link {
  display: none;
}

.home-journal .library-archive {
  display: none;
}

.home-journal .journal-footer {
  min-height: 84px;
  padding: 24px 0 28px;
}

@media (max-width: 1080px) {
  .home-journal .journal-top {
    grid-template-columns: minmax(0, 1.5fr) minmax(270px, .8fr);
  }

  .home-journal .journal-main .journal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-journal .journal-main .journal-grid .library-card:not(:nth-child(3n)) {
    padding-right: 0;
    border-right: 0;
  }

  .home-journal .journal-main .journal-grid .library-card:not(:nth-child(2n)) {
    padding-right: 24px;
    border-right: 1px solid var(--journal-line);
  }
}

@media (max-width: 760px) {
  .home-journal .journal-header,
  .home-journal .journal-main,
  .home-journal .journal-footer {
    width: calc(100% - 28px);
  }

  .home-journal .journal-masthead {
    justify-content: flex-start;
    min-height: 0;
    padding: 14px 0 13px;
  }

  .home-journal .journal-masthead img {
    width: 40px;
    height: 40px;
  }

  .home-journal .journal-navigation {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: 12px;
  }

  .home-journal .journal-top {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .home-journal .journal-featured {
    padding: 0 0 24px;
    border-right: 0;
    border-bottom: 1px solid var(--journal-line);
  }

  .home-journal .journal-featured-image {
    aspect-ratio: 16 / 8.6;
  }

  .home-journal .journal-recent {
    padding: 0;
  }

  .home-journal .journal-main .journal-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0;
  }

  .home-journal .journal-main .journal-grid .library-card,
  .home-journal .journal-main .journal-grid .library-card:nth-child(n),
  .home-journal .journal-main .journal-grid .library-card:nth-child(7n + 1),
  .home-journal .journal-main .journal-grid .library-card:nth-child(7n),
  .home-journal .journal-main .journal-grid .library-card.is-feed-lead,
  .home-journal .journal-main .journal-grid .library-card.is-feed-side,
  .home-journal .journal-main .journal-grid .library-card.is-feed-row,
  .home-journal .journal-main .journal-grid .library-card:not(:nth-child(2n)) {
    grid-column: 1 / -1;
    padding: 25px 0;
    border-right: 0;
  }

  .home-journal .journal-main .journal-grid .library-card-visual,
  .home-journal .journal-main .journal-grid .library-card:nth-child(n) .library-card-visual,
  .home-journal .journal-main .journal-grid .library-card.is-feed-side .library-card-visual {
    aspect-ratio: 16 / 9.2;
  }

  .home-journal .journal-main .journal-grid .library-card-copy h2,
  .home-journal .journal-main .journal-grid .library-card.is-feed-lead h2,
  .home-journal .journal-main .journal-grid .library-card.is-feed-side h2 {
    font-size: 1.35rem;
  }
}

/* Author signature lockup on the About Me article. */
.author-publication-page .publication-author-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(14px, 2vw, 30px);
  margin: 0 0 16px;
}

.author-publication-page .publication-author-title h1 {
  flex: 0 1 auto;
  margin: 0;
}

.author-publication-page .publication-author-signature {
  width: clamp(190px, 23vw, 330px);
  height: auto;
  max-height: 104px;
  display: block;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 620px) {
  .author-publication-page .publication-author-title {
    align-items: flex-start;
    gap: 6px;
  }

  .author-publication-page .publication-author-signature {
    width: min(250px, 72vw);
    max-height: 82px;
  }
}

/* --------------------------------------------------------------------------
   Journal home completion: compact brand row, author-led cards, progressive
   article reveal, and the same full-width wave footer used by the product home.
   This block is deliberately scoped so individual article pages do not change.
   -------------------------------------------------------------------------- */
.home-journal [hidden] {
  display: none !important;
}

.home-journal .journal-brand-row {
  min-height: 86px;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
  align-items: center;
  gap: 24px;
  border-bottom: 2px solid var(--journal-ink);
}

.home-journal .journal-home-link {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-self: start;
  color: var(--journal-ink);
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}

.home-journal .journal-home-link > svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}

.home-journal .journal-home-link > span {
  white-space: nowrap;
}

.home-journal .journal-home-link:hover,
.home-journal .journal-home-link:focus-visible {
  color: var(--journal-blue);
}

.home-journal .journal-home-link:hover > svg {
  transform: translateX(-3px);
}

.home-journal .journal-brand-row .journal-chrome-link {
  justify-self: end;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px 0 9px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #0878ff, #075be4);
  box-shadow: 0 8px 18px rgba(7, 95, 233, .2);
  font-size: .76rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.home-journal .journal-brand-row .journal-chrome-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(7, 95, 233, .28);
}

.home-journal .journal-brand-row .journal-chrome-link img {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
}

.home-journal .journal-policy-card .library-card-visual {
  display: grid;
  place-items: center;
  min-height: 150px;
  background: linear-gradient(135deg, #e8f5ff 0%, #eef0ff 52%, #f8eaff 100%);
}
.home-journal .journal-policy-card:nth-of-type(2) .library-card-visual {
  background: linear-gradient(135deg, #fff1dd 0%, #fff7e9 48%, #e6f7ef 100%);
}
.home-journal .journal-policy-icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 22px;
  color: #155eef;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 26px rgba(38,82,170,.16);
  font: 700 2.35rem/1 Georgia, serif;
}
.home-journal .journal-policy-card:nth-of-type(2) .journal-policy-icon { color: #16835b; }

.home-journal .journal-masthead-title {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  justify-self: center;
  color: var(--journal-ink);
  cursor: default;
  user-select: text;
}

.home-journal .journal-masthead-title > img {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
}

.home-journal .journal-masthead-title > span {
  font: 700 clamp(2.35rem, 4.2vw, 4.5rem)/.9 Georgia, "Times New Roman", serif;
  letter-spacing: -.062em;
  white-space: nowrap;
}

.home-journal .journal-navigation nav > a {
  flex: 0 0 auto;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0;
  border-bottom: 2px solid transparent;
  color: var(--journal-ink);
  font: 800 .73rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease, border-color .2s ease;
}

.home-journal .journal-navigation nav > a:hover,
.home-journal .journal-navigation nav > a:focus-visible {
  color: var(--journal-blue);
  border-color: var(--journal-blue);
}

.home-journal .journal-featured-byline,
.home-journal .journal-main .journal-grid .library-card-author {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  color: var(--journal-ink);
  font-weight: 780;
  text-decoration: none;
}

.home-journal .journal-featured-byline {
  margin-right: 10px;
  font-size: .7rem;
}

.home-journal .journal-featured-byline img,
.home-journal .journal-main .journal-grid .library-card-author img,
.home-journal .journal-recent-byline img {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 29%;
  box-shadow: 0 0 0 1px rgba(7, 26, 64, .12);
}

.home-journal .journal-featured > div > time {
  color: var(--journal-muted);
  font-size: .67rem;
  font-weight: 650;
}

.home-journal .journal-recent-row {
  align-items: start;
}

.home-journal .journal-recent-byline {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: var(--journal-muted);
  font-style: normal;
}

.home-journal .journal-recent-byline img {
  width: 20px !important;
  height: 20px !important;
  flex-basis: 20px;
}

.home-journal .journal-recent-byline b {
  overflow: hidden;
  color: var(--journal-ink);
  font-size: .61rem;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-journal .journal-recent-byline time {
  margin-left: auto;
  white-space: nowrap;
}

.home-journal .journal-main .journal-grid .library-card-meta,
.home-journal .journal-main .journal-grid .library-card.is-feed-side .library-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
}

.home-journal .journal-main .journal-grid .library-card-meta > time {
  margin-left: auto;
  white-space: nowrap;
}

.home-journal .journal-all-link {
  padding: 12px 0 0;
  border: 0;
  color: var(--journal-blue);
  background: transparent;
  font: 850 .78rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
}

.home-journal .journal-reveal {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 34px 0 12px;
  text-align: center;
}

.home-journal .journal-view-all {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  border: 1px solid var(--journal-ink);
  border-radius: 999px;
  color: var(--journal-ink);
  background: transparent;
  font: 850 .78rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.home-journal .journal-view-all:hover {
  color: #fff;
  background: var(--journal-ink);
  transform: translateY(-1px);
}

.home-journal .journal-reveal p {
  margin: 0;
  color: var(--journal-muted);
  font-size: .72rem;
}

.home-journal .journal-site-footer {
  width: 100%;
  margin: 0;
  color: #d8e7ff;
  background: #153f86;
}

.home-journal .journal-footer-wave {
  width: 100%;
  height: clamp(112px, 11vw, 180px);
  overflow: hidden;
  line-height: 0;
  background: var(--journal-cream);
}

.home-journal .journal-footer-wave svg {
  width: 100%;
  height: 100%;
  display: block;
}

.home-journal .journal-footer-inner {
  min-height: 280px;
  display: flex;
  align-items: flex-start;
  gap: clamp(48px, 7vw, 110px);
  padding: 66px max(40px, calc((100vw - 1360px) / 2)) 62px;
  background:
    linear-gradient(rgba(21, 63, 134, .94), rgba(21, 63, 134, .985)),
    url('/landing/footer-wave-texture.png') center / cover no-repeat;
}

.home-journal .journal-footer-brand-col {
  flex: 0 0 min(310px, 28vw);
  display: flex;
  flex-direction: column;
  gap: 17px;
}

.home-journal .journal-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  font-size: 1.08rem;
  text-decoration: none;
}

.home-journal .journal-footer-brand img {
  width: 43px;
  height: 43px;
}

.home-journal .journal-footer-brand-col > p {
  max-width: 300px;
  margin: 0;
  color: #bcd3f3;
  font-size: .9rem;
  line-height: 1.7;
}

.home-journal .journal-footer-cta {
  align-self: flex-start;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 20px 0 12px;
  border-radius: 8px;
  color: #fff;
  background: #0878ff;
  box-shadow: 0 8px 20px rgba(0, 20, 64, .24);
  font-weight: 800;
  text-decoration: none;
}

.home-journal .journal-footer-cta img {
  width: 27px;
  height: 27px;
}

.home-journal .journal-footer-cols {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 64px);
}

.home-journal .journal-footer-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.home-journal .journal-footer-col strong {
  margin-bottom: 6px;
  color: #88b8fa;
  font-size: .7rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.home-journal .journal-footer-col a,
.home-journal .journal-footer-bottom a {
  color: #c4d9f6;
  font-size: .82rem;
  text-decoration: none;
}

.home-journal .journal-footer-col a:hover,
.home-journal .journal-footer-bottom a:hover {
  color: #fff;
}

.home-journal .journal-footer-bottom {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px max(40px, calc((100vw - 1360px) / 2));
  border-top: 0;
  color: #b8ceeb;
  background: #153f86;
  font-size: .78rem;
}

.home-journal .journal-footer-bottom > span:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media (max-width: 900px) {
  .home-journal .journal-footer-inner {
    flex-direction: column;
    gap: 42px;
    padding-inline: 32px;
  }

  .home-journal .journal-footer-brand-col {
    flex-basis: auto;
  }

  .home-journal .journal-footer-cols {
    width: 100%;
  }

  .home-journal .journal-footer-bottom {
    padding-inline: 32px;
  }
}

@media (max-width: 600px) {
  .home-journal .journal-brand-row {
    min-height: 64px;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 9px;
  }

  .home-journal .journal-home-link {
    gap: 0;
  }

  .home-journal .journal-home-link > span { display: none; }

  .home-journal .journal-brand-row .journal-chrome-link {
    min-height: 34px;
    gap: 6px;
    padding: 0 10px 0 7px;
    font-size: .68rem;
  }

  .home-journal .journal-masthead-title {
    min-width: 0;
    gap: 7px;
  }

  .home-journal .journal-masthead-title > img {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .home-journal .journal-masthead-title > span {
    overflow: hidden;
    font-size: clamp(1.08rem, 5vw, 1.35rem);
    letter-spacing: -.045em;
    text-overflow: ellipsis;
  }

  .home-journal .journal-recent-row {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .home-journal .journal-recent-row > img {
    width: 92px;
    height: 70px;
  }

  .home-journal .journal-recent-byline time {
    display: none;
  }

  .home-journal .journal-footer-wave {
    height: 104px;
  }

  .home-journal .journal-footer-inner {
    padding: 48px 22px 44px;
  }

  .home-journal .journal-footer-cols {
    grid-template-columns: 1fr 1fr;
    gap: 34px 24px;
  }

  .home-journal .journal-footer-col:last-child {
    grid-column: 1 / -1;
  }

  .home-journal .journal-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px 22px 26px;
  }
}

/* --------------------------------------------------------------------------
   Article composition — compact editorial key with a comfortably wide story.
   This final layer intentionally owns article-page sizing and rail behavior.
   -------------------------------------------------------------------------- */
.publication-page .publication-main {
  width: min(1480px, calc(100% - clamp(48px, 7vw, 120px)));
  margin-right: auto;
  margin-left: clamp(28px, 5vw, 92px);
  padding: clamp(34px, 4.6vw, 70px) 0 clamp(76px, 9vw, 136px);
  display: grid;
  grid-template-columns: minmax(190px, 212px) minmax(0, 1120px);
  column-gap: clamp(34px, 3.2vw, 50px);
  align-items: start;
  justify-content: start;
}

.publication-page .publication-rail {
  position: sticky;
  top: 92px;
  align-self: start;
  width: 100%;
  min-width: 0;
  padding: 8px 20px 0 0;
  border: 0;
  border-right: 1px solid #d5dfec;
  background: transparent;
  box-shadow: none;
}

.publication-page .article-location {
  display: grid;
  gap: 6px;
  padding: 0 0 22px;
  border-bottom: 1px solid #d9e2ee;
}

.publication-page .article-location span,
.publication-page .reading-guide > p {
  margin: 0;
  color: #7c899a;
  font: 800 0.69rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.publication-page .article-location a {
  color: #0a1629;
  font: 800 0.88rem/1.25 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
}

.publication-page .article-location b {
  color: #075ff2;
  font: 750 0.8rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .reading-guide {
  position: relative;
  display: grid;
  gap: 0;
  margin: 27px 0 0;
  padding: 0 0 10px;
}

.publication-page .reading-guide > p {
  margin-bottom: 16px;
  color: #101b2d;
}

.publication-page .reading-guide-track {
  position: absolute;
  top: 55px;
  bottom: 22px;
  left: 2px;
  width: 1px;
  overflow: visible;
  background: #d6dee8;
}

.publication-page .reading-guide-track span {
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  min-height: 0;
  border-radius: 999px;
  background: #0768ff;
  transition: height 260ms ease;
}

.publication-page .reading-guide a {
  position: relative;
  display: grid;
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 8px 0 9px 20px;
  color: #7b8797;
  font: 600 0.8rem/1.32 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  transition: color 180ms ease;
}

.publication-page .reading-guide a::before {
  content: "";
  position: absolute;
  top: 18px;
  left: -1px;
  width: 6px;
  height: 6px;
  border: 1px solid #d4dce7;
  border-radius: 50%;
  background: #fff;
  transform: translateX(-50%);
}

.publication-page .reading-guide a small {
  color: #8a96a6;
  font: 800 0.66rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.05em;
}

.publication-page .reading-guide a:hover,
.publication-page .reading-guide a.is-active {
  color: #0665f5;
}

.publication-page .reading-guide a.is-active {
  font-weight: 800;
}

.publication-page .reading-guide a.is-active::before {
  width: 8px;
  height: 8px;
  border-color: #0768ff;
  background: #0768ff;
}

.publication-page .reading-guide a.is-active small {
  color: #0768ff;
}

.publication-page .reading-status {
  display: flex;
  justify-content: flex-start;
  margin-top: 18px;
  padding: 15px 0 0;
  border-top: 1px solid #d9e2ee;
}

.publication-page .reading-status strong {
  color: #0768ff;
  font: 800 0.78rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .publication-article {
  grid-column: 2;
  width: 100%;
  max-width: 1120px;
  min-width: 0;
  margin: 0;
}

.publication-page .article-breadcrumb {
  margin: 0 0 22px;
  color: #66758a;
  font-size: 0.82rem;
}

.publication-page .publication-article-header {
  width: min(980px, 100%);
  margin: 0;
}

.publication-page .publication-article-header h1 {
  width: 100%;
  max-width: 980px;
  margin: 0;
  color: #0b1830;
  font: 700 clamp(3.2rem, 5.4vw, 5.65rem)/0.94 Georgia, "Times New Roman", serif;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.publication-page .publication-deck {
  max-width: 760px;
  margin: 22px 0 0;
  color: #52647d;
  font: 500 clamp(1.06rem, 1.25vw, 1.25rem)/1.55 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .publication-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 25px 0 0;
  color: #5f6d80;
  font: 650 0.92rem/1.35 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .publication-byline img {
  width: 42px;
  height: 42px;
  border: 1px solid #d4e0ee;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 34%;
}

.publication-page .publication-byline i {
  width: 1px;
  height: 22px;
  background: #d1dae6;
}

.publication-page .publication-hero {
  width: min(920px, 100%);
  margin: clamp(28px, 3.4vw, 48px) 0 0;
}

.publication-page .publication-hero img {
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 16 / 10;
  border: 1px solid #b8cff0;
  border-radius: 3px;
  object-fit: cover;
  box-shadow: none;
}

.publication-page .publication-hero figcaption {
  margin-top: 8px;
  color: #66768c;
  font-size: 0.78rem;
}

.publication-page .publication-copy {
  width: min(820px, 100%);
  max-width: 820px;
  margin: clamp(34px, 4vw, 58px) 0 0;
  color: #15233a;
  font-size: clamp(1.08rem, 1.15vw, 1.2rem);
  line-height: 1.72;
}

.publication-page .publication-copy h2 {
  max-width: 780px;
  color: #0c1a32;
  font-size: clamp(1.75rem, 2.3vw, 2.5rem);
  line-height: 1.08;
}

.publication-page .publication-copy p {
  max-width: 780px;
}

.publication-page .publication-signature,
.publication-page .related-guides {
  width: min(920px, 100%);
  max-width: 920px;
}

.publication-page .live-transcript-reading {
  grid-column: 1 / -1;
  width: 100%;
}

@media (max-width: 1080px) {
  .publication-page .publication-main {
    width: min(100% - 40px, 980px);
    margin: 0 auto;
    grid-template-columns: 180px minmax(0, 1fr);
    column-gap: 30px;
  }

  .publication-page .publication-article-header h1 {
    font-size: clamp(2.8rem, 7vw, 4.7rem);
  }
}

@media (max-width: 820px) {
  .publication-page .publication-main {
    width: min(100% - 32px, 760px);
    display: block;
    padding-top: 28px;
  }

  .publication-page .publication-rail {
    position: relative;
    top: auto;
    margin-bottom: 34px;
    padding: 0 0 24px;
    border-right: 0;
    border-bottom: 1px solid #d5dfec;
  }

  .publication-page .article-location {
    grid-template-columns: auto auto 1fr;
    align-items: baseline;
    gap: 8px 12px;
    padding-bottom: 16px;
  }

  .publication-page .article-location b {
    justify-self: end;
  }

  .publication-page .reading-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 18px;
    margin-top: 18px;
  }

  .publication-page .reading-guide > p {
    grid-column: 1 / -1;
    margin-bottom: 5px;
  }

  .publication-page .reading-guide-track,
  .publication-page .reading-guide a::before {
    display: none;
  }

  .publication-page .reading-guide a {
    padding: 8px 0;
  }

  .publication-page .reading-status {
    margin-top: 10px;
  }

  .publication-page .publication-article {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .publication-page .publication-main {
    width: min(100% - 24px, 520px);
  }

  .publication-page .article-location {
    grid-template-columns: 1fr;
  }

  .publication-page .article-location b {
    justify-self: start;
  }

  .publication-page .reading-guide {
    grid-template-columns: 1fr;
  }

  .publication-page .publication-article-header h1 {
    font-size: clamp(2.45rem, 13vw, 3.7rem);
  }

  .publication-page .publication-byline {
    gap: 8px 11px;
  }

  .publication-page .publication-byline i {
    display: none;
  }

  .publication-page .publication-hero {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Related stories and the shared blue journal footer.
   -------------------------------------------------------------------------- */
.publication-page .related-reading {
  width: min(960px, 100%);
  max-width: 960px;
  margin: clamp(58px, 7vw, 92px) 0 0;
  padding: clamp(28px, 3vw, 42px) 0 0;
  border: 0;
  border-top: 1px solid #cfdbea;
  border-radius: 0;
  background: transparent;
}

.publication-page:has(.related-reading) .publication-main {
  padding-bottom: 0;
}

.publication-page .live-transcript-reading.related-reading {
  grid-column: 2;
}

.publication-page .related-reading-kicker {
  display: block;
  margin: 0 0 8px;
  color: #0870f8;
  font: 800 0.72rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.publication-page .related-reading > h2,
.publication-page .live-transcript-reading.related-reading > h2 {
  margin: 0 0 clamp(22px, 2.8vw, 34px);
  color: #0b1830;
  font: 700 clamp(2rem, 3.1vw, 3.1rem)/1 Georgia, "Times New Roman", serif;
  letter-spacing: -0.045em;
}

.publication-page .related-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}

.publication-page .related-article-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #cbd9ea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 65, 112, 0.07);
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.publication-page .related-article-card:hover {
  transform: translateY(-3px);
  border-color: rgba(7, 104, 255, 0.55);
  box-shadow: 0 14px 32px rgba(27, 65, 112, 0.12);
}

.publication-page .related-card-image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom: 1px solid #dbe5f1;
  background: #eef4fb;
}

.publication-page .related-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 300ms ease;
}

.publication-page .related-article-card:hover .related-card-image img {
  transform: scale(1.025);
}

.publication-page .related-card-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px 18px 17px;
}

.publication-page .related-card-category {
  color: #0870f8;
  font: 800 0.69rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.publication-page .related-card-copy h3 {
  margin: 9px 0 16px;
  color: #0d1b31;
  font: 750 clamp(1.02rem, 1.15vw, 1.2rem)/1.22 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -0.025em;
}

.publication-page .related-card-copy h3 a {
  color: inherit;
  text-decoration: none;
}

.publication-page .related-card-copy h3 a:hover {
  color: #0768ff;
}

.publication-page .related-card-byline {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 9px;
  align-items: center;
  margin-top: auto;
  color: #53647a;
  font: 700 0.74rem/1.25 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .related-card-byline img {
  grid-row: 1 / 3;
  width: 28px;
  height: 28px;
  border: 1px solid #d4e0ee;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 34%;
}

.publication-page .related-card-byline time {
  color: #7b8899;
  font-size: 0.69rem;
  font-weight: 600;
}

.publication-page .related-card-link {
  align-self: flex-start;
  margin-top: 16px;
  color: #075fdc;
  font: 800 0.76rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
}

.publication-page .related-card-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.publication-page .journal-site-footer {
  width: 100%;
  margin: 0;
  color: #d8e7ff;
  background: #1d4b90;
}

.publication-page .journal-footer-wave {
  width: 100%;
  height: clamp(112px, 11vw, 180px);
  overflow: hidden;
  line-height: 0;
  background: #f7f2ea;
}

.publication-page .journal-footer-wave svg {
  display: block;
  width: 100%;
  height: 100%;
}

.publication-page .journal-footer-wave path {
  fill: #1d4b90;
}

.publication-page .journal-footer-inner {
  min-height: 280px;
  display: flex;
  align-items: flex-start;
  gap: clamp(48px, 7vw, 110px);
  padding: 66px max(40px, calc((100vw - 1360px) / 2)) 62px;
  background: #1d4b90;
}

.publication-page .journal-footer-brand-col {
  flex: 0 0 min(310px, 28vw);
  display: flex;
  flex-direction: column;
  gap: 17px;
}

.publication-page .journal-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  font: 800 1.08rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
}

.publication-page .journal-footer-brand img {
  width: 43px;
  height: 43px;
}

.publication-page .journal-footer-brand-col > p {
  max-width: 300px;
  margin: 0;
  color: #c6d9f3;
  font: 0.9rem/1.7 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .journal-footer-cta {
  align-self: flex-start;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 20px 0 12px;
  border-radius: 8px;
  color: #fff;
  background: #0878ff;
  box-shadow: 0 8px 20px rgba(0, 20, 64, 0.24);
  font: 800 0.93rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
}

.publication-page .journal-footer-cta img {
  width: 27px;
  height: 27px;
}

.publication-page .journal-footer-cols {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 64px);
}

.publication-page .journal-footer-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.publication-page .journal-footer-col strong {
  margin-bottom: 6px;
  color: #8fbaf5;
  font: 800 0.7rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.publication-page .journal-footer-col a,
.publication-page .journal-footer-bottom a {
  color: #cbdcf4;
  font: 0.82rem/1.35 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
}

.publication-page .journal-footer-col a:hover,
.publication-page .journal-footer-bottom a:hover {
  color: #fff;
}

.publication-page .journal-footer-bottom {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px max(40px, calc((100vw - 1360px) / 2));
  color: #bed1eb;
  background: #1d4b90;
  font: 0.78rem/1.35 Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .journal-footer-bottom > span:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media (max-width: 900px) {
  .publication-page .live-transcript-reading.related-reading {
    grid-column: 1;
  }

  .publication-page .related-article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .publication-page .related-article-card:last-child {
    grid-column: 1 / -1;
    width: min(50%, 340px);
  }

  .publication-page .journal-footer-inner {
    flex-direction: column;
    gap: 42px;
    padding-inline: 32px;
  }

  .publication-page .journal-footer-brand-col {
    flex-basis: auto;
  }

  .publication-page .journal-footer-cols {
    width: 100%;
  }

  .publication-page .journal-footer-bottom {
    padding-inline: 32px;
  }
}

@media (max-width: 600px) {
  .publication-page .related-article-grid {
    grid-template-columns: 1fr;
  }

  .publication-page .related-article-card:last-child {
    grid-column: auto;
    width: 100%;
  }

  .publication-page .journal-footer-wave {
    height: 104px;
  }

  .publication-page .journal-footer-inner {
    padding: 48px 22px 44px;
  }

  .publication-page .journal-footer-cols {
    grid-template-columns: 1fr 1fr;
    gap: 34px 24px;
  }

  .publication-page .journal-footer-col:last-child {
    grid-column: 1 / -1;
  }

  .publication-page .journal-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px 22px 26px;
  }
}

/* Final reading-width and compact-recent safeguards. These must come after
   the historical responsive layers so content never inherits a thumbnail
   column or an unnecessarily narrow prose measure on a desktop screen. */
.home-journal .journal-recent-row.journal-recent-row-text {
  display: block;
  min-width: 0;
  padding: 13px 0 13px 15px;
  border-left: 3px solid color-mix(in srgb, var(--journal-blue) 64%, transparent);
}

.home-journal .journal-recent-row.journal-recent-row-text strong {
  display: block;
  overflow: visible;
  margin: 4px 0 6px;
  font-size: clamp(.88rem, .95vw, 1.02rem);
  line-height: 1.24;
  letter-spacing: -.018em;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
}

.home-journal .journal-recent-row.journal-recent-row-text .journal-recent-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  align-items: center;
}

@media (min-width: 1081px) {
  .publication-page .publication-main {
    width: min(1740px, calc(100% - clamp(72px, 7vw, 160px)));
    grid-template-columns: minmax(198px, 230px) minmax(0, 1fr);
    column-gap: clamp(52px, 4vw, 82px);
  }

  .publication-page .publication-article {
    max-width: 1380px;
  }

  .publication-page .publication-article-header {
    width: min(1180px, 100%);
  }

  .publication-page .publication-article-header h1 {
    max-width: 1180px;
  }

  .publication-page .publication-deck {
    max-width: 1050px;
  }

  .publication-page .publication-hero,
  .publication-page .publication-signature,
  .publication-page .related-guides {
    width: min(1180px, 100%);
    max-width: 1180px;
  }

  .publication-page .publication-copy {
    width: min(1120px, 100%);
    max-width: 1120px;
  }

  .publication-page .publication-copy p,
  .publication-page .publication-copy h2 {
    max-width: none;
  }
}

/* Crawlable topic routes keep closely related search intents distinct while
   giving readers a quick route to the guide that matches their actual task. */
.publication-page .article-topic-links {
  margin: 8px 0 38px;
  padding: 22px;
  border: 1px solid #cfe0ff;
  border-radius: 18px;
  background: linear-gradient(145deg, #f7faff, #eef5ff);
  box-shadow: 0 14px 34px rgba(35, 88, 170, .08);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.publication-page .article-topic-links strong {
  display: block;
  margin-bottom: 13px;
  color: #10264d;
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.publication-page .article-topic-links div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.publication-page .article-topic-links a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 12px 14px;
  border: 1px solid rgba(74, 128, 216, .22);
  border-radius: 12px;
  color: #123b78;
  background: rgba(255, 255, 255, .84);
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.publication-page .article-topic-links a:hover {
  border-color: #77a6f0;
  box-shadow: 0 8px 20px rgba(22, 92, 197, .1);
  transform: translateY(-2px);
}

.publication-page .article-topic-links a span {
  flex: 0 0 auto;
  color: #0866ff;
  font-size: 1rem;
}

@media (max-width: 760px) {
  .publication-page .article-topic-links div {
    grid-template-columns: 1fr;
  }
}
