/**
 * Page: Privacy Policy  (PG7)  —  patterns/gg-privacy.php
 *
 * PAGE-ONLY partial (glob-enqueued, handle kd-pattern-gg-privacy). Namespace
 * .kd-privacy*. LAYOUT-ONLY — no colour/type overrides on the heading (theme.json's
 * H2 already renders Public Sans Medium 30/46 #900000, an EXACT match to the node's
 * font-medium/text-[30px]/leading-[46px]/text-[#900000], zero override needed). The
 * body paragraph is likewise near-default (root type = Inter 16, line-height 1.5 =
 * 24px, black) — restated explicitly below for clarity/robustness (same convention
 * as split-square.css), plus the measure cap + rhythm this page needs. Zero
 * shared-file edits.
 *
 * Design source (file g3BMymX7x188yz0AGwEMkL, frame 2014:92 desktop / 2020:416
 * mobile mock):
 *   • Prose wrapper 2014:119 — flex column, gap 40px between the 7 sections,
 *     inline padding 112px (the content-column gutter — already free: .kd-privacy
 *     is a plain, non-alignfull .entry-content child, so it inherits the max-width +
 *     centring the page template's wp:post-content{"layout":"constrained"} already
 *     gives every such child; the top/bottom 100px of that padding is ALSO already
 *     free — see the top/bottom-rhythm note below). Nothing to build here but the
 *     40px inter-section gap.
 *   • Each section (e.g. 2014:200) — flex column, gap 16px between its <h2> and <p>.
 *   • Body <p> (e.g. 2014:202) — Inter Regular 16/24 black, width 800px, LEFT-aligned
 *     (the row simply doesn't fill the 1216/1440 content column — no centring to
 *     undo; a block-level element with a max-width and no auto side-margins sits
 *     flush-left by default, which is exactly what a plain margin:0 gives it here).
 *
 * ⚠️ MEASURE DECISION TO FLAG (designer/Alain): the theme's reading-measure token
 * --kd-measure (tokens.css) is 640px/40rem, used by split-square's
 * .kd-mediasplit__body. This design's own prose column draws at node-verified
 * **800px** (2014:202 w-[800px], and 5 more sibling nodes at the same width). Built
 * to the DESIGN (800px) below as a commented one-off, NOT --kd-measure — flagging
 * for confirmation: keep the tighter 640 for prose readability, or standardize
 * prose at 800? If 800 is confirmed as the prose standard it's a
 * --kd-measure-prose token candidate (Foundation follow-up; NOT added to tokens.css
 * from this page build — pattern/page work is read-only on shared tokens).
 *
 * TOP/BOTTOM RHYTHM — deliberately NOT set here: .kd-privacy is the second (and
 * only other) .entry-content child after the banner, so the existing owl selector
 * (.entry-content > * + *, global.css) already gives it margin-block-start:
 * --kd-section-gap (100px ≥768 / 64px <768) automatically — that's the banner→
 * Overview gap. The .entry-content padding-block-end (also global, same token)
 * already gives the last-section→footer gap. Adding padding-block here would
 * DOUBLE both gaps — intentionally omitted.
 *
 * Every value below is a --kd-* token except the commented one-off 800px measure
 * (no token exists yet — see the flag above). Square (inherited; no radius on
 * plain text).
 */

.kd-privacy {
	width: 100%;
}

/* ── Inter-section rhythm — 40px (node 2014:119 gap-[40px], exact match to
   --kd-space-lg). Margin-based (not blockGap), mirrors split-square.css's
   convention: first section gets no top margin, each following section gets
   one gap. */
.kd-privacy__section {
	margin-block: 0;
}

.kd-privacy__section + .kd-privacy__section {
	margin-top: var(--kd-space-lg); /* 40px — 2014:119 gap-40 */
}

/* Reset default block margins inside a section; rhythm is set explicitly below. */
.kd-privacy__section > * {
	margin-block: 0;
}

/* ── Heading → body — 16px (node 2014:200 gap-[16px]). Colour/size/weight are
   NOT set here — theme.json's global H2 element style already matches the node
   exactly (Public Sans Medium 30/46, #900000). */
.kd-privacy__heading {
	margin-block-end: var(--kd-space-sm); /* 16px heading → body — logical longhand to match the .kd-privacy__section > * { margin-block:0 } reset (mirrors divider-list.css); a physical margin-bottom would be a same-specificity tie that could silently collapse on a reset/reorder */
}

/* ── Body — Inter 16/24 black (matches root default; restated for clarity) +
   the page-only 800px measure cap, flush-left (no auto margin). Fluid below the
   cap: at ≤1024-ish content widths the column is already narrower than 800px, so
   this only visibly binds at wide desktop — matching the node's empty right
   gutter inside the 1216/1440 content column. No media-query override needed. */
.kd-privacy__body {
	font-size: var(--kd-size-body); /* 16px */
	line-height: var(--kd-lh-body); /* 1.5 → 24px */
	color: var(--kd-color-body);
	max-width: 800px; /* ONE-OFF — node-verified prose width (2014:202 + siblings); NOT --kd-measure (640). See the measure flag above. */
	margin: 0;
}
