/* Survivor Network in the Gravitas site system (site-system.css).
   One adapter for the landing page, the two audience pages, Liz & Kaylen and the Lean on Me posts.
   The landing page and the posts have no <main>, so the reading type is set here for their containers. */
body.gx-survivor-network {
  --ink: var(--gx-ink); --body: var(--gx-ink); --muted: var(--gx-slate); --gold: var(--gx-gold);
  --ground: var(--gx-ground); --sh-d: var(--gx-shadow); --sh-l: #fff;
}

/* ---------- shared reading type where there is no <main> ---------- */
body.gx-survivor-network :where(.wrap, .reader, .post-wrap) :where(h1, h2, h3, h4) { font-family: var(--gx-sans); font-weight: 500; letter-spacing: -.02em; text-wrap: balance; }
body.gx-survivor-network :where(.wrap, .reader, .post-wrap) :where(p, li, blockquote, figcaption, cite) { font-family: var(--gx-sans); }
body.gx-survivor-network :is(.wrap, .post-wrap, .survivor-stories) :is(.eyebrow, .survivor-stories__eyebrow, .story-card__eyebrow) {
  font: 700 .8125rem/1.6 var(--gx-sans) !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--gx-gold) !important;
}
body.gx-survivor-network .wrap .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  min-height: 46px; padding: 13px 24px; border-radius: var(--gx-r);
  font: 600 .875rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
  background: var(--gx-ground); color: var(--gx-ink); border: 1px solid var(--gx-border); box-shadow: var(--gx-raise-sm);
}
body.gx-survivor-network .wrap .btn:hover { color: var(--gx-gold-deep); }
body.gx-survivor-network .wrap .btn:active { box-shadow: var(--gx-inset); }

/* =====================================================================
   Landing page
   ===================================================================== */
body.gx-survivor-network.sn-home { --sans: var(--gx-sans); padding-inline: 0; }
@media (max-width: 640px) { body.gx-survivor-network.sn-home > .site-header.restored-header { margin-inline: 0; width: auto; } }
body.sn-home .wrap { max-width: none; }
body.sn-home .wrap > :is(section, .sn-introduction-grid, footer) { box-sizing: border-box; width: var(--gx-frame); margin-inline: auto; }

/* hero card: the barn illustration and the Survivor Network lockup stay as supplied, the sub-navigation closes the card */
body.sn-home .sn-evergreen-hero.sn-barn-hero.gx-hero { height: auto; aspect-ratio: auto; display: grid; grid-template-columns: minmax(0, 1fr); border-radius: var(--gx-r); box-shadow: var(--gx-raise); }
body.sn-home .sn-barn-hero > img.sn-barn-art { position: relative; inset: auto; grid-area: 1 / 1; align-self: end; width: 100%; height: auto; margin-top: 15%; }
body.sn-home .sn-barn-heading { position: relative; inset: auto; grid-area: 1 / 1; align-self: start; justify-self: start; width: 43%; margin: 0 0 0 7%; }
body.sn-home .sn-barn-heading p { font: 700 clamp(.6875rem, 1.15vw, 1rem)/1.5 var(--gx-sans); letter-spacing: .14em; color: var(--gx-ink); }
body.sn-home .sn-grief-link { font: 600 .8125rem/1.5 var(--gx-sans); letter-spacing: .1em; color: var(--gx-ink); border-bottom-color: var(--gx-gold); }
body.sn-home .sn-grief-link:hover { color: var(--gx-gold-deep); }
@media (max-width: 600px) {
  body.sn-home .sn-barn-heading { width: 100%; margin: 0; }
  body.sn-home .sn-barn-heading p { font-size: .6875rem; margin: -2% 0 10px; }
  body.sn-home .sn-barn-hero > img.sn-barn-art { grid-area: 2 / 1; width: 150%; max-width: none; margin: 18px 0 0 -50%; }
}

