/* ==========================================================================
   Wirepaw — poster news theme
   Sections are numbered (wpw-s100 …) to match the preview inspector.
   ========================================================================== */

:root {
	--wpw-pad: var(--wp--style--root--padding-left, clamp(1rem, 3.2vw, 2.5rem));
	--wpw-wide: 1360px;
	--wpw-bg: var(--wp--preset--color--base);
	--wpw-surface: var(--wp--preset--color--surface);
	--wpw-surface-2: var(--wp--preset--color--surface-2);
	--wpw-line: var(--wp--preset--color--line);
	--wpw-muted: var(--wp--preset--color--muted);
	--wpw-text: var(--wp--preset--color--contrast);
	--wpw-red: var(--wp--preset--color--accent);
	--wpw-red-text: var(--wp--preset--color--accent-text);
	--wpw-on-red: var(--wp--preset--color--on-accent);
	--wpw-ink: var(--wp--preset--color--ink);
	--wpw-on-ink: var(--wp--preset--color--on-ink);
	--wpw-red-on-ink: #ff4b3e;
	--wpw-display: var(--wp--preset--font-family--display);
	--wpw-body: var(--wp--preset--font-family--body);
	--wpw-mono: var(--wp--preset--font-family--mono);

	--wpw-wire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='24' viewBox='0 0 96 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M0 12.6c8-3.2 16-3.2 24 0s16 3.2 24 0 16-3.2 24 0 16 3.2 24 0'/%3E%3Cpath d='M0 11.4c8 3.2 16 3.2 24 0s16-3.2 24 0 16 3.2 24 0 16-3.2 24 0'/%3E%3Cpath d='M41 3.5l14 17M55 3.5l-14 17'/%3E%3Cpath d='M44 9.2c2.6-1.8 5.4-1.8 8 0M44 14.8c2.6 1.8 5.4 1.8 8 0'/%3E%3C/g%3E%3C/svg%3E");
	--wpw-wire-v: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='96' viewBox='0 0 24 96'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M12.6 0c-3.2 8-3.2 16 0 24s3.2 16 0 24-3.2 16 0 24 3.2 16 0 24'/%3E%3Cpath d='M11.4 0c3.2 8 3.2 16 0 24s-3.2 16 0 24 3.2 16 0 24-3.2 16 0 24'/%3E%3Cpath d='M3.5 41l17 14M3.5 55l17-14'/%3E%3Cpath d='M9.2 44c-1.8 2.6-1.8 5.4 0 8M14.8 44c1.8 2.6 1.8 5.4 0 8'/%3E%3C/g%3E%3C/svg%3E");
	--wpw-fence: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M0 0c6 5 11 12 17 17s11 12 17 17M34 0c-6 5-11 12-17 17S6 29 0 34'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	background: var(--wpw-bg);
	color: var(--wpw-text);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
html.wpw-drawer-open, html.wpw-drawer-open body { overflow: hidden; }
::selection { background: var(--wpw-red); color: var(--wpw-on-red); }
:focus-visible { outline: 3px solid var(--wpw-red); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important;
	width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--wpw-red); color: var(--wpw-on-red); clip: auto !important; clip-path: none;
	display: block; height: auto; left: 8px; top: 8px; padding: 12px 16px; width: auto; z-index: 100000;
}

/* Wide wrappers */
.wpw-topbar__in, .wpw-masthead, .wpw-cover, .wpw-section:not(.wpw-half), .wpw-pair, .wpw-band__in,
.wpw-story-head, .wpw-story-body, .wpw-archive-head, .wpw-archive-body, .wpw-page-head,
.wpw-404, .wpw-footer__cols, .wpw-footer__bottom, .wpw-footer > .wp-block-separator {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--wpw-wide) + 2 * var(--wpw-pad));
	margin-inline: auto;
	padding-inline: var(--wpw-pad);
}
body .wpw-main > *, body .wpw-header > *, body .wpw-footer > * { margin-block: 0; }
body .wpw-main > * + * { margin-block-start: clamp(3rem, 6vw, 5.5rem); }
body .wpw-main { padding-block-end: clamp(3rem, 6vw, 5rem); }
body .wpw-main > .wpw-band + *, body .wpw-main > * + .wpw-band { margin-block-start: clamp(3rem, 6vw, 5.5rem); }

/* ---------- Atoms ---------- */
.wpw-kicker {
	font-family: var(--wpw-mono);
	font-size: .72rem;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--wpw-muted);
	margin: 0;
}
.wpw-label { margin: 0; line-height: 1; }
.wpw-label a {
	display: inline-block;
	font-family: var(--wpw-mono);
	font-weight: 700;
	font-size: .66rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	background: var(--wpw-red);
	color: var(--wpw-on-red);
	padding: .42em .6em .36em;
	line-height: 1;
}
.wpw-label a:hover, .wpw-label a:focus { background: var(--wpw-text); color: var(--wpw-bg); }
.wpw-label .wp-block-post-terms__separator { display: none; }
.wpw-date, .wpw-date time, .wpw-rt, .wpw-by {
	font-family: var(--wpw-mono);
	font-size: .7rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wpw-muted);
	margin: 0;
}
.wpw-by::before { content: "By "; }
.wpw-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.1rem; }
body .wpw-meta > * { margin: 0; }
.wpw-meta > * + *::before { content: "+"; color: var(--wpw-red-text); margin-right: 1.1rem; font-family: var(--wpw-mono); }
.wpw-meta > .wpw-by + *::before { content: "+"; }
.wpw-excerpt, .wpw-excerpt p { color: var(--wpw-muted); margin: 0; font-size: .95rem; line-height: 1.5; }
.wpw-excerpt .wp-block-post-excerpt__more-text { display: none; }

/* Titles in cards use the text face, not the poster face */
.wpw-card__title, .wpw-row__title, .wpw-line__title, .wpw-fline__title {
	font-family: var(--wpw-body);
	font-weight: 800;
	text-transform: none;
	letter-spacing: -.012em;
	line-height: 1.14;
	margin: 0;
	text-wrap: pretty;
}
.wpw-card__title { font-size: 1.22rem; }
.wpw-row__title { font-size: 1.08rem; }
.wpw-line__title { font-size: 1rem; }
.wpw-card__title a, .wpw-row__title a, .wpw-line__title a { background: linear-gradient(var(--wpw-red), var(--wpw-red)) 0 100% / 0 3px no-repeat; transition: background-size .25s ease, color .2s; }
.wpw-card:hover .wpw-card__title a, .wpw-row:hover .wpw-row__title a, .wpw-line:hover .wpw-line__title a,
.wpw-card__title a:focus, .wpw-row__title a:focus { background-size: 100% 3px; color: inherit; }

/* Section heads: solid name + outlined repeats + barbed wire underline */
.wpw-sechead {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 1.25rem;
	padding-bottom: 1.4rem;
	margin-bottom: 1.75rem;
	overflow: hidden;
}
body .wpw-sechead > * { margin: 0; }
.wpw-secname {
	font-family: var(--wpw-display);
	font-size: clamp(2.3rem, 4.6vw, 4.25rem);
	line-height: .86;
	white-space: nowrap;
	flex: none;
}
.wpw-sechead::before {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 18px;
	background: currentColor;
	opacity: .75;
	-webkit-mask: var(--wpw-wire) repeat-x left center / auto 18px;
	mask: var(--wpw-wire) repeat-x left center / auto 18px;
}
.wpw-sechead[data-word]::after {
	content: attr(data-word) "\00a0\00a0" attr(data-word) "\00a0\00a0" attr(data-word) "\00a0\00a0" attr(data-word);
	order: 2;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	font-family: var(--wpw-display);
	font-size: clamp(2.3rem, 4.6vw, 4.25rem);
	line-height: .86;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1px var(--wpw-line);
	pointer-events: none;
}
.wpw-sechead .wpw-more { order: 3; margin-left: auto; flex: none; }
.wpw-more, .wpw-more a {
	font-family: var(--wpw-mono);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	white-space: nowrap;
}
.wpw-more a { color: var(--wpw-red-text); }
.wpw-more a:hover { color: var(--wpw-text); }

