/* The home journal begins below the unchanged Atlas cover. */
.home-journal {
  --journal-space: clamp(64px, 6.7vw, 96px);
  color: var(--ink);
  background: var(--paper);
}

.home-journal :where(h2, h3, p, figure, ul, ol) { margin: 0; }
.home-journal :where(a) { text-decoration: none; }
.home-journal :where(h2, h3) {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.035em;
  text-wrap: pretty;
}
.home-journal :where(a:hover, a:focus-visible) { color: #a94723; }
.home-journal :where(p) { color: var(--muted); }
.home-journal :where(picture) { display: block; }
.home-journal :where(img) {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none;
}
.home-journal :where(a:hover img, a:focus-visible img) { transform: none; }
.home-journal :where(article, nav, article > *, header > *) { min-width: 0; }

.journal-intents {
  background: #eae6dc;
  border-bottom: 1px solid var(--rule);
}
.journal-intents .page-shell {
  display: grid;
  grid-template-columns: 1.1fr repeat(4, 1fr);
  align-items: center;
  gap: 24px;
  min-height: 104px;
}
.journal-intents__label {
  font-family: var(--serif);
  font-size: 19px;
  font-style: italic;
}
.journal-intents a {
  display: flex;
  min-height: 48px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 600;
}
.journal-intents a span { color: #a94723; font-size: 19px; }

.journal-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 36px;
}
.journal-kicker {
  display: block;
  margin-bottom: 15px;
  color: #a94723;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.journal-section-head h2 {
  font-size: clamp(32px, 3.1vw, 44px);
  line-height: 1.12;
}
.journal-section-head > p {
  flex-shrink: 0;
  max-width: 330px;
  padding-bottom: 3px;
  font-size: 15px;
  line-height: 1.55;
}
.journal-dossier { padding-block: var(--journal-space); }
.journal-dossier__layout {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(32px, 4.6vw, 66px);
  align-items: center;
}
.journal-dossier__image { display: block; }
.journal-dossier__copy { padding-block: 16px; }
.journal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 16px;
  row-gap: 6px;
  margin-bottom: 16px;
  color: #59656a;
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .035em;
}
.journal-meta > :first-child {
  color: #a94723;
  text-transform: uppercase;
  font-weight: 600;
}
.journal-dossier__copy h3 {
  margin-bottom: 22px;
  font-size: clamp(31px, 3.05vw, 44px);
  line-height: 1.1;
}
.journal-dossier__copy > p { max-width: 44ch; font-size: 17px; line-height: 1.7; }
.journal-read {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 44px;
  margin-top: 24px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
  font-weight: 600;
}
.journal-read span { font-size: 19px; font-weight: 400; }
.journal-dossier__footnote {
  display: block;
  margin-top: 28px;
  color: #657077;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .025em;
}

