/* pp-education.css -- R4 step 10 CANDIDATE: the Education Library surface's
   own scoped layer (hub page 54 + the eleven /education/{slug}/ guides).

   CONTRACT (identical to pp-site-scoped.css / pp-catalogue.css / pp-product.css):
   - Every selector list begins with .pp-site. Zero :root, zero bare body/html,
     zero bare element or universal selectors, zero @keyframes, zero @import.
     Nothing in this file can match outside a .pp-site subtree.
   - Loading: education lane only (pp-redesign-education.php), after
     pp-tokens -> pp-site-scoped -> pp-compat. Never the shell, homepage,
     catalogue, single product, cart, checkout, or the specimen.
   - This file NEVER modifies pp-site-scoped.css, pp-compat.css, pp-header.css,
     pp-catalogue.css, pp-product.css, pp-cart.css, pp-checkout.css or
     custom_css post 27. It adds one lane-scoped layer and nothing else.
   - Zero commerce selectors. No add-to-cart, buy-block, gateway, price,
     quantity, notice-banner or Store API class is selected anywhere in this
     file. A4 is not touched and not discharged.

   COMPONENT REUSE, recorded row by row rather than forked (project rule:
   "one component defined once and reused, never forked per surface").
   The long-form families below are copied VERBATIM from the already-applied
   Step-7 sheet uploads/pp-redesign/css/pp-product.css -- same class names,
   same declarations, same values -- because a research guide's section,
   identifier table, reference list, citation, closer, related list and
   support band ARE the same components as a product page's. Lane sheets
   cannot import one another, so the values are restated here; the class
   names are NOT renamed, so a Step-13 consolidation into one shared
   long-form sheet is a pure file move with zero markup change.

     .pp-page-top                 <- pp-catalogue.css s1 (padding-block-start:0)
     .pp-product-section (+ h2/h3/p/li/ul/a/strong/em)   <- pp-product.css
     .pp-product-section-label    <- pp-product.css
     .pp-product-facts            <- pp-product.css
     .pp-document-status          <- pp-product.css
     .pp-scopeflag                <- pp-product.css
     .pp-evidence / .pp-cite      <- pp-product.css
     .pp-closer                   <- pp-product.css
     .pp-refs / .pp-pmid          <- pp-product.css
     .pp-product-related          <- pp-product.css
     .pp-product-support (+ a)    <- pp-product.css
     a.pp-whatsapp-link (+ __icon/__label)   <- pp-product.css
     a.pp-text-link / a.pp-button <- pp-product.css

   THE NAMING WART IS RECORDED, NOT SILENTLY FIXED: .pp-product-section on a
   research guide reads oddly. It is a Step-7 naming legacy, not a semantic
   claim, and renaming it here would fork the component across two surfaces
   for a cosmetic gain. Routed to Step 13 as one sitewide rename.

   NEW EDUCATION-ONLY FAMILIES (PP-EXT rows, each with its derivation):
     .pp-library-page  .pp-lib  .pp-lib-foot  .pp-lib-head  .pp-lib-dek
     .pp-crumbs  .pp-lib-hero  .pp-lib-intro  .pp-lib-orient
     .pp-lib-cards  .pp-lib-card  .pp-qa  .pp-gloss
     .pp-lib-updated  .pp-lib-ruo

   LEGACY COLLISION: deliberately ZERO. The legacy post-27 education layers
   own the .pp-education-* (24 selectors), .pp-edu-* (14) and .pp-eduhub-*
   (4) families. This file uses .pp-lib-* / .pp-library-* and shares no class
   token with any of them, so the PP-EDU-PASS marker layer can be retired at
   R5 without touching one rule here.

   Briefs: copy/redraft-2026-08-08/education-architecture-spec.md ss5-10;
           redesign/build/step-10/STEP-10-PACKET.md. */

/* ============ 1. PAGE SHELL ============ */
/* Top clearance is the shared .pp-pill-clearance band rendered by template
   part 79 and sized by pp-header.css (150px / 104px). Declared at 0 here so
   the decision is visible in the cascade rather than implied, exactly as
   pp-catalogue.css departure 1 records it. */
