/* Inner pages inherit the homepage's visual system while retaining their content layouts. */
.site-page {
  --radius: var(--ui-radius);
  --sec-y: var(--ui-section-space);
  --fs-body: var(--ui-body);
  --fs-note: var(--ui-note);
  --fs-lead: clamp(1.0625rem, 1.4vw, 1.1875rem);
  --fs-quote: clamp(1.5rem, 2.6vw, 2rem);
  --hero-pad-top: calc(var(--header-h) + clamp(4rem, 7vw, 7rem));
  --hero-pad-bottom: clamp(3.5rem, 6vw, 6rem);
  --hero-h1: clamp(2.5rem, 4.8vw, 4.5rem);
  font-size: var(--ui-body);
  line-height: 1.7;
}
.site-page main h1, .site-page main h2, .site-page main h3, .site-page main h4 { color: var(--ui-heading); }
.site-page h2 { font-size: var(--ui-section-title); line-height: 1.15; text-wrap: pretty; }
.site-page h3 { font-size: var(--ui-card-title); line-height: 1.25; }
.site-page h2 + p, .site-page h3 + p { margin-top: .875rem; }
.site-page .kicker { font-size: .75rem; line-height: 1.5; letter-spacing: .14em; }
.site-page .sec-head { margin-bottom: 2rem; }
.site-page .sec-head p { font-size: var(--fs-lead); line-height: 1.65; }
.site-page .sec-head .kicker::before, .site-page .page-hero .kicker::before { content: none; }
.site-page .wrap--wide { max-width: var(--maxw); }
.site-page :is(.duo, .cols, .grid-cards, .chapter-grid, .info-row, .post-list) > * { min-width: 0; }
.site-page :is(p, li, dd, figcaption) { overflow-wrap: anywhere; }
.site-page :is(.band, .cta-band) :is(h2, h3, h4) { color: var(--paper); }
.site-page .band :is(h1, h2, h3) em { color: var(--ui-pink); }
.site-page .band-rose { background: var(--ui-quote); color: var(--ink); }
.site-page .cta-band { background: var(--green-deep); }
.site-page .cta-band .btn {
  --button-fill: var(--paper); --button-ink: var(--green-deep);
  --button-hover: var(--mist); --button-text: var(--paper);
  --button-outline: var(--paper); --button-focus: var(--ui-pink);
}
.site-page .btn.btn--primary, .site-page .btn.btn--secondary {
  min-height: 48px; padding: var(--ui-control-pad);
  font-size: var(--ui-control-size); letter-spacing: .07em;
}
.site-page .btn svg { flex: 0 0 auto; }
.site-page :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--focus); outline-offset: 4px;
}
.site-page .site-footer { --focus: var(--ui-pink); }
.site-page :is(.prose, .article-body, .measure, .info-row) a:not(.btn) {
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em;
}