/* ---------- Images: halftone B/W, red duotone on hover ---------- */
.wpw-img {
	position: relative;
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--wpw-red);
	isolation: isolate;
}
.wpw-img a, .wpw-img img { display: block; width: 100%; height: 100%; }
.wpw-img img {
	object-fit: cover;
	filter: grayscale(1) contrast(1.15) brightness(.95);
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .3s;
}
.wpw-img::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(0, 0, 0, .55) .8px, transparent 1.25px);
	background-size: 4px 4px;
	opacity: .32;
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index: 2;
}
.wpw-card:hover .wpw-img img, .wpw-row:hover .wpw-img img, .wpw-cover__item:hover .wpw-img img,
.wpw-img a:focus img {
	mix-blend-mode: multiply;
	filter: grayscale(1) contrast(1.35) brightness(1.08);
	transform: scale(1.035);
}
.wpw-img--thumb { aspect-ratio: 1 / 1; }
.wpw-img--poster, .wpw-img--lead { aspect-ratio: 4 / 5; }
.wpw-img--story { aspect-ratio: 16 / 9; }

/* Placeholder: chain-link + barb */
.wpw-ph { background: var(--wpw-surface); }
.wpw-ph a { display: grid; place-items: center; height: 100%; color: var(--wpw-muted); position: relative; }
.wpw-ph a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wpw-line);
	-webkit-mask: var(--wpw-fence) repeat 0 0 / 30px 30px;
	mask: var(--wpw-fence) repeat 0 0 / 30px 30px;
}
.wpw-ph__barb { width: 38%; max-width: 110px; height: auto; position: relative; color: var(--wpw-red); }

/* ---------- Lists from post templates ---------- */
body .wp-block-query .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
body .wp-block-post-template > li { margin: 0; }
.wpw-card { display: flex; flex-direction: column; gap: .9rem; height: 100%; }
body .wpw-card > *, body .wpw-card__text > *, body .wpw-row > *, body .wpw-row__text > *, body .wpw-line > *, body .wpw-fline > * { margin: 0; }
.wpw-card__text { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.wpw-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1rem; align-items: start; }
.wpw-row__text { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }
.wpw-line { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; }

/* Numbered lists */
.wpw-numbered .wp-block-post-template { counter-reset: wpw; }
.wpw-numbered .wp-block-post { counter-increment: wpw; position: relative; }
.wpw-numbered .wpw-line { padding-left: 3rem; min-height: 2.6rem; }
.wpw-numbered .wpw-line::before {
	content: counter(wpw, decimal-leading-zero);
	position: absolute;
	left: 0; top: -.15rem;
	font-family: var(--wpw-display);
	font-size: 2.1rem;
	line-height: 1;
	color: var(--wpw-red-text);
}
.wpw-numbered .wp-block-post + .wp-block-post { border-top: 1px solid var(--wpw-line); padding-top: 1rem; margin-top: 1rem; }

/* ==========================================================================
   010–030 Header
   ========================================================================== */
.wpw-header-part { position: relative; z-index: 50; }
.wpw-topbar { background: var(--wpw-ink); color: var(--wpw-on-ink); }
.wpw-topbar__in {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	min-height: 34px;
	font-family: var(--wpw-mono);
	font-size: .68rem;
	letter-spacing: .2em;
	text-transform: uppercase;
}
body .wpw-topbar__in > * { margin: 0; }
.wpw-today::before { content: ""; display: inline-block; width: 8px; height: 8px; background: var(--wpw-red-on-ink); margin-right: .7em; vertical-align: 1px; }
.wpw-edition { opacity: .85; }
.wpw-tagline { color: var(--wpw-red-on-ink); }

.wpw-masthead {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2.5rem);
	min-height: 88px;
	position: relative;
	padding-block: .9rem 1.4rem;
}
body .wpw-masthead > * { margin: 0; }
.wpw-masthead::after {
	content: "";
	position: absolute;
	left: var(--wpw-pad); right: var(--wpw-pad); bottom: 0;
	height: 20px;
	background: var(--wpw-text);
	-webkit-mask: var(--wpw-wire) repeat-x left center / auto 20px;
	mask: var(--wpw-wire) repeat-x left center / auto 20px;
}

/* Logo + wordmark */
.wpw-logo { flex: none; line-height: 1; }
.wpw-logo img { width: auto; max-height: 56px; }
.wpw-wordmark {
	display: inline-flex;
	align-items: center;
	gap: .1em;
	font-family: var(--wpw-display);
	font-size: clamp(1.7rem, 2.6vw, 2.35rem);
	line-height: 1;
	letter-spacing: .01em;
	text-transform: uppercase;
	color: var(--wpw-text);
	white-space: nowrap;
}
a.wpw-wordmark:hover { color: var(--wpw-text); }
.wpw-wordmark__barb { width: 1.15em; height: 1.15em; color: var(--wpw-red-text); margin-right: .18em; flex: none; transition: transform .4s; }
a.wpw-wordmark:hover .wpw-wordmark__barb { transform: rotate(90deg); }
.wpw-wordmark__b { background: var(--wpw-red); color: var(--wpw-on-red); padding: .08em .14em .02em; margin-left: .06em; }

/* Nav (replaces the core navigation stylesheet) */
.wp-block-navigation { position: relative; }
.wp-block-navigation ul { list-style: none; margin: 0; padding: 0; }
.wp-block-navigation__container { display: flex; flex-wrap: wrap; align-items: center; }
.wp-block-navigation .wp-block-navigation-item { position: relative; display: flex; align-items: center; }
.wp-block-navigation-item__content { display: block; color: inherit; }
.wp-block-navigation__submenu-icon { background: none; border: 0; color: inherit; padding: 0 0 0 .3em; cursor: pointer; width: 1.2em; height: 1.2em; }
.wp-block-navigation__submenu-icon svg { width: .7em; height: .7em; stroke: currentColor; }
.wp-block-navigation__submenu-container {
	position: absolute; top: 100%; left: 0; z-index: 30; min-width: 220px; padding: .5rem 0 !important;
	background: var(--wpw-ink); color: var(--wpw-on-ink); flex-direction: column; align-items: stretch;
	visibility: hidden; opacity: 0; display: flex;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1rem; }
.wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { display: none; }
.wpw-drawer-nav .wp-block-navigation__container { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; }
.wpw-drawer-nav .wp-block-navigation-item { flex-wrap: wrap; }
.wpw-drawer-nav .wp-block-navigation__submenu-container { position: static; visibility: visible; opacity: 1; background: none; min-width: 0; padding: 0 0 0 1rem !important; }
.wpw-drawer-nav .wp-block-navigation__submenu-icon { display: none; }

/* Nav */
.wpw-nav { flex: 1 1 auto; justify-content: center; min-width: 0; }
.wpw-nav .wp-block-navigation__container { gap: clamp(.9rem, 1.8vw, 1.9rem); flex-wrap: nowrap; }
.wpw-nav .wp-block-navigation-item__content {
	font-family: var(--wpw-body);
	font-weight: 800;
	font-size: .82rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding-block: .45rem;
	white-space: nowrap;
	box-shadow: inset 0 0 0 var(--wpw-red);
	transition: box-shadow .2s, color .2s;
}
.wpw-nav .wp-block-navigation-item__content:hover, .wpw-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wpw-text);
	box-shadow: inset 0 -4px 0 var(--wpw-red);
}