.pp-site .pp-library-page{background:var(--pp-surface-page)}
.pp-site .pp-page-top{padding-block-start:0}
.pp-site .pp-lib{padding-block-end:0}
.pp-site .pp-lib-foot{padding-block:0 96px}

/* ============ 2. BREADCRUMB (PP-EXT E-1) ============ */
/* Register borrowed from the concept's .pp-tile__data mono caption (SRC 103):
   IBM Plex Mono 11.5px, --pp-text-muted. Separator is a CSS ::before on
   li+li so no glyph sits in the accessible name of any link. */
.pp-site .pp-crumbs{margin:0 0 26px}
.pp-site .pp-crumbs ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin:0;padding:0;list-style:none}
/* PP-FIX B8 (2026-08-29): one crumb register site-wide -- Archivo 12px,
   sentence case, "›" separators (was mono 11.5px with "/" here). */
.pp-site .pp-crumbs li{margin:0;font-family:var(--pp-font-sans);font-size:12px;font-weight:500;line-height:1.5;color:var(--pp-text-muted)}
.pp-site .pp-crumbs li+li::before{content:'\203A';display:inline-block;padding:0 8px;color:var(--pp-text-subtle)}
.pp-site .pp-crumbs a{color:var(--pp-text-muted);border-bottom:1px solid transparent}
.pp-site .pp-crumbs a:hover{color:var(--pp-blue-600);border-bottom-color:var(--pp-blue-200)}
.pp-site .pp-crumbs [aria-current="page"]{color:var(--pp-text-heading)}

/* ============ 3. PAGE HEAD (PP-EXT E-2) ============ */
/* H1 register is the shared .pp-display--sm. The dek interval reuses the
   catalogue's own page-top lede interval (pp-catalogue.css PP-EXT C-6,
   margin-top:26px, itself promoted from the concept's shop.html line 34);
   the dek measure is the 04 s2g hero measure 620px, restated because
   .pp-lede--wide caps at 560px and a guide dek is a full sentence longer. */
.pp-site .pp-lib-head{padding-block-end:0}
.pp-site .pp-lib-head .pp-kicker{display:block}
.pp-site .pp-lib-head .pp-display--sm{margin-top:20px;max-width:900px}
.pp-site .pp-lib-dek{margin-top:26px;max-width:620px;font-size:16px;line-height:1.7;color:var(--pp-text-body)}

/* ============ 4. HUB HERO (PP-EXT E-3) ============ */
/* Two-column copy/illustration frame. Column ratio and gap are the concept's
   own .pp-proof panel geometry (SRC 118: 1.1fr .9fr, gap 70px), reused so the
   hub's only two-column composition matches the system's existing one. The
   illustration is the EXISTING official page-54 asset: src, srcset, sizes,
   alt, width and height are carried byte-identical (spec s5, "must survive
   untouched"). No new image is introduced anywhere in this build. */
.pp-site .pp-lib-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-block-start:0}
.pp-site .pp-lib-hero__copy{min-width:0}
.pp-site .pp-lib-hero__art{margin:0;min-width:0}
.pp-site .pp-lib-hero__art img{display:block;width:100%;height:auto}

/* ============ 5. HUB INTRO (PP-EXT E-4) ============ */
/* The 04 s2a prose measure (640px) and the concept's 22px heading->body
   interval (SRC 120). The third paragraph is the sanctioned verbatim scope
   line and carries the callout register from .pp-ledger__item--callout
   (2px --pp-blue-500 top border + --pp-surface-accent-soft tint,
   pp-site-scoped.css Direction 05 s7.4) so it reads as a standing constraint
   rather than as a closing remark. */
.pp-site .pp-lib-intro{max-width:640px;margin-top:70px}
.pp-site .pp-lib-intro p{margin-top:22px;font-size:15px;line-height:1.7;color:var(--pp-text-body)}
.pp-site .pp-lib-intro p:first-child{margin-top:0}
.pp-site .pp-lib-intro .pp-lib-scope{margin-top:26px;padding:18px 20px 22px;border-top:2px solid var(--pp-blue-500);background:var(--pp-surface-accent-soft);color:var(--pp-navy-700)}
.pp-site .pp-lib-intro .pp-lib-scope strong{color:var(--pp-navy-700);font-weight:600}