/* Shared page openings: readable copy, authentic photographs, stable alignment. */
.site-page .page-hero {
  background: var(--wash); color: var(--ink);
  padding-block: var(--hero-pad-top) var(--hero-pad-bottom);
}
.site-page .page-hero > .wrap {
  text-align: left; text-shadow: none; opacity: 1; transform: none;
}
.site-page .page-hero h1 {
  color: var(--ui-heading); font-size: var(--hero-h1); font-weight: 400;
  line-height: 1.1; letter-spacing: .005em; text-wrap: pretty;
  max-width: 25ch; margin: 1rem 0 1.25rem;
}
.site-page .page-hero h1 em { color: var(--green); }
.site-page .page-hero :is(.lead, .hero-meta, .hero-copy) {
  color: var(--ink); max-width: 58ch; margin-inline: 0;
  font-size: var(--fs-lead); line-height: 1.65;
}
.site-page .page-hero .kicker { color: var(--green); }
.site-page .page-hero .note { color: var(--muted); }
.site-page .page-hero .cta-row { justify-content: flex-start; margin-top: 1.75rem; }
.site-page .page-hero--photo { isolation: isolate; background: var(--green-deep); color: var(--paper); --focus: var(--paper); }
.site-page .page-hero--photo::before { opacity: 1; }
.site-page .page-hero--photo::after {
  pointer-events: none;
  background: linear-gradient(90deg, rgba(4,30,27,.68), rgba(4,30,27,.45) 52%, rgba(4,30,27,.12));
}
.site-page .page-hero--photo h1, .site-page .page-hero--photo .lead,
.site-page .page-hero--photo .hero-meta, .site-page .page-hero--photo .hero-copy { color: var(--paper); }
.site-page .page-hero--photo h1 em { color: var(--ui-pink); }
.site-page .page-hero--photo :is(.kicker, .note, .chapter-hero-back) { color: var(--mist); }
.site-page .page-hero--photo .note a { color: var(--paper); text-decoration: underline; text-underline-offset: .2em; }
.site-page .page-hero--photo .btn {
  --button-fill: var(--paper); --button-ink: var(--green-deep); --button-hover: var(--mist);
  --button-text: var(--paper); --button-outline: var(--paper); --button-focus: var(--paper);
  text-shadow: none; backdrop-filter: none;
}
.site-page .hero-stats { justify-content: flex-start; gap: 1.5rem 2.5rem; border-top-color: rgba(228,237,234,.35); }
.site-page .hero-stats .item { flex-direction: column; align-items: flex-start; gap: .5rem; }
.site-page .hero-stats .item span { font-family: var(--body-font); font-size: var(--ui-note); letter-spacing: 0; text-transform: none; }
.site-page .chapter-hero-back { min-height: 44px; margin-bottom: 1.25rem; }
.site-page .page-hero .pulse-motif { display: none; }

/* Program and partner collections share a restrained card treatment. */
.site-page .grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--ui-grid-gap); }
.site-page .grid-cards > * { max-width: none; }
.site-page :is(.card, .post-card, .pcard, .chapter-card, .ch) { border-radius: var(--ui-radius); box-shadow: none; }
.site-page .card { padding: 1.5rem; }
.site-page .card p { font-size: var(--ui-body); }
.site-page .card :is(.k, .meta), .site-page .pcard :is(.k, .facts) { font-size: .75rem; line-height: 1.6; }
.site-page .post-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: var(--ui-grid-gap); }
.site-page .post-body { padding: 1.5rem; }
.site-page .post-body h2 { font-size: var(--ui-card-title); line-height: 1.25; letter-spacing: .005em; }
.site-page .post-body h2 a { color: var(--ui-heading); }
.site-page :is(.post-more, .pcard .go) { font-family: var(--body-font); font-size: var(--ui-note); letter-spacing: 0; text-transform: none; }
.site-page .post-cover .idx, .site-page .post-cover .pulse-motif { display: none; }
.site-page :is(.pic img, .gallery img, .person img, .video-embed, .embed-wrap, .itw-card) { box-shadow: none; }
.site-page :is(.pic img, .gallery img, .person img, .video-embed, .embed-wrap) { border-radius: var(--ui-radius); }
.site-page .gallery { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.site-page .gallery--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.site-page :is(.card, .post-card, .pcard):hover { transform: none; box-shadow: none; border-color: var(--line-strong); }
.site-page .pcard:hover .shot img { transform: scale(1.025); }
.site-page .quote, .site-page .pullquote { border-left: 0; padding: 1.5rem 0; border-block: 1px solid var(--line); }
.site-page .band .quote { border-color: rgba(228,237,234,.35); }
.site-page .quote p { font-size: var(--fs-quote); line-height: 1.4; }
.site-page .quote cite { font-family: var(--body-font); font-size: var(--ui-note); text-transform: none; letter-spacing: 0; }

/* Facts remain legible and use the same editorial numerals as the homepage. */
.site-page :is(.figures .fig .n, .drive-figures .n, .wk-figures .n, .cfigs .n) {
  font-weight: 400; letter-spacing: .005em; font-variant-numeric: lining-nums tabular-nums;
}
.site-page :is(.figures .fig .l, .drive-figures .l, .wk-figures .l) {
  font-family: var(--body-font); font-size: var(--ui-note); letter-spacing: 0; text-transform: none; line-height: 1.5;
}
.site-page .figures .fig { padding-block: 1.25rem; border-block-start: 1px solid var(--line); }
.site-page .figures .fig .n { color: var(--ui-heading); }
.site-page .stat-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }

/* Chapter and team pages use the same portrait grammar, with readable roles. */
.site-page .chapter-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: var(--ui-grid-gap); }
.site-page .chapter-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.site-page .chapter-card { padding: 1.5rem; }
.site-page .chapter-card h3 { font-size: var(--ui-card-title); }
.site-page .chapter-person span { font-size: .75rem; line-height: 1.5; letter-spacing: .06em; }
.site-page.page-chapter .chapter-people { gap: 2rem; }
.site-page.page-chapter .chapter-person { flex: 0 1 17rem; max-width: 17rem; }
.site-page.page-chapter .chapter-person h4 { font-size: 1.125rem; line-height: 1.4; }
.site-page .forming-card { max-width: 48rem; border-radius: var(--ui-radius); box-shadow: none; }
.site-page[data-page="board"] .pyr-row { gap: var(--ui-grid-gap); }
.site-page[data-page="board"] .person { padding: 1.5rem; box-shadow: none; }
.site-page[data-page="board"] .person img, .site-page[data-page="board"] .person .ph { width: min(100%, 280px); height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--ui-radius); }
.site-page .person h3 { font-size: var(--ui-card-title); }
.site-page .person .k { font-size: .75rem; line-height: 1.6; letter-spacing: .06em; }
.site-page[data-page="leadership"] .person::after { content: none; }

/* Camp layouts retain their structure without narrow columns or competing type scales. */
.site-page[data-page="camp"] .intro-wide { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--pad); }
.site-page[data-page="camp"] .intro-wide p { max-width: 68ch; margin-inline: auto; font-size: var(--fs-lead); font-weight: 400; }
.site-page[data-page="camp"] .why-band h2 { font-size: var(--ui-section-title); }
.site-page[data-page="camp"] .why-band .prose { max-width: 68ch; }
.site-page[data-page="camp"] .why-photo::after { background: rgba(4,30,27,.84); }
.site-page[data-page="camp"] .why-photo .why-band { text-shadow: none; }
.site-page[data-page="camp"] .impact-panel { background: rgba(4,30,27,.9); box-shadow: none; }
.site-page[data-page="camp"] .itw-section { padding-block: var(--ui-section-space); }
.site-page[data-page="camp"] .itw-head { margin-bottom: 2rem; }
.site-page[data-page="camp"] .itw-pulse { display: none; }
.site-page[data-page="camp"] .itw-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--ui-grid-gap); }
.site-page[data-page="camp"] :is(.itw-day--up, .itw-day--down) { margin-top: 0; }
.site-page[data-page="camp"] .itw-card { height: 100%; padding: 1.25rem; }
.site-page[data-page="camp"] .itw-card h3 { font-size: 1.25rem; line-height: 1.3; }
.site-page[data-page="camp"] .itw-card p { margin-bottom: 0; }
.site-page[data-page="camp"] .track { padding: clamp(1.25rem, 3vw, 2rem); }
.site-page[data-page="workshops"] .pcard h4 { font-size: 1.25rem; }
.site-page[data-page="workshops"] .pcard .body { padding: 1.25rem; }
.site-page .sym-timeline :is(.d, .s) { font-size: var(--ui-note); letter-spacing: 0; text-transform: none; }
.site-page .sym-timeline .t { font-size: 1.25rem; }
.site-page .drive-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-grid-gap); }
.site-page .drive-gallery figure { min-width: 0; }
.site-page[data-page="camp-apply"] .apply-recap { align-items: center; }
.site-page[data-page="camp-apply"] .apply-recap .cta-row { justify-content: flex-start; margin-top: 1.5rem; }
.site-page[data-page="camp-apply"] .apply-recap > figure.pic { display: block; }
.site-page[data-page="camp-apply"] .apply-recap > figure.pic img { height: auto; min-height: 0; max-height: none; aspect-ratio: 16 / 9; }

