/*!
 * flowio Edition — theme stylesheet (one file, hand-editable, no build step needed)
 *
 * 1. Site header + footer   — the rules the flowio.co.uk header/footer use, taken from the main site's css/styles.css
 * 2. Edition base            — tokens, utilities, small caps labels, buttons
 * 3. Blog home               — folio line, masthead, section strip, lead story, cards, start here, topics, every article
 * 4. Single post             — header on the grid, crop marks, byline strip, contents rail, "In brief", author box
 * 5. Archives, search, 404
 * 6. Print
 * 7. Article content         — every WordPress block (quotes, code, tables, images, video, embeds, buttons, …)
 */

/* =============================================================================================
   1. SITE HEADER + FOOTER (from the main site's css/styles.css — keep in step when the site header changes)
   ============================================================================================= */
:root { --primary-color: #1a1a1a;--secondary-color: #fbfbfb;--accent-color: #9b51e0;--accent-foreground: hsl(0 0% 100%);--text-color: #333;--light-text: #fff; --light-gray: #f5f5f5;--medium-gray: #e0e0e0;--dark-gray: #555;--flamingo: #f95730;--primary: #f95730;--crusta: #fa8928;--madison: #08325b;--blue: #667eea; --purple: #764ba2;--dark-black: #1f1f1f; /* Extended Color Palette */ --gradient-primary: linear-gradient(135deg, var(--accent-color) 0%, var(--crusta) 100%); --gradient-secondary: linear-gradient(135deg, var(--flamingo) 0%, var(--crusta) 100%); --gradient-tertiary: linear-gradient(135deg, var(--blue) 0%, var(--purple) 100%); --gradient-dark: linear-gradient(135deg, var(--primary-color) 0%, var(--madison) 100%); --gradient-light: linear-gradient(135deg, var(--secondary-color) 0%, var(--light-gray) 100%); --primary-blue: #2563EB;--primary-blue-light: #3B82F6;--primary-blue-dark: #1D4ED8;--primary-cyan: #06B6D4;--primary-purple: #9333EA; --muted-foreground: hsl(220 10% 40%);--muted: hsl(220 14% 95%); --destructive: hsl(0 84% 60%);--border: hsl(220 13% 91%);--input: hsl(220 14% 96%);--ring: hsl(16 100% 50%);--navy-deep: hsl(220 25% 18%);--navy-dark: hsl(220 20% 25%); --navy-mid: hsl(220 15% 40%); --coral: hsl(16 100% 50%); --coral-light: hsl(16 100% 60%); --coral-dark: hsl(16 90% 40%); --gold: hsl(40 100% 50%); --teal: hsl(175 70% 35%); /* Typography */ --font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; --font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem; --font-size-5xl: 3rem;--font-size-6xl: 3.75rem; /* Spacing */ --spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem; --spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--spacing-5xl: 5rem; /* Border Radius */ --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; --radius-2xl: 1.5rem; --border-radius: 0.5rem; /* Shadows */ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-base: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* Transitions */ --transition-fast: 0.15s ease-in-out; --transition-base: 0.3s ease-in-out; --transition-slow: 0.5s ease-in-out; /* Z-Index */ --z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1050;--z-tooltip: 1070; /*width*/ --maxwidth: 1236px; /* Cards */ --card: hsl(0 0% 100%);--card-foreground: hsl(220 25% 18%);--popover: hsl(0 0% 100%);--popover-foreground: hsl(220 25% 18%); }
* {margin: 0;padding: 0;box-sizing: border-box;}
html {scroll-behavior: smooth;font-size: 16px;scroll-padding-top: 100px;}
body {font-family: var(--font-family);line-height: 1.6;overflow-x: hidden;background: var(--background);color: var(--foreground);-webkit-font-smoothing: antialiased}
img {max-width: 100%;height: auto;display: block;}
ul {list-style: none;}
.navbar {position: fixed;top: 0;left: 0;right: 0;z-index: 220;transition: all .3s ease;isolation: isolate;}
.navbar-inner {backdrop-filter: blur(24px);-webkit-backdrop-filter: blur(24px);background: hsla(0, 0%, 100%, .9);border-bottom: 1px solid hsla(220, 30%, 20%, .1);box-shadow: 0 2px 10px hsla(220, 30%, 20%, .05);}
.navbar-container {display: flex;align-items: center;justify-content: space-between;height: 6.25rem;}
@media (min-width:1024px){.navbar-container {height: 6rem;}
}
@media (max-width: 1024px){.navbar-inner {background: #fff;}
}
.navbar-logo-img {height: 5.6rem;width: auto;object-fit: contain;}
.navbar-nav {display: none;align-items: center;gap: .5rem;}
@media (min-width:1024px){.navbar-nav {display: flex;}
}
@media (max-width:1024px){.navbar-logo-img {height: 4rem;}
}
.nav-link {font-size: .975rem;font-weight: 500;color: var(--muted-foreground);transition: color .2s;padding: .5rem 1rem;border-radius: var(--radius);}
.nav-link:hover {color: var(--foreground);}
.nav-dropdown {position: relative;}
.nav-dropdown::after {content: '';position: absolute;top: 100%;left: 50%;transform: translateX(-50%);width: 300px;height: 2rem;background: transparent;pointer-events: none;z-index: 229;}
.nav-dropdown-trigger {display: flex;align-items: center;gap: .25rem;font-size: 1rem;font-weight: 500;color: var(--muted-foreground);padding: .5rem 1.5rem;border-radius: var(--radius);background: transparent;border: none;cursor: pointer;transition: all .2s;}
.nav-dropdown-trigger:hover,.nav-dropdown.active .nav-dropdown-trigger {color: var(--foreground);background: hsla(220, 30%, 20%, .05);}
.dropdown-chevron {transition: transform .3s ease;}
.nav-dropdown.active .dropdown-chevron {transform: rotate(180deg);}
.mega-menu {position: absolute;top: 100%;left: 50%;transform: translateX(-50%) translateY(10px);min-width: auto;padding-top: .75rem;opacity: 0;visibility: hidden;pointer-events: none;transition: opacity .3s ease, visibility .3s ease, transform .3s ease;z-index: 230;}
@media (min-width:1024px){.mega-menu {position: fixed;left: 50%;right: auto;top: 4.5rem;transform: translateX(-50%) translateY(0);min-width: unset;width: auto;padding: 0;padding-top: .5rem;}
}
.nav-dropdown.active .mega-menu,.nav-dropdown:hover .mega-menu {transform: translateX(-50%) translateY(0);}
.mega-menu-content {position: relative;background: var(--card);border: 1px solid var(--border);border-radius: 1rem;box-shadow: 0 25px 50px -12px hsla(220, 30%, 20%, .15);overflow: hidden;width: min(900px, calc(100vw - 3rem));}
.nav-dropdown.active .mega-menu,.nav-dropdown:hover .mega-menu {opacity: 1;visibility: visible;pointer-events: auto;}
.mega-menu-content::before {content: '';position: absolute;top: -8px;left: 50%;transform: translateX(-50%);border-left: 8px solid transparent;border-right: 8px solid transparent;border-bottom: 8px solid var(--border);}
.mega-menu-content::after {content: '';position: absolute;top: -6px;left: 50%;transform: translateX(-50%);border-left: 6px solid transparent;border-right: 6px solid transparent;border-bottom: 6px solid var(--card);}
.mega-menu-inner {display: grid;grid-template-columns: 1.5fr 1fr;gap: 0;}
.mega-menu-section {padding: 1.5rem;}
.mega-menu-section:first-child {border-right: 1px solid var(--border);}
.mega-menu-featured {background: hsla(30, 20%, 96%, .8);}
.mega-menu-heading {font-size: .75rem;font-weight: 600;color: var(--muted-foreground);text-transform: uppercase;letter-spacing: .05em;margin-bottom: 1rem;}
.mega-menu-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: .5rem;}
.mega-menu-item {display: flex;align-items: flex-start;gap: .75rem;padding: .6rem;border-radius: .75rem;transition: all .2s;}
.mega-menu-item:hover {background: hsla(220, 30%, 20%, .05);}
.mega-menu-icon {width: 2.5rem;height: 2.5rem;border-radius: .5rem;display: flex;align-items: center;justify-content: center;flex-shrink: 0;}
.mega-menu-icon.bg-green {background: hsla(142, 76%, 36%, .15);color: hsl(142, 76%, 46%);}
.mega-menu-icon.bg-blue {background: hsla(217, 91%, 60%, .15);color: hsl(217, 91%, 60%);}
.mega-menu-icon.bg-purple {background: hsla(262, 83%, 58%, .15);color: hsl(262, 83%, 68%);}
.mega-menu-icon.bg-teal {background: hsla(180, 70%, 45%, .15);color: hsl(180, 70%, 50%);}
.mega-menu-icon.bg-coral {background: hsla(16, 100%, 60%, .15);color: hsl(16, 100%, 60%);}
.mega-menu-text {display: flex;flex-direction: column;gap: .125rem;}
.mega-menu-title {font-size: .875rem;font-weight: 500;color: var(--foreground);}
.mega-menu-desc {font-size: .75rem;color: var(--muted-foreground);line-height: 1.4;}
.mega-menu-list {display: flex;flex-direction: column;gap: .25rem;}
.mega-menu-link {display: flex;align-items: center;gap: .5rem;padding: .5rem .75rem;font-size: .875rem;color: var(--muted-foreground);border-radius: .5rem;transition: all .2s;}
.mega-menu-link:hover {color: var(--foreground);background: hsla(220, 30%, 20%, .05);}
.mega-menu-link svg {color: var(--flamingo);}
.mega-menu-highlights {display: grid;grid-template-columns: repeat(3, 1fr);gap: .75rem;margin-bottom: 1.5rem;}
.mega-menu-highlight {text-align: center;padding: .75rem;background: hsla(30, 20%, 96%, .8);border-radius: .5rem;}
.mega-menu-highlight-value {display: block;font-size: 1.25rem;font-weight: 700;background: linear-gradient(135deg, hsl(16 100% 60%) 0%, hsl(30 100% 55%) 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;}
.mega-menu-highlight-label {font-size: .6875rem;color: var(--muted-foreground);text-transform: uppercase;letter-spacing: .03em;}
.mega-menu-cta {display: inline-flex;align-items: center;justify-content: center;gap: .5rem;width: 100%;padding: .75rem 1rem;font-size: .875rem;font-weight: 600;color: var(--primary);border-radius: var(--radius);margin-top: 1rem;transition: all .2s;}
.mega-menu-cta:hover {background: hsla(16, 100%, 60%, .1);}
.mega-menu-cta.btn-primary {background: linear-gradient(135deg, hsl(16 100% 60%) 0%, hsl(30 100% 55%) 100%);color: #fff;}
.mega-menu-cta.btn-primary:hover {opacity: .9;}
.navbar-cta {display: none;}
@media (min-width:1024px){.navbar-cta {display: flex;align-items: center;gap: 1rem;}
}
.navbar-mobile-toggle {display: block;padding: .5rem;background: none;border: none;color: var(--foreground);}
@media (min-width:1024px){.navbar-mobile-toggle {display: none;}
}
.navbar-mobile-toggle svg{width:1.5rem;height:1.5rem}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 4rem);overflow-y:auto;border-top:1px solid hsla(220,30%,20%,0.1);background:var(--background);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:225;box-shadow:0 10px 40px hsla(220,30%,20%,0.1)}
@media (min-width:1024px){.mobile-menu{display:none !important}
}
.mobile-menu.active{display:block}
.mobile-menu-inner{padding:1.5rem;background:#fff;}
.mobile-link{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-size:1.125rem;font-weight:500;color:var(--foreground);border-bottom:1px solid hsla(220,30%,20%,.1)}
.mobile-accordion{border-bottom:1px solid hsla(220,30%,20%,.1);background:#fff;}
.mobile-accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 0;font-size:1.125rem;font-weight:500;color:var(--foreground);background:#fff;border:none;cursor:pointer;text-align:left}
.accordion-chevron{transition:transform .3s ease}
.mobile-accordion.active .accordion-chevron{transform:rotate(180deg)}
.mobile-accordion-content{display:none;padding-bottom:1rem}
.mobile-accordion.active .mobile-accordion-content{display:block}
.mobile-accordion-content a{display:block;padding:.625rem 0 .625rem 1rem;font-size:.9375rem;color:var(--muted-foreground);transition:color .2s}
.mobile-accordion-content a:hover{color:var(--flamingo)}
.glass{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:hsla(0,0%,100%,0.9);border:1px solid hsla(220,30%,20%,0.1);box-shadow:0 4px 20px hsla(220,30%,20%,0.06)}
a{text-decoration:none;color:inherit;transition:var(--transition-base)}
button{border:none;background:none;cursor:pointer;font-family:inherit;transition:var(--transition-base)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;border:none}
.btn-primary{background:linear-gradient(135deg,var(--flamingo),var(--crusta));color:#fff;box-shadow:0 4px 20px hsla(16,100%,50%,.3)}
.btn-primary:hover,.btn-primary2:hover{transform:translateY(-2px);box-shadow:0 8px 30px hsla(16,100%,50%,.4)}
.btn-outline{background:transparent;color:var(--foreground);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--flamingo);color:var(--flamingo)}
.btn_primary{background:linear-gradient(135deg,var(--flamingo),var(--crusta));color:#fff;box-shadow:0 4px 20px hsla(16,100%,50%,.3)}
.btn_primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px hsla(16,100%,50%,.4)}
.container{max-width:1236px;margin:0 auto;padding:0 var(--spacing-md)}
@media (max-width:768px){.container{padding:0 var(--spacing-md);overflow-x:hidden}
}
@media (min-width:768px){.container{padding:0 var(--spacing-xl)}
}
@media (min-width:1024px){.container{padding:0 var(--spacing-2xl)}
}
.logo-img-foot{width:100px;height:100px;margin-left:0}
.bg-green{background-color:hsl(142 76% 36%)}
.bg-blue{background-color:hsl(217 91% 60%)}
.bg-purple{background-color:hsl(271 91% 65%)}
.bg-teal{background-color:hsl(180 70% 45%)}
.bg-coral{background-color:var(--flamingo)}
.footer {background: linear-gradient(180deg, hsl(220 25% 10%) 0%, hsl(220 25% 7%) 100%);color: var(--light-text);padding: var(--spacing-4xl) 0 var(--spacing-xl);}
.footer-content {display: grid;grid-template-columns: 1fr;gap: var(--spacing-4xl);}
.footer-brand {display: flex;flex-direction: column;gap: var(--spacing-lg);}
.footer-logo {display: flex;align-items: center;gap: var(--spacing-sm);font-weight: 700;font-size: var(--font-size-xl);}
.footer-tagline {color: rgba(255, 255, 255, 0.8);line-height: 1.6;max-width: 300px;}
.footer-social {display: flex;gap: var(--spacing-md);}
.social-link {width: 40px;height: 40px;background: rgba(255, 255, 255, 0.1);border-radius: 50%;display: flex;align-items: center;justify-content: center;color: var(--light-text);transition: var(--transition-base);}
.social-link:hover {background: var(--primary);transform: translateY(-2px);}
.footer-links {display: grid;grid-template-columns: repeat(2, 1fr);gap: var(--spacing-xl);}
.footer-column {display: flex;flex-direction: column;gap: var(--spacing-md);}
.footer-title {font-weight: 700;font-size: var(--font-size-lg);margin-bottom: var(--spacing-sm);}
.footer-list {display: flex;flex-direction: column;gap: var(--spacing-sm);}
.footer-link {color: rgba(255, 255, 255, 0.8);transition: var(--transition-base);}
.footer-link:hover {color: var(--accent-color);}
.footer-bottom {margin-top: var(--spacing-4xl);padding-top: var(--spacing-xl);border-top: 1px solid rgba(255, 255, 255, 0.1);display: flex;flex-direction: column;gap: var(--spacing-sm);align-items: center;text-align: center;color: rgba(255, 255, 255, 0.6);font-size: var(--font-size-sm);}
.footer-contact {margin-top: var(--spacing-2xl);padding-top: var(--spacing-lg);border-top: 1px solid rgba(255, 255, 255, 0.1);color: rgba(255, 255, 255, 0.8);font-size: var(--font-size-sm);text-align: center;display: flex;flex-direction: column;gap: var(--spacing-sm);}
@media (min-width:768px){.footer-content {grid-template-columns: 1fr 2fr;}
.footer-links {grid-template-columns: repeat(4, 1fr);}
.footer-bottom {flex-direction: row;justify-content: space-between;}
.footer-contact {text-align: left;flex-direction: row;justify-content: space-between;align-items: center;}
}

/* =============================================================================================
   2. EDITION BASE
   Tokens are scoped to .e (the <main> of every blog template), so the site header and footer keep
   the main site's own variables. System fonts only: the serif is Charter / Sitka / Cambria / Georgia.
   ============================================================================================= */
body{background:#fbf9f6}
*:focus{outline:none}
*:focus-visible{outline:2px solid #f95730;outline-offset:3px}
.e{--paper:#fbf9f6;--paper-2:#f3efe8;--ink:hsl(222 28% 13%);--ink-2:hsl(222 14% 28%);--muted:hsl(222 9% 44%);--rule:hsl(32 14% 84%);
  --accent:#f95730;--accent-ink:#c3380f;--grad:linear-gradient(135deg,#f95730,#fa8928);
  --serif:Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  display:block;background:var(--paper);color:var(--ink);font-family:var(--sans)}
.e ol,.e ul{list-style:none}
.e-wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.ic{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.125em}
.ic-fill{fill:currentColor;stroke:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:10000;background:#fff;color:#111;padding:.6rem 1rem;border-radius:8px;font-weight:600}
.skip:focus{left:16px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;left:5px;top:5px;z-index:100000;background:#fff;padding:12px 20px}
.nc{font-variant-caps:normal;letter-spacing:.01em}
@media (max-width:479px){.hide-sm{display:none}}
[id]{scroll-margin-top:118px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Newspaper small type: serif small caps for labels, serif italic for datelines and meta */
.e-label{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--accent-ink);display:flex;flex-wrap:wrap;gap:.1rem .5rem;align-items:baseline}
.e-label a{color:inherit}
.e-label a:hover{text-decoration:underline;text-underline-offset:3px}
.e-label>*+*::before{content:"·";margin-right:.5rem;color:var(--muted);font-weight:400}
.e-label .e-fmt{color:var(--muted)}
.e-meta{font-family:var(--serif);font-style:italic;font-size:.95rem;line-height:1.4;color:var(--muted);display:flex;flex-wrap:wrap;gap:.1rem .45rem}
.e-meta>*+*::before{content:"·";margin-right:.45rem;font-style:normal}
.e-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:.95rem;line-height:1.2;transition:background .2s,transform .2s}
.e-btn:hover{background:var(--accent-ink);color:#fff;transform:translateY(-1px)}
.e-btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.e-btn--ghost:hover{background:transparent;color:var(--accent)}
.e-btn--accent{background:var(--grad);color:#fff}
.e-btn--accent:hover{background:var(--grad);filter:saturate(1.1) brightness(1.03)}
.e-more{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.92rem;color:var(--ink);border-bottom:1.5px solid var(--accent);padding-bottom:2px}
.e-more:hover{color:var(--accent-ink)}
.e-more .ic{transition:transform .2s}
.e-more:hover .ic{transform:translateX(3px)}
.e-avatar{border-radius:50%;object-fit:cover;flex:none;background:var(--paper-2)}
.e-media{display:block;aspect-ratio:5/3;overflow:hidden;border-radius:4px;background:var(--paper-2)}
.e-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.e-media img.is-banner{object-fit:contain;background:#fff}
a.e-media:hover img{transform:scale(1.025)}
.e-media-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:var(--ink);color:#fff;font:italic 400 clamp(1.4rem,3vw,2rem) var(--serif)}

/* =============================================================================================
   3. BLOG HOME — the front page of the edition
   ============================================================================================= */
.e-mast{padding-top:calc(6.25rem + clamp(1.5rem,4vw,3rem))}
.e-folio{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:.35rem 1.5rem;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);padding:.6rem 0 .55rem}
.e-folio p{font-family:var(--serif);color:var(--ink-2)}
.e-folio .l,.e-folio .r{font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:1rem}
.e-folio .r{text-align:right}
.e-folio .c{font-style:italic;font-size:1.1rem;color:var(--ink);text-align:center}
@media (max-width:700px){
  .e-folio{grid-template-columns:auto auto;justify-content:space-between;grid-template-areas:"c c" "l r"}
  .e-folio .l,.e-folio .r{font-size:.92rem;letter-spacing:.07em;white-space:nowrap}
  .e-folio .c{grid-area:c;padding-bottom:.45rem;border-bottom:1px solid var(--rule)}
  .e-folio .l{grid-area:l}
  .e-folio .r{grid-area:r}
}
.e-mast-title{margin:clamp(1.75rem,4.5vw,3rem) 0 1.25rem;font-size:clamp(2.35rem,5.8vw,4.6rem);line-height:1.02;letter-spacing:-.038em;font-weight:750;max-width:17ch}
.e-mast-title em{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.02em;color:var(--accent-ink)}
.e-mast-dek{font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink-2);max-width:56ch}
.e-mast-dek a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.e-sections{margin-top:clamp(2rem,4vw,3rem);border-top:3px double var(--ink);border-bottom:1px solid var(--ink)}
.e-sections ul{display:flex;overflow-x:auto;scrollbar-width:none}
.e-sections ul::-webkit-scrollbar{display:none}
.e-sections li+li{border-left:1px solid var(--rule)}
.e-sections a{display:block;white-space:nowrap;padding:.7rem clamp(.7rem,1.2vw,1.1rem);font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:1rem;color:var(--ink-2);transition:color .15s}
.e-sections li:first-child a{padding-left:0}
.e-sections li:last-child a{padding-right:0}
.e-sections a:hover{color:var(--accent-ink)}
.e-sections a[aria-current]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}
.e-sections a:focus-visible{outline-offset:-3px}
/* desktop: every section stays visible. Six items fit on one line; with more, the strip wraps instead of scrolling, and the rule before the first item on each line is clipped */
@media (min-width:1080px){.e-sections ul{--pad:.75rem;flex-wrap:wrap;overflow:hidden;margin-left:calc(-1*var(--pad))}.e-sections li{margin-left:-1px;border-left:1px solid var(--rule)}.e-sections a,.e-sections li:first-child a{padding-inline:var(--pad);letter-spacing:.06em}.e-sections a[aria-current]{box-shadow:none;background:linear-gradient(var(--accent),var(--accent)) 50% 100%/calc(100% - 2*var(--pad)) 3px no-repeat}}

.e-lead{padding-block:clamp(2.25rem,5vw,3.75rem)}
.e-lead-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
@media (min-width:900px){.e-lead-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.e-lead .e-media{border-radius:6px;box-shadow:0 30px 60px -35px hsl(222 40% 15%/.45)}
.e-lead-title{font-size:clamp(1.85rem,3.3vw,2.75rem);line-height:1.08;letter-spacing:-.03em;font-weight:750;margin:.8rem 0 1rem}
.e-lead-title a:hover{color:var(--accent-ink)}
.e-lead-dek{font-family:var(--serif);font-size:1.18rem;line-height:1.6;color:var(--ink-2);margin-bottom:1.4rem}
.e-byline-s{display:flex;align-items:center;gap:.75rem;margin-bottom:1.6rem}
.e-byline-s .by{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:1rem;color:var(--ink)}

.e-sec{padding-block:clamp(2.5rem,6vw,4.5rem)}
.e-sec--flush{padding-top:0}
.e-sechead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;border-top:2px solid var(--ink);padding-top:.9rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.e-sechead h2{font-size:clamp(1.35rem,2.2vw,1.65rem);letter-spacing:-.02em;font-weight:750;line-height:1.2}
.e-sechead p{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1rem}
.e-grid3{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,3.5vw,2.75rem) clamp(1.25rem,3vw,2.25rem)}
@media (min-width:640px){.e-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.e-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.e-card{display:flex;flex-direction:column;gap:.6rem;min-width:0}
.e-card .e-media{margin-bottom:.35rem}
.e-card-title{font-size:1.22rem;line-height:1.25;letter-spacing:-.015em;font-weight:700}
.e-card-title a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .3s}
.e-card-title a:hover{background-size:100% 1.5px;color:var(--accent-ink)}
.e-card-dek{font-family:var(--serif);font-size:1rem;line-height:1.55;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.e-duo{background:var(--paper-2)}
.e-duo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem)}
@media (min-width:960px){.e-duo-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start}}
.e-start ol{counter-reset:s;display:grid}
.e-start li{counter-increment:s;display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;padding-block:1.15rem;border-bottom:1px solid var(--rule)}
.e-start li:first-child{padding-top:0}
.e-start li::before{content:counter(s,decimal-leading-zero);font:italic 400 1.9rem/1 var(--serif);color:var(--accent-ink)}
.e-start h3{font-size:1.08rem;line-height:1.3;font-weight:700;margin-bottom:.35rem}
.e-start h3 a:hover{color:var(--accent-ink)}
.e-start p{font-family:var(--serif);font-size:.96rem;line-height:1.5;color:var(--ink-2);margin-bottom:.4rem}
.e-note{position:relative;background:var(--paper);border-radius:6px;padding:clamp(1.5rem,3.5vw,2.5rem);box-shadow:0 1px 0 var(--rule)}
.e-note::before{content:"\201C";position:absolute;top:-.1em;left:.2em;font:400 7rem/1 var(--serif);color:var(--accent);opacity:.25}
.e-note blockquote{position:relative;font:italic 400 clamp(1.25rem,2vw,1.5rem)/1.45 var(--serif);color:var(--ink);margin-bottom:1.5rem}
.e-note figcaption{display:flex;align-items:center;gap:.9rem;border-top:1px solid var(--rule);padding-top:1.25rem}
.e-note figcaption b{display:block;font-size:1rem}
.e-note figcaption span{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted)}
.e-note p{font-family:var(--serif);font-size:.98rem;line-height:1.55;color:var(--ink-2);margin:1.1rem 0 1.2rem}

.e-topics{display:grid;grid-template-columns:minmax(0,1fr);gap:0 clamp(1.25rem,3vw,2.25rem)}
@media (min-width:640px){.e-topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.e-topics{grid-template-columns:repeat(3,minmax(0,1fr))}}
.e-topic{padding-block:1.35rem 1.6rem;border-top:1px solid var(--rule);display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.e-topic h3{display:flex;align-self:stretch;align-items:baseline;justify-content:space-between;gap:1rem;font-size:1.15rem;font-weight:750;letter-spacing:-.01em}
.e-topic h3 a:hover{color:var(--accent-ink)}
.e-topic h3 span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.95rem;letter-spacing:0;color:var(--muted);white-space:nowrap}
.e-topic>p{font-family:var(--serif);font-size:.98rem;line-height:1.5;color:var(--ink-2)}
.e-topic ul{display:grid;gap:.45rem;margin:.2rem 0 .3rem}
.e-topic li a{display:grid;grid-template-columns:.9rem minmax(0,1fr);gap:.4rem;font-size:.9rem;line-height:1.35;color:var(--ink)}
.e-topic li a::before{content:"\2192";color:var(--accent-ink)}
.e-topic li a:hover{color:var(--accent-ink)}

.e-archive h3{font:italic 400 2rem/1 var(--serif);color:var(--ink);margin:2.2rem 0 .8rem}
.e-archive h3:first-of-type{margin-top:0}
.e-arow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;padding-block:.85rem;border-bottom:1px solid var(--rule);align-items:baseline}
.e-arow time{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:.95rem;color:var(--muted);grid-column:1/-1}
.e-arow a{font-weight:650;font-size:1.02rem;line-height:1.35}
.e-arow a:hover{color:var(--accent-ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.e-arow .t{display:none;font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted)}
.e-arow .m{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted);white-space:nowrap}
@media (min-width:760px){.e-arow{grid-template-columns:7rem minmax(0,1fr) 13rem 4.5rem}.e-arow time{grid-column:auto}.e-arow .t{display:block}.e-arow .m{text-align:right}}

.e-cta{background:var(--ink);color:#fff;padding-block:clamp(3.5rem,8vw,6rem)}
.e-cta-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:end}
@media (min-width:900px){.e-cta-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.e-cta h2{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.04;letter-spacing:-.035em;font-weight:750}
.e-cta h2 em{font-family:var(--serif);font-weight:400;font-style:italic;color:#ff9a6b}
.e-cta p{font-family:var(--serif);font-size:1.15rem;line-height:1.6;color:hsl(0 0% 100%/.75);margin-bottom:1.5rem}
.e-cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.e-cta .e-btn--ghost{color:#fff}
.e-cta .e-btn--ghost:hover{color:#ff9a6b}

/* =============================================================================================
   4. SINGLE POST
   ============================================================================================= */
/* faint grid (concept 2) in newsprint tones, fading into the page */
.e-gridbg{position:relative;isolation:isolate}
.e-gridbg::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(hsl(30 22% 32%/.075) 1px,transparent 1px),linear-gradient(90deg,hsl(30 22% 32%/.075) 1px,transparent 1px);
  background-size:40px 40px;background-position:-1px -1px;
  -webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%)}
.e-phead,.e-ahead{padding-top:calc(6.25rem + clamp(1.25rem,3.5vw,2.5rem));padding-bottom:clamp(.5rem,2vw,1rem)}
.e-ahead{padding-bottom:0}
.e-pfolio{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1.5rem;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);padding:.6rem 0 .55rem;margin-bottom:clamp(1.5rem,3.5vw,2.5rem)}
.e-crumbs ol{display:flex;flex-wrap:wrap;gap:.2rem;font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:1rem;color:var(--muted)}
.e-crumbs li+li::before{content:"\203A";margin:0 .45rem 0 .25rem;color:var(--accent-ink)}
.e-crumbs a:hover{color:var(--accent-ink)}
.e-pfolio .ed{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ink)}
.e-phead-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem clamp(2rem,5vw,4rem);align-items:center}
@media (min-width:960px){.e-phead-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.14fr)}.e-phead-grid.no-image{grid-template-columns:minmax(0,1fr)}}
.e-ptitle{font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.06;letter-spacing:-.034em;font-weight:780;margin:.55rem 0 1.1rem;text-wrap:balance}
.e-standfirst{font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.2rem);line-height:1.55;color:var(--ink-2);max-width:60ch}
/* printer's crop marks around the featured image */
.e-crop{display:block;padding:12px;background:
  linear-gradient(var(--ink),var(--ink)) 0 0/16px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 0/1px 16px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 100% 0/16px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) 100% 0/1px 16px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 0 100%/16px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 100%/1px 16px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 100% 100%/16px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) 100% 100%/1px 16px no-repeat}