/* about the program: a raised panel; the page guide sits in an inset well beside it */
body.sn-home .sn-introduction-grid { margin-top: 28px; padding: clamp(28px, 4.5vw, 60px); gap: clamp(28px, 4vw, 56px); border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-raise); }
body.sn-home .sn-evergreen-about { padding: 0; }
body.sn-home .sn-evergreen-about h2 { font-size: var(--gx-h2); line-height: 1.08; margin: 0 0 24px; color: var(--gx-ink); }
body.sn-home .sn-evergreen-about p { font-size: var(--gx-body); line-height: 1.55; color: var(--gx-ink); margin-bottom: 18px; }
body.sn-home .sn-introduction-grid > .page-guide { margin: 0; padding: clamp(24px, 3vw, 34px); background: var(--gx-ground); box-shadow: var(--gx-inset); border-radius: var(--gx-r); }
body.sn-home .page-guide h2 { font-size: var(--gx-h3) !important; margin: 0 0 14px !important; color: var(--gx-ink); }
body.sn-home .page-guide a { font: 500 1.1875rem/1.3 var(--gx-serif) !important; color: var(--gx-ink); border-bottom-color: var(--gx-border); }
body.sn-home .page-guide a span { color: var(--gx-gold); }
body.sn-home .page-guide a:hover { color: var(--gx-gold-deep); }

/* the archive player keeps its own frame; it now sits in an inset well */
body.sn-home .collection-section { margin-top: 28px; }
body.gx-survivor-network .player-frame { margin: 0; padding: clamp(8px, 1.3vw, 16px); background: var(--gx-ground); border: 0; border-radius: var(--gx-r); box-shadow: var(--gx-inset); overflow: visible; }
body.gx-survivor-network .player-frame iframe { border-radius: 14px; }

/* Liz & Kaylen preview: a raised panel */
body.sn-home .sn-stories-preview { margin-top: 28px; padding: clamp(24px, 3.5vw, 44px); border-radius: var(--gx-r); box-shadow: var(--gx-raise); }
body.sn-home .sn-stories-copy h2 { font: 500 var(--gx-h2)/1.08 var(--gx-serif); margin: 6px 0 18px; color: var(--gx-ink); }
body.sn-home .sn-stories-copy p { font-size: var(--gx-body); line-height: 1.55; color: var(--gx-ink); }
body.sn-home .sn-stories-image img { border-radius: 14px; }

/* the Rekedal quote: an inset well */
body.sn-home .wrap > .sn-evergreen-quote { box-sizing: border-box; width: min(900px, var(--gx-frame)); margin: 56px auto 0; padding: clamp(26px, 4vw, 44px); border-radius: var(--gx-r); box-shadow: var(--gx-inset); position: relative; }
body.sn-home .sn-evergreen-quote::before { content: "“"; position: absolute; left: 18px; top: -4px; font: 500 4.5rem/1 var(--gx-serif); color: var(--gx-gold); opacity: .35; }
body.sn-home .sn-evergreen-quote blockquote { font: italic 400 var(--gx-lead)/1.4 var(--gx-serif); color: var(--gx-ink); }
body.sn-home .sn-evergreen-quote cite { font: 600 .75rem/1.5 var(--gx-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-gold); }

/* section heads */
body.sn-home section.band { padding-block: 72px 0; }
body.sn-home .sec-head h2 { font-size: var(--gx-h2); font-weight: 500; line-height: 1.08; letter-spacing: -.02em; }
body.sn-home .sec-head p { font-size: var(--gx-body); line-height: 1.5; color: var(--gx-slate); }

