/* Hallmark macrostructure: Conversational FAQ, opened by a navy hero band
   Page: /fstc/private-schools/, enhanced by fundedu-private-schools.php 1.0.0.
   Tokens: the hub --eftc-* set (eftc-frontend.css, handle fstc-hub-frontend) plus the page tokens
   below. Spec: docs/superpowers/specs/2026-09-30-private-schools-page-design.md, 5.2. */

:root {
    --ps-ink-muted: #767474;
    --ps-font-body: 'Glacial Indifference', sans-serif;
    /* Glacial's 0 (what ch measures) is wide: 51ch renders full lines of 60 to 70 characters at 1280. */
    --ps-measure: 51ch;
    --ps-radius: var(--eftc-radius-md);
    --ps-wide: 72rem;
}

/* Page shell: run edge to edge under the global header and footer (the /eds/ recipe, scoped). */
html:has(body.fundedu-private-schools),
body.fundedu-private-schools { overflow-x: clip; }
body.fundedu-private-schools .entry-title.main_title,
body.fundedu-private-schools .et_post_meta_wrapper > .entry-title { display: none !important; }
body.fundedu-private-schools #main-content .container { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.fundedu-private-schools #content-area,
body.fundedu-private-schools #left-area { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; float: none !important; }
body.fundedu-private-schools #sidebar { display: none !important; }
body.fundedu-private-schools #main-content .container:before { display: none !important; }
body.fundedu-private-schools article.page,
body.fundedu-private-schools .entry-content { margin: 0 !important; padding: 0 !important; }

.ps-page {
    font-family: var(--ps-font-body);
    color: var(--eftc-charcoal);
    background: var(--eftc-white);
}
.ps-inner { max-width: var(--ps-wide); margin: 0 auto; }

/* Release banner: a plain dated line, not a pill, not sticky. */
.ps-banner {
    margin: 0;
    padding: var(--eftc-space-sm) var(--eftc-space-lg);
    background: var(--eftc-white);
    border-bottom: 1px solid var(--eftc-navy-medium);
    font-family: var(--ps-font-body);
}
.ps-banner a { color: var(--eftc-navy); text-decoration: underline; }
.ps-banner a:hover { text-decoration-thickness: 2px; }
.ps-banner a:focus-visible { outline: 3px solid var(--eftc-navy); outline-offset: 2px; }
.ps-banner a:active { color: var(--eftc-navy-dark); }

/* Hero: navy band, left-aligned, bottom padding at least 1.3 times the top (4rem over 3rem). */
.ps-hero {
    background: var(--eftc-navy);
    color: var(--eftc-white);
    padding: var(--eftc-space-2xl) var(--eftc-space-lg) var(--eftc-space-3xl);
}
.ps-hero h1 {
    font-family: var(--eftc-font-heading);
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1.1;
    margin: 0 0 var(--eftc-space-md);
    color: var(--eftc-white);
    overflow-wrap: anywhere;
    min-width: 0;
}
.ps-lede { max-width: var(--ps-measure); font-size: 1.125rem; line-height: 1.55; margin: 0 0 var(--eftc-space-xl); }
.ps-hero .ps-lede a { color: var(--eftc-white); text-decoration: underline; }
.ps-hero .ps-lede a:hover { text-decoration-thickness: 2px; }
.ps-hero .ps-lede a:focus-visible { outline: 3px solid var(--eftc-gold); outline-offset: 2px; }
.ps-hero .ps-lede a:active { text-decoration-style: double; }

/* Buttons: one gold primary (hero), one outlined secondary (close). One radius for the page.
   Focus: gold outlines sit only on the navy bands (hero, close); on white, focus is navy, because gold
   on white is 2.19:1 and a focus indicator needs 3:1. */
