.journal-icon {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.journal-preview {
  padding-block: clamp(64px, 8vw, 116px);
  border-top: 1px solid var(--rule);
  background: radial-gradient(ellipse at 90% 0%, #2c2f18 0%, transparent 45%), #18171b;
}
.journal-preview-heading, .journal-related-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 28px;
  margin-bottom: clamp(24px, 4vw, 44px);
}
.journal-preview-heading .section-label, .journal-masthead .section-label, .story-head .section-label { color: var(--lime); }
.journal-preview-heading > a { margin-bottom: 3px; white-space: nowrap; }
.journal-preview-heading > a:hover { color: var(--lime); }

.journal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 26px);
}
.journal-card {
  --card-border: #c9c8bd;
  --card-bg: #faf9f4;
  --card-ink: #17161a;
  --card-muted: #55545b;
  --chip-bg: #eeede4;
  --chip-text: #444527;
  min-width: 0;
}
.journal-preview .journal-card {
  --card-border: #ffffff22;
  --card-bg: #201f24;
  --card-ink: var(--white);
  --card-muted: #c4c3c9;
  --chip-bg: #e3f50314;
  --chip-text: #eef86a;
}
.journal-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--card-border);
  border-radius: 17px;
  background: var(--card-bg);
  color: var(--card-ink);
  transition: border-color .24s, box-shadow .24s;
}
.journal-card-link:hover { border-color: #6a7328; box-shadow: 0 10px 32px #1110151a; }
.journal-preview .journal-card-link:hover { border-color: #e3f50377; }
.journal-card-image {
  min-width: 0;
  aspect-ratio: 1.64;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
  background: #28282b;
}
.journal-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  transition: transform .65s var(--ease-out);
}
.journal-card-link:hover img { transform: scale(1.04); }

.journal-card-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(17px, 2.25vw, 32px);
}
.journal-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--card-muted); font-size: .76rem; font-weight: 600; }
.journal-tag {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 5px;
  background: var(--chip-bg);
  color: var(--chip-text);
  font-size: .72rem;
  font-weight: 720;
  letter-spacing: .045em;
}
.journal-card h3 {
  margin: 13px 0 9px;
  font-size: clamp(1.26rem, 2.2vw, 2.12rem);
  line-height: 1.08;
  letter-spacing: -.055em;
  text-wrap: pretty;
}
.journal-card p { color: var(--card-muted); font-size: .92rem; line-height: 1.57; }
.journal-card-read {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
  font-size: .83rem;
  font-weight: 700;
}
.journal-circle {
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  height: 38px;
  border: 1px solid var(--card-border);
  border-radius: 50%;
  transition: background-color .25s, color .25s, transform .25s;
}
.journal-card-link:hover .journal-circle {
  transform: translate(2px, -2px);
  border-color: transparent;
  background: var(--lime);
  color: var(--ink);
}

