/* Page-specific photographic first views, inheriting the approved TOP palette. */
/* The trail shares the existing title kicker; it never creates a band above the photo. */
.subpage .page-breadcrumbs { min-width: 0; max-width: 100%; padding: 0; font-size: 16px; line-height: 1.6; }
.subpage .page-breadcrumbs ol { margin: 0; gap: 4px 10px; }
.subpage .page-breadcrumbs li { min-width: 0; font-size: inherit; line-height: inherit; }
.subpage .page-breadcrumbs li + li::before { margin-right: 10px; }
.subpage .page-breadcrumbs [aria-current="page"] { color: #6d4d87; font-weight: 600; }
.page-hero.page-hero--feature { padding: 0; background: #fff; border-bottom: 1px solid var(--line); }
.fv-media { position: relative; height: clamp(280px,31.25vw,540px); overflow: hidden; background: #f2f7f8; }
.fv-photo { width: 100%; height: 100%; margin: 0; }
.fv-photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--fv-focus,50% 50%); }
.fv-story { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: start; gap: 64px; padding-block: 34px 38px; }
.fv-title, .fv-description { min-width: 0; }
.fv-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 14px; }
.fv-eyebrow { font-size: 14px; line-height: 1.7; letter-spacing: .09em; color: #b92383; }
.subpage .page-hero--feature h1 { font-size: clamp(32px,3.3vw,46px); line-height: 1.48; letter-spacing: .01em; font-weight: 600; color: #51416b; text-wrap: balance; }
.page-hero--feature h1 .title-accent { background: none; color: var(--plum-soft); }
.subpage .page-hero h1 > .hero-heading-line { display: block; }
.subpage .page-hero--feature .page-lead { margin: 0; max-width: none; font-size: 16px; line-height: 1.9; color: var(--ink); text-wrap: pretty; }
.fv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 22px; }
.fv-actions .button { min-height: 52px; }
.fv-actions .text-link { min-height: 44px; }
.subpage main .fv-status { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; color: #50695f; font-size: 14px; line-height: 1.8; }
.fv-status::before { content: ""; width: 6px; height: 6px; margin-top: .65em; border-radius: 50%; background: #77a48b; flex: 0 0 auto; }
.page-hero--feature::after { content: ""; display: block; height: 3px; background: linear-gradient(90deg,#f7e4a7,#f6d5be 28%,#cce4f4 65%,#cbe8d7); }
.page-hero.page-hero--recovery, .page-hero.page-hero--article { position: relative; overflow: hidden; padding-block: 64px; background: linear-gradient(120deg,#fff9e9,#fff8fd 55%,#eff8ff); }
.fv-reading { position: relative; z-index: 1; max-width: 960px; }
.subpage .page-hero--article h1, .subpage .page-hero--recovery h1 { max-width: 22em; font-size: clamp(30px,3.3vw,46px); line-height: 1.5; }
.subpage .page-hero--article .page-lead, .subpage .page-hero--recovery .page-lead { max-width: 44em; margin-top: 22px; }
.page-hero--recovery { min-height: 360px; }
.fv-error-number { position: absolute; right: max(24px,calc((100% - 1320px)/2)); bottom: -50px; font-size: clamp(180px,25vw,350px); font-weight: 600; line-height: 1; letter-spacing: -.05em; color: #d6b8e4; opacity: .28; pointer-events: none; }
@media(max-width:1079px) {
  .fv-story { gap: 32px; padding-block: 30px 34px; }
  .subpage .page-hero--feature h1 { font-size: clamp(30px,3.3vw,36px); }
  .fv-actions { gap: 10px 20px; }
}
@media(max-width:760px) {
  .fv-media { height: clamp(200px,48vw,300px); }
  .fv-story { grid-template-columns: minmax(0,1fr); gap: 20px; padding-block: 26px 30px; }
  .fv-kicker { gap: 6px 14px; margin-bottom: 12px; }
  .subpage .page-hero--feature h1 { font-size: clamp(28px,6.8vw,36px); line-height: 1.5; }
  .fv-actions { margin-top: 20px; }
  .page-hero.page-hero--article, .page-hero.page-hero--recovery { padding-block: 40px; }
  .page-hero--recovery { min-height: 300px; }
  .fv-error-number { bottom: -24px; opacity: .19; }
}
@media(max-width:540px) {
  .fv-eyebrow { display: none; }
  .fv-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
  .fv-actions .button { width: 100%; }
  .fv-actions .text-link { justify-self: start; }
}
@media screen and (min-width:761px) {
  .fv-story > .fv-description { align-self: center; }
}
@media print {
  .fv-media { height: auto; }
  .fv-photo img { height: auto; object-fit: contain; }
  .fv-story { display: block; padding-block: 24px; }
  .fv-description { margin-top: 20px; }
  .fv-error-number { display: none; }
}
