/* ==========================================================================
   SecuringAI — main stylesheet
   1. Tokens          6. Header & nav      11. Article
   2. Base            7. Hero              12. Pages (about, contact, resources)
   3. Typography      8. Cards & feature   13. Footer
   4. Layout          9. Topics            14. Utilities & WP core
   5. Buttons & form 10. Listings          15. Motion & print
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
@font-face {
	font-family: "Schibsted Grotesk";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("../fonts/schibsted-grotesk-var.woff2") format("woff2");
}
@font-face {
	font-family: "Schibsted Grotesk";
	font-style: italic;
	font-weight: 400 900;
	font-display: swap;
	src: url("../fonts/schibsted-grotesk-var-italic.woff2") format("woff2");
}

:root {
	/* Colour — dark is the brand default; light values below. */
	--color-bg: #131517;
	--color-surface: #1a1d20;
	--color-surface-2: #212529;
	--color-text: #ecebe7;
	--color-muted: #9da2a8;
	--color-border: #2d3237;
	--color-border-strong: #454b52;
	--color-accent: #f0b43c;
	--color-accent-ink: #1b1406;
	--color-accent-text: var(--color-accent);
	--color-danger: #ef6b5b;

	/* Type */
	--font-sans: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;

	--fs-xs: 0.8125rem;   /* 13 */
	--fs-sm: 0.9375rem;   /* 15 */
	--fs-base: 1.0625rem; /* 17 */
	--fs-md: 1.25rem;     /* 20 */
	--fs-lg: 1.5rem;      /* 24 */
	--fs-h4: 1.1875rem;
	--fs-h3: clamp(1.3125rem, 1.2rem + 0.4vw, 1.5rem);
	--fs-h2: clamp(1.625rem, 1.3rem + 1.3vw, 2.375rem);
	--fs-h1: clamp(2.25rem, 1.55rem + 2.9vw, 3.75rem);
	--fs-display: clamp(3rem, 1.4rem + 6.4vw, 6.5rem);
	--fs-prose: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);

	/* Space & shape */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4.5rem;
	--space-9: 6.5rem;
	--radius-s: 3px;
	--radius-m: 6px;
	--container: 1240px;
	--gutter: clamp(1rem, 4vw, 2.5rem);
	--header-h: 68px;
	--ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

[data-theme="light"] {
	--color-bg: #f6f6f3;
	--color-surface: #ffffff;
	--color-surface-2: #ecece8;
	--color-text: #15171a;
	--color-muted: #585e65;
	--color-border: #dadad4;
	--color-border-strong: #b9bab3;
	--color-accent-ink: #1b1406;
	--color-accent-text: color-mix(in srgb, var(--color-accent) 52%, #000);
	--color-danger: #b3261e;
	color-scheme: light;
}
[data-theme="dark"] { color-scheme: dark; }

/* 2. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 1.5rem); }
body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: var(--fs-base);
	line-height: 1.6;
	font-feature-settings: "ss01" on;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: inherit; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-color: var(--color-accent); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; border-radius: 2px; }
::selection { background: var(--color-accent); color: var(--color-accent-ink); }
hr { border: 0; border-top: 1px solid var(--color-border); margin: var(--space-7) 0; }
button { font: inherit; color: inherit; }
.site-main { display: block; outline: none; }

/* 3. Typography ------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--space-4);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.015em;
	text-wrap: balance;
}
h1 { font-size: var(--fs-h1); font-weight: 800; letter-spacing: -0.028em; line-height: 1.04; }
h2 { font-size: var(--fs-h2); letter-spacing: -0.022em; }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }
p { margin: 0 0 var(--space-4); }

.eyebrow {
	margin: 0 0 var(--space-5);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.09em;
	color: var(--color-muted);
}
.kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--color-accent-text);
	text-decoration: none;
}
.kicker::before { content: ""; width: 7px; height: 7px; background: var(--color-accent); flex: none; }
.kicker:hover { text-decoration: underline; }
.kicker--muted { color: var(--color-muted); }
.kicker--muted::before { background: var(--color-border-strong); }

.meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0;
	font-size: var(--fs-sm);
	color: var(--color-muted);
}
.meta__item { display: inline-flex; align-items: center; gap: 0.5rem; }
.meta__item + .meta__item::before { content: ""; width: 1px; height: 0.95em; background: var(--color-border-strong); margin: 0 0.75rem; }
.meta a { color: var(--color-text); text-decoration: none; font-weight: 600; }
.meta a:hover { text-decoration: underline; }
.meta__avatar { border-radius: 50%; width: 28px; height: 28px; }

.lead { font-size: var(--fs-md); color: var(--color-muted); max-width: 60ch; }
.muted { color: var(--color-muted); }
code, kbd, pre, samp { font-family: var(--font-mono); font-size: 0.9em; }

/* 4. Layout ---------------------------------------------------------------- */
.container { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.container--narrow { max-width: calc(760px + var(--gutter) * 2); }
.container--prose { max-width: calc(720px + var(--gutter) * 2); }

.section { padding-block: var(--space-8); }
.section + .section { padding-top: 0; }
.section--feature { padding-bottom: 0; }
.section--feature + .section { padding-top: var(--space-8); }
.section--page { padding-block: var(--space-7) var(--space-8); }

.section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-6);
	padding-top: var(--space-4);
	border-top: 1px solid var(--color-text);
}
.section-head__title { margin: 0; font-size: var(--fs-h2); }
.section-head__text { margin: var(--space-2) 0 0; color: var(--color-muted); max-width: 56ch; }
.section-head--stack { display: block; }
.section-head__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 600;
	font-size: var(--fs-sm);
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-color: var(--color-accent);
	text-underline-offset: 0.3em;
}