.e-crop img{width:100%;height:auto;display:block;border-radius:3px;box-shadow:0 28px 56px -32px hsl(222 40% 15%/.5)}
.e-crop img.is-banner{background:#fff}
.e-byline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(1.75rem,4vw,2.5rem);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
@media (min-width:900px){.e-byline{grid-template-columns:1.6fr 1fr 1fr 1.2fr}}
.e-byline>div{padding:.8rem 1rem .85rem 0;min-width:0}
.e-byline>div+div{padding-left:1rem;border-left:1px solid var(--rule)}
@media (max-width:899px){.e-byline>div:nth-child(3){padding-left:0;border-left:0}.e-byline>div:nth-child(n+3){border-top:1px solid var(--rule)}}
.e-byline dt{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:.92rem;color:var(--muted);margin-bottom:.2rem}
.e-byline dd{font-family:var(--serif);font-size:1rem;color:var(--ink);display:flex;align-items:center;gap:.6rem;line-height:1.3}
.e-byline dd a{font-weight:700}
.e-byline dd a:hover{color:var(--accent-ink)}
.e-byline dd small{display:block;font-style:italic;font-size:.9rem;color:var(--muted)}

.e-body{display:grid;grid-template-columns:minmax(0,1fr);gap:0 clamp(2.5rem,5vw,4.5rem);padding-block:clamp(2.25rem,5vw,3.5rem)}
@media (min-width:1100px){.e-body{grid-template-columns:250px minmax(0,700px);justify-content:start}}
.e-body--page{grid-template-columns:minmax(0,700px)!important}
.e-main{min-width:0}
.e-rail{display:none}
@media (min-width:1100px){.e-rail{display:block;position:sticky;top:124px;align-self:start;max-height:calc(100vh - 140px);overflow:auto;padding-bottom:1rem}}
.e-rail-h{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ink);padding-top:.6rem;margin-bottom:1rem}
.e-rail-h span:first-child{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:1rem}
.e-rail-h span:last-child{font-family:var(--serif);font-style:italic;font-size:.92rem;color:var(--muted)}
/* concept 2's workflow wire: sections are nodes, passed nodes fill, the current one rings */
.e-nodes{position:relative;display:grid;counter-reset:n}
.e-nodes::before,.e-nodes::after{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px}
.e-nodes::before{background:var(--rule)}
.e-nodes::after{background:var(--grad);transform-origin:50% 0;transform:scaleY(var(--read,0))}
.e-nodes li{position:relative;padding-left:1.75rem;counter-increment:n}
.e-nodes li::before{content:"";position:absolute;left:2px;top:.72rem;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid hsl(32 12% 72%);z-index:1;transition:background .2s,border-color .2s,box-shadow .2s}
.e-nodes li.l3::before{left:4px;top:.8rem;width:8px;height:8px;border-width:1.5px}
.e-nodes a{display:grid;grid-template-columns:1.35rem minmax(0,1fr);padding:.4rem 0;font-size:.86rem;line-height:1.35;color:var(--muted);transition:color .15s}
.e-nodes a::before{content:counter(n);font-family:var(--serif);font-style:italic;font-size:.95rem;line-height:1.3;color:hsl(32 12% 62%)}
.e-nodes li.l2 a{color:var(--ink-2);font-weight:650}
.e-nodes a:hover{color:var(--ink)}
.e-nodes li.is-done::before{background:var(--accent);border-color:var(--accent)}
.e-nodes li.is-done a::before{color:var(--accent-ink)}
.e-nodes li:has(a[aria-current])::before{border-color:var(--accent);box-shadow:0 0 0 4px hsl(16 100% 50%/.15)}
.e-nodes a[aria-current]{color:var(--ink);font-weight:700}
.e-nodes a[aria-current]::before{color:var(--accent-ink)}
.e-rail-left{display:flex;align-items:center;gap:.45rem;margin:1.1rem 0 1.4rem;padding-top:.9rem;border-top:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--ink-2)}
.e-rail-left .ic{color:var(--accent-ink)}
.e-rail-share p{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:.95rem;color:var(--muted);margin-bottom:.5rem}
.e-rail-share div{display:flex;flex-wrap:wrap;gap:.4rem}
.e-sbtn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:38px;height:38px;padding:0 .7rem;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);font:600 .82rem var(--sans);cursor:pointer;transition:border-color .2s,color .2s}
.e-sbtn:hover{border-color:var(--ink);color:var(--ink)}
.e-sbtn[data-copied]{border-color:#15803d;color:#15803d}
.e-rail-share .e-sbtn{padding:0;width:38px}
/* mobile: sticky "where am I" bar */
.e-where{position:sticky;top:6.25rem;z-index:40;margin:0 calc(-1 * clamp(16px,4vw,40px)) 1.75rem;background:var(--paper);border-block:1px solid var(--rule)}
.e-where[open]{box-shadow:0 18px 30px -18px hsl(222 40% 15%/.35)}
@media (min-width:1100px){.e-where{display:none}}
.e-where summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.75rem clamp(16px,4vw,40px);font-size:.92rem;font-weight:620}
.e-where summary::-webkit-details-marker{display:none}
.e-where summary b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.95rem;color:var(--accent-ink);white-space:nowrap}
.e-where summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e-where summary .ic{transition:transform .2s}
.e-where[open] summary .ic{transform:rotate(180deg)}
.e-where::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);transform-origin:0 50%;transform:scaleX(var(--read,0))}
.e-where nav{padding:.25rem clamp(16px,4vw,40px) 1rem;max-height:60vh;overflow:auto}
/* "In brief" (key takeaways) */
.e-brief{border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);padding:.85rem 0 1.2rem;margin-bottom:2.4rem}
.e-brief h2{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem}
.e-brief h2 b{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:1.05rem;color:var(--accent-ink)}
.e-brief h2 span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.92rem;color:var(--muted)}
.e-brief ol{counter-reset:b;display:grid;gap:.8rem}
.e-brief li{counter-increment:b;display:grid;grid-template-columns:1.7rem minmax(0,1fr);font-family:var(--serif);font-size:1.03rem;line-height:1.55;color:var(--ink)}
.e-brief li::before{content:counter(b);font-style:italic;font-size:1.35rem;line-height:1.1;color:var(--accent-ink)}