/* Header buttons */
.wpw-actions { display: flex; gap: .5rem; margin-left: auto; flex: none; }
.wpw-btn {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	height: 44px;
	padding: 0 .95rem;
	border: 2px solid var(--wpw-text);
	color: var(--wpw-text);
	font-family: var(--wpw-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: background .2s, color .2s, border-color .2s;
}
.wpw-btn:hover, .wpw-btn:focus-visible { background: var(--wpw-red); border-color: var(--wpw-red); color: var(--wpw-on-red); }
.wpw-btn svg { width: 17px; height: 17px; }
.wpw-btn--menu { background: var(--wpw-text); color: var(--wpw-bg); }
.wpw-burger, .wpw-burger::before, .wpw-burger::after { display: block; width: 18px; height: 2.5px; background: currentColor; position: relative; }
.wpw-burger::before, .wpw-burger::after { content: ""; position: absolute; left: 0; }
.wpw-burger::before { top: -6px; }
.wpw-burger::after { top: 6px; width: 12px; }

/* Ticker (red band) */
.wpw-ticker {
	display: flex;
	align-items: stretch;
	background: var(--wpw-red);
	color: var(--wpw-on-red);
	height: 44px;
	overflow: hidden;
	margin-top: 0;
}
.wpw-ticker__label {
	flex: none;
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: 0 1.1rem 0 var(--wpw-pad);
	background: var(--wpw-ink);
	color: var(--wpw-on-ink);
	font-family: var(--wpw-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	position: relative;
}
.wpw-ticker__label::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--wpw-red-on-ink); animation: wpw-blink 1.4s steps(2, start) infinite; }
.wpw-ticker__label::after { content: ""; position: absolute; right: -14px; top: 0; bottom: 0; width: 14px; background: var(--wpw-ink); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.wpw-ticker__viewport { flex: 1 1 auto; min-width: 0; overflow: hidden; display: flex; align-items: center; padding-left: 1.5rem; }
.wpw-ticker__track { display: flex; width: max-content; animation: wpw-tick 70s linear infinite; }
.wpw-ticker:hover .wpw-ticker__track, .wpw-ticker:focus-within .wpw-ticker__track, .wpw-ticker.is-paused .wpw-ticker__track { animation-play-state: paused; }
.wpw-ticker__list { display: flex; list-style: none; margin: 0; padding: 0; }
.wpw-ticker__list li { display: flex; align-items: center; white-space: nowrap; font-family: var(--wpw-display); font-size: 1.05rem; letter-spacing: .03em; text-transform: uppercase; }
.wpw-ticker__list li::after { content: "+"; font-family: var(--wpw-mono); font-weight: 700; margin: 0 1.4rem; }
.wpw-ticker__list a { color: var(--wpw-on-red); }
.wpw-ticker__list a:hover, .wpw-ticker__list a:focus { color: var(--wpw-on-red); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.wpw-ticker__pause {
	flex: none;
	width: 44px;
	border: 0;
	background: var(--wpw-ink);
	color: var(--wpw-on-ink);
	cursor: pointer;
	display: none;
	position: relative;
}
.wpw-ticker.has-js .wpw-ticker__pause { display: block; }
.wpw-ticker__pause::before, .wpw-ticker__pause::after { content: ""; position: absolute; top: 15px; width: 4px; height: 14px; background: currentColor; }
.wpw-ticker__pause::before { left: 16px; }
.wpw-ticker__pause::after { left: 24px; }
.wpw-ticker.is-paused .wpw-ticker__pause::before { left: 17px; width: 0; height: 0; background: none; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent currentColor; }
.wpw-ticker.is-paused .wpw-ticker__pause::after { display: none; }
.wpw-ticker__pause:hover, .wpw-ticker__pause:focus-visible { background: var(--wpw-text); color: var(--wpw-bg); }
@keyframes wpw-tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes wpw-blink { to { visibility: hidden; } }

/* Drawer (menu + search) */
.wpw-drawer {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9000;
	background: var(--wpw-ink);
	color: var(--wpw-on-ink);
	overflow-y: auto;
	padding: clamp(1.25rem, 4vw, 3.5rem) var(--wpw-pad) 6rem;
	box-sizing: border-box;
}
.wpw-drawer.is-open, .wpw-drawer:target { display: block; }
.wpw-drawer::before {
	content: "";
	position: fixed;
	inset: 0;
	background: var(--wpw-on-ink);
	opacity: .06;
	-webkit-mask: var(--wpw-fence) repeat 0 0 / 46px 46px;
	mask: var(--wpw-fence) repeat 0 0 / 46px 46px;
	pointer-events: none;
}
body .wpw-drawer > * { position: relative; max-width: var(--wpw-wide); margin-inline: auto; margin-block: 0; }
.wpw-drawer__close {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: .6rem;
	width: max-content;
	margin-left: auto !important;
	margin-right: 0 !important;
	font-family: var(--wpw-mono);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wpw-on-ink);
	border: 2px solid currentColor;
	padding: .6rem .9rem;
}
.wpw-drawer__close:hover { background: var(--wpw-red); border-color: var(--wpw-red); color: #fff; }
body .wpw-drawer .wpw-drawer__search { margin-block: 2rem 3rem; }
.wpw-drawer__search .wp-block-search__label { font-family: var(--wpw-mono); font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; color: var(--wpw-red-on-ink); }
.wpw-drawer__search .wp-block-search__input {
	font-family: var(--wpw-display);
	font-size: clamp(2rem, 6vw, 4.5rem);
	text-transform: uppercase;
	background: transparent;
	color: var(--wpw-on-ink);
	border: 0;
	border-bottom: 3px solid var(--wpw-on-ink);
	padding: .2rem 0;
	border-radius: 0;
}
.wpw-drawer__search .wp-block-search__input::placeholder { color: var(--wpw-on-ink); opacity: .35; }
.wpw-drawer__search .wp-block-search__inside-wrapper { gap: 1rem; align-items: flex-end; }
.wpw-drawer__cols { display: grid; grid-template-columns: 2fr 1fr; gap: 2.5rem; }
body .wpw-drawer__col > * { margin: 0 0 1rem; }
.wpw-drawer .wpw-kicker { color: var(--wpw-red-on-ink); }
.wpw-drawer-nav .wp-block-navigation__container { gap: .2rem; }
.wpw-drawer-nav .wp-block-navigation-item__content {
	font-family: var(--wpw-display);
	font-size: clamp(2.2rem, 5.5vw, 4rem);
	line-height: 1.02;
	text-transform: uppercase;
	color: var(--wpw-on-ink);
}
.wpw-drawer-nav .wp-block-navigation-item__content:hover, .wpw-drawer-nav .wp-block-navigation-item__content:focus { color: var(--wpw-red-on-ink); padding-left: .2em; }
.wpw-drawer-pages { list-style: none; padding: 0; margin: 0; }
.wpw-drawer-pages li { padding: .45rem 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.wpw-drawer-pages a { color: var(--wpw-on-ink); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .9rem; }
.wpw-drawer__wire { height: 22px; margin-top: 3rem !important; background: var(--wpw-red-on-ink); -webkit-mask: var(--wpw-wire) repeat-x left center / auto 22px; mask: var(--wpw-wire) repeat-x left center / auto 22px; }

/* ==========================================================================
   100 Cover
   ========================================================================== */
.wpw-front { padding-top: clamp(1.75rem, 3.5vw, 3rem); }
.wpw-cover {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) minmax(280px, 340px);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}
body .wpw-cover > * { margin: 0; }
.wpw-cover__vert {
	align-self: stretch;
	position: relative;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-family: var(--wpw-display);
	font-size: 2.6rem;
	line-height: 48px;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1px var(--wpw-muted);
	white-space: nowrap;
	text-align: end;
	overflow: hidden;
}
.wpw-cover__vert::before {
	content: "";
	position: absolute;
	left: 50%; top: 0; bottom: 0;
	width: 24px;
	transform: translateX(-50%);
	background: var(--wpw-red);
	-webkit-mask: var(--wpw-wire-v) repeat-y center top / 24px auto;
	mask: var(--wpw-wire-v) repeat-y center top / 24px auto;
	z-index: -1;
	opacity: .9;
	height: calc(100% - 15rem);
}
.wpw-cover__item {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: end;
}
body .wpw-cover__item > *, body .wpw-cover__text > * { margin: 0; }
.wpw-cover__text { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; padding-bottom: .5rem; }
.wpw-cover__title {
	font-size: clamp(2.5rem, 4.3vw, 4.6rem);
	line-height: .93;
	text-wrap: balance;
	hyphens: manual;
	overflow-wrap: anywhere;
}
.wpw-cover__title a:hover { color: var(--wpw-red-text); }
.wpw-cover__dek, .wpw-cover__dek p { font-size: 1.08rem; color: var(--wpw-muted); line-height: 1.55; max-width: 46ch; }
.wpw-img--lead { overflow: visible; background: transparent; }
.wpw-img--lead::before {
	content: "";
	position: absolute;
	left: -22px; bottom: -22px;
	width: 62%; height: 58%;
	background: var(--wpw-red);
	z-index: -1;
}
.wpw-img--lead a { overflow: hidden; background: var(--wpw-red); }
.wpw-img--lead::after { inset: 0; }
.wpw-cover__side { border-left: 1px solid var(--wpw-line); padding-left: clamp(1.25rem, 2vw, 2rem); }
body .wpw-cover__side > * { margin: 0; }
.wpw-whead {
	position: relative;
	font-family: var(--wpw-display);
	font-size: 1.55rem;
	line-height: 1;
	padding: 0 0 1.05rem 1.35rem;
	margin: 0 0 1.25rem;
}
.wpw-whead::before { content: ""; position: absolute; left: 0; top: .14em; width: .62em; height: .62em; background: var(--wpw-red); }
.wpw-whead::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 14px;
	background: currentColor;
	opacity: .6;
	-webkit-mask: var(--wpw-wire) repeat-x left center / auto 14px;
	mask: var(--wpw-wire) repeat-x left center / auto 14px;
}
.wpw-onwire .wpw-row { grid-template-columns: 84px minmax(0, 1fr); }
.wpw-onwire .wp-block-post { padding-left: 0; }
.wpw-onwire .wpw-row__text { position: relative; }
.wpw-onwire .wp-block-post::before {
	content: counter(wpw, decimal-leading-zero);
	position: absolute;
	left: 6px; top: 6px;
	z-index: 3;
	font-family: var(--wpw-display);
	font-size: 1.05rem;
	line-height: 1;
	padding: .2em .3em;
	background: var(--wpw-ink);
	color: var(--wpw-on-ink);
}
.wpw-onwire .wp-block-post + .wp-block-post::before { top: calc(1rem + 6px); }

/* ==========================================================================
   200 Feature grid
   ========================================================================== */
body .wpw-grid-feature .wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.4vw, 2.25rem);
}
.wpw-grid-feature .wp-block-post:first-child { grid-row: span 2; }
.wpw-grid-feature .wp-block-post:first-child .wpw-img { aspect-ratio: 4 / 3; }
.wpw-grid-feature .wp-block-post:first-child .wpw-card__title {
	font-family: var(--wpw-display);
	font-weight: 400;
	text-transform: uppercase;
	font-size: clamp(1.9rem, 3vw, 3rem);
	line-height: .95;
	letter-spacing: .005em;
}
.wpw-grid-feature .wp-block-post:not(:first-child) .wpw-excerpt { display: none; }
.wpw-grid-feature .wp-block-post:first-child .wpw-excerpt { font-size: 1.02rem; }