.grid { display: grid; gap: var(--space-7) var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 640px) { .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.grid--after-feature { margin-top: var(--space-8); }

/* 5. Buttons & forms ------------------------------------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.7rem 1.35rem;
	border: 1px solid var(--color-text);
	border-radius: var(--radius-s);
	background: var(--color-text);
	color: var(--color-bg);
	font-size: var(--fs-sm);
	font-weight: 650;
	line-height: 1.2;
	letter-spacing: 0.005em;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s var(--ease), color 0.15s var(--ease), border-color 0.15s var(--ease);
}
.btn:hover { background: transparent; color: var(--color-text); }
.btn--accent { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); }
.btn--accent:hover { background: transparent; color: var(--color-text); border-color: var(--color-accent); }
.btn--line { background: transparent; color: var(--color-text); border-color: var(--color-border-strong); }
.btn--line:hover { border-color: var(--color-text); }
.btn--small { min-height: 38px; padding: 0.45rem 0.95rem; font-size: var(--fs-xs); }

.icon-btn {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: var(--radius-s);
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	text-decoration: none;
}
.icon-btn:hover { background: var(--color-surface-2); }
.icon-btn--outline { border-color: var(--color-border); width: 40px; height: 40px; }
.icon-btn--outline:hover { border-color: var(--color-text); background: transparent; }

input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="number"], input[type="password"], select, textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-s);
	background: var(--color-bg);
	color: var(--color-text);
	font: inherit;
	font-size: 1rem;
}
textarea { min-height: 160px; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--color-muted); opacity: 1; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 0; border-color: var(--color-accent); }
label { font-weight: 600; font-size: var(--fs-sm); }

.search-form { position: relative; display: flex; gap: var(--space-2); width: 100%; max-width: 640px; }
.search-form__icon { position: absolute; left: 0.9rem; top: 50%; transform: translateY(-50%); color: var(--color-muted); pointer-events: none; display: grid; }
.search-form .search-form__input { padding-left: 2.75rem; }
.search-form__input::-webkit-search-cancel-button { filter: grayscale(1); }
.search-form__submit { min-height: 48px; flex: none; }

/* 6. Header & navigation --------------------------------------------------- */
.skip-link { position: absolute; left: var(--space-4); top: -100px; z-index: 1000; padding: 0.75rem 1rem; background: var(--color-accent); color: var(--color-accent-ink); font-weight: 700; text-decoration: none; }
.skip-link:focus { top: var(--space-4); }

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: color-mix(in srgb, var(--color-bg) 92%, transparent);
	border-bottom: 1px solid var(--color-border);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	backdrop-filter: saturate(140%) blur(10px);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

.site-header__bar { display: flex; align-items: center; gap: var(--space-5); min-height: var(--header-h); }
.brand { flex: none; }
.custom-logo { max-height: 36px; width: auto; }
.wordmark { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; font-weight: 800; font-size: 1.1875rem; letter-spacing: -0.02em; }
.wordmark__mark { flex: none; }

.primary-nav { margin-left: auto; }
.primary-nav .menu { display: flex; align-items: center; gap: 0.1rem; margin: 0; padding: 0; list-style: none; }
.primary-nav .menu > li { position: relative; }
.primary-nav a {
	display: block;
	padding: 0.55rem 0.7rem;
	font-size: var(--fs-sm);
	font-weight: 550;
	text-decoration: none;
	white-space: nowrap;
	border-radius: var(--radius-s);
}
.primary-nav a:hover { background: var(--color-surface-2); }
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a,
.primary-nav .current_page_item > a,
.primary-nav .current-post-ancestor > a { box-shadow: inset 0 -2px 0 var(--color-accent); border-radius: 0; }
.primary-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	margin: 0;
	padding: var(--space-2);
	list-style: none;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-m);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 0.15s var(--ease), transform 0.15s var(--ease), visibility 0.15s;
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

.site-header__tools { display: flex; align-items: center; gap: 0.15rem; }
.theme-toggle__sun, .theme-toggle__moon { display: grid; }
[data-theme="dark"] .theme-toggle__moon, [data-theme="light"] .theme-toggle__sun { display: none; }
.header-cta { margin-left: var(--space-2); }
.menu-toggle { display: none; }
.menu-toggle__close { display: none; }