/* ============ 6. ORIENTATION STRIP (PP-EXT E-5) ============ */
/* Four-up index. Numeral register = the concept's mono caption (SRC 103)
   at the label tracking token; label register = the 04 s2a H3 (17px Archivo
   600, the same value .pp-ledger__lead ships); body = the 15px/1.7 prose
   register. Hairline top/bottom rules replace the legacy tinted band: the
   concept has no tinted panels outside .pp-proof, and a second background
   colour on the hub would introduce a surface the system does not have. */
.pp-site .pp-lib-orient{margin-top:70px;padding-block:34px;border-top:1px solid var(--pp-border-subtle);border-bottom:1px solid var(--pp-border-subtle)}
.pp-site .pp-lib-orient__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin:0;padding:0;list-style:none}
.pp-site .pp-lib-orient__grid>li{margin:0;min-width:0}
.pp-site .pp-lib-orient__n{display:block;font-family:var(--pp-font-mono);font-size:11.5px;letter-spacing:var(--pp-ls-label);font-weight:500;color:var(--pp-text-accent)}
.pp-site .pp-lib-orient__t{display:block;margin-top:10px;font-family:var(--pp-font-sans);font-size:17px;line-height:1.4;font-weight:600;color:var(--pp-text-heading)}
.pp-site .pp-lib-orient p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--pp-text-body)}

/* ============ 7. GUIDE CARDS (PP-EXT E-6) ============ */
/* Explicit column counts, not auto-fill -- the same owner decision recorded
   as pp-catalogue.css departure 2, applied for the same reason (the column
   count must not be a function of scrollbar presence). Gap 26px is the
   concept's own grid gap (SRC 98). The card is a hairline record row rather
   than a lifted tile: the .pp-tile component is the product component and
   carries an image plate, which a text guide has no content for; forking
   .pp-tile into an image-less variant would put two definitions of one
   component in the system. Hairline + hover accent is the .pp-ledger__item
   idiom (pp-site-scoped.css) promoted to a linked card.
   THE WHOLE CARD IS A REAL <a href> IN THE SERVER-RENDERED HTML (spec s10.1).
   No client-side link materialisation exists anywhere in this build. */
.pp-site .pp-lib-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin:26px 0 0;padding:0;list-style:none}
.pp-site .pp-lib-cards>li{margin:0;min-width:0;max-width:none;padding:0;border:0;background:none}
.pp-site .pp-lib-card{display:flex;flex-direction:column;height:100%;padding:26px 28px 28px;border:1px solid var(--pp-border-subtle);border-radius:var(--pp-radius-sm);background:var(--pp-surface-page);transition:box-shadow var(--pp-dur-slow) var(--pp-ease-out),transform var(--pp-dur-slow) var(--pp-ease-out),border-color var(--pp-dur-fast) var(--pp-ease)}
.pp-site .pp-lib-card:hover{border-color:var(--pp-border-default);box-shadow:var(--pp-shadow-lift);transform:translateY(-4px);color:inherit}
.pp-site .pp-lib-card__t{margin:0;font-family:var(--pp-font-display);font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--pp-text-heading)}
.pp-site .pp-lib-card:hover .pp-lib-card__t{color:var(--pp-blue-600)}
.pp-site .pp-lib-card__d{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--pp-text-body)}
.pp-site .pp-lib-card__go{margin:20px 0 0;font-family:var(--pp-font-mono);font-size:11.5px;letter-spacing:var(--pp-ls-label);text-transform:uppercase;color:var(--pp-text-accent)}

