/* Hallmark macrostructure: Long-form explainer, a navy title band, framing prose, a run of numbered
   questions each with a status line, and a navy closing band.
   Rules review pages: the plain-language reviews of the Treasury rules
   Pages: 4562 /fstc/rules-review-public-schools/ and 4563 /fstc/rules-review-private-schools/,
   enhanced by fundedu-rules-review.php 1.0.0, which adds body class fundedu-rules-review, swaps Divi's
   right-sidebar class for et_full_width_page, and enqueues this file after the two hub stylesheets.
   Fixes the 2026-10-01 slop verdicts (audits/2026-10-01-rules-review-*-slop-verdict.md). The copy is
   untouched: every rule here styles the bare post_content (p, h2, ol, li, strong, a) by element.
   Every selector is scoped under body.fundedu-rules-review. No !important anywhere: each Divi rule
   that has to be beaten is out-ranked by specificity instead (the id is named where Divi's rule has one).
   Precedent: implementation/private-schools/private-schools.css (passed both instruments live). */

body.fundedu-rules-review {
    /* Palette (FUNDEDU_DESIGN.md section 2). Headings take the operative navy on these two pages only
       (FE-3 default pending Chris's ruling); the site-wide #1A3A5C elsewhere is untouched. */
    --rr-navy: var(--eftc-navy, #1D3769);
    --rr-navy-dark: var(--eftc-navy-dark, #152B50);
    --rr-navy-25: var(--eftc-navy-medium, rgba(29, 55, 105, 0.25));
    --rr-gold: var(--eftc-gold, #D8A83B);
    --rr-charcoal: var(--eftc-charcoal, #262323);
    --rr-white: var(--eftc-white, #FFFFFF);
    /* Faces (section 3). No Poppins fallback (tell FE-10). */
    --rr-font-heading: 'Gilroy', sans-serif;
    --rr-font-body: 'Glacial Indifference', sans-serif;
    /* Spacing: the D1 ramp, 4 to 64px (section 4). Nothing between steps. */
    --rr-space-xs: 0.25rem;
    --rr-space-sm: 0.5rem;
    --rr-space-md: 1rem;
    --rr-space-lg: 1.5rem;
    --rr-space-xl: 2rem;
    --rr-space-2xl: 3rem;
    --rr-space-3xl: 4rem;
    --rr-gutter: var(--rr-space-md);
    /* Glacial's 0 (what ch measures) is wide, so the cap is set in the face's own ch and tuned to the
       character count: 55ch of Glacial at 17px is about 520px, which renders 60 to 70 characters a line
       (the precedent's 51ch measured near 60 on this page). 65ch of Glacial would run past 75 a line. */
    --rr-measure: 55ch;
    /* Headings are capped in rem: ch at a 32px Gilroy heading would run the question hairline across
       the whole column. 36rem sits just past the prose measure. */
    --rr-heading-measure: 36rem;
    --rr-wide: 72rem;
}
@media (min-width: 600px) {
    body.fundedu-rules-review { --rr-gutter: var(--rr-space-lg); }
}

/* ---------- Layout: no sidebar, no hairline, full-width container ----------
   The plugin swaps et_right_sidebar for et_full_width_page, so Divi's own rules already drop the
   divider and widen #left-area. These rules hold the same result if that class ever fails to land. */
html body.fundedu-rules-review #main-content .container {
    width: 100%;
    max-width: none;
    padding-top: 0;
}
body.fundedu-rules-review #main-content .container::before { display: none; }
body.fundedu-rules-review #sidebar { display: none; }
body.fundedu-rules-review #left-area {
    width: 100%;
    float: none;
    padding: 0;
}
body.fundedu-rules-review #left-area > article { margin: 0; padding: 0; }
/* The wrappers carry the body face and ink too, so nothing on the page inherits Divi's Inter in #666. */
body.fundedu-rules-review #main-content,
body.fundedu-rules-review #main-content .container,
body.fundedu-rules-review #content-area,
body.fundedu-rules-review #left-area,
body.fundedu-rules-review #left-area > article {
    font-family: var(--rr-font-body);
    color: var(--rr-charcoal);
}

/* ---------- Title band: the H1 in white Gilroy Bold on navy (C-5 default pending Chris's ruling) ----------
   Full width under the site header. The text lines up with the content column below; bottom padding
   is 1.33 times the top (Hallmark gate 44). Solid navy, never a gradient. */
body.fundedu-rules-review #left-area h1.entry-title {
    margin: 0;
    padding-top: var(--rr-space-2xl);
    padding-bottom: var(--rr-space-3xl);
    padding-left: max(var(--rr-gutter), calc((100% - var(--rr-wide)) / 2 + var(--rr-gutter)));
    padding-right: max(var(--rr-gutter), calc((100% - var(--rr-wide)) / 2 + var(--rr-gutter)));
    background-color: var(--rr-navy);
    color: var(--rr-white);
    font-family: var(--rr-font-heading);
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
    letter-spacing: normal;
    overflow-wrap: anywhere;
    min-width: 0;
}

/* ---------- The body column ---------- */
body.fundedu-rules-review #left-area .entry-content {
    max-width: var(--rr-wide);
    margin: 0 auto;
    padding: var(--rr-space-xl) var(--rr-gutter) var(--rr-space-3xl);
    font-family: var(--rr-font-body);
    color: var(--rr-charcoal);
}
body.fundedu-rules-review #left-area .entry-content > .eftc-section-nav { margin: 0 0 var(--rr-space-2xl); }