/* 3 and 4 column grids */
body .wpw-grid-3 .wp-block-post-template, body .wpw-grid-4 .wp-block-post-template, body .wpw-grid-redband .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.4vw, 2.25rem);
}
body .wpw-grid-4 .wp-block-post-template { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wpw-grid-4 .wpw-card { position: relative; }
.wpw-grid-4 .wpw-card__text .wpw-label { position: absolute; top: .75rem; left: .75rem; z-index: 3; }
.wpw-grid-4 .wpw-card__title { font-family: var(--wpw-display); font-weight: 400; text-transform: uppercase; font-size: 1.5rem; line-height: 1; letter-spacing: .01em; }
.wpw-grid-4 .wp-block-post:nth-child(even) .wpw-card { padding-top: 2.5rem; }

/* ==========================================================================
   300 Ink band — "Cutting through"
   ========================================================================== */
.wpw-band { position: relative; padding-block: clamp(3rem, 6vw, 5rem); overflow: hidden; }
.wpw-band--ink { background: var(--wpw-ink); color: var(--wpw-on-ink); }
.wpw-band--ink::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wpw-on-ink);
	opacity: .07;
	-webkit-mask: var(--wpw-fence) repeat 0 0 / 42px 42px;
	mask: var(--wpw-fence) repeat 0 0 / 42px 42px;
	pointer-events: none;
}
.wpw-band--ink::after, .wpw-band--red::after, .wpw-footer::before {
	content: "";
	position: absolute;
	left: 0; right: 0; top: 10px;
	height: 22px;
	background: currentColor;
	-webkit-mask: var(--wpw-wire) repeat-x left center / auto 22px;
	mask: var(--wpw-wire) repeat-x left center / auto 22px;
	opacity: .55;
}
.wpw-band__in { position: relative; }
body .wpw-band__in > * { margin: 0; }
.wpw-band--ink :is(h1, h2, h3, h4, a), .wpw-band--red :is(h1, h2, h3, h4, a) { color: inherit; }
.wpw-band--ink .wpw-kicker { color: var(--wpw-red-on-ink); }
.wpw-band--ink .wpw-date, .wpw-band--ink .wpw-date time { color: var(--wpw-on-ink); opacity: .7; }
.wpw-band--ink .wpw-sechead[data-word]::after { -webkit-text-stroke-color: rgba(255, 255, 255, .22); }
.wpw-band--ink .wpw-sechead { align-items: flex-end; }
.wpw-band--ink .wpw-sechead .wpw-kicker { order: 3; margin-left: auto; }
.wpw-bignums .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
}
body .wpw-bignums .wp-block-post + .wp-block-post { border-top: 0; margin-top: 0; padding-top: 0; }
.wpw-bignums .wp-block-post { border-left: 1px solid rgba(255, 255, 255, .18); padding: 0 1.25rem 0; }
.wpw-bignums .wp-block-post:first-child { border-left: 0; padding-left: 0; }
.wpw-bignums .wpw-line { padding-left: 0; padding-top: 5.6rem; gap: .7rem; }
.wpw-bignums .wpw-line::before {
	font-size: 5rem;
	top: 0;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--wpw-red-on-ink);
}
.wpw-bignums .wp-block-post:first-child .wpw-line::before { color: var(--wpw-red); -webkit-text-stroke: 0; }
.wpw-bignums .wpw-line__title { font-size: 1.12rem; }
.wpw-bignums .wpw-label a { background: var(--wpw-on-ink); color: var(--wpw-ink); }
.wpw-bignums .wpw-label a:hover { background: var(--wpw-red); color: #fff; }
.wpw-band--ink .wpw-line__title a { background-image: linear-gradient(var(--wpw-red), var(--wpw-red)); }

/* ==========================================================================
   500 Pair of sections
   ========================================================================== */
.wpw-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
body .wpw-pair > * { margin: 0; }
.wpw-half .wpw-secname, .wpw-half .wpw-sechead[data-word]::after { font-size: clamp(2rem, 3.4vw, 3.2rem); }
.wpw-stack .wp-block-post + .wp-block-post { border-top: 1px solid var(--wpw-line); padding-top: 1.1rem; margin-top: 1.1rem; }
.wpw-stack .wpw-row { grid-template-columns: 120px minmax(0, 1fr); }
.wpw-stack .wp-block-post:first-child .wpw-row { grid-template-columns: minmax(0, 1fr); }
.wpw-stack .wp-block-post:first-child .wpw-img { aspect-ratio: 16 / 9; }
.wpw-stack .wp-block-post:first-child .wpw-row__title { font-family: var(--wpw-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: .97; letter-spacing: .005em; }
.wpw-stack .wp-block-post:not(:first-child) .wpw-excerpt { display: none; }

/* ==========================================================================
   600 Red band
   ========================================================================== */
.wpw-band--red { background: var(--wpw-red); color: var(--wpw-on-red); }
.wpw-band--red .wpw-sechead[data-word]::after { -webkit-text-stroke-color: rgba(255, 255, 255, .45); }
.wpw-band--red .wpw-more a { color: var(--wpw-on-red); }
.wpw-band--red .wpw-more a:hover { color: var(--wpw-ink); }
.wpw-band--red .wpw-label a { background: var(--wpw-ink); color: var(--wpw-on-ink); }
.wpw-band--red .wpw-label a:hover { background: var(--wpw-on-red); color: var(--wpw-ink); }
.wpw-band--red .wpw-date, .wpw-band--red .wpw-date time, .wpw-band--red .wpw-excerpt, .wpw-band--red .wpw-excerpt p { color: var(--wpw-on-red); }
.wpw-band--red .wpw-img { background: var(--wpw-ink); overflow: visible; }
.wpw-band--red .wpw-img a { overflow: hidden; }
.wpw-band--red .wpw-img::before { content: ""; position: absolute; right: -12px; bottom: -12px; width: 45%; height: 45%; background: var(--wpw-ink); z-index: -1; }
.wpw-band--red .wpw-card:hover .wpw-img img { mix-blend-mode: normal; filter: grayscale(1) contrast(1.4); }
.wpw-band--red .wpw-card__title { font-family: var(--wpw-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: .97; letter-spacing: .01em; }
.wpw-band--red .wpw-card__title a { background-image: linear-gradient(var(--wpw-ink), var(--wpw-ink)); }
.wpw-band--red .wpw-card .wpw-img img { filter: grayscale(1) contrast(1.25); }

/* ==========================================================================
   700 Full wire
   ========================================================================== */
body .wpw-grid-rows .wp-block-post-template { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem clamp(2rem, 4vw, 4rem); }
.wpw-grid-rows .wpw-row { grid-template-columns: 150px minmax(0, 1fr); padding-bottom: 1.6rem; border-bottom: 1px solid var(--wpw-line); }
.wpw-grid-rows .wpw-row__title { font-size: 1.15rem; }

/* Pagination */
body .wpw-pager { margin-top: 2.25rem; font-family: var(--wpw-mono); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; gap: .75rem; }
.wpw-pager a, .wpw-pager .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.6rem; height: 2.6rem; padding: 0 .9rem; border: 2px solid var(--wpw-text); color: var(--wpw-text); box-sizing: border-box; }
.wpw-pager .page-numbers.current { background: var(--wpw-red); border-color: var(--wpw-red); color: var(--wpw-on-red); }
.wpw-pager .page-numbers.dots { border: 0; }
.wpw-pager a:hover { background: var(--wpw-text); color: var(--wpw-bg); }
.wp-block-query-pagination-numbers { display: flex; gap: .4rem; flex-wrap: wrap; }

/* ==========================================================================
   300–370 Story
   ========================================================================== */
.wpw-single { padding-top: clamp(2rem, 4vw, 3.5rem); }
.wpw-story-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: end;
}
body .wpw-story-head > *, body .wpw-story-head__text > * { margin: 0; }
.wpw-story-head__text { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; min-width: 0; }
.wpw-story-title {
	font-size: clamp(2.4rem, 5vw, 4.75rem);
	line-height: .93;
	text-wrap: balance;
	overflow-wrap: anywhere;
}
.wpw-dek, .wpw-dek p { font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.5; color: var(--wpw-muted); max-width: 60ch; margin: 0; }
.wpw-single .wpw-meta { padding: .8rem 0; border-block: 1px solid var(--wpw-line); width: 100%; }
.wpw-img--side {
	width: clamp(220px, 25vw, 340px);
	aspect-ratio: 3 / 2;
	overflow: visible;
	background: transparent;
	margin-bottom: 14px;
}
.wpw-img--side::before { content: ""; position: absolute; left: -12px; bottom: -12px; width: 46%; height: 58%; background: var(--wpw-red); z-index: -1; }
.wpw-img--side img { height: 100%; }
body .wpw-single > .wpw-story-body { margin-block-start: clamp(2.5rem, 5vw, 4rem); }
.wpw-story-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}
body .wpw-story-body > * { margin: 0; }
.wpw-article { max-width: 760px; width: 100%; justify-self: center; }
body .wpw-article > * { margin-block: 0; }
body .wpw-article > * + * { margin-block-start: 2.25rem; }