/* ============ 8. LONG-FORM SECTION (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-product-section{margin:0;padding:96px 0 0;border-top:0}
.pp-site .pp-product-section:first-of-type{padding-top:70px}
.pp-site .pp-product-section-label{margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid var(--pp-border-subtle);font-family:var(--pp-font-mono);font-size:11.5px;letter-spacing:var(--pp-ls-label);text-transform:uppercase;font-weight:500;color:var(--pp-text-accent)}
.pp-site .pp-product-section h2{margin:0 0 26px;max-width:760px;font-family:var(--pp-font-display);font-size:34px;font-weight:600;letter-spacing:-.035em;line-height:1.14;color:var(--pp-text-heading)}
.pp-site .pp-product-section h3{margin:40px 0 0;font-family:var(--pp-font-sans);font-size:17px;font-weight:600;letter-spacing:0;line-height:1.4;color:var(--pp-text-heading)}
.pp-site .pp-product-section p,
.pp-site .pp-product-section li{max-width:640px;font-family:var(--pp-font-sans);font-size:15px;line-height:1.7;color:var(--pp-text-body)}
.pp-site .pp-product-section p{margin:22px 0 0}
.pp-site .pp-product-section h3+p{margin-top:14px}
.pp-site .pp-product-section strong{color:var(--pp-text-heading);font-weight:600}
.pp-site .pp-product-section em{font-style:italic}
.pp-site .pp-product-section a{color:var(--pp-text-accent);border-bottom:1px solid var(--pp-blue-200);transition:border-color var(--pp-dur-fast) var(--pp-ease),color var(--pp-dur-fast) var(--pp-ease)}
.pp-site .pp-product-section a:hover{color:var(--pp-blue-700);border-bottom-color:var(--pp-blue-500)}
.pp-site .pp-product-section ul{margin:22px 0 0;padding-left:20px;list-style:disc}
.pp-site .pp-product-section ol{margin:22px 0 0;padding-left:20px;list-style:decimal}
.pp-site .pp-product-section li{margin-top:10px}

/* ============ 9. IDENTIFIER TABLE (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-product-facts{display:grid;grid-template-columns:1fr auto;gap:0;margin:0;padding:0;overflow:visible;border:0;border-top:1px solid var(--pp-border-subtle);border-radius:0;background:none}
.pp-site .pp-product-facts dt,
.pp-site .pp-product-facts dd{margin:0;padding:14px 0;border-bottom:1px solid var(--pp-border-subtle);background:none;font-family:var(--pp-font-mono);font-size:13px;line-height:1.5;font-weight:400}
.pp-site .pp-product-facts dt{color:var(--pp-text-subtle)}
.pp-site .pp-product-facts dd{padding-left:var(--pp-space-6);text-align:right;color:var(--pp-text-heading)}
.pp-site .pp-product-facts dd a{color:var(--pp-text-accent);border-bottom:1px solid var(--pp-blue-200)}
.pp-site .pp-product-facts dd a:hover{color:var(--pp-blue-700);border-bottom-color:var(--pp-blue-500)}

/* ============ 10. SCOPE FLAG + DOCUMENT STATUS (verbatim reuse) ============ */
.pp-site .pp-scopeflag{margin:0 0 26px;padding:20px 22px;border:1px solid var(--pp-border-default);border-radius:var(--pp-radius-sm);background:var(--pp-surface-page)}
.pp-site .pp-scopeflag strong{display:block;font-family:var(--pp-font-sans);font-size:15px;line-height:1.5;color:var(--pp-text-heading)}
.pp-site .pp-scopeflag p{margin-top:10px;max-width:600px}
.pp-site .pp-document-status{margin:0;padding:34px;border:1px solid var(--pp-border-subtle);border-left:2px solid var(--pp-blue-500);border-radius:var(--pp-radius-sm);background:var(--pp-neutral-50)}
.pp-site .pp-document-status p{max-width:600px}
.pp-site .pp-document-status p:first-of-type{margin-top:0}
.pp-site .pp-document-status strong{color:var(--pp-text-heading);font-size:inherit}

