/* Blog journal extension. Append after the existing editorial.css to preserve Resources. */
.ag-journal-list,
.ag-journal-single {
  --journal-purple: #7434dc;
  --journal-ink: #211a30;
  --journal-muted: #666071;
  --journal-rule: #e5dfee;
  --journal-tint: #f8f5fd;
  color: var(--journal-ink);
  background: #fff;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  overflow: visible;
}
.ag-journal-list *,
.ag-journal-single * { box-sizing: border-box; }
.ag-journal-list > .ag-container,
.ag-journal-single > .ag-container {
  width: min(1280px, calc(100% - 80px));
  margin-inline: auto;
}
.ag-journal-list { padding-bottom: 100px; }
.ag-journal-intro { max-width: 880px; padding: 38px 0 54px; }
.ag-journal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 35px;
  color: var(--journal-muted);
  font-size: 12px;
  line-height: 1.6;
}
.ag-journal-breadcrumb a { color: inherit; text-underline-offset: 3px; }
.ag-journal-kicker,
.ag-journal-intro .ag-kicker,
.ag-journal-heading .ag-kicker,
.ag-journal-card-copy .ag-kicker {
  margin: 0 0 14px;
  color: var(--journal-purple);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.6;
  text-transform: uppercase;
}
.ag-journal-intro h1 {
  margin: 0 0 22px;
  font-size: clamp(38px, 4.3vw, 60px);
  line-height: 1.06;
  font-weight: 600;
  letter-spacing: -.045em;
}
.ag-journal-intro > p:not(.ag-kicker):not(.ag-journal-kicker) {
  max-width: 680px;
  margin: 0;
  color: var(--journal-muted);
  font-size: 18px;
  line-height: 1.75;
}
.ag-journal-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 58px 38px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ag-journal-cards > li { min-width: 0; margin: 0; }
.ag-journal-card { height: 100%; min-width: 0; }
.ag-journal-card .wp-block-post-featured-image { margin: 0; overflow: hidden; background: #f3eee8; }
.ag-journal-card .wp-block-post-featured-image a { display: block; }
.ag-journal-card .wp-block-post-featured-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .35s ease;
}
.ag-journal-card .wp-block-post-featured-image a:hover img { transform: scale(1.025); }
.ag-journal-card-copy { padding: 26px 0 24px; border-bottom: 1px solid var(--journal-rule); }
.ag-journal-card-copy h2 {
  margin: 0 0 16px;
  font-size: clamp(24px, 2.15vw, 30px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.03em;
}
.ag-journal-card-copy h2 a { color: var(--journal-ink); text-decoration: none; }
.ag-journal-card-copy h2 a:hover { color: var(--journal-purple); }
.ag-journal-card-copy .wp-block-post-excerpt {
  margin: 0 0 20px;
  color: var(--journal-muted);
  font-size: 16px;
  line-height: 1.75;
}
.ag-journal-card-copy .wp-block-post-excerpt p { margin: 0; }
.ag-journal-readlink,
.ag-journal-card-copy > a:last-child {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--journal-purple);
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.ag-journal-cards > li:first-child { grid-column: 1 / -1; }
.ag-journal-cards > li:first-child .ag-journal-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: var(--journal-tint);
}
.ag-journal-cards > li:first-child .wp-block-post-featured-image { height: 100%; }
.ag-journal-cards > li:first-child .wp-block-post-featured-image a { height: 100%; }
.ag-journal-cards > li:first-child .wp-block-post-featured-image img {
  height: 100%;
  min-height: 370px;
  aspect-ratio: 1.22;
}
.ag-journal-cards > li:first-child .ag-journal-card-copy {
  align-self: center;
  padding: clamp(28px, 4vw, 60px);
  border: 0;
}
.ag-journal-cards > li:first-child h2 { font-size: clamp(28px, 2.7vw, 39px); line-height: 1.18; }

