/*!
Theme Name: Wealth Management Chronicle
Theme URI: https://wealthmanagementchronicle.co.uk
Author: Wealth Management Chronicle
Author URI: https://wealthmanagementchronicle.co.uk
Description: A clean, modern editorial theme for Wealth Management Chronicle — the UK trade publication for financial advice, wealth management and regulation. Dark-green mastheads, forest-green accents, Archivo / Chakra Petch / IBM Plex Mono typography, and a fully editable header, footer, About and Contact experience. Designed to pair with ACF and WPForms. (Redesigned in line with the AgileNation theme system, recoloured from blue to green.)
Version: 2.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wmn
Tags: news, blog, editorial, two-columns, custom-menu, featured-images, translation-ready, custom-logo
*/

/* =====================================================================
   1. Tokens
   ===================================================================== */
:root {
	--ink: #14141A;
	--body: #23262E;
	--body-2: #2A2E38;
	--muted: #4A4E58;
	--muted-2: #5A5E68;
	--faint: #8A8E98;
	--accent: #214e34;        /* WMN forest green (brand accent) */
	--accent-dark: #8fe3ba;   /* mint-green for use on dark green backgrounds */
	--wmn-dark: #12291d;      /* WMN dark-green masthead / footer / opinion band */
	--wmn-dark-2: #0f2318;    /* slightly deeper green for the search overlay */
	--page: #F7F8FA;
	--white: #FFFFFF;
	--nl-tint: #E7F5EC;       /* soft mint newsletter box tint */
	--nl-border: #C3E3D2;
	--hair: #E6E7EB;
	--control: #D5D7DD;
	--exclusive: #E8473F;     /* semantic "exclusive" flag — unrelated to brand colour */

	--ff: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ff-wordmark: "Chakra Petch", var(--ff);
	--ff-mono: "IBM Plex Mono", ui-monospace, monospace;

	--maxw: 1200px;
	--maxw-wide: 1240px;
	--maxw-narrow: 1000px;
	--pad: 24px;
	--pad-wide: 28px;
}

/* =====================================================================
   2. Reset / base
   ===================================================================== */
* { box-sizing: border-box; }
body {
	margin: 0;
	background: var(--white);
	color: var(--ink);
	font-family: var(--ff);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.wmn-interior { background: var(--page); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; }
p { margin: 0 0 1em; }
button { font-family: inherit; }

.wmn-hl { transition: color .12s ease; }
.wmn-hl:hover { color: var(--accent); }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px; overflow: hidden;
	word-wrap: normal !important;
}
.wmn-skip:focus {
	position: fixed; left: 12px; top: 12px; z-index: 100000;
	width: auto; height: auto; clip: auto;
	background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 4px;
}

/* =====================================================================
   3. Layout
   ===================================================================== */
.wmn-container { max-width: var(--maxw); margin: 0 auto; padding-left: var(--pad); padding-right: var(--pad); }
.wmn-container--wide { max-width: var(--maxw-wide); padding-left: var(--pad-wide); padding-right: var(--pad-wide); }
.wmn-container--narrow { max-width: var(--maxw-narrow); }
.wmn-main { display: block; }
.wmn-site { overflow-x: clip; }

/* =====================================================================
   4. Wordmark
   ===================================================================== */
.wmn-wordmark { display: inline-flex; flex-direction: column; gap: 2px; color: var(--ink); }
.wmn-wordmark__name { font: 700 23px/1 var(--ff-wordmark); letter-spacing: -.01em; }
.wmn-wordmark__accent { color: var(--accent); }
.wmn-wordmark__tagline { font: 600 8px var(--ff); letter-spacing: .18em; text-transform: uppercase; color: var(--faint); }
/* Option C, confirmed by the client: the whole wordmark reads as one solid
   mint colour on dark backgrounds, not a two-tone split. */
.wmn-wordmark--dark { color: var(--accent-dark); }
.wmn-wordmark--dark .wmn-wordmark__accent { color: var(--accent-dark); }
.wmn-wordmark--dark .wmn-wordmark__tagline { color: rgba(255,255,255,.55); }

/* Brand lockup: optional logo mark + the wordmark text always renders (the
   wordmark is never hidden just because a logo is set — WMN's logo is a
   small monogram, not a full wordmark-as-image the way AgileNation's is). */
.wmn-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.wmn-brand__mark { display: inline-flex; flex: none; }
/* Masthead/footer are both dark green — a mark whose own fill is a similarly
   dark green (as WMN's circular monogram is) all but disappears against them
   with no backdrop. A small white plate guarantees contrast regardless of
   the mark's own colours. */
.wmn-brand__mark .custom-logo-link {
	display: inline-flex;
	background: #fff;
	border-radius: 999px;
	padding: 4px;
	line-height: 0;
}
.wmn-brand__mark img { max-height: 40px; width: auto; display: block; }

/* =====================================================================
   5. Masthead (site-wide, sticky, dark green)
   ===================================================================== */
