/*
Theme Name: Manual Magazine
Theme URI: https://manualmagazine.com/
Author: Manual Magazine
Description: Bare block theme for the Manual Magazine rebuild.
Version: 0.1.0
 Text Domain: manual-magazine
*/

@font-face {
	font-family: 'Founders Grotesk Condensed';
	src: url('assets/fonts/FoundersGroteskCondensedWeb-Regular.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

@font-face {
	font-family: 'Founders Grotesk Condensed';
	src: url('assets/fonts/FoundersGroteskCondensedWeb-Medium.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 500;
}

@font-face {
	font-family: 'Founders Grotesk Condensed';
	src: url('assets/fonts/FoundersGroteskCondensedWeb-Semibold.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 600;
}

/* The legacy CSS addresses this face as Founders-Semibold at weight 700.
 * Keep it separate from the genuine Bold file so matched components use the
 * same glyph weight as production. */
@font-face {
	font-family: 'Founders Semibold';
	src: url('assets/fonts/FoundersGroteskCondensedWeb-Semibold.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 700;
}

@font-face {
	font-family: 'Founders Grotesk Condensed';
	src: url('assets/fonts/FoundersGroteskCondensedWeb-Bold.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 700;
}

@font-face {
	font-family: 'Tiempos Headline';
	src: url('assets/fonts/TiemposHeadlineWeb-Medium.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 500;
}

@font-face {
	font-family: 'Tiempos Headline';
	src: url('assets/fonts/TiemposHeadlineWeb-Semibold.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 600;
}

@font-face {
	font-family: 'Tiempos Text';
	src: url('assets/fonts/TiemposTextWeb-Regular.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

@font-face {
	font-family: 'Tiempos Text';
	src: url('assets/fonts/TiemposTextWeb-RegularItalic.woff2') format('woff2');
	font-display: swap;
	font-style: italic;
	font-weight: 400;
}

@font-face {
	font-family: 'Tiempos Text';
	src: url('assets/fonts/TiemposTextWeb-Medium.woff2') format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 500;
}

@font-face {
	font-family: 'Tiempos Text';
	src: url('assets/fonts/TiemposTextWeb-MediumItalic.woff2') format('woff2');
	font-display: swap;
	font-style: italic;
	font-weight: 500;
}

:root {
	/* Foundations — source values retained from the legacy Manual Sass system. */
	--manual-ink: #212020;
	--manual-accent: #e74d4d;
	--manual-link: #2ea3f2;
	--manual-grey-1: #343434;
	--manual-grey-2: #474747;
	--manual-grey-3: #898989;
	--manual-grey-4: #a5a5a5;
	--manual-grey-6: #f2f2f2;
	--manual-sans: 'Founders Grotesk Condensed', Arial, Helvetica, sans-serif;
	--manual-sans-semibold: 'Founders Semibold', Arial, Helvetica, sans-serif;
	--manual-headline: 'Tiempos Headline', Georgia, 'Times New Roman', serif;
	--manual-serif: 'Tiempos Text', Georgia, 'Times New Roman', serif;
	--manual-serif-medium: 'Tiempos Text', Georgia, 'Times New Roman', serif;
	/* Spacing follows a Tailwind-like 4px rhythm. Use these for layout space;
	 * retain explicit values for measured editorial geometry and media sizes. */
	--manual-space-unit: .25rem;
	--manual-space-1: calc(var(--manual-space-unit) * 1);
	--manual-space-2: calc(var(--manual-space-unit) * 2);
	--manual-space-3: calc(var(--manual-space-unit) * 3);
	--manual-space-4: calc(var(--manual-space-unit) * 4);
	--manual-space-5: calc(var(--manual-space-unit) * 5);
	--manual-space-6: calc(var(--manual-space-unit) * 6);
	--manual-space-8: calc(var(--manual-space-unit) * 8);
	--manual-space-10: calc(var(--manual-space-unit) * 10);
	--manual-space-12: calc(var(--manual-space-unit) * 12);
	--manual-space-14: calc(var(--manual-space-unit) * 14);
	--manual-space-16: calc(var(--manual-space-unit) * 16);
	--manual-space-20: calc(var(--manual-space-unit) * 20);
	--manual-space-24: calc(var(--manual-space-unit) * 24);
	--manual-motion-duration: 160ms;
	--manual-motion-ease: cubic-bezier(.2, 0, 0, 1);
	--manual-page-gutter: var(--manual-space-8);
	--manual-listing-width: 61.25rem;
	--manual-card-image-medium: 12.5rem;
	--manual-card-image-wide: 17.5rem;
	--manual-card-image-height: 12.5rem;
	--manual-header-height: 4.25rem;
	--manual-nav-control-size: 3.4375rem;
	--manual-nav-icon-size: 1.0625rem;
}

html {
	overflow-x: clip;
	/* Reserve the document scrollbar gutter while modal navigation locks body scroll. */
	overflow-y: scroll;
}

body {
	margin: 0;
	padding-top: var(--manual-header-height);
	overflow-x: clip;
	color: var(--manual-ink);
	background: #fff;
	font-family: var(--manual-serif);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a { transition: color .15s ease, background-color .15s ease; }

/* Keep keyboard focus visible without the browser-default high-contrast ring. */
:where(a, button, input, select, textarea):focus { outline: 0; }
:where(a, button, input, select, textarea):focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 3px;
}

.manual-site-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 210;
	box-sizing: border-box;
	height: var(--manual-header-height);
	padding: 0;
	background: var(--manual-ink);
	color: #fff;
	font-family: var(--manual-sans);
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.manual-site-header a { color: inherit; text-decoration: none; }
.admin-bar .manual-site-header { top: 32px; }
.manual-site-header__inner { display: flex; align-items: center; box-sizing: border-box; width: 100%; height: var(--manual-header-height); padding-right: var(--manual-nav-control-size); }
.manual-site-logo { box-sizing: border-box; display: flex; align-items: center; width: 14.25rem; padding-left: 2rem; }
.manual-site-logo img { display: block; width: 11rem; height: auto; }
.manual-primary-nav,
.manual-utility-nav { display: flex; align-items: center; }
.manual-primary-nav { flex: 1 1 auto; margin-left: 0; padding-left: var(--manual-space-4); }
.manual-primary-nav__list { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }
.manual-primary-nav a,
.manual-search-trigger { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.manual-primary-nav a,
.manual-search-trigger { padding: 1.5rem 2.125rem; border: 0; background: transparent; cursor: pointer; }
.manual-primary-nav a:hover,
.manual-primary-nav a:focus-visible,
.manual-utility-nav button:hover,
.manual-utility-nav button:focus-visible { color: var(--manual-grey-4); }
.manual-utility-nav { margin-left: auto; gap: 0; }
.manual-icon { display: block; width: 1em; height: 1em; }
.manual-menu-toggle { position: absolute; top: 0; right: 0; display: grid; flex: 0 0 var(--manual-nav-control-size); box-sizing: border-box; width: var(--manual-nav-control-size); height: var(--manual-header-height); padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; place-items: center; }
.manual-menu-glyph { position: relative; display: block; width: var(--manual-nav-icon-size); height: var(--manual-nav-icon-size); }
.manual-menu-glyph__line { position: absolute; left: 0; display: block; width: 100%; height: 1.5px; background: currentColor; transform-origin: center; transition: transform var(--manual-motion-duration) var(--manual-motion-ease), opacity var(--manual-motion-duration) var(--manual-motion-ease); }
.manual-menu-glyph__line--top { top: calc(50% - .75px - .3125rem); }
.manual-menu-glyph__line--middle { top: calc(50% - .75px); }
.manual-menu-glyph__line--bottom { top: calc(50% - .75px + .3125rem); }

.manual-mega-menu,
.manual-search-dialog { position: fixed; inset: 0; width: 100%; max-width: none; min-height: 100%; margin: 0; padding: 0; border: 0; color: #fff; font-family: var(--manual-sans); }

/* The dialog itself must be clear so its native backdrop can dim the page.
 * Only the menu panel paints the dark surface. */
.manual-mega-menu { background: transparent; }
.manual-search-dialog { background: var(--manual-ink); }

.manual-mega-menu::backdrop,
.manual-search-dialog::backdrop { background: rgba(0, 0, 0, .78); opacity: 0; transition: opacity var(--manual-motion-duration) var(--manual-motion-ease); }

.manual-mega-menu[open]::backdrop,
.manual-search-dialog[open]::backdrop { opacity: 1; }

.manual-mega-menu[data-manual-dialog-state="closing"]::backdrop,
.manual-search-dialog[data-manual-dialog-state="closing"]::backdrop { opacity: 0; }

@starting-style {
	.manual-mega-menu[open]::backdrop,
	.manual-search-dialog[open]::backdrop { opacity: 0; }

	.manual-mega-menu[open] .manual-mega-menu__inner,
	.manual-search-dialog[open] .manual-search-dialog__inner {
		transform: translate3d(0, -.25rem, 0);
	}
}

.manual-mega-menu__inner,
.manual-search-dialog__inner {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity var(--manual-motion-duration) var(--manual-motion-ease), transform var(--manual-motion-duration) var(--manual-motion-ease);
	will-change: opacity, transform;
}

.manual-mega-menu[data-manual-dialog-state="closing"] .manual-mega-menu__inner,
.manual-search-dialog[data-manual-dialog-state="closing"] .manual-search-dialog__inner {
	opacity: 0;
	transform: translate3d(0, -.25rem, 0);
}

.manual-mega-menu__inner { box-sizing: border-box; min-height: 100vh; padding: var(--manual-header-height) 2rem 5rem; background: var(--manual-ink); }
.manual-mega-menu__header { min-height: 1.5rem; }
.manual-mega-menu__close { position: absolute; top: 0; right: 0; display: grid; box-sizing: border-box; width: var(--manual-nav-control-size); height: var(--manual-header-height); padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; place-items: center; }
.manual-menu-toggle.manual-menu-control.is-open .manual-menu-glyph__line--top,
.manual-mega-menu[open]:not([data-manual-dialog-state="opening"]) .manual-mega-menu__close .manual-menu-glyph__line--top { transform: translateY(.3125rem) rotate(45deg); }
.manual-menu-toggle.manual-menu-control.is-open .manual-menu-glyph__line--middle,
.manual-mega-menu[open]:not([data-manual-dialog-state="opening"]) .manual-mega-menu__close .manual-menu-glyph__line--middle { opacity: 0; }
.manual-menu-toggle.manual-menu-control.is-open .manual-menu-glyph__line--bottom,
.manual-mega-menu[open]:not([data-manual-dialog-state="opening"]) .manual-mega-menu__close .manual-menu-glyph__line--bottom { transform: translateY(-.3125rem) rotate(-45deg); }

/* The panel leaves with the backdrop. Returning the glyph to its menu state
 * during that same exit transition makes the control a single continuous
 * affordance instead of a static X that vanishes with the dialog. */
.manual-mega-menu[data-manual-dialog-state="closing"] .manual-mega-menu__close .manual-menu-glyph__line--top,
.manual-mega-menu[data-manual-dialog-state="closing"] .manual-mega-menu__close .manual-menu-glyph__line--bottom { transform: none; }
.manual-mega-menu[data-manual-dialog-state="closing"] .manual-mega-menu__close .manual-menu-glyph__line--middle { opacity: 1; }
.manual-search-dialog__inner { box-sizing: border-box; min-height: 100vh; padding: 7rem 2rem 5rem; }
.manual-search-dialog__header { display: flex; justify-content: flex-end; }
/* Search overlays and results use one control system; their wrappers decide
 * only where the field sits in the page. */
.manual-search-form,
.manual-search .wp-block-search { position: relative; max-width: 32.75rem; }
.manual-search-form { display: flex; margin: 0 auto; }
.manual-search .wp-block-search { margin: 0 auto; }
.manual-search-form,
.manual-search .wp-block-search__inside-wrapper { min-height: 4.375rem; border: 1px solid #fff; }
.manual-search-form input,
.manual-search .wp-block-search__input { box-sizing: border-box; flex: 1 1 auto; min-width: 0; border: 0; border-radius: 0; padding: 1.1875rem 4.25rem 1.25rem 1.5rem; background: transparent; color: #fff; font: 700 1.5625rem/1 var(--manual-sans); }
.manual-search-form input::placeholder,
.manual-search .wp-block-search__input::placeholder { color: rgba(255,255,255,.75); text-transform: uppercase; }
.manual-search-form input[type="search"] {
	-webkit-appearance: none;
	appearance: none;
}
.manual-search-form input[type="search"]::-webkit-search-cancel-button,
.manual-search-form input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}
.manual-search-form button,
.manual-search .wp-block-search__button { display: grid; box-sizing: border-box; position: absolute; top: .625rem; right: .5rem; width: 3.125rem; height: 3.125rem; min-height: 0; margin: 0; border: 0; border-radius: 0; padding: 0; background: transparent; color: #fff; cursor: pointer; font: 700 1rem/1 var(--manual-sans); text-transform: uppercase; place-items: center; }
.manual-search-form button:hover,
.manual-search-form button:focus-visible,
.manual-search .wp-block-search__button:hover,
.manual-search .wp-block-search__button:focus-visible { color: var(--manual-link); }
.manual-search-form button .manual-icon { width: 1.5rem; height: 1.5rem; }
.manual-mega-menu__columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.manual-mega-menu__list,
.manual-footer-navigation__list { margin: 0; padding: 0; list-style: none; }
.manual-mega-menu__list li,
.manual-footer-navigation__list li { margin: 0; padding: 0; }
.manual-mega-menu__list a { display: block; color: #fff; text-decoration: none; }
.manual-mega-menu__list a { padding: .35rem 0; font-size: 1.6rem; line-height: 1.08; }
.manual-mega-menu__list > li > a { padding-top: 0; color: var(--manual-grey-4); font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; }
.manual-mega-menu__list > li > ul { margin: .6rem 0 2rem; padding: 0; list-style: none; }
.manual-mega-menu__list a:hover,
.manual-mega-menu__list a:focus-visible { color: var(--manual-grey-4); }
/* Keep the root scrollbar visible while the modal prevents background scrolling.
 * This matches the legacy menu's html/body split and avoids horizontal reflow. */
html.manual-dialog-open {
	overflow-x: clip;
	overflow-y: scroll;
}

html.manual-dialog-open body {
	position: fixed;
	width: 100%;
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	a,
	.manual-menu-toggle span,
	.manual-menu-control span,
	.manual-mega-menu__inner,
	.manual-search-dialog__inner,
	.manual-mega-menu::backdrop,
	.manual-search-dialog::backdrop { transition-duration: .01ms; }
}

.manual-site-footer { clear: both; background: var(--manual-ink); color: #c0c0c0; font-family: var(--manual-sans); line-height: 1.125; text-align: center; }
.manual-footer-navigation { box-sizing: border-box; display: flex; flex-wrap: wrap; max-width: 1120px; margin: 0 auto 1.6875rem; padding: 2.8125rem 0 0; overflow: hidden; }
.manual-footer-navigation__section { box-sizing: border-box; width: 50%; margin-top: .25rem; text-align: left; }
.manual-footer-navigation__section:nth-child(3) { order: 4; }
.manual-footer-navigation__section:nth-child(4) { order: 3; }
.manual-footer-navigation__list a { display: block; padding: .3125rem 1.25rem .375rem; color: #fff; font-size: .875rem; line-height: 1.3; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.manual-footer-navigation__list > li > ul { margin: 0 0 1.375rem; padding: 0; list-style: none; }
.manual-footer-navigation__list > li > a { color: #fff; }
.manual-footer-navigation__list > li > ul a { padding: .375rem 1.25rem .4375rem; color: #fff; font-size: 1.5625rem; font-weight: 600; line-height: 1.1; letter-spacing: 0; }
.manual-footer-navigation__list > li > ul li.text-small a { padding: .3125rem 1.25rem .375rem; font-size: .875rem; font-weight: 400; line-height: 1.3; letter-spacing: .08em; }
.manual-footer-navigation__list a:hover,
.manual-footer-navigation__list a:active,
.manual-footer-navigation__list a:focus-visible { color: var(--manual-grey-4); text-decoration: none; }
.manual-footer-blurb { box-sizing: border-box; max-width: 1120px; margin: 0 auto; padding: 0 var(--manual-space-8) var(--manual-space-8); color: #fff; font: .875rem/2 var(--manual-sans); letter-spacing: .08em; text-align: center; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.manual-article { padding-bottom: 6rem; }

.manual-article-header {
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto;
	padding: 2.5rem 1.5rem 4.25rem;
	text-align: center;
}

.manual-article-header > .manual-article-kicker,
.manual-article-header > .wp-block-post-title {
	max-width: none;
}

.manual-article-kicker {
	margin: 0 0 1.375rem;
	font-family: var(--manual-sans);
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 24px;
	text-transform: uppercase;
}

.manual-article-kicker__primary { color: var(--manual-accent); }
.manual-article-kicker__divider { color: #212020; }

.manual-article-header .wp-block-post-title {
	margin: 0;
	font-family: var(--manual-headline);
	font-size: 3.75rem;
	font-weight: 600;
	line-height: 1;
}

.manual-article-hero {
	width: 100%;
	max-width: none;
	margin: 0;
}

.manual-article-hero img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.manual-article-intro {
	box-sizing: border-box;
	position: relative;
	max-width: 40rem;
	margin: 0 auto;
	padding: var(--manual-space-12) var(--manual-page-gutter);
	text-align: center;
}

.manual-article-intro__copy {
	max-width: 40rem;
	margin: 0 auto;
}

.manual-article-intro__summary {
	margin: 0;
	font-family: var(--manual-serif-medium);
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.54;
}

.manual-article-intro__meta {
	box-sizing: border-box;
	margin: 0 0 var(--manual-space-12);
	font-family: var(--manual-sans-semibold);
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
}

.manual-article-intro__author { margin: 0 0 .625rem; }
.manual-article-intro__date {
	margin: 0;
	color: var(--manual-grey-4);
	font-family: var(--manual-sans);
	font-weight: 500;
}

.manual-article-divider {
	box-sizing: border-box;
	border: 0;
	height: 2px;
	margin: 0 var(--manual-page-gutter) var(--manual-space-12);
	background: var(--manual-ink);
}

/* Structural dividers belong to the article template, not individual post
 * content. Let the preceding component own the space before each line. */
.manual-article-content > .wp-block-post-content > *:last-child { margin-bottom: 4rem; }
.manual-article-divider.manual-article-divider--content { margin-bottom: var(--manual-space-8); }

.manual-article-byline,
.manual-article-header .wp-block-post-date {
	margin: 1.35rem 0 0;
	font-family: var(--manual-sans);
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.manual-article-header .wp-block-post-date { color: #777; }

.manual-article-content {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
}

.manual-article-content > .wp-block-post-content { width: 100%; margin: 0; padding: 0; }
.manual-article-content > .wp-block-post-content > * { margin-block: 0 var(--manual-space-8); }
.manual-article-content > .wp-block-post-content > figure { margin-bottom: var(--manual-space-8); }
.manual-article-content > .wp-block-post-content > :is(
	p,
	h1, h2, h3, h4, h5, h6,
	ul, ol,
	.wp-block-quote,
	.wp-block-pullquote,
	.wp-block-table,
	.wp-block-details,
	.wp-block-preformatted,
	.wp-block-code,
	.wp-block-buttons
) { padding-inline: var(--manual-page-gutter); }
.manual-article-content p { font-size: 1rem; line-height: 1.75; }

/* Video-led posts keep their thumbnail for cards and social sharing, but the
 * native Embed is rendered once as the template lead before the article intro. */
.manual-article-video-lead {
	width: min(67.5rem, 100%);
	margin: 0 auto var(--manual-space-8);
}

/* The video lead owns the separation below it. This preserves the shared
 * trailing-margin rhythm without stacking the normal article-intro top
 * padding onto an embed. */
.manual-article-lead-video .manual-article-intro { padding-top: 0; }

.manual-article-video-lead .wp-block-embed,
.manual-article-video-lead .wp-block-embed__wrapper {
	margin: 0;
	width: 100%;
}

.manual-article-video-lead .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
}

.manual-article-video-lead iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.manual-article-lead-video .manual-article-content > .wp-block-post-content > .wp-block-embed:first-child { display: none; }
.manual-article-content > .wp-block-post-content > h2 {
	/* Content modules use a single trailing-margin rhythm. A heading must not
	 * use padding to manufacture space, otherwise the following embed/image
	 * loses its expected separation. */
	margin-bottom: var(--manual-space-8);
	padding-bottom: 0;
	font-family: var(--manual-headline);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
}
.manual-article-content > .wp-block-post-content > p { margin-bottom: 1.125rem; }
.manual-article-content > .wp-block-post-content > h3 {
	margin-bottom: 1.125rem;
	font-family: var(--manual-headline);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.4;
}
.manual-article-content > .wp-block-post-content > h4,
.manual-article-content > .wp-block-post-content > h5,
.manual-article-content > .wp-block-post-content > h6 {
	margin-bottom: 1.125rem;
	font-family: var(--manual-headline);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4444;
}
.manual-article-content a {
	color: var(--manual-link);
	font-weight: 500;
	text-decoration: none;
}
.manual-article-content a:hover,
.manual-article-content a:focus-visible {
	color: var(--manual-ink);
	text-decoration: underline;
	text-underline-offset: .12em;
}
.manual-article-content ul,
.manual-article-content ol {
	margin: 1em 0 1.125rem 2em;
}
.manual-article-content li {
	font-size: inherit;
	line-height: inherit;
}
.manual-article-content blockquote {
	margin: 1.25rem 0 var(--manual-space-8);
	padding: 0 0 0 1.25rem;
	border-left: 2px solid var(--manual-ink);
	color: var(--manual-ink);
	font-family: var(--manual-serif-medium);
	font-size: 1.25rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.6;
}
.manual-article-content blockquote p { margin: 0; font-size: inherit; line-height: inherit; }
.manual-article-content > .wp-block-post-content > blockquote {
	margin: 1.25rem 0 var(--manual-space-8);
}
.manual-article-content figure { margin: 0 0 var(--manual-space-8); }
.manual-article-content figure img { display: block; width: 100%; height: auto; }
.manual-article-content figcaption,
.manual-article-content p em {
	color: var(--manual-grey-2);
	font-family: var(--manual-serif);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.4;
}
.manual-article-content figcaption {
	margin-top: var(--manual-space-2);
	padding-inline: var(--manual-page-gutter);
}

.manual-article-taxonomy {
	box-sizing: border-box;
	width: min(650px, 100%);
	margin: 0 auto;
	padding: 0 var(--manual-page-gutter) 3.75rem;
	font-family: var(--manual-sans);
	text-transform: uppercase;
}

.manual-article-taxonomy__group + .manual-article-taxonomy__group { margin-top: 1.25rem; }

.manual-article-taxonomy h2 {
	margin: 0 0 .4375rem;
	color: var(--manual-grey-2);
	font-family: var(--manual-sans-semibold);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
}

.manual-article-taxonomy__terms {
	margin: 0;
	font-family: var(--manual-sans-semibold);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2222;
}

.manual-article-taxonomy__term {
	color: var(--manual-grey-2);
	text-decoration: none;
}

.manual-article-taxonomy__term--highlight,
.manual-article-taxonomy__divider { color: var(--manual-accent); }

.manual-article-taxonomy__term:hover,
.manual-article-taxonomy__term:focus-visible {
	color: var(--manual-accent);
}

.manual-home { padding-bottom: 0; }

.manual-home__listing {
	box-sizing: border-box;
	max-width: 71.25rem;
	margin-right: auto;
	margin-left: auto;
	padding: 0 var(--manual-page-gutter);
}

.manual-listing {
	box-sizing: border-box;
	max-width: 67.5rem;
	margin-right: auto;
	margin-left: auto;
	padding: 0 var(--manual-page-gutter);
}

.manual-listing { padding-bottom: 6rem; }

.manual-related-articles {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: var(--manual-space-6) 0 var(--manual-space-8);
	border-top: .625rem solid var(--manual-grey-6);
}

.manual-not-found {
	box-sizing: border-box;
	max-width: 51.25rem;
	min-height: 50vh;
	margin: 0 auto;
	padding: 7.5rem var(--manual-page-gutter);
}

.manual-not-found h1 {
	margin: 0 0 1.25rem;
	font-family: var(--manual-headline);
	font-size: clamp(3rem, 6vw, 4.5rem);
	font-weight: 600;
	line-height: 1;
}

.manual-not-found p {
	max-width: 37rem;
	margin: 0 0 2rem;
	font-size: 1.25rem;
	line-height: 1.4;
}

.manual-not-found p a { color: var(--manual-link); }
.manual-not-found .wp-block-search { max-width: 30rem; }
.manual-not-found .wp-block-search__inside-wrapper { border: 2px solid var(--manual-grey-2); }
.manual-not-found .wp-block-search__input { min-width: 0; border: 0; padding: .65rem .75rem; font: 1.125rem/1 var(--manual-sans); }
.manual-not-found .wp-block-search__button { margin-left: 0; border: 0; border-radius: 0; padding: .65rem 1rem; background: var(--manual-ink); color: #fff; font: 600 1rem/1 var(--manual-sans); text-transform: uppercase; }
.manual-not-found .wp-block-search__button:hover,
.manual-not-found .wp-block-search__button:focus-visible { background: var(--manual-accent); }

/* Search deliberately retains the legacy inverted results page, while using
 * the shared article-card component and existing Manual tokens. */
.manual-search {
	box-sizing: border-box;
	min-height: 60vh;
	padding: 0 var(--manual-page-gutter) 3.75rem;
	background: var(--manual-ink);
	color: #fff;
}

.manual-search__header {
	max-width: 71.25rem;
	margin-right: auto;
	margin-left: auto;
}

.manual-search > .manual-article-listing {
	max-width: 61.25rem;
	margin-right: auto;
	margin-left: auto;
}

.manual-search__header { padding-top: 2.375rem; }
.manual-search__header h1 {
	margin: 0;
	font-family: var(--manual-headline);
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}
.manual-search__tools { padding: 0; }
.manual-search .wp-block-search__button {
	background: transparent url("assets/icons/search-white.svg") center / 1.5rem no-repeat;
}
.manual-search .wp-block-search__button svg { display: none; }
.manual-search__summary {
	margin: 0;
	padding: 2.625rem 0 3.5625rem;
	color: var(--manual-grey-4);
	font-family: var(--manual-serif-medium);
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: center;
}
.manual-search__summary strong { color: #fff; font-weight: 400; }
.manual-search .manual-article-listing { padding-top: 1.6875rem; }
.manual-search .manual-article-card--search { display: block; padding: 0 1.25rem 2.125rem 0; margin: 0; border: 0; }
.manual-search .manual-article-card--search .manual-article-card__link {
	display: grid;
	grid-template-columns: 17.5rem minmax(0, 1fr);
	gap: 2.25rem;
	color: inherit;
	text-decoration: none;
}
.manual-search .manual-article-card--search .manual-article-card__image { height: 12.5rem; aspect-ratio: auto; }
.manual-search .manual-article-card--search .manual-article-card__kicker { margin-bottom: .5rem; color: var(--manual-grey-3); }
.manual-search .manual-article-card--search .manual-article-card__kicker__segment--primary { color: inherit; }
.manual-search .manual-article-card--search .manual-article-card__title { margin-bottom: .5rem; color: #fff; }
.manual-search .manual-article-card--search .manual-article-card__summary { margin-bottom: .75rem; color: var(--manual-grey-4); }
.manual-search .manual-article-card--search .manual-article-card__byline,
.manual-search .manual-article-card--search .manual-article-card__date { color: var(--manual-grey-4); }
.manual-search .manual-article-card--search .manual-article-card__byline { margin-bottom: .375rem; }
.manual-search .wp-block-query-pagination {
	margin: 2rem 0 0;
	padding-top: 1rem;
	border-top: 3px solid var(--manual-grey-2);
	color: var(--manual-grey-4);
	font-family: var(--manual-sans);
	font-size: 1.25rem;
	font-weight: 600;
	text-align: center;
}
.manual-search .wp-block-query-pagination a { color: var(--manual-grey-4); text-decoration: none; }
.manual-search .wp-block-query-pagination .current { color: #fff; }

@media (min-width: 760px) {
	.manual-search { padding-bottom: 3.75rem; }
	.manual-search__header { padding-top: 2.375rem; }
	.manual-search__header h1 { padding-top: 3.125rem; }
	.manual-search .wp-block-search { width: 32.75rem; }
}

@media (min-width: 601px) and (max-width: 759px) {
	.manual-search .manual-article-card--search { padding-bottom: 1.9375rem; }
	.manual-search .manual-article-card--search .manual-article-card__link { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.25rem; }
	.manual-search .manual-article-card--search .manual-article-card__image { height: 12.5rem; }
}

@media (max-width: 600px) {
	.manual-search .manual-article-card--search { max-width: 22.5rem; padding: .375rem 0 2rem; margin: 0 auto; }
	.manual-search .manual-article-card--search .manual-article-card__link { grid-template-columns: 1fr; gap: .875rem; }
	.manual-search .manual-article-card--search .manual-article-card__image { height: 12.5rem; }
	.manual-search .manual-article-card--search .manual-article-card__summary { display: none; }
}

.manual-home-hero {
	position: relative;
	/* Current Divi issue hero: 900px desktop, 700px tablet, 515px phone. */
	min-height: 900px;
	margin: 0;
	overflow: hidden;
	background: var(--manual-ink);
}

/* These direct children are intentionally contiguous full-width bands. Reset
 * WordPress flow-layout's sibling gap at this structural boundary. */
.manual-home.is-layout-flow > :is(.manual-home-hero, .manual-home-features, .manual-ad-slot--homepage_middle, .manual-home__listing) {
	margin-block-start: 0;
}

.manual-home-hero__link {
	display: block;
	min-height: inherit;
	color: inherit;
	text-decoration: none;
}

.manual-home-hero picture,
.manual-home-hero img {
	display: block;
	width: 100%;
	height: 100%;
}

.manual-home-hero picture { position: absolute; inset: 0; }
.manual-home-hero img { object-fit: cover; object-position: center; }
.manual-home-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: inherit;
	padding: 2rem;
	background: rgba(0, 0, 0, .25);
	color: #fff;
	text-align: center;
}
.manual-home-hero__title { margin: 0 0 1.25rem; font-family: var(--manual-headline); font-size: clamp(3rem, 6vw, 5rem); font-weight: 600; line-height: 1; }
.manual-home-hero__cta { border: 1px solid currentColor; padding: .65rem 1rem; color: inherit; font-family: var(--manual-sans); font-size: 1rem; font-weight: 600; text-decoration: none; text-transform: uppercase; }
.manual-home-hero__link:hover .manual-home-hero__cta,
.manual-home-hero__link:focus-visible .manual-home-hero__cta { background: #fff; color: var(--manual-ink); }
.manual-home-hero__link:focus-visible { outline: 1px solid #fff; outline-offset: -4px; }

.manual-home-features {
	box-sizing: border-box;
	margin: 0;
	padding: var(--manual-space-8) var(--manual-page-gutter) 0;
	background: var(--manual-ink);
	color: #fff;
}

.manual-home-features__inner { max-width: 100rem; margin: 0 auto; }
.manual-home-features__grid { display: grid; grid-template-columns: 1fr; }
.manual-home-feature { box-sizing: border-box; width: 100%; max-width: 22.5rem; padding: 0 0 1.625rem; margin: 0 auto; text-align: center; }
.manual-home-feature a { color: inherit; text-decoration: none; }
/* Legacy minihero cards displayed 360 × 200 crops. The source may be larger,
 * but its editorial presentation remains a 9:5 image. */
.manual-home-feature__image { display: block; aspect-ratio: 9 / 5; margin: 0 0 1rem; overflow: hidden; background: var(--manual-grey-6); }
.manual-home-feature__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.manual-home-feature h3 { margin: 0 0 .375rem; font-family: var(--manual-headline); font-size: 1.75rem; font-weight: 500; line-height: 1; }
.manual-home-feature__kicker { margin: 0; color: var(--manual-grey-3); font-family: var(--manual-sans); font-size: 1.25rem; font-weight: 600; line-height: 1.2; text-transform: uppercase; }
.manual-home-feature__kicker a { color: inherit; text-decoration: none; }
.manual-home-feature__kicker__segment--secondary { color: inherit; }
.manual-home-feature__kicker__segment--highlight { color: var(--manual-accent); }

/* Mirrors the legacy Recent posts section heading and its measured transition
 * from the homepage MRec into the shared article-feed component. */
.manual-home__recent-title {
	margin: 0;
	padding: 2.1875rem 0 1.3125rem;
	color: var(--manual-grey-3);
	font-family: var(--manual-sans);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.manual-home__listing.is-layout-flow > .manual-article-listing { margin-block-start: 0; }

.manual-home__all-articles {
	margin: 0 0 var(--manual-space-8);
	padding: .625rem 0 1.25rem;
	text-align: center;
}

.manual-home__all-articles a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--manual-link);
	font-family: var(--manual-sans);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.manual-home__all-articles-arrow {
	display: inline-block;
	width: 1.25rem;
	height: 1.125rem;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/arrow.svg") center / contain no-repeat;
	mask: url("assets/icons/arrow.svg") center / contain no-repeat;
}

.manual-home__all-articles a:hover,
.manual-home__all-articles a:focus-visible { color: var(--manual-accent); }

.manual-listing-header {
	padding: 4.75rem 0 4.25rem;
}

.manual-listing-header h1 {
	margin: 0;
	font-family: var(--manual-headline);
	font-size: clamp(3.25rem, 5vw, 4.5rem);
	font-weight: 600;
	line-height: 1;
}

.manual-listing-eyebrow {
	margin: 0 0 .65rem;
	font-family: var(--manual-sans);
	font-size: 1.2rem;
	font-weight: 600;
	text-transform: uppercase;
}

.manual-article-listing .wp-block-post-template,
.manual-home-featured-query .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.manual-infinite-feed--related {
	box-sizing: border-box;
	width: min(var(--manual-listing-width), 100%);
	margin: 0 auto;
	padding: var(--manual-space-8) var(--manual-page-gutter) 0;
}

.manual-infinite-feed--related .manual-infinite-feed__title {
	margin: 0 0 var(--manual-space-10);
	padding: 0;
	color: var(--manual-grey-3);
	font-family: var(--manual-sans-semibold);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

@media (min-width: 760px) {
	.manual-infinite-feed--related .manual-infinite-feed__title { font-size: 1.75rem; }
}

@media (min-width: 1120px) {
	.manual-infinite-feed--related { padding-top: var(--manual-space-10); }
}

.manual-infinite-feed__pagination {
	margin: 0;
	padding: 1rem 0 0;
	font-family: var(--manual-sans);
	font-size: 1.125rem;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
}

.manual-infinite-feed__pagination a { color: inherit; }
.manual-infinite-feed__loader {
	width: 1.875rem;
	height: 1.875rem;
	margin: 3.75rem auto;
	background: url("assets/icons/ajax-loader.svg") center / contain no-repeat;
}
.manual-infinite-feed__sentinel { height: 1px; }

.manual-article-card {
	padding: 0 0 3.5rem;
	margin: 0 0 3.5rem;
	border-bottom: 1px solid #dedede;
}

.manual-article-card__image {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #efefef;
}

.manual-article-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.manual-article-card__image--empty { background: var(--manual-ink); }
/* Legacy feed copy starts alongside the image; it is not vertically centred
 * against a fixed-height crop. */
.manual-article-card__content { align-self: start; }
.manual-article-card__link { display: grid; grid-template-columns: 17.5rem minmax(0, 1fr); gap: 2.25rem; color: inherit; text-decoration: none; }

.manual-article-card__kicker,
.manual-article-card__byline,
.manual-article-card__date {
	font-family: var(--manual-sans);
	font-weight: 600;
}

.manual-article-card__kicker {
	margin: 0 0 .75rem;
	font-size: 1.15rem;
	line-height: 1;
	text-transform: uppercase;
}

.manual-article-card__kicker a,
.manual-article-kicker a {
	text-decoration: none;
}

.manual-article-card__kicker__segment--primary,
.manual-article-kicker__segment--primary { color: var(--manual-ink); }

.manual-article-card__kicker__segment--secondary,
.manual-article-kicker__segment--secondary { color: var(--manual-grey-3); }

.manual-article-card__kicker__segment--highlight,
.manual-article-kicker__segment--highlight { color: var(--manual-accent); }

.manual-article-card__kicker a:hover,
.manual-article-card__kicker a:focus-visible,
.manual-article-kicker a:hover,
.manual-article-kicker a:focus-visible {
	color: var(--manual-accent);
	text-decoration: underline;
	text-underline-offset: .12em;
}

.manual-article-card__title {
	margin: 0 0 .65rem;
	font-family: var(--manual-headline);
	font-size: clamp(2rem, 3vw, 2.65rem);
	font-weight: 500;
	line-height: 1.05;
}

.manual-article-card__summary { margin: 0 0 .85rem; font-family: var(--manual-serif-medium); font-size: 1.25rem; font-weight: 500; line-height: 1.35; }
.manual-article-card__byline { margin: 0 0 .4rem; font-size: 1.05rem; line-height: 1.15; }
.manual-article-card__date { margin: 0; color: var(--manual-grey-4); font-size: 1.05rem; font-weight: 500; }


.manual-article-card--featured {
	padding-bottom: 4.5rem;
}

.manual-article-card--featured .manual-article-card__link {
	grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 1fr);
	gap: 3.75rem;
}

.manual-article-card--featured .manual-article-card__image { aspect-ratio: 9 / 5; }
.manual-article-card--featured .manual-article-card__title { font-size: clamp(2.7rem, 4.3vw, 4rem); }

@media (max-width: 600px) {
	:root {
		--manual-header-height: 3.625rem;
		--manual-nav-control-size: 2.75rem;
	}
	body { padding-top: var(--manual-header-height); }
	.manual-site-header { height: var(--manual-header-height); }
	.manual-site-header__inner { height: var(--manual-header-height); }
	.manual-site-logo { width: 147px; padding-left: 0; }
	.manual-site-logo img { width: 147px; }
	.manual-primary-nav { display: none; }
	.manual-search-trigger { padding: 1.1rem .625rem; }
	.manual-mega-menu__inner { padding: var(--manual-header-height) 1rem 3rem; }
	.manual-mega-menu__columns { grid-template-columns: 1fr; gap: 1.5rem; }
	.manual-mega-menu__list a { font-size: 1.45rem; }
	.manual-footer-navigation { gap: 0; padding: 2.8125rem 0 0; }
	.manual-footer-blurb { padding-right: var(--manual-page-gutter); padding-left: var(--manual-page-gutter); }
	.manual-article-header { padding: 3.75rem var(--manual-page-gutter) 3.5rem; }
	.manual-article-kicker { font-size: 1.05rem; }
	.manual-article-header .wp-block-post-title { font-size: clamp(2.85rem, 13vw, 4rem); }
	.manual-article-hero { margin-bottom: 3rem; }
	.manual-article-intro { padding: var(--manual-space-8) var(--manual-page-gutter); }
	.manual-article-intro__summary { font-size: 1.35rem; }
	.manual-article-intro__meta { font-size: 1.1rem; }
	.manual-home { padding-bottom: 0; }
	.manual-home__listing { padding: 0 var(--manual-page-gutter); }
	.manual-listing { padding: 0 var(--manual-page-gutter) 4rem; }
	.manual-not-found { min-height: 40vh; padding: 4rem var(--manual-page-gutter); }
	.manual-home-hero { min-height: 515px; }
	.manual-listing-header { padding: 3.25rem 0; }
	.manual-article-card,
	.manual-article-card--featured { padding-bottom: 2.5rem; margin-bottom: 2.5rem; }
	.manual-article-card__link,
	.manual-article-card--featured .manual-article-card__link { grid-template-columns: 1fr; gap: 1.25rem; }
	.manual-article-card__image,
	.manual-article-card--featured .manual-article-card__image { aspect-ratio: 9 / 5; }
	.manual-article-card__title,
	.manual-article-card--featured .manual-article-card__title { font-size: 2.25rem; }
}

/* The desktop menu follows the legacy supernav: a dimmed page behind a compact
 * dark panel, with the three sections arranged as equal editorial columns. */
@media (min-width: 601px) {
	.manual-mega-menu__inner {
		min-height: 0;
		padding: var(--manual-header-height) 0 6.4375rem;
		background: var(--manual-ink);
	}

	.manual-mega-menu__columns {
		width: min(100% - 2.5rem, 50.9375rem);
		margin-right: auto;
		margin-left: auto;
	}

	.manual-mega-menu__columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding-top: 1.9375rem;
	}

	.manual-mega-menu__list > li > ul { margin-bottom: 0; }
}

@media (min-width: 768px) and (max-width: 980px) {
	.manual-home-hero { min-height: 700px; }
}

@media (min-width: 760px) {
	.manual-footer-navigation { padding-top: 1.9375rem; }
	.manual-footer-navigation__section { width: 25%; }
	.manual-footer-navigation__list > li > ul a { padding-top: .6875rem; padding-bottom: .6875rem; }
	.manual-footer-navigation__list > li > ul li.text-small a { padding-top: .3125rem; padding-bottom: .375rem; }
}

/* The legacy minihero runs one, two, then four cards across. Its card padding,
 * rather than a grid gap, keeps the image edges aligned with the old layout. */
@media (min-width: 600px) {
	.manual-home-features { padding-top: 2.1875rem; }
	.manual-home-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.manual-home-feature { padding-right: .625rem; padding-left: .625rem; }
	.manual-home__recent-title { padding-top: 2.0625rem; padding-bottom: 2.4375rem; font-size: 1.75rem; }
}

@media (min-width: 1120px) {
	.manual-home-features__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.manual-home__recent-title { padding-top: 2rem; padding-bottom: 2.0625rem; }
	.manual-home__all-articles { margin-bottom: 3.125rem; }
}

@media (max-width: 782px) {
	.admin-bar .manual-site-header { top: 0; }
}

@media (min-width: 760px) {
	.manual-article-content p { font-size: 1.125rem; line-height: 1.5556; }
	.manual-article-content > .wp-block-post-content > h3 { font-size: 1.25rem; line-height: 1.4; }
	.manual-article-content blockquote {
		margin: 1.25rem 0 var(--manual-space-8);
		padding: 0 0 0 1.25rem;
		font-size: 1.625rem;
		line-height: 1.5385;
	}
}

/* Homepage Recent posts uses the legacy tiled feed rather than the shared
 * archive-list layout. Each tile is one editorial destination, so its kicker
 * remains display text inside the single card link. */
.manual-home .manual-article-listing .wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

body.home .manual-home .manual-article-listing { max-width: none; }

.manual-home .manual-article-listing .wp-block-post { margin: 0; }

.manual-home .manual-article-listing .manual-article-card--tile {
	display: block;
	width: 100%;
	max-width: 22.5rem;
	min-height: 0;
	padding: 0 0 2.3125rem;
	margin: 0 auto;
	border: 0;
}

.manual-article-card--tile .manual-article-card__link { display: block; color: inherit; text-decoration: none; }

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__image {
	display: block;
	width: 100%;
	height: 12.5rem;
	margin: 0 0 .875rem;
	aspect-ratio: auto;
}

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__kicker {
	margin: 0 0 .375rem;
	color: var(--manual-grey-1);
	font-size: 1.125rem;
	line-height: 1.2222;
}

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__kicker__segment--primary,
.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__kicker__divider { color: inherit; }

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__kicker__segment--secondary { color: #808080; }

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__kicker__segment--highlight { color: var(--manual-accent); }

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__title {
	margin: 0 0 .5rem;
	font-size: 1.5rem;
	line-height: 1.1667;
}

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__summary { display: none; }

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__byline,
.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__date {
	font-size: 1.125rem;
	line-height: 1.1111;
}

.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__byline { margin-bottom: .1875rem; color: var(--manual-grey-2); }

@media (min-width: 600px) {
	.manual-home .manual-article-listing .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
	.manual-home .manual-article-listing .manual-article-card--tile { max-width: 25rem; }
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__image { height: 13.75rem; }
}

@media (min-width: 1120px) {
	.manual-home .manual-article-listing .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--manual-space-8); }
	.manual-home .manual-article-listing .manual-article-card--tile { max-width: none; padding-bottom: 2.3125rem; }
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__image { height: 14.375rem; }
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__kicker { margin-bottom: .5rem; font-size: 1.25rem; line-height: 1.2; }
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__title { margin-bottom: .5rem; font-size: 1.875rem; line-height: 1.2667; }
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__byline,
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__date { font-size: 1.25rem; line-height: 1.1; }
	.manual-home .manual-article-listing .manual-article-card--tile .manual-article-card__byline { margin-bottom: .375rem; }
}

.manual-article-hero { min-height: 17.5rem; }

@media (min-width: 760px) and (max-height: 799px) {
	.manual-article-hero { height: 27.5rem; }
}

@media (min-width: 760px) and (min-height: 800px) {
	.manual-article-hero { height: 40rem; }
}

@media (min-width: 1120px) and (min-height: 800px) {
	.manual-article-hero { height: 43.75rem; }
}

/* Shared editorial module: 90px left rail, 640px reading measure, flexible
 * metadata gap, and a 180px right rail. Text remains in the reading measure;
 * native `alignwide` blocks span the module without offsets or negative
 * margins. This is the measured structure used by the live Divi articles. */
@media (min-width: 760px) {
	.manual-article-taxonomy {
		width: min(67.5rem, 100vw);
		max-width: 67.5rem;
		margin-right: auto;
		margin-left: auto;
		padding: 0;
	}

	.manual-article-content > .wp-block-post-content {
		display: grid;
		grid-template-columns: 5.625rem minmax(0, 40rem) minmax(0, 1fr) 11.25rem;
	}
	.manual-article-content > .wp-block-post-content {
		width: min(67.5rem, 100vw);
		max-width: 67.5rem;
		margin-right: auto;
		margin-left: auto;
	}

	.manual-article-divider {
		display: grid;
		width: min(67.5rem, 100vw);
		max-width: 67.5rem;
		margin-right: auto;
		margin-left: auto;
		grid-template-columns: 5.625rem minmax(0, 40rem) minmax(0, 1fr) 11.25rem;
		background: transparent;
	}
	.manual-article-divider::before {
		grid-column: 2;
		content: '';
		background: var(--manual-ink);
	}

	/* The grid owns the editorial geometry: media naturally uses the article
	 * row, while reading blocks opt into its 635px column. This avoids using
	 * per-image breakout CSS to undo a prose-width default. */
	.manual-article-content > .wp-block-post-content > * { grid-column: 1 / -1; }
	.manual-article-content > .wp-block-post-content > :is(
		p,
		h1, h2, h3, h4, h5, h6,
		ul, ol,
		.wp-block-quote,
		.wp-block-pullquote,
		.wp-block-table,
		.wp-block-details,
		.wp-block-preformatted,
		.wp-block-code,
		.wp-block-buttons,
		.is-style-manual-prose
	) {
		grid-column: 2;
		padding-inline: 0;
	}

	.manual-article-content > .wp-block-post-content > .alignwide,
	.manual-article-content > .wp-block-post-content > :is(
		.wp-block-image:not(.is-style-manual-prose),
		.wp-block-gallery,
		.wp-block-embed,
		.wp-block-video,
		.wp-block-audio,
		.wp-block-cover
	) {
		grid-column: 1 / -1;
		width: auto;
		max-width: none;
	}

	.manual-article-content > .wp-block-post-content > .alignwide + * { margin-top: 0; }

	/* Images own the full article row; their credits retain the reading-column
	 * inset so editorial text stays aligned with the surrounding prose. */
	.manual-article-content figcaption {
		box-sizing: border-box;
		width: min(45.625rem, 100%);
		padding-left: 5.625rem;
		padding-right: 0;
	}

	.manual-article-taxonomy {
		display: grid;
		grid-template-columns: 5.625rem minmax(0, 40rem) minmax(0, 1fr) 11.25rem;
		padding: 0 0 3.75rem;
	}
	.manual-article-taxonomy__group { grid-column: 2; }

	.manual-article-lead-video .manual-article-content > .wp-block-post-content > .wp-block-embed:first-child {
		grid-column: 1 / -1;
		width: auto;
	}

}

/* Direct-sold campaign slots. */
.manual-ad-slot {
	--manual-ad-slot-surface: var(--manual-grey-6);
	box-sizing: border-box;
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 1.25rem;
	background: var(--manual-ad-slot-surface);
	text-align: center;
}

.manual-ad-slot__item + .manual-ad-slot__item {
	margin-top: 1rem;
}

/* Native Gallery settings own columns, crop, and image size. This restores
 * the core gallery column contract where the block stylesheet is absent. */
.manual-article-content .wp-block-gallery.has-nested-images {
	--manual-gallery-columns: 3;
	display: grid;
	grid-template-columns: repeat(var(--manual-gallery-columns), minmax(0, 1fr));
	gap: var(--wp--style--unstable-gallery-gap, var(--manual-space-4));
	margin-bottom: var(--manual-space-8);
}

.manual-article-content .wp-block-gallery.columns-1 { --manual-gallery-columns: 1; }
.manual-article-content .wp-block-gallery.columns-2 { --manual-gallery-columns: 2; }
.manual-article-content .wp-block-gallery.columns-3 { --manual-gallery-columns: 3; }
.manual-article-content .wp-block-gallery.columns-4 { --manual-gallery-columns: 4; }
.manual-article-content .wp-block-gallery.columns-5 { --manual-gallery-columns: 5; }
.manual-article-content .wp-block-gallery.columns-6 { --manual-gallery-columns: 6; }
.manual-article-content .wp-block-gallery.columns-7 { --manual-gallery-columns: 7; }
.manual-article-content .wp-block-gallery.columns-8 { --manual-gallery-columns: 8; }

.manual-article-content .wp-block-gallery.has-nested-images > .wp-block-image {
	width: auto;
	margin: 0;
}

.manual-article-content .wp-block-gallery.has-nested-images > .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

.manual-article-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image > a,
.manual-article-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image > img {
	display: flex;
	flex: 1;
	height: 100%;
}

.manual-article-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image img {
	object-fit: cover;
}

/* Core video Embed blocks carry their intended ratio in block classes. The
 * theme owns the iframe frame so provider-supplied dimensions cannot change
 * the article-row geometry. */
.manual-article-content .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
}

.manual-article-content .wp-block-embed.wp-has-aspect-ratio iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.pswp--manual-gallery {
	--pswp-bg: #000;
	--pswp-icon-color: #fff;
	--pswp-icon-color-secondary: var(--manual-ink);
	--pswp-icon-stroke-color: #fff;
	--pswp-icon-stroke-width: 1px;
	font-family: var(--manual-sans);
}

.pswp--manual-gallery .pswp__top-bar {
	padding-top: env(safe-area-inset-top);
}

.pswp--manual-gallery .pswp__button {
	width: 3rem;
	height: 3rem;
}

/* Uses the same three-line control as the primary mega menu, held in its
 * close state rather than introducing a separate icon treatment. */
.pswp--manual-gallery .pswp__button--manual-close {
	display: grid;
	width: var(--manual-nav-control-size);
	height: var(--manual-nav-control-size);
	padding: 0;
	color: #fff;
	place-items: center;
}

.pswp--manual-gallery .pswp__button--manual-close .manual-menu-glyph__line--top {
	transform: translateY(.3125rem) rotate(45deg);
}

.pswp--manual-gallery .pswp__button--manual-close .manual-menu-glyph__line--middle {
	opacity: 0;
}

.pswp--manual-gallery .pswp__button--manual-close .manual-menu-glyph__line--bottom {
	transform: translateY(-.3125rem) rotate(-45deg);
}

.pswp--manual-gallery .pswp__counter {
	padding-inline: var(--manual-space-4);
	font-size: 1rem;
	font-weight: 600;
	line-height: 3rem;
}

.pswp--manual-gallery .pswp__custom-caption {
	box-sizing: border-box;
	position: absolute;
	right: max(var(--manual-space-4), env(safe-area-inset-right));
	bottom: max(var(--manual-space-4), env(safe-area-inset-bottom));
	left: max(var(--manual-space-4), env(safe-area-inset-left));
	max-width: 42rem;
	margin-inline: auto;
	padding: var(--manual-space-3) var(--manual-space-4);
	background: color-mix(in srgb, var(--manual-ink) 92%, transparent);
	color: #fff;
	font-family: var(--manual-serif);
	font-size: 1rem;
	line-height: 1.35;
	text-align: center;
}

@media (max-width: 599px) {
	.pswp--manual-gallery .pswp__button--arrow { display: none; }
}

.manual-ad-slot__link,
.manual-ad-slot__creative {
	display: block;
}

.manual-ad-slot__creative picture,
.manual-ad-slot__creative img {
	display: block;
}

.manual-ad-slot__creative picture {
	width: max-content;
	margin-right: auto;
	margin-left: auto;
}

.manual-ad-slot__creative img {
	width: auto;
	max-width: none;
	height: auto;
	margin: 0;
}

/* Standard placements keep the booked ad dimensions, even when the upload is
 * a higher-resolution source file. */
.manual-ad-slot--header .manual-ad-slot__creative img {
	width: 728px;
	height: 90px;
}

/* The minihero and its following MRec are direct, contiguous homepage bands. */
body.home .manual-home > .manual-ad-slot--homepage_middle {
	margin: 0;
	padding: 1.25rem var(--manual-page-gutter);
}

.manual-ad-slot--homepage_middle .manual-ad-slot__creative img,
.manual-ad-slot--article_feed .manual-ad-slot__creative img,
.manual-ad-slot--post_bottom .manual-ad-slot__creative img {
	width: 300px;
	height: 250px;
}

/* Archive campaigns are page bands, not an extra item in the editorial
 * measure. The legacy wrapper is transparent; only the booked MRec creative
 * is visible. */
.manual-ad-slot--article_feed {
	--manual-ad-slot-surface: transparent;
	margin: 0;
	padding: var(--manual-space-8) var(--manual-page-gutter);
}

@media (max-width: 759px) {
	.manual-ad-slot--header .manual-ad-slot__creative--has-mobile img {
		width: 320px;
		height: 40px;
	}
}

/* The legacy article intro remains centred until the real desktop threshold.
 * Its 1120px metadata rail is independent from the 760px body-media grid. */
@media (min-width: 1120px) {
	.manual-article-intro {
		width: min(67.5rem, 100vw);
		max-width: 67.5rem;
		display: grid;
		grid-template-columns: 5.625rem minmax(0, 40rem) minmax(0, 1fr) 11.25rem;
		padding: var(--manual-space-16) 0;
		text-align: left;
	}
	.manual-article-intro__copy {
		grid-column: 2;
		grid-row: 1;
		max-width: none;
		margin: 0;
	}
	.manual-article-intro__summary { padding-bottom: var(--manual-space-12); }
	.manual-article-intro__meta {
		grid-column: 4;
		grid-row: 1;
		margin: 0;
		text-align: left;
	}
	.manual-article-intro__date { margin-top: var(--manual-space-1); }
}

@media (min-width: 760px) {
	body.home .manual-home > .manual-ad-slot--homepage_middle {
		padding-top: var(--manual-space-8);
		padding-bottom: 2.1875rem;
	}
}

@media (min-width: 1120px) {
	.manual-ad-slot { padding: var(--manual-space-8) 1.25rem; }
}

/* The header placement has a consistent 24px breathing space around its
 * booked creative at every viewport; other ad placements keep their own
 * responsive padding rules. */
.manual-ad-slot--header { padding-block: var(--manual-space-6); }

.manual-ad-slot--takeover {
	position: fixed;
	z-index: 1000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 2.5rem 1rem;
	background: rgba(33, 32, 32, .92);
}

.manual-ad-slot--takeover .manual-ad-slot__item {
	width: max-content;
	max-width: none;
}

.manual-ad-slot--takeover .manual-ad-slot__creative img {
	max-height: none;
}

.manual-ad-slot__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.manual-ad-takeover-open {
	overflow: hidden;
}

/* Shared listing component. Archive and homepage feeds share the measured
 * legacy geometry; search keeps its distinct inverted page treatment above. */
@media (min-width: 600px) {
	.manual-listing > .manual-listing-header,
	:is(.manual-listing, .manual-home, .manual-related-articles) .manual-article-listing {
		max-width: var(--manual-listing-width);
		margin-right: auto;
		margin-left: auto;
	}

	.manual-listing .manual-listing-header {
		padding-top: 5.75rem;
		padding-bottom: 5.75rem;
		text-align: center;
	}

	:is(.manual-listing, .manual-home, .manual-related-articles) .manual-article-listing .manual-article-card {
		padding: 0 0 1.9375rem;
		margin: 0;
		border: 0;
	}

	:is(.manual-listing, .manual-home, .manual-related-articles) .manual-article-listing .manual-article-card__link {
		grid-template-columns: var(--manual-card-image-medium) minmax(0, 1fr);
		gap: 1.25rem;
		min-height: 16.25rem;
	}

	:is(.manual-listing, .manual-home, .manual-related-articles) .manual-article-listing .manual-article-card__image {
		width: var(--manual-card-image-medium);
		height: var(--manual-card-image-medium);
		aspect-ratio: auto;
		align-self: start;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__title {
		font-size: 1.5rem;
		line-height: 1.1667;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__summary {
		font-family: var(--manual-serif-medium);
		font-size: 1rem;
		font-weight: 500;
		line-height: 1.5;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__byline,
	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__date {
		font-size: 1.125rem;
		line-height: 1.1111;
	}
}

@media (min-width: 760px) {
	:is(.manual-listing, .manual-home, .manual-related-articles) .manual-article-listing .manual-article-card__link {
		grid-template-columns: var(--manual-card-image-wide) minmax(0, 1fr);
		gap: var(--manual-space-8);
	}

	:is(.manual-listing, .manual-home, .manual-related-articles) .manual-article-listing .manual-article-card__image {
		width: var(--manual-card-image-wide);
		height: var(--manual-card-image-height);
	}
}

@media (min-width: 1120px) {
	.manual-listing .manual-listing-header h1 {
		font-size: 3.75rem;
		line-height: 1;
	}

	:is(.manual-listing, .manual-home) .manual-article-listing .manual-article-card {
		padding-right: 1.25rem;
		padding-bottom: 2.125rem;
	}

	:is(.manual-listing, .manual-home) .manual-article-listing .manual-article-card__link {
		gap: 2.3125rem;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__kicker {
		font-size: 1.25rem;
		line-height: 1.2;
		margin-bottom: .5rem;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__title {
		font-size: 1.875rem;
		line-height: 1.2667;
		margin-bottom: .5rem;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__summary {
		font-size: 1.125rem;
		line-height: 1.5556;
		margin-bottom: .75rem;
	}

	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__byline,
	:is(.manual-listing, .manual-home, .manual-search) .manual-article-listing .manual-article-card__date {
		font-size: 1.25rem;
		line-height: 1.1;
		margin-bottom: .375rem;
	}
}