.ag-journal-single > .ag-container > .ag-journal-breadcrumb { padding-top: 34px; }
.ag-journal-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: 58px;
  align-items: center;
  padding: 0 0 58px;
  border-bottom: 1px solid var(--journal-rule);
}
.ag-journal-heading { min-width: 0; }
.ag-journal-heading h1 {
  margin: 0 0 26px;
  max-width: 23ch;
  font-size: clamp(32px, 3.35vw, 45px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.04em;
  overflow-wrap: break-word;
}
.ag-journal-heading .wp-block-post-excerpt,
.ag-journal-heading > .ag-journal-excerpt {
  max-width: 570px;
  color: var(--journal-muted);
  font-size: 17px;
  line-height: 1.8;
}
.ag-journal-heading .wp-block-post-excerpt p { margin: 0; }
.ag-journal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 17px;
  margin: 26px 0 0;
  color: var(--journal-muted);
  font-size: 12px;
  line-height: 1.65;
}
.ag-journal-cover { min-width: 0; margin: 0; }
.ag-journal-cover .wp-block-post-featured-image { margin: 0; }
.ag-journal-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1.1; object-fit: cover; }
.ag-journal-cover figcaption,
.ag-journal-cover .ag-journal-caption {
  margin: 10px 0 0;
  color: var(--journal-muted);
  font-size: 11px;
  line-height: 1.6;
}
.ag-journal-body { max-width: 1140px; margin: 0 auto; padding: 58px 0 80px; }
.ag-journal-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 760px);
  justify-content: center;
  gap: 64px;
  align-items: start;
}
.ag-journal-aside { position: sticky; top: 128px; min-width: 0; }
.ag-journal-toc { border-top: 2px solid var(--journal-purple); padding-top: 17px; }
.ag-journal-toc summary {
  color: var(--journal-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  cursor: pointer;
}
.ag-journal-toc ol { padding-left: 20px; margin: 18px 0 0; color: var(--journal-muted); font-size: 12px; line-height: 1.7; }
.ag-journal-toc li { margin: 0 0 13px; padding-left: 3px; }
.ag-journal-toc a { color: var(--journal-muted); text-decoration: none; }
.ag-journal-toc a:hover { color: var(--journal-purple); text-decoration: underline; text-underline-offset: 3px; }
.ag-journal-prose { min-width: 0; color: #37303f; font-size: 18px; line-height: 1.85; overflow-wrap: break-word; }
.ag-journal-prose > * { max-width: 100%; }
.ag-journal-prose p { margin: 0 0 25px; }
.ag-journal-prose h2 { margin: 48px 0 19px; font-size: clamp(25px, 2.2vw, 31px); font-weight: 600; line-height: 1.25; letter-spacing: -.03em; scroll-margin-top: 128px; }
.ag-journal-prose h3 { margin: 30px 0 14px; font-size: 22px; line-height: 1.35; }
.ag-journal-prose :where(ul, ol) { margin: 0 0 26px; padding-left: 26px; }
.ag-journal-prose li { margin-bottom: 12px; padding-left: 4px; }
.ag-journal-prose strong { color: var(--journal-ink); font-weight: 600; }
.ag-journal-prose a { color: #6730bd; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.ag-journal-prose a:hover { color: #462078; }
.ag-journal-answer { margin: 0 0 34px; padding: 25px 28px; border-left: 3px solid var(--journal-purple); background: var(--journal-tint); font-size: 17px; }
.ag-journal-answer > strong { display: block; margin-bottom: 10px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--journal-purple); }
.ag-journal-answer p:last-child { margin-bottom: 0; }
.ag-journal-table { max-width: 100%; margin: 30px 0 32px; overflow-x: auto; overscroll-behavior-inline: contain; }
.ag-journal-table table { width: 100%; min-width: 590px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.65; }
.ag-journal-table :where(th, td) { padding: 18px 17px; vertical-align: top; border: 0; border-bottom: 1px solid var(--journal-rule); }
.ag-journal-table th { background: #f3edfb; color: var(--journal-ink); font-weight: 600; }
.ag-journal-table td:first-child { min-width: 125px; font-weight: 600; color: var(--journal-ink); }
.ag-journal-note { margin: 28px 0; padding: 17px 0 17px 22px; border-left: 2px solid #b69bdc; color: var(--journal-muted); font-size: 15px; line-height: 1.75; }
.ag-journal-note p:last-child { margin-bottom: 0; }
.ag-journal-cta { margin: 50px 0 0; padding: 36px; background: #f4eefc; border-top: 2px solid var(--journal-purple); }
.ag-journal-cta h2 { margin: 0 0 17px; font-size: 27px; }
.ag-journal-cta p { font-size: 16px; line-height: 1.8; }
.ag-journal-cta .ag-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 25px; background: var(--journal-purple); color: #fff; border: 0; border-radius: 28px; font-size: 13px; font-weight: 600; text-decoration: none; }
.ag-journal-cta .ag-button:hover { color: #fff; background: #5923b5; }
.ag-journal-related { border-top: 1px solid var(--journal-rule); padding: 48px 0 86px; }
.ag-journal-related > h2 { margin: 0 0 30px; font-size: 31px; font-weight: 600; letter-spacing: -.03em; }
.ag-journal-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.ag-journal-readtime { margin-left: 18px; font-size: 12px; color: var(--journal-muted); }
.ag-journal-aside-note { margin-top: 22px; color: var(--journal-muted); font-size: 12px; line-height: 1.7; }
.ag-journal-related-grid > a > span { display: block; margin-top: 18px; font-size: 11px; color: var(--journal-purple); text-transform: uppercase; letter-spacing: .08em; }
.ag-journal-related-grid > a { min-width: 0; color: var(--journal-ink); text-decoration: none; }
.ag-journal-related-grid img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.ag-journal-related-grid h3 { margin: 18px 0 10px; font-size: 21px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.ag-journal-related-grid a:hover h3 { color: var(--journal-purple); }
.ag-journal-related-grid p { margin: 0; color: var(--journal-muted); font-size: 13px; line-height: 1.7; }
.ag-journal-preview { margin: 0; padding: 12px 20px; background: #f5f2f9; color: #686071; text-align: center; font-size: 12px; line-height: 1.6; }
.ag-journal-list :where(a, summary, button, [tabindex]):focus-visible,
.ag-journal-single :where(a, summary, button, [tabindex]):focus-visible { outline: 3px solid var(--journal-purple); outline-offset: 5px; }

@media (max-width: 1000px) {
  .ag-journal-hero { gap: 34px; }
  .ag-journal-layout { grid-template-columns: 175px minmax(0, 1fr); gap: 34px; }
  .ag-journal-related-grid { gap: 24px; }
}
@media (max-width: 800px) {
  .ag-journal-list > .ag-container,
  .ag-journal-single > .ag-container { width: calc(100% - 48px); }
  .ag-journal-intro { padding-bottom: 38px; }
  .ag-journal-hero { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 35px; }
  .ag-journal-heading h1 { max-width: 26ch; font-size: 40px; }
  .ag-journal-cover img { aspect-ratio: 16 / 10; }
  .ag-journal-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .ag-journal-aside { position: static; }
  .ag-journal-toc { padding: 17px 0; border-bottom: 1px solid var(--journal-rule); }
  .ag-journal-toc summary { min-height: 28px; }
  .ag-journal-toc ol { columns: 2; column-gap: 35px; }
  .ag-journal-toc li { break-inside: avoid; }
  .ag-journal-body { padding-top: 30px; }
  .ag-journal-cards > li:first-child .ag-journal-card-copy { padding: 26px; }
  .ag-journal-cards > li:first-child h2 { font-size: 27px; }
  .ag-journal-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ag-journal-list > .ag-container,
  .ag-journal-single > .ag-container { width: calc(100% - 40px); }
  .ag-journal-list { padding-bottom: 55px; }
  .ag-journal-intro { padding-top: 24px; }
  .ag-journal-breadcrumb { margin-bottom: 27px; font-size: 11px; }
  .ag-journal-intro h1 { font-size: 39px; }
  .ag-journal-intro > p:not(.ag-kicker):not(.ag-journal-kicker) { font-size: 16px; }
  .ag-journal-cards { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .ag-journal-cards > li:first-child .ag-journal-card { grid-template-columns: minmax(0, 1fr); }
  .ag-journal-cards > li:first-child .wp-block-post-featured-image img { height: auto; min-height: 0; aspect-ratio: 16 / 11; }
  .ag-journal-cards > li:first-child .ag-journal-card-copy { padding: 26px 23px; }
  .ag-journal-card-copy { padding-top: 21px; }
  .ag-journal-card-copy h2 { font-size: 26px; }
  .ag-journal-single > .ag-container > .ag-journal-breadcrumb { padding-top: 24px; }
  .ag-journal-heading h1 { font-size: 34px; line-height: 1.14; letter-spacing: -.04em; margin-bottom: 20px; }
  .ag-journal-heading .wp-block-post-excerpt { font-size: 16px; line-height: 1.75; }
  .ag-journal-meta { margin-top: 21px; font-size: 11px; }
  .ag-journal-cover img { aspect-ratio: 4 / 3; }
  .ag-journal-toc ol { columns: auto; font-size: 13px; }
  .ag-journal-prose { font-size: 17px; line-height: 1.8; }
  .ag-journal-prose p { margin-bottom: 23px; }
  .ag-journal-prose h2 { margin-top: 38px; font-size: 26px; scroll-margin-top: 104px; }
  .ag-journal-answer { padding: 21px 22px; font-size: 16px; }
  .ag-journal-table { margin-block: 24px; }
  .ag-journal-cta { padding: 28px 23px; margin-top: 38px; }
  .ag-journal-cta h2 { font-size: 25px; margin-top: 0; }
  .ag-journal-cta .ag-button { width: 100%; }
  .ag-journal-body { padding-bottom: 50px; }
  .ag-journal-related { padding: 34px 0 50px; }
  .ag-journal-related > h2 { font-size: 27px; }
  .ag-journal-related-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ag-journal-related-grid h3 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .ag-journal-card .wp-block-post-featured-image img { transition: none; }
  .ag-journal-card .wp-block-post-featured-image a:hover img { transform: none; }
}

/* A fixed-capacity library: the same layout works for five or hundreds of posts. */
.ag-journal-scalable .ag-journal-intro { max-width:none; padding:30px 0 32px; }
.ag-journal-scalable .ag-journal-breadcrumb { margin-bottom:24px; }
.ag-journal-scalable .ag-journal-intro h1 { font-size:clamp(34px,3.5vw,48px); margin-bottom:15px; }
.ag-journal-scalable .ag-journal-intro > p:not(.ag-kicker) { max-width:850px; font-size:17px; }
.ag-journal-library { border-top:1px solid var(--journal-rule); }
.ag-journal-topics { display:flex; flex-wrap:wrap; gap:10px; padding:24px 0; }
.ag-journal-topics a { display:inline-flex; align-items:center; min-height:43px; border:1px solid var(--journal-rule); border-radius:24px; padding:8px 16px; color:var(--journal-muted); text-decoration:none; font-size:12px; line-height:1.4; }
.ag-journal-topics a:hover { border-color:var(--journal-purple); color:var(--journal-purple); }
.ag-journal-topics a[aria-current] { background:var(--journal-purple); border-color:var(--journal-purple); color:#fff; }
.ag-journal-search { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:0 0 24px; }
.ag-journal-search label { font-size:16px; font-weight:600; }
.ag-journal-search > div { display:flex; width:420px; gap:8px; }
.ag-journal-search input[type=search] { width:100%; min-width:0; border:1px solid #cbc3d8; border-radius:6px; padding:11px 13px; font-size:14px; background:white; color:var(--journal-ink); }
.ag-journal-search button { border:1px solid var(--journal-purple); color:var(--journal-purple); background:#fff; padding:10px 18px; border-radius:6px; min-height:44px; font-size:13px; cursor:pointer; }
.ag-journal-search button:hover { background:var(--journal-tint); }
.ag-journal-results-heading { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--journal-rule); padding:20px 0; font-size:12px; color:var(--journal-muted); }
.ag-journal-results-heading p { margin:0; }
.ag-journal-search-summary { margin:0 0 20px; font-size:14px; overflow-wrap:anywhere; }
.ag-journal-search-summary a { color:var(--journal-purple); }
.ag-journal-scalable .ag-journal-library-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
.ag-journal-scalable .ag-journal-library-cards > li:first-child { grid-column:auto; }
.ag-journal-scalable .ag-journal-library-cards > li .ag-journal-card { display:flex; flex-direction:column; background:transparent; }
.ag-journal-scalable .ag-journal-library-cards > li .wp-block-post-featured-image,
.ag-journal-scalable .ag-journal-library-cards > li .wp-block-post-featured-image a { height:auto; }
.ag-journal-scalable .ag-journal-library-cards > li .wp-block-post-featured-image img { aspect-ratio:16/10; height:auto; min-height:0; }
.ag-journal-scalable .ag-journal-library-cards > li .ag-journal-card-copy { padding:22px 0; align-self:stretch; border-bottom:1px solid var(--journal-rule); display:flex; flex-direction:column; flex:1; }
.ag-journal-scalable .ag-journal-library-cards > li h2 { font-size:24px; line-height:1.25; margin:0 0 15px; }
.ag-journal-card-excerpt { color:var(--journal-muted); font-size:14px; line-height:1.75; margin:0 0 21px; }
.ag-journal-card-footer { display:flex; flex-wrap:wrap; align-items:center; margin-top:auto; }
.ag-journal-scalable .ag-journal-card-copy .ag-kicker { font-size:10px!important; letter-spacing:1px!important; }
.ag-journal-pagination { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; border-top:1px solid var(--journal-rule); margin-top:44px; padding-top:28px; font-size:13px; }
.ag-journal-pagination > div { display:flex; gap:6px; grid-column:2; grid-row:1; }
.ag-journal-pagination a { text-decoration:none; color:var(--journal-purple); }
.ag-journal-pagination .page-numbers { min-width:44px; min-height:44px; padding:8px; display:inline-flex; justify-content:center; align-items:center; border:1px solid var(--journal-rule); border-radius:6px; }
.ag-journal-pagination .current { background:var(--journal-purple); color:white; border-color:var(--journal-purple); }
.ag-journal-page-prev { grid-column:1; grid-row:1; justify-self:start; padding:12px 0; }
.ag-journal-page-next { grid-column:3; grid-row:1; justify-self:end; padding:12px 0; }
.ag-journal-page-gap { padding:10px 4px; }
.ag-journal-page-position { text-align:center; font-size:12px; color:var(--journal-muted); margin:14px 0 0; }
.ag-journal-empty { padding:40px 24px; background:var(--journal-tint); margin-bottom:30px; }
.ag-journal-empty h2 { font-size:26px; margin-top:0; }
@media(max-width:1050px){.ag-journal-scalable .ag-journal-library-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
 .ag-journal-scalable .ag-journal-intro{padding-top:24px;padding-bottom:25px;}
 .ag-journal-scalable .ag-journal-intro h1{font-size:35px;}
 .ag-journal-scalable .ag-journal-intro > p:not(.ag-kicker){font-size:15px;}
 .ag-journal-topics{gap:8px;padding:20px 0;}
 .ag-journal-topics a{font-size:11px;padding:9px 12px;min-height:42px;}
 .ag-journal-search{display:block;}
 .ag-journal-search label{display:block;margin-bottom:10px;font-size:14px;}
 .ag-journal-search > div{width:100%;}
 .ag-journal-scalable .ag-journal-library-cards{grid-template-columns:minmax(0,1fr);gap:30px;}
 .ag-journal-scalable .ag-journal-library-cards > li h2{font-size:25px;}
 .ag-journal-pagination{grid-template-columns:1fr 1fr;gap:10px;}
 .ag-journal-pagination > div{grid-column:1/-1;justify-self:center;grid-row:1;}
 .ag-journal-page-prev{grid-column:1;grid-row:2;}.ag-journal-page-next{grid-column:2;grid-row:2;}
 .ag-journal-pagination .page-numbers{min-width:39px;min-height:42px;}
}
/* Revision v2 uses one compact numerical comparison, readable without swiping. */
.ag-journal-revision-v2 .ag-journal-source-date { color:var(--journal-muted); font-size:12px; margin-top:32px; }
@media(max-width:600px) {
 .ag-journal-revision-v2 .ag-journal-table table { min-width:0; table-layout:fixed; font-size:12px; line-height:1.6; }
 .ag-journal-revision-v2 .ag-journal-table th:first-child { width:44%; }
 .ag-journal-revision-v2 .ag-journal-table :where(th,td) { padding:12px 8px; min-width:0; overflow-wrap:break-word; }
}