/* Lean on Me: raised cards */
body.sn-home .sn-card { box-shadow: var(--gx-raise); }
body.sn-home .sn-card-img { border-radius: 14px; }
body.sn-home .sn-card-cat { font: 700 .75rem/1.5 var(--gx-sans); letter-spacing: .14em; color: var(--gx-gold); }
body.sn-home .sn-card-title { font: 500 1.75rem/1.12 var(--gx-serif); color: var(--gx-ink); }
body.sn-home .sn-card-featured .sn-card-title { font-size: var(--gx-h2); line-height: 1.06; }
body.sn-home .sn-card-ex { font-size: 1.125rem; line-height: 1.5; color: var(--gx-slate); }
body.sn-home .sn-card-featured .sn-card-ex { font-size: var(--gx-lead); line-height: 1.4; }
body.sn-home .sn-card-read { font: 600 .75rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-gold); }

/* the follow-up calendar: a raised night panel, as on Gravitas */
body.sn-home #stretch { margin-top: 72px; padding: clamp(32px, 4.5vw, 56px); background: var(--gx-ink); border-radius: var(--gx-r); box-shadow: var(--gx-raise); }
body.sn-home #stretch .eyebrow { color: #d2b575 !important; }
body.sn-home #stretch h2 { color: #f3ecdd; }
body.sn-home #stretch .sec-head p, body.sn-home #stretch .stretch-note { color: #d9d2c2; }
body.sn-home #stretch .stretch-note { font-size: 1.0625rem; line-height: 1.5; }
body.sn-home #stretch .stop { background: #173550; box-shadow: 5px 5px 12px #04101c99, -3px -3px 10px #ffffff0d; }
body.sn-home #stretch .dot { background: var(--gx-ink); color: #d2b575; font: 700 .75rem var(--gx-sans); }
body.sn-home #stretch .stop .eyebrow { font-size: .6875rem !important; }
body.sn-home #stretch .stop h3 { font-size: 1.625rem; line-height: 1.12; color: #f3ecdd; }
body.sn-home #stretch .stop p { font-size: 1.0625rem; line-height: 1.45; color: #d9d2c2; }
body.sn-home #stretch .stop a { font: 600 .6875rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: #f3ecdd; border-bottom-color: #d2b575; }

/* what to say: raised plates, the faithful sentences sit in inset wells */
body.sn-home .say-plate { border-radius: var(--gx-r); box-shadow: var(--gx-raise); }
body.sn-home .say-plate h3 { font-size: var(--gx-h3); line-height: 1.15; margin-bottom: 8px; }
body.sn-home .say-plate > p { font-size: 1.125rem; color: var(--gx-slate); }
body.sn-home .lines li { font: 500 1.375rem/1.35 var(--gx-serif); color: var(--gx-ink); box-shadow: var(--gx-inset); }
body.sn-home .unsaid li { font-size: 1.25rem; color: var(--gx-slate); border-bottom-color: var(--gx-border); }
body.sn-home .hint { font-size: 1.125rem; line-height: 1.5; color: var(--gx-ink); box-shadow: var(--gx-inset); }

/* downloadable guides: a raised panel */
body.sn-home #downloads { margin-top: 72px; margin-bottom: 0; padding: clamp(32px, 4.5vw, 56px); background: var(--gx-ground); border: 0; border-radius: var(--gx-r); box-shadow: var(--gx-raise); }