.header-search { border-top: 1px solid var(--color-border); padding-block: var(--space-4); background: var(--color-bg); }
.header-search .search-form { max-width: none; }

@media (max-width: 1139px) {
	.menu-toggle { display: inline-grid; }
	.site-header__tools { margin-left: auto; }
	.primary-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--header-h));
		overflow-y: auto;
		margin: 0;
		padding: var(--space-3) var(--gutter) var(--space-6);
		background: var(--color-bg);
		border-bottom: 1px solid var(--color-border);
	}
	.is-menu-open .primary-nav { display: block; }
	.is-menu-open .menu-toggle__open { display: none; }
	.is-menu-open .menu-toggle__close { display: grid; }
	.primary-nav .menu { flex-direction: column; align-items: stretch; gap: 0; }
	.primary-nav .menu > li { border-bottom: 1px solid var(--color-border); }
	.primary-nav a { padding: 0.95rem 0; font-size: var(--fs-md); font-weight: 600; border-radius: 0; }
	.primary-nav a:hover { background: none; color: var(--color-accent-text); }
	.primary-nav .current-menu-item > a, .primary-nav .current_page_item > a { box-shadow: none; color: var(--color-accent-text); }
	.primary-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; padding: 0 0 var(--space-3) var(--space-4); background: none; }
	.primary-nav .sub-menu a { font-size: var(--fs-base); padding: 0.5rem 0; font-weight: 500; }
}
@media (max-width: 639px) {
	.header-cta { display: none; }
	.wordmark { font-size: 1.0625rem; }
	.search-form__submit { display: none; }
}

/* 7. Hero ------------------------------------------------------------------ */
.hero { padding-block: clamp(3rem, 2rem + 5vw, 6.5rem) clamp(3rem, 2rem + 4vw, 5.5rem); border-bottom: 1px solid var(--color-border); overflow: hidden; }
.hero__grid { display: grid; gap: var(--space-7); align-items: center; }
@media (min-width: 1024px) { .hero__grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: var(--space-8); } }
.hero__title {
	margin: 0 0 var(--space-5);
	font-size: var(--fs-display);
	font-weight: 850;
	line-height: 0.95;
	letter-spacing: -0.045em;
	text-wrap: balance;
}
.hero__text { max-width: 36em; margin-bottom: var(--space-6); font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.3125rem); line-height: 1.55; color: var(--color-muted); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
@media (max-width: 419px) { .hero__actions .btn { flex: 1 1 100%; } }

.hero-visual { margin: 0; padding: clamp(0.5rem, 1.5vw, 1rem); border: 1px solid var(--color-border); border-radius: var(--radius-m); background: var(--color-surface); }
.hero-visual svg { display: block; width: 100%; height: auto; font-family: var(--font-sans); }
.hero-visual__caption { padding: var(--space-3) var(--space-2) var(--space-1); font-size: var(--fs-xs); color: var(--color-muted); border-top: 1px solid var(--color-border); margin-top: var(--space-2); }
.hv-gridline { stroke: var(--color-border); stroke-width: 0.6; opacity: 0.55; }
.hv-boundary { fill: none; stroke: var(--color-border-strong); stroke-width: 1.2; stroke-dasharray: 7 5; }
.hv-line { fill: none; stroke: var(--color-border-strong); stroke-width: 1.3; }
.hv-line--offline { stroke-dasharray: 3 4; }
.hv-node rect { fill: var(--color-bg); stroke: var(--color-border-strong); stroke-width: 1.2; }
.hv-node text { fill: var(--color-text); font-size: 13px; font-weight: 550; }
.hv-model rect { fill: var(--color-surface-2); stroke: var(--color-text); stroke-width: 1.5; }
.hv-model__name { fill: var(--color-text); font-size: 17px; font-weight: 750; }
.hv-control rect { fill: var(--color-bg); stroke: var(--color-accent); stroke-width: 1.6; }
.hv-threat circle { fill: var(--color-bg); stroke: var(--color-accent); stroke-width: 1.5; }
.hv-threat path { stroke: var(--color-accent); stroke-width: 1.8; stroke-linecap: round; }
.hv-label { fill: var(--color-muted); font-size: 11.5px; font-weight: 500; }
.hv-label--strong { fill: var(--color-text); font-weight: 650; font-size: 12px; }
.hv-label--threat { fill: var(--color-accent-text); font-weight: 600; }
.hv-signal { fill: none; stroke: var(--color-accent); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 5 95; stroke-dashoffset: 100; animation: sai-signal 5.5s linear infinite; }
@keyframes sai-signal { to { stroke-dashoffset: 0; } }

