/*
Theme Name: School X
Theme URI: https://schoolx.ng
Description: A mobile-first reference theme for Nigerian examination content. Built for information density, verified-fact presentation and Core Web Vitals on mid-range Android over 4G.
Author: School X
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Template: twentytwentyfive
Text Domain: schoolx
Tags: blog, education, block-theme, full-site-editing
*/

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --sx-ink:#0A1410; --sx-ink2:#3E4F48; --sx-ink3:#6A7B73;
  --sx-line:#DAE4DE; --sx-line-soft:#EAF1ED;
  --sx-surface:#F5F8F6; --sx-surface2:#EAF1ED;
  --sx-brand:#0B5C41; --sx-brand-deep:#052A1E; --sx-brand-tint:#E6F2EC;
  --sx-gold:#B8770F; --sx-gold-tint:#FDF3E2;
  --sx-danger:#B42318; --sx-danger-tint:#FDECEA;
  --sx-info:#12508F; --sx-info-tint:#E8F1FB;
  --sx-r:12px; --sx-r-sm:8px; --sx-r-pill:999px;
  --sx-head-h:60px;
  --sx-shadow:0 1px 2px rgba(10,20,16,.06),0 4px 12px rgba(10,20,16,.05);
  --sx-shadow-lift:0 2px 4px rgba(10,20,16,.06),0 12px 28px rgba(10,20,16,.09);
  --sx-measure:44rem;
}
*{ -webkit-tap-highlight-color:rgba(11,92,65,.12); }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation:none!important;transition:none!important} }
body{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; height:auto; }
:where(a):focus-visible,:where(button):focus-visible,:where(input):focus-visible,:where(summary):focus-visible{
  outline:3px solid var(--sx-brand); outline-offset:2px; border-radius:4px;
}
.sx-skip{ position:absolute; left:-9999px; top:0; z-index:999; background:var(--sx-brand); color:#fff;
  padding:.75rem 1rem; border-radius:0 0 var(--sx-r-sm) 0; font-weight:700; text-decoration:none; }
.sx-skip:focus{ left:0; }

/* ============================================================
   2. HEADER
   ============================================================ */
.sx-header{
  position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.6) blur(10px); -webkit-backdrop-filter:saturate(1.6) blur(10px);
  border-bottom:1px solid var(--sx-line);
}
.sx-header__bar{
  max-width:74rem; margin:0 auto; padding:0 1rem;
  min-height:var(--sx-head-h); display:flex; align-items:center; gap:.75rem;
}
.sx-brand{ display:flex; align-items:center; gap:.55rem; text-decoration:none; color:var(--sx-ink); font-weight:800;
  font-size:1.0625rem; letter-spacing:-.03em; margin-right:auto; }
.sx-brand__mark{
  width:30px; height:30px; border-radius:9px; flex:0 0 30px;
  background:linear-gradient(145deg,var(--sx-brand) 0%,var(--sx-brand-deep) 100%);
  color:#fff; display:grid; place-items:center; font-size:.9rem; font-weight:800; letter-spacing:-.04em;
}
.sx-brand__mark::after{ content:"SX"; }
.sx-nav{ display:none; }
.sx-nav a{ color:var(--sx-ink2); text-decoration:none; font-weight:600; font-size:.9375rem; padding:.4rem .1rem;
  border-bottom:2px solid transparent; }
