/* Article-specific styles; shared brand tokens, navigation and footer live in site.css. */
.post-page { background: var(--navy-ink); }
.post-main { margin-bottom: 0; border-radius: 0; padding: 156px 0 90px; background: #fff; }
.post-shell { width: min(1000px, calc(100% - 64px)); margin-inline: auto; }
.post-heading { max-width: 780px; margin-inline: auto; }
.post-heading__top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 48px; }
.post-back { display: inline-flex; align-items: center; gap: 12px; color: var(--navy); font-size: .78rem; font-weight: 800; }
.post-back:hover { text-decoration: underline; text-underline-offset: 5px; }
.post-preview { margin: 0; color: #68717d; font-size: .68rem; }
.post-kicker { display: flex; gap: 16px; align-items: center; color: #626b78; font-size: .72rem; }
.post-category { color: var(--navy); font-weight: 800; }
.post-heading h1 { max-width: 780px; margin: 18px 0 22px; color: #1a1b1d; font-family: "Manrope", sans-serif; font-size: clamp(2.5rem, 4.4vw, 3.5rem); font-weight: 800; line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; overflow-wrap: anywhere; }
.post-deck { max-width: 760px; margin-bottom: 32px; color: #626b78; font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.75; }
.post-byline { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 32px; }
.post-author { display: flex; gap: 12px; align-items: center; }
.post-author img, .post-author__mark { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.post-author__mark { display: grid; place-items: center; color: white; background: var(--navy); font-size: 1.4rem; }
.post-author__name, .post-author__role { display: block; font-size: .75rem; line-height: 1.6; }
.post-author__name { font-weight: 800; color: var(--navy-deep); }
.post-author__role, .post-byline time { color: #68717d; font-size: .7rem; }
.post-cover { margin: 4px 0 0; }
.post-cover > img { width: 100%; max-height: 640px; aspect-ratio: 1.6; object-fit: cover; border-radius: 22px; background: var(--cream); }
.post-cover figcaption, .post-prose figcaption { padding-top: 12px; color: #626b78; font-size: .7rem; line-height: 1.6; }
.post-layout { display: block; max-width: 780px; margin: 24px auto 0; padding: 48px 0 64px; border-top: 1px solid var(--line); }
.post-contents ol { display: grid; gap: 17px; padding: 0 0 0 18px; margin: 0; color: #707680; }
.post-contents li { padding-left: 4px; font-size: .76rem; line-height: 1.65; }
.post-contents a { display: block; }
.post-contents a:hover, .post-contents a[aria-current="location"] { color: var(--navy); text-decoration: underline; text-underline-offset: 4px; }
.post-contents a[aria-current="location"] { font-weight: 800; }
.post-prose { color: #414b59; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.post-prose > :first-child { margin-top: 0; }
.post-prose p { margin: 0 0 24px; line-height: inherit; }
.post-prose h2, .post-prose h3, .post-prose h4 { scroll-margin-top: 120px; color: var(--navy-deep); letter-spacing: -.04em; line-height: 1.2; }
.post-prose h2 { margin: 48px 0 20px; font-size: clamp(1.65rem, 2.6vw, 2.2rem); }
.post-prose h3 { margin: 32px 0 16px; font-size: 1.4rem; }
.post-prose h4 { font-size: 1.15rem; }
.post-prose a { color: var(--navy); text-decoration: underline; text-underline-offset: 4px; }
.post-prose a:hover { text-decoration-thickness: 2px; }
.post-prose strong { color: var(--navy-deep); }
.post-prose ul, .post-prose ol { padding-left: 25px; margin: 0 0 28px; }
.post-prose li { padding-left: 5px; margin: 8px 0; }
.post-prose li > ul, .post-prose li > ol { margin-bottom: 0; }
.post-prose li::marker { color: var(--navy); font-weight: 800; }
.post-prose blockquote { margin: 36px 0; padding: 10px 0 10px 28px; border-left: 4px solid var(--yellow); color: var(--navy); font-family: "Onest", sans-serif; font-size: clamp(1.35rem, 2.5vw, 1.8rem); font-weight: 600; line-height: 1.5; letter-spacing: -.025em; }
.post-callout { display: flex; align-items: flex-start; gap: 17px; margin: 32px 0; padding: 25px 28px; border: 1px solid #e8dba4; border-radius: 16px; background: var(--yellow-soft); color: var(--navy-deep); font-size: .93rem; }
.post-callout > span { font-size: 1.4rem; line-height: 1.5; }
.post-callout > div { min-width: 0; }
.post-callout p:last-child { margin-bottom: 0; }
.post-prose figure { margin: 32px 0; }
.post-prose figure img { width: 100%; height: auto; border-radius: 16px; }
.post-prose hr { margin: 40px 0; border: 0; border-top: 1px solid var(--line); }
.post-prose code { padding: 2px 5px; border-radius: 4px; background: #e6e9e9; font-size: .85em; }
.post-prose pre { overflow: auto; padding: 22px; border-radius: 14px; background: var(--navy-deep); color: white; }
.post-prose pre code { padding: 0; background: transparent; }
.post-prose details { margin: 24px 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; }
.post-prose summary { color: var(--navy); font-weight: 700; cursor: pointer; }
.post-prose details[open] summary { margin-bottom: 16px; }
.post-table { overflow: auto; margin: 28px 0; border: 1px solid var(--line); border-radius: 12px; }
.post-table table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.post-table th, .post-table td { padding: 12px 16px; border-bottom: 1px solid var(--line); text-align: left; min-width: 140px; }
.post-table th { background: var(--blue-soft); color: var(--navy-deep); }
.post-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(30px, 5vw, 62px); border-radius: 28px; background: var(--navy-deep); color: white; }
.post-cta .eyebrow { color: var(--yellow); }
.post-cta h2 { max-width: 620px; margin-bottom: 18px; font-size: clamp(2rem, 3.8vw, 3.6rem); line-height: 1.05; }
.post-cta p:last-child { max-width: 520px; margin: 0; color: #c4cedc; font-size: .9rem; }
.post-cta .button { flex-shrink: 0; background: var(--yellow); color: var(--navy-deep); box-shadow: none; }
.post-related { padding-top: 75px; }
.post-related__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.post-related h2 { margin: 0; font-size: clamp(2rem, 3vw, 3rem); color: var(--navy-deep); }
.post-related__grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.post-related__grid > a { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: center; gap: 38px; padding: 32px 0; border-top: 1px solid var(--line); background: white; }
.post-related__grid > a:not(:has(img)) { grid-template-columns: 1fr; }
.post-related__grid > a > img { width: 230px; height: 170px; object-fit: cover; border-radius: 16px; }
.post-related__grid > a:hover h3 { color: var(--navy); }
.post-related__meta { font-size: .76rem; color: #626b78; }
.post-related h3 { margin: 16px 0 24px; color: #1a1b1d; font-family: "Manrope", sans-serif; font-weight: 800; font-size: 1.8rem; letter-spacing: -.04em; line-height: 1.2; }
.post-related .text-link { margin-top: auto; }
.post-page .footer { position: static; }
@media (max-width: 900px) {
  .post-cta { align-items: flex-start; flex-direction: column; gap: 26px; }
}
@media (max-width: 640px) {
  .post-main { padding-top: 125px; padding-bottom: 48px; }
  .post-shell { width: calc(100% - 36px); }
  .post-heading__top { margin-bottom: 30px; }
  .post-heading h1 { font-size: clamp(2.4rem, 10vw, 3.7rem); }
  .post-byline { align-items: flex-start; flex-direction: column; gap: 15px; padding-bottom: 22px; }
  .post-cover > img { aspect-ratio: 1.5; border-radius: 18px; }
  .post-layout { padding: 30px 0 48px; }
  .post-contents { padding: 22px; border: 1px solid var(--line); border-radius: 14px; }
  .post-contents ol { gap: 8px; }
  .post-prose { font-size: .97rem; }
  .post-callout { padding: 20px; }
  .post-related { padding-top: 48px; }
  .post-related__heading { flex-direction: column; align-items: flex-start; }
  .post-related__grid { grid-template-columns: 1fr; }
  .post-related__grid > a { grid-template-columns: 100px minmax(0, 1fr); gap: 20px; padding: 24px 0; }
  .post-related__grid > a > img { width: 100px; height: 120px; }
  .post-related__meta { font-size: .67rem; }
  .post-related h3 { margin: 20px 0 26px; }
  .post-related__grid h3 { font-size: 1.2rem; margin: 12px 0 18px; }
}
@media print {
  .post-page .site-header, .post-page .footer, .post-share, .post-contents, .post-cta, .post-related, .post-preview { display: none; }
  .post-main { padding: 0; }
  .post-shell { width: 100%; }
  .post-layout { display: block; padding-top: 24px; }
  .post-prose { color: black; }
  .post-prose h2, .post-prose h3 { break-after: avoid; }
  .post-cover, .post-prose figure { break-inside: avoid; }
}

/* Match the original article's compact social row below the byline. */
.post-share { display: flex; align-items: center; gap: 8px; margin: -8px 0 28px; }
.post-share a { display: grid; place-items: center; width: 40px; height: 40px; color: #1a1b1d; border-radius: 8px; }
.post-share a:hover { color: var(--navy); background: var(--blue-soft); }
.post-share svg { width: 27px; height: 27px; fill: currentColor; }
.post-contents { margin-bottom: 36px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; }