/* ============ 11. COVERAGE TABLE (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-evidence{width:100%;margin:26px 0 0;border-collapse:collapse;font-family:var(--pp-font-sans)}
.pp-site .pp-evidence caption{margin:0 0 22px;max-width:640px;text-align:left;font-size:13px;line-height:1.6;color:var(--pp-text-muted)}
.pp-site .pp-evidence th{text-align:left;font-family:var(--pp-font-sans);font-size:11px;letter-spacing:var(--pp-ls-label);text-transform:uppercase;font-weight:600;color:var(--pp-text-muted);padding:0 var(--pp-space-6) 16px 0;border-bottom:1px solid var(--pp-navy-700);vertical-align:bottom}
.pp-site .pp-evidence tbody th{font-size:15px;letter-spacing:0;text-transform:none;color:var(--pp-text-heading);padding:22px var(--pp-space-6) 22px 0;border-bottom:1px solid var(--pp-border-subtle);vertical-align:top;max-width:220px}
.pp-site .pp-evidence td{padding:22px var(--pp-space-6) 22px 0;border-bottom:1px solid var(--pp-border-subtle);vertical-align:top;font-size:14px;line-height:1.6;color:var(--pp-text-body);max-width:none}
.pp-site .pp-evidence td:last-child,
.pp-site .pp-evidence th:last-child{padding-right:0}
.pp-site .pp-evidence td a{color:var(--pp-text-accent);border-bottom:1px solid var(--pp-blue-200)}
.pp-site .pp-evidence td a:hover{color:var(--pp-blue-700);border-bottom-color:var(--pp-blue-500)}
.pp-site .pp-cite{display:block;margin-top:8px;font-family:var(--pp-font-mono);font-size:11.5px;line-height:1.5;color:var(--pp-text-muted)}

/* ============ 12. CLOSER (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-closer{margin:44px 0 0;padding:26px 28px;border:1px solid var(--pp-border-subtle);border-radius:var(--pp-radius-sm);background:var(--pp-neutral-50)}
.pp-site .pp-closer p{max-width:620px;color:var(--pp-navy-700)}
.pp-site .pp-closer p:first-child{margin-top:0}
.pp-site .pp-closer strong{color:var(--pp-navy-700)}

/* ============ 13. COMMON QUESTIONS (PP-EXT E-7) ============ */
/* Open h3 + p, NOT <details>/<summary>. Decision D10-6: the library's whole
   proposition is that a passage can be lifted whole and checked, and the
   terminology guide carries a binding build note against collapsed content
   for exactly that reason. A guide already three thousand words long saves
   no meaningful height by hiding its answers behind a click, and an open
   answer is one fewer interaction between a reader and a fact. The hairline
   row rhythm is the .pp-ledger__item idiom at the section's own intervals. */
.pp-site .pp-qa{margin:0;border-top:1px solid var(--pp-border-subtle)}
.pp-site .pp-qa>div{padding:26px 0;border-bottom:1px solid var(--pp-border-subtle)}
.pp-site .pp-qa h3{margin:0;font-family:var(--pp-font-sans);font-size:17px;line-height:1.4;font-weight:600;color:var(--pp-text-heading)}
.pp-site .pp-qa p{margin-top:12px}

/* ============ 14. GLOSSARY (PP-EXT E-8) ============ */
/* Terminology page only. Each term is its own short block with a bolded
   lead, per that draft's binding build note. Two columns from 1101px so a
   long definitional list does not become one 4,000px ribbon; the column
   rule is a hairline, not a tint. */
.pp-site .pp-gloss{margin:26px 0 0;padding:0;list-style:none}
.pp-site .pp-gloss>div{margin:0;padding:22px 0;border-bottom:1px solid var(--pp-border-subtle)}
.pp-site .pp-gloss dt{margin:0;font-family:var(--pp-font-sans);font-size:15px;line-height:1.5;font-weight:600;letter-spacing:.01em;color:var(--pp-text-heading)}
.pp-site .pp-gloss dd{margin:8px 0 0;max-width:600px;font-family:var(--pp-font-sans);font-size:15px;line-height:1.7;color:var(--pp-text-body)}
.pp-site .pp-gloss dd a{color:var(--pp-text-accent);border-bottom:1px solid var(--pp-blue-200)}
.pp-site .pp-gloss dd a:hover{color:var(--pp-blue-700);border-bottom-color:var(--pp-blue-500)}
.pp-site .pp-gloss dd em{font-style:italic}