.journal-selection { padding-block: 0 var(--journal-space); }
.journal-selection .journal-section-head {
  padding-top: 36px;
  border-top: 1px solid var(--rule);
}
.journal-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 36px;
  row-gap: 48px;
}
.journal-story__image { display: block; align-self: start; }
.journal-story--feature .journal-story__copy { padding-top: 22px; }
.journal-story h3 { font-size: 27px; line-height: 1.18; }
.journal-story h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.journal-story--feature .journal-meta { margin-bottom: 12px; }
.journal-story--feature p { margin-top: 16px; font-size: 15px; line-height: 1.65; }
.journal-story--feature .journal-read { margin-top: 16px; }
.journal-followups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 40px;
  margin-top: 50px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
}
.journal-story--compact,
.journal-story--resource {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.journal-story--compact h3,
.journal-story--resource h3 { font-size: 24px; line-height: 1.16; }
.journal-story--compact .journal-story__copy,
.journal-story--resource .journal-story__copy { display: flex; flex-direction: column; }
.journal-story__details { display: contents; }
.journal-story--compact .journal-meta, .journal-story--resource .journal-meta { order: 1; }
.journal-story--compact h3, .journal-story--resource h3 { order: 2; }
.journal-story--compact .journal-story__copy p, .journal-story--resource .journal-story__copy p { order: 3; }
.journal-story--compact .journal-read, .journal-story--resource .journal-read { order: 4; align-self: flex-start; }
.journal-story--compact .journal-meta,
.journal-story--resource .journal-meta { margin-bottom: 9px; font-size: 9px; gap: 5px 10px; }
.journal-story--compact .journal-read,
.journal-story--resource .journal-read { min-height: 36px; margin-top: 10px; font-size: 11px; }
.journal-image-note {
  margin-top: 40px;
  font-size: 11px;
  line-height: 1.6;
}
.journal-image-note a { text-decoration: underline; }

.journal-explore {
  padding-block: var(--journal-space);
  color: var(--paper);
  background: #0b2230;
}
.journal-explore .journal-kicker { color: #efaa88; }
.journal-explore .journal-section-head > p { color: #bdcbd1; }
.journal-explore__layout {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 60px;
  align-items: start;
}
.journal-explore__scene { display: block; }
.journal-explore__scene > span {
  position: relative;
  display: block;
  padding-top: 19px;
  padding-right: 26px;
}
.journal-explore__scene small {
  display: block;
  margin-bottom: 7px;
  color: #b7c8cf;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.journal-explore__scene strong { font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.2; }
.journal-explore__scene b { position: absolute; right: 0; top: 34px; color: #efaa88; font-size: 24px; font-weight: 400; }
.journal-topic-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;
  padding: 0;
  list-style: none;
  counter-reset: topic;
}
.journal-topic-links li { counter-increment: topic; }
.journal-topic-links a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 14px;
  gap: 10px;
  position: relative;
  min-height: 86px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid #41515c;
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.18;
}
.journal-topic-links b { color: #d3a18a; font-size: 17px; font-weight: 400; }
.journal-explore :where(a:hover, a:focus-visible) { color: #f2bd9f; }

.journal-resources { padding-block: var(--journal-space); }
.journal-resource-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 40px;
}
.journal-story--resource { padding-top: 24px; border-top: 1px solid var(--rule); }
.journal-story--text { display: block; }
.journal-story--text p { margin-top: 12px; font-size: 15px; line-height: 1.6; }
.journal-archive {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 44px;
  margin-top: 44px;
  padding-top: 30px;
  border-top: 1px solid var(--rule);
}
.journal-archive > h3 { font-size: 28px; }
.journal-archive ul { display: grid; gap: 2px; list-style: none; padding: 0; }
.journal-archive a {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  min-height: 48px;
  align-items: center;
  font-size: 16px;
  line-height: 1.4;
}
.journal-archive a span { color: #a94723; font-size: 19px; }

.journal-method { padding-block: 60px 68px; background: #eae6dc; }
.journal-method > .page-shell { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; }
.journal-method h2 { max-width: 16ch; font-size: 42px; line-height: 1.12; }
.journal-method__principles { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 32px; }
.journal-method__principles > div { border-top: 1px solid #b5b5aa; padding-top: 13px; }
.journal-method__principles span { display: block; margin-bottom: 10px; font-family: var(--mono); font-size: 10px; color: #a94723; }
.journal-method h3 { font-size: 22px; line-height: 1.2; margin-bottom: 8px; }
.journal-method p { font-size: 13px; line-height: 1.6; }

/* Reuse the real form; style this template part only on the journal homepage. */
.atlas-home--journal .newsletter { background: #071927; }
.atlas-home--journal .newsletter::after { display: none; }
.atlas-home--journal .newsletter-inner { align-items: center; padding-block: 72px; gap: 72px; }
.atlas-home--journal .newsletter h2 { max-width: 11ch; margin-top: 20px; font-size: 52px; line-height: 1.05; }
.atlas-home--journal .newsletter h2 em { color: #efaa88; }
.atlas-home--journal .newsletter-inner > div > p:not(.eyebrow, .newsletter-note) { color: #c6d0d6; font-size: 15px; }
.atlas-home--journal .newsletter .eyebrow { font-size: 10px; }
.atlas-home--journal .newsletter-form { margin-top: 22px; }
.atlas-home--journal .newsletter-note { margin-top: 15px; font-size: 10px; }
.atlas-home--journal .newsletter-form input[type="email"] { font-size: 17px; }
.atlas-home--journal .newsletter-form button { font-size: 11px; padding-inline: 18px; }

@media (max-width: 1199px) {
  .journal-section-head > p { max-width: 250px; font-size: 14px; }
  .journal-section-head h2 { font-size: 36px; }
  .journal-features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }
  .journal-story--feature:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 38px; align-items: center; }
  .journal-story--feature:first-child .journal-story__copy { padding-top: 0; }
  .journal-story--feature:first-child h3 { font-size: 32px; }
  .journal-explore__layout { gap: 36px; grid-template-columns: .85fr 1.15fr; }
  .journal-topic-links { column-gap: 24px; }
  .journal-topic-links a { font-size: 20px; min-height: 80px; }
  .journal-method > .page-shell { gap: 40px; }
  .journal-method h2 { font-size: 36px; }
}

@media (max-width: 1099px) {
  .journal-intents .page-shell { gap: 16px; grid-template-columns: repeat(4, 1fr); padding-block: 17px; }
  .journal-intents__label { grid-column: 1 / -1; font-size: 17px; }
  .journal-intents a { font-size: 13px; min-height: 32px; }
  .journal-followups, .journal-resource-list { grid-template-columns: 1fr; gap: 28px; }
  .journal-story--compact, .journal-story--resource { grid-template-columns: 200px minmax(0, 1fr); gap: 30px; }
  .journal-story--compact h3, .journal-story--resource h3 { font-size: 27px; }
  .journal-story--compact .journal-meta, .journal-story--resource .journal-meta { font-size: 10px; }
  .journal-story--compact .journal-read, .journal-story--resource .journal-read { font-size: 12px; }
  .journal-story--resource { padding-top: 28px; }
}

@media (min-width: 768px) and (max-width: 900px) {
  .journal-story--feature:first-child h3 { font-size: 28px; }
}

@media (max-width: 767px) {
  .home-journal { --journal-space: 56px; }
  .journal-intents .page-shell { grid-template-columns: 1fr 1fr; gap: 5px 24px; padding-block: 22px; }
  .journal-intents__label { margin-bottom: 8px; }
  .journal-intents a { min-height: 48px; border-top: 1px solid var(--rule); }
  .journal-section-head { display: block; margin-bottom: 28px; }
  .journal-section-head h2 { max-width: 22ch; font-size: clamp(29px, 5.9vw, 38px); }
  .journal-section-head > p { max-width: none; margin-top: 15px; font-size: 15px; }
  .journal-section-head > p br { display: none; }
  .journal-kicker { margin-bottom: 13px; font-size: 10px; }
  .journal-dossier__layout { grid-template-columns: 1fr; gap: 26px; }
  .journal-dossier__copy { padding: 0; }
  .journal-dossier__copy h3 { max-width: 24ch; font-size: 32px; margin-bottom: 16px; }
  .journal-dossier__copy > p { max-width: none; font-size: 16px; }
  .journal-dossier__footnote { margin-top: 18px; }
  .journal-selection .journal-section-head { padding-top: 27px; }
  .journal-features { grid-template-columns: 1fr; gap: 42px; }
  .journal-story--feature:first-child { display: block; }
  .journal-story--feature:first-child .journal-story__copy { padding-top: 20px; }
  .journal-story--feature h3, .journal-story--feature:first-child h3 { font-size: 27px; }
  .journal-story--feature p { font-size: 15px; }
  .journal-followups { margin-top: 38px; padding-top: 30px; }
  .journal-explore__layout { grid-template-columns: 1fr; gap: 32px; }
  .journal-explore__scene strong { font-size: 23px; }
  .journal-topic-links { column-gap: 26px; }
  .journal-topic-links a { font-size: 21px; min-height: 78px; }
  .journal-archive { grid-template-columns: 1fr; gap: 18px; }
  .journal-archive > h3 { font-size: 26px; }
  .journal-archive a { font-size: 15px; padding-block: 9px; }
  .journal-method { padding-block: 48px; }
  .journal-method > .page-shell { grid-template-columns: 1fr; gap: 32px; }
  .journal-method h2 { max-width: 20ch; font-size: 34px; }
  .journal-method__principles { gap: 26px; }
  .journal-method h3 { font-size: 23px; }
  .atlas-home--journal .newsletter-inner { grid-template-columns: 1fr; gap: 32px; padding-block: 52px; }
  .atlas-home--journal .newsletter h2 { max-width: 15ch; font-size: 43px; }
}

@media (max-width: 599px) {
  .home-journal .page-shell { width: calc(100% - 40px); }
  .journal-story--compact { padding-top: 26px; border-top: 1px solid var(--rule); }
  .journal-story--compact:first-child { padding-top: 0; border-top: 0; }
  .journal-story h3, .journal-story--feature h3, .journal-story--feature:first-child h3,
  .journal-story--compact h3, .journal-story--resource h3 { font-size: clamp(21px, 6.2vw, 26px); line-height: 1.18; }
  .journal-dossier__copy h3 { font-size: clamp(27px, 7.4vw, 32px); }
  .journal-meta { font-size: 9px; }
  .journal-image-note { margin-top: 28px; }
  .journal-topic-links { column-gap: 22px; }
  .journal-topic-links a { font-size: 19px; min-height: 88px; }
  .journal-method__principles { grid-template-columns: 1fr; gap: 22px; }
  .journal-method__principles > div { display: grid; grid-template-columns: 24px 1fr; column-gap: 16px; }
  .journal-method__principles span { grid-column: 1; grid-row: 1 / 3; margin-top: 5px; }
  .journal-method__principles h3, .journal-method__principles p { grid-column: 2; }
  .journal-method p { font-size: 14px; }
  .journal-method h2 { font-size: 31px; }
  .atlas-home--journal .newsletter h2 { font-size: 38px; }
  .atlas-home--journal .newsletter-inner { width: calc(100% - 40px); }
  .atlas-home--journal .newsletter-form > div { grid-template-columns: 1fr; gap: 10px; }
  .atlas-home--journal .newsletter-form button { min-height: 48px; }
}

@media (max-width: 600px) {
  .journal-followups, .journal-resource-list { gap: 24px; }
  .journal-story--compact, .journal-story--resource {
    grid-template-columns: 112px minmax(0, 1fr);
    column-gap: 22px;
    row-gap: 15px;
  }
  .journal-story--compact .journal-story__copy,
  .journal-story--resource .journal-story__copy { display: contents; }
  .journal-story--compact h3, .journal-story--resource h3 {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .journal-story--compact .journal-story__image,
  .journal-story--resource .journal-story__image {
    grid-column: 1;
    grid-row: 2 / 4;
    width: 112px;
  }
  .journal-story--compact .journal-meta,
  .journal-story--resource .journal-meta {
    display: block;
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-size: 10px;
  }
  .journal-story--compact .journal-meta span,
  .journal-story--resource .journal-meta span { display: block; margin-top: 4px; }
  .journal-story--compact .journal-read,
  .journal-story--resource .journal-read {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    min-height: 44px;
    margin-top: 0;
    font-size: 12px;
  }
  .journal-story--text { display: block; }
  .journal-story--text .journal-story__copy { display: flex; flex-direction: column; }
  .journal-story--text h3 { order: 1; }
  .journal-story--text .journal-meta { display: flex; order: 2; margin-top: 14px; }
  .journal-story--text .journal-meta span { margin-top: 0; }
  .journal-story--text .journal-read { margin-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-journal *, .home-journal *::before, .home-journal *::after { transition: none; }
}

/*
 * The decision atlas turns the opening question into the page's navigation
 * device. These routes deliberately do not behave like a repeated card grid:
 * each one has a different measure, colour field and photographic crop.
 */
.home-journal { overflow: clip; }
.journal-decision-atlas {
  position: relative;
  padding-block: clamp(72px, 8vw, 124px);
  background:
    linear-gradient(90deg, rgba(7, 25, 39, .045) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(rgba(7, 25, 39, .045) 1px, transparent 1px) 0 0 / 72px 72px,
    var(--paper);
}
.journal-section-head--atlas { margin-bottom: 45px; }
.journal-section-head--atlas h2 { max-width: 17ch; font-size: clamp(38px, 4.8vw, 66px); line-height: 1.01; }
.journal-section-head--atlas > p { max-width: 33ch; }
.decision-atlas {
  display: grid;
  grid-template-columns: 1.18fr .82fr .82fr 1.18fr;
  gap: clamp(13px, 1.55vw, 22px);
  align-items: stretch;
}
.decision-atlas__route {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 372px;
  overflow: hidden;
  isolation: isolate;
  padding: 20px;
  color: var(--paper);
  background: #0d2a38;
  text-decoration: none;
}
.decision-atlas__route::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(5, 18, 28, .08) 5%, rgba(5, 18, 28, .84) 92%);
}
.decision-atlas__route--safe { min-height: 314px; align-self: end; background: #5b695d; }
.decision-atlas__route--cost { min-height: 314px; align-self: start; background: #a94723; }
.decision-atlas__route--maintain { background: #233f4c; }
.decision-atlas__visual,
.decision-atlas__visual picture,
.decision-atlas__visual img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}
.decision-atlas__visual img {
  object-fit: cover;
  object-position: center;
  filter: saturate(.72) contrast(1.04) brightness(.72);
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.decision-atlas__route--safe .decision-atlas__visual img { object-position: 57% center; }
.decision-atlas__route--cost .decision-atlas__visual img { object-position: 45% center; }
.decision-atlas__route--maintain .decision-atlas__visual img { object-position: 64% center; }
.decision-atlas__index,
.decision-atlas__copy > span,
.decision-atlas__copy small {
  font-family: var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.decision-atlas__index {
  position: relative;
  align-self: start;
  font-size: 10px;
  font-weight: 600;
}
.decision-atlas__copy {
  position: relative;
  align-self: end;
  display: grid;
  gap: 7px;
  max-width: 24ch;
}
.decision-atlas__copy > span { color: #f4c642; font-size: 9px; font-weight: 600; }
.decision-atlas__route--cost .decision-atlas__copy > span { color: #ffdfc9; }
.decision-atlas__copy strong {
  font-family: var(--serif);
  font-size: clamp(27px, 2.35vw, 39px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.decision-atlas__copy small { color: rgba(251,250,246,.8); font-size: 8px; line-height: 1.5; }
.decision-atlas__route > b {
  position: absolute;
  top: 16px;
  right: 18px;
  color: #f4c642;
  font-size: 22px;
  font-weight: 400;
  transition: transform .25s ease;
}
.decision-atlas__route--cost > b { color: #ffdfc9; }
.decision-atlas__route:hover { color: var(--paper); }
.decision-atlas__route:hover .decision-atlas__visual img,
.decision-atlas__route:focus-visible .decision-atlas__visual img { filter: saturate(.94) contrast(1.05) brightness(.85); transform: scale(1.045); }
.decision-atlas__route:hover > b,
.decision-atlas__route:focus-visible > b { transform: translate(3px, -3px); }
.decision-atlas__note {
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: 510px;
  margin: 28px 0 0 auto !important;
  color: #58636a !important;
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.decision-atlas__note span { color: var(--copper); font-size: 20px; }

/* A small reading path gives the editorial selection a usable next step. */
.journal-route-note {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(30px, 5vw, 74px);
  align-items: start;
  margin-top: clamp(46px, 6vw, 78px);
  padding: 30px 0 0;
  border-top: 1px solid var(--rule);
}
.journal-route-note .journal-kicker { margin-bottom: 9px; }
.journal-route-note strong {
  display: block;
  max-width: 24ch;
  font-family: var(--serif);
  font-size: clamp(24px, 2.35vw, 34px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.025em;
}
.journal-route-note ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: route; }
.journal-route-note li { border-top: 1px solid var(--rule); }
.journal-route-note li:last-child { border-bottom: 1px solid var(--rule); }
.journal-route-note a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 15px;
  align-items: baseline;
  min-height: 56px;
  padding-block: 13px;
  color: var(--copper);
  font-family: var(--mono);
  font-size: 10px;
  text-decoration: none;
}
.journal-route-note a span { color: var(--ink); font-family: var(--serif); font-size: 19px; line-height: 1.28; letter-spacing: -.015em; }

/* Local context is not a footnote. It gets its own dark field in the atlas. */
.journal-mexico {
  position: relative;
  padding-block: clamp(74px, 9vw, 132px);
  color: var(--paper);
  background: #071927;
}
.journal-mexico::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 72px 72px;
}
.journal-mexico .page-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(40px, 7vw, 108px);
  align-items: center;
}
.journal-mexico__media { position: relative; min-width: 0; padding-right: clamp(20px, 4vw, 56px); }
.journal-mexico__image { position: relative; overflow: hidden; background: #244659; }
.journal-mexico__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(135deg, rgba(7,25,39,.02), rgba(7,25,39,.46));
  pointer-events: none;
}
.journal-mexico__image img { width: 100%; min-height: 420px; object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.04); }
.journal-mexico__stamp {
  position: absolute;
  right: 0;
  bottom: 24px;
  display: grid;
  place-items: center;
  width: 142px;
  aspect-ratio: 1;
  padding: 16px;
  border: 1px solid rgba(251,250,246,.5);
  color: var(--ink);
  background: #f4c642;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .065em;
  text-align: center;
}
.journal-mexico .journal-kicker { color: #f4c642; }
.journal-mexico__copy h2 { max-width: 16ch; margin-bottom: 20px; font-family: var(--serif); font-size: clamp(38px, 4.3vw, 60px); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; }
.journal-mexico__copy > p { max-width: 44ch; color: #c8d2d6; font-size: 17px; line-height: 1.7; }
.journal-mexico__links { display: grid; margin-top: 34px; border-top: 1px solid rgba(255,255,255,.25); }
.journal-mexico__links a {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 18px;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  border-bottom: 1px solid rgba(255,255,255,.25);
  color: var(--paper);
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.2;
  text-decoration: none;
}
.journal-mexico__links span { color: #f4c642; font-family: var(--mono); font-size: 10px; }
.journal-mexico__links b { color: #efaa88; font-size: 18px; font-weight: 400; transition: transform .25s ease; }
.journal-mexico__links a:hover b,
.journal-mexico__links a:focus-visible b { transform: translate(3px,-3px); }
.journal-mexico__links a:hover,
.journal-mexico__links a:focus-visible { color: #f4c642; }

/* The method field combines an editorial process with a physical notebook. */
.journal-method { position: relative; overflow: hidden; }
.journal-method > .page-shell { grid-template-columns: minmax(0, .77fr) minmax(0, 1fr) minmax(180px, .46fr); }
.journal-method header > p { max-width: 27ch; margin-top: 17px; font-size: 15px; line-height: 1.62; }
.journal-method__principles { grid-template-columns: 1fr 1fr; align-content: start; }
.journal-method__principles > div:last-child { grid-column: 1 / -1; max-width: 50%; }
.journal-method__notebook {
  position: relative;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 330px;
  padding: 22px;
  overflow: hidden;
  color: var(--paper);
  background: #0b2230;
  box-shadow: 12px 12px 0 #d9d5ca;
}
.journal-method__notebook::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .22;
  background: repeating-linear-gradient(180deg, transparent 0 31px, rgba(255,255,255,.23) 31px 32px);
}
.journal-method__notebook > * { position: relative; }
.journal-method__notebook > span,
.journal-method__notebook small { color: #f4c642; font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .08em; }
.journal-method__notebook strong { max-width: 14ch; font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.08; letter-spacing: -.03em; }
.journal-method__notebook i { display: block; width: 55px; border-top: 1px solid #efaa88; }
.journal-method__notebook small { color: #c8d2d6; line-height: 1.55; }

/* The factual ledger makes the pre-launch state legible without sales theatre. */
.journal-ledger { padding-block: clamp(70px, 8vw, 116px); background: var(--paper); }
.journal-ledger__intro { display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, .7fr); gap: 34px; align-items: end; }
.journal-ledger__intro .journal-kicker { grid-column: 1 / -1; margin-bottom: -12px; }
.journal-ledger__intro h2 { max-width: 17ch; font-family: var(--serif); font-size: clamp(36px, 4.25vw, 58px); font-weight: 400; line-height: 1.02; letter-spacing: -.04em; }
.journal-ledger__intro p { max-width: 32ch; font-size: 15px; line-height: 1.62; }
.journal-ledger__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(36px, 5vw, 68px) 0 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.journal-ledger__facts > div { min-width: 0; padding: clamp(20px, 2.5vw, 34px) clamp(12px, 2vw, 28px) clamp(23px, 2.8vw, 38px); border-left: 1px solid var(--rule); }
.journal-ledger__facts > div:first-child { border-left: 0; padding-left: 0; }
.journal-ledger__facts dt { font-family: var(--serif); font-size: clamp(47px, 5.5vw, 77px); font-weight: 400; line-height: .86; letter-spacing: -.075em; }
.journal-ledger__facts dd { max-width: 14ch; margin: 13px 0 0; color: var(--muted); font-family: var(--mono); font-size: 10px; line-height: 1.5; letter-spacing: .05em; text-transform: uppercase; }
.journal-ledger__foot { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; gap: 28px; align-items: center; padding-top: 22px; }
.journal-ledger__foot > span { color: #a94723; font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .08em; }
.journal-ledger__foot p { max-width: 60ch; font-size: 14px; line-height: 1.6; }
.journal-ledger__foot .journal-read { margin-top: 0; white-space: nowrap; }

/* The acquisition note belongs near the footer: quiet, factual and contactable. */
.journal-asset { padding-block: clamp(48px, 6vw, 80px); background: #e7e3d8; }
.journal-asset .page-shell {
  display: grid;
  grid-template-columns: 160px minmax(0, 1.15fr) minmax(220px, .63fr);
  gap: clamp(28px, 4.8vw, 76px);
  align-items: start;
  padding-block: clamp(28px, 3.4vw, 50px);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.journal-asset__mark { display: grid; align-content: space-between; min-height: 170px; padding: 14px 0; border-right: 1px solid var(--rule); }
.journal-asset__mark span { color: #a94723; font-family: var(--serif); font-size: 72px; line-height: .8; letter-spacing: -.09em; }
.journal-asset__mark small,
.journal-asset__contact > span,
.journal-asset__contact small { font-family: var(--mono); font-size: 9px; font-weight: 600; line-height: 1.55; letter-spacing: .07em; text-transform: uppercase; }
.journal-asset__mark small { color: var(--muted); }
.journal-asset__copy h2 { max-width: 18ch; margin-bottom: 17px; font-family: var(--serif); font-size: clamp(31px, 3.25vw, 46px); font-weight: 400; line-height: 1.04; letter-spacing: -.04em; }
.journal-asset__copy > p { max-width: 56ch; font-size: 15px; line-height: 1.67; }
.journal-asset__copy .journal-asset__disclosure { margin-top: 16px; color: #59656a; font-family: var(--mono); font-size: 10px; line-height: 1.62; }
.journal-asset__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; min-width: 0; padding-top: 3px; }
.journal-asset__contact > span { color: #a94723; }
.journal-asset__brand { font-family: var(--serif); font-size: 29px; line-height: 1; letter-spacing: -.03em; text-decoration: none; }
.journal-asset__brand b,
.journal-asset__cta b { color: var(--copper); font-weight: 400; }
.journal-asset__contact > p { max-width: 27ch; font-size: 14px; line-height: 1.55; }
.journal-asset__cta { display: inline-flex; align-items: center; gap: 14px; min-height: 42px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 600; text-decoration: none; }
.journal-asset__contact small { color: var(--muted); font-size: 8px; letter-spacing: .045em; text-transform: none; }

@media (max-width: 1199px) {
  .decision-atlas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-atlas__route,
  .decision-atlas__route--safe,
  .decision-atlas__route--cost { min-height: 330px; align-self: stretch; }
  .decision-atlas__copy strong { font-size: clamp(30px, 4vw, 42px); }
  .journal-mexico .page-shell { gap: 52px; }
  .journal-method > .page-shell { grid-template-columns: minmax(0, .75fr) minmax(0, 1.05fr); }
  .journal-method__notebook { grid-column: 1 / -1; min-height: 200px; max-width: 520px; }
  .journal-method__notebook strong { max-width: 21ch; }
  .journal-asset .page-shell { grid-template-columns: 125px minmax(0, 1fr); }
  .journal-asset__contact { grid-column: 2; display: grid; grid-template-columns: 150px 1fr; column-gap: 24px; align-items: baseline; }
  .journal-asset__contact > span { grid-column: 1; }
  .journal-asset__brand { grid-column: 2; grid-row: 1; }
  .journal-asset__contact > p { grid-column: 2; }
  .journal-asset__cta, .journal-asset__contact small { grid-column: 2; }
}

@media (max-width: 767px) {
  .journal-decision-atlas { padding-block: 60px 66px; background-size: 52px 52px; }
  .journal-section-head--atlas { margin-bottom: 30px; }
  .journal-section-head--atlas h2 { font-size: clamp(33px, 9.4vw, 47px); }
  .decision-atlas { grid-template-columns: 1fr; gap: 12px; }
  .decision-atlas__route,
  .decision-atlas__route--safe,
  .decision-atlas__route--cost { min-height: 275px; }
  .decision-atlas__copy strong { font-size: clamp(31px, 9.5vw, 42px); }
  .decision-atlas__note { margin: 18px 0 0 !important; font-size: 9px; }
  .journal-route-note { grid-template-columns: 1fr; gap: 26px; margin-top: 42px; }
  .journal-route-note strong { max-width: 25ch; }
  .journal-mexico { padding-block: 60px 72px; }
  .journal-mexico .page-shell { grid-template-columns: 1fr; gap: 38px; }
  .journal-mexico__media { padding-right: 28px; }
  .journal-mexico__image img { min-height: 300px; }
  .journal-mexico__stamp { width: 112px; bottom: 18px; font-size: 8px; }
  .journal-mexico__copy h2 { font-size: clamp(35px, 10vw, 49px); }
  .journal-mexico__copy > p { font-size: 16px; }
  .journal-mexico__links { margin-top: 27px; }
  .journal-method > .page-shell { grid-template-columns: 1fr; gap: 35px; }
  .journal-method__principles { gap: 22px; }
  .journal-method__principles > div:last-child { max-width: none; }
  .journal-method__notebook { grid-column: auto; min-height: 205px; max-width: none; box-shadow: 8px 8px 0 #d9d5ca; }
  .journal-ledger { padding-block: 62px; }
  .journal-ledger__intro { grid-template-columns: 1fr; gap: 17px; }
  .journal-ledger__intro .journal-kicker { grid-column: auto; margin-bottom: -4px; }
  .journal-ledger__intro h2 { font-size: clamp(33px, 9.4vw, 47px); }
  .journal-ledger__facts { grid-template-columns: 1fr 1fr; margin-top: 34px; }
  .journal-ledger__facts > div:nth-child(odd) { border-left: 0; }
  .journal-ledger__facts > div:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .journal-ledger__facts > div:first-child { padding-left: 12px; }
  .journal-ledger__facts dt { font-size: clamp(49px, 15vw, 66px); }
  .journal-ledger__foot { grid-template-columns: 1fr; gap: 13px; padding-top: 21px; }
  .journal-ledger__foot .journal-read { justify-self: start; }
  .journal-asset .page-shell { grid-template-columns: 1fr; gap: 24px; padding-block: 28px; }
  .journal-asset__mark { min-height: 0; grid-template-columns: auto 1fr; align-items: end; gap: 18px; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid var(--rule); }
  .journal-asset__mark span { font-size: 57px; }
  .journal-asset__contact { grid-column: auto; display: flex; gap: 11px; padding-top: 3px; }
  .journal-asset__brand { font-size: 28px; }
}

@media (max-width: 460px) {
  .decision-atlas__route,
  .decision-atlas__route--safe,
  .decision-atlas__route--cost { min-height: 248px; padding: 17px; }
  .decision-atlas__copy small { max-width: 29ch; }
  .journal-route-note a span { font-size: 17px; }
  .journal-mexico__links a { grid-template-columns: 29px minmax(0,1fr) 16px; font-size: 18px; }
  .journal-ledger__facts > div { padding: 20px 10px 23px; }
  .journal-ledger__facts dd { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .decision-atlas__visual img,
  .decision-atlas__route > b,
  .journal-mexico__links b { transition: none; }
}

/*
 * Homepage material cadence
 *
 * The journal is intentionally not a light/dark checkerboard.  These fields
 * give each editorial movement a different physical character while keeping
 * the reading surface quiet enough for dense technical copy.
 */
.journal-dossier,
.journal-selection,
.journal-resources {
  position: relative;
  isolation: isolate;
}

.journal-dossier::before,
.journal-selection::before,
.journal-resources::before {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}

.journal-dossier > *,
.journal-selection > *,
.journal-resources > * {
  position: relative;
  z-index: 1;
}

/* 02: a quiet limestone field gives the long-form dossier a separate room. */
.journal-dossier {
  padding-block: clamp(72px, 7.4vw, 108px);
}

.journal-dossier::before {
  border-block: 1px solid rgba(7, 25, 39, .12);
  background: #e9e3d7;
}

.journal-dossier .journal-section-head {
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(7, 25, 39, .18);
}

.journal-dossier__layout {
  padding-top: clamp(30px, 4vw, 50px);
}

/* 03: an archival paper field, kept deliberately brighter after limestone. */
.journal-selection {
  padding-block: clamp(74px, 7.5vw, 112px);
}

.journal-selection::before {
  background: #fbfaf6;
}

.journal-selection .journal-section-head {
  padding-top: 0;
  border-top-color: rgba(7, 25, 39, .35);
}

.journal-selection .journal-section-head::after {
  display: block;
  width: min(118px, 22vw);
  height: 3px;
  margin-top: 20px;
  content: "";
  background: #c95e32;
}

.journal-selection .journal-features {
  padding-top: clamp(4px, .8vw, 10px);
}

/* 05: Mexico gets its own oxidised mineral field, not a second dark block. */
.journal-mexico {
  color: #082633;
  background: #dce6e3;
}

.journal-mexico::before {
  background:
    linear-gradient(90deg, rgba(8, 38, 51, .075) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(rgba(8, 38, 51, .05) 1px, transparent 1px) 0 0 / 96px 96px;
}

.journal-mexico .journal-kicker { color: #8a351e; }
.journal-mexico__copy h2 { color: #082633; }
.journal-mexico__copy > p { color: #29444c; }
.journal-mexico__links { border-top-color: rgba(8, 38, 51, .3); }
.journal-mexico__links a {
  color: #082633;
  border-bottom-color: rgba(8, 38, 51, .3);
}
.journal-mexico__links span { color: #8a351e; }
.journal-mexico__links b { color: #a94723; }
.journal-mexico__links a:hover,
.journal-mexico__links a:focus-visible { color: #752b18; }

/* 06: a clean paper return resets the eye after the location context. */
.journal-resources {
  padding-block: clamp(76px, 7.5vw, 112px);
}

.journal-resources::before {
  border-top: 1px solid rgba(7, 25, 39, .14);
  background: #fdfcf9;
}

.journal-resources .journal-section-head {
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(7, 25, 39, .18);
}

/* 07: a restrained blueprint wash makes the methodology feel like evidence. */
.journal-method {
  background: #e2ebe8;
}

.journal-method::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(90deg, rgba(7, 25, 39, .06) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(rgba(7, 25, 39, .045) 1px, transparent 1px) 0 0 / 72px 72px;
}

.journal-method > .page-shell {
  position: relative;
  z-index: 1;
}

.journal-method__principles > div { border-top-color: rgba(7, 25, 39, .25); }
.journal-method__notebook { box-shadow: 12px 12px 0 #c7d3d0; }

/* 08: proofing paper makes the factual ledger legible and distinct. */
.journal-ledger {
  position: relative;
  background: #f7f7f2;
}

.journal-ledger::before {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  content: "";
  background: #0b2230;
}

.journal-ledger > .page-shell { position: relative; }

/* Closing note: retain warmth, with a darker edge that resolves the page. */
.journal-asset { background: #ece3d6; }
.journal-asset .page-shell { border-color: rgba(7, 25, 39, .86); }

@media (max-width: 767px) {
  .journal-dossier,
  .journal-selection,
  .journal-resources { padding-block: 60px; }

  .journal-dossier .journal-section-head,
  .journal-resources .journal-section-head { padding-bottom: 22px; }

  .journal-dossier__layout { padding-top: 26px; }

  .journal-selection .journal-section-head::after {
    width: 86px;
    margin-top: 16px;
  }

  .journal-mexico::before { background-size: 64px 64px; }
  .journal-method::before { background-size: 54px 54px; }
  .journal-method__notebook { box-shadow: 8px 8px 0 #c7d3d0; }
}