/* 8. Cards & feature ------------------------------------------------------- */
.card { display: flex; flex-direction: column; min-width: 0; }
.card__media { display: block; aspect-ratio: 16 / 10; margin-bottom: var(--space-4); overflow: hidden; border-radius: var(--radius-s); background: var(--color-surface-2); }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__placeholder, .feature__placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--color-muted);
	background-color: var(--color-surface);
	background-image: linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);
	background-size: 22px 22px;
	background-position: -1px -1px;
}
.card__placeholder .glyph { width: 64px; height: 64px; background: var(--color-surface); padding: 6px; box-sizing: content-box; }
.glyph .glyph-accent { stroke: var(--color-accent); }
.card__body { display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.card__title { margin: 0; font-size: var(--fs-h3); line-height: 1.22; letter-spacing: -0.018em; }
.card__title a { text-decoration: none; }
.card__title a:hover { text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; }
.card__excerpt { margin: 0; color: var(--color-muted); font-size: var(--fs-sm); line-height: 1.55; }
.card .meta { margin-top: auto; padding-top: var(--space-2); font-size: var(--fs-xs); }

.feature {
	display: grid;
	gap: var(--space-6);
	padding: clamp(1.25rem, 3vw, 2.5rem);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-m);
}
@media (min-width: 900px) { .feature { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: var(--space-8); } }
.feature__text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
@media (max-width: 899px) { .feature__media { order: -1; } }
.feature__labels { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.badge { display: inline-block; padding: 0.22rem 0.55rem; border-radius: var(--radius-s); background: var(--color-accent); color: var(--color-accent-ink); font-size: var(--fs-xs); font-weight: 750; line-height: 1.3; }
.feature__title { margin: 0; font-size: clamp(1.875rem, 1.3rem + 2.2vw, 3.125rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; }
.feature__title a { text-decoration: none; }
.feature__title a:hover { text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 3px; }
.feature__excerpt { margin: 0; color: var(--color-muted); font-size: var(--fs-md); line-height: 1.5; max-width: 42ch; }
.feature__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius-s); background: var(--color-surface-2); }
.feature__media img { width: 100%; height: 100%; object-fit: cover; }
.feature__placeholder { background-color: var(--color-bg); }
.feature__placeholder .glyph { width: 96px; height: 96px; background: var(--color-bg); padding: 10px; box-sizing: content-box; }

/* 9. Topics ---------------------------------------------------------------- */
.topics {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	background: var(--color-border);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-m);
	overflow: hidden;
}
@media (min-width: 640px) { .topics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .topics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.topic { display: flex; flex-direction: column; background: var(--color-bg); }
.topic__link { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "glyph count" "name name" "desc desc"; align-items: start; gap: var(--space-2) var(--space-4); padding: var(--space-6); text-decoration: none; flex: 1; align-content: start; transition: background-color 0.15s var(--ease); }
a.topic__link:hover { background: var(--color-surface); }
.topic__glyph { grid-area: glyph; color: var(--color-muted); margin-bottom: var(--space-3); }
.topic__count { grid-area: count; justify-self: end; font-size: var(--fs-xs); color: var(--color-muted); }
.topic__name { grid-area: name; font-size: var(--fs-lg); font-weight: 750; letter-spacing: -0.02em; line-height: 1.15; }
a.topic__link:hover .topic__name { text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
.topic__desc { grid-area: desc; color: var(--color-muted); font-size: var(--fs-sm); line-height: 1.5; }
.topic__recent { margin: 0; padding: var(--space-3) var(--space-6) var(--space-5); border-top: 1px dashed var(--color-border); font-size: var(--fs-sm); line-height: 1.4; }
.topic__recent a { text-decoration: none; font-weight: 600; }
.topic__recent a:hover { text-decoration: underline; }

/* 10. Listings: page header, chips, pagination, empty state, newsletter ---- */
.page-header { padding-block: var(--space-6) var(--space-7); border-bottom: 1px solid var(--color-border); }
.page-header__grid { display: grid; gap: var(--space-5); align-items: end; margin-top: var(--space-6); }
@media (min-width: 900px) {
	.page-header--glyph .page-header__grid { grid-template-columns: minmax(0, 1fr) auto; }
	.page-header__search { grid-column: 1 / -1; }
}
.page-header__kicker { margin: 0 0 var(--space-3); color: var(--color-muted); font-weight: 600; font-size: var(--fs-sm); }
.page-header__title { margin: 0; max-width: 20ch; }
.page-header__text { max-width: 62ch; margin-top: var(--space-4); color: var(--color-muted); font-size: var(--fs-md); line-height: 1.5; }
.page-header__text p:last-child { margin-bottom: 0; }
.page-header__meta { margin: var(--space-4) 0 0; font-size: var(--fs-sm); color: var(--color-muted); display: flex; align-items: center; }
.page-header__meta .sep { display: inline-block; width: 1px; height: 0.95em; background: var(--color-border-strong); margin: 0 0.75rem; }
.page-header__glyph { display: none; }
@media (min-width: 900px) {
	.page-header__glyph {
		display: grid;
		place-items: center;
		width: 168px;
		height: 168px;
		color: var(--color-muted);
		border: 1px solid var(--color-border);
		border-radius: var(--radius-m);
		background-image: linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);
		background-size: 21px 21px;
		background-position: -1px -1px;
	}
	.page-header__glyph .glyph { width: 104px; height: 104px; background: var(--color-bg); }
}
.page-header .topic-nav { margin-top: var(--space-6); }

.breadcrumbs { font-size: var(--fs-xs); color: var(--color-muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; }
.breadcrumbs li + li::before { content: "/"; margin: 0 0.55rem; color: var(--color-border-strong); }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; color: var(--color-text); }
.breadcrumbs--rankmath p { margin: 0; }
.breadcrumbs--rankmath .separator { margin: 0 0.4rem; color: var(--color-border-strong); }

.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.chips--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--space-2); scrollbar-width: thin; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.chips--scroll li { flex: none; }
.chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0.35rem 0.9rem; border: 1px solid var(--color-border); border-radius: 999px; font-size: var(--fs-sm); font-weight: 550; text-decoration: none; white-space: nowrap; }
.chip:hover { border-color: var(--color-text); }
.chip.is-active { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); }