/* ============ 15. REFERENCES (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-refs{margin:22px 0 0;padding:0;list-style:none;counter-reset:pp-ref;border-top:1px solid var(--pp-border-subtle)}
.pp-site .pp-refs li{counter-increment:pp-ref;position:relative;margin:0;padding:18px 0 18px 38px;border-bottom:1px solid var(--pp-border-subtle);max-width:none;font-size:14px;line-height:1.65}
.pp-site .pp-refs li::before{content:counter(pp-ref);position:absolute;left:0;top:18px;font-family:var(--pp-font-mono);font-size:12px;color:var(--pp-text-subtle)}
.pp-site .pp-pmid{font-family:var(--pp-font-mono);font-size:12px;color:var(--pp-text-muted);white-space:nowrap}

/* ============ 16. RELATED (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-product-related{display:block;margin:0;padding:0;list-style:none;border-top:1px solid var(--pp-border-subtle)}
.pp-site .pp-product-related li{position:static;min-width:0;max-width:none;margin:0;padding:22px 0;border:0;border-bottom:1px solid var(--pp-border-subtle);border-radius:0;background:none;box-shadow:none;transform:none;transition:none;font-family:var(--pp-font-sans);font-size:14px;line-height:1.6;color:var(--pp-text-muted)}
.pp-site .pp-product-related li a{display:inline;margin:0;padding:0;border:0;border-bottom:1px solid var(--pp-border-default);font-family:var(--pp-font-display);font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--pp-text-heading);text-decoration:none}
.pp-site .pp-product-related li a:hover{color:var(--pp-blue-600);border-bottom-color:var(--pp-blue-500)}

/* ============ 17. SUPPORT BAND (verbatim reuse, pp-product.css) ============ */
.pp-site .pp-product-support{display:flex;align-items:center;justify-content:space-between;gap:44px;margin:0;padding:56px;border-radius:var(--pp-radius-md);color:var(--pp-text-on-dark);background:var(--pp-surface-inverse)}
.pp-site .pp-product-support h2{margin:0;max-width:520px;font-size:30px;letter-spacing:-.035em;color:var(--pp-text-on-dark)}
.pp-site .pp-product-support p{margin:20px 0 0;max-width:520px;font-size:15px;line-height:1.8;color:var(--pp-text-on-dark-muted)}
.pp-site .pp-product-support__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;flex:0 0 auto}
.pp-site .pp-product-support a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border:1px solid var(--pp-border-inverse);border-radius:var(--pp-radius-pill);background:transparent;font-family:var(--pp-font-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--pp-text-on-dark);text-decoration:none;transition:background var(--pp-dur-fast) var(--pp-ease),border-color var(--pp-dur-fast) var(--pp-ease)}
.pp-site .pp-product-support a:hover{border-color:var(--pp-blue-400);background:rgba(255,255,255,.08)}
.pp-site a.pp-whatsapp-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1px solid transparent;border-radius:var(--pp-radius-pill);background:var(--pp-blue-600);box-shadow:none;transform:none;font-family:var(--pp-font-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--pp-text-on-dark)}
.pp-site a.pp-whatsapp-link:hover{border-color:transparent;background:var(--pp-blue-500);box-shadow:none;transform:none;color:var(--pp-text-on-dark)}
.pp-site .pp-whatsapp-link__icon{display:inline-flex;width:17px;height:17px}
.pp-site .pp-whatsapp-link__icon svg{width:17px;height:17px;fill:currentColor}
.pp-site .pp-whatsapp-link__label{display:inline}

/* ============ 18. FOOT (PP-EXT E-9) ============ */
/* The research-use notice reuses the concept's .pp-notice register (SRC 176)
   at the hero-corrected colour (--pp-text-body, pp-site-scoped.css row 103:
   the muted register measured 4.32:1 and the body token 7.06:1).
   .pp-lib-updated is MACHINE-DERIVED: it is appended to the_content by the
   education lane from post_modified and exists in no page body. Register is
   the mono caption (SRC 103). */