/* The mission's four-panel story stays dynamic, with space for its real text. */
.site-page .work-showcase { display: grid; min-height: clamp(34rem, 78svh, 48rem); background: var(--green-deep); }
.site-page .work-slide {
  position: relative; grid-area: 1 / 1; display: grid; align-items: end; min-width: 0;
  padding: 4rem max(var(--pad), calc((100% - var(--maxw)) / 2 + var(--pad))) 7rem;
}
.site-page .work-slide::after { background: linear-gradient(90deg, rgba(4,30,27,.65), rgba(4,30,27,.18)); }
.site-page .work-copy { position: relative; inset: auto; max-width: 62ch; }
.site-page .work-copy h2 { font-size: clamp(2.75rem, 5.8vw, 5.5rem); color: var(--ui-pink); line-height: 1.06; letter-spacing: .005em; }
.site-page .work-copy p { color: var(--paper); font-size: var(--fs-lead); line-height: 1.65; }
.site-page .work-count { font-size: .75rem; letter-spacing: .12em; color: var(--mist); }
.site-page .work-slide:not(.is-active) .work-copy { visibility: hidden; }
.site-page .work-controls { bottom: 1.5rem; gap: .75rem; }
.site-page .work-dot { width: clamp(32px, 8vw, 52px); height: 44px; display: grid; place-items: center; background: transparent; transform: none; }
.site-page .work-dot::before { content: ""; width: 100%; height: 2px; background: rgba(228,237,234,.55); }
.site-page .work-dot[aria-current="true"]::before { background: var(--ui-pink); height: 3px; }
.site-page .work-dot:focus-visible { outline-color: var(--paper); }
.site-page .work-play { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--mist); border-radius: 50%; background: transparent; color: var(--paper); cursor: pointer; }
.site-page .work-play svg { width: 20px; height: 20px; }
.site-page .work-play:hover { background: rgba(228,237,234,.12); }
.site-page .work-play:focus-visible { outline-color: var(--paper); }
.site-page :is(.ps-arrow, .strip-nav) { min-width: 44px; min-height: 44px; }
.site-page .ps-dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.site-page .ps-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--line-strong); }
.site-page .ps-dot.is-on { background: transparent; transform: none; }
.site-page .ps-dot.is-on::before { background: var(--green-deep); width: 9px; height: 9px; }
.site-page .wcard { box-shadow: none; border-radius: var(--ui-radius); }
.site-page .wcard h4 { font-size: 1.25rem; }
.site-page .wcard:hover { transform: none; box-shadow: none; }
.site-page .wcard:hover .shot img { transform: none; }
.site-page .facts-row :is(dt, .k) { font-size: .75rem; letter-spacing: .06em; }
.site-page .facts-row :is(dd, .v) { font-size: 1.25rem; }
.site-page .card .visit { font-family: var(--body-font); font-size: var(--ui-note); letter-spacing: 0; text-transform: none; }
.site-page[data-page="about"] .pullband { background: var(--ui-quote); }
.site-page[data-page="about"] .partner-band { background: var(--paper); border-top: 1px solid var(--line); }
.site-page[data-page="about"] .chip { box-shadow: none; border-radius: 0; background: transparent; }

/* Reading and participation pages remain calm and task-focused. */
.site-page .article-hero { padding-block: var(--hero-pad-top) var(--hero-pad-bottom); background: var(--green-deep); }
.site-page .article-hero .inner { max-width: 52rem; }
.site-page .article-hero h1 { max-width: 27ch; color: var(--paper); font-size: clamp(2.25rem, 4.4vw, 4rem); line-height: 1.12; letter-spacing: .005em; }
.site-page .article-hero .pulse-motif { display: none; }
.site-page .article-hero .wrap { opacity: 1; transform: none; }
.site-page .article-body { color: var(--ink); font-size: 1.0625rem; line-height: 1.8; }
.site-page .article-body h2 { font-size: var(--ui-support-title); margin: 2.5rem 0 1rem; }
.site-page .article-body h2::before { content: none; }
.site-page .article-body .refs h2 { font-size: var(--ui-card-title); }
.site-page .article-body :is(.ref-list, .refs) { overflow-wrap: anywhere; }
.site-page .prose { max-width: 70ch; }
.site-page .prose h2 { font-size: var(--ui-support-title); }
.site-page .prose h3 { font-size: var(--ui-card-title); }
.site-page[data-page="chair-letter"] main > .section:first-child { padding-top: var(--hero-pad-top); }
.site-page .letter-head h1 { font-size: var(--hero-h1); }
.site-page .letter-portrait img { border-radius: var(--ui-radius); box-shadow: none; }
.site-page .forms { margin-top: 2.5rem; }
.site-page .tablist { gap: .75rem; }
.site-page .tab { min-height: 48px; padding: var(--ui-control-pad); font-size: var(--ui-control-size); letter-spacing: .07em; border-radius: 999px; }
.site-page .tab[aria-selected="true"] { background: var(--green-deep); border-color: var(--green-deep); }
.site-page .tab:focus-visible { outline-color: var(--green-deep); }
.site-page .panel { padding: clamp(.75rem, 2vw, 1.5rem); }
.site-page .panel h3 { margin-bottom: .5rem; }
.site-page .panel .fv-frame { max-width: 100%; }
.site-page[data-page="contact"] .info-row { grid-template-columns: minmax(0, 1fr); }
.site-page[data-page="contact"] .info-row > div { border-bottom: 1px solid var(--line); padding-block: .5rem; }
.site-page[data-page="contact"] .info-row a { display: inline-block; padding-block: .35rem; }
.site-page[data-page="contact"] .grid-cards .card { width: 100%; }
.site-page[data-page="student-stories"] main > .section + .section { background: var(--wash); }