.pagination { margin-top: var(--space-8); padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-width: 44px; min-height: 44px; padding: 0 0.8rem; border: 1px solid var(--color-border); border-radius: var(--radius-s); font-weight: 600; font-size: var(--fs-sm); text-decoration: none; }
.pagination a.page-numbers:hover { border-color: var(--color-text); }
.pagination .current { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); }
.pagination .dots { border-color: transparent; }

.empty-state { max-width: 620px; margin-inline: auto; padding: var(--space-8) var(--space-5); text-align: center; border: 1px dashed var(--color-border-strong); border-radius: var(--radius-m); }
.empty-state__glyph { display: inline-grid; color: var(--color-muted); margin-bottom: var(--space-4); }
.empty-state__title { font-size: var(--fs-h3); }
.empty-state__text { color: var(--color-muted); margin-inline: auto; max-width: 46ch; }
.empty-state__search { display: flex; justify-content: center; margin: var(--space-5) 0; }
.empty-state .chips { justify-content: center; margin-top: var(--space-5); }

.newsletter { margin-block: var(--space-8); }
.newsletter__inner { display: grid; gap: var(--space-5); padding: clamp(1.5rem, 4vw, 3.25rem); border: 1px solid var(--color-border); border-radius: var(--radius-m); background: var(--color-surface); position: relative; overflow: hidden; }
.newsletter--band .newsletter__inner::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--color-accent); }
@media (min-width: 900px) { .newsletter--band .newsletter__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--space-8); } }
.newsletter__title { margin: 0 0 var(--space-2); font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.5rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; }
.newsletter__text { margin: 0; color: var(--color-muted); max-width: 44ch; }
.newsletter__form { display: flex; gap: var(--space-2); }
.newsletter__form input { flex: 1; min-width: 0; }
@media (max-width: 479px) { .newsletter__form { flex-direction: column; } }
.newsletter__note { margin: var(--space-3) 0 0; font-size: var(--fs-xs); color: var(--color-muted); }
.newsletter__note.is-info { color: var(--color-text); }
.newsletter--inline { margin-block: var(--space-7); }
.newsletter--inline .newsletter__inner { padding: var(--space-6); }
.newsletter--inline .newsletter__title { font-size: var(--fs-lg); }

.cta-panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--color-border); border-radius: var(--radius-m); background: var(--color-surface); }
.cta-panel__title { margin: 0 0 var(--space-2); }
.cta-panel__text { margin: 0; color: var(--color-muted); }
.cta-panel__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* 11. Article -------------------------------------------------------------- */
.article-header { padding-block: var(--space-6) var(--space-7); }
.article-header__inner { max-width: 880px; margin-top: var(--space-7); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.article-header__title { margin: 0; font-size: var(--fs-h1); }
.article-header__dek { margin: 0; max-width: 40em; font-size: clamp(1.1875rem, 1.05rem + 0.55vw, 1.5rem); line-height: 1.45; color: var(--color-muted); }
.article-header .meta { margin-top: var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--color-border); width: 100%; }

.article-figure { margin-top: 0; margin-bottom: var(--space-7); }
.article-figure img { width: 100%; border-radius: var(--radius-s); aspect-ratio: 16 / 9; object-fit: cover; }
.article-figure figcaption { margin-top: var(--space-2); font-size: var(--fs-xs); color: var(--color-muted); }

.article-layout { display: grid; gap: var(--space-6); padding-bottom: var(--space-7); }
@media (min-width: 1024px) {
	.article-layout { grid-template-columns: 232px minmax(0, 720px); justify-content: space-between; gap: var(--space-8); }
	.article-layout:not(.has-rail) { grid-template-columns: 72px minmax(0, 720px); justify-content: center; }
	.article-rail__sticky { position: sticky; top: calc(var(--header-h) + var(--space-6)); }
	.admin-bar .article-rail__sticky { top: calc(var(--header-h) + 32px + var(--space-6)); }
}
@media (min-width: 1240px) { .article-layout.has-rail { grid-template-columns: 260px minmax(0, 720px) 1fr; } }
@media (max-width: 1023px) { .share.share--rail, .article-sidebar { display: none; } .toc { margin-bottom: var(--space-2); } }
.article-main { min-width: 0; }