/* Prose: Glacial at 17px, charcoal, in a 60 to 70 character measure. Divi sets p to Inter in #666
   with a 1em pad; the global footer block sets p, li, a to Inter. Each is set here on the element.
   Every prose rule names the body's own blocks with a child combinator (> p, > ol, > h2), so nothing
   here reaches the hub section nav, which also sits inside .entry-content. */
body.fundedu-rules-review #left-area .entry-content > p,
body.fundedu-rules-review #left-area .entry-content > ol > li {
    max-width: var(--rr-measure);
    font-family: var(--rr-font-body);
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--rr-charcoal);
}
body.fundedu-rules-review #left-area .entry-content > p {
    margin: 0 0 var(--rr-space-md);
    padding: 0;
}
body.fundedu-rules-review #left-area .entry-content > p strong,
body.fundedu-rules-review #left-area .entry-content > ol strong {
    font-family: var(--rr-font-body);
    font-weight: 700;
}
body.fundedu-rules-review #left-area .entry-content > p span { font-family: inherit; }

/* Lists: markers outside, hanging in the gutter, so a long reading-list entry wraps under its own
   text. Divi's #left-area ol rule carries an id, so this one names #left-area too. The ol takes the
   prose size itself: its 55ch cap resolves in the ol's own font, and at Divi's inherited 14px that is
   431px, which held each li to about 43ch of its 17px text (Hallmark gate 25, round 1). At 17px the cap
   is 523px, the same as the prose, and each li is about 52ch after the marker gutter. */
body.fundedu-rules-review #left-area .entry-content > ol {
    max-width: var(--rr-measure);
    font-size: 1.0625rem;
    margin: 0 0 var(--rr-space-lg);
    padding: 0 0 0 var(--rr-space-lg);
    list-style-type: decimal;
    list-style-position: outside;
}
body.fundedu-rules-review #left-area .entry-content > ol > li { margin: 0 0 var(--rr-space-sm); padding: 0; }

/* ---------- Headings and section rhythm ----------
   Framing sections open on a 64px step. The question sections (an h2 whose next sibling is the
   one-strong "Status:" line) open on a 48px step over a navy hairline, so the questions read as
   one run, set apart from the framing around them (Hallmark gate 9, tell S-1). */