.journal-nav-link .header-icon { color: var(--lime); }
.is-story .journal-nav-link { color: var(--lime); border-color: #e3f5034a; background: #e3f50314; }
.journal-masthead, .story-hero {
  background: radial-gradient(ellipse at 93% 15%, #32351c 0%, transparent 52%), var(--ink);
}
.journal-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  padding-top: clamp(19px, 3.5vw, 44px);
  color: #c7c6cd;
  font-size: .875rem;
}
.journal-breadcrumbs a { display: inline-flex; align-items: center; min-height: 34px; text-decoration: underline; text-underline-offset: 4px; }
.journal-breadcrumbs a:hover { color: var(--lime); }
.crumb-divider { color: #a09fa7; }
.journal-breadcrumbs [aria-current] { color: var(--white); }
.journal-masthead-text {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, .8fr);
  align-items: end;
  gap: 20px clamp(24px, 5vw, 85px);
  padding-block: clamp(25px, 3.55vw, 61px) clamp(48px, 5vw, 77px);
}
.journal-masthead h1, .story-head h1 {
  font-weight: 780;
  letter-spacing: -.069em;
  text-wrap: balance;
}
.journal-masthead h1 { font-size: clamp(3.1rem, 6.65vw, 6.8rem); line-height: .97; text-wrap: pretty; }
.journal-masthead-text > p { max-width: 365px; color: #d3d2da; font-size: clamp(.96rem, 1.5vw, 1.2rem); line-height: 1.58; }

.journal-feed, .journal-related { padding-block: clamp(39px, 4.6vw, 67px) clamp(62px, 8vw, 113px); }
.journal-page .journal-feed-title { font-size: clamp(1.65rem, 4.35vw, 3.7rem); line-height: 1.08; }
.journal-feed .journal-feed-title { margin-bottom: 24px; }
.journal-feed .journal-grid, .journal-related .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.journal-card-focal { grid-column: 1 / -1; }
.journal-card-focal .journal-card-link { display: grid; grid-template-columns: minmax(0, 1.23fr) minmax(0, 1fr); }
.journal-card-focal .journal-card-image { position: relative; width: 100%; min-height: 100%; aspect-ratio: 1.67; border-radius: 16px 0 0 16px; }
.journal-card-focal .journal-card-image img { position: absolute; inset: 0; }
.journal-card-focal .journal-card-copy { justify-content: center; padding: clamp(22px, 4vw, 58px); }
.journal-card-focal h3 { margin-top: 16px; font-size: clamp(1.65rem, 3.5vw, 3.65rem); }
.journal-card-focal p { max-width: 33ch; font-size: clamp(.92rem, 1.25vw, 1.05rem); }
.journal-card-focal .journal-card-read { margin-top: 2px; }

.story-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 90px);
  padding-block: clamp(31px, 4.4vw, 72px) clamp(44px, 6vw, 93px);
}
.story-head h1 { font-size: clamp(2.36rem, 4.32vw, 4.75rem); line-height: 1.025; text-wrap: pretty; }
.story-lead { margin-top: clamp(17px, 2vw, 27px); color: #e0dfe4; font-size: clamp(1rem, 1.47vw, 1.25rem); line-height: 1.63; }
.story-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 10px;
  row-gap: 5px;
  margin-top: 24px;
  color: #c7c6cc;
  font-size: .8rem;
  line-height: 1.6;
}
.story-byline > :not(:first-child)::before { margin-right: 10px; content: '·'; color: var(--lime); }
.story-cover img { width: 100%; height: auto; border: 1px solid var(--rule); border-radius: 15px; }
.story-cover figcaption { margin-top: 8px; color: #c7c6cc; font-size: .74rem; line-height: 1.4; }

.story-body { padding-block: clamp(40px, 6.2vw, 88px) clamp(43px, 5.6vw, 79px); }
.story-layout {
  display: grid;
  grid-template-columns: minmax(164px, 218px) minmax(0, 710px);
  align-items: start;
  justify-content: center;
  gap: clamp(32px, 6.8vw, 106px);
}
.story-toc {
  position: sticky;
  top: calc(var(--header-height) + 26px);
  padding: 19px;
  border: 1px solid #d2d1c3;
  border-radius: 12px;
  background: #faf9f3;
}
.story-toc p { font-weight: 750; letter-spacing: -.028em; }
.story-toc ul { margin: 12px 0 0; padding-left: 17px; font-size: .9rem; line-height: 1.55; }
.story-toc li + li { margin-top: 9px; }
.story-toc li::marker { color: #565e09; }
.story-toc a, .story-prose p a { text-decoration: underline; text-decoration-thickness: .07em; text-underline-offset: .24em; }
.story-toc a:hover, .story-prose p a:hover { color: #465000; }
.story-prose { min-width: 0; color: #25242a; font-size: clamp(.98rem, 1.4vw, 1.107rem); line-height: 1.72; }
.story-prose h2 {
  margin: 1.47em 0 .46em;
  color: var(--ink);
  font-size: clamp(1.57rem, 3.25vw, 2.64rem);
  line-height: 1.12;
  letter-spacing: -.047em;
  text-wrap: pretty;
}
.story-prose h2:first-child { margin-top: 0; }
.story-prose p + p { margin-top: .88em; }
.story-note {
  margin-top: 1.14em;
  padding: 15px 19px;
  border-left: 3px solid #848d0e;
  border-radius: 0 10px 10px 0;
  background: #e7e9d2;
}
.story-app {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px 19px;
  margin-top: 34px;
  padding: clamp(17px, 3vw, 27px);
  border: 1px solid #d5e600;
  border-radius: 13px;
  background: var(--lime);
  color: var(--ink);
}
.story-app strong { font-size: 1.08rem; letter-spacing: -.024em; }
.story-app p { margin-top: 4px; font-size: .9rem; }
.story-app .button { min-height: 46px; }
.journal-related { padding-top: 0; }
.journal-related > .shell { padding-top: 33px; border-top: 1px solid #d0cec3; }
.journal-related-heading { align-items: center; margin-bottom: 23px; }
.journal-related-heading .journal-icon { width: 15px; height: 15px; }

.journal-footer { padding-top: 0; }
.journal-footer-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px clamp(20px, 4vw, 60px);
  padding-block: 25px;
}
.journal-footer-row nav { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; color: #dddbdf; font-size: .9rem; }
.journal-footer-row nav a { padding-block: 7px; }
.journal-footer-row nav a:hover, .journal-footer-phone:hover { color: var(--lime); }
.journal-footer-phone { font-size: .96rem; font-weight: 700; white-space: nowrap; }

@media (prefers-reduced-motion: no-preference) {
  .journal-preview .journal-card:nth-child(2) { --delay: 65ms; }
  .journal-preview .journal-card:nth-child(3) { --delay: 130ms; }
}
@media (max-width: 850px) {
  .journal-preview .journal-grid { gap: 10px; }
  .story-layout { gap: 26px; }
}
@media (max-width: 800px) {
  .story-hero-grid, .story-layout { grid-template-columns: minmax(0, 1fr); }
  .story-head h1 { max-width: 17ch; }
  .story-toc { position: static; }
  .story-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
  .story-toc li + li { margin-top: 0; }
}
@media (max-width: 700px) {
  .journal-card-focal .journal-card-link { display: flex; }
  .journal-card-focal .journal-card-image { min-height: 0; border-radius: 16px 16px 0 0; }
  .journal-masthead-text { grid-template-columns: minmax(0, 1fr); }
  .journal-footer-row { grid-template-columns: auto minmax(0, 1fr); }
  .journal-footer-row nav { grid-row: 2; grid-column: 1 / -1; }
  .journal-footer-phone { justify-self: end; }
}
@media (max-width: 650px) {
  .journal-grid, .journal-feed .journal-grid, .journal-related .journal-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .journal-card h3 { font-size: 1.46rem; }
  .journal-card-focal h3 { font-size: 1.75rem; }
}
@media (max-width: 360px) {
  .story-toc ul { grid-template-columns: 1fr; }
  .story-head h1 { font-size: 2.16rem; }
  .journal-footer-row .brand { max-width: 105px; }
}
