.page-hero h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(48px, 7vw, 92px); line-height: 1.02; letter-spacing: -0.01em; margin: 0 0 var(--sp-4) 0; max-width: 15ch; color: var(--ink); text-wrap: balance; }
.page-hero p.lede { font-family: var(--serif); font-style: italic; font-size: clamp(21px, 2vw, 27px); line-height: 1.4; color: var(--ink); max-width: 50ch; margin: 0; }
.page-section { padding-block: clamp(8px, 2vw, 24px) clamp(56px, 8vw, 112px); }
.reading h3 { font-family: var(--serif); font-weight: 400; font-style: italic; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; color: var(--forest-deep); margin: var(--sp-5) 0 var(--sp-3); }
.pullquote { margin: var(--sp-5) 0; padding-left: var(--sp-4); border-left: 2px solid var(--forest); font-family: var(--serif); font-style: italic; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.28; color: var(--ink); max-width: 24ch; text-wrap: balance; }
.pullquote cite { display: block; margin-top: var(--sp-3); font-style: normal; font-family: var(--sans); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--meta); }
.video { margin-top: var(--sp-5); }
.video-label { font-family: var(--sans); font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--meta); margin-bottom: var(--sp-3); }
.gallery { margin-top: var(--sp-5); }