/* Article body */
.wpw-body { font-size: 1.125rem; line-height: 1.72; }
.wpw-body > p:first-of-type::first-letter, .is-style-dropcap::first-letter {
	float: left;
	font-family: var(--wpw-display);
	font-size: 5.4em;
	line-height: .78;
	padding: .06em .12em 0 0;
	margin-top: .04em;
	color: var(--wpw-red);
	text-transform: uppercase;
}
.wpw-page-body > p:first-of-type::first-letter { all: unset; }
.wpw-body a { text-decoration: underline; text-decoration-color: var(--wpw-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.wpw-body a:hover { color: var(--wpw-red-text); }
.wpw-body h2 { font-size: clamp(1.9rem, 3vw, 2.6rem); margin-top: 2.6rem; }
.wpw-body h3 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); margin-top: 2.2rem; }
.wpw-body h2::before { content: ""; display: block; width: 46px; height: 8px; background: var(--wpw-red); margin-bottom: .7rem; }
.wpw-body blockquote, .wpw-body .wp-block-quote {
	border-left: 8px solid var(--wpw-red);
	padding: .3rem 0 .3rem 1.5rem;
	margin-inline: 0;
	font-family: var(--wpw-display);
	text-transform: uppercase;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	line-height: 1.05;
}
.wpw-body blockquote cite { display: block; margin-top: .8rem; font-family: var(--wpw-mono); font-size: .75rem; letter-spacing: .14em; color: var(--wpw-muted); font-style: normal; }
.wpw-body .wp-block-pullquote { border-block: 6px solid var(--wpw-red); padding: 1.5rem 0; }
.wpw-body figure img { display: block; }
.wpw-body figcaption, .wpw-body .wp-element-caption { margin-top: .6rem; }
.wpw-body ul li::marker { color: var(--wpw-red); }
.wpw-body hr:not(.is-style-wire):not(.is-style-wire-red) { border: 0; height: 3px; background: var(--wpw-text); width: 80px; margin-inline: 0; }