.pp-site .pp-lib-ruo{margin:44px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;line-height:1.45;color:var(--pp-text-body)}
.pp-site .pp-lib-updated{margin:0;padding-top:26px;font-family:var(--pp-font-mono);font-size:11.5px;line-height:1.5;color:var(--pp-text-muted)}

/* ============ 19. RESPONSIVE (the system's own axes: 1100/860/700/380) ============ */
@media (max-width:1100px){
  .pp-site .pp-lib-hero{grid-template-columns:1fr;gap:44px}
  .pp-site .pp-lib-orient__grid{grid-template-columns:repeat(2,1fr);gap:34px}
  .pp-site .pp-product-support{gap:34px;padding:44px}
}
@media (max-width:860px){
  .pp-site .pp-product-section h2{font-size:30px}
  .pp-site .pp-lib-cards{grid-template-columns:1fr}
  .pp-site .pp-product-support h2{font-size:27px}
  .pp-site .pp-lib-head .pp-display--sm{max-width:none}
}
@media (max-width:700px){
  .pp-site .pp-product-section{padding-top:70px}
  .pp-site .pp-product-section:first-of-type{padding-top:48px}
  .pp-site .pp-product-section h2{font-size:27px}
  .pp-site .pp-product-section h3{margin-top:30px}
  .pp-site .pp-product-section-label{margin-bottom:14px;padding-bottom:12px;font-size:11px}
  .pp-site .pp-lib-foot{padding-block-end:70px}
  .pp-site .pp-lib-intro{margin-top:48px}
  .pp-site .pp-lib-orient{margin-top:48px;padding-block:26px}
  .pp-site .pp-lib-orient__grid{grid-template-columns:1fr;gap:24px}
  .pp-site .pp-lib-cards{gap:14px}
  .pp-site .pp-lib-card{padding:22px}
  .pp-site .pp-lib-card__t{font-size:19px}
  .pp-site .pp-lib-dek,
  .pp-site .pp-product-section p,
  .pp-site .pp-product-section li{max-width:none}
  .pp-site .pp-product-facts{grid-template-columns:1fr}
  .pp-site .pp-product-facts dt{padding:14px 0 0;border-bottom:0;font-size:12px}
  .pp-site .pp-product-facts dd{padding:4px 0 14px;text-align:left;font-size:13px}
  .pp-site .pp-document-status{padding:24px}
  .pp-site .pp-scopeflag{padding:18px}
  .pp-site .pp-closer{padding:22px}
  .pp-site .pp-product-support{display:block;padding:34px 26px}
  .pp-site .pp-product-support h2{font-size:24px}
  .pp-site .pp-product-support__actions{margin-top:28px}
  .pp-site .pp-product-support a,
  .pp-site a.pp-whatsapp-link{width:100%}
  .pp-site .pp-product-related li a{font-size:16px}
  .pp-site .pp-evidence,
  .pp-site .pp-evidence tbody,
  .pp-site .pp-evidence tr,
  .pp-site .pp-evidence td,
  .pp-site .pp-evidence tbody th{display:block;width:auto;max-width:none}
  .pp-site .pp-evidence thead{display:none}
  .pp-site .pp-evidence tr{padding:22px 0;border-bottom:1px solid var(--pp-border-subtle)}
  .pp-site .pp-evidence tbody th{padding:0 0 14px;border-bottom:0;font-size:16px}
  .pp-site .pp-evidence td{padding:0;border-bottom:0}
  .pp-site .pp-evidence td+td{margin-top:12px}
  .pp-site .pp-evidence td::before{content:attr(data-label);display:block;margin-bottom:4px;font-family:var(--pp-font-sans);font-size:11px;letter-spacing:var(--pp-ls-label);text-transform:uppercase;font-weight:600;color:var(--pp-text-muted)}
}
@media (max-width:380px){
  .pp-site .pp-product-section h2{font-size:24px}
  .pp-site .pp-product-support{padding:26px 20px}
  .pp-site .pp-document-status,
  .pp-site .pp-scopeflag{padding:20px}
  .pp-site .pp-lib-card,
  .pp-site .pp-lib-card__t,
  .pp-site .pp-product-section a,
  .pp-site .pp-crumbs a{transition:none}
}
