/*
  Block system for the inner pages (2–3 Nov 2026), matching the homepage.
  The logo is three square-cornered blocks in #194987. Inner pages use one navy hero (the lake's
  colour), text-only essay headers, square textured blocks in logo blue or ink, one button blue,
  one stone tint for soft bands, and one small action radius.
  Loaded after pages/site.css and pages/reports.css; those protected files are unchanged.
*/
.ip-site {
  --bb-navy: #13284a;
  --bb-block: #194987;
  --bb-block-hover: #12376a;
  --bb-ink: #121c3c;
  --bb-stone: #efede6;      /* the one soft band colour, from the paper family (replaces lavender) */
  --bb-stone-deep: #e6e3d9;
}

/* One hero for every inner page: flat navy, no per-topic gradient. */
.ip-site .ip-hero,
.ip-site .rp-hero { background: var(--bb-navy); }
.ip-site .ip-hero--light { color: #fffefa; }
.ip-site .ip-hero--light .ip-breadcrumb { color: #d1daed; }
.ip-site .ip-hero--light .ip-breadcrumb a:hover { color: #fff; }
.ip-site .ip-hero--light .ip-lede { color: #e2e8f2; }
.ip-site .ip-hero--light .ip-status { background: #ffffff14; color: #fff; }
.ip-site .ip-hero--light :focus-visible { outline-color: #fff; }
.ip-site .ip-hero .ip-button:not(.ip-button--quiet) { background: #fffefa; color: var(--bb-ink); }
.ip-site .ip-hero .ip-button:not(.ip-button--quiet):hover { background: #ebe8df; }
.ip-site .ip-hero::before,
.ip-site .rp-hero::before { opacity: .12; }

/* Essay headers are text only: no line diagrams or illustrations (reports_build.py no longer renders them). */
.ip-site .rp-hero-copy { max-width: 860px; }

/* Coloured cards and features become flat logo-blue blocks; callouts become ink blocks. */
.ip-site .ip-card:not(.ip-card--paper),
.ip-site .ip-feature {
  background:
    radial-gradient(105% 80% at 100% 0%, rgba(198, 194, 243, .17), transparent 62%),
    radial-gradient(90% 70% at 0% 100%, rgba(139, 183, 225, .12), transparent 66%),
    linear-gradient(168deg, #1b4d8e 0%, var(--bb-block) 48%, #143e77 100%);
}
.ip-site .ip-callout--blue {
  background:
    radial-gradient(105% 80% at 100% 0%, rgba(198, 194, 243, .13), transparent 62%),
    radial-gradient(90% 70% at 0% 100%, rgba(139, 183, 225, .08), transparent 66%),
    linear-gradient(168deg, #1a2652 0%, var(--bb-ink) 52%, #0d1530 100%);
}
.ip-site .ip-card:not(.ip-card--paper)::before,
.ip-site .ip-feature::before,
.ip-site .ip-callout--blue::before { opacity: .36; }

/* Square corners on every panel. */
.ip-site .ip-card,
.ip-site .ip-feature,
.ip-site .ip-feature-aside,
.ip-site .ip-stat,
.ip-site .ip-topic,
.ip-site .ip-callout,
.ip-site .ip-details,
.ip-site .ip-inquiry { border-radius: 0; }

/* One small radius for actions and tags; the primary action uses the logo blue. */
.ip-site .ip-button,
.ip-site .ip-status,
.ip-site .ip-section-nav a,
.ip-site .v2-site-header__nav a,
.ip-site .v2-site-header__cta,
.ip-site .v2-site-header__menu { border-radius: 3px; }
.ip-site .v2-site-header__cta { background: var(--bb-block); }
.ip-site .v2-site-header__cta:hover { background: var(--bb-block-hover); }

/* One button blue: the logo blue. Quiet buttons are outlines, like the logo's empty quadrant. */
.ip-site .ip-button { background: var(--bb-block); }
.ip-site .ip-button:hover { background: var(--bb-block-hover); }
.ip-site .ip-button--light { background: #fffefa; color: var(--bb-ink); }
.ip-site .ip-button--light:hover { background: #ebe8df; }
.ip-site .ip-button--quiet,
.ip-site .ip-prose .ip-button--quiet { background: transparent; box-shadow: inset 0 0 0 1px rgba(25, 73, 135, .38); color: var(--bb-block); }
.ip-site .ip-button--quiet:hover { background: rgba(25, 73, 135, .05); }

/* One soft band colour. The lavender washes and the per-topic tints become stone,
   and every essay's accent becomes the logo blue. */
.ip-site.ip-site--report,
.ip-site.ip-site--research { --rp-accent: var(--bb-block); --rp-wash: var(--bb-stone); }
.ip-site .ip-section--soft,
.ip-site .ip-topic--blue,
.ip-site .ip-topic--green,
.ip-site .ip-topic--teal,
.ip-site .rp-next { background: var(--bb-stone); }
.ip-site .ip-card--paper .ip-status,
.ip-site .ip-section-nav a,
.ip-site .v2-site-header__nav [aria-current=page],
.ip-site .v2-site-header__nav a:hover,
.ip-site .v2-site-header__menu,
.ip-site .rp-prose code { background: var(--bb-stone); }
.ip-site .ip-section-nav a:hover,
.ip-site .rp-cite:target { background: var(--bb-stone-deep); }
/* Base status pills on paper only; pills on navy heroes and blue blocks keep their translucent white. */
.ip-status { background: var(--bb-stone); color: #3c4a63; }

/* The closing enquiry is not boxed: a hairline above it, then the same two-column grid as the
   sections before it (3 Nov 2026 de-slop pass: no boxes on boxes). */
.ip-site .ip-inquiry { padding: 48px 0 0; background: transparent; box-shadow: none; border-top: 1px solid rgba(18, 28, 60, .14); }

/*
  De-slop pass (3 Nov 2026). Kickers above headings and status pills inside cards are gone from the
  page sources, so cards start with their title. Status is said once, in each hero's lede.
*/
.ip-site .ip-card > h2:first-child,
.ip-site .ip-card > h3:first-child { margin-top: 0; }
.ip-site .ip-product { min-height: 300px; }

/* A checklist reads as a list on hairlines, not as floating lines of grey text. */
.ip-site .ip-prose .ip-checklist { margin: 20px 0 0; padding-left: 0; border-bottom: 1px solid rgba(18, 28, 60, .14); }
.ip-site .ip-prose .ip-checklist li { margin: 0; padding: 13px 0; border-top: 1px solid rgba(18, 28, 60, .14); }
.ip-site .ip-prose .ip-checklist + p { margin-top: 18px; }

/* The closing callout sits on the paper, not inside a second tinted band. */
.ip-site .ip-section--closing { padding-top: 0; }

@media (max-width: 760px) {
  .ip-site .ip-product { min-height: 0; }
  .ip-site .ip-card .ip-card-actions { padding-top: 22px; }
}
@media (max-width: 480px) {
  .ip-site .ip-inquiry { padding: 36px 0 0; }
}

/* Keeps a hyphenated compound together so a balanced headline does not leave one word behind. */
.ip-nowrap { white-space: nowrap; }