.wpw-story-foot { display: flex; flex-direction: column; gap: 1.25rem; padding-top: 1.75rem; border-top: 3px solid var(--wpw-text); }
body .wpw-story-foot > * { margin: 0; }
.wpw-tags { font-family: var(--wpw-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wpw-muted); display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.wpw-tags .wp-block-post-terms__prefix { margin-right: .4rem; }
.wpw-tags .wp-block-post-terms__separator { display: none; }
.wpw-tags a, .wpw-tags.wp-block-tag-cloud a {
	display: inline-block;
	border: 1.5px solid var(--wpw-line);
	color: var(--wpw-text);
	padding: .35em .6em;
	font-family: var(--wpw-mono);
	font-size: .7rem !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: 0;
}
.wpw-tags a:hover { border-color: var(--wpw-red); background: var(--wpw-red); color: var(--wpw-on-red); }
.wpw-tags.wp-block-tag-cloud { gap: .4rem; }
.wpw-share { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-family: var(--wpw-mono); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.wpw-share__label { margin-right: .5rem; color: var(--wpw-muted); }
.wpw-share a { padding: .5em .75em; background: var(--wpw-text); color: var(--wpw-bg); }
.wpw-share a:hover, .wpw-share a:focus { background: var(--wpw-red); color: var(--wpw-on-red); }
.wpw-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 2px solid var(--wpw-text); }
body .wpw-prevnext > * { margin: 0; }
.wpw-prevnext .post-navigation-link-previous, .wpw-prevnext .post-navigation-link-next { padding: 1.1rem 1.25rem; font-weight: 800; line-height: 1.25; }
.wpw-prevnext .post-navigation-link-next { text-align: right; border-left: 2px solid var(--wpw-text); }
.wpw-prevnext .post-navigation-link-previous:only-child { grid-column: 1 / -1; }
.wpw-prevnext a { display: block; }
.wpw-prevnext .post-navigation-link__label { display: block; font-family: var(--wpw-mono); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--wpw-red-text); margin-bottom: .35rem; font-weight: 700; }
.wpw-prevnext a:hover { color: var(--wpw-red-text); }
.wpw-prevnext .wp-block-post-navigation-link__arrow-previous, .wpw-prevnext .wp-block-post-navigation-link__arrow-next { color: var(--wpw-red-text); }

/* Aside / widgets */
.wpw-aside { position: sticky; top: 1.5rem; }
.wpw-aside__inner { display: flex; flex-direction: column; gap: 2.75rem; }
body .wpw-aside__inner > *, body .wpw-widget > * { margin: 0; }
.wpw-tipbox { background: var(--wpw-red); color: var(--wpw-on-red); padding: 1.6rem 1.5rem 1.4rem; position: relative; overflow: hidden; }
.wpw-tipbox::after { content: ""; position: absolute; right: -10px; bottom: 14px; width: 70%; height: 18px; background: var(--wpw-on-red); opacity: .45; -webkit-mask: var(--wpw-wire) repeat-x left center / auto 18px; mask: var(--wpw-wire) repeat-x left center / auto 18px; }
.wpw-tipbox .wpw-kicker { color: var(--wpw-on-red); }
.wpw-tipbox__title { color: inherit; font-size: 2.1rem; line-height: .95; margin: .5rem 0 1rem !important; }
.wpw-tipbox__link a { color: var(--wpw-on-red); font-family: var(--wpw-mono); font-weight: 700; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; border-bottom: 2px solid currentColor; }
.wpw-tipbox__link { margin-bottom: 1.6rem !important; }
.wpw-cats { list-style: none; margin: 0; padding: 0; }
.wpw-cats li { display: flex; justify-content: space-between; align-items: baseline; padding: .55rem 0; border-bottom: 1px solid var(--wpw-line); font-family: var(--wpw-mono); font-size: .75rem; color: var(--wpw-muted); }
.wpw-cats li a { font-family: var(--wpw-body); font-weight: 800; font-size: .95rem; color: var(--wpw-text); text-transform: uppercase; letter-spacing: .04em; }
.wpw-cats li a:hover { color: var(--wpw-red-text); }
.wpw-cats .children { display: none; }

/* 350 Related */
.wpw-related { margin-top: clamp(3rem, 6vw, 5rem) !important; }

/* ==========================================================================
   200–220 Archive, 500 Search
   ========================================================================== */
.wpw-archive { padding-top: clamp(2rem, 4vw, 3.5rem); }
.wpw-archive-head { position: relative; padding-block: 1rem 2.4rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; overflow: hidden; }
body .wpw-archive-head > * { margin: 0; position: relative; z-index: 1; }
.wpw-archive-head::after {
	content: "";
	position: absolute;
	left: var(--wpw-pad); right: var(--wpw-pad); bottom: 0;
	height: 22px;
	background: var(--wpw-text);
	-webkit-mask: var(--wpw-wire) repeat-x left center / auto 22px;
	mask: var(--wpw-wire) repeat-x left center / auto 22px;
}
.wpw-archive-head[data-word]::before {
	content: attr(data-word) "\00a0" attr(data-word);
	position: absolute;
	right: var(--wpw-pad);
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--wpw-display);
	font-size: clamp(6rem, 16vw, 15rem);
	line-height: .8;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1px var(--wpw-line);
	white-space: nowrap;
	pointer-events: none;
	z-index: 0;
}
.wpw-archive-kicker { background: var(--wpw-red); color: var(--wpw-on-red); padding: .45em .7em .4em; font-weight: 700; }
.wpw-archive-title { font-family: var(--wpw-display); font-size: clamp(3rem, 9vw, 8rem); line-height: .86; text-transform: uppercase; margin: 0; overflow-wrap: anywhere; }
.wpw-search-title { font-size: clamp(2.4rem, 6vw, 5rem); }
.wpw-archive-desc, .wpw-archive-desc p { color: var(--wpw-muted); max-width: 62ch; margin: 0; }
.wpw-search-again { width: min(100%, 640px); }
.wp-block-search__input { border: 2px solid var(--wpw-text); border-radius: 0; background: transparent; color: var(--wpw-text); padding: .75rem 1rem; font-size: 1rem; font-family: var(--wpw-body); }
.wp-block-search__button { margin-left: .5rem; }
body .wpw-archive > .wpw-archive-body { margin-block-start: 2.75rem; }
.wpw-archive-body { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
body .wpw-archive-body > * { margin: 0; }
.wpw-list .wp-block-post + .wp-block-post { margin-top: 1.75rem; padding-top: 1.75rem; border-top: 1px solid var(--wpw-line); }
.wpw-list .wpw-row { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(1rem, 2.5vw, 2rem); }
.wpw-list .wpw-img--thumb { aspect-ratio: 3 / 2; }
.wpw-list .wpw-row__title { font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.1; }
.wpw-list .wpw-row__text { gap: .65rem; }
.wpw-empty { font-family: var(--wpw-display); font-size: 2rem; text-transform: uppercase; }

/* ==========================================================================
   400 Pages
   ========================================================================== */
.wpw-page { padding-top: clamp(2rem, 4vw, 3.5rem); }
.wpw-page-head { padding-bottom: 2rem; position: relative; }
.wpw-page-head::after { content: ""; position: absolute; left: var(--wpw-pad); right: var(--wpw-pad); bottom: 0; height: 22px; background: var(--wpw-text); -webkit-mask: var(--wpw-wire) repeat-x left center / auto 22px; mask: var(--wpw-wire) repeat-x left center / auto 22px; }
.wpw-page-title { font-size: clamp(3rem, 8vw, 7rem); line-height: .88; margin: 0; }
body .wpw-page > .wpw-page-img { margin-block-start: 2rem; width: calc(100% - 2 * var(--wpw-pad)); max-width: var(--wpw-wide); margin-inline: auto; }
.wpw-page-body { padding-inline: var(--wpw-pad); }
body .wpw-page > .wpw-page-body, body .wpw-page > .wpw-story-body { margin-block-start: 2.5rem; }
.wpw-page--side .wpw-article { justify-self: start; }

/* Contact form */
.wpw-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.25rem; margin-top: 1.5rem; }
.wpw-form__row { display: flex; flex-direction: column; gap: .4rem; }
.wpw-form__row--full, .wpw-form__msg, .wpw-form__send { grid-column: 1 / -1; }
.wpw-form__row:nth-of-type(3) { grid-column: 1 / -1; }
.wpw-form label { font-family: var(--wpw-mono); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.wpw-form input, .wpw-form select, .wpw-form textarea {
	font: inherit;
	font-size: 1rem;
	color: var(--wpw-text);
	background: var(--wpw-surface);
	border: 2px solid var(--wpw-line);
	border-radius: 0;
	padding: .8rem .9rem;
	width: 100%;
	box-sizing: border-box;
}
.wpw-form input:focus, .wpw-form select:focus, .wpw-form textarea:focus { border-color: var(--wpw-red); outline: none; }
.wpw-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wpw-form__msg { padding: 1rem 1.2rem; font-weight: 700; margin: 0; }
.wpw-form__msg--ok { background: var(--wpw-text); color: var(--wpw-bg); }
.wpw-form__msg--error { background: var(--wpw-red); color: var(--wpw-on-red); }
.wpw-form__send { margin: 0; }
.wpw-form button { cursor: pointer; border: 0; }

/* ==========================================================================
   600 404
   ========================================================================== */
.wpw-notfound { padding-top: clamp(2rem, 4vw, 3rem); }
.wpw-404 { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; position: relative; }
body .wpw-404 > * { margin: 0; }
.wpw-404__art { width: min(100%, 600px); color: var(--wpw-text); }
.wpw-404__art svg { width: 100%; height: auto; display: block; }
.wpw-404__title { font-size: clamp(6rem, 22vw, 18rem); line-height: .8; color: var(--wpw-red); }
.wpw-404__text { font-size: 1.2rem; max-width: 46ch; color: var(--wpw-muted); }

/* ==========================================================================
   900 Footer
   ========================================================================== */
.wpw-footer-part { margin-top: 0; }
.wpw-footer {
	position: relative;
	background: var(--wpw-ink);
	color: var(--wpw-on-ink);
	padding: 4.5rem 0 1.5rem;
	overflow: hidden;
}
.wpw-footer::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wpw-on-ink);
	opacity: .05;
	-webkit-mask: var(--wpw-fence) repeat 0 0 / 42px 42px;
	mask: var(--wpw-fence) repeat 0 0 / 42px 42px;
	pointer-events: none;
}
.wpw-footer :is(h1, h2, h3, a) { color: inherit; }
.wpw-footer a:hover { color: var(--wpw-red-on-ink); }
.wpw-footer .wpw-wordmark { color: var(--wpw-on-ink); }
.wpw-footer .wpw-wordmark__barb { color: var(--wpw-red-on-ink); }
.wpw-footer__giant {
	font-family: var(--wpw-display);
	font-size: clamp(4.5rem, 20.5vw, 21rem);
	line-height: .8;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, .5);
	white-space: nowrap;
	text-align: center;
	letter-spacing: -.005em;
	margin: 0 0 3rem !important;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.wpw-footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 2.5rem; position: relative; z-index: 1; }