body.fundedu-rules-review #left-area .entry-content > h2 {
    max-width: var(--rr-heading-measure);
    margin: var(--rr-space-3xl) 0 var(--rr-space-md);
    padding: 0;
    font-family: var(--rr-font-heading);
    font-weight: 700;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.2;
    letter-spacing: normal;
    color: var(--rr-navy);
    overflow-wrap: anywhere;
    min-width: 0;
}
body.fundedu-rules-review #left-area .entry-content > h2:has(+ p > strong:only-child) {
    margin-top: var(--rr-space-2xl);
    padding-top: var(--rr-space-lg);
    border-top: 1px solid var(--rr-navy-25);
}

/* The status line under each question: Gilroy Bold in navy, so Settled, Proposed, Still open and
   Deferred read as a label, not as body text. */
body.fundedu-rules-review #left-area .entry-content > h2 + p:has(> strong:only-child) {
    margin: 0 0 var(--rr-space-md);
    font-family: var(--rr-font-heading);
    font-weight: 700;
    font-size: 1rem;
    color: var(--rr-navy);
}
body.fundedu-rules-review #left-area .entry-content > h2 + p:has(> strong:only-child) strong {
    font-family: var(--rr-font-heading);
}

/* ---------- Links: navy, underlined at rest, with hover, focus-visible and active states ----------
   Navy on white is 11.65:1. Divi's inline a, a:hover { text-decoration: none } and :focus
   { outline: 0 } are both out-ranked here. No transition: nothing on this page moves. */
body.fundedu-rules-review #left-area .entry-content > p a,
body.fundedu-rules-review #left-area .entry-content > ol a {
    font-family: var(--rr-font-body);
    color: var(--rr-navy);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}
body.fundedu-rules-review #left-area .entry-content > p a:hover,
body.fundedu-rules-review #left-area .entry-content > ol a:hover {
    color: var(--rr-navy-dark);
    text-decoration-thickness: 2px;
}
body.fundedu-rules-review #left-area .entry-content > p a:focus-visible,
body.fundedu-rules-review #left-area .entry-content > ol a:focus-visible {
    outline: 3px solid var(--rr-navy);
    outline-offset: 2px;
}
body.fundedu-rules-review #left-area .entry-content > p a:active,
body.fundedu-rules-review #left-area .entry-content > ol a:active {
    color: var(--rr-navy-dark);
    text-decoration-style: double;
}

/* ---------- Closing band: the "Talk with our team" paragraph on navy ----------
   The last paragraph of both bodies carries the one call to action (pinned by
   tests/test_rules_review_style.py). It closes the page on the same navy as the title band, so navy
   carries the page's mass at both ends (tell C-5). Focus is gold here: gold on navy is 5.32:1. */
body.fundedu-rules-review #left-area .entry-content > p:last-of-type {
    margin: var(--rr-space-3xl) 0 0;
    padding: var(--rr-space-xl) var(--rr-space-lg) var(--rr-space-2xl);
    background-color: var(--rr-navy);
    color: var(--rr-white);
    font-size: 1.125rem;
}
/* The link label never breaks: "Talk with our team" wrapped to two lines at 375 to 414 (Hallmark gate
   49, tell K-9, round 1). It needs about 153px; the band's text column is 240px at 320. */
body.fundedu-rules-review #left-area .entry-content > p:last-of-type a {
    color: var(--rr-white);
    font-family: var(--rr-font-heading);
    font-weight: 700;
    white-space: nowrap;
}
body.fundedu-rules-review #left-area .entry-content > p:last-of-type a:hover {
    color: var(--rr-white);
    text-decoration-thickness: 2px;
}
body.fundedu-rules-review #left-area .entry-content > p:last-of-type a:focus-visible {
    outline: 3px solid var(--rr-gold);
    outline-offset: 2px;
}
body.fundedu-rules-review #left-area .entry-content > p:last-of-type a:active {
    color: var(--rr-white);
    text-decoration-style: double;
}
