/* Standard pages (#125, templates/page.html): the hero shared with News and Events, a reading
   column in the story typography, and a sticky "On this page" list. Loaded by inc/pages.php. */

.page-hero .wrap > * { margin-top:0; margin-bottom:0; }
.page-hero .wp-block-post-title { margin-top:22px !important; max-width:22ch; font-size:clamp(34px,4.4vw,56px); line-height:1.06; letter-spacing:-.02em; }
.phero .page-intro { margin-top:16px !important; }
.phero .page-intro .wp-block-post-excerpt__excerpt { margin:0; max-width:58ch; font-size:18px; line-height:1.65; color:rgba(255,255,255,.82); }
.page-updated { display:flex; align-items:baseline; gap:8px; margin-top:22px !important; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-soft); }
.page-updated > * { margin:0 !important; }
.page-updated time { color:rgba(255,255,255,.7); }

.page-main { --page-side:clamp(240px,22vw,300px); --page-gap:clamp(32px,5vw,72px); }
.page-layout { display:grid; grid-template-columns:minmax(0,1fr) var(--page-side); gap:var(--page-gap); align-items:start; }
.page-layout > * { margin-top:0; margin-bottom:0; }
/* a short page (no list) is one centred reading column */
.page-layout:not(:has(.page-toc)) { grid-template-columns:minmax(0,1fr); }

/* the reading column: the news story's type */
.page-body { max-width:760px; }
.page-body > * { margin-top:0; margin-bottom:0; }
.page-body > * + * { margin-top:20px; }
.page-body p, .page-body li { font-size:17px; line-height:1.8; color:var(--text); }
.page-body > p:first-child { font-size:20px; line-height:1.65; color:var(--ink); }
.page-body h2 { font-family:var(--font-display); font-size:24px; font-weight:700; line-height:1.3; color:var(--ink); margin-top:44px !important; padding-top:26px; border-top:1px solid var(--panel-border); scroll-margin-top:110px; }
.page-body > h2:first-child { margin-top:0 !important; padding-top:0; border-top:0; }
.page-body h3 { font-family:var(--font-display); font-size:18px; font-weight:700; line-height:1.35; color:var(--ink); margin-top:30px !important; }
.page-body h2 + *, .page-body h3 + * { margin-top:10px !important; }
.page-body a { color:var(--orange-deep); text-underline-offset:2px; overflow-wrap:anywhere; }
.page-body ul, .page-body ol { padding-left:24px; }
.page-body li + li { margin-top:6px; }
.page-body li::marker { color:var(--orange); }

/* "On this page" */
.page-side { position:sticky; top:96px; }
.page-toc { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:22px 22px 14px; }
.page-toc h4 { margin:0 0 10px; font-family:var(--font-sans); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); }
.page-toc ol { list-style:none; margin:0; padding:0; counter-reset:toc; }
.page-toc li { counter-increment:toc; border-top:1px solid var(--panel-border); }
.page-toc li:first-child { border-top:0; }
.page-toc a { display:flex; gap:10px; padding:10px 0; font-size:14px; line-height:1.4; color:var(--text); text-decoration:none; transition:color .2s; }
.page-toc a::before { content:counter(toc, decimal-leading-zero); flex-shrink:0; font-family:var(--font-mono); font-size:11.5px; line-height:1.9; color:var(--orange-deep); }
.page-toc a:hover { color:var(--primary); }