body .wpw-footer__col > * { margin: 0 0 1rem; }
.wpw-fhead { font-size: 1.15rem; letter-spacing: .04em; padding-bottom: .7rem; border-bottom: 2px solid var(--wpw-red); display: inline-block; }
.wpw-footer__tag { opacity: .85; max-width: 32ch; }
.wpw-footer__tip a { font-family: var(--wpw-mono); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wpw-red-on-ink) !important; }
.wpw-footer__cats, .wpw-footer__pages { list-style: none; margin: 0; padding: 0; }
.wpw-footer__cats li, .wpw-footer__pages li { padding: .3rem 0; }
.wpw-footer__cats a, .wpw-footer__pages a { font-weight: 700; font-size: .95rem; }
.wpw-footer__cats .children { display: none; }
.wpw-footer__latest .wp-block-post + .wp-block-post { margin-top: .9rem; padding-top: .9rem; border-top: 1px solid rgba(255, 255, 255, .14); }
.wpw-fline { display: flex; flex-direction: column; gap: .3rem; }
.wpw-fline__title { font-size: .95rem; }
.wpw-footer .wpw-date, .wpw-footer .wpw-date time { color: var(--wpw-on-ink); opacity: .7; }
body .wpw-footer > .wp-block-separator { margin-block: 2.5rem 1.25rem; position: relative; z-index: 1; }
.wpw-footer .is-style-wire { color: var(--wpw-on-ink); opacity: .5; }
.wpw-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-family: var(--wpw-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; position: relative; z-index: 1; }
body .wpw-footer__bottom > * { margin: 0; }
.wpw-footer::before { top: 14px; opacity: .4; color: var(--wpw-on-ink); }

/* ==========================================================================
   Block styles
   ========================================================================== */