.sx-nav a:hover,.sx-nav a[aria-current]{ color:var(--sx-brand); border-bottom-color:var(--sx-brand); }
.sx-iconbtn{
  appearance:none; background:transparent; border:1px solid var(--sx-line); border-radius:var(--sx-r-sm);
  width:38px; height:38px; display:grid; place-items:center; cursor:pointer; color:var(--sx-ink);
}
.sx-iconbtn:hover{ background:var(--sx-surface); border-color:var(--sx-brand); color:var(--sx-brand); }
.sx-iconbtn svg{ width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media (min-width:900px){
  :root{ --sx-head-h:66px; }
  .sx-nav{ display:flex; align-items:center; gap:1.4rem; margin-right:.5rem; }
  .sx-header__menu{ display:none; }
}

/* mobile drawer */
.sx-drawer[hidden]{ display:none!important; }
.sx-drawer{ position:fixed; inset:0; z-index:200; background:#fff; display:flex; flex-direction:column; }
.sx-drawer__top{ display:flex; align-items:center; gap:.75rem; padding:0 1rem; min-height:var(--sx-head-h);
  border-bottom:1px solid var(--sx-line); }
.sx-drawer__body{ overflow-y:auto; padding:1.25rem 1rem 3rem; }
.sx-drawer__group{ margin-bottom:1.5rem; }
.sx-drawer__label{ font-size:.75rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  color:var(--sx-ink3); margin-bottom:.6rem; }
.sx-drawer__body a{ display:block; padding:.7rem 0; border-bottom:1px solid var(--sx-line-soft);
  text-decoration:none; color:var(--sx-ink); font-weight:600; }
.sx-drawer__body a:hover{ color:var(--sx-brand); }

/* ============================================================
   3. SEARCH
   ============================================================ */
.sx-search{ position:relative; }
.sx-search input[type=search]{
  width:100%; border:1px solid var(--sx-line); border-radius:var(--sx-r-pill);
  padding:.7rem 1rem .7rem 2.6rem; font:inherit; font-size:.9375rem; background:var(--sx-surface);
}
.sx-search input[type=search]:focus{ background:#fff; border-color:var(--sx-brand); outline:none;
  box-shadow:0 0 0 3px rgba(11,92,65,.14); }
.sx-search__icon{ position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:var(--sx-ink3);
  width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:2; }

/* ============================================================
   4. LAYOUT
   ============================================================ */
.sx-wrap{ max-width:74rem; margin-inline:auto; padding-inline:1rem; }
.sx-wrap--narrow{ max-width:var(--sx-measure); }
.sx-section{ padding-block:2.5rem; }
@media (min-width:900px){ .sx-section{ padding-block:4rem; } }
.sx-eyebrow{ font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--sx-brand); margin:0 0 .5rem; }
.sx-sectionhead{ margin-bottom:1.5rem; }
.sx-sectionhead h2{ margin:0 0 .35rem; }
.sx-sectionhead p{ margin:0; color:var(--sx-ink2); }

/* ============================================================
   5. HERO
   ============================================================ */
.sx-hero{ background:
    radial-gradient(1100px 380px at 12% -8%, rgba(11,92,65,.10), transparent 62%),
    radial-gradient(900px 320px at 96% 0%, rgba(184,119,15,.10), transparent 60%),
    var(--sx-surface);
  border-bottom:1px solid var(--sx-line); }
.sx-hero__inner{ max-width:74rem; margin-inline:auto; padding:2.5rem 1rem 2.25rem; }
@media (min-width:900px){ .sx-hero__inner{ padding:4.5rem 1rem 3.5rem; } }
.sx-hero h1{ font-size:clamp(2rem,1.4rem+3vw,3.4rem); line-height:1.08; letter-spacing:-.035em;
  margin:0 0 .9rem; max-width:18ch; }
.sx-hero h1 em{ font-style:normal; color:var(--sx-brand); }
.sx-hero__sub{ font-size:clamp(1.0625rem,1rem+.5vw,1.3125rem); color:var(--sx-ink2); max-width:56ch;
  margin:0 0 1.6rem; line-height:1.6; }
.sx-hero__search{ max-width:34rem; }
.sx-hero__stats{ display:flex; flex-wrap:wrap; gap:.5rem 1.75rem; margin-top:1.5rem;
  font-size:.875rem; color:var(--sx-ink2); }
.sx-hero__stats b{ color:var(--sx-ink); font-weight:800; }

/* ============================================================
   6. STATUS CHIPS
   ============================================================ */
.sx-chip{ display:inline-flex; align-items:center; gap:.4rem; font-size:.75rem; font-weight:700;
  letter-spacing:.01em; padding:.28rem .62rem; border-radius:var(--sx-r-pill); border:1px solid transparent; white-space:nowrap; }
.sx-chip::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:0 0 6px; }
.sx-chip--open{ background:var(--sx-brand-tint); color:var(--sx-brand); border-color:#BFDDCF; }
.sx-chip--soon{ background:var(--sx-gold-tint); color:var(--sx-gold); border-color:#F0DCB6; }
.sx-chip--closed{ background:var(--sx-danger-tint); color:var(--sx-danger); border-color:#F4C9C4; }
.sx-chip--info{ background:var(--sx-info-tint); color:var(--sx-info); border-color:#C6DCF3; }
.sx-chip--plain{ background:var(--sx-surface2); color:var(--sx-ink2); border-color:var(--sx-line); }
.sx-chip--plain::before{ display:none; }

/* ============================================================
   7. EXAM CARDS
   ============================================================ */
.sx-grid{ display:grid; gap:.875rem; grid-template-columns:1fr; }
@media (min-width:640px){ .sx-grid{ grid-template-columns:repeat(2,1fr); gap:1rem; } }
@media (min-width:1000px){ .sx-grid--3{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1000px){ .sx-grid--4{ grid-template-columns:repeat(4,1fr); } }

.sx-card{ position:relative; background:#fff; border:1px solid var(--sx-line); border-radius:var(--sx-r);
  padding:1.1rem 1.1rem 1.15rem; display:flex; flex-direction:column; gap:.55rem;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.sx-card:hover{ border-color:var(--sx-brand); box-shadow:var(--sx-shadow-lift); transform:translateY(-2px); }
.sx-card__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.sx-card__title{ margin:0; font-size:1.0625rem; font-weight:800; letter-spacing:-.02em; line-height:1.25; }
.sx-card__title a{ color:var(--sx-ink); text-decoration:none; }
.sx-card__title a::after{ content:""; position:absolute; inset:0; }
.sx-card:hover .sx-card__title a{ color:var(--sx-brand); }
.sx-card__desc{ margin:0; font-size:.9375rem; color:var(--sx-ink2); line-height:1.6; }
.sx-card__meta{ margin-top:auto; padding-top:.7rem; border-top:1px solid var(--sx-line-soft);
  display:flex; flex-wrap:wrap; gap:.35rem .9rem; font-size:.8125rem; color:var(--sx-ink3); }
.sx-card__meta b{ color:var(--sx-ink); font-weight:700; }
.sx-card--feature{ background:linear-gradient(160deg,var(--sx-brand-deep),var(--sx-brand)); border-color:transparent; color:#fff; }
.sx-card--feature .sx-card__title a,.sx-card--feature .sx-card__desc,.sx-card--feature .sx-card__meta,
.sx-card--feature .sx-card__meta b{ color:#fff; }
.sx-card--feature .sx-card__meta{ border-top-color:rgba(255,255,255,.22); }

/* ============================================================
   8. ARTICLE
   ============================================================ */
.sx-article{ padding-block:1.5rem 3rem; }
.sx-breadcrumb{ font-size:.8125rem; color:var(--sx-ink3); margin-bottom:1rem; line-height:1.5; }
.sx-breadcrumb a{ color:var(--sx-ink2); text-decoration:none; }
.sx-breadcrumb a:hover{ color:var(--sx-brand); text-decoration:underline; }
.sx-breadcrumb .separator{ margin:0 .4rem; color:var(--sx-line); }

.sx-title{ font-size:clamp(1.875rem,1.4rem+2.4vw,3rem); line-height:1.12; letter-spacing:-.032em; margin:0 0 .85rem; }
.sx-standfirst{ font-size:clamp(1.0625rem,1rem+.4vw,1.25rem); color:var(--sx-ink2); line-height:1.6;
  margin:0 0 1.25rem; max-width:60ch; }

.sx-byline{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .9rem; padding:.85rem 0;
  border-block:1px solid var(--sx-line); font-size:.8125rem; color:var(--sx-ink3); margin-bottom:1.75rem; }
.sx-byline__author{ display:flex; align-items:center; gap:.5rem; color:var(--sx-ink); font-weight:700; }
.sx-byline__author img{ width:26px; height:26px; border-radius:50%; object-fit:cover; }
.sx-verified{ display:inline-flex; align-items:center; gap:.35rem; font-weight:700; color:var(--sx-brand);
  background:var(--sx-brand-tint); padding:.25rem .6rem; border-radius:var(--sx-r-pill); font-size:.75rem; }
.sx-verified svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

/* prose */
.sx-prose{ max-width:var(--sx-measure); }
.sx-prose > *{ margin-block:0 1.15rem; }
.sx-prose h2{ margin-top:2.6rem; margin-bottom:.8rem; scroll-margin-top:calc(var(--sx-head-h) + 1rem); }
.sx-prose h3{ margin-top:1.9rem; margin-bottom:.6rem; scroll-margin-top:calc(var(--sx-head-h) + 1rem); }
.sx-prose h2 + p, .sx-prose h3 + p{ margin-top:0; }
.sx-prose ul,.sx-prose ol{ padding-left:1.25rem; }
.sx-prose li{ margin-bottom:.5rem; }
.sx-prose li::marker{ color:var(--sx-brand); font-weight:700; }
.sx-prose a{ color:var(--sx-brand); text-underline-offset:.16em; text-decoration-thickness:.07em; }
.sx-prose strong{ font-weight:800; color:var(--sx-ink); }
.sx-prose figure{ margin:1.75rem 0; }
.sx-prose figure img{ border-radius:var(--sx-r); width:100%; }
.sx-prose figcaption{ font-size:.8125rem; color:var(--sx-ink3); margin-top:.5rem; line-height:1.5; }

/* ============================================================
   9. AT A GLANCE / KEY FACTS
   ============================================================ */
.sx-glance{ background:var(--sx-brand-tint); border:1px solid #C6DFD1; border-radius:var(--sx-r);
  padding:1.1rem 1.15rem; margin:0 0 1.75rem; }
.sx-glance__head{ display:flex; align-items:center; gap:.45rem; font-size:.75rem; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase; color:var(--sx-brand); margin-bottom:.8rem; }
.sx-glance dl{ margin:0; display:grid; gap:.55rem; }
@media (min-width:640px){ .sx-glance dl{ grid-template-columns:auto 1fr; gap:.55rem 1.25rem; } }
.sx-glance dt{ font-size:.8125rem; font-weight:700; color:var(--sx-brand-deep); }
.sx-glance dd{ margin:0; font-size:.9375rem; color:var(--sx-ink); font-weight:600; }
@media (max-width:639px){ .sx-glance dd{ padding-bottom:.55rem; border-bottom:1px solid #C6DFD1; }
  .sx-glance dl > :nth-last-child(1){ border-bottom:0; padding-bottom:0; } }

/* ============================================================
   10. CALLOUTS
   ============================================================ */
.sx-note{ border-left:3px solid; border-radius:0 var(--sx-r-sm) var(--sx-r-sm) 0;
  padding:.95rem 1.1rem; margin:1.6rem 0; font-size:.9375rem; line-height:1.65; }
.sx-note > :first-child{ margin-top:0; } .sx-note > :last-child{ margin-bottom:0; }
.sx-note__label{ display:block; font-size:.72rem; font-weight:800; letter-spacing:.09em;
  text-transform:uppercase; margin-bottom:.4rem; }
.sx-note--deadline{ background:var(--sx-gold-tint); border-color:var(--sx-gold); }
.sx-note--deadline .sx-note__label{ color:var(--sx-gold); }
.sx-note--warning{ background:var(--sx-danger-tint); border-color:var(--sx-danger); }
.sx-note--warning .sx-note__label{ color:var(--sx-danger); }
.sx-note--official{ background:var(--sx-info-tint); border-color:var(--sx-info); }
.sx-note--official .sx-note__label{ color:var(--sx-info); }
.sx-note--myth{ background:#F4F0FB; border-color:#6B3FA0; }
.sx-note--myth .sx-note__label{ color:#6B3FA0; }
.sx-note--tip{ background:var(--sx-brand-tint); border-color:var(--sx-brand); }
.sx-note--tip .sx-note__label{ color:var(--sx-brand); }

/* ============================================================
   11. TABLES
   ============================================================ */
.sx-tablewrap{ position:relative; margin:1.6rem 0; }
.sx-tablewrap__scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--sx-line); border-radius:var(--sx-r); }
.sx-prose table,.sx-tablewrap table{ width:100%; border-collapse:collapse; font-size:.875rem; min-width:34rem; }
.sx-prose thead th,.sx-tablewrap thead th{ background:var(--sx-surface2); text-align:left; font-weight:800;
  font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; color:var(--sx-ink2);
  padding:.7rem .85rem; border-bottom:1px solid var(--sx-line); white-space:nowrap; }
.sx-prose td,.sx-prose th,.sx-tablewrap td{ padding:.72rem .85rem; border-bottom:1px solid var(--sx-line-soft);
  vertical-align:top; line-height:1.55; }
.sx-prose tbody tr:last-child td{ border-bottom:0; }
.sx-prose tbody tr:hover,.sx-tablewrap tbody tr:hover{ background:var(--sx-surface); }
.sx-tablewrap__hint{ font-size:.75rem; color:var(--sx-ink3); margin-top:.45rem; display:flex; gap:.35rem; align-items:center; }
@media (min-width:700px){ .sx-tablewrap__hint{ display:none; } }
.sx-prose .wp-block-table{ overflow-x:auto; }
.sx-prose .wp-block-table table{ border:1px solid var(--sx-line); border-radius:var(--sx-r); overflow:hidden; }

/* ============================================================
   12. SOURCES
   ============================================================ */
.sx-sources{ background:var(--sx-surface); border:1px solid var(--sx-line); border-radius:var(--sx-r);
  padding:1.1rem 1.15rem; margin:2.25rem 0 0; font-size:.875rem; }
.sx-sources h2,.sx-sources h3{ margin:0 0 .7rem!important; font-size:.75rem!important; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase; color:var(--sx-ink2); }
.sx-sources ol{ margin:0; padding-left:1.15rem; }
.sx-sources li{ margin-bottom:.5rem; line-height:1.55; color:var(--sx-ink2); }
.sx-sources a{ word-break:break-word; }
.sx-sources__stamp{ margin-top:.9rem; padding-top:.8rem; border-top:1px solid var(--sx-line);
  font-size:.8125rem; color:var(--sx-ink3); }

/* ============================================================
   13. TABLE OF CONTENTS
   ============================================================ */
.sx-toc{ border:1px solid var(--sx-line); border-radius:var(--sx-r); margin:0 0 1.75rem; background:#fff; }
.sx-toc__sum{ list-style:none; cursor:pointer; padding:.85rem 1.05rem; display:flex; align-items:center;
  justify-content:space-between; gap:.75rem; font-weight:800; font-size:.8125rem; letter-spacing:.07em;
  text-transform:uppercase; color:var(--sx-ink2); }
.sx-toc__sum::-webkit-details-marker{ display:none; }
.sx-toc__sum svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2.5; transition:transform .2s; }
.sx-toc[open] .sx-toc__sum svg{ transform:rotate(180deg); }
.sx-toc ol{ margin:0; padding:0 1.05rem 1rem 2.1rem; font-size:.9375rem; }
.sx-toc li{ margin-bottom:.45rem; line-height:1.5; }
.sx-toc li.lvl-3{ margin-left:.9rem; font-size:.875rem; }
.sx-toc a{ color:var(--sx-ink2); text-decoration:none; }
.sx-toc a:hover{ color:var(--sx-brand); text-decoration:underline; }
.sx-toc a.is-active{ color:var(--sx-brand); font-weight:700; }

.sx-article__grid{ display:flex; flex-direction:column; }
.sx-article__aside{ order:-1; }
@media (min-width:1180px){
  .sx-article--toc .sx-article__grid{ display:grid; grid-template-columns:minmax(0,var(--sx-measure)) 16rem;
    gap:3rem; align-items:start; max-width:66rem; margin-inline:auto; }
  .sx-article--toc .sx-article__aside{ order:0; }
  .sx-article--toc .sx-toc{ position:sticky; top:calc(var(--sx-head-h) + 1.25rem); border:0; margin:0;
    max-height:calc(100vh - var(--sx-head-h) - 3rem); overflow-y:auto; }
  .sx-article--toc .sx-toc__sum{ padding:0 0 .7rem; border-bottom:1px solid var(--sx-line); pointer-events:none; }
  .sx-article--toc .sx-toc__sum svg{ display:none; }
  .sx-article--toc .sx-toc ol{ padding:.9rem 0 0 1.05rem; }
}

/* ============================================================
   14. CLUSTER NAV
   ============================================================ */
.sx-cluster{ margin:2.5rem 0 0; }
.sx-cluster__head{ font-size:.75rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  color:var(--sx-ink3); margin-bottom:.85rem; }
.sx-seq{ display:grid; gap:.75rem; grid-template-columns:1fr; }
@media (min-width:640px){ .sx-seq{ grid-template-columns:1fr 1fr; } }
.sx-seq a{ display:block; border:1px solid var(--sx-line); border-radius:var(--sx-r); padding:.9rem 1rem;
  text-decoration:none; transition:border-color .16s,box-shadow .16s; }
.sx-seq a:hover{ border-color:var(--sx-brand); box-shadow:var(--sx-shadow); }
.sx-seq span{ display:block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--sx-ink3); margin-bottom:.3rem; }
.sx-seq b{ display:block; color:var(--sx-ink); font-weight:700; font-size:.9375rem; line-height:1.4; }

/* ============================================================
   15. FOOTER
   ============================================================ */
.sx-footer{ background:var(--sx-brand-deep); color:#C7D8D0; margin-top:3.5rem;
  padding:3rem 0 1.5rem; font-size:.9375rem; }
.sx-footer__grid{ display:grid; gap:2rem; grid-template-columns:1fr; }
@media (min-width:640px){ .sx-footer__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .sx-footer__grid{ grid-template-columns:1.5fr repeat(3,1fr); gap:2.5rem; } }
.sx-footer h3{ color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  margin:0 0 .9rem; }
.sx-footer ul{ list-style:none; margin:0; padding:0; }
.sx-footer li{ margin-bottom:.55rem; }
.sx-footer a{ color:#C7D8D0; text-decoration:none; }
.sx-footer a:hover{ color:#fff; text-decoration:underline; }
.sx-footer__about p{ margin:0 0 1rem; line-height:1.65; max-width:34ch; }
.sx-footer__brand{ display:flex; align-items:center; gap:.55rem; color:#fff; font-weight:800;
  font-size:1.0625rem; margin-bottom:.85rem; letter-spacing:-.03em; }
.sx-footer__brand .sx-brand__mark{ background:rgba(255,255,255,.14); }
.sx-footer__bottom{ margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.14);
  display:flex; flex-wrap:wrap; gap:.6rem 1.25rem; align-items:center; justify-content:space-between;
  font-size:.8125rem; color:#9DB4AA; }
.sx-footer__disc{ max-width:62ch; line-height:1.6; }

/* ============================================================
   16. COMMENTS + FORMS + MISC
   ============================================================ */
.wp-block-post-comments-form input[type=text],.wp-block-post-comments-form input[type=email],
.wp-block-post-comments-form textarea,.sx-field{
  width:100%; border:1px solid var(--sx-line); border-radius:var(--sx-r-sm); padding:.7rem .85rem;
  font:inherit; font-size:.9375rem; background:#fff; }
.wp-block-post-comments-form textarea:focus,.wp-block-post-comments-form input:focus,.sx-field:focus{
  border-color:var(--sx-brand); outline:none; box-shadow:0 0 0 3px rgba(11,92,65,.13); }
.sx-pagination{ display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; margin-top:2.5rem; }
.sx-pagination a,.sx-pagination span{ padding:.55rem .9rem; border:1px solid var(--sx-line);
  border-radius:var(--sx-r-sm); text-decoration:none; color:var(--sx-ink2); font-weight:600; font-size:.9375rem; }
.sx-pagination .current{ background:var(--sx-brand); color:#fff; border-color:var(--sx-brand); }
.sx-empty{ text-align:center; padding:4rem 1rem; color:var(--sx-ink3); }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* print */
@media print{
  .sx-header,.sx-footer,.sx-toc,.sx-cluster,.sx-drawer{ display:none!important; }
  .sx-prose{ max-width:none; } body{ font-size:11pt; }
}


/* ===== 17. FLUID TYPE FIX ===== */
.sx-hero h1 { font-size: clamp(2rem, 1.4rem + 3vw, 3.4rem); }
.sx-hero__sub { font-size: clamp(1.0625rem, 1rem + 0.5vw, 1.3125rem); }
.sx-title { font-size: clamp(1.875rem, 1.4rem + 2.4vw, 3rem); }
.sx-standfirst { font-size: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem); }
