/* Philosophy: page-local editorial layout. Shared header and footer stay untouched.
   Content is visible without JavaScript; no fixed heights or forced text lines. */
.philosophy-content {
    --ph-ink: var(--color-primary);
    --ph-muted: var(--color-text-light);
    --ph-rule: var(--color-border);
    color: var(--ph-ink);
    background: var(--color-white);
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.philosophy-content *,
.philosophy-content *::before,
.philosophy-content *::after { min-width: 0; }
:where(.philosophy-content > :not(.editorial-cover-hero)) p { font-size: 1rem; line-height: 1.75; color: var(--ph-muted); }
:where(.philosophy-content > :not(.editorial-cover-hero)) :is(h1, h2, h3) { margin: 0; color: inherit; font-weight: 400; text-wrap: balance; }
/* The cover hero, eyebrow labels and buttons inherit the existing site system.
   Only the content layouts below the cover are page-specific. */
.philosophy-content :is(.ph-section-intro, .ph-practice__heading, .ph-horizon__aside) > .eyebrow,
.philosophy-content .ph-practice__heading > div > .eyebrow { margin-bottom: var(--space-lg); }
.philosophy-content .ph-beliefs { border-top: 1px solid var(--ph-rule); padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.philosophy-content .ph-beliefs__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr); gap: clamp(2.5rem, 8vw, 8rem); }
.philosophy-content .ph-section-intro h2 { max-width: 13ch; font-size: clamp(2.5rem, 1.7rem + 2vw, 3.75rem); line-height: 1.08; letter-spacing: -.025em; }
.philosophy-content .ph-section-intro > p:last-child { max-width: 35ch; margin-top: 1.5rem; }
.philosophy-content .ph-beliefs__list { list-style: none; margin: 0; padding: 0; }
.philosophy-content .ph-belief { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 1.25rem; padding-block: 2rem; border-bottom: 1px solid var(--ph-rule); }
.philosophy-content .ph-belief:first-child { padding-top: 0; }
.philosophy-content .ph-belief:last-child { border-bottom: 0; padding-bottom: 0; }
.philosophy-content .ph-number { padding-top: .5rem; font-size: .75rem; font-variant-numeric: tabular-nums; color: var(--color-text-light); }
.philosophy-content .ph-belief h3 { font-size: clamp(1.875rem, 1.4rem + 1vw, 2.375rem); line-height: 1.15; letter-spacing: -.015em; }
.philosophy-content .ph-belief p { margin-top: .875rem; max-width: 58ch; }
.philosophy-content .ph-practice { padding-block: clamp(3.5rem, 7vw, 6.5rem); background: var(--color-primary); color: var(--color-white); }
.philosophy-content .ph-practice .eyebrow { color: var(--color-slate); }
.philosophy-content .ph-practice__heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); align-items: end; gap: clamp(2rem, 6vw, 6rem); }
.philosophy-content .ph-practice h2 { max-width: 23ch; font-size: clamp(2.5rem, 1.75rem + 2vw, 3.75rem); line-height: 1.08; letter-spacing: -.025em; }
.philosophy-content .ph-practice__heading > p { color: rgba(255, 255, 255, .72); max-width: 35ch; }
.philosophy-content .ph-questions { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; padding: 0; margin: 3.5rem 0 0; }
.philosophy-content .ph-questions li { border-top: 1px solid rgba(255, 255, 255, .3); padding-top: 1.25rem; }
.philosophy-content .ph-questions__step { display: block; margin-bottom: 1.5rem; color: var(--color-slate); font-size: .6875rem; line-height: 1.6; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.philosophy-content .ph-questions h3 { font-size: 1.875rem; line-height: 1.2; text-wrap: initial; }
.philosophy-content .ph-questions p { margin-top: 1rem; color: rgba(255, 255, 255, .72); font-size: .9375rem; }
.philosophy-content .ph-practice__footnote { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .72); font-size: .8125rem; }
.philosophy-content .ph-horizon { padding-block: clamp(3.5rem, 8vw, 7.5rem); }
.philosophy-content .ph-horizon__grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.5fr); gap: clamp(2rem, 7vw, 7rem); }
.philosophy-content .ph-horizon__aside > p:last-child { max-width: 23ch; font-size: .9375rem; }
.philosophy-content .ph-horizon h2 { font-size: clamp(2.5rem, 1.5rem + 2.7vw, 4rem); line-height: 1.12; letter-spacing: -.025em; }
.philosophy-content .ph-horizon h2 em { font-style: normal; color: var(--color-text-light); }
.philosophy-content .ph-horizon__statement > p { max-width: 58ch; margin-top: 1.75rem; }
.philosophy-content .ph-horizon__action { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ph-rule); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.philosophy-content .ph-horizon__action p { font-size: .875rem; }
/* Rem breakpoints also respond to enlarged browser default text. */
@media (max-width: 62rem) {
    .philosophy-content .ph-beliefs__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; }
    .philosophy-content .ph-questions { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 2.5rem; }
}
@media (max-width: 46rem) {
    .philosophy-content .ph-beliefs__grid,
    .philosophy-content .ph-practice__heading,
    .philosophy-content .ph-horizon__grid { grid-template-columns: minmax(0, 1fr); }
    .philosophy-content .ph-section-intro h2 { max-width: 20ch; }
    .philosophy-content .ph-section-intro > p:last-child,
    .philosophy-content .ph-practice__heading > p { max-width: 55ch; }
    .philosophy-content .ph-horizon__aside > p:last-child { max-width: none; }
}
@media (max-width: 30rem) {
    .philosophy-content .ph-questions { grid-template-columns: minmax(0, 1fr); gap: 2rem; margin-top: 2.5rem; }
    .philosophy-content .ph-questions__step { margin-bottom: .875rem; }
    .philosophy-content .ph-belief { grid-template-columns: 1.25rem minmax(0, 1fr); gap: .75rem; }
    .philosophy-content .ph-horizon__action { align-items: flex-start; flex-direction: column; }
}

/* Let this longer title use the shared cover's available content width.
   Balanced wrapping gives two lines on wide covers and three on phones;
   rem-based sizing still respects enlarged text without forced line breaks. */
.philosophy-page .editorial-cover-hero__content h1 {
    max-width: none;
    font-size: clamp(2.5rem, 1.8rem + 4vw, 5.375rem);
    line-height: 1.02;
    text-wrap: balance;
    overflow-wrap: normal;
}

/* Center the introduction beside the principles in the two-column layout. */
@media (min-width: 737px) {
    .philosophy-content .ph-beliefs__grid > .ph-section-intro { align-self: center; }
}
