/* FAMA Bureau Journal: editorial extension of the charcoal brand system. */
.journal-hero { padding: clamp(72px, 9vw, 132px) 0 70px; border-bottom: 1px solid var(--rule-strong); }
.journal-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .8fr); column-gap: 9vw; }
.journal-hero .fb-eyebrow, .journal-hero h1 { grid-column: 1; }
.journal-hero h1 { font-size: clamp(52px, 6vw, 88px); margin-bottom: .35em; }
.journal-hero .lead { grid-column: 1; max-width: 31em; }
.journal-topics { grid-column: 2; grid-row: 1 / 4; align-self: end; border-top: 1px solid var(--rule-strong); }
.journal-topics a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--rule); font: 400 12px/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .11em; transition: color .2s, padding .2s; }
.journal-topics a:hover { color: var(--accent); padding-left: 6px; }
.journal-topics a span { color: var(--ink-muted); font-family: var(--font-mono); }
.journal-method { grid-column: 1; margin-top: 20px; font: 400 12px/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .12em; }
.journal-method a { border-bottom: 1px solid var(--rule-strong); padding-bottom: 5px; }
.journal-groups { padding-top: clamp(65px, 8vw, 112px); padding-bottom: 100px; }
.journal-group { scroll-margin-top: 28px; margin-bottom: clamp(80px, 9vw, 140px); }
.journal-group:last-child { margin-bottom: 0; }
.journal-group-head { display: flex; justify-content: space-between; gap: 22px; align-items: baseline; border-top: 1px solid var(--rule-strong); padding-top: 21px; margin-bottom: 34px; }
.journal-group-head h2 { font-size: clamp(34px, 3.9vw, 54px); margin: 0; }
.journal-group-head .fb-eyebrow { order: 2; margin: 0; color: var(--ink-muted); white-space: nowrap; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 52px 24px; }
.journal-card { min-width: 0; }
.journal-card-link { display: block; height: 100%; }
.journal-card-media { background: #201e1a; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--rule-strong); position: relative; }
.journal-card-media::after { content: ''; position: absolute; inset: 0; border: 12px solid transparent; outline: 1px solid rgba(239,232,217,.16); outline-offset: -12px; pointer-events: none; }
.journal-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s var(--ease-out); }
.journal-card-link:hover .journal-card-media img { transform: scale(1.025); }
.journal-card-copy { padding: 20px 0 0; }
.journal-card-kicker { display: flex; justify-content: space-between; color: var(--accent); font: 400 10px/1.6 var(--font-mono); text-transform: uppercase; letter-spacing: .13em; margin-bottom: 13px; }
.journal-card-kicker span { color: var(--ink-muted); }
.journal-card h3 { font-size: clamp(27px, 2.35vw, 35px); line-height: 1.1; margin: 0 0 13px; }
.journal-card-copy > p:not(.journal-card-kicker) { font-size: 17px; line-height: 1.42; margin: 0 0 15px; color: var(--ink-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.journal-card-more { font: 400 11px/1.5 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding-bottom: 6px; }
.journal-card-more span { margin-left: 9px; }
.journal-card-link:hover .journal-card-more { border-color: var(--ink); }
.home-journal { border-top: 1px solid var(--rule-strong); }
.service-journal-link { display: inline-block; margin-top: 23px; padding-bottom: 5px; border-bottom: 1px solid var(--rule-strong); font: 400 11px/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .14em; }
.service-journal-link:hover { border-color: var(--ink); color: var(--accent); }
.home-journal-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 50px; }
.home-journal-head h2 { margin: 0; }
.home-journal-list { border-top: 1px solid var(--rule-strong); }
.home-journal-item { display: grid; grid-template-columns: 70px 1fr 28px; gap: 20px; align-items: baseline; border-bottom: 1px solid var(--rule); padding: 22px 0; transition: padding .2s; }
.home-journal-item:hover { padding-left: 8px; color: var(--accent); }
.home-journal-item span { font: 400 11px var(--font-mono); color: var(--ink-muted); }
.home-journal-item strong { font: 400 clamp(25px, 2.8vw, 37px)/1.1 var(--font-serif); }

/* Individual guides */
.article-page { padding: 58px 0 110px; }
.article-layout { max-width: 1320px; }
.article-back { font: 400 11px/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .16em; color: var(--ink-muted); margin: 0 0 clamp(55px, 7vw, 100px); }
.article-back a { color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding-bottom: 5px; }
.article-head { max-width: 920px; }
.article-head h1 { font-size: clamp(48px, 5.7vw, 78px); max-width: 19ch; margin: 18px 0 28px; }
.article-head .lead { max-width: 37em; }
.article-byline { display: flex; flex-wrap: wrap; gap: 7px 24px; margin-top: 28px; color: var(--ink-muted); font: 400 12px/1.6 var(--font-sans); text-transform: uppercase; letter-spacing: .12em; }
.article-byline a { color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.article-figure { margin: clamp(38px, 6vw, 72px) 0 0; }
.article-figure img { width: 100%; height: auto; background: var(--surface-raised); border: 1px solid var(--rule-strong); }
.article-figure figcaption { font: 400 11px/1.6 var(--font-mono); color: var(--ink-muted); letter-spacing: .04em; margin-top: 12px; }
.article-columns { display: grid; grid-template-columns: minmax(190px, 260px) minmax(0, 720px); gap: clamp(45px, 8vw, 125px); padding-top: clamp(60px, 7vw, 100px); }
.article-aside { align-self: start; position: sticky; top: 32px; padding-top: 10px; border-top: 1px solid var(--rule-strong); }
.article-aside ol { padding: 0; list-style: none; margin: 18px 0 30px; }
.article-aside li { border-bottom: 1px solid var(--rule); }
.article-aside li a { display: block; padding: 11px 0; font: 400 13px/1.4 var(--font-sans); color: var(--ink-body); }
.article-aside li a:hover, .article-aside-link:hover { color: var(--accent); }
.article-aside-link { font: 400 11px/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .12em; }
.article-aside > .article-aside-link { display: inline-block; margin: 5px 0; }
.article-copy > section { scroll-margin-top: 35px; margin-bottom: 48px; }
.article-copy h2 { font-size: clamp(34px, 3.2vw, 47px); margin-bottom: 17px; }
.article-copy p { font-size: clamp(19px, 1.55vw, 22px); line-height: 1.55; max-width: 34em; }
.article-copy .article-figure { margin: 50px 0; }
.article-action, .article-example, .article-faq { border-top: 1px solid var(--rule-strong); padding-top: 31px; }
.article-action .mono, .article-example .mono, .article-faq .mono { color: var(--accent); font-size: 11px; letter-spacing: .17em; text-transform: uppercase; }
.article-action ol { margin: 15px 0 0; padding-left: 30px; counter-reset: guide-step; list-style: none; }
.article-action li { position: relative; margin: 0; padding: 14px 0 14px 14px; border-bottom: 1px solid var(--rule); color: var(--ink-body); font: 400 clamp(18px, 1.5vw, 21px)/1.5 var(--font-sans); counter-increment: guide-step; }
.article-action li::before { content: counter(guide-step, decimal-leading-zero); position: absolute; left: -29px; top: 19px; color: var(--accent); font: 400 12px var(--font-mono); }
.article-example { padding: 32px 34px; border: 1px solid var(--rule-strong); background: #201e1a; }
.article-copy .article-example-note { margin-top: 16px; color: var(--ink-muted); font: 400 12px/1.6 var(--font-sans); }
.article-faq-item { border-top: 1px solid var(--rule); padding: 20px 0 15px; }
.article-faq-item h3 { margin: 0 0 10px; font: 400 clamp(25px, 2.2vw, 31px)/1.16 var(--font-serif); color: var(--ink); }
.article-faq-item p { margin: 0; }
.editorial-policy .article-head h1 { max-width: 15ch; }
.article-takeaway { margin: 60px 0; border: 1px solid var(--rule-strong); padding: clamp(25px, 4vw, 42px); background: linear-gradient(135deg,#24221d,#161512); }
.article-takeaway .mono { color: var(--accent); margin-bottom: 15px; }
.article-takeaway p:last-child { font-size: clamp(23px, 2vw, 29px); line-height: 1.35; color: var(--ink); margin: 0; }
.article-sources { border-top: 1px solid var(--rule); padding-top: 25px; }
.article-sources h2 { font-size: 29px; }
.article-sources ul { padding-left: 20px; }
.article-sources li { margin: 8px 0; font: 400 15px/1.5 var(--font-sans); }
.article-sources a { text-decoration: underline; text-underline-offset: 4px; }
.article-note { border-top: 1px solid var(--rule); padding-top: 18px; margin-top: 55px; }
.article-note p { color: var(--ink-muted); font: 400 13px/1.6 var(--font-sans); }
.article-end { margin-top: 100px; border-top: 1px solid var(--rule-strong); border-bottom: 1px solid var(--rule-strong); padding: 42px 0; display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.article-end h2 { font-size: clamp(38px, 4vw, 53px); margin: 7px 0 10px; }
.article-end p:last-child { margin: 0; font-size: 17px; }
.article-end .fb-btn { flex: none; }
.article-next { margin-top: 55px; }
.article-next a { font: 400 clamp(25px, 3vw, 39px)/1.2 var(--font-serif); display: inline-block; max-width: 31ch; }
.article-next a:hover { color: var(--accent); }
.article-related { margin-top: 60px; }
.article-related h2 { font-size: clamp(34px, 3.6vw, 50px); margin: 8px 0 28px; }
.article-related > div { border-top: 1px solid var(--rule-strong); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.article-related a { display: flex; flex-direction: column; gap: 18px; padding: 24px 20px 30px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font: 400 clamp(24px, 2.3vw, 32px)/1.1 var(--font-serif); }
.article-related a:first-child { padding-left: 0; }
.article-related a:last-child { border-right: 0; }
.article-related a:hover { color: var(--accent); }
.article-related a span { font: 400 10px/1.5 var(--font-mono); color: var(--ink-muted); }
.article-related a b { font: 400 15px var(--font-sans); margin-top: auto; }

@media (max-width: 950px) {
  .journal-hero .wrap { grid-template-columns: 1fr; }
  .journal-topics { grid-column: 1; grid-row: auto; margin-top: 45px; max-width: 650px; }
  .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-columns { grid-template-columns: 1fr; gap: 35px; }
  .article-aside { position: static; }
  .article-aside ol { display: flex; flex-wrap: wrap; gap: 8px 20px; }
  .article-aside li { border: 0; }
  .article-aside li a { padding: 5px 0; text-decoration: underline; text-underline-offset: 4px; }
  .article-related > div { grid-template-columns: 1fr; }
  .article-related a, .article-related a:first-child { padding: 18px 0; border-right: 0; }
}
@media (max-width: 650px) {
  .journal-hero { padding: 68px 0 45px; }
  .journal-grid { grid-template-columns: 1fr; gap: 45px; }
  .journal-group-head { display: block; }
  .journal-group-head .fb-eyebrow { margin-bottom: 11px; }
  .home-journal-head, .article-end { display: block; }
  .home-journal-head .fb-btn, .article-end .fb-btn { margin-top: 24px; }
  .home-journal-item { grid-template-columns: 30px 1fr 20px; gap: 10px; }
  .article-page { padding-top: 40px; }
  .article-back { margin-bottom: 55px; }
  .article-head h1 { margin-top: 13px; }
  .article-columns { padding-top: 55px; }
  .article-copy > section { margin-bottom: 45px; }
}