/* field notes: one raised panel; the filters are pills and the search an inset well */
body.sn-home #notes.field-notes-collection { margin-top: 28px; background: var(--gx-ground); border: 0; border-radius: var(--gx-r); box-shadow: var(--gx-raise); }
body.sn-home #notes #latest { background: var(--gx-ground); }
body.sn-home #notes #latest h2 { font-size: var(--gx-h2); line-height: 1.06; color: var(--gx-ink); }
body.sn-home #notes #latest .field-notes-subtitle { font: italic 400 var(--gx-lead)/1.35 var(--gx-serif); color: var(--gx-gold); }
body.sn-home #notes #latest p:not(.field-notes-subtitle) { font-size: var(--gx-body); line-height: 1.55; color: var(--gx-ink); }
body.sn-home #notes .field-notes-art { border-radius: 14px; }
body.sn-home #notes .field-notes-series-intro { padding: clamp(16px, 2vw, 24px); gap: clamp(8px, 2vw, 24px); }
body.sn-home .chipbtn { font: 600 .75rem/1 var(--gx-sans); letter-spacing: .06em; color: var(--gx-ink); border: 1px solid var(--gx-border); box-shadow: var(--gx-raise-sm); }
body.sn-home .chipbtn:hover { color: var(--gx-gold-deep); }
body.sn-home .chipbtn[aria-pressed="true"] { box-shadow: var(--gx-inset); color: var(--gx-gold-deep); }
body.sn-home .search { box-shadow: var(--gx-inset); }
body.sn-home .search input { font: 400 1.125rem var(--gx-serif); color: var(--gx-ink); }
body.sn-home .count-line { font: 600 .75rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }
body.sn-home #grid .card { box-shadow: var(--gx-raise); }
body.sn-home #grid .card h3 { font-size: 1.625rem; line-height: 1.12; color: var(--gx-ink); }
body.sn-home #grid .card p { font-size: 1.0625rem; line-height: 1.5; color: var(--gx-slate); }
body.sn-home #grid .card .foot, body.sn-home #grid .card .meta { font: 600 .6875rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; }
body.sn-home :is(.tag, .meta) { font-family: var(--gx-sans); }
body.sn-home .reader .meta { font-weight: 600; letter-spacing: .1em; color: var(--gx-slate); }

/* footer lines up with the frame */
body.sn-home .wrap > footer { padding-block: 40px 56px; }
body.sn-home .wrap > footer span { font: 600 .75rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }

/* the field-note reader */
body.sn-home .art-head h1 { font-size: var(--gx-h2); line-height: 1.06; }
body.sn-home .art-head .dek { font-size: var(--gx-lead); line-height: 1.4; color: var(--gx-slate); }
body.sn-home .art { font-size: var(--gx-body); line-height: 1.6; color: var(--gx-ink); }
body.sn-home .art h2 { font-size: 2rem; line-height: 1.15; }
body.sn-home .art h3 { font: 700 .8125rem/1.6 var(--gx-sans); letter-spacing: .14em; color: var(--gx-gold); }
body.sn-home .art .truth { font: 500 1.625rem/1.35 var(--gx-serif); box-shadow: var(--gx-inset); }
body.sn-home .art blockquote { font-size: 1.375rem; border-left-color: var(--gx-gold); }
body.sn-home .identifier { font-size: 1.125rem; }
body.sn-home .sources ol { font-size: 1rem; }
body.sn-home .pager button { font: 500 1.25rem/1.3 var(--gx-serif); }
body.sn-home .pager button span { font: 700 .6875rem/1.5 var(--gx-sans); color: var(--gx-gold); }

@media (max-width: 640px) {
  body.sn-home .lines li { font-size: 1.25rem; }
  body.sn-home #notes .field-notes-series-intro { padding: 12px; }
}

/* =====================================================================
   Audience pages: for caregivers and chaplains, for those in grief
   ===================================================================== */
body.sn-audience { --ink: var(--gx-ink); }
body.sn-audience :is(.audience-main, .grief-main) { width: auto; max-width: none; margin: 0; padding: 0; }
body.sn-audience :is(.audience-main, .grief-main) > * { box-sizing: border-box; width: var(--gx-frame); margin-inline: auto; }
body.sn-audience .gx-hero h1 { margin: 6px 0 18px; max-width: 18ch; }
body.sn-audience .gx-hero > p { font-size: var(--gx-lead); line-height: 1.4; max-width: 40ch; margin: 0; color: var(--gx-ink); }
body.sn-audience .gx-hero > a.eyebrow { display: inline-block; text-decoration: none; }