hr.is-style-wire, hr.is-style-wire-red, .wp-block-separator.is-style-wire, .wp-block-separator.is-style-wire-red {
	border: 0 !important;
	height: 22px;
	width: 100% !important;
	max-width: none !important;
	background: currentColor !important;
	color: var(--wpw-text);
	opacity: .8;
	-webkit-mask: var(--wpw-wire) repeat-x left center / auto 22px;
	mask: var(--wpw-wire) repeat-x left center / auto 22px;
}
.wp-block-separator.is-style-wire-red { color: var(--wpw-red); opacity: 1; }
.is-style-ink-band { background: var(--wpw-ink); color: var(--wpw-on-ink); padding: clamp(1.5rem, 4vw, 3rem); }
.is-style-ink-band :is(h1, h2, h3, h4, a) { color: inherit; }
.is-style-red-band { background: var(--wpw-red); color: var(--wpw-on-red); padding: clamp(1.5rem, 4vw, 3rem); }
.is-style-red-band :is(h1, h2, h3, h4, a) { color: inherit; }
.is-style-chain-link { position: relative; padding: clamp(1.5rem, 4vw, 3rem); border: 2px solid var(--wpw-text); }
.is-style-chain-link::before { content: ""; position: absolute; inset: 0; background: var(--wpw-text); opacity: .1; -webkit-mask: var(--wpw-fence) repeat 0 0 / 36px 36px; mask: var(--wpw-fence) repeat 0 0 / 36px 36px; pointer-events: none; }
.is-style-red-offset { position: relative; isolation: isolate; }
.is-style-red-offset::before { content: ""; position: absolute; left: -16px; bottom: -16px; width: 50%; height: 60%; background: var(--wpw-red); z-index: -1; }
.is-style-kicker { font-family: var(--wpw-mono); font-size: .75rem; letter-spacing: .28em; text-transform: uppercase; color: var(--wpw-red-text); }
.is-style-outline { color: transparent !important; -webkit-text-stroke: 1.5px var(--wpw-text); }
.is-style-red-box { display: inline-block; background: var(--wpw-red); color: var(--wpw-on-red) !important; padding: .1em .25em .02em; }
.is-style-halftone { position: relative; }
.is-style-halftone img { filter: grayscale(1) contrast(1.15); }
.is-style-halftone::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(0, 0, 0, .55) .8px, transparent 1.25px); background-size: 4px 4px; opacity: .35; mix-blend-mode: multiply; pointer-events: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
	.wpw-nav { display: none; }
	.wpw-cover { grid-template-columns: minmax(0, 1fr); }
	.wpw-cover__vert { display: none; }
	.wpw-cover__side { border-left: 0; padding-left: 0; border-top: 1px solid var(--wpw-line); padding-top: 2rem; }
	body .wpw-onwire .wp-block-post-template { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; }
	body .wpw-onwire .wp-block-post + .wp-block-post { border-top: 0; padding-top: 0; margin-top: 0; }
	.wpw-onwire .wp-block-post + .wp-block-post::before { top: 6px; }
	.wpw-bignums .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
	.wpw-bignums .wp-block-post:nth-child(4) { border-left: 0; padding-left: 0; }
	body .wpw-grid-4 .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpw-grid-4 .wp-block-post:nth-child(even) .wpw-card { padding-top: 0; }
	.wpw-story-body, .wpw-archive-body { grid-template-columns: minmax(0, 1fr); }
	.wpw-aside { position: static; }
	.wpw-aside__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
	.wpw-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpw-tagline { display: none; }
}
@media (max-width: 900px) {
	body .wpw-grid-feature .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpw-grid-feature .wp-block-post:first-child { grid-column: 1 / -1; grid-row: auto; }
	body .wpw-grid-3 .wp-block-post-template, body .wpw-grid-redband .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpw-grid-3 .wp-block-post:nth-child(3), .wpw-grid-redband .wp-block-post:nth-child(3) { display: none; }
	.wpw-pair { grid-template-columns: minmax(0, 1fr); }
	body .wpw-grid-rows .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	.wpw-drawer__cols { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.wpw-edition { display: none; }
	.wpw-masthead { min-height: 70px; padding-block: .7rem 1.25rem; gap: .6rem; }
	.wpw-btn { height: 40px; padding: 0 .7rem; }
	.wpw-btn--search .wpw-btn__text { display: none; }
	.wpw-wordmark { font-size: 1.6rem; }
	.wpw-ticker { height: 40px; }
	.wpw-ticker__label { font-size: 0; gap: 0; padding-right: .9rem; }
	.wpw-ticker__label::before { margin: 0; }
	.wpw-ticker__label::after { right: -12px; width: 12px; }
	.wpw-ticker__list li { font-size: .95rem; }
	.wpw-ticker__pause { width: 40px; }
	.wpw-ticker__pause::before { top: 13px; left: 14px; }
	.wpw-ticker__pause::after { top: 13px; left: 22px; }
	.wpw-cover__item { grid-template-columns: minmax(0, 1fr); }
	.wpw-cover__item .wpw-img--lead { order: -1; aspect-ratio: 4 / 3.4; margin: 0 0 0 12px; }
	.wpw-img--lead::before { left: -12px; bottom: -12px; }
	.wpw-cover__title { font-size: clamp(2.3rem, 10.5vw, 3.2rem); }
	body .wpw-onwire .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	body .wpw-onwire .wp-block-post + .wp-block-post { border-top: 1px solid var(--wpw-line); padding-top: 1rem; margin-top: 1rem; }
	.wpw-onwire .wp-block-post + .wp-block-post::before { top: calc(1rem + 6px); }
	.wpw-sechead { gap: .75rem; padding-bottom: 1.1rem; margin-bottom: 1.25rem; }
	.wpw-sechead[data-word]::after { display: none; }
	.wpw-secname { font-size: clamp(2rem, 9vw, 2.6rem); white-space: normal; flex: 1 1 auto; }
	.wpw-sechead .wpw-more { align-self: flex-end; }
	body .wpw-grid-feature .wp-block-post-template, body .wpw-grid-3 .wp-block-post-template, body .wpw-grid-redband .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	.wpw-grid-3 .wp-block-post:nth-child(3), .wpw-grid-redband .wp-block-post:nth-child(3) { display: block; }
	.wpw-grid-feature .wp-block-post:not(:first-child) .wpw-card, .wpw-grid-3 .wp-block-post:not(:first-child) .wpw-card {
		display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 1rem; align-items: start;
	}
	.wpw-grid-feature .wp-block-post:not(:first-child) .wpw-img, .wpw-grid-3 .wp-block-post:not(:first-child) .wpw-img { aspect-ratio: 1 / 1; }
	.wpw-grid-feature .wp-block-post:not(:first-child) .wpw-excerpt, .wpw-grid-3 .wp-block-post:not(:first-child) .wpw-excerpt { display: none; }
	.wpw-card__title { font-size: 1.1rem; }
	body .wpw-grid-4 .wp-block-post-template { gap: 1rem; }
	.wpw-grid-4 .wpw-card__title { font-size: 1.15rem; }
	.wpw-bignums .wp-block-post-template { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
	.wpw-bignums .wp-block-post, .wpw-bignums .wp-block-post:nth-child(4) { border-left: 0; padding: 1.1rem 0 1.1rem 0; border-top: 1px solid rgba(255, 255, 255, .18); }
	.wpw-bignums .wp-block-post:first-child { border-top: 0; }
	.wpw-bignums .wpw-line { padding-top: 0; padding-left: 4.5rem; min-height: 3.6rem; }
	.wpw-bignums .wpw-line::before { font-size: 3.4rem; }
	.wpw-stack .wpw-row, .wpw-grid-rows .wpw-row { grid-template-columns: 96px minmax(0, 1fr); }
	.wpw-grid-rows .wpw-excerpt { display: none; }
	.wpw-list .wpw-row { grid-template-columns: 112px minmax(0, 1fr); }
	.wpw-list .wpw-img--thumb { aspect-ratio: 1 / 1; }
	.wpw-list .wpw-excerpt { display: none; }
	.wpw-list .wpw-row__title { font-size: 1.1rem; }
	.wpw-aside__inner { grid-template-columns: minmax(0, 1fr); }
	.wpw-story-head { grid-template-columns: minmax(0, 1fr) 112px; gap: 1rem 1rem; align-items: start; }
	.wpw-story-head__text { display: contents; }
	.wpw-story-head .wpw-label { grid-column: 1; grid-row: 1; }
	.wpw-story-head .wpw-meta { grid-column: 1; grid-row: 2; border: 0; padding: 0; flex-direction: column; align-items: flex-start; gap: .3rem; }
	.wpw-story-head .wpw-meta > * + *::before { display: none; }
	.wpw-img--side { grid-column: 2; grid-row: 1 / span 2; width: 112px; aspect-ratio: 1 / 1; margin: 0 0 0 8px; }
	.wpw-img--side::before { left: -8px; bottom: -8px; }
	.wpw-story-title { grid-column: 1 / -1; grid-row: 3; font-size: clamp(2.1rem, 9.5vw, 2.9rem); }
	.wpw-dek { grid-column: 1 / -1; grid-row: 4; }
	.wpw-prevnext { grid-template-columns: 1fr; }
	.wpw-prevnext .post-navigation-link-next { border-left: 0; border-top: 2px solid var(--wpw-text); }
	.wpw-footer__cols { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
	.wpw-footer { padding-top: 3.5rem; }
	.wpw-form { grid-template-columns: 1fr; }
	.wpw-archive-head[data-word]::before { font-size: 7rem; opacity: .7; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.wpw-ticker__viewport { overflow-x: auto; scrollbar-width: none; }
	.wpw-ticker__list[aria-hidden="true"] { display: none; }
	.wpw-ticker__pause { display: none !important; }
}

/* Editor canvas: keep the drawer visible for editing, below the header */
.editor-styles-wrapper .wpw-drawer { display: block; position: relative; inset: auto; min-height: 0; }

/* fixes */
.wpw-grid-4 .wp-block-post:nth-child(even) .wpw-card__text .wpw-label { top: calc(2.5rem + .75rem); }
@media (max-width: 1180px) { .wpw-grid-4 .wp-block-post:nth-child(even) .wpw-card__text .wpw-label { top: .75rem; } }
.wpw-bignums { margin-top: 2.25rem !important; }
.wpw-prevnext { display: flex; }
.wpw-prevnext > * { flex: 1 1 0; }
.wpw-prevnext > :empty { display: none; }
.wpw-prevnext .post-navigation-link-next:first-child { border-left: 0; }
@media (max-width: 700px) { .wpw-prevnext { flex-direction: column; } .wpw-prevnext .post-navigation-link-next:first-child { border-top: 0; } }
.wpw-widget .wpw-numbered { padding-top: .35rem; }
.wpw-img--story { max-height: 72vh; }

/* Hashtag line at the end of a story (links to sections) */
.wpw-hashtags { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 2rem; }
.wpw-body .wpw-hashtags a {
	font-family: var(--wpw-mono);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	color: var(--wpw-red-text);
	border: 1.5px solid currentColor;
	padding: .35em .6em;
}
.wpw-body .wpw-hashtags a:hover, .wpw-body .wpw-hashtags a:focus { background: var(--wpw-red); border-color: var(--wpw-red); color: var(--wpw-on-red); }
