html{overflow-x:clip}
.aa-article{--aa-paper:#fbfaf8;--aa-cream:#f3eee7;--aa-ink:#202943;--aa-muted:#596176;--aa-gold:#806735;--aa-gold-on-dark:#c4ac82;--aa-line:#ddd8cf;--aa-link:#262e4d;background:var(--aa-paper);color:var(--aa-ink);font-family:"Source Sans 3",Arial,sans-serif;padding-bottom:80px}
.aa-article *{box-sizing:border-box}
.aa-article a{color:inherit}
.aa-article__breadcrumbs,.aa-article__hero,.aa-article__layout,.aa-article__related{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.aa-article__breadcrumbs{padding:28px 0 18px;font-size:14px}
.aa-article__breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;color:var(--aa-muted)}
.aa-article__breadcrumbs li+li:before{content:"/";margin-right:7px;color:#928b7e}
.aa-article__breadcrumbs li:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38ch}
.aa-article__breadcrumbs a{text-underline-offset:3px}
.aa-article__hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:56px;align-items:center;padding:30px 0 68px}
.aa-article__hero-copy{max-width:690px}
.aa-article__hero--no-image{grid-template-columns:minmax(0,760px);justify-content:center;text-align:center}
.aa-article__hero--no-image .aa-article__hero-copy{max-width:760px}
.aa-article__hero--no-image .aa-article__meta{justify-content:center}
.aa-article__eyebrow{display:block;margin:0 0 13px;color:var(--aa-gold);font:700 12px/1.4 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;text-decoration:none}
.aa-article__eyebrow[href]:hover{text-decoration:underline}
.aa-article h1,.aa-article h2,.aa-article h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--aa-ink);text-wrap:balance}
.aa-article h1{margin:0;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.01;letter-spacing:-.04em}
.aa-article__standfirst{margin:22px 0 0;font-size:clamp(19px,2vw,24px);line-height:1.48;color:#3f485d}
.aa-article__meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:25px;color:var(--aa-muted);font-size:15px}
.aa-article__meta>*+*:before{content:"·";margin-right:20px;color:var(--aa-gold)}
.aa-article__featured-image{margin:0}
.aa-article__featured-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.aa-article__layout{display:grid;grid-template-columns:220px minmax(0,700px);gap:70px;align-items:start}
.aa-article__layout--no-toc{grid-template-columns:minmax(0,700px);justify-content:center}
/* 0.1.40 (T-0140, DEC-85): the sticky contents list now follows the admin bar at ALL THREE of its states instead of at one. It carried `.admin-bar .aa-article__toc{top:142px}`, a hard-coded 110+32 with no 46px rule and no sub-600 reset, so signed in it UNDER-offset by 14px at 768 (the admin bar is 46px there, not 32px, so the correct value is 156px) and OVER-offset by 32px below 600px, where WordPress makes the bar `position: absolute` so it displaces nothing and the correct value is the plain 110px. That was wrong on roughly 300 articles. 110px is this surface's own design offset and is deliberately unchanged; only the admin-bar term is added, so signed out this is a byte-for-byte no-op at every width. The block below is a VERBATIM copy of the canonical one in programme.css and must stay identical to it: functions.php enqueues this stylesheet with `array()`, no dependency on programme.css, and an article is not a WooCommerce surface, so programme.css never loads here and `var(--aa-admin-bar-h, 0px)` would otherwise resolve to the 0px fallback at every width and fix nothing. Values read from WordPress core wp-includes/css/admin-bar.css, re-confirmed against a WordPress 7.1 tree (what staging runs). The 600px rule must stay AFTER the 782px rule: equal specificity, last one wins. */
:root{--aa-admin-bar-h:0px}
body.admin-bar{--aa-admin-bar-h:32px}
@media screen and (max-width:782px){body.admin-bar{--aa-admin-bar-h:46px}}
@media screen and (max-width:600px){body.admin-bar{--aa-admin-bar-h:0px}}
.aa-article__toc{position:sticky;top:calc(110px + var(--aa-admin-bar-h, 0px));border-top:1px solid var(--aa-ink);padding-top:14px}
.aa-article__toc>p{margin:0 0 11px;font-size:14px;font-weight:700}
.aa-article__toc ol{margin:0;padding:0;list-style:none}
.aa-article__toc li{margin:0}
.aa-article__toc a{display:block;padding:8px 0;color:#485168;font-size:14px;line-height:1.35;text-decoration:none}
.aa-article__toc a:hover,.aa-article__toc a:focus-visible{text-decoration:underline;color:var(--aa-ink)}
.aa-article__toc-level-3{padding-left:13px}
.aa-article__content{min-width:0;font-size:18px;line-height:1.72;color:#333d52}
.aa-article__content>:first-child{margin-top:0}
.aa-article__content p,.aa-article__content>ul,.aa-article__content>ol,.aa-article__content>figure,.aa-article__content>blockquote,.aa-article__content>.wp-block-table{margin:0 0 1.45em}
.aa-article__content h2{margin:1.7em 0 .52em;font-size:clamp(32px,3vw,44px);font-weight:500;line-height:1.1;letter-spacing:-.02em;scroll-margin-top:32px}
.aa-article__content h3{margin:1.45em 0 .48em;font-size:clamp(26px,2.3vw,34px);font-weight:500;line-height:1.15;scroll-margin-top:32px}
/* 0.1.98 (V6 W12.3 row 9): links navy with a gold underline, the brand pair, instead of off-palette blue. */
/* 0.2.5 (T-0205, QA H.axe link-in-text-block): links in the article's running text are underlined. This rule set the
   underline's colour, thickness and offset, but Hello Elementor's reset (a{text-decoration:none}) removed the line
   itself, so a link differed from the text around it by weight and a near-identical navy only. The line is given
   only to links inside text (zero-specificity :where), so the buttons and share links keep their own styles. */
.aa-article__content :where(p,li,td,th,dd,blockquote,figcaption) a{text-decoration-line:underline}
.aa-article__content a{color:var(--aa-link);font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--aa-gold)}
.aa-article__content ul,.aa-article__content ol{padding-left:1.25em}
.aa-article__content li{padding-left:.18em;margin:.52em 0}
.aa-article__content blockquote{margin-left:0;padding:18px 24px;border-left:3px solid var(--aa-gold);background:var(--aa-cream);font:500 clamp(24px,2.5vw,32px)/1.25 "Cormorant Garamond",Georgia,serif;color:var(--aa-ink)}
.aa-article__content blockquote cite{display:block;margin-top:12px;font:600 13px/1.4 Arial,sans-serif;color:var(--aa-muted)}
.aa-article__content figure img{display:block;width:100%;height:auto}
.aa-article__content figcaption{margin-top:9px;font-size:13px;line-height:1.45;color:var(--aa-muted)}
.aa-article__content,.aa-article__content figure,.aa-article__content .wp-block-table{max-width:100%}
.aa-article__content .wp-block-table{overflow-x:auto}
.aa-article__content table{width:100%;border-collapse:collapse;font-size:16px}
.aa-article__content :is(th,td){padding:12px;border:1px solid var(--aa-line);text-align:left;vertical-align:top}
.aa-article__content th{background:var(--aa-cream);color:var(--aa-ink)}
.aa-article__content .aa-article-callout{margin:34px 0;padding:25px 28px;border:1px solid #cfc7bb;background:#f6f3ed}
.aa-article__content .aa-article-callout>:first-child{margin-top:0}
.aa-article__content .aa-article-callout>:last-child{margin-bottom:0}
.aa-article__content .aa-article-callout h2,.aa-article__content .aa-article-callout h3{margin-bottom:.4em;font-size:28px}
.aa-article__empty{padding:22px;background:var(--aa-cream);color:var(--aa-muted)}
.aa-article__programme-cta{margin:50px 0 36px;padding:34px;background:var(--aa-ink);color:#fff}
/* A11Y-1 item 7: ink gold (#806735) is the token for small text on a LIGHT ground and reaches only 2.67:1 on navy, the inversion of its documented purpose. On a dark ground the design system already uses gold light, as .aa-section--navy .aa-kicker does in programme.css, which measures 6.25:1 on #202943. Scoped so gold on paper is untouched. */
.aa-article__programme-cta .aa-article__eyebrow{color:var(--aa-gold-on-dark)}
.aa-article__programme-cta h2{max-width:15ch;margin:0;color:#fff;font-size:clamp(30px,3.4vw,42px);font-weight:500;line-height:1.08}
.aa-article__programme-cta p:not(.aa-article__eyebrow){max-width:55ch;margin:13px 0 23px;color:#e7e9ef}
.aa-article__button{display:inline-flex;align-items:center;gap:10px;min-height:47px;padding:12px 18px;background:#fff;color:var(--aa-ink);font-size:14px;font-weight:700;text-decoration:none}
.aa-article__button:hover{background:var(--aa-cream)}
.aa-article__share{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:23px 0;border-top:1px solid var(--aa-line);border-bottom:1px solid var(--aa-line)}
.aa-article__share h2{margin:0;font:600 14px/1.4 Arial,sans-serif}
.aa-article__share ul{display:flex;gap:8px;margin:0;padding:0;list-style:none}
.aa-article__share a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:7px 11px;border:1px solid var(--aa-line);font-size:14px;text-decoration:none}
.aa-article__share a:hover{border-color:var(--aa-ink)}
.aa-article__review{margin-top:30px;padding:21px 24px;border-left:3px solid var(--aa-gold);background:#fff}
.aa-article__review p{margin:0}
.aa-article__review .aa-article__eyebrow{margin-bottom:6px}
.aa-article__related{margin-top:76px;padding-top:48px;border-top:1px solid var(--aa-line)}
.aa-article__related h2{margin:0;font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1.05}
.aa-article__related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:29px}
.aa-article__related-grid article{background:#fff}
.aa-article__related-grid a{display:block;height:100%;padding-bottom:19px;text-decoration:none}
.aa-article__related-grid img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover;margin-bottom:17px}
.aa-article__related-grid :is(p,h3,span){margin-inline:19px}
.aa-article__related-grid p{margin-top:0;margin-bottom:8px;font-size:13px;color:var(--aa-muted)}
.aa-article__related-grid h3{margin-top:0;margin-bottom:15px;font-size:27px;font-weight:500;line-height:1.08}
.aa-article__related-grid span{font-size:14px;font-weight:700}
.aa-article__newsletter{width:min(1180px,calc(100% - 64px));margin:70px auto 0;padding:45px;display:flex;align-items:end;justify-content:space-between;gap:25px;background:var(--aa-cream)}
.aa-article__newsletter h2{max-width:20ch;margin:0;font-size:clamp(31px,3.7vw,47px);font-weight:500;line-height:1.04}
.aa-article__button--light{background:var(--aa-ink);color:#fff}
.aa-article__button--light:hover{background:#33405f}
.aa-article :focus-visible{outline:3px solid #315bcb;outline-offset:4px}
@media(max-width:900px){.aa-article__breadcrumbs,.aa-article__hero,.aa-article__layout,.aa-article__related,.aa-article__newsletter{width:calc(100% - 48px)}
.aa-article__hero{grid-template-columns:1fr;gap:28px;padding-bottom:48px}
.aa-article__featured-image{max-width:700px}
.aa-article__layout{grid-template-columns:1fr;gap:30px}
.aa-article__toc{position:static;max-width:700px}
.aa-article__toc ol{columns:2;column-gap:30px}
.aa-article__toc li{break-inside:avoid}
.aa-article__related-grid{gap:16px}
.aa-article__newsletter{padding:32px;align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){.aa-article{padding-bottom:48px}
.aa-article__breadcrumbs,.aa-article__hero,.aa-article__layout,.aa-article__related,.aa-article__newsletter{width:calc(100% - 32px)}
.aa-article__breadcrumbs{padding-top:6px;padding-bottom:6px;font-size:13px}
/* 0.2.5 (T-0205, QA C.tap at 390): the breadcrumb links and the category link above the title are 44px tap targets
   (they were 18px and 17px tall); the padding around them shrinks by the same amount, so the hero starts where it did. */
.aa-article__breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
a.aa-article__eyebrow{display:flex;align-items:center;min-height:44px;margin-bottom:0}
.aa-article__hero{padding-top:15px;padding-bottom:35px}
.aa-article__hero--no-image{text-align:left}
.aa-article__hero--no-image .aa-article__meta{justify-content:flex-start}
.aa-article__content{font-size:17px;line-height:1.66}
.aa-article__content :is(th,td){padding:9px;font-size:14px}
.aa-article__content .aa-article-callout{margin:25px 0;padding:20px}
.aa-article__toc ol{columns:1}
.aa-article__related{margin-top:52px;padding-top:34px}
.aa-article__related-grid{grid-template-columns:1fr}
.aa-article__newsletter{margin-top:50px;padding:26px}
.aa-article__programme-cta{padding:27px 22px}
}