@media (max-width: 980px) {
  .site-page .duo, .site-page .duo--pic-left, .site-page .duo--pic-right { grid-template-columns: minmax(0, 1fr); }
  .site-page .duo--flip > .pic { order: 0; }
  .site-page .drive-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-page .sym-timeline { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .site-page .sym-timeline::before { left: 17px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .site-page .sym-timeline li { text-align: left; padding: 0 0 0 3rem; min-height: 36px; }
  .site-page .sym-timeline .num { position: absolute; left: 0; top: 0; margin: 0; }
}
@media (max-width: 600px) {
  .site-page { --hero-h1: clamp(2.125rem, 8.5vw, 3rem); --hero-pad-top: calc(var(--header-h) + 3.25rem); --hero-pad-bottom: 3.5rem; }
  .site-page .page-hero h1 { max-width: 100%; line-height: 1.13; }
  .site-page .page-hero h1 br { display: none; }
  .site-page .page-hero--photo::after { background: linear-gradient(180deg, rgba(4,30,27,.48), rgba(4,30,27,.65)); }
  .site-page .page-hero .cta-row .btn { flex: 1 1 100%; }
  .site-page .hero-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  .site-page .hero-stats .item:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .site-page .duo > .pic { flex-direction: column; }
  .site-page .duo > .pic > img, .site-page .duo > .pic figure img { height: auto; min-height: 0; max-height: none; aspect-ratio: 4 / 3; }
  .site-page .post-list, .site-page .drive-gallery { grid-template-columns: minmax(0, 1fr); }
  .site-page .forming-card { flex-direction: column; align-items: flex-start; }
  .site-page .work-showcase { min-height: 36rem; }
  .site-page .work-slide { padding-top: 3rem; padding-bottom: 6rem; }
  .site-page .work-copy h2 { font-size: clamp(2.5rem, 10vw, 3.75rem); }
  .site-page .work-copy p { font-size: 1rem; }
  .site-page .tablist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-page .tab { overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
  .site-page { --sec-y: 2.75rem; }
  .site-page .cta-row { gap: .75rem; }
  .site-page .cta-row .btn { flex: 1 1 100%; }
  .site-page .figures { gap: 1rem; }
  .site-page .figures .fig .n { font-size: 2.5rem; }
  .site-page .cols { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .site-page .pcard:hover .shot img { transform: none; }
}

/* Local text shadow supports legibility with lighter photographic overlays. */
.site-page .page-hero--photo :is(h1,.lead,.hero-copy,.hero-meta,.kicker), .site-page .work-slide :is(h2,p) { text-shadow:0 1px 5px rgba(0,0,0,.45); }

/* Board heading: solid brand teal with uniform white typography. */
.site-page[data-page="board"] .page-hero { background:#00655b; color:#fff; }
.site-page[data-page="board"] .page-hero h1,
.site-page[data-page="board"] .page-hero .kicker { color:#fff; font-style:normal; }