/* the two collections are raised pills; the one you are on is pressed in */
body.sn-caregivers .gx-hero .audience-tabs { margin: 28px 0 0; gap: 14px; }
body.sn-caregivers .audience-tabs a { font: 600 .8125rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--gx-ink); background: var(--gx-ground); border: 1px solid var(--gx-border); box-shadow: var(--gx-raise-sm); }
body.sn-caregivers .audience-tabs a[aria-current] { background: var(--gx-ground); color: var(--gx-gold-deep); box-shadow: var(--gx-inset); }

/* conversations: a raised panel; the carousel runs in an inset well */
body.sn-caregivers .sn-videos { margin: 28px auto 0; padding: clamp(28px, 4vw, 52px); border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-raise); }
body.sn-caregivers .sn-videos > p:not(.eyebrow) { font-size: var(--gx-body); color: var(--gx-slate); max-width: 52ch; }
body.sn-caregivers .sn-videos .sn-video-track { margin: 0; padding: 18px; border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-inset); scroll-padding-inline: 18px; }
body.sn-caregivers .sn-videos .sn-video-card { box-shadow: var(--gx-raise-sm); }
body.sn-caregivers .sn-videos .sn-video-copy h3 { font-size: 1.25rem; line-height: 1.2; font-weight: 600; }
body.sn-caregivers .sn-video-arrow { font-family: var(--gx-sans); font-size: 1.125rem; box-shadow: var(--gx-raise-sm); border: 1px solid var(--gx-border); }
body.sn-caregivers .sn-video-arrow:active { box-shadow: var(--gx-inset); }

/* guidance: heading on the ground, search in an inset well, raised article cards */
body.sn-caregivers #articles { margin: 72px auto 0; }
body.sn-caregivers .audience-search { box-shadow: var(--gx-inset); background: var(--gx-ground); }
body.sn-caregivers .audience-search > span { font: 600 .75rem/1.4 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }
body.sn-caregivers .audience-search input { font: 400 1.125rem var(--gx-serif); }
body.sn-caregivers #audience-count { font: 600 .75rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }
body.sn-caregivers .audience-article { box-shadow: var(--gx-raise); border: 0; }
body.sn-caregivers .audience-article h3 { font-size: 1.625rem; line-height: 1.12; }
body.sn-caregivers .audience-article p { font-size: 1.125rem; line-height: 1.5; color: var(--gx-slate); }
body.sn-caregivers .audience-article > a:last-child { font: 600 .75rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-gold); text-decoration: none; border-bottom: 1px solid var(--gx-gold); align-self: flex-start; padding-bottom: 2px; }
body.sn-caregivers #audience-more { font: 600 .8125rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; border: 1px solid var(--gx-border); box-shadow: var(--gx-raise-sm); }
body.sn-caregivers #audience-more:active { box-shadow: var(--gx-inset); }

/* both collections: the Gravitas closing card, an inset panel with the star */
body.sn-caregivers .audience-footer { margin: 28px auto 56px; display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px); border: 0; border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-inset); }
body.sn-caregivers .audience-footer::before { content: "✦"; font-size: 1.75rem; line-height: 1; color: var(--gx-gold); }
body.sn-caregivers .audience-footer p { font: 400 var(--gx-lead)/1.4 var(--gx-serif); color: var(--gx-ink); margin: 0 0 6px; }
body.sn-caregivers .audience-footer a { margin: 0; font: 600 .8125rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--gx-ink); border-bottom: 1px solid var(--gx-gold); padding-bottom: 3px; }
body.sn-caregivers .audience-footer a:hover { color: var(--gx-gold-deep); }

/* dialogs */
body.sn-audience .sn-video-dialog-top h2 { font: 500 1.5rem/1.2 var(--gx-serif); }
body.sn-audience .sn-video-dialog-bottom, body.sn-audience .sn-video-help { font-family: var(--gx-sans); font-size: .8125rem; }
body.sn-caregivers .audience-reader { font: 400 var(--gx-body)/1.7 var(--gx-sans); }
body.sn-caregivers .audience-reader :is(h1, h2, h3) { font-family: var(--gx-sans); font-weight: 500; color: var(--gx-ink); }
body.sn-caregivers .audience-reader h1 { font-size: var(--gx-h2); line-height: 1.06; }
body.sn-caregivers .audience-reader :is(p, li) { font-family: var(--gx-sans); }