.toc { border-top: 2px solid var(--color-text); margin-bottom: var(--space-6); }
.toc__summary { cursor: pointer; padding: var(--space-3) 0; font-size: var(--fs-sm); font-weight: 700; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.toc__summary::-webkit-details-marker { display: none; }
.toc__summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 4px; transition: transform 0.15s var(--ease); }
.toc[open] .toc__summary::after { transform: rotate(-135deg); }
@media (min-width: 1024px) { .toc__summary { pointer-events: none; } .toc__summary::after { display: none; } }
.toc__list { margin: 0; padding: 0 0 var(--space-3); list-style: none; max-height: calc(100vh - 320px); overflow-y: auto; }
.toc__item a { display: block; padding: 0.4rem 0 0.4rem var(--space-3); border-left: 1px solid var(--color-border); font-size: var(--fs-sm); line-height: 1.35; color: var(--color-muted); text-decoration: none; }
.toc__item--h3 a { padding-left: var(--space-5); font-size: var(--fs-xs); }
.toc__item a:hover { color: var(--color-text); }
.toc__item a.is-active { color: var(--color-text); border-left: 2px solid var(--color-accent); padding-left: calc(var(--space-3) - 1px); font-weight: 600; }
.toc__item--h3 a.is-active { padding-left: calc(var(--space-5) - 1px); }
@media (max-width: 1023px) { .toc { border: 1px solid var(--color-border); border-radius: var(--radius-s); padding: 0 var(--space-4); margin-bottom: 0; } .toc__list { max-height: none; } }

.share { display: flex; flex-direction: column; gap: var(--space-2); }
.share__label { margin: 0; font-size: var(--fs-xs); font-weight: 600; color: var(--color-muted); }
.share__list { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.article-layout:not(.has-rail) .share__list { flex-direction: column; }
@media (max-width: 1023px) { .article-layout:not(.has-toc) .article-rail { display: none; } }
.share--inline { flex-direction: row; align-items: center; gap: var(--space-4); }
@media (min-width: 1024px) { .share.share--inline { display: none; } }
.article-sidebar { margin-top: var(--space-6); font-size: var(--fs-sm); }
.article-sidebar .widget { margin-bottom: var(--space-6); }
.article-sidebar h2, .article-sidebar h3, .article-sidebar .widget-title, .article-sidebar .wp-block-heading { margin: 0 0 var(--space-2); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0; line-height: 1.4; color: var(--color-muted); }
.article-sidebar ul { margin: 0; padding: 0; list-style: none; }
.article-sidebar li { padding: 0.35rem 0; border-bottom: 1px solid var(--color-border); line-height: 1.35; }
.article-sidebar a { text-decoration: none; }
.article-sidebar a:hover { text-decoration: underline; }
.article-sidebar .wp-block-search__inside-wrapper { display: flex; gap: var(--space-2); }
.article-sidebar .wp-block-search__button { padding: 0 var(--space-3); border: 1px solid var(--color-border-strong); border-radius: var(--radius-s); background: transparent; color: var(--color-text); font: inherit; font-size: var(--fs-xs); font-weight: 600; }
.widget { margin-bottom: var(--space-6); }
.widget__title { font-size: var(--fs-sm); font-weight: 700; margin-bottom: var(--space-3); }

/* Prose (article + page body) */
.prose { font-size: var(--fs-prose); line-height: 1.72; }
.prose > * { margin-top: 0; margin-bottom: 1.35em; }
.prose > *:last-child { margin-bottom: 0; }
.prose h2 { font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); margin-top: 2.1em; margin-bottom: 0.6em; line-height: 1.2; }
.prose h3 { font-size: clamp(1.25rem, 1.15rem + 0.45vw, 1.4375rem); margin-top: 1.8em; margin-bottom: 0.5em; line-height: 1.25; }
.prose h4 { font-size: 1.125rem; margin-top: 1.6em; margin-bottom: 0.5em; }
.prose h2:first-child, .prose h3:first-child { margin-top: 0; }
.prose a { text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 1.5px; text-underline-offset: 0.2em; font-weight: 500; }
.prose a:hover { text-decoration-thickness: 2.5px; }
.prose strong { font-weight: 700; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li { margin-bottom: 0.5em; }
.prose li::marker { color: var(--color-muted); }
.prose ol > li::marker { font-weight: 700; }
.prose blockquote, .prose .wp-block-quote { margin-inline: 0; padding: 0.2em 0 0.2em 1.25em; border-left: 3px solid var(--color-accent); font-size: 1.12em; line-height: 1.55; }
.prose blockquote cite, .prose .wp-block-quote cite { display: block; margin-top: 0.75em; font-size: var(--fs-sm); font-style: normal; color: var(--color-muted); }
.prose .wp-block-pullquote { border-block: 2px solid var(--color-text); padding: var(--space-6) 0; text-align: left; }
.prose .wp-block-pullquote blockquote { border: 0; padding: 0; font-size: 1.5em; font-weight: 700; letter-spacing: -0.02em; }
.prose :not(pre) > code { padding: 0.12em 0.35em; border-radius: var(--radius-s); background: var(--color-surface-2); border: 1px solid var(--color-border); font-size: 0.86em; word-break: break-word; }
.prose pre, .prose .wp-block-code { overflow-x: auto; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-m); background: var(--color-surface); font-size: 0.875rem; line-height: 1.6; tab-size: 2; }
.prose pre code { background: none; border: 0; padding: 0; }
.prose img { border-radius: var(--radius-s); height: auto; }
.prose figure { margin-inline: 0; }
.prose figcaption, .prose .wp-element-caption { margin-top: 0.6em; font-size: var(--fs-xs); color: var(--color-muted); text-align: left; }
.prose .wp-block-table, .prose table { display: block; width: 100%; overflow-x: auto; }
.prose table { border-collapse: collapse; font-size: var(--fs-sm); line-height: 1.45; }
.prose .wp-block-table table { display: table; }
.prose th, .prose td { padding: 0.65rem 0.8rem; border: 1px solid var(--color-border); text-align: left; vertical-align: top; }
.prose th, .prose thead td { background: var(--color-surface); font-weight: 700; }
.prose hr, .prose .wp-block-separator { border: 0; border-top: 1px solid var(--color-border); margin-block: 2.5em; }
.prose .alignwide, .prose .alignfull { width: 100%; max-width: none; }
.prose .wp-block-embed iframe { max-width: 100%; }
.prose .wp-block-button__link { border-radius: var(--radius-s); background: var(--color-accent); color: var(--color-accent-ink); text-decoration: none; font-weight: 650; }
.prose .is-editor-note { padding: var(--space-4); border: 1px dashed var(--color-accent); border-radius: var(--radius-s); font-size: var(--fs-sm); color: var(--color-accent-text); }
.prose h2[id], .prose h3[id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }

.article-footer { display: flex; flex-direction: column; gap: var(--space-5); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.author-box { display: flex; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-m); }
.author-box__avatar { border-radius: 50%; flex: none; width: 56px; height: 56px; }
.author-box__name { margin: 0 0 var(--space-1); font-weight: 750; }
.author-box__name a { text-decoration: none; }
.author-box__bio { margin: 0 0 var(--space-2); color: var(--color-muted); font-size: var(--fs-sm); }
.author-box__link { font-size: var(--fs-xs); }
.page-links { display: flex; gap: var(--space-2); align-items: center; margin-top: var(--space-5); }

.post-nav { display: grid; gap: 1px; background: var(--color-border); border-block: 1px solid var(--color-border); margin-top: var(--space-7); }
@media (min-width: 640px) { .post-nav { grid-template-columns: 1fr 1fr; } }
.post-nav__item { background: var(--color-bg); }
.post-nav__item a { display: flex; flex-direction: column; gap: var(--space-2); height: 100%; padding: var(--space-5) var(--space-4); text-decoration: none; }
.post-nav__item--next a { align-items: flex-end; text-align: right; }
.post-nav__item a:hover { background: var(--color-surface); }
.post-nav__dir { display: inline-flex; align-items: center; gap: 0.4rem; font-size: var(--fs-xs); color: var(--color-muted); font-weight: 600; }
.post-nav__title { font-weight: 700; line-height: 1.3; }
.section--related { border-top: 1px solid var(--color-border); }

.comments { padding-block: var(--space-7); }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: var(--space-5); border-left: 1px solid var(--color-border); }
.comment-body { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); font-size: var(--fs-sm); }
.comment-author img { border-radius: 50%; float: left; margin-right: var(--space-3); }
.comment-metadata { font-size: var(--fs-xs); color: var(--color-muted); }
.comment-form p { margin-bottom: var(--space-4); }
.comment-form label { display: block; margin-bottom: var(--space-1); }

/* 12. Pages: contact, resources, 404 -------------------------------------- */
.contact { display: grid; gap: var(--space-7); }
@media (min-width: 900px) { .contact { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); } }
.contact__block { padding-block: var(--space-5); border-top: 1px solid var(--color-border); }
.contact__block:first-child { border-top-color: var(--color-text); }
.contact__label { margin: 0 0 var(--space-2); font-size: var(--fs-sm); color: var(--color-muted); font-weight: 600; }
.contact__email { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-weight: 700; letter-spacing: -0.02em; text-decoration: underline; text-decoration-color: var(--color-accent); text-underline-offset: 0.2em; word-break: break-word; }
.contact__content { margin-top: var(--space-5); font-size: var(--fs-base); }
.form-placeholder { padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid var(--color-border); border-radius: var(--radius-m); background: var(--color-surface); }
.form-placeholder__title { font-size: var(--fs-h3); }
.form-placeholder p { color: var(--color-muted); }
.contact__form .wpcf7-form p, .contact__form .wpforms-field { margin-bottom: var(--space-4); }
.contact__form input[type="submit"], .contact__form button[type="submit"] { min-height: 48px; padding: 0.7rem 1.35rem; border: 0; border-radius: var(--radius-s); background: var(--color-accent); color: var(--color-accent-ink); font-weight: 700; cursor: pointer; }