.ps-cta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--eftc-space-md); }
.ps-btn {
    display: inline-block;
    font-family: var(--eftc-font-heading);
    font-weight: 700;
    font-size: 1rem;
    white-space: nowrap;
    padding: var(--eftc-space-sm) var(--eftc-space-lg);
    border: 2px solid transparent;
    border-radius: var(--ps-radius);
    text-decoration: none;
}
.ps-btn--primary { background: var(--eftc-gold); color: var(--eftc-charcoal); }
.ps-btn--primary:hover { background: var(--eftc-gold-hover); }
.ps-btn--primary:active { background: var(--eftc-gold); }
.ps-btn--secondary { background: transparent; color: var(--eftc-white); border-color: var(--eftc-white); }
.ps-btn--secondary:hover { background: var(--eftc-white); color: var(--eftc-navy); }
.ps-btn--secondary:active { background: var(--eftc-navy-dark); color: var(--eftc-white); }
.ps-btn:focus-visible { outline: 3px solid var(--eftc-gold); outline-offset: 3px; }

/* Content sections: white ground, prose in a 60 to 70 character measure, padding varied by role. */
.ps-section { padding: var(--eftc-space-2xl) var(--eftc-space-lg); }
.ps-section--settled { padding-top: var(--eftc-space-3xl); }
.ps-section--read { padding-bottom: var(--eftc-space-xl); }
.ps-section h2,
.ps-close h2 {
    font-family: var(--eftc-font-heading);
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.2;
    margin: 0 0 var(--eftc-space-md);
    max-width: var(--ps-measure);
    overflow-wrap: anywhere;
    min-width: 0;
}
.ps-section h2 { color: var(--eftc-navy); }
.ps-section p,
.ps-section li { max-width: var(--ps-measure); font-size: 1.0625rem; line-height: 1.6; }
.ps-section p { margin: 0 0 var(--eftc-space-md); }
.ps-section a { color: var(--eftc-navy); text-decoration: underline; text-underline-offset: 0.15em; }
.ps-section a:hover { text-decoration-thickness: 2px; }
.ps-section a:focus-visible { outline: 3px solid var(--eftc-navy); outline-offset: 2px; }
.ps-section a:active { color: var(--eftc-navy-dark); }

/* The typed list: a term in Gilroy, the rule and citation beneath. The donor credit leads. */
.ps-terms { display: grid; gap: var(--eftc-space-lg); max-width: var(--ps-measure); font-size: 1.0625rem; }
.ps-term h3 { font-family: var(--eftc-font-heading); font-size: 1.125rem; color: var(--eftc-navy); margin: 0 0 var(--eftc-space-xs); }
.ps-term--lead h3 { font-size: 1.3125rem; }
.ps-term--lead p { font-size: 1.125rem; }
.ps-open,
.ps-read { padding-left: var(--eftc-space-lg); margin: 0 0 var(--eftc-space-md); }
.ps-open li,
.ps-read li { margin: 0 0 var(--eftc-space-sm); }

/* Closing band: navy, a different rhythm from the content sections. */
.ps-close {
    background: var(--eftc-navy);
    color: var(--eftc-white);
    padding: var(--eftc-space-3xl) var(--eftc-space-lg) var(--eftc-space-2xl);
}
.ps-close h2 { color: var(--eftc-white); }

.ps-footnote { padding: var(--eftc-space-lg); }
.ps-footnote p { margin: 0; color: var(--ps-ink-muted); font-size: 0.875rem; max-width: var(--ps-measure); }

/* The live theme wins over inheritance (live slop re-check, 2026-10-01): Divi's element rules set p, li
   and a to Inter, its customizer sets h1 to h3 to weight 400, and its parent layer pads p, ul and
   headings off the ramp. Each is set here on the element itself. */
.ps-page p,
.ps-page li,
.ps-page a,
.ps-page strong { font-family: var(--ps-font-body); }
.ps-page .ps-btn { font-family: var(--eftc-font-heading); }
.ps-page h1,
.ps-page h2,
.ps-page h3 { font-weight: 700; padding-bottom: 0; }
.ps-page p { padding-bottom: 0; }
body.fundedu-private-schools .ps-page ul.ps-open,
body.fundedu-private-schools .ps-page ul.ps-read { padding: 0 0 0 var(--eftc-space-lg) !important; }

/* The only motion on the page, and only for visitors who have not asked for less. */
@media (prefers-reduced-motion: no-preference) {
    .ps-btn { transition: background-color var(--eftc-transition-fast), color var(--eftc-transition-fast); }
}