.wmn-masthead { position: sticky; top: 0; z-index: 60; background: var(--wmn-dark); color: #fff; }
.admin-bar .wmn-masthead { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .wmn-masthead { top: 46px; } }
.wmn-masthead__top { display: flex; align-items: center; gap: 22px; padding-top: 14px; padding-bottom: 14px; }
.wmn-masthead__top .wmn-wordmark__name { font-size: 24px; }
.wmn-masthead__utility { margin-left: auto; display: flex; align-items: center; gap: 16px; font: 700 12px var(--ff); letter-spacing: .04em; }
.wmn-masthead__date { font: 500 12px var(--ff-mono); color: rgba(255,255,255,.5); }
.wmn-masthead__subscribe { color: var(--accent-dark); }
.wmn-masthead__nav { border-top: 1px solid rgba(255,255,255,.1); }
.wmn-masthead__navrow { display: flex; align-items: center; gap: 18px; padding-top: 9px; padding-bottom: 9px; }
.wmn-masthead__briefing { margin-left: auto; font: 700 11px var(--ff); color: #fff; }

.wmn-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 18px; }
.wmn-menu a { color: inherit; transition: color .12s ease; }
.wmn-menu a:hover { color: var(--accent); }
.wmn-menu--masthead { font: 700 12px var(--ff); letter-spacing: .05em; text-transform: uppercase; flex-wrap: wrap; }
.wmn-menu--masthead a:hover { color: var(--accent-dark); }
.wmn-menu--masthead .current-menu-item > a { color: var(--accent-dark); }

/* =====================================================================
   6b. Dropdown sub-menus
   ===================================================================== */
.wmn-menu li { position: relative; }
.wmn-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.wmn-menu .menu-item-has-children > a::after { content: "▾"; margin-left: 5px; font-size: .8em; opacity: .75; }

@media (min-width: 861px) {
	.wmn-menu > li > .sub-menu {
		position: absolute; top: 100%; left: 0; z-index: 80;
		min-width: 220px; padding: 10px 0; border-radius: 4px;
		opacity: 0; visibility: hidden; transform: translateY(4px);
		transition: opacity .14s ease, transform .14s ease, visibility .14s;
		box-shadow: 0 14px 34px rgba(18,41,29,.20);
	}
	.wmn-menu > li:hover > .sub-menu,
	.wmn-menu > li:focus-within > .sub-menu {
		opacity: 1; visibility: visible; transform: translateY(0);
	}
	.wmn-menu .sub-menu a {
		display: block; padding: 7px 18px; white-space: nowrap;
		font: 600 12px var(--ff); letter-spacing: .02em; text-transform: none;
	}
	/* Dark dropdown on the green masthead */
	.wmn-menu--masthead > li > .sub-menu { background: var(--wmn-dark-2); border: 1px solid rgba(255,255,255,.12); }
	.wmn-menu--masthead .sub-menu a { color: rgba(255,255,255,.85); }
	.wmn-menu--masthead .sub-menu a:hover { color: #fff; background: rgba(255,255,255,.06); }
}

/* Search + nav toggles */
.wmn-search-toggle {
	background: none; border: 1px solid rgba(255,255,255,.25); border-radius: 999px;
	width: 32px; height: 32px; cursor: pointer; color: #fff; font-size: 13px; line-height: 1;
	flex: none;
}
.wmn-searchbar__close { width: auto; height: auto; border: none; padding: 0; color: rgba(255,255,255,.6); font: 600 12px var(--ff); letter-spacing: .12em; }
.wmn-searchbar__close:hover { color: #fff; }

.wmn-nav-toggle { display: none; background: none; border: none; cursor: pointer; width: 30px; height: 30px; padding: 5px; flex: none; }
.wmn-nav-toggle span { display: block; height: 2px; background: #fff; margin: 5px 0; transition: .2s; }

/* =====================================================================
   7. Search bar (toggled overlay)
   ===================================================================== */
.wmn-searchbar { background: var(--wmn-dark-2); padding: 16px 0; }
.wmn-searchbar__inner { display: flex; align-items: center; gap: 12px; }
.wmn-searchbar__label { color: var(--accent-dark); font: 700 13px var(--ff); letter-spacing: .14em; }
.wmn-searchbar__form { flex: 1; }
.wmn-searchbar__input {
	width: 100%; background: transparent; border: none; outline: none; color: #fff;
	font: 600 22px/1.2 var(--ff); border-bottom: 1px solid rgba(255,255,255,.25); padding: 6px 0;
}
.wmn-searchbar__input::placeholder { color: rgba(255,255,255,.4); }

/* =====================================================================
   8. Eyebrows / kickers / meta / flags
   ===================================================================== */
.wmn-kicker { display: inline-block; font: 800 9px var(--ff); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.wmn-kicker--lg { font-size: 11px; letter-spacing: .12em; margin-bottom: 9px; }
.wmn-kicker--light { color: var(--accent-dark); }
a.wmn-kicker:hover { color: var(--ink); }
.wmn-eyebrow { font: 600 11px var(--ff); letter-spacing: .16em; text-transform: uppercase; color: var(--faint); margin-bottom: 14px; }
.wmn-eyebrow--accent { color: var(--accent); }
.wmn-section__eyebrow { font: 700 13px var(--ff); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin-bottom: 22px; }
.wmn-meta { font: 700 10px var(--ff); letter-spacing: .08em; text-transform: uppercase; color: var(--faint); }
.wmn-meta--plain { font: 500 12px var(--ff); letter-spacing: 0; text-transform: none; color: var(--faint); }
.wmn-meta--light { color: rgba(255,255,255,.55); }
.wmn-flag {
	display: inline-block; font: 800 9px var(--ff); letter-spacing: .1em; text-transform: uppercase;
	color: #fff; background: var(--exclusive); border-radius: 2px; padding: 2px 6px; margin-bottom: 6px;
}

/* =====================================================================
   9. Thumbnails / placeholders / avatars
   ===================================================================== */
.wmn-thumb { position: relative; overflow: hidden; border-radius: 3px; background: #E6E9F1; }
.wmn-thumb__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wmn-thumb__cap {
	position: absolute; left: 14px; bottom: 12px;
	font: 600 10px var(--ff); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7);
}
.wmn-thumb-link { display: block; }
.wmn-ph--hero, .wmn-thumb--branded { background: linear-gradient(135deg, #12291d, #214e34 130%); }
.wmn-ph--g1 { background: linear-gradient(160deg, #E2E6EC, #CCD2DB); }
.wmn-ph--g2 { background: linear-gradient(160deg, #E8EAF0, #D4D8E2); }
.wmn-ph--g3 { background: linear-gradient(160deg, #E6E9F1, #D2D7E1); }
.wmn-ph--g4 { background: linear-gradient(160deg, #DCE3F2, #C4D0E8); }
.wmn-ph--avatar { background: linear-gradient(150deg, #D2D8E2, #B6BFCB); }

.r-16-9 { aspect-ratio: 16/9; }
.r-16-8 { aspect-ratio: 2/1; }
.r-16-10 { aspect-ratio: 16/10; }
.r-21-9 { aspect-ratio: 21/9; }
.r-3-2 { aspect-ratio: 3/2; }
.r-4-3 { aspect-ratio: 4/3; }
.r-1 { aspect-ratio: 1/1; }

.wmn-avatar { border-radius: 999px; overflow: hidden; flex: none; background: linear-gradient(150deg, #D2D8E2, #B6BFCB); }
.wmn-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 999px; }
.wmn-avatar--46 { width: 46px; height: 46px; }
.wmn-avatar--64 { width: 64px; height: 64px; }

/* =====================================================================
   10. Buttons & pills
   ===================================================================== */
.wmn-btn {
	display: inline-block; cursor: pointer; border: none; border-radius: 4px;
	font: 700 13px var(--ff); letter-spacing: .06em; text-transform: uppercase; padding: 15px 28px;
	transition: opacity .15s ease;
}
.wmn-btn:hover { opacity: .88; }
.wmn-btn--ink { background: var(--ink); color: #fff; }
.wmn-btn--outline { background: none; border: 1px solid var(--ink); color: var(--ink); padding: 9px 18px; font-size: 12px; }
.wmn-btn--pill { border-radius: 999px; }
.wmn-btn--lg { padding: 15px 28px; }
.wmn-btn--ink.wmn-btn--pill { padding: 8px 18px; font-size: 11px; }

.wmn-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.wmn-pill {
	font: 600 12px var(--ff); letter-spacing: .04em; border: 1px solid var(--control);
	border-radius: 999px; padding: 7px 15px; color: #3A3E48; transition: border-color .12s, color .12s;
}
a.wmn-pill:hover { border-color: var(--accent); color: var(--accent); }
.wmn-pill--active { background: var(--ink); color: #fff; border-color: var(--ink); }

/* =====================================================================
   11. Homepage hero
   ===================================================================== */
.wmn-hero { display: grid; grid-template-columns: 1fr 340px; gap: 36px; padding-top: 26px; }
.wmn-hero__lead { border-right: 1px solid var(--hair); padding-right: 36px; }
.wmn-hero__lead .wmn-thumb { margin-bottom: 14px; }
.wmn-hero__title { font: 800 clamp(30px, 3.6vw, 44px)/1.04 var(--ff); letter-spacing: -.02em; margin: 0 0 10px; }
.wmn-hero__dek { font: 400 16px/1.5 var(--ff); color: var(--muted); max-width: 60ch; margin: 0 0 10px; }
.wmn-hero__rail { display: flex; flex-direction: column; gap: 16px; }

/* =====================================================================
   12. Cards
   ===================================================================== */
.wmn-card { min-width: 0; }
.wmn-card__body { min-width: 0; }
.wmn-card__title { font: 700 17px/1.16 var(--ff); letter-spacing: -.01em; margin: 0 0 6px; }
.wmn-card__title--19 { font-size: 19px; }
.wmn-card__title--18 { font-size: 18px; line-height: 1.15; }
.wmn-card__title--17 { font-size: 17px; }
.wmn-card__title--16 { font-size: 16px; }
.wmn-card__title--15 { font-size: 15px; line-height: 1.18; }
.wmn-card__title--w800 { font-weight: 800; }
.wmn-card__dek { font: 400 13px/1.45 var(--ff); color: var(--muted-2); margin: 0 0 7px; }
.wmn-card--vertical .wmn-thumb { margin-bottom: 11px; }
.wmn-card--vertical .wmn-meta,
.wmn-card--vertical .wmn-card__dek + .wmn-meta { margin-top: 0; }

/* mini / horizontal: text left, thumb right */
.wmn-card--mini { display: grid; grid-template-columns: 1fr 86px; gap: 13px; padding-bottom: 16px; border-bottom: 1px solid var(--hair); }
.wmn-card--mini:last-child { border-bottom: 0; padding-bottom: 0; }
.wmn-card--mini .wmn-card__title { font-size: 16px; line-height: 1.18; }
.wmn-card--horizontal { display: grid; grid-template-columns: 130px 1fr; gap: 16px; }
.wmn-card--horizontal .wmn-card__title { font-size: 18px; line-height: 1.15; }

/* section mini cards (72px thumb, no hairline) */
.wmn-section__col .wmn-card--mini { grid-template-columns: 1fr 72px; gap: 12px; padding-bottom: 0; border-bottom: 0; }

/* grids */
.wmn-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.wmn-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.wmn-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }

/* =====================================================================
   13. Quick links
   ===================================================================== */
.wmn-quicklinks {
	border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair);
	margin-top: 18px; padding: 14px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.wmn-quicklink { border-right: 1px solid var(--hair); padding-right: 24px; }
.wmn-quicklink:last-child { border-right: 0; }
.wmn-quicklink__title { font: 700 14px/1.2 var(--ff); letter-spacing: -.01em; display: block; }

/* =====================================================================
   14. Great reads + rail
   ===================================================================== */
.wmn-grid-rail { display: grid; grid-template-columns: 1fr 340px; gap: 36px; align-items: start; padding-top: 18px; }
.wmn-grid-rail__main { border-right: 1px solid var(--hair); padding-right: 36px; }
.wmn-grid-rail__side { display: flex; flex-direction: column; gap: 26px; }
.wmn-section__title--lg { font: 900 22px var(--ff); letter-spacing: -.01em; margin-bottom: 18px; }

.wmn-rail-block { min-width: 0; }
.wmn-rail-head { display: flex; align-items: center; gap: 14px; padding-bottom: 8px; margin-bottom: 4px; }
.wmn-rail-head--underbar { border-bottom: 2px solid var(--ink); }
.wmn-rail-head__title, .wmn-rail-head--solo { font: 900 16px var(--ff); letter-spacing: -.01em; }
.wmn-rail-head__more { font: 700 11px var(--ff); letter-spacing: .06em; text-transform: uppercase; color: var(--faint); margin-left: auto; }

.wmn-latest { display: flex; flex-direction: column; }
.wmn-latest__row { display: flex; gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--hair); }
.wmn-latest__row:last-child { border-bottom: 0; }
.wmn-latest__time { font: 600 11px var(--ff-mono); color: var(--accent); white-space: nowrap; }
.wmn-latest__title { font: 600 13px/1.25 var(--ff); }

.wmn-columnist { display: flex; gap: 13px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--hair); }
.wmn-columnist:last-child { border-bottom: 0; }
.wmn-columnist__text { flex: 1; min-width: 0; }
.wmn-columnist__title { font: 600 13px/1.25 var(--ff); display: block; }
.wmn-columnist .wmn-kicker { margin-bottom: 4px; }

/* =====================================================================
   15. Newsletter boxes
   ===================================================================== */
.wmn-newsletter { border-radius: 6px; padding: 20px; }
.wmn-newsletter--light { background: var(--nl-tint); border: 1px solid var(--nl-border); }
.wmn-newsletter--dark, .wmn-newsletter--band { background: var(--wmn-dark); color: #fff; border-radius: 4px; padding: 22px; }
.wmn-newsletter--band { background: transparent; padding: 0; }
.wmn-newsletter__eyebrow { font: 700 10px var(--ff); letter-spacing: .16em; text-transform: uppercase; color: var(--accent-dark); margin-bottom: 8px; }
.wmn-newsletter--light .wmn-newsletter__heading { font: 900 17px/1.1 var(--ff); letter-spacing: -.01em; margin-bottom: 6px; }
.wmn-newsletter--dark .wmn-newsletter__heading { font: 800 19px/1.14 var(--ff); letter-spacing: -.01em; margin-bottom: 14px; }
.wmn-newsletter__blurb { font: 400 13px/1.45 var(--ff); color: #3A3E52; margin: 0 0 13px; }
.wmn-newsletter__form { display: flex; flex-direction: column; gap: 9px; }
.wmn-newsletter--band .wmn-newsletter__form { flex-direction: row; gap: 10px; }
.wmn-newsletter__input {
	border-radius: 5px; padding: 11px 13px; font: 400 14px var(--ff); outline: none; border: 1px solid var(--nl-border); background: #fff;
}
.wmn-newsletter--dark .wmn-newsletter__input, .wmn-newsletter--band .wmn-newsletter__input {
	background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #fff;
}
.wmn-newsletter--band .wmn-newsletter__input { flex: 1; }
.wmn-newsletter--dark .wmn-newsletter__input::placeholder, .wmn-newsletter--band .wmn-newsletter__input::placeholder { color: rgba(255,255,255,.5); }
.wmn-newsletter__btn {
	background: var(--accent); color: #fff; border: none; border-radius: 5px; padding: 11px 18px;
	font: 800 12px var(--ff); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; white-space: nowrap;
}
.wmn-newsletter--band .wmn-newsletter__btn { font-weight: 700; }
.wmn-newsletter__success { font: 700 14px var(--ff); color: var(--accent); }
.wmn-newsletter--dark .wmn-newsletter__success, .wmn-newsletter--band .wmn-newsletter__success { color: var(--accent-dark); }

/* =====================================================================
   16. Topic sections
   ===================================================================== */
.wmn-section { padding: 28px 0; }
.wmn-section--bordered { border-top: 1px solid var(--hair); }
.wmn-section__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; }
.wmn-section__title { font: 900 24px var(--ff); letter-spacing: -.015em; margin: 0; }
.wmn-section__title--light { color: #fff; }
.wmn-more { font: 700 12px var(--ff); letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.wmn-more--light { color: var(--accent-dark); }

.wmn-section__lead-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 30px; }
.wmn-feature .wmn-thumb { margin-bottom: 12px; }
.wmn-feature__title { font: 700 23px/1.12 var(--ff); letter-spacing: -.015em; margin: 0 0 7px; }
.wmn-feature__dek { font: 400 14px/1.5 var(--ff); color: var(--muted-2); margin: 0 0 8px; }
.wmn-section__col { display: flex; flex-direction: column; gap: 18px; border-left: 1px solid var(--hair); padding-left: 30px; }

/* Opinion dark band */
.wmn-opinion { background: var(--wmn-dark); color: #fff; border-radius: 6px; padding: 34px; margin: 14px 0 0; border-top: 0; }
.wmn-opinion__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; }
.wmn-opinion__item { border-right: 1px solid rgba(255,255,255,.14); padding-right: 30px; }
.wmn-opinion__item:last-child { border-right: 0; padding-right: 0; }
.wmn-opinion__title { font: 700 18px/1.18 var(--ff); letter-spacing: -.01em; margin: 0 0 8px; color: #fff; }
.wmn-opinion__title--lead { font: 800 24px/1.14 var(--ff); margin-bottom: 10px; }

/* =====================================================================
   17. Page mastheads / archives
   ===================================================================== */
.wmn-page-masthead { border-bottom: 1px solid var(--hair); padding: 34px 0 26px; }
.wmn-breadcrumb { font: 600 11px var(--ff); letter-spacing: .14em; text-transform: uppercase; color: var(--faint); margin-bottom: 16px; }
.wmn-breadcrumb__current { color: var(--accent); }
.wmn-h1 { font: 800 clamp(40px, 6vw, 72px)/0.99 var(--ff); letter-spacing: -.02em; margin: 0 0 12px; }
.wmn-h1--underline { display: inline-block; border-bottom: 3px solid var(--accent); padding-bottom: 14px; }
.wmn-h1--region { font-size: clamp(44px, 8vw, 90px); letter-spacing: -.025em; }
.wmn-h1--author { display: block; border: 0; font-size: clamp(38px, 5.6vw, 68px); padding: 0; margin-bottom: 16px; }
.wmn-page-intro { font: 400 17px/1.5 var(--ff); color: var(--muted); max-width: 62ch; margin: 0 0 22px; }
.wmn-page-intro--lg { font-size: 18px; max-width: 64ch; margin-bottom: 30px; }
.wmn-page-intro p:last-child { margin-bottom: 0; }

.wmn-region-masthead { background: linear-gradient(180deg, #FFFFFF, #F7F8FA); }

/* Stat band */
.wmn-statband { display: flex; flex-wrap: wrap; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair); }
.wmn-statband--author { border-bottom: 0; max-width: 520px; }
.wmn-stat { padding: 18px 36px 18px 0; border-right: 1px solid var(--hair); margin-right: 36px; }
.wmn-stat:last-child { border-right: 0; margin-right: 0; }
.wmn-statband--author .wmn-stat { padding: 14px 30px 14px 0; margin-right: 30px; }
.wmn-stat__value { font: 800 34px var(--ff); letter-spacing: -.02em; color: var(--ink); }
.wmn-statband--author .wmn-stat__value { font-size: 27px; }
.wmn-stat__label { font: 600 11px var(--ff); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); margin-top: 4px; }
.wmn-statband--author .wmn-stat__label { font-size: 10px; }

/* Archive grid */
.wmn-archive { display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start; padding-top: 34px; padding-bottom: 56px; }
.wmn-archive--full { grid-template-columns: 1fr; }
.wmn-archive__main { min-width: 0; }
.wmn-archive__side { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 26px; }

/* Lead article */
.wmn-lead { padding-bottom: 30px; border-bottom: 1px solid var(--hair); margin-bottom: 30px; }
.wmn-lead .wmn-thumb { margin-bottom: 18px; }
.wmn-lead__title { font: 800 clamp(26px, 3.2vw, 38px)/1.06 var(--ff); letter-spacing: -.02em; margin: 0 0 12px; }
.wmn-lead__dek { font: 400 16px/1.6 var(--ff); color: var(--muted); max-width: 64ch; margin: 0 0 14px; }

.wmn-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.wmn-byline--sm { font: 500 13px var(--ff); color: #6E727C; }
.wmn-byline__author { color: var(--ink); font-weight: 600; }
.wmn-byline__sep { color: #C7C9CF; }

/* River */
.wmn-river { display: grid; grid-template-columns: 1fr 200px; gap: 22px; padding-bottom: 24px; border-bottom: 1px solid var(--hair); margin-bottom: 24px; align-items: start; }
.wmn-river__body { min-width: 0; }
.wmn-river__title { font: 700 24px/1.12 var(--ff); letter-spacing: -.015em; margin: 0 0 9px; }
.wmn-river__dek { font: 400 14px/1.55 var(--ff); color: var(--muted-2); max-width: 60ch; margin: 0 0 10px; }

.wmn-empty { font: 400 16px var(--ff); color: var(--muted); padding: 30px 0; }

/* Sidebar */
.wmn-sidebar__head { font: 700 12px var(--ff); letter-spacing: .14em; text-transform: uppercase; border-bottom: 2px solid var(--ink); padding-bottom: 8px; margin-bottom: 4px; }
.wmn-sidebar__head--plain { border-bottom: 0; padding-bottom: 0; margin-bottom: 14px; font-size: 11px; }
.wmn-rail-block--boxed { border: 1px solid var(--hair); border-radius: 4px; padding: 20px; }
.wmn-mostread { list-style: none; margin: 0; padding: 0; }
.wmn-mostread__row { display: flex; gap: 13px; padding: 13px 0; border-bottom: 1px solid var(--hair); }
.wmn-mostread__row:last-child { border-bottom: 0; }
.wmn-mostread__num { font: 800 22px var(--ff); color: var(--accent); line-height: 1; }
.wmn-mostread__title { font: 500 14px/1.3 var(--ff); }
.wmn-ad-slot { border: 1px dashed var(--control); border-radius: 4px; padding: 30px 20px; text-align: center; font: 600 11px var(--ff); letter-spacing: .12em; text-transform: uppercase; color: #AEB1BA; }
.wmn-ad-slot__size { display: block; font: 400 11px var(--ff); text-transform: none; letter-spacing: 0; margin-top: 4px; }

/* Pagination */
.wmn-archive__main .pagination, .wmn-archive .pagination { margin-top: 8px; }
.pagination .nav-links { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font: 600 13px var(--ff); }
.pagination .page-numbers {
	width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--control); border-radius: 3px; color: #3A3E48;
}
.pagination .page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.pagination .page-numbers.dots { border: 0; }
.pagination a.next, .pagination a.prev { width: auto; padding: 0 14px; color: var(--accent); }

/* =====================================================================
   18. Single article
   ===================================================================== */
.wmn-article__leadwrap { border-bottom: 1px solid var(--hair); }
.wmn-article__lead { max-width: 840px; padding-top: 42px; padding-bottom: 30px; }
.wmn-article__title { font: 800 clamp(32px, 4.4vw, 54px)/1.05 var(--ff); letter-spacing: -.02em; margin: 0 0 20px; text-wrap: balance; }
.wmn-article__standfirst { font: 400 21px/1.5 var(--ff); color: #3A3E48; margin: 0 0 26px; }
.wmn-article__byline { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid var(--hair); }
.wmn-article__byline-text { font: 500 14px var(--ff); color: var(--ink); }
.wmn-byline__role { color: #6E727C; }
.wmn-article__date { font: 500 13px var(--ff); color: var(--faint); margin-top: 2px; }
.wmn-article__share { margin-left: auto; display: flex; gap: 8px; }
.wmn-share-btn { width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--control); display: inline-flex; align-items: center; justify-content: center; font: 700 12px var(--ff); color: #3A3E48; }
.wmn-share-btn:hover { border-color: var(--accent); color: var(--accent); }
.wmn-share-btn--lg { width: 40px; height: 40px; font-size: 13px; }

.wmn-article__hero { margin: 0; border-bottom: 1px solid var(--hair); }
.wmn-article__hero-inner { max-width: 1180px; padding-top: 30px; padding-bottom: 12px; }
.wmn-figcaption { font: 500 12px/1.5 var(--ff); color: var(--faint); padding: 10px 2px 0; }

.wmn-article__body { max-width: 1180px; display: grid; grid-template-columns: 52px minmax(0, 720px); gap: 48px; justify-content: center; padding-top: 40px; padding-bottom: 56px; }
.wmn-share-rail { display: flex; flex-direction: column; align-items: center; gap: 12px; position: sticky; top: 108px; align-self: start; }
.wmn-share-rail__label { font: 600 9px var(--ff); letter-spacing: .12em; text-transform: uppercase; color: #A8ACB6; writing-mode: vertical-rl; transform: rotate(180deg); margin-bottom: 4px; }

/* Prose */
.wmn-prose { min-width: 0; }
.wmn-prose > p { font: 400 19px/1.75 var(--ff); color: var(--body); margin: 0 0 22px; }
.wmn-prose > p:first-of-type::first-letter { float: left; font: 800 78px/0.66 var(--ff); padding: 8px 12px 0 0; color: var(--ink); }
.wmn-prose h2 { font: 800 27px/1.14 var(--ff); letter-spacing: -.015em; margin: 34px 0 16px; }
.wmn-prose h3 { font: 800 21px/1.2 var(--ff); margin: 30px 0 14px; }
.wmn-prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.wmn-prose img { border-radius: 3px; }
.wmn-prose ul, .wmn-prose ol { padding-left: 1.3em; margin: 0 0 28px; }
.wmn-prose li { font: 400 18px/1.6 var(--ff); color: var(--body); margin-bottom: 10px; }
.wmn-prose blockquote { margin: 36px 0; padding: 4px 0 4px 26px; border-left: 3px solid var(--accent); }
.wmn-prose blockquote p { font: 700 clamp(22px, 2.4vw, 29px)/1.26 var(--ff); letter-spacing: -.01em; color: var(--ink); margin: 0 0 12px; }
.wmn-prose blockquote cite { font: 600 12px var(--ff); letter-spacing: .08em; text-transform: uppercase; color: var(--faint); font-style: normal; }
.wmn-prose figure { margin: 0 0 34px; }
.wmn-prose figcaption { font: 500 12px/1.5 var(--ff); color: var(--faint); padding: 9px 2px 0; }

/* Key facts */
.wmn-keyfacts { border: 1px solid var(--ink); border-radius: 6px; padding: 24px 26px; margin: 0 0 34px; background: #fff; }
.wmn-keyfacts__head { font: 700 11px var(--ff); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.wmn-keyfacts__list { display: flex; flex-direction: column; gap: 11px; }
.wmn-keyfacts__row { display: flex; gap: 14px; font: 400 16px/1.5 var(--ff); color: var(--body-2); }
.wmn-keyfacts__year { font: 400 17px var(--ff-mono); color: var(--ink); flex: none; width: 64px; }

/* Tags */
.wmn-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 34px 0 0; padding-top: 26px; border-top: 1px solid var(--hair); }

/* Author card */
.wmn-authorcard { display: flex; gap: 18px; align-items: flex-start; margin: 30px 0 0; padding: 24px; background: #EFF2F8; border-radius: 6px; }
.wmn-authorcard__body { min-width: 0; }
.wmn-authorcard__name { font: 800 22px var(--ff); margin-bottom: 2px; }
.wmn-authorcard__role { font: 600 11px var(--ff); letter-spacing: .06em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.wmn-authorcard__bio { font: 400 14px/1.6 var(--ff); color: var(--muted-2); margin: 0 0 12px; }

/* Related */
.wmn-related { border-top: 1px solid var(--hair); }
.wmn-related .wmn-container { padding-top: 40px; padding-bottom: 56px; }
.wmn-related__head { font: 700 13px var(--ff); letter-spacing: .16em; text-transform: uppercase; margin-bottom: 22px; }

/* Newsletter band */
.wmn-newsletter-band { background: var(--wmn-dark); color: #fff; }
.wmn-newsletter-band__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding-top: 42px; padding-bottom: 42px; }
.wmn-newsletter-band__eyebrow { font: 700 11px var(--ff); letter-spacing: .18em; text-transform: uppercase; color: var(--accent-dark); margin-bottom: 10px; }
.wmn-newsletter-band__heading { font: 800 27px/1.08 var(--ff); letter-spacing: -.02em; }

/* =====================================================================
   19. Author profile
   ===================================================================== */
.wmn-author-header { display: grid; grid-template-columns: 200px 1fr; gap: 40px; align-items: start; }
.wmn-author-header__portrait .wmn-thumb, .wmn-author-header__img { border-radius: 6px; overflow: hidden; }
.wmn-author-header__img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.wmn-author-header__body { min-width: 0; }
.wmn-author-header__bio { font: 400 17px/1.6 var(--ff); color: #3A3E48; max-width: 62ch; margin: 0 0 22px; }
.wmn-author-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 22px; }
.wmn-author-header__email { font: 600 12px var(--ff); color: var(--accent); letter-spacing: .04em; }

/* =====================================================================
   20. About page
   ===================================================================== */
.wmn-about__statement { border-bottom: 1px solid var(--hair); }
.wmn-about__statement .wmn-container { padding-top: 64px; padding-bottom: 56px; }
.wmn-about__h1 { font: 800 clamp(32px, 4.4vw, 58px)/1.06 var(--ff); letter-spacing: -.02em; text-wrap: balance; margin: 0; }
.wmn-about__mission-wrap { border-bottom: 1px solid var(--hair); }
.wmn-about__mission { display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; padding-top: 48px; padding-bottom: 48px; }
.wmn-about__lead { font: 400 19px/1.6 var(--ff); color: var(--body-2); margin: 0 0 18px; }
.wmn-about__para { font: 400 16px/1.65 var(--ff); color: var(--muted-2); margin: 0 0 18px; }
.wmn-about__para:last-child { margin-bottom: 0; }
.wmn-about__figures { align-self: start; }
.wmn-figure { padding: 18px 0; border-top: 1px solid var(--hair); }
.wmn-figure:first-child { border-top: 1px solid var(--ink); }
.wmn-figure__value { font: 800 40px var(--ff); letter-spacing: -.02em; }
.wmn-figure__label { font: 600 11px var(--ff); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); }

.wmn-about__block { border-bottom: 1px solid var(--hair); }
.wmn-about__block > .wmn-container { padding-top: 44px; padding-bottom: 44px; }
.wmn-diff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--hair); border: 1px solid var(--hair); }
.wmn-diff { background: var(--page); padding: 26px; }
.wmn-diff__title { font: 700 21px var(--ff); letter-spacing: -.01em; margin-bottom: 9px; }
.wmn-diff__text { font: 400 14px/1.55 var(--ff); color: var(--muted-2); margin: 0; }

.wmn-about__coverage { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.wmn-checklist { list-style: none; margin: 0; padding: 0; }
.wmn-checklist__item { display: flex; gap: 14px; padding: 15px 0; border-top: 1px solid var(--hair); font: 400 16px/1.5 var(--ff); color: var(--body-2); }
.wmn-checklist__item:last-child { border-bottom: 1px solid var(--hair); }
.wmn-checklist__tick { color: var(--accent); font-weight: 800; flex: none; }

.wmn-behind { display: grid; grid-template-columns: 200px 1fr; gap: 40px; align-items: center; }
.wmn-behind__portrait .wmn-thumb, .wmn-behind__img { border-radius: 6px; overflow: hidden; }
.wmn-behind__img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.wmn-behind__name { font: 800 26px var(--ff); letter-spacing: -.01em; }
.wmn-behind__role { font: 600 11px var(--ff); letter-spacing: .06em; text-transform: uppercase; color: var(--accent); margin: 5px 0 12px; }
.wmn-behind__bio { font: 400 16px/1.6 var(--ff); color: var(--muted-2); max-width: 60ch; margin: 0 0 16px; }

.wmn-about__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-top: 48px; padding-bottom: 60px; }
.wmn-about__cta-heading { font: 800 27px/1.1 var(--ff); letter-spacing: -.02em; margin-bottom: 6px; }
.wmn-about__cta-text { font: 400 15px var(--ff); color: var(--muted-2); margin: 0; }
.wmn-about__freeform { padding-top: 20px; padding-bottom: 50px; }

/* =====================================================================
   21. Contact page
   ===================================================================== */
.wmn-contact { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: start; padding-top: 44px; padding-bottom: 60px; }
.wmn-form { display: flex; flex-direction: column; gap: 18px; }
.wmn-form__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wmn-form__label { display: flex; flex-direction: column; gap: 7px; font: 600 11px var(--ff); letter-spacing: .1em; text-transform: uppercase; color: #6A6E78; }
.wmn-form__input { border: 1px solid var(--control); border-radius: 5px; padding: 13px 14px; font: 400 15px var(--ff); color: var(--ink); background: #fff; outline: none; }
.wmn-form__input:focus { border-color: var(--accent); }
.wmn-form__select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236A6E78' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.wmn-form__textarea { resize: vertical; line-height: 1.5; }
.wmn-form .wmn-btn { align-self: flex-start; }
.wmn-form-success { border: 1px solid var(--ink); border-radius: 6px; padding: 34px; background: #fff; }
.wmn-form-success__title { font: 800 27px/1.1 var(--ff); letter-spacing: -.02em; margin-bottom: 8px; }
.wmn-form-success p { font: 400 15px/1.6 var(--ff); color: var(--muted-2); margin: 0; }
.wmn-form-error { font: 600 14px var(--ff); color: var(--exclusive); margin-bottom: 14px; }
.wmn-form-note { font: 400 13px/1.5 var(--ff); color: var(--faint); background: var(--page); border: 1px dashed var(--control); border-radius: 5px; padding: 12px 14px; margin-bottom: 18px; }

.wmn-contact__details { display: flex; flex-direction: column; }
.wmn-contact__detail { padding: 20px 0; border-top: 1px solid var(--hair); }
.wmn-contact__detail:first-child { border-top: 1px solid var(--ink); }
.wmn-contact__detail-label { font: 600 11px var(--ff); letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.wmn-contact__detail-email { font: 700 20px var(--ff); letter-spacing: -.01em; color: var(--ink); }
.wmn-contact__detail-email:hover { color: var(--accent); }
.wmn-contact__detail-text { font: 400 15px/1.6 var(--ff); color: var(--body-2); }
.wmn-contact__detail-note { font: 400 13px/1.5 var(--ff); color: #6A6E78; margin: 7px 0 0; }

/* WPForms tune-up to match the system */
.wmn-wpforms .wpforms-field-label { font: 600 11px var(--ff) !important; letter-spacing: .1em; text-transform: uppercase; color: #6A6E78 !important; }
.wmn-wpforms input[type=text], .wmn-wpforms input[type=email], .wmn-wpforms textarea, .wmn-wpforms select {
	border: 1px solid var(--control) !important; border-radius: 5px !important; font: 400 15px var(--ff) !important; padding: 13px 14px !important;
}
.wmn-wpforms .wpforms-submit { background: var(--ink) !important; color: #fff !important; border: none !important; border-radius: 5px !important; font: 700 13px var(--ff) !important; letter-spacing: .06em; text-transform: uppercase; padding: 15px 30px !important; }

/* =====================================================================
   22. Footer
   ===================================================================== */
.wmn-footer { background: var(--wmn-dark); color: rgba(255,255,255,.7); margin-top: 20px; }
.wmn-footer__inner { padding-top: 46px; padding-bottom: 30px; }
.wmn-footer__top { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px; justify-content: space-between; padding-bottom: 26px; border-bottom: 1px solid rgba(255,255,255,.12); }
.wmn-footer__brand { max-width: 34ch; }
.wmn-footer__brand .wmn-wordmark__name { font-size: 22px; }
.wmn-footer__brand .wmn-wordmark__tagline { display: none; }
.wmn-footer__blurb { font: 400 13px/1.6 var(--ff); margin: 10px 0 0; }
.wmn-footer__social { display: flex; gap: 14px; align-items: center; font: 600 15px var(--ff); color: rgba(255,255,255,.6); }
.wmn-social:hover { color: #fff; }
.wmn-footer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; padding: 30px 0; }
.wmn-footer__heading { font: 700 11px var(--ff); letter-spacing: .14em; text-transform: uppercase; color: #fff; margin-bottom: 12px; }
.wmn-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; font: 400 13px var(--ff); }
.wmn-footer__links a:hover { color: #fff; }
.wmn-footer__copy { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); font: 500 11px var(--ff); letter-spacing: .04em; color: rgba(255,255,255,.45); }

/* =====================================================================
   23. Misc
   ===================================================================== */
.wmn-page { padding-top: 40px; padding-bottom: 60px; }
.wmn-page__hero { margin: 0 0 30px; border-radius: 3px; overflow: hidden; }
.wmn-404 { padding-top: 60px; padding-bottom: 80px; }
.wmn-404__search { max-width: 480px; margin: 24px 0; }
.wmn-search-form { display: flex; gap: 10px; }
.wmn-search-form__input { flex: 1; border: 1px solid var(--control); border-radius: 5px; padding: 13px 14px; font: 400 15px var(--ff); outline: none; }
.wmn-comments { max-width: 720px; margin: 40px 0 0; }
.wmn-comments__title { font: 800 22px var(--ff); margin: 24px 0 16px; }
.wmn-comments__list { list-style: none; margin: 0 0 24px; padding: 0; }

/* =====================================================================
   24. Responsive
   ===================================================================== */
@media (max-width: 1024px) {
	.wmn-archive { grid-template-columns: 1fr; gap: 40px; }
	.wmn-archive__side { position: static; }
	.wmn-grid-rail { grid-template-columns: 1fr; }
	.wmn-grid-rail__main { border-right: 0; padding-right: 0; }
	.wmn-grid-rail__side { flex-direction: row; flex-wrap: wrap; }
	.wmn-grid-rail__side > * { flex: 1 1 240px; }
	.wmn-section__lead-grid { grid-template-columns: 1fr 1fr; }
	.wmn-section__lead-grid .wmn-feature { grid-column: 1 / -1; }
	.wmn-section__col { border-left: 0; padding-left: 0; }
	.wmn-author-header { grid-template-columns: 160px 1fr; gap: 28px; }
}

@media (max-width: 860px) {
	.wmn-hero { grid-template-columns: 1fr; }
	.wmn-hero__lead { border-right: 0; padding-right: 0; }
	.wmn-about__mission, .wmn-about__coverage, .wmn-behind { grid-template-columns: 1fr; gap: 32px; }
	.wmn-diff-grid { grid-template-columns: 1fr; }
	.wmn-contact { grid-template-columns: 1fr; gap: 40px; }
	.wmn-newsletter-band__inner { grid-template-columns: 1fr; gap: 20px; }
	.wmn-article__body { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.wmn-share-rail { flex-direction: row; position: static; margin-bottom: 24px; }
	.wmn-share-rail__label { writing-mode: horizontal-tb; transform: none; margin: 0 6px 0 0; }
	.wmn-grid-4 { grid-template-columns: 1fr 1fr; }
	.wmn-grid-3 { grid-template-columns: 1fr; }
	.wmn-opinion__grid { grid-template-columns: 1fr; gap: 22px; }
	.wmn-opinion__item { border-right: 0; padding-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); padding-bottom: 18px; }
	.wmn-opinion__item:last-child { border-bottom: 0; padding-bottom: 0; }

	/* Mobile nav */
	.wmn-nav-toggle { display: block; }
	.wmn-menu { display: none; }
	.wmn-menu.is-open {
		display: flex; flex-direction: column; align-items: flex-start; gap: 0;
		position: absolute; left: 0; right: 0; top: 100%; z-index: 60; padding: 8px 0;
	}
	.wmn-masthead .wmn-menu.is-open { background: var(--wmn-dark); border-top: 1px solid rgba(255,255,255,.12); }
	.wmn-menu.is-open li { width: 100%; }
	.wmn-menu.is-open a { display: block; padding: 12px var(--pad); width: 100%; }
	.wmn-masthead__briefing { display: none; }
	/* Fit the masthead top row on narrow screens (prevents horizontal overflow / off-screen hamburger) */
	.wmn-masthead__date,
	.wmn-masthead__utility a { display: none; }
	.wmn-masthead__nav { border-top: 0; }
	.wmn-masthead__navrow { padding-top: 0; padding-bottom: 0; }
	/* Constrain the open menu height so every item is reachable by scrolling */
	.wmn-menu.is-open { max-height: calc(100vh - 60px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
	/* Sub-menus stack and indent inside the open mobile panel */
	.wmn-menu.is-open .sub-menu a { padding-top: 9px; padding-bottom: 9px; padding-left: calc(var(--pad) + 18px); opacity: .85; }
	.wmn-menu .menu-item-has-children > a::after { float: right; }
}

@media (max-width: 560px) {
	.wmn-quicklinks { grid-template-columns: 1fr 1fr; }
	.wmn-grid-2, .wmn-grid-4 { grid-template-columns: 1fr; }
	.wmn-section__lead-grid { grid-template-columns: 1fr; }
	.wmn-river { grid-template-columns: 1fr; }
	.wmn-river .wmn-thumb { order: -1; }
	.wmn-card--horizontal { grid-template-columns: 110px 1fr; }
	.wmn-statband { flex-direction: column; }
	.wmn-stat { border-right: 0; margin-right: 0; border-bottom: 1px solid var(--hair); padding-right: 0; }
	.wmn-masthead__utility { gap: 12px; }
	.wmn-masthead__date { display: none; }
	.wmn-newsletter--band .wmn-newsletter__form { flex-direction: column; }
	.wmn-about__statement .wmn-container { padding-top: 44px; padding-bottom: 40px; }
}