/* for those in grief: the archive player sits in an inset well; the way out is two pills */
body.sn-survivors .grief-player-frame { margin: 28px auto 0; }
body.sn-survivors .grief-main > footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 22px; margin: 28px auto 56px; }
body.sn-survivors .grief-main > footer a { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 20px; font: 600 .8125rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: var(--gx-ink); background: var(--gx-ground); border: 1px solid var(--gx-border); border-radius: var(--gx-r); box-shadow: var(--gx-raise-sm); }
body.sn-survivors .grief-main > footer a:hover { color: var(--gx-gold-deep); }
body.sn-survivors .grief-main > footer a:active { box-shadow: var(--gx-inset); }

@media (max-width: 600px) {
  body.sn-caregivers .audience-tabs a { width: auto; flex: 1 1 100%; text-align: center; }
  body.sn-caregivers .sn-videos .sn-video-track { padding: 14px; }
}

/* =====================================================================
   Liz & Kaylen
   ===================================================================== */
body.gx-survivor-network.sn-stories { padding: 0; }
body.sn-stories .survivor-stories__inner { max-width: none; padding: 0 0 8px; }
body.sn-stories .survivor-stories__inner > * { box-sizing: border-box; width: var(--gx-frame); margin-inline: auto; }

/* hero card */
body.sn-stories .back-link { display: inline-flex; align-items: center; min-height: 40px; padding: 10px 18px; margin-bottom: 30px; font: 600 .75rem/1.4 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-ink); background: var(--gx-ground); border: 1px solid var(--gx-border); border-radius: var(--gx-r); box-shadow: var(--gx-raise-sm); }
body.sn-stories .back-link:hover { text-decoration: none; color: var(--gx-gold-deep); }
body.sn-stories .back-link:active { box-shadow: var(--gx-inset); }
body.sn-stories .survivor-stories h1 { font: 500 var(--gx-h1)/1.04 var(--gx-serif); letter-spacing: -.02em; }
body.sn-stories .survivor-stories__dek { font: 400 var(--gx-lead)/1.4 var(--gx-serif); color: var(--gx-ink); }
body.sn-stories .stories-portraits img { border-radius: 14px; }
body.sn-stories .survivor-stories figcaption { font: 600 .75rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }

/* the community: a raised panel */
body.sn-stories .stories-context { margin: 28px auto 0; padding: clamp(28px, 4.5vw, 60px); border: 0; border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-raise); }
body.sn-stories .stories-context h2 { font: 500 var(--gx-h2)/1.08 var(--gx-serif); letter-spacing: -.02em; }
body.sn-stories .survivor-stories__bridge { border-left-color: var(--gx-border); }
body.sn-stories .survivor-stories__bridge span { font-family: var(--gx-sans); font-size: 1.0625rem; line-height: 1.5; color: var(--gx-ink); }
body.sn-stories .survivor-stories__bridge strong { font: 700 .75rem/1.6 var(--gx-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-gold); margin-bottom: 2px; }
body.sn-stories .survivor-stories__bridge span::before { top: 6px; }

/* the two stories: raised panels; each quote sits in an inset well */
body.sn-stories .story-card { margin: 28px auto 0; padding: clamp(24px, 4vw, 52px); border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-raise); }
body.sn-stories .story-card h2 { font: 500 var(--gx-h2)/1.06 var(--gx-serif); letter-spacing: -.02em; }
body.sn-stories .story-card__role { font: 700 .75rem/1.6 var(--gx-sans); letter-spacing: .1em; }
body.sn-stories .story-card__copy > p:not([class]) { font-size: var(--gx-body); line-height: 1.55; color: var(--gx-ink); }
body.sn-stories .story-card__quote { font: italic 400 1.5rem/1.4 var(--gx-serif); margin-top: 26px; padding: 22px 26px; border: 0; border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-inset); }
body.sn-stories .story-watch { box-shadow: var(--gx-raise); }
body.sn-stories .watch-label { font: 600 .8125rem/1.4 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; }

