/* Trudy Ederle story page — page-specific sections (chrome lives in site.css). */
    .breadcrumb {
      color: rgba(255,255,255,0.55);
      font-family: 'Inter', sans-serif;
      font-size: 12px; letter-spacing: 0.18em;
      text-transform: uppercase; margin-bottom: 36px;
      font-weight: 500;
    }
    .breadcrumb a {
      color: rgba(255,255,255,0.7);
      border-bottom: 1px solid rgba(255,255,255,0.2);
      padding-bottom: 2px;
    }
    .breadcrumb a:hover { color: var(--sky); border-color: var(--sky); }
    .breadcrumb .sep { margin: 0 14px; opacity: 0.4; }
    .hero h1 {
      font-family: 'Noto Serif Display', serif;
      font-weight: 300;
      font-size: clamp(40px, 6vw, 96px);
      line-height: 1.02; color: white;
      max-width: 1100px; margin-bottom: 32px;
      letter-spacing: -0.025em;
    }
    .hero h1 em { font-style: italic; color: var(--sky-soft); font-weight: 300; }
    .hero-subhead {
      color: rgba(255,255,255,0.78);
      font-size: 19px; line-height: 1.65;
      max-width: 700px; margin-bottom: 0;
      font-weight: 300; font-style: italic;
      font-family: 'Noto Serif Display', serif;
    }

    .hero-meta {
      position: relative; z-index: 2;
      border-top: 1px solid var(--rule);
      padding: 28px 6%; max-width: 1320px;
      margin: 0 auto; width: 100%;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
    }
    .hero-meta-item {
      padding-left: 24px; border-left: 1px solid var(--rule);
    }
    .hero-meta-item:first-child { border-left: none; padding-left: 0; }
    .hero-meta-label {
      color: rgba(255,255,255,0.5);
      font-size: 10px; letter-spacing: 0.24em;
      text-transform: uppercase; font-weight: 500;
      margin-bottom: 8px;
    }
    .hero-meta-value {
      color: white;
      font-family: 'Noto Serif Display', serif;
      font-weight: 400; font-size: 17px;
      letter-spacing: -0.01em;
    }
    .hero-meta-value em { color: var(--sky-soft); }

    /* ARTICLE */
    .article {
      background: var(--near-white);
      padding: 140px 0 80px;
    }
    .article-lead {
      max-width: 880px;
      margin: 0 auto 100px;
      padding: 0 6%;
    }
    .article-lead .eyebrow { margin-bottom: 36px; }
    .article-lead p {
      font-family: 'Noto Serif Display', serif;
      font-weight: 300;
      font-size: clamp(22px, 2.2vw, 32px);
      line-height: 1.45;
      color: var(--body-dark);
      letter-spacing: -0.005em;
    }
    .article-lead p em { color: var(--navy-link); }

    .chapter {
      max-width: 1440px;
      margin: 0 auto 120px;
      padding: 0 6%;
    }
    .chapter-head {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 80px;
      margin-bottom: 60px;
      align-items: start;
      padding-bottom: 40px;
      border-bottom: 1px solid var(--rule-dark);
    }
    .chapter-num {
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-weight: 300;
      color: var(--sky); font-size: 17px;
      letter-spacing: 0.16em; margin-bottom: 14px;
    }
    .chapter-num-label {
      font-family: 'Inter', sans-serif;
      font-style: normal; font-size: 11px;
      letter-spacing: 0.22em; text-transform: uppercase;
      color: var(--navy-link); font-weight: 500;
      display: block;
    }
    .chapter-head h2 {
      font-size: clamp(34px, 4vw, 60px);
      font-weight: 300;
      letter-spacing: -0.025em;
      line-height: 1.05;
    }
    .chapter-head h2 em { color: var(--navy-link); }
    .chapter-body {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 80px;
      align-items: start;
    }
    .chapter-body .meta {
      position: sticky; top: 110px;
    }
    .chapter-body .meta-item {
      margin-bottom: 36px; padding-bottom: 24px;
      border-bottom: 1px solid var(--rule-dark);
    }
    .chapter-body .meta-item:last-child { border-bottom: none; }
    .chapter-body .meta-label {
      font-family: 'Inter', sans-serif;
      font-size: 10px; letter-spacing: 0.24em;
      text-transform: uppercase; color: var(--sky);
      font-weight: 500; margin-bottom: 8px;
    }
    .chapter-body .meta-value {
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-weight: 400;
      font-size: 18px; color: var(--navy);
      line-height: 1.3;
    }
    .chapter-body .meta-value strong {
      font-style: normal; font-weight: 500;
    }
    .chapter-prose { max-width: 680px; }
    .chapter-prose p {
      font-size: 17.5px; line-height: 1.78;
      color: var(--body-dark); margin-bottom: 1.4em;
    }
    .chapter-prose p strong { color: var(--navy); font-weight: 500; }
    .chapter-prose p:first-of-type::first-letter {
      font-family: 'Noto Serif Display', serif;
      font-size: 64px; line-height: 0.85;
      float: left; padding-right: 14px; padding-top: 4px;
      color: var(--sky); font-weight: 300;
    }
    .chapter-figure {
      max-width: 1440px;
      margin: 80px auto 80px;
      padding: 0 6%;
    }
    .chapter-figure img {
      width: 100%; height: auto; display: block;
    }
    .chapter-figure figcaption {
      max-width: 760px; margin: 24px auto 0;
      font-family: 'Inter', sans-serif;
      font-size: 13px; line-height: 1.6;
      color: var(--body); text-align: center;
      letter-spacing: 0.01em;
    }
    .chapter-figure figcaption strong {
      color: var(--navy); font-weight: 500;
      letter-spacing: 0.04em; text-transform: uppercase;
      font-size: 11px; display: block; margin-bottom: 6px;
    }

    .full-quote {
      background: var(--navy);
      color: white;
      padding: 140px 0;
      text-align: center;
      position: relative;
      margin: 60px 0 80px;
    }
    .full-quote::before {
      content: "\""; position: absolute;
      top: 30px; left: 50%; transform: translateX(-50%);
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-size: 120px;
      color: var(--sky); line-height: 1;
    }
    .full-quote blockquote {
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-weight: 300;
      font-size: clamp(28px, 4vw, 56px);
      line-height: 1.2; max-width: 1000px;
      margin: 0 auto; padding: 0 6%;
      letter-spacing: -0.01em;
    }
    .full-quote blockquote em { color: var(--sky-soft); }
    .full-quote cite {
      display: block; margin-top: 32px;
      font-family: 'Inter', sans-serif;
      font-style: normal; font-weight: 500;
      font-size: 11px; letter-spacing: 0.24em;
      text-transform: uppercase; color: var(--sky);
    }

    /* CHANNEL SWIM */
    .channel-section {
      background: var(--off-white);
      padding: 140px 0;
    }
    .channel-inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 6%;
    }
    .channel-head {
      max-width: 880px;
      margin-bottom: 90px;
    }
    .channel-head h2 {
      font-size: clamp(36px, 4.6vw, 72px);
      font-weight: 300; margin-bottom: 28px;
      letter-spacing: -0.02em;
    }
    .channel-head h2 em { color: var(--navy-link); }
    .channel-head .lead {
      font-family: 'Noto Serif Display', serif;
      font-weight: 300; font-style: italic;
      font-size: 22px; line-height: 1.45;
      color: var(--body-dark);
    }
    .channel-stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      margin-bottom: 90px;
      padding: 50px 0;
      border-top: 1px solid var(--rule-dark);
      border-bottom: 1px solid var(--rule-dark);
    }
    .channel-stat {
      padding: 0 32px;
      border-left: 1px solid var(--rule-dark);
    }
    .channel-stat:first-child { border-left: none; padding-left: 0; }
    .channel-stat .num {
      font-family: 'Noto Serif Display', serif;
      font-weight: 300; font-style: italic;
      color: var(--sky);
      font-size: clamp(48px, 5vw, 76px);
      line-height: 0.95; margin-bottom: 12px;
      letter-spacing: -0.02em;
    }
    .channel-stat .lbl {
      font-family: 'Inter', sans-serif;
      font-size: 11px; letter-spacing: 0.22em;
      text-transform: uppercase; color: var(--navy);
      font-weight: 500; margin-bottom: 8px;
    }
    .channel-stat .desc {
      font-size: 13px; line-height: 1.5;
      color: var(--body);
    }
    .hours { list-style: none; }
    .hours li {
      display: grid;
      grid-template-columns: 130px 200px 1fr;
      gap: 40px; padding: 32px 0;
      border-top: 1px solid var(--rule-dark);
      align-items: start;
    }
    .hours li:last-child {
      border-bottom: 1px solid var(--rule-dark);
    }
    .hours .time {
      font-family: 'Inter', sans-serif;
      font-weight: 400; font-size: 16px;
      color: var(--sky); letter-spacing: 0.02em;
    }
    .hours .where {
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-weight: 400;
      font-size: 18px; color: var(--navy);
      line-height: 1.3;
    }
    .hours .what {
      font-size: 16px; line-height: 1.7;
      color: var(--body-dark); max-width: 720px;
    }
    .hours .what strong { color: var(--navy); font-weight: 500; }

    /* TIMELINE */
    .timeline-section {
      background: var(--navy);
      color: white; padding: 160px 0;
    }
    .timeline-inner {
      max-width: 1440px; margin: 0 auto; padding: 0 6%;
    }
    .timeline-head {
      max-width: 880px; margin-bottom: 90px;
    }
    .timeline-head .eyebrow { color: var(--sky); }
    .timeline-head .eyebrow::before { background: var(--sky); }
    .timeline-head h2 {
      color: white;
      font-size: clamp(36px, 4.4vw, 64px);
      font-weight: 300; margin-bottom: 28px;
      letter-spacing: -0.02em;
    }
    .timeline-head h2 em { color: var(--sky-soft); }
    .timeline-head .lead {
      color: rgba(255,255,255,0.7);
      font-size: 17px; line-height: 1.7;
    }
    .timeline { position: relative; padding-left: 0; }
    .timeline::before {
      content: ""; position: absolute;
      left: 130px; top: 0; bottom: 0;
      width: 1px; background: var(--rule);
    }
    .tl-item {
      display: grid;
      grid-template-columns: 110px 60px 1fr;
      gap: 30px; padding: 32px 0;
      align-items: start; position: relative;
    }
    .tl-item .year {
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-weight: 300;
      color: var(--sky); font-size: 30px;
      line-height: 1; text-align: right;
      padding-top: 4px;
    }
    .tl-item .dot {
      position: relative; width: 60px;
      display: flex; justify-content: center;
      padding-top: 12px;
    }
    .tl-item .dot::after {
      content: ""; width: 9px; height: 9px;
      background: var(--navy); border: 1px solid var(--sky);
      box-shadow: 0 0 0 4px var(--navy);
    }
    .tl-item.major .dot::after {
      background: var(--sky); width: 13px; height: 13px;
    }
    .tl-item .content { padding-bottom: 8px; }
    .tl-item h4 {
      font-family: 'Noto Serif Display', serif;
      font-weight: 400; font-size: 22px;
      color: white; margin-bottom: 8px;
      line-height: 1.25;
    }
    .tl-item h4 em { color: var(--sky-soft); font-style: italic; }
    .tl-item .where-tl {
      font-family: 'Inter', sans-serif;
      font-size: 11px; letter-spacing: 0.2em;
      text-transform: uppercase; color: var(--sky);
      font-weight: 500; margin-bottom: 12px;
    }
    .tl-item p {
      color: rgba(255,255,255,0.7);
      font-size: 15px; line-height: 1.7;
      max-width: 680px;
    }

    /* CLOSING */
    .closing {
      background: var(--off-white);
      padding: 160px 0;
      text-align: center;
    }
    .closing-inner {
      max-width: 880px; margin: 0 auto; padding: 0 6%;
    }
    .closing .eyebrow.dark {
      justify-content: center;
      display: inline-flex;
      margin-bottom: 36px;
    }
    .closing h2 {
      font-size: clamp(36px, 4.4vw, 64px);
      font-weight: 300; margin-bottom: 36px;
      letter-spacing: -0.02em; line-height: 1.1;
    }
    .closing h2 em { color: var(--navy-link); }
    .closing p {
      font-family: 'Noto Serif Display', serif;
      font-style: italic; font-weight: 300;
      font-size: 22px; line-height: 1.5;
      color: var(--body-dark);
      margin-bottom: 50px;
    }
    .closing-actions {
      display: flex; gap: 14px;
      justify-content: center;
      flex-wrap: wrap;
    }

    @media (max-width: 1024px) {
      .chapter-head, .chapter-body {
        grid-template-columns: 1fr; gap: 40px;
      }
      .chapter-body .meta { position: static; }
      .channel-stats { grid-template-columns: 1fr 1fr; gap: 32px; }
      .channel-stat {
        border-left: none;
        border-top: 1px solid var(--rule-dark);
        padding: 24px 0 0;
      }
      .channel-stat:first-child, .channel-stat:nth-child(2) {
        border-top: none; padding-top: 0;
      }
      .timeline::before { left: 80px; }
      .tl-item {
        grid-template-columns: 70px 40px 1fr;
        gap: 16px;
      }
      .tl-item .year { font-size: 22px; }
      .hero-meta { grid-template-columns: 1fr 1fr; gap: 24px; }
      .hero-meta-item:nth-child(3),
      .hero-meta-item:nth-child(4) {
        border-top: 1px solid var(--rule);
        padding-top: 16px;
      }
      .hours li {
        grid-template-columns: 100px 1fr;
        gap: 16px;
      }
      .hours .where { grid-column: 2; }
      .hours .what { grid-column: 2; }
    }
    @media (max-width: 720px) {
      .hero-content { padding: 160px 6% 50px; }
      .article { padding: 80px 0 60px; }
      .chapter { margin-bottom: 80px; }
      .chapter-figure { margin: 50px auto; }
      .channel-section, .timeline-section, .closing { padding: 100px 0; }
      .timeline::before { left: 60px; }
      .tl-item {
        grid-template-columns: 50px 30px 1fr;
        gap: 12px;
      }
    }
