/* Reading and navigation layer */
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* Article body */
body.single-post .wp-block-post-content{line-height:1.65}
body.single-post .wp-block-post-content>p,body.single-post .wp-block-post-content>ul>li,body.single-post .wp-block-post-content>ol>li,body.single-post .wp-block-post-content>blockquote p{font-size:18px;line-height:1.65}
body.single-post .wp-block-post-content p a:not([class*=button]):not([class*=btn]),body.single-post .wp-block-post-content li a:not([class*=button]):not([class*=btn]){text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.single-post .wp-block-post-content p a:hover,body.single-post .wp-block-post-content li a:hover{text-decoration-thickness:2px}
@media (max-width:767px){
 body.single-post .wp-block-post-content>p,body.single-post .wp-block-post-content>ul>li,body.single-post .wp-block-post-content>ol>li,body.single-post .wp-block-post-content>blockquote p{font-size:17px}
 body.single-post .wp-block-post-content>h2,body.single-post .wp-block-post-content>.wp-block-heading:where(h2){font-size:23px;line-height:1.3}
 body.single-post .wp-block-post-content>h3{font-size:20px;line-height:1.35}
}
/* Tables scroll inside their own box on small screens */
.vf-table-scroll,.wp-block-post-content .wp-block-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.vf-table-scroll{margin-block:1.5em}
.vf-table-scroll>table{margin:0}
/* Table of contents: sub-items are not numbered as top-level items */
ol[id^="aen-toc-list"]{counter-reset:vf-toc;list-style:none;padding-inline-start:0}
ol[id^="aen-toc-list"]>li{counter-increment:vf-toc;position:relative;padding-inline-start:1.9em}
ol[id^="aen-toc-list"]>li::before{content:counter(vf-toc) ".";position:absolute;inset-inline-start:0;font-variant-numeric:tabular-nums;opacity:.75}
ol[id^="aen-toc-list"]>li:is(.aen-toc-level-3,.sl-outline-sub,[class*="level-3"],[class*="-sub"]){counter-increment:none;padding-inline-start:3.1em}
ol[id^="aen-toc-list"]>li:is(.aen-toc-level-3,.sl-outline-sub,[class*="level-3"],[class*="-sub"])::before{content:"–";inset-inline-start:1.9em}
ol[id^="aen-toc-list"]>li::marker{content:none}
/* Header navigation: visible hover and current states */
header.wp-block-template-part nav a:not([class*=button]):not([class*=btn]):not(.custom-logo-link):hover,
header.wp-block-template-part nav a:not([class*=button]):not([class*=btn]):not(.custom-logo-link):focus-visible,
header.wp-block-template-part nav a[aria-current="page"]:not([class*=button]):not([class*=btn]){text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:6px}
/* Menu toggles are comfortable touch targets */
header.wp-block-template-part .wp-block-navigation__responsive-container-open,
header.wp-block-template-part .wp-block-navigation__responsive-container-close,
header.wp-block-template-part button[class*="menu-toggle"],header.wp-block-template-part button[class*="nav-toggle"],header.wp-block-template-part button[aria-controls]{min-width:44px;min-height:44px}
/* Footer information links and copyright row */
footer.wp-block-template-part .aen-r5-links{display:flex;flex-wrap:wrap;gap:8px 20px}
footer.wp-block-template-part .aen-r5-column .aen-r5-links{display:block}
footer.wp-block-template-part .aen-r5-column .aen-r5-links li+li{margin-top:8px}
footer.wp-block-template-part .aen-r5-bottom p{margin-inline-start:0;padding-inline-start:0;text-indent:0}
/* Related reading */
.vf-related{margin-block:3rem 1rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font-size:16px}
.vf-related h2{font-size:1.4rem;margin:0 0 1rem}
.vf-related-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.vf-related-list li{margin:0;padding:0}
.vf-related-list li::before{content:none}
.vf-related-list a{display:block;text-decoration:none;color:inherit}
.vf-related-list img,.vf-related-ph{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin-bottom:.6rem;background:color-mix(in srgb,currentColor 8%,transparent)}
.vf-related-t{display:block;font-weight:600;line-height:1.35}
.vf-related-list a:hover .vf-related-t{text-decoration:underline}
.vf-related-list time{display:block;margin-top:.35rem;font-size:14px}
.vf-dateline{font-size:15px;margin:0 0 1.25rem}
/* Footer bottom row starts on the same edge as the footer columns */
body .wp-site-blocks .aen-r3-footer-shell .aen-r5-bottom{padding-inline:0!important}
/* No empty slot when there is no previous/next article */
.wp-block-post-navigation-link:empty,.wp-block-post-navigation-link:not(:has(a)){display:none}
/* Home H1 keeps the site-title look */
:where(h1.wp-block-site-title){margin:0;font-size:inherit;line-height:inherit}
html body .vf-home-title.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important;max-width:1px!important}
.vf-copyright{margin:28px 0 0;padding-top:16px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font-size:14px;line-height:1.5}
/* ===== Article body: nothing wider than the text column ===== */
:is(.wp-block-post-content,.entry-content){min-width:0;overflow-wrap:break-word}
:is(.wp-block-post-content,.entry-content) :is(img,video,iframe,embed,object,svg,canvas,figure,pre,table,.wp-block-embed,.wp-block-image,.wp-block-columns,.wp-block-group,.wp-block-media-text){max-width:100%;box-sizing:border-box}
:is(.wp-block-post-content,.entry-content) :is(img,video){height:auto}
:is(.wp-block-post-content,.entry-content) figure{margin-inline:0}
:is(.wp-block-post-content,.entry-content) :is(a,td,th,code,kbd){overflow-wrap:anywhere}
:is(.wp-block-post-content,.entry-content) pre{overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}
:is(.wp-block-post-content,.entry-content) pre code{overflow-wrap:normal}
/* lists, steps, quotes and columns keep their indent inside the column */
:is(.wp-block-post-content,.entry-content) :is(ul,ol):not([id^="aen-toc-list"]):not(.vf-related-list):not([class*="share"]){margin-inline:0;padding-inline-start:1.5em}
:is(.wp-block-post-content,.entry-content) li>:is(ul,ol){margin-block:.4em}
:is(.wp-block-post-content,.entry-content) blockquote{margin-inline:0;max-width:100%}
:is(.wp-block-post-content,.entry-content) .wp-block-columns{margin-inline:0;width:auto}
:is(.wp-block-post-content,.entry-content) :is(.alignwide,.alignfull){max-width:100%;margin-inline:0;width:auto}
/* ===== Tables ===== */
:is(.wp-block-post-content,.entry-content){--vf-line:var(--wp--preset--color--line,color-mix(in srgb,currentColor 22%,transparent));--vf-accent:var(--wp--preset--color--primary,currentColor)}
:is(.wp-block-post-content,.entry-content) :is(.vf-table-scroll,.wp-block-table){display:block;width:100%;max-width:100%;overflow-x:auto;margin-inline:0;-webkit-overflow-scrolling:touch}
:is(.wp-block-post-content,.entry-content) table{width:100%;max-width:100%;border-collapse:collapse;border-spacing:0;table-layout:auto;margin:0;font-size:15.5px;line-height:1.5}
:is(.wp-block-post-content,.entry-content) :is(.vf-table-scroll,.wp-block-table)>table{max-width:none;margin:0!important}
:is(.wp-block-post-content,.entry-content) :is(th,td){padding:10px 12px;border:1px solid var(--vf-line);text-align:left;vertical-align:top;font-size:inherit;min-width:6em}
:is(.wp-block-post-content,.entry-content) :is(thead th,thead td,tbody>tr>th,table:not(:has(thead))>tbody>tr:first-child>td:has(>strong:only-child)){background:color-mix(in srgb,var(--vf-accent) 10%,transparent);font-weight:700}
:is(.wp-block-post-content,.entry-content) tbody>tr:nth-child(even)>td{background:color-mix(in srgb,currentColor 4%,transparent)}
:is(.wp-block-post-content,.entry-content) table :is(p){margin:0}
:is(.wp-block-post-content,.entry-content) .wp-block-table figcaption{font-size:14px;margin-top:.5em}
@media (max-width:767px){
 :is(.wp-block-post-content,.entry-content) :is(.vf-table-scroll,.wp-block-table){border:1px solid var(--vf-line);box-shadow:inset -14px 0 12px -12px rgba(0,0,0,.28)}
 :is(.wp-block-post-content,.entry-content) :is(.vf-table-scroll,.wp-block-table)>table{min-width:540px;border:0}
 :is(.wp-block-post-content,.entry-content) :is(.vf-table-scroll,.wp-block-table)>table :is(tr>:first-child){border-left:0}
 :is(.wp-block-post-content,.entry-content) :is(.vf-table-scroll,.wp-block-table)>table :is(tr>:last-child){border-right:0}
}
/* round-two-3 insets some footer wrappers by 24px; footer content belongs on the header grid */
html body .wp-site-blocks .aen-r3-footer-shell :is(.fm-footer,.pb-footer-almanac,.pb-footer-atlas,.pb-footer-inner,.ph-footer,.rf-footer,.tm-footer-bottom,.vb-footer){padding-inline:0!important}
/* footer tidy: no empty heading-only columns, share icons and copyright on the column edge */
html body .aen-r3-footer-shell .aen-r5-grid > :not(:has(a,p,img,svg,form,input,button,li,address,iframe)){display:none!important}
html body .aen-r3-footer-shell .aen-share-links{justify-content:flex-start!important;padding-inline:0!important;margin-inline:0!important}
html body .aen-r3-footer-shell .rf-copyright{padding-inline:0!important;margin-inline:0!important;text-align:left!important}
html body .aen-r3-footer-shell .aen-r5-bottom > .rf-copyright{width:auto!important;flex:1 1 auto!important}
@media (max-width:781px){html body .aen-r3-footer-shell :is(.aen-r5-bottom,[class*="footer-bottom"]){justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important}html body .aen-r3-footer-shell :is(.aen-r5-bottom,[class*="footer-bottom"]) :is(p,div,[class*="copyright"]){text-align:left!important}}
/* footer columns share one top line: no stray top margins/padding on the columns or their first item */
html body .aen-r3-footer-shell .aen-r5-grid > *{margin-top:0!important;padding-top:0!important}
html body .aen-r3-footer-shell .aen-r5-grid > * > :first-child,html body .aen-r3-footer-shell .aen-r5-grid > * > :is(h2,h3,h4,.wp-block-heading):first-of-type{margin-top:0!important}