/* the connection: a raised panel; the invitation is a raised night panel */
body.sn-stories .survivor-stories__connection { max-width: none; margin: 28px auto 0; padding: clamp(36px, 5vw, 72px) clamp(24px, 5vw, 72px); border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-raise); }
body.sn-stories .survivor-stories__connection h2 { font: 500 var(--gx-h2)/1.08 var(--gx-serif); letter-spacing: -.02em; max-width: 22ch; }
body.sn-stories .survivor-stories__connection > p:not([class]) { font-size: var(--gx-body); line-height: 1.55; color: var(--gx-ink); max-width: 46em; }
body.sn-stories .survivor-stories__cta { background: var(--gx-ink); border-radius: var(--gx-r); box-shadow: var(--gx-raise); padding: clamp(28px, 4vw, 48px); }
body.gx.sn-stories main .survivor-stories__cta h3 { font: 500 var(--gx-h3)/1.15 var(--gx-serif); color: #f3ecdd; }
body.sn-stories .survivor-stories__cta p { font-size: 1.1875rem; line-height: 1.5; color: #d9d2c2; }
body.sn-stories .survivor-stories__button { font: 600 .8125rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--gx-ink); background: #f3ecdd; border: 0; border-radius: var(--gx-r); padding: 14px 22px; }
body.sn-stories .survivor-stories__button:hover { background: #fff; color: var(--gx-gold-deep); }

body.sn-stories .stories-footer { box-sizing: border-box; width: var(--gx-frame); max-width: none; border: 0; padding: 36px 0 56px; font: 600 .75rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }
body.sn-stories .stories-footer a { color: var(--gx-ink); text-decoration: none; border-bottom: 1px solid var(--gx-gold); }
body.sn-stories .player-top h2 { font: 500 1.5rem/1.2 var(--gx-serif); }
body.sn-stories #player-frame { border-radius: 14px; overflow: hidden; }

/* =====================================================================
   Lean on Me posts
   ===================================================================== */
body.gx-survivor-network.sn-post { --serif: var(--gx-serif); --sans: var(--gx-sans); --navy: var(--gx-ink); --gold: var(--gx-gold); --gold-lt: #d2b575; --sand: var(--gx-ground); --border: var(--gx-border); }
body.sn-post .post-nav { box-sizing: border-box; width: var(--gx-frame); margin: 28px auto 0; border-radius: var(--gx-r); box-shadow: var(--gx-raise); padding: 14px clamp(18px, 3vw, 32px); gap: 16px; }
body.sn-post .post-nav a { font: 600 .75rem/1.4 var(--gx-sans); letter-spacing: .1em; color: #f3ecdd; }
body.sn-post .post-nav .nav-series { font: 600 .6875rem/1.4 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: #c9c2b2; text-align: right; }
body.sn-post .post-hero { box-sizing: border-box; width: var(--gx-frame); margin: 28px auto 0; border-radius: var(--gx-r); box-shadow: var(--gx-raise); }

/* the post reads in one raised panel */
body.sn-post .post-wrap { box-sizing: border-box; width: min(880px, var(--gx-frame)); max-width: none; margin: 28px auto 0; padding: clamp(28px, 5.5vw, 68px); border-radius: var(--gx-r); background: var(--gx-ground); box-shadow: var(--gx-raise); }
body.sn-post .post-eyebrow { font: 700 .8125rem/1.6 var(--gx-sans); letter-spacing: .14em; color: var(--gx-gold); margin-bottom: 14px; }
body.sn-post .post-wrap h1 { font-size: clamp(2.375rem, 4.6vw, 3.5rem); line-height: 1.06; font-weight: 500; color: var(--gx-ink); margin-bottom: 30px; }
body.sn-post .post-wrap p { font-size: var(--gx-body); line-height: 1.6; color: var(--gx-ink); }

/* plain truth: a raised night panel */
body.sn-post .plain-truth { border: 0; border-radius: var(--gx-r); box-shadow: var(--gx-raise); padding: 26px 30px; font: italic 400 var(--gx-lead)/1.4 var(--gx-serif); color: #f3ecdd; margin-bottom: 36px; }
body.sn-post .plain-truth .label { font: 700 .75rem/1.6 var(--gx-sans); letter-spacing: .14em; color: #d2b575; margin-bottom: 10px; }

/* things you can say: an inset well */
body.sn-post .action-box { border: 0; border-radius: var(--gx-r); box-shadow: var(--gx-inset); padding: 28px 30px; margin: 36px 0; }
body.sn-post .action-label { font: 700 .75rem/1.6 var(--gx-sans); letter-spacing: .14em; color: var(--gx-gold); }
body.sn-post .action-box li { font-size: 1.1875rem; line-height: 1.45; color: var(--gx-ink); }
body.sn-post .action-box li::before { color: var(--gx-gold); top: .45em; }

/* field brief: a raised control that presses in */
body.sn-post .post-download { background: var(--gx-ground); color: var(--gx-ink); border: 1px solid var(--gx-border); border-radius: var(--gx-r); box-shadow: var(--gx-raise-sm); padding: 16px 22px; max-width: 460px; }
body.sn-post .post-download:hover { background: var(--gx-ground); color: var(--gx-gold-deep); }
body.sn-post .post-download:active { box-shadow: var(--gx-inset); }
body.sn-post .post-download svg { color: var(--gx-gold); }
body.sn-post .dl-title { font: 700 .6875rem/1.5 var(--gx-sans); letter-spacing: .12em; color: var(--gx-gold); }
body.sn-post .dl-name { font: 600 1.25rem/1.25 var(--gx-serif); }

/* previous and next: raised pills */
body.sn-post .post-pagination { border-top-color: var(--gx-border); gap: 18px; }
body.sn-post .pag-link { padding: 16px 22px; border: 1px solid var(--gx-border); border-radius: var(--gx-r); box-shadow: var(--gx-raise-sm); background: var(--gx-ground); }
body.sn-post .pag-link:active { box-shadow: var(--gx-inset); }
body.sn-post .pag-dir { font: 700 .6875rem/1.5 var(--gx-sans); letter-spacing: .12em; color: var(--gx-gold); }
body.sn-post .pag-title { font: 500 1.3125rem/1.25 var(--gx-serif); color: var(--gx-ink); }

/* footer: a raised night panel on the frame */
body.sn-post > footer { box-sizing: border-box; width: var(--gx-frame); margin: 28px auto 40px; border-radius: var(--gx-r); box-shadow: var(--gx-raise); font: 600 .75rem/1.7 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: #c9c2b2; }
body.sn-post > footer a { color: #e5cf9d; }

@media (max-width: 600px) {
  body.sn-post .post-nav { flex-direction: column; align-items: flex-start; gap: 6px; }
  body.sn-post .post-nav .nav-series { text-align: left; }
  body.sn-post .plain-truth, body.sn-post .action-box { padding: 22px 20px; }
}

/* correction (Oct 16): the hero sub-navigation now carries every destination, so the "Guide to This Page" box is retired */
body.gx-survivor-network .sn-introduction-grid > .page-guide { display: none !important; }
body.gx-survivor-network .sn-introduction-grid { grid-template-columns: minmax(0, 1fr) !important; }
body.gx-survivor-network .sn-introduction-grid > .sn-evergreen-about { max-width: 68ch; }