.e-afoot{margin-top:3rem;display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.e-filed{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem;border-block:1px solid var(--rule)}
.e-filed p{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--muted)}
.e-filed p a{font-style:normal;color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.e-shares{display:flex;flex-wrap:wrap;gap:.5rem}
.e-author{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;border-top:3px solid var(--ink);padding-top:1.25rem}
@media (min-width:600px){.e-author{grid-template-columns:104px minmax(0,1fr)}}
.e-author .lbl{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:1rem;color:var(--accent-ink)}
.e-author h2{font-size:1.4rem;letter-spacing:-.02em;margin:.1rem 0 .05rem}
.e-author .role{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--muted);margin-bottom:.85rem}
.e-author p.bio{font-family:var(--serif);font-size:1.03rem;line-height:1.6;color:var(--ink-2);margin-bottom:1rem}
.e-author ul{display:grid;gap:.4rem;margin-bottom:1.1rem}
.e-author li{display:flex;gap:.55rem;font-size:.9rem;color:var(--ink-2)}
.e-author li .ic{color:var(--accent-ink);margin-top:.2rem}
.e-author .links{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;align-items:center}
.e-author .links a.icon{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;border:1px solid var(--rule)}
.e-author .links a.icon:hover{border-color:var(--ink)}
.e-pn{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
@media (min-width:700px){.e-pn{grid-template-columns:1fr 1fr}.e-pn .next{text-align:right}.e-pn .next small{justify-content:flex-end}}
.e-pn a{display:block;padding:1rem 1.15rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper);transition:border-color .2s}
.e-pn a:hover{border-color:var(--ink)}
.e-pn small{display:flex;align-items:center;gap:.4rem;font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:700;font-size:.92rem;color:var(--muted);margin-bottom:.3rem}
.e-pn b{font-size:1rem;line-height:1.35}
.e-related{background:var(--paper-2);margin-top:clamp(3rem,7vw,5rem)}
.e-pagelinks{margin-top:2rem;font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700}
.e-pagelinks a{color:var(--accent-ink);margin-inline:.35rem}