.resource-jump { padding-top: var(--space-5); }
.directory { border-bottom: 1px solid var(--color-border); }
.directory__row { display: grid; gap: var(--space-4); padding-block: var(--space-6); border-top: 1px solid var(--color-border); }
.directory__row:first-child { border-top-color: var(--color-text); }
@media (min-width: 900px) { .directory__row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); } }
.directory__title { margin: 0 0 var(--space-2); font-size: var(--fs-lg); }
.directory__desc { margin: 0; color: var(--color-muted); font-size: var(--fs-sm); max-width: 40ch; }
.directory__empty { margin: 0; color: var(--color-muted); font-size: var(--fs-sm); padding-top: 0.3rem; }
.link-list { margin: 0 0 var(--space-3); padding: 0; list-style: none; }
.link-list li { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px dashed var(--color-border); }
.link-list li:first-child { padding-top: 0.2rem; }
.link-list a { font-weight: 600; text-decoration: none; }
.link-list a:hover { text-decoration: underline; }
.link-list time { flex: none; font-size: var(--fs-xs); color: var(--color-muted); padding-top: 0.2em; }

.section--404 { padding-block: var(--space-9); }
.section--404 .search-form { margin: var(--space-6) 0; }
.code-404 { margin: 0 0 var(--space-4); font-size: clamp(5rem, 3rem + 10vw, 11rem); font-weight: 900; line-height: 0.85; letter-spacing: -0.06em; color: transparent; -webkit-text-stroke: 1.5px var(--color-border-strong); }

/* 13. Footer --------------------------------------------------------------- */
.site-footer { margin-top: var(--space-8); padding-top: var(--space-8); background: var(--color-surface); border-top: 1px solid var(--color-border); font-size: var(--fs-sm); }
.site-footer__grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-footer__brand { grid-column: 1 / -1; }
@media (min-width: 900px) { .site-footer__grid { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: var(--space-7); } .site-footer__brand { grid-column: auto; } }
.site-footer__text { max-width: 36ch; margin: var(--space-4) 0 var(--space-5); color: var(--color-muted); }
.site-footer__heading { margin: 0 0 var(--space-4); font-size: var(--fs-sm); font-weight: 700; letter-spacing: 0; }
.footer-menu { margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin-bottom: var(--space-2); }
.footer-menu a { color: var(--color-muted); text-decoration: none; }
.footer-menu a:hover { color: var(--color-text); text-decoration: underline; }
.social { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.social a { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--color-border); border-radius: var(--radius-s); color: var(--color-text); }
.social a:hover { border-color: var(--color-text); }
.site-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-8); padding-block: var(--space-5); border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: var(--fs-xs); }
.site-footer__base p { margin: 0; }

/* 14. Utilities & WordPress core ------------------------------------------ */
.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(--color-surface); clip: auto !important; clip-path: none; color: var(--color-text); display: block; height: auto; left: 5px; padding: 1rem; top: 5px; width: auto; z-index: 100000; }
.icon { flex: none; }
.admin-hint { margin-top: var(--space-4); padding: var(--space-3) var(--space-4); border: 1px dashed var(--color-accent); border-radius: var(--radius-s); font-size: var(--fs-xs); color: var(--color-text); text-align: left; background: color-mix(in srgb, var(--color-accent) 7%, transparent); }
.admin-hint code { font-size: 0.95em; }
.toast { position: fixed; left: 50%; bottom: var(--space-5); transform: translateX(-50%); z-index: 200; padding: 0.7rem 1.1rem; border-radius: var(--radius-s); background: var(--color-text); color: var(--color-bg); font-size: var(--fs-sm); font-weight: 600; }
.alignleft { float: left; margin: 0.3em 1.5em 1em 0; }
.alignright { float: right; margin: 0.3em 0 1em 1.5em; }
.aligncenter { margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font-size: var(--fs-xs); color: var(--color-muted); }
.sticky, .bypostauthor { outline: none; }
.page-figure { margin: 0 0 var(--space-6); }
.page-figure img { border-radius: var(--radius-s); width: 100%; }

/* 15. Motion & print ------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
	.hv-signal { animation: none; stroke-dasharray: none; stroke-width: 1.6; opacity: 0.9; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

@media print {
	.site-header, .site-footer, .article-rail, .newsletter, .share, .post-nav, .section--related, .comments, .breadcrumbs { display: none !important; }
	body { background: #fff; color: #000; }
	.article-layout { display: block; }
	.prose a::after { content: " (" attr(href) ")"; font-size: 0.8em; }
}