/* =============================================================================================
   5. ARCHIVES, SEARCH, 404
   ============================================================================================= */
.e-atitle{max-width:24ch;margin-top:.4rem}
.e-adesc{font-family:var(--serif);font-size:clamp(1.05rem,1.4vw,1.15rem);line-height:1.6;color:var(--ink-2);max-width:62ch;margin-bottom:1rem}
.e-adesc p+p{margin-top:.8em}
.e-adesc a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.e-ahead .e-sections{margin-top:clamp(1.5rem,3vw,2.25rem)}
.e-empty{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--muted)}
.e-search{display:flex;align-items:center;gap:.5rem;max-width:560px;margin:1.25rem 0 .5rem;padding:.35rem .35rem .35rem .9rem;background:#fff;border:1px solid var(--rule);border-radius:999px}
.e-search:focus-within{border-color:var(--ink)}
.e-search .ic{color:var(--muted);font-size:1.05rem}
.e-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1rem;padding:.5rem .25rem;color:var(--ink)}
.e-search input:focus{outline:none}
.e-search button{padding:.6rem 1.1rem;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:.92rem}
.e-search button:hover{background:var(--accent-ink)}
.e-pagination{margin-top:clamp(2rem,5vw,3rem);padding-top:1rem;border-top:1px solid var(--rule)}
.e-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;justify-content:center}
.e-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .75rem;border-radius:999px;font-family:var(--serif);font-weight:700;color:var(--ink-2)}
.e-pagination a.page-numbers:hover{background:var(--paper-2);color:var(--ink)}
.e-pagination .current{background:var(--ink);color:#fff}

/* =============================================================================================
   6. PRINT — the edition prints cleanly (article only, links spelled out)
   ============================================================================================= */
@media print{
  .navbar,.footer,.e-rail,.e-where,.e-sections,.e-cta,.e-related,.e-shares,.e-pn,.e-crop,.e-gridbg::before,.skip{display:none!important}
  .e,body{background:#fff!important}
  .e-phead,.e-ahead{padding-top:0}
  .e-body{display:block;padding-top:1rem}
  .e-prose{font-size:11.5pt;line-height:1.55;color:#000}
  .e-prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#555;word-break:break-all}
  .e-prose .fe-yt,.e-prose iframe,.e-prose video{display:none}
}

/* =============================================================================================
   7. ARTICLE CONTENT — every WordPress block
   Selectors target WordPress blocks (.wp-block-*) and top-level elements only, so custom HTML
   components inside posts (the fio-cta boxes, custom mock-ups) keep their own styling.
   ============================================================================================= */
.e-prose{font-family:var(--serif);font-size:clamp(1.0625rem,.95rem + .5vw,1.1875rem);line-height:1.75;color:var(--ink-2);counter-reset:sec fig;font-kerning:normal;text-wrap:pretty;overflow-wrap:break-word}
.e-prose::after{content:"";display:table;clear:both}
.e-prose>*+*{margin-top:1.15em}
.e-prose>p:first-of-type::first-letter{float:left;font:400 3.55em/.82 var(--serif);margin:.08em .1em 0 0;color:var(--ink)}
.e-prose strong,.e-prose b{color:var(--ink);font-weight:700}
.e-prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:color .15s}
.e-prose a:hover{color:var(--accent-ink)}
.e-prose mark{background:hsl(40 100% 86%);color:inherit;padding:0 .15em}
.e-prose small{font-size:.85em}
.e-prose sub,.e-prose sup{font-size:.7em;line-height:0}
.e-prose abbr[title]{text-decoration:underline dotted;text-underline-offset:.2em;cursor:help}

/* Headings (numbered to match the contents list) */
.e-prose>:is(h2,h3,h4,h5,h6),.e-prose :is(h2,h3,h4,h5,h6).wp-block-heading{font-family:var(--sans);color:var(--ink);text-wrap:balance}
.e-prose>h2,.e-prose h2.wp-block-heading{font-size:clamp(1.5rem,2.6vw,1.9rem);line-height:1.18;letter-spacing:-.025em;font-weight:760;margin-top:2.3em;padding-top:1.1rem;border-top:1px solid var(--rule)}
.e-prose>h3,.e-prose h3.wp-block-heading{font-size:clamp(1.2rem,2vw,1.38rem);line-height:1.3;letter-spacing:-.015em;font-weight:720;margin-top:2em}
.e-prose>h4,.e-prose h4.wp-block-heading{font-size:1.12rem;line-height:1.35;font-weight:720;margin-top:1.8em}
.e-prose>:is(h5,h6),.e-prose :is(h5,h6).wp-block-heading{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:1.05rem;color:var(--muted);margin-top:1.6em}
.e-prose .fe-toc-h{counter-increment:sec}
.e-prose .fe-toc-h::before{content:counter(sec,decimal-leading-zero);display:block;width:max-content;padding-left:1.9rem;margin-bottom:.4rem;font:italic 400 1rem/1.2 var(--serif);letter-spacing:0;color:var(--accent-ink);background:linear-gradient(var(--accent),var(--accent)) 0 55%/1.4rem 1px no-repeat}
.e-prose>:is(h2,h3,h4,h5,h6)+*,.e-prose .wp-block-heading+*{margin-top:.55em}
.e-prose>:is(h2,h3,h4,h5,h6):first-child,.e-prose .wp-block-heading:first-child{margin-top:0}

/* Lists: square bullets, italic numerals */
.e-prose>ul,.e-prose ul.wp-block-list{list-style:none;padding-left:1.35rem}
.e-prose>ul>li,.e-prose ul.wp-block-list>li{position:relative}
.e-prose>ul>li::before,.e-prose ul.wp-block-list>li::before{content:"";position:absolute;left:-1.1rem;top:.68em;width:6px;height:6px;background:var(--accent)}
.e-prose ul.wp-block-list ul.wp-block-list>li::before,.e-prose>ul ul>li::before{background:transparent;border:1.5px solid var(--accent);width:5px;height:5px}
.e-prose>ol,.e-prose ol.wp-block-list{list-style:decimal;padding-left:1.6rem}
.e-prose>ol>li::marker,.e-prose ol.wp-block-list>li::marker{font-style:italic;color:var(--accent-ink)}
.e-prose :is(.wp-block-list,.e-prose>ul,.e-prose>ol) li+li,.e-prose>:is(ul,ol) li+li{margin-top:.6em}
.e-prose :is(ul,ol).wp-block-list :is(ul,ol),.e-prose>:is(ul,ol) :is(ul,ol){margin-top:.5em}

/* Quotes */
.e-prose>blockquote,.e-prose .wp-block-quote{margin-block:2em;padding:.15rem 0 .15rem 1.4rem;border-left:3px solid var(--accent);font-style:italic;font-size:1.06em;line-height:1.65;color:var(--ink)}
.e-prose>blockquote p+p,.e-prose .wp-block-quote p+p{margin-top:.8em}
.e-prose>blockquote cite,.e-prose .wp-block-quote cite{display:block;margin-top:.75rem;font-style:normal;font-weight:600;font-size:.86em;color:var(--muted)}
.e-prose>blockquote cite::before,.e-prose .wp-block-quote cite::before{content:"\2014\2002"}
.e-prose .wp-block-quote.is-style-large,.e-prose .wp-block-quote.is-large{font-size:1.32em;border-left-width:4px;padding-block:.3rem}
.e-prose .wp-block-pullquote{margin-block:2.5em;padding:1.6rem 0 1.4rem;border:0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);text-align:center}
.e-prose .wp-block-pullquote blockquote{margin:0;padding:0;border:0}
.e-prose .wp-block-pullquote p{font:italic 400 clamp(1.4rem,2.6vw,1.8rem)/1.35 var(--serif);color:var(--ink)}
.e-prose .wp-block-pullquote cite{display:block;margin-top:.9rem;font-style:normal;font-weight:600;font-size:.95rem;color:var(--accent-ink)}
.e-prose .wp-block-pullquote cite::before{content:"\2014\2002"}

/* Code (monospace is kept for code: it's the one place it belongs) */
.e-prose code,.e-prose kbd,.e-prose samp{font-family:var(--mono);font-size:.84em}
.e-prose :not(pre)>code{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:.1em .35em;color:var(--ink);overflow-wrap:anywhere}
.e-prose kbd{border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px;padding:.05em .35em;background:#fff;color:var(--ink)}
.e-prose .code-ref{font-family:var(--mono);font-size:.84em;background:hsl(16 100% 50%/.07);color:var(--accent-ink);border:1px solid hsl(16 100% 50%/.18);border-radius:4px;padding:.1em .4em;white-space:nowrap}
.e-prose>pre,.e-prose pre.wp-block-code,.e-prose pre.wp-block-preformatted{margin-block:1.8em;padding:1.1rem 1.25rem;background:hsl(222 28% 11%);color:hsl(40 20% 90%);border:0;border-radius:6px;overflow-x:auto;font:400 .88rem/1.7 var(--mono);tab-size:2;white-space:pre}
.e-prose pre.wp-block-preformatted{white-space:pre-wrap}
.e-prose pre code{background:none;border:0;padding:0;font-size:inherit;color:inherit;overflow-wrap:normal}
.e-prose .wp-block-verse{font-family:var(--serif);font-style:italic;white-space:pre-wrap;padding:0 0 0 1.4rem;border-left:1px solid var(--rule);background:none;color:var(--ink)}

/* Tables (wide ones scroll sideways on phones) */
.e-prose .wp-block-table,.e-prose>table{margin-block:2em;font:400 .92rem/1.5 var(--sans);overflow-x:auto}
.e-prose .wp-block-table table,.e-prose>table{width:100%;border-collapse:collapse}
.e-prose .wp-block-table thead,.e-prose .wp-block-table tfoot{border:0}
.e-prose .wp-block-table :is(th,td),.e-prose>table :is(th,td){padding:.65rem .8rem;border:0;border-bottom:1px solid var(--rule);vertical-align:top}
:where(.e-prose .wp-block-table,.e-prose>table) :where(th){text-align:left}
.e-prose .wp-block-table thead th,.e-prose>table thead th{font-family:var(--serif);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;font-size:1rem;color:var(--muted);border-bottom:2px solid var(--ink)}
.e-prose .wp-block-table.is-style-stripes{border-bottom:0}
.e-prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:var(--paper-2)}
.e-prose .wp-block-table figcaption{font-family:var(--serif);font-size:.9rem;color:var(--muted);margin-top:.6rem}
.e-prose .table-responsive{overflow-x:auto;margin-block:2em;-webkit-overflow-scrolling:touch}

/* Images, video, audio, galleries: framed like printed figures, numbered captions */
.e-prose :is(.wp-block-image,.wp-block-video,.wp-block-embed,.wp-block-gallery,.wp-block-audio){margin-block:2.2em}
.e-prose :is(.wp-block-image,.wp-block-video,.wp-block-gallery){border:1px solid var(--rule);background:#fff;padding:10px}
.e-prose .wp-block-gallery .wp-block-image{border:0;background:none;padding:0}
.e-prose .wp-block-image img{margin-inline:auto;border-radius:2px}
.e-prose .wp-block-image figure{margin:0}
.e-prose :is(.wp-block-image,.wp-block-video,.wp-block-embed,.wp-block-gallery,.wp-block-audio) figcaption,.e-prose .wp-element-caption{font-family:var(--serif);font-size:.92rem;line-height:1.5;color:var(--muted);padding:.75rem .35rem .15rem;margin:0;text-align:left}
.e-prose :is(.wp-block-image,.wp-block-video,.wp-block-gallery)>figcaption{counter-increment:fig}
.e-prose :is(.wp-block-image,.wp-block-video,.wp-block-gallery)>figcaption::before{content:"Fig. " counter(fig) " \2014  ";font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:700;color:var(--accent-ink)}
.e-prose :is(.wp-block-image,.wp-block-video,.wp-block-gallery)>figcaption em{font-style:normal}
/* captions on single gallery images keep the WordPress overlay and are not numbered */
.e-prose .wp-block-gallery .wp-block-image>figcaption{counter-increment:none}
.e-prose .wp-block-gallery .wp-block-image>figcaption::before{content:none}
.e-prose video{width:100%;height:auto;display:block;border-radius:2px;background:#000}
.e-prose audio{width:100%;display:block}
.e-prose .wp-block-gallery{gap:.5rem}
.e-prose .wp-block-gallery img{border-radius:3px}
.e-prose :is(.alignwide,.alignfull){max-width:100%;margin-inline:0}
@media (min-width:700px){
  .e-prose .alignleft{float:left;margin:.35em 1.6em 1em 0;max-width:50%}
  .e-prose .alignright{float:right;margin:.35em 0 1em 1.6em;max-width:50%}
}

/* Embeds: responsive video, centred LinkedIn posts, YouTube click-to-play */
.e-prose iframe,.e-prose embed,.e-prose object{max-width:100%;border:0}
.e-prose>iframe,.e-prose .wp-block-embed iframe{display:block;margin-inline:auto}
.e-prose iframe[src*="linkedin.com"]{border:1px solid var(--rule);border-radius:6px;background:#fff;margin-inline:auto;display:block}
.e-prose .wp-block-embed figcaption{text-align:center}
.fe-yt{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden;margin-block:2em}
.fe-yt-btn{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#000}
.fe-yt-btn img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .2s}
.fe-yt-btn:hover img{opacity:1}
.fe-yt-play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:linear-gradient(135deg,#f95730,#fa8928);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px hsl(16 100% 40%/.6);transition:transform .2s}
.fe-yt-btn:hover .fe-yt-play,.fe-yt-btn:focus-visible .fe-yt-play{transform:scale(1.07)}
.fe-yt-play .ic{width:30px;height:30px;fill:currentColor;stroke:none;margin-left:4px}
.fe-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Buttons */
.e-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.e-prose .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.3rem;border-radius:999px;background:var(--ink);color:#fff;font:600 .95rem/1.2 var(--sans);text-decoration:none;transition:background .2s,transform .2s}
.e-prose .wp-block-button__link:hover{background:var(--accent-ink);color:#fff;transform:translateY(-1px)}
.e-prose .is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px currentColor}
.e-prose .is-style-outline .wp-block-button__link:hover{color:var(--accent-ink);background:transparent}

/* Separators */
.e-prose>hr,.e-prose .wp-block-separator{border:0;height:1px;background:var(--rule);margin:2.5em auto;opacity:1;width:100%}
.e-prose .wp-block-separator.is-style-dots{background:none;height:auto;text-align:center;line-height:1}
.e-prose .wp-block-separator.is-style-dots::before{content:"\00B7\00B7\00B7";letter-spacing:1em;padding-left:1em;color:var(--muted);font:400 1.6rem/1 var(--serif)}

/* Details (accordions / FAQs) */
.e-prose .wp-block-details,.e-prose>details{border-block:1px solid var(--rule)}
.e-prose .wp-block-details+.wp-block-details,.e-prose>details+details{margin-top:0;border-top:0}
.e-prose .wp-block-details>summary,.e-prose>details>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 0;font:650 1.05rem/1.4 var(--sans);color:var(--ink)}
.e-prose .wp-block-details>summary::-webkit-details-marker,.e-prose>details>summary::-webkit-details-marker{display:none}
.e-prose .wp-block-details>summary::after,.e-prose>details>summary::after{content:"+";font:400 1.5rem/1 var(--serif);color:var(--accent-ink);flex:none}
.e-prose .wp-block-details[open]>summary::after,.e-prose>details[open]>summary::after{content:"\2212"}
.e-prose .wp-block-details>:not(summary),.e-prose>details>:not(summary){margin-bottom:1rem}

/* Layout blocks */
.e-prose .wp-block-columns{gap:1.5rem 2rem;margin-block:1.8em}
.e-prose .wp-block-column>*+*{margin-top:1em}
.e-prose .wp-block-group>*+*,.e-prose .wp-block-group__inner-container>*+*{margin-top:1em}
.e-prose .wp-block-group.has-background{padding:1.4rem 1.6rem;border-radius:6px}
.e-prose .wp-block-media-text{margin-block:2em;align-items:center}
.e-prose .wp-block-media-text__media img{border-radius:4px}
.e-prose .wp-block-media-text__content>*+*{margin-top:.8em}
@media (max-width:600px){.e-prose .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{padding:1rem 0 0}}
.e-prose .wp-block-cover{border-radius:6px;margin-block:2em}

/* Footnotes, file downloads */
.e-prose .wp-block-footnotes{margin-top:3em;padding:1rem 0 0 1.4rem;border-top:1px solid var(--rule);font-size:.88rem;line-height:1.55;color:var(--muted);list-style:decimal}
.e-prose sup.fn a,.e-prose .fn a{text-decoration:none;color:var(--accent-ink);font-weight:700}
.e-prose .wp-block-file{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.2rem;border:1px solid var(--rule);border-radius:6px;background:#fff;font:400 .95rem/1.4 var(--sans)}
.e-prose .wp-block-file__button{padding:.55rem 1rem;border-radius:999px;background:var(--ink);color:#fff!important;text-decoration:none;font-weight:600;font-size:.88rem}

/* Rank Math blocks (FAQ; the Table of Contents block is replaced by the theme's own list on posts) */
.e-prose .rank-math-list-item{padding-block:1rem;border-bottom:1px solid var(--rule)}
.e-prose .rank-math-question{font:700 1.1rem/1.35 var(--sans);color:var(--ink);margin:0 0 .45rem}
.e-prose .rank-math-answer>*+*{margin-top:.8em}
.e-prose .wp-block-rank-math-toc-block{padding:1rem 1.25rem;border:1px solid var(--rule);background:var(--paper-2);border-radius:6px}
