/*
 * Elite Press — front-end styles.
 * Brand tokens (--ap-*) are printed inline from the active preset; the
 * values below are only fallbacks. Keep this file dependency-free.
 */

/* ---------- Tokens ---------- */
:root {
	--ap-bg: #fff;
	--ap-surface: #f5f6f8;
	--ap-text: #16181d;
	--ap-muted: #555c69;
	--ap-border: #e2e5ea;
	--ap-primary: #f23316;
	--ap-accent: #f23316;
	--ap-accent-text: #fff;
	--ap-header-bg: #fff;
	--ap-header-text: #16181d;
	--ap-hero-bg: #f5f6f8;
	--ap-hero-text: #16181d;
	--ap-footer-bg: #16181d;
	--ap-footer-text: #e8eaee;
	--ap-accent-soft: color-mix(in srgb, var(--ap-accent) 11%, var(--ap-bg));
	--ap-primary-soft: color-mix(in srgb, var(--ap-primary) 10%, var(--ap-bg));
	--ap-header-border: color-mix(in srgb, var(--ap-header-text) 20%, transparent);
	--ap-header-muted: color-mix(in srgb, var(--ap-header-text) 72%, var(--ap-header-bg));
	--ap-footer-border: color-mix(in srgb, var(--ap-footer-text) 20%, transparent);
	--ap-font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ap-font-display: var(--ap-font-body);
	--ap-radius: 8px;
	--ap-logo-h: 48px;
	--ap-logo-h-mobile: 40px;

	--ap-container: 1200px;
	--ap-narrow: 760px;
	--ap-gutter: clamp(1rem, 4vw, 1.5rem);
	--ap-space: clamp(2.5rem, 6vw, 4.5rem);
	--ap-header-h: 64px;
	--ap-shadow: 0 1px 2px rgb(0 0 0 / 6%), 0 4px 16px rgb(0 0 0 / 6%);
	--ap-focus: 0 0 0 3px var(--ap-bg), 0 0 0 5px var(--ap-primary);
}

/* ---------- Base ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
	border-radius: 0 !important;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--ap-header-h) + 1rem);
	overflow-x: clip;
}

body {
	margin: 0;
	background: var(--ap-bg);
	color: var(--ap-text);
	font-family: var(--ap-font-body);
	font-size: 1.0625rem;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
	overflow-x: clip;
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
}

img {
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5em;
	font-family: var(--ap-font-display);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

h1 { font-size: clamp(1.875rem, 1.3rem + 2.4vw, 2.875rem); }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); }
h3 { font-size: clamp(1.1875rem, 1.1rem + 0.4vw, 1.375rem); }
h4 { font-size: 1.125rem; }

p,
ul,
ol,
figure,
blockquote,
table {
	margin: 0 0 1.25em;
}

a {
	color: var(--ap-accent);
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

a:hover {
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline: none;
	box-shadow: var(--ap-focus);
	border-radius: 2px;
}

hr {
	border: 0;
	border-top: 1px solid var(--ap-border);
	margin: 2rem 0;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed !important;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 1000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.75rem 1rem;
	clip: auto;
	clip-path: none;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-weight: 700;
	border-radius: var(--ap-radius);
}

.site-main:focus {
	outline: none;
}

.site-main {
	background-color: var(--ap-bg);
	background-image: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Layout ---------- */
.container {
	width: 100%;
	max-width: calc(var(--ap-container) + var(--ap-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--ap-gutter);
}

.container--narrow {
	max-width: calc(var(--ap-narrow) + var(--ap-gutter) * 2);
}

.page-body {
	padding-block: clamp(1.5rem, 4vw, 3rem) var(--ap-space);
}

.layout {
	display: grid;
	gap: 2.5rem;
}

.has-sidebar .layout {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
	.has-sidebar .layout {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 3rem;
	}
}

.layout__main {
	min-width: 0;
}

/* ---------- Buttons ---------- */
.button,
button[type="submit"],
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.625rem 1.25rem;
	border: 2px solid transparent;
	border-radius: 0;
	font: inherit;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, filter 0.15s ease;
}

.button--primary,
button[type="submit"],
input[type="submit"] {
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

.button--primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--ap-accent);
	filter: none;
	color: var(--ap-accent-text);
}

.button--secondary {
	background: transparent;
	border-color: currentColor;
	color: inherit;
}

.button--secondary:hover {
	background: var(--ap-accent);
	border-color: var(--ap-accent);
	color: var(--ap-accent-text);
}

.button--block {
	width: 100%;
}

.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--ap-radius);
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.icon-button:hover {
	background: color-mix(in srgb, currentColor 12%, transparent);
}

/* ---------- Header ---------- */
.site-header {
	position: relative;
	z-index: 100;
	background: var(--ap-header-bg);
	color: var(--ap-header-text);
	border-bottom: 1px solid var(--ap-header-border);
}

.ap-sticky-header .site-header {
	position: sticky;
	top: 0;
}

@media (min-width: 601px) {
	.ap-sticky-header.admin-bar .site-header {
		top: 46px;
	}
}

@media (min-width: 783px) {
	.ap-sticky-header.admin-bar .site-header {
		top: 32px;
	}
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: var(--ap-header-h);
}

.site-brand {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	color: inherit;
	text-decoration: none;
}

.site-brand__logo {
	width: auto;
	height: var(--ap-logo-h-mobile);
	max-width: 220px;
	object-fit: contain;
}

.site-brand__name {
	font-family: var(--ap-font-display);
	font-size: 1.375rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	margin-left: auto;
}

.site-header__cta {
	margin-left: 0.5rem;
	white-space: nowrap;
}

.site-header a:not(.button) {
	color: inherit;
}

@media (max-width: 479px) {
	.site-header__cta {
		padding-inline: 0.875rem;
		font-size: 0.9375rem;
	}
}

/* Primary navigation — mobile first */
.primary-nav .menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-nav a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--ap-radius);
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a {
	color: var(--ap-primary);
}

.primary-nav .current-menu-item > a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.4em;
}

.primary-nav .menu-item-has-children {
	position: relative;
}

.submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	border-radius: var(--ap-radius);
}

.submenu-toggle .icon {
	transition: transform 0.15s ease;
}

.submenu-toggle[aria-expanded="true"] .icon {
	transform: rotate(180deg);
}

.menu-toggle__close {
	display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__open {
	display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__close {
	display: inline-flex;
}

@media (max-width: 959px) {
	/* Without JS the menu stays visible and wraps under the logo. */
	.no-js .site-header__inner {
		flex-wrap: wrap;
	}

	.no-js .primary-nav {
		order: 3;
		width: 100%;
	}

	.no-js .menu-toggle {
		display: none;
	}

	.js .primary-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--ap-header-h));
		overflow-y: auto;
		padding: 0.5rem var(--ap-gutter) 1.25rem;
		background: var(--ap-header-bg);
		border-bottom: 1px solid var(--ap-header-border);
		box-shadow: var(--ap-shadow);
	}

	.js .primary-nav.is-open {
		display: block;
	}

	.primary-nav .menu > li {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		border-bottom: 1px solid var(--ap-header-border);
	}

	.primary-nav .menu > li > a {
		flex: 1;
	}

	.primary-nav .sub-menu {
		list-style: none;
		width: 100%;
		margin: 0 0 0.5rem;
		padding: 0 0 0 1rem;
	}

	.js .primary-nav .sub-menu {
		display: none;
	}

	.js .primary-nav .is-open > .sub-menu {
		display: block;
	}
}

@media (min-width: 960px) {
	.site-brand__logo {
		height: var(--ap-logo-h);
		max-width: 280px;
	}

	.primary-nav {
		margin-left: 1.5rem;
	}

	.primary-nav .menu {
		display: flex;
		align-items: center;
		gap: 0.125rem;
	}

	.primary-nav .menu > li {
		display: flex;
		align-items: center;
	}

	.primary-nav .submenu-toggle {
		width: 28px;
		margin-left: -0.5rem;
	}

	.primary-nav .sub-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 220px;
		list-style: none;
		margin: 0;
		padding: 0.5rem;
		background: var(--ap-header-bg);
		color: var(--ap-header-text);
		border: 1px solid var(--ap-header-border);
		border-radius: var(--ap-radius);
		box-shadow: var(--ap-shadow);
	}

	.primary-nav .menu-item-has-children:hover > .sub-menu,
	.primary-nav .menu-item-has-children:focus-within > .sub-menu,
	.primary-nav .is-open > .sub-menu {
		display: block;
	}

	.no-js .primary-nav .menu-item-has-children:focus-within > .sub-menu {
		display: block;
	}

	.menu-toggle {
		display: none;
	}
}

/* Header search panel */
.header-search {
	padding-block: 1rem;
	background: var(--ap-header-bg);
	border-top: 1px solid var(--ap-header-border);
}

.no-js .header-search[hidden] {
	display: none;
}

.search-form {
	display: flex;
	gap: 0.5rem;
	max-width: 640px;
}

.search-form__input {
	flex: 1;
	min-width: 0;
}

@media (max-width: 479px) {
	.search-form__submit-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}
}

/* ---------- Editorial two-level header ---------- */
.site-header {
	border-bottom: 0;
}

.site-header__top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 124px;
}

.site-header__top > .site-brand {
	justify-self: center;
}

.site-header__top .site-brand__name {
	font-size: clamp(1.75rem, 4vw, 3rem);
}

.site-header__social {
	justify-self: start;
}

.site-header__actions {
	justify-self: end;
	margin-left: 0;
}

.site-header__nav-row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	min-height: 76px;
	border-top: 1px solid var(--ap-header-border);
	border-bottom: 2px solid currentcolor;
}

.header-menu-link {
	grid-column: 1;
	justify-self: start;
}

.header-search-toggle {
	grid-column: 3;
	justify-self: end;
}

.primary-nav__mobile-head,
.primary-nav__mobile-foot {
	display: none;
}

@media (min-width: 960px) {
	.primary-nav {
		grid-column: 2;
		justify-self: center;
		margin-left: 0;
	}

	.primary-nav .menu {
		justify-content: center;
		gap: clamp(0.25rem, 1.8vw, 1.4rem);
	}

	.primary-nav .menu > li > a {
		font-family: Georgia, "Times New Roman", serif;
		font-size: 0.8125rem;
		font-weight: 700;
		letter-spacing: 0.16em;
		text-transform: uppercase;
	}

	.social-links--header {
		gap: 0;
		margin: 0;
	}

	.social-links--header a {
		width: 36px;
		height: 36px;
	}
}

@media (max-width: 959px) {
	.site-header__top {
		display: flex;
		min-height: 58px;
	}

	.site-header__top > .site-brand {
		justify-self: auto;
		margin-right: auto;
	}

	.site-header__top .site-brand__name {
		font-size: 1.8rem;
	}

	.site-header__social,
	.site-header__actions,
	.header-menu-link {
		display: none;
	}

	.site-header__nav-row {
		min-height: 40px;
		border-bottom-width: 2px;
	}

	.menu-toggle {
		grid-column: 1;
		justify-self: start;
	}

	.no-js .primary-nav,
	.js .primary-nav.is-open {
		display: block;
	}

	.primary-nav,
	.js .primary-nav {
		display: none;
		position: fixed;
		z-index: 1000;
		inset: 0 auto 0 0;
		width: min(100%, 430px);
		max-height: 100vh;
		overflow-y: auto;
		padding: 1.25rem clamp(1.5rem, 10vw, 3.75rem) 2.5rem;
		background: var(--ap-header-bg);
		color: var(--ap-header-text);
		box-shadow: 12px 0 30px rgb(0 0 0 / 22%);
	}

	.js .primary-nav.is-open {
		display: block;
	}

	.admin-bar .primary-nav {
		top: 46px;
	}

	.primary-nav__mobile-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin-bottom: 2.25rem;
	}

	.primary-nav__mobile-head .site-brand__logo {
		height: var(--ap-logo-h-mobile);
	}

	.primary-nav__mobile-head .site-brand__name {
		font-size: 2rem;
	}

	.primary-nav__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin-right: -0.75rem;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--ap-header-muted);
		cursor: pointer;
	}

	.primary-nav .menu > li {
		margin-bottom: 0.45rem;
		border-bottom: 0;
	}

	.primary-nav .menu > li > a {
		padding-inline: 0;
		font-family: Georgia, "Times New Roman", serif;
		font-size: 1.125rem;
		font-weight: 700;
	}

	.primary-nav__mobile-foot {
		display: block;
		margin-top: 2rem;
	}

	.primary-nav__mobile-foot .search-form {
		position: relative;
		display: block;
		max-width: none;
	}

	.primary-nav__mobile-foot .search-form__input {
		width: 100%;
		height: 58px;
		padding: 0 1rem 0 3.2rem;
		border: 1px solid var(--ap-header-border);
		border-radius: 0;
		background: transparent;
		color: var(--ap-header-text);
	}

	.primary-nav__mobile-foot .search-form__input::placeholder {
		color: var(--ap-header-muted);
		opacity: 1;
	}

	.primary-nav__mobile-foot .search-form__submit {
		position: absolute;
		top: 7px;
		left: 0.55rem;
		width: 38px;
		height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--ap-header-text);
	}

	.primary-nav__mobile-foot .search-form__submit-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.social-links--drawer {
		justify-content: center;
		gap: 0.5rem;
		margin-top: 1.1rem;
	}

	body.ap-menu-open {
		overflow: hidden;
	}
}

@media (min-width: 783px) and (max-width: 959px) {
	.admin-bar .primary-nav {
		top: 32px;
	}
}

/* Full-width search reveal. */
.header-search {
	position: fixed;
	z-index: 1100;
	top: 0;
	right: 0;
	left: 0;
	height: min(402px, 100vh);
	padding: 0;
	border: 0;
	background: var(--ap-header-bg);
	color: var(--ap-header-text);
	box-shadow: 0 10px 28px rgb(0 0 0 / 12%);
}

.header-search[hidden] {
	display: none;
}

.header-search__inner {
	position: relative;
	height: 100%;
	max-width: calc(1290px + var(--ap-gutter) * 2);
}

.header-search__close {
	position: absolute;
	top: 2.35rem;
	right: var(--ap-gutter);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ap-header-muted);
	cursor: pointer;
	transition: color 0.2s ease, transform 0.3s ease;
}

.header-search__close:hover {
	color: var(--ap-accent);
	transform: rotate(90deg);
}

.primary-nav__close {
	transition: color 0.2s ease, transform 0.3s ease;
}

.primary-nav__close:hover {
	color: var(--ap-accent);
	transform: rotate(90deg);
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	display: none;
	-webkit-appearance: none;
	appearance: none;
}

.header-search .search-form {
	position: absolute;
	top: 46%;
	right: var(--ap-gutter);
	left: var(--ap-gutter);
	display: block;
	max-width: none;
	transform: translateY(-50%);
}

.header-search .search-form__input {
	width: 100%;
	height: 64px;
	padding: 0 4.5rem 0 0;
	border: 0;
	border-bottom: 2px solid var(--ap-header-border);
	border-radius: 0;
	background: transparent;
	color: var(--ap-header-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.1rem, 1.8vw, 1.35rem);
	font-weight: 600;
	box-shadow: none;
}

.header-search .search-form__input::placeholder {
	color: var(--ap-header-muted);
	opacity: 1;
}

.header-search .search-form__submit {
	position: absolute;
	top: 8px;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ap-header-text);
}

.header-search .search-form__submit .icon {
	width: 32px;
	height: 32px;
}

.header-search .search-form__submit-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

body.ap-search-open {
	overflow: hidden;
}

.admin-bar .header-search {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .header-search {
		top: 46px;
	}

	.header-search {
		height: min(320px, 100vh);
	}

	.header-search__close {
		top: 1rem;
	}

	.header-search .search-form {
		top: 55%;
	}
}

/* ---------- Forms ---------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="number"],
select,
textarea {
	width: 100%;
	min-height: 44px;
	padding: 0.625rem 0.75rem;
	border: 1px solid color-mix(in srgb, var(--ap-text) 30%, transparent);
	border-radius: var(--ap-radius);
	background: var(--ap-bg);
	color: var(--ap-text);
	font: inherit;
	font-size: 1rem;
}

textarea {
	min-height: 140px;
	resize: vertical;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	border-color: var(--ap-primary);
	border-radius: var(--ap-radius);
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
	border-color: var(--ap-accent);
	border-width: 2px;
}

label {
	display: inline-block;
	margin-bottom: 0.375rem;
	font-weight: 600;
}

.field {
	margin-bottom: 1.125rem;
}

.field-row {
	display: grid;
	gap: 0 1rem;
}

@media (min-width: 640px) {
	.field-row {
		grid-template-columns: 1fr 1fr;
	}
}

.field--checkbox {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25rem 0.75rem;
	align-items: start;
}

.field--checkbox input {
	width: 22px;
	height: 22px;
	margin: 0.15rem 0 0;
	accent-color: var(--ap-accent);
}

.field--checkbox label {
	font-weight: 400;
}

.field--checkbox .field-error {
	grid-column: 2;
}

.field--hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.field-error {
	margin: 0.375rem 0 0;
	color: var(--ap-accent);
	font-size: 0.9375rem;
	font-weight: 600;
}

.ap-preset-igamingvendor .field-error,
.ap-preset-igamingvendor input[aria-invalid="true"] {
	color: var(--ap-accent);
	border-color: var(--ap-accent);
}

.form-hint {
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

.contact-form-wrap {
	max-width: var(--ap-narrow);
	margin-block: 2rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
}

.notice {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
	border-radius: var(--ap-radius);
	border-left: 4px solid;
}

.notice p,
.notice ul {
	margin: 0;
}

.notice ul {
	padding-left: 1.25rem;
}

.notice--success {
	border-color: var(--ap-primary);
	background: var(--ap-primary-soft);
}

.notice--error {
	display: block;
	border-color: var(--ap-accent);
	background: var(--ap-accent-soft);
}

/* ---------- Common components ---------- */
.eyebrow {
	margin-bottom: 0.75rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ap-primary);
}

.section-title {
	margin-bottom: 0.75rem;
}

.section-intro {
	max-width: 65ch;
	color: var(--ap-muted);
}

.section-note {
	margin-top: 1.5rem;
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

.section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	margin-bottom: 1.5rem;
}

.section-head .section-title,
.section-head .section-intro {
	margin-bottom: 0;
}

.section-head .section-intro {
	margin-top: 0.5rem;
}

.section-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-height: 44px;
	font-weight: 700;
	text-decoration: none;
}

.section-link:hover {
	text-decoration: underline;
}

.category-label {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.2rem 0.6rem;
	border: 1px solid var(--ap-accent);
	border-radius: 999px;
	background: var(--ap-accent);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ap-accent-text);
}

.category-label:hover {
	background: var(--ap-text);
	border-color: var(--ap-text);
	color: var(--ap-bg);
	text-decoration: none;
}

.badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin-bottom: 0.625rem;
}

.badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ap-primary) 14%, transparent);
	color: var(--ap-text);
}

.badge--disclosure {
	background: transparent;
	border: 1px solid var(--ap-muted);
	color: var(--ap-muted);
}

.chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0.25rem 0.875rem;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--ap-text);
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: 999px;
}

.chip:hover {
	border-color: var(--ap-primary);
	color: var(--ap-primary);
}

.entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

.entry-meta a {
	color: inherit;
	font-weight: 600;
}

.breadcrumbs {
	margin-bottom: 1.25rem;
	font-size: 0.875rem;
	color: var(--ap-muted);
}

.breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumbs li:not(:last-child)::after {
	content: "/";
	margin-inline: 0.5rem;
	opacity: 0.6;
}

.breadcrumbs a {
	color: inherit;
}

.breadcrumbs [aria-current] {
	display: inline-block;
	max-width: 32ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}

/* ---------- Cards ---------- */
.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 700px) {
	.card-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.card {
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
}

.card__media {
	display: block;
	text-decoration: none;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--ap-border);
}

.card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.card:hover .card__media img {
	transform: scale(1.03);
}

.media-placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--ap-primary) 30%, var(--ap-surface)), color-mix(in srgb, var(--ap-accent) 18%, var(--ap-surface)));
	color: var(--ap-text);
	font-family: var(--ap-font-display);
	font-size: 3rem;
	font-weight: 800;
	opacity: 0.85;
}

.card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.125rem 1.25rem 1.25rem;
}

.card__title {
	margin-bottom: 0.5rem;
	font-size: 1.1875rem;
	line-height: 1.3;
}

.card__title a {
	color: var(--ap-text);
	text-decoration: none;
}

.card__title a:hover {
	color: var(--ap-primary);
	text-decoration: underline;
}

.card__excerpt {
	margin-bottom: 0.875rem;
	color: var(--ap-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.card .entry-meta {
	margin-top: auto;
	font-size: 0.875rem;
}

@media (min-width: 900px) {
	.card-grid--featured {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.card-grid--featured > .card {
		grid-column: span 2;
	}

	/* 1 post, or the lead of 3+: wide horizontal card. */
	.card-grid--featured > .card:only-child,
	.card-grid--featured > .card:first-child:nth-last-child(n + 3) {
		grid-column: span 6;
		display: grid;
		grid-template-columns: 1.4fr 1fr;
	}

	.card-grid--featured > .card:only-child .card__media,
	.card-grid--featured > .card:first-child:nth-last-child(n + 3) .card__media {
		aspect-ratio: auto;
		min-height: 320px;
	}

	.card-grid--featured > .card:only-child .card__body,
	.card-grid--featured > .card:first-child:nth-last-child(n + 3) .card__body {
		justify-content: center;
		padding: 2rem;
	}

	.card-grid--featured > .card:only-child .card__title,
	.card-grid--featured > .card:first-child:nth-last-child(n + 3) .card__title {
		font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	}

	/* Exactly 2 posts: two halves. Exactly 3: lead + two halves. */
	.card-grid--featured > .card:first-child:nth-last-child(2),
	.card-grid--featured > .card:nth-child(2):last-child,
	.card-grid--featured > .card:nth-child(2):nth-last-child(2),
	.card-grid--featured > .card:nth-child(3):last-child {
		grid-column: span 3;
	}
}

/* Platform / vendor cards */
.platform-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem;
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
}

.platform-card__logo {
	display: flex;
	align-items: center;
	height: 56px;
}

.platform-card__logo img {
	width: auto;
	max-width: 160px;
	max-height: 56px;
	object-fit: contain;
}

.platform-card__body {
	flex: 1;
}

.platform-card__title {
	margin-bottom: 0.375rem;
	font-size: 1.1875rem;
}

.platform-card__title a {
	color: var(--ap-text);
}

.platform-card__text {
	margin: 0;
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

/* Promotions */
.promo-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
}

.promo-card__media img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.promo-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.25rem;
}

.promo-card__body > p:not(.badge-row) {
	font-size: 0.9375rem;
}

.promo-card__terms {
	color: var(--ap-muted);
	font-size: 0.8125rem !important;
}

.promo-card .button {
	margin-top: auto;
}

/* ---------- Homepage ---------- */
.hero {
	padding-block: clamp(2.5rem, 7vw, 5rem);
	background: var(--ap-hero-bg);
	color: var(--ap-hero-text);
}

.hero__inner {
	display: grid;
	gap: 2rem;
	align-items: center;
}

.hero__content {
	max-width: 44rem;
}

.hero__title {
	margin-bottom: 0.75rem;
	font-size: clamp(2rem, 1.3rem + 3vw, 3.25rem);
	line-height: 1.1;
}

.hero__text {
	margin: 0;
	max-width: 60ch;
	font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
	opacity: 0.88;
}

.hero .eyebrow {
	color: inherit;
	opacity: 0.8;
}

.hero .button--secondary {
	color: var(--ap-hero-text);
}

.hero__media img {
	width: 100%;
	border-radius: calc(var(--ap-radius) * 1.5);
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

@media (max-width: 699px) {
	.hero__media {
		display: none;
	}
}

/* ---------- Canonical brand-color bindings ---------- */
/*
 * This final layer intentionally wins over legacy preset decoration.
 * Every visible component now follows the active Customizer tokens.
 */
body[class*="ap-brand-"] .site-header,
body[class*="ap-brand-"] .primary-nav,
body[class*="ap-brand-"] .header-search {
	background: var(--ap-header-bg);
	color: var(--ap-header-text);
}

body[class*="ap-brand-"] .site-header__nav-row,
body[class*="ap-brand-"] .primary-nav .menu > li,
body[class*="ap-brand-"] .primary-nav .sub-menu,
body[class*="ap-brand-"] .header-search .search-form__input {
	border-color: var(--ap-header-border);
}

body[class*="ap-brand-"] .header-menu-link,
body[class*="ap-brand-"] .header-search-toggle,
body[class*="ap-brand-"] .primary-nav__close,
body[class*="ap-brand-"] .header-search__close {
	color: var(--ap-header-muted);
}

body[class*="ap-brand-"] .header-menu-link:hover,
body[class*="ap-brand-"] .header-search-toggle:hover {
	background: color-mix(in srgb, var(--ap-header-text) 8%, transparent);
	color: var(--ap-accent);
}

body[class*="ap-brand-"] .primary-nav__close,
body[class*="ap-brand-"] .header-search__close,
body[class*="ap-brand-"] .header-search .search-form__input::placeholder,
body[class*="ap-brand-"] .primary-nav__mobile-foot .search-form__input::placeholder {
	color: var(--ap-header-muted);
}

body[class*="ap-brand-"] .primary-nav__close:hover,
body[class*="ap-brand-"] .header-search__close:hover,
body[class*="ap-brand-"] .primary-nav a:hover,
body[class*="ap-brand-"] .primary-nav .current-menu-item > a,
body[class*="ap-brand-"] .primary-nav .current-menu-ancestor > a {
	color: var(--ap-accent);
}

body[class*="ap-brand-"] .editorial-home,
body[class*="ap-brand-"] .editorial-category-sections {
	background: var(--ap-bg);
}

body[class*="ap-brand-"] .editorial-ribbon {
	background: var(--ap-surface);
}

body[class*="ap-brand-"] .editorial-ticker {
	border-color: var(--ap-border);
}

body[class*="ap-brand-"] .editorial-curated-band,
body[class*="ap-brand-"] .single-editors {
	background: color-mix(in srgb, var(--ap-surface) 62%, var(--ap-bg));
}

body[class*="ap-brand-"] .editorial-pick > a,
body[class*="ap-brand-"] .editorial-category-card,
body[class*="ap-brand-"] .card--text-only,
body[class*="ap-brand-"] .category-feature {
	border-color: var(--ap-border);
	background: var(--ap-bg);
}

body .category-label {
	display: inline-flex !important;
	width: fit-content !important;
	max-width: 100% !important;
	align-self: flex-start !important;
	padding: 0.2rem 0.6rem !important;
	border: 1px solid var(--ap-accent) !important;
	border-radius: 0 !important;
	background: var(--ap-accent) !important;
	color: var(--ap-accent-text) !important;
	font-family: var(--ap-font-body) !important;
	font-size: 0.625rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.25 !important;
}

body .category-label:hover {
	border-color: var(--ap-text) !important;
	background: var(--ap-text) !important;
	color: var(--ap-bg) !important;
	text-decoration: none !important;
}

body[class*="ap-brand-"] .editorial-read-link,
body[class*="ap-brand-"] .button--secondary {
	border-color: var(--ap-accent);
	color: var(--ap-accent);
}

body[class*="ap-brand-"] .editorial-read-link:hover,
body[class*="ap-brand-"] a:hover .editorial-read-link,
body[class*="ap-brand-"] .button--secondary:hover {
	border-color: var(--ap-accent);
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

body[class*="ap-brand-"] .site-footer {
	border-color: var(--ap-accent);
	background: var(--ap-footer-bg);
	color: var(--ap-footer-text);
}

body[class*="ap-brand-"] .site-footer a:hover {
	color: var(--ap-accent);
}

/* All repeated/listing titles use the same two-line rhythm. */
.editorial-mini-card h2,
.editorial-trending__item h3,
.editorial-post-card h3,
.editorial-category-card h3,
.card--text-only .card__title,
.blog-band-item__content h2,
.category-article h2,
.category-feature h2,
.category-trending__item h3,
.search-result__title,
.search-trending__content h3,
.single-related__item h3,
.platform-card__title,
.promo-card__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.editorial-post-card:not(.editorial-post-card--large) h3,
.editorial-category-card h3,
.card--text-only .card__title {
	min-height: 2.32em;
}

.platform-card__title,
.promo-card__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

@media (min-width: 960px) {
	.hero--media .hero__inner {
		grid-template-columns: 1.1fr 1fr;
		gap: 3rem;
	}
}

.home-section {
	padding-block: var(--ap-space) 0;
}

.home-modules > .home-section:last-child {
	padding-bottom: var(--ap-space);
}

.home-section--how,
.home-section--faq {
	margin-top: var(--ap-space);
	padding-bottom: var(--ap-space);
	background: var(--ap-surface);
}

.home-section--how + .home-section,
.home-section--faq + .home-section {
	padding-top: var(--ap-space);
}

.home-modules > .home-section--how:first-child,
.home-modules > .home-section--faq:first-child {
	margin-top: 0;
}

.home-modules > .hero + .home-section--how,
.home-modules > .hero + .home-section--faq {
	margin-top: 0;
}

/* Steps */
.steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	counter-reset: step;
}

.steps__item {
	position: relative;
	padding: 1.25rem;
	background: var(--ap-bg);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
	counter-increment: step;
}

.steps__item::before {
	content: counter(step);
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	margin-bottom: 0.875rem;
	border-radius: 50%;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-weight: 800;
}

.steps__title {
	margin-bottom: 0.375rem;
	font-size: 1.125rem;
}

.steps__text {
	margin: 0;
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

/* Topics */
.topic-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 0.75rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.topic-card {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-height: 44px;
	padding: 1rem 1.125rem;
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius);
	color: var(--ap-text);
	text-decoration: none;
}

.topic-card:hover {
	border-color: var(--ap-primary);
}

.topic-card__name {
	font-weight: 700;
}

.topic-card__count {
	color: var(--ap-muted);
	font-size: 0.875rem;
}

/* FAQ */
.faq-list {
	margin-top: 1.25rem;
	border-top: 1px solid var(--ap-border);
}

.faq-item {
	border-bottom: 1px solid var(--ap-border);
}

.faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 44px;
	padding: 1rem 0.25rem;
	font-family: var(--ap-font-display);
	font-size: 1.0625rem;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.faq-item__question::-webkit-details-marker {
	display: none;
}

.faq-item__question .icon {
	flex-shrink: 0;
	transition: transform 0.15s ease;
}

.faq-item[open] .faq-item__question .icon {
	transform: rotate(180deg);
}

.faq-item__answer {
	padding: 0 0.25rem 1rem;
}

.faq-item__answer > :last-child {
	margin-bottom: 0;
}

.faq-group + .faq-group {
	margin-top: 2.5rem;
}

/* ---------- Editorial blog index ---------- */
.blog-band-page {
	padding-block: clamp(2.5rem, 5vw, 4rem) var(--ap-space);
}

.blog-band-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.blog-band-list {
	min-width: 0;
}

.blog-band-item {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: center;
	padding: 0 0 1.75rem;
	border-bottom: 1px solid var(--ap-border);
}

.blog-band-item.has-thumbnail {
	grid-template-columns: 58px minmax(220px, 280px) minmax(0, 1fr);
}

.blog-band-item + .blog-band-item {
	padding-top: 1.75rem;
}

.blog-band-item__date {
	align-self: start;
	padding-top: 0.65rem;
	color: var(--ap-muted);
	font-size: 0.625rem;
	line-height: 1.25;
	text-align: left;
	text-transform: uppercase;
}

.blog-band-item__date::before {
	content: "";
	display: block;
	width: 38px;
	margin-bottom: 0.55rem;
	border-top: 2px solid var(--ap-text);
}

.blog-band-item__day {
	display: block;
	color: var(--ap-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.75rem;
	line-height: 1;
}

.blog-band-item__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: var(--ap-surface);
}

.blog-band-item__media img,
.blog-band-item__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-band-item__media img {
	transition: transform 0.35s ease;
}

.blog-band-item__media:hover img {
	transform: scale(1.025);
}

.blog-band-item__media .media-placeholder {
	background:
		radial-gradient(circle at 72% 24%, rgb(255 255 255 / 42%) 0 10%, transparent 11%),
		linear-gradient(135deg, #d9e3f6 0%, #b8c8e8 48%, #879fc9 100%);
	opacity: 1;
}

.blog-band-item__media .media-placeholder span {
	display: none;
}

.blog-band-item__content .category-label {
	margin-bottom: 0.55rem;
	color: var(--ap-muted);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0.12em;
}

.blog-band-item__content h2 {
	margin-bottom: 0.65rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	line-height: 1.12;
}

.blog-band-item__content h2 a {
	color: var(--ap-text);
	text-decoration: none;
}

.blog-band-item__content h2 a:hover {
	color: var(--ap-accent);
}

.blog-band-item__content p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	margin-bottom: 0.5rem;
	color: var(--ap-muted);
	font-size: 0.875rem;
	line-height: 1.55;
}

.blog-band-item__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 38px;
	padding: 0.45rem 0.9rem;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.blog-band-page .search-sidebar {
	align-self: stretch;
}

.blog-band-page .pagination .page-numbers {
	border-radius: 0;
}

@media (max-width: 1023px) {
	.blog-band-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.blog-band-page .search-sidebar {
		margin-top: 1rem;
	}
}

@media (max-width: 699px) {
	.blog-band-page {
		padding-block: 2rem 3rem;
	}

	.blog-band-layout {
		gap: 2.5rem;
	}

	.blog-band-item,
	.blog-band-item.has-thumbnail {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.9rem;
		align-items: start;
		padding-bottom: 2rem;
	}

	.blog-band-item + .blog-band-item {
		padding-top: 2rem;
	}

	.blog-band-item__date {
		display: flex;
		grid-row: auto;
		align-items: center;
		gap: 0.45rem;
		padding-top: 0;
	}

	.blog-band-item__media,
	.blog-band-item__content {
		grid-column: 1;
	}

	.blog-band-item__media {
		aspect-ratio: 16 / 10;
	}

	.blog-band-item__date::before {
		width: 30px;
		margin: 0 0.15rem 0 0;
	}

	.blog-band-item__day {
		display: inline;
		font-size: 1.15rem;
	}

	.blog-band-item__content h2 {
		font-size: clamp(1.4rem, 7vw, 1.75rem);
		line-height: 1.14;
		overflow-wrap: anywhere;
	}

	.blog-band-item__content p {
		-webkit-line-clamp: 4;
		font-size: 0.9375rem;
	}
}

@media (max-width: 479px) {
	.blog-band-item__more {
		width: 100%;
		min-height: 44px;
	}
}

/* ---------- Archives ---------- */
.category-page {
	max-width: calc(1180px + var(--ap-gutter) * 2);
	padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(4rem, 8vw, 7rem);
}

.category-page__header {
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.category-page__header h1 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.025em;
}

.category-page__description {
	max-width: 65ch;
	margin-top: 0.75rem;
	color: var(--ap-muted);
}

.category-page__description > :last-child {
	margin-bottom: 0;
}

.category-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 285px;
	gap: clamp(3rem, 6vw, 6.5rem);
}

.category-list {
	min-width: 0;
}

.category-article {
	padding-bottom: clamp(3.5rem, 7vw, 5.75rem);
}

.category-article__media {
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1.55 / 1;
	margin-bottom: 1.35rem;
	background: var(--ap-surface);
}

.category-article__media img,
.category-article__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-article__media img {
	transition: transform 0.4s ease;
}

.category-article__media:hover img {
	transform: scale(1.025);
}

.category-article__media .media-placeholder,
.category-feature__media .media-placeholder,
.category-trending__media .media-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eee3df, #d7cbc5);
	color: rgb(17 18 22 / 18%);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4rem, 12vw, 8rem);
	font-weight: 700;
}

.category-article:nth-of-type(3n + 2) .media-placeholder {
	background: linear-gradient(135deg, #d9e2e2, #aebfc1);
}

.category-article:nth-of-type(3n + 3) .media-placeholder {
	background: linear-gradient(135deg, #d8c4ad, #88715f);
}

.category-article .category-label {
	margin-bottom: 0.55rem;
	padding: 0.16rem 0.55rem;
	border-radius: 999px;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-size: 0.625rem;
}

.category-article h2 {
	max-width: 26ch;
	margin-bottom: 0.75rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.category-article h2 a {
	color: var(--ap-text);
	text-decoration: none;
}

.category-article h2 a:hover {
	color: var(--ap-accent);
}

.category-article__excerpt {
	max-width: 68ch;
	margin-bottom: 0.75rem;
	color: var(--ap-muted);
	font-size: 0.9375rem;
	line-height: 1.65;
}

.category-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1rem;
	margin-bottom: 1.25rem;
	color: var(--ap-muted);
	font-size: 0.6875rem;
	text-transform: uppercase;
}

.category-article__meta .entry-meta {
	font-size: inherit;
}

.category-article__meta a {
	color: inherit;
	text-decoration: none;
}

.category-article__more {
	min-height: 38px;
	padding: 0.45rem 1.2rem;
	border-radius: 999px;
	font-size: 0.6875rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.category-sidebar {
	min-width: 0;
}

.category-feature {
	margin-bottom: 4rem;
	padding: 1.75rem;
	border: 1px solid var(--ap-border);
}

.category-feature__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	color: #fff;
	text-decoration: none;
}

.category-feature__media img,
.category-feature__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-feature__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgb(17 18 22 / 18%);
	text-align: center;
}

.category-feature__overlay strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.65rem;
	letter-spacing: -0.03em;
}

.category-feature__overlay small {
	margin-top: 0.65rem;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: var(--ap-accent);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.category-trending {
	padding-top: 1.5rem;
	border-top: 1px solid var(--ap-border);
}

.category-trending > h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
	text-align: center;
	text-transform: uppercase;
}

.category-trending__rule {
	display: block;
	width: 26px;
	margin: 0.75rem auto 1.75rem;
	border-top: 3px solid var(--ap-accent);
}

.category-trending__list {
	display: grid;
	gap: 1.15rem;
}

.category-trending__item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 0.9rem;
	align-items: center;
}

.category-trending__media {
	display: block;
	overflow: hidden;
	width: 76px;
	height: 64px;
	background: var(--ap-surface);
}

.category-trending__media img,
.category-trending__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-size: 1.75rem;
}

.category-trending__item h3 {
	margin: 0 0 0.25rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.875rem;
	line-height: 1.25;
}

.category-trending__item h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.category-trending__item h3 a:hover {
	color: var(--ap-accent);
}

.category-trending__item time {
	color: var(--ap-muted);
	font-size: 0.625rem;
	text-transform: uppercase;
}

.category-page .pagination {
	margin-top: 0;
}

.category-page .pagination .page-numbers {
	border-radius: 0;
}

@media (min-width: 1024px) {
	.category-sidebar {
		align-self: start;
		position: sticky;
		top: 2rem;
	}

	.ap-sticky-header .category-sidebar {
		top: calc(var(--ap-header-h) + 2rem);
	}
}

@media (max-width: 1023px) {
	.category-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.category-sidebar {
		display: grid;
		grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
		gap: 2rem;
		padding-top: 2rem;
		border-top: 1px solid var(--ap-border);
	}

	.category-feature {
		margin: 0;
	}
}

@media (max-width: 699px) {
	.category-page {
		padding-block: 2rem 4rem;
	}

	.category-layout {
		gap: 3rem;
	}

	.category-article {
		padding-bottom: 3.5rem;
	}

	.category-article__media {
		aspect-ratio: 4 / 3;
	}

	.category-article h2 {
		max-width: none;
		font-size: clamp(1.65rem, 8vw, 2.15rem);
	}

	.category-article__more {
		min-height: 44px;
	}

	.category-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.category-feature {
		max-width: 360px;
	}
}

.archive-header {
	margin-bottom: 2rem;
}

.archive-author-heading {
	position: relative;
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid var(--ap-border);
	background: var(--ap-surface);
}

.archive-author-heading::before {
	content: "";
	position: absolute;
	top: -1px;
	left: clamp(2rem, 5vw, 4rem);
	width: 56px;
	border-top: 3px solid var(--ap-accent);
}

.archive-author-heading__eyebrow {
	display: block;
	margin-bottom: 1.25rem;
	color: var(--ap-accent);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.archive-author-heading > p:not(.archive-author-heading__bio) {
	margin: 0 0 0.25rem;
	color: var(--ap-muted);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.archive-author-heading .archive-title {
	max-width: 18ch;
	margin: 0;
	font-family: var(--ap-font-display);
	font-size: clamp(2.5rem, 7vw, 5.5rem);
	line-height: 0.98;
	letter-spacing: -0.045em;
	overflow-wrap: anywhere;
}

.archive-author-heading__bio {
	max-width: 62ch;
	margin: 1.25rem 0 0;
	color: var(--ap-muted);
}

.archive-author-heading__count {
	display: inline-block;
	margin-top: 1.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--ap-border);
	color: var(--ap-muted);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.archive-title {
	margin-bottom: 0.25rem;
}

.archive-title__prefix {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ap-primary);
}

.archive-description,
.archive-count,
.archive-page {
	max-width: 65ch;
	color: var(--ap-muted);
}

.archive-description > :last-child {
	margin-bottom: 0;
}

.archive-header .search-form {
	margin-top: 1rem;
}

.pagination {
	margin-top: 2.5rem;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	align-items: center;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius);
	color: var(--ap-text);
	font-weight: 600;
	text-decoration: none;
}

.pagination a.page-numbers:hover {
	border-color: var(--ap-primary);
	color: var(--ap-primary);
}

.pagination .page-numbers.current {
	background: var(--ap-accent);
	border-color: var(--ap-accent);
	color: var(--ap-accent-text);
}

.pagination .page-numbers.dots {
	border: 0;
}

.empty-state {
	max-width: var(--ap-narrow);
	padding-block: 1rem 2rem;
}

.empty-state .search-form {
	margin-block: 1.5rem;
}

/* ---------- Search results ---------- */
.search-page {
	max-width: calc(1290px + var(--ap-gutter) * 2);
	min-height: 470px;
	padding-block: clamp(4rem, 6vw, 5.75rem) clamp(5rem, 8vw, 7rem);
}

.search-page__header,
.search-page__empty {
	width: 100%;
}

.search-page h1 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 4vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.025em;
}

.search-page__empty h2 {
	margin: 2rem 0 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.55rem, 2.5vw, 2rem);
	font-weight: 700;
	line-height: 1.3;
}

.search-page__empty p,
.search-page__summary {
	margin: 1.15rem 0 0;
	color: var(--ap-muted);
	font-size: 1rem;
}

.search-page__empty p a {
	color: var(--ap-accent);
	text-decoration: none;
}

.search-page .search-form {
	position: relative;
	display: block;
	width: 100%;
	max-width: none;
	margin-top: 2.25rem;
}

.search-page .search-form__input {
	width: 100%;
	height: 70px;
	padding: 0 4.5rem 0 0;
	border: 0;
	border-bottom: 1px solid var(--ap-border);
	border-radius: 0;
	background: transparent;
	color: var(--ap-text);
	font-size: 1.25rem;
	box-shadow: none;
}

.search-page .search-form__submit {
	position: absolute;
	top: 11px;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ap-text);
}

.search-page .search-form__submit .icon {
	width: 32px;
	height: 32px;
}

.search-page .search-form__submit-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.search-page__results {
	margin-top: 3rem;
}

.search-page--results {
	max-width: calc(var(--ap-container) + var(--ap-gutter) * 2);
	padding-top: clamp(3rem, 5vw, 4.5rem);
}

.search-results-list {
	min-width: 0;
}

body:not(.has-sidebar) .search-results-list {
	max-width: 850px;
}

.search-result {
	padding-bottom: clamp(2.75rem, 5vw, 4rem);
	border-bottom: 1px solid var(--ap-border);
}

.search-result + .search-result {
	padding-top: clamp(2.75rem, 5vw, 4rem);
}

.search-result__media {
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1.56 / 1;
	margin-bottom: 1.4rem;
	background: var(--ap-surface);
}

.search-result__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.search-result__media:hover img {
	transform: scale(1.02);
}

.search-result .category-label {
	margin-bottom: 1.1rem;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-size: 0.6875rem;
	line-height: 1.35;
}

.search-result__title {
	max-width: 22ch;
	margin-bottom: 1rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.search-result__title a {
	color: var(--ap-text);
	text-decoration: none;
}

.search-result__title a:hover {
	color: var(--ap-primary);
}

.search-result__excerpt {
	max-width: 68ch;
	margin-bottom: 1rem;
	color: var(--ap-muted);
	font-size: 1rem;
}

.search-result__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-bottom: 1.35rem;
}

.search-result__meta .entry-meta {
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.search-result__comments {
	color: var(--ap-muted);
	font-size: 0.75rem;
	text-decoration: none;
}

.search-result__comments::before {
	content: "◯";
	margin-right: 0.25rem;
}

.search-result__more {
	padding-inline: 1.5rem;
}

.search-results-layout .widget-area .widget {
	border-radius: 0;
	background: transparent;
}

.search-sidebar {
	min-width: 0;
}

.search-trending {
	padding-top: 2.25rem;
	border-top: 1px solid var(--ap-border);
}

.search-trending__title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.05rem;
	text-align: center;
	text-transform: uppercase;
}

.search-trending__mark {
	display: block;
	margin: 0.2rem 0 1.25rem;
	color: var(--ap-accent);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-align: center;
}

.search-trending__list {
	display: grid;
	gap: 0.9rem;
}

.search-trending__item {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
}

.search-trending__media {
	display: block;
	width: 78px;
	height: 78px;
	overflow: hidden;
	background: var(--ap-surface);
	text-decoration: none;
}

.search-trending__media img,
.search-trending__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.search-trending__media .media-placeholder {
	position: relative;
	font-size: 1.5rem;
	background:
		radial-gradient(circle at 72% 24%, rgb(255 255 255 / 42%) 0 10%, transparent 11%),
		linear-gradient(135deg, #d9e3f6 0%, #b8c8e8 48%, #879fc9 100%);
	opacity: 1;
}

.search-trending__media .media-placeholder::before,
.search-trending__media .media-placeholder::after {
	content: "";
	position: absolute;
	border: 1px solid rgb(255 255 255 / 55%);
	transform: rotate(35deg);
}

.search-trending__media .media-placeholder::before {
	width: 48px;
	height: 48px;
	right: -18px;
	bottom: -16px;
}

.search-trending__media .media-placeholder::after {
	width: 26px;
	height: 26px;
	left: -9px;
	top: -8px;
}

.search-trending__media .media-placeholder span {
	display: none;
}

.search-trending__item:nth-child(2) .media-placeholder {
	background:
		radial-gradient(circle at 28% 75%, rgb(255 255 255 / 38%) 0 12%, transparent 13%),
		linear-gradient(135deg, #d8eadf 0%, #a9ceb9 50%, #73a98d 100%);
}

.search-trending__item:nth-child(3) .media-placeholder {
	background:
		radial-gradient(circle at 76% 28%, rgb(255 255 255 / 36%) 0 11%, transparent 12%),
		linear-gradient(135deg, #f0dfcf 0%, #d8b696 50%, #ad8062 100%);
}

.search-trending__content h3 {
	margin: 0 0 0.25rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1rem;
	line-height: 1.2;
}

.search-trending__content h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.search-trending__content h3 a:hover {
	color: var(--ap-primary);
}

.search-trending__content time {
	color: var(--ap-muted);
	font-size: 0.6875rem;
	text-transform: uppercase;
}

@media (min-width: 1024px) {
	.search-results-layout {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 3rem;
	}

	.search-sidebar {
		align-self: stretch;
	}

	.search-trending {
		position: sticky;
		top: 2rem;
	}

	.admin-bar .search-trending {
		top: 4rem;
	}

	.ap-sticky-header .search-trending {
		top: 14rem;
	}

	.admin-bar.ap-sticky-header .search-trending {
		top: 16rem;
	}
}

@media (max-width: 1023px) {
	.search-sidebar {
		margin-top: 1rem;
	}
}

@media (max-width: 699px) {
	.search-page--results {
		padding-block: 2rem 3.5rem;
	}

	.search-results-layout {
		gap: 2.5rem;
	}

	.search-result {
		padding-bottom: 2.5rem;
	}

	.search-result + .search-result {
		padding-top: 2.5rem;
	}

	.search-result__media {
		aspect-ratio: 4 / 3;
		margin-bottom: 1.15rem;
	}

	.search-result__title {
		max-width: none;
		font-size: clamp(1.7rem, 8vw, 2.15rem);
		line-height: 1.12;
		overflow-wrap: anywhere;
	}

	.search-result__excerpt {
		font-size: 0.9375rem;
		line-height: 1.65;
	}

	.search-result__more {
		width: 100%;
	}

	.search-sidebar {
		margin-top: 0;
	}

	.search-trending {
		padding-top: 1.75rem;
	}
}

@media (max-width: 600px) {
	.search-page {
		min-height: 380px;
		padding-block: 2.5rem 3.5rem;
	}

	.search-page h1 {
		font-size: clamp(2.15rem, 11vw, 2.75rem);
	}

	.search-page__empty h2 {
		margin-top: 1.5rem;
		font-size: clamp(1.4rem, 7vw, 1.75rem);
		overflow-wrap: anywhere;
	}

	.search-page .search-form {
		margin-top: 1.75rem;
	}

	.search-page .search-form__input {
		height: 58px;
		padding-right: 3.75rem;
		font-size: 1rem;
	}

	.search-page .search-form__submit {
		top: 5px;
		width: 48px;
		height: 48px;
	}

	.search-page .search-form__submit .icon {
		width: 24px;
		height: 24px;
	}
}

/* ---------- Single ---------- */
.entry {
	max-width: var(--ap-narrow);
}

.has-sidebar .entry {
	max-width: none;
}

.entry--wide {
	max-width: none;
}

.layout > .entry {
	margin-inline: auto;
	width: 100%;
}

.has-sidebar .layout > .entry {
	margin-inline: 0;
}

.entry-header {
	margin-bottom: 1.75rem;
}

.entry-title {
	margin-bottom: 0.75rem;
}

.entry-lead {
	font-size: 1.1875rem;
	color: var(--ap-muted);
}

.entry-media {
	margin: 0 0 2rem;
}

.entry-media img {
	width: 100%;
	border-radius: calc(var(--ap-radius) * 1.5);
}

.entry-media figcaption,
.entry-content figcaption {
	margin-top: 0.5rem;
	color: var(--ap-muted);
	font-size: 0.875rem;
}

.entry-content > * {
	max-width: 100%;
}

.entry-content h2 {
	margin-top: 2.25rem;
}

.entry-content h3 {
	margin-top: 1.75rem;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.5rem;
}

.entry-content li + li {
	margin-top: 0.375rem;
}

.entry-content img {
	height: auto;
	border-radius: var(--ap-radius);
}

.entry-content blockquote {
	margin-inline: 0;
	padding: 0.25rem 0 0.25rem 1.25rem;
	border-left: 4px solid var(--ap-accent);
	font-size: 1.125rem;
}

.entry-content .alignwide {
	width: min(100vw - var(--ap-gutter) * 2, 1100px);
	max-width: none;
	margin-inline: calc(50% - min(50vw - var(--ap-gutter), 550px));
}

.entry-content .alignleft {
	float: left;
	margin: 0.25rem 1.5rem 1rem 0;
}

.entry-content .alignright {
	float: right;
	margin: 0.25rem 0 1rem 1.5rem;
}

.entry-content .aligncenter {
	margin-inline: auto;
}

.entry-content code,
.entry-content pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
	background: var(--ap-surface);
	border-radius: 4px;
}

.entry-content code {
	padding: 0.1em 0.35em;
}

.entry-content pre {
	padding: 1rem;
	overflow-x: auto;
}

.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

.table-scroll,
.wp-block-table {
	overflow-x: auto;
	margin-bottom: 1.5em;
	-webkit-overflow-scrolling: touch;
}

.table-scroll:focus-visible {
	border-radius: var(--ap-radius);
}

.entry-content table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.entry-content th,
.entry-content td {
	padding: 0.625rem 0.75rem;
	border: 1px solid var(--ap-border);
	text-align: left;
	vertical-align: top;
}

.entry-content thead th,
.entry-content tr:first-child th {
	background: var(--ap-surface);
	font-weight: 700;
}

@media (max-width: 699px) {
	.entry-content table {
		min-width: 560px;
	}
}

.entry-footer {
	margin-top: 2rem;
}

.author-box {
	display: flex;
	gap: 1rem;
	margin-top: 2.5rem;
	padding: 1.25rem;
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
}

.author-box__avatar {
	flex-shrink: 0;
	border-radius: 50%;
}

.author-box__name {
	margin-bottom: 0.25rem;
	font-weight: 700;
}

.author-box__name a {
	color: var(--ap-text);
}

.author-box__bio {
	margin: 0;
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

.post-navigation {
	margin-top: 2.5rem;
}

.post-navigation .nav-links {
	display: grid;
	gap: 1rem;
}

@media (min-width: 640px) {
	.post-navigation .nav-links {
		grid-template-columns: 1fr 1fr;
	}

	.post-navigation .nav-next {
		grid-column: 2;
		text-align: right;
	}
}

.post-navigation a {
	display: block;
	height: 100%;
	padding: 1rem 1.25rem;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius);
	text-decoration: none;
	color: var(--ap-text);
}

.post-navigation a:hover {
	border-color: var(--ap-primary);
}

.post-nav__label {
	display: block;
	color: var(--ap-muted);
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.post-nav__title {
	display: block;
	font-weight: 700;
}

.related-posts {
	margin-top: 3rem;
}

/* Editorial single post. */
.single-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 360px;
	overflow: hidden;
	background: var(--ap-surface);
}

.single-hero--image {
	height: clamp(430px, 58vw, 650px);
	background: #111318;
	color: #fff;
}

.single-hero--image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0 / 72%) 0%, rgb(0 0 0 / 20%) 48%, rgb(0 0 0 / 5%) 100%);
}

.single-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-hero__content {
	position: relative;
	z-index: 1;
	padding-block: clamp(3rem, 7vw, 5.5rem);
}

.single-hero:not(.single-hero--image) .single-hero__content {
	padding-top: clamp(4rem, 7vw, 6rem);
}

.single-hero .category-label {
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-size: 0.6875rem;
}

.single-hero__title {
	max-width: 20ch;
	margin: 0.65rem 0 1rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.35rem, 5vw, 4.6rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.single-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	font-size: 0.75rem;
	text-transform: uppercase;
}

.single-hero__meta .entry-meta {
	color: inherit;
	font-size: inherit;
}

.single-hero__meta a {
	color: inherit;
	text-decoration: none;
}

.single-article-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.single-article-main {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.single-article-main .entry-content {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.0625rem;
	line-height: 1.8;
}

.single-article-main .entry-content > p:first-child::first-letter {
	float: left;
	margin: 0.08em 0.12em 0 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 4.4em;
	font-weight: 700;
	line-height: 0.78;
}

.single-share-rail h2,
.single-related > h2 {
	margin-bottom: 1rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.05rem;
}

.single-share-links {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.4rem;
}

.single-share-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	border: 1px solid var(--ap-border);
	border-radius: 50%;
	color: var(--ap-text);
}

.single-share-links a:hover {
	border-color: var(--ap-primary);
	color: var(--ap-primary);
}

.single-related__list {
	display: grid;
	gap: 1.5rem;
}

.single-related__item {
	display: grid;
	gap: 0.75rem;
}

.single-related__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.single-related__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-related__item .category-label {
	margin: 0;
	font-size: 0.625rem;
}

.single-related__item h3 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1rem;
	line-height: 1.2;
}

.single-related__item h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.single-related__item time {
	color: var(--ap-muted);
	font-size: 0.6875rem;
	text-transform: uppercase;
}

.single-entry-footer {
	padding-top: 1.5rem;
	border-top: 1px solid var(--ap-border);
}

.single-entry-footer .chip-list {
	gap: 0.5rem;
}

.single-entry-footer .chip {
	justify-content: center;
	min-width: 104px;
	min-height: 38px;
	padding: 0.35rem 1rem;
	border: 1px solid var(--ap-border);
	border-radius: 0;
	background: transparent;
	color: var(--ap-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-entry-footer .chip:hover {
	border-color: var(--ap-accent);
	color: var(--ap-accent);
}

.single-article-main .author-box {
	border-radius: 0;
}

.single-editors {
	padding-block: clamp(3.5rem, 7vw, 5.5rem);
	background: var(--ap-surface);
}

.single-editors__head {
	margin-bottom: 2rem;
	text-align: center;
}

.single-editors__head h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.single-editors__head p {
	margin: 0.1rem 0 0;
	color: var(--ap-muted);
	font-size: 0.875rem;
	text-transform: uppercase;
}

.single-editors__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
}

.single-editors__grid .card {
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.single-editors__grid .card__media {
	aspect-ratio: 1.43 / 1;
}

.single-editors__grid .media-placeholder {
	background:
		radial-gradient(circle at 72% 24%, rgb(255 255 255 / 42%) 0 10%, transparent 11%),
		linear-gradient(135deg, #d9e3f6 0%, #b8c8e8 48%, #879fc9 100%);
	opacity: 1;
}

.single-editors__grid .media-placeholder span {
	display: none;
}

.single-editors__grid .card:nth-child(2) .media-placeholder {
	background: linear-gradient(135deg, #e5e5e5, #969ba3);
}

.single-editors__grid .card:nth-child(3) .media-placeholder {
	background: linear-gradient(145deg, #9e866e, #384c61);
}

.single-editors__grid .card:nth-child(4) .media-placeholder {
	background: linear-gradient(135deg, #223d57, #081a2b);
}

.single-editors__grid .card__body {
	padding: 1rem 0 0;
}

.single-editors__grid .category-label {
	margin-bottom: 0.55rem;
	color: var(--ap-muted);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.14em;
}

.single-editors__grid .card__title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.1rem, 1.7vw, 1.35rem);
	line-height: 1.15;
}

.single-editors__grid .card__excerpt {
	display: none;
}

.single-editors__grid .entry-meta {
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--ap-border);
	font-size: 0.6875rem;
	text-transform: uppercase;
}

.single-editors__grid .entry-meta__author {
	display: none;
}

.single-editors__grid .card:nth-child(3) {
	position: relative;
	overflow: hidden;
	background: #111318;
}

.single-editors__grid .card:nth-child(3) .card__media {
	aspect-ratio: 0.86 / 1;
	height: 100%;
}

.single-editors__grid .card:nth-child(3) .card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0 / 72%), transparent 68%);
}

.single-editors__grid .card:nth-child(3) .card__body {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	align-items: center;
	padding: 1.5rem;
	color: #fff;
	text-align: center;
}

.single-editors__grid .card:nth-child(3) .category-label {
	padding: 0.18rem 0.55rem;
	border: 1px solid rgb(255 255 255 / 55%);
	border-radius: 999px;
	color: #fff;
}

.single-editors__grid .card:nth-child(3) .card__title a,
.single-editors__grid .card:nth-child(3) .entry-meta {
	color: #fff;
}

.single-editors__grid .card:nth-child(3) .entry-meta {
	justify-content: center;
	padding: 0;
	border: 0;
}

.single-editors__more {
	margin-top: 2.75rem;
	text-align: center;
}

.single-editors__more .button {
	min-width: 190px;
}

@media (min-width: 1024px) {
	.single-article-grid {
		grid-template-columns: 170px minmax(0, 1fr) 285px;
		gap: clamp(2rem, 4vw, 4rem);
		max-width: calc(1160px + var(--ap-gutter) * 2);
	}

	.single-share-rail,
	.single-related {
		align-self: start;
		position: sticky;
		top: 2rem;
	}

	.ap-sticky-header .single-share-rail,
	.ap-sticky-header .single-related {
		top: 14rem;
	}

	.single-related__item.has-image:nth-child(n + 3) {
		grid-template-columns: 82px minmax(0, 1fr);
		align-items: center;
	}

	.single-related__item.has-image:nth-child(n + 3) .single-related__image {
		width: 82px;
		height: 68px;
		aspect-ratio: auto;
	}
}

@media (max-width: 1023px) and (min-width: 700px) {
	.single-article-grid {
		grid-template-columns: minmax(0, 1fr) 260px;
	}

	.single-share-rail {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	.single-editors__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 699px) {
	.single-hero {
		min-height: 0;
	}

	.single-hero--image {
		height: clamp(420px, 72svh, 600px);
		min-height: 0;
	}

	.single-hero__content,
	.single-hero:not(.single-hero--image) .single-hero__content {
		padding-block: 2.5rem;
	}

	.single-hero__title {
		max-width: none;
		font-size: clamp(2rem, 10vw, 2.8rem);
		line-height: 1.04;
		overflow-wrap: anywhere;
	}

	.single-hero__meta {
		gap: 0.35rem 0.75rem;
		font-size: 0.6875rem;
	}

	.single-article-grid {
		gap: 2.25rem;
		padding-block: 2.5rem 3.25rem;
	}

	.single-article-main .entry-content {
		font-size: 1rem;
		line-height: 1.72;
	}

	.single-article-main .entry-content h2 {
		font-size: clamp(1.55rem, 7vw, 1.9rem);
	}

	.single-article-main .entry-content h3 {
		font-size: clamp(1.25rem, 6vw, 1.5rem);
	}

	.single-article-main .entry-content h2,
	.single-article-main .entry-content h3,
	.single-article-main .entry-content a {
		overflow-wrap: anywhere;
	}

	.single-article-main .entry-content > p:first-child::first-letter {
		font-size: 3.75em;
	}

	.entry-content .alignleft,
	.entry-content .alignright {
		float: none;
		margin: 1.25rem auto;
	}

	.single-share-rail h2,
	.single-related > h2 {
		margin-bottom: 0.75rem;
	}

	.single-share-rail {
		order: 2;
		padding-top: 1.5rem;
		border-top: 1px solid var(--ap-border);
	}

	.single-share-links {
		gap: 0.6rem;
	}

	.single-share-links a {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
	}

	.single-related {
		order: 3;
		padding-top: 1.5rem;
		border-top: 1px solid var(--ap-border);
	}

	.single-related__list {
		gap: 1rem;
	}

	.single-related__item.has-image {
		grid-template-columns: 104px minmax(0, 1fr);
		align-items: center;
	}

	.single-related__item.has-image .single-related__image {
		width: 104px;
		height: 82px;
		aspect-ratio: auto;
	}

	.single-related__item h3 {
		overflow-wrap: anywhere;
	}

	.single-entry-footer .chip {
		min-width: 0;
	}

	.author-box {
		align-items: flex-start;
		padding: 1rem;
	}

	.single-editors {
		padding-block: 3rem;
	}

	.single-editors__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.single-editors__grid .card:nth-child(3) .card__media {
		min-height: 360px;
		aspect-ratio: 4 / 5;
	}
}

@media (max-width: 380px) {
	.single-related__item.has-image {
		grid-template-columns: 88px minmax(0, 1fr);
	}

	.single-related__item.has-image .single-related__image {
		width: 88px;
		height: 72px;
	}

	.author-box {
		flex-direction: column;
	}
}

.page-links {
	margin-top: 1.5rem;
	font-weight: 600;
}

/* ---------- Comments ---------- */
.comments-area {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--ap-border);
}

.comments-collapsible {
	padding-top: 0;
	border-top: 0;
}

.comments-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	min-height: 57px;
	padding: 0.75rem 1.5rem;
	box-shadow: none;
	border: 2px solid var(--ap-border);
	border-radius: 0;
	background: transparent;
	color: var(--ap-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.8125rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.comments-toggle.button--primary:hover,
.comments-toggle.button--primary[aria-expanded="true"] {
	border-color: var(--ap-accent);
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	filter: none;
	box-shadow: 0 8px 18px rgb(0 0 0 / 10%);
}

.comments-toggle .icon {
	transition: transform 0.35s ease;
}

.comments-toggle[aria-expanded="true"] .icon {
	transform: rotate(180deg);
}

.comments-toggle__open {
	display: none;
}

.comments-toggle[aria-expanded="true"] .comments-toggle__closed {
	display: none;
}

.comments-toggle[aria-expanded="true"] .comments-toggle__open {
	display: inline;
}

.comments-panel {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.45s ease, opacity 0.3s ease;
}

.comments-panel[aria-hidden="false"] {
	grid-template-rows: 1fr;
	opacity: 1;
}

.comments-panel__inner {
	min-height: 0;
	overflow: hidden;
}

.comments-panel[aria-hidden="false"] .comments-panel__inner {
	overflow: visible;
}

.comments-panel .comment-reply-title,
.comments-panel > .comments-panel__inner > .section-title:first-child {
	margin: 4.25rem 0 2rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.65rem;
	line-height: 1.2;
}

.comments-panel .comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 1.5rem;
}

.comments-panel .comment-form > p {
	margin: 0;
}

.comments-panel .comment-notes,
.comments-panel .comment-form-comment,
.comments-panel .comment-form-url,
.comments-panel .comment-form-cookies-consent,
.comments-panel .form-submit,
.comments-panel .logged-in-as {
	grid-column: 1 / -1;
}

.comments-panel .comment-form label {
	display: block;
	margin-bottom: 0.65rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
}

.comments-panel .comment-form input:not([type="checkbox"]):not([type="submit"]),
.comments-panel .comment-form textarea {
	border: 1px solid var(--ap-border);
	border-radius: 0;
	background: transparent;
}

.comments-panel .comment-form input:not([type="checkbox"]):not([type="submit"]) {
	height: 57px;
	padding-inline: 1.85rem;
}

.comments-panel .comment-form textarea {
	min-height: 154px;
	padding: 1.25rem 1.85rem;
	resize: vertical;
}

.comments-panel .comment-form input::placeholder,
.comments-panel .comment-form textarea::placeholder {
	color: var(--ap-muted);
	opacity: 1;
}

.comments-panel .comment-form-cookies-consent {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: 0.75rem;
}

.comments-panel .comment-form-cookies-consent input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 0;
}

.comments-panel .comment-form-cookies-consent label {
	margin: 0;
	color: var(--ap-muted);
	font-family: var(--ap-font-body);
	font-size: 0.8125rem;
}

.comments-panel .form-submit .submit {
	display: inline-block;
	min-width: 288px;
	min-height: 57px;
	padding: 0.75rem 1.5rem;
	-webkit-appearance: none;
	appearance: none;
	border-color: transparent !important;
	border-radius: 0 !important;
	background: var(--ap-accent) !important;
	color: var(--ap-accent-text) !important;
	-webkit-text-fill-color: var(--ap-accent-text);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	text-transform: none;
	cursor: pointer;
}

.comments-panel .form-submit .submit:hover {
	background: var(--ap-accent) !important;
	filter: none;
}

@media (max-width: 600px) {
	.comments-panel .comment-form {
		grid-template-columns: 1fr;
	}

	.comments-panel .comment-form > p {
		grid-column: 1;
	}

	.comments-panel .form-submit .submit {
		width: 100%;
		min-width: 0;
	}
}

.comment-list,
.comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list .children {
	margin-left: clamp(1rem, 4vw, 2.5rem);
}

.comment-body {
	margin-bottom: 1.25rem;
	padding: 1rem 1.25rem;
	background: var(--ap-surface);
	border-radius: var(--ap-radius);
}

.comment-meta {
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	color: var(--ap-muted);
}

.comment-author {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	color: var(--ap-text);
}

.comment-author .avatar {
	border-radius: 50%;
}

.comment-author .says {
	display: none;
}

.comment-metadata a {
	color: inherit;
}

.reply a {
	font-size: 0.875rem;
	font-weight: 700;
}

.comment-form p {
	margin-bottom: 1rem;
}

.comment-form-cookies-consent {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.comment-form-cookies-consent label {
	font-weight: 400;
}

/* ---------- Sidebar widgets ---------- */
.widget-area .widget {
	margin-bottom: 2rem;
	padding: 1.25rem;
	background: var(--ap-surface);
	border: 1px solid var(--ap-border);
	border-radius: calc(var(--ap-radius) * 1.5);
}

.widget-title {
	font-size: 1.125rem;
}

.widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget li {
	padding-block: 0.5rem;
	border-bottom: 1px solid var(--ap-border);
}

.widget li:last-child {
	border-bottom: 0;
}

.widget .search-form {
	flex-wrap: wrap;
}

/* ---------- Social ---------- */
.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: inherit;
}

.social-links a:hover {
	background: rgb(127 127 127 / 18%);
}

.social-links--inline {
	margin-top: 1.5rem;
}

/* ---------- Compact editorial landing ---------- */
.landing-page {
	background: var(--ap-bg);
}

.landing-hero {
	display: grid;
	grid-template-columns: minmax(0, 2.45fr) minmax(250px, 0.85fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	max-width: calc(1180px + var(--ap-gutter) * 2);
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.landing-lead__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 1.55 / 1;
	background: var(--ap-surface);
}

.landing-lead__media img,
.landing-lead__media .media-placeholder,
.landing-card__media img,
.landing-card__media .media-placeholder,
.landing-trending__media img,
.landing-trending__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.landing-lead__media img,
.landing-card__media img {
	transition: transform 0.4s ease;
}

.landing-lead__media:hover img,
.landing-card__media:hover img {
	transform: scale(1.025);
}

.landing-lead__media .media-placeholder,
.landing-card__media .media-placeholder,
.landing-trending__media .media-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eee3df, #d2c4be);
	color: rgb(17 18 22 / 16%);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 9vw, 7rem);
	font-weight: 700;
}

.landing-lead__body {
	max-width: 720px;
	margin: -0.6rem auto 0;
	padding: 0 1.5rem;
	text-align: center;
}

.landing-lead__body .category-label {
	position: relative;
	margin-bottom: 0.8rem;
	padding: 0.17rem 0.6rem;
	border-radius: 999px;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-size: 0.625rem;
}

.landing-lead__body h1 {
	margin-bottom: 0.7rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.05;
	letter-spacing: -0.035em;
}

.landing-lead__body h1 a {
	color: var(--ap-text);
	text-decoration: none;
}

.landing-lead__body h1 a:hover {
	color: var(--ap-accent);
}

.landing-lead__body > p {
	display: -webkit-box;
	overflow: hidden;
	max-width: 62ch;
	margin: 0 auto 0.75rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--ap-muted);
	font-size: 0.9375rem;
}

.landing-lead__body .entry-meta {
	justify-content: center;
	font-size: 0.6875rem;
	text-transform: uppercase;
}

.landing-trending {
	align-self: start;
	padding-top: 0.5rem;
}

.landing-trending > h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
	text-align: center;
	text-transform: uppercase;
}

.landing-trending__rule {
	display: block;
	width: 28px;
	margin: 0.75rem auto 1.75rem;
	border-top: 3px solid var(--ap-accent);
}

.landing-trending__list {
	display: grid;
	gap: 1.4rem;
}

.landing-trending__item {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 0.95rem;
	align-items: center;
}

.landing-trending__media {
	display: block;
	overflow: hidden;
	width: 86px;
	height: 76px;
	background: var(--ap-surface);
}

.landing-trending__media .media-placeholder {
	font-size: 1.8rem;
}

.landing-trending .category-label {
	margin-bottom: 0.3rem;
	color: var(--ap-muted);
	font-size: 0.5625rem;
}

.landing-trending__item h3 {
	margin: 0 0 0.25rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
	line-height: 1.2;
}

.landing-trending__item h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.landing-trending__item h3 a:hover {
	color: var(--ap-accent);
}

.landing-trending__item time {
	color: var(--ap-muted);
	font-size: 0.625rem;
	text-transform: uppercase;
}

.landing-topics {
	background: var(--ap-surface);
	border-block: 1px solid var(--ap-border);
}

.landing-topics__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.6rem 1.75rem;
	min-height: 82px;
}

.landing-topics__inner span {
	color: var(--ap-accent);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.landing-topics__inner a {
	color: var(--ap-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
}

.landing-topics__inner a:hover {
	color: var(--ap-accent);
}

.landing-recent {
	max-width: calc(1180px + var(--ap-gutter) * 2);
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.landing-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.landing-section-head h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
}

.landing-section-head > a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--ap-accent);
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.landing-recent__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
}

.landing-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 1.25 / 1;
	background: var(--ap-surface);
}

.landing-card:nth-child(2) .media-placeholder {
	background: linear-gradient(135deg, #dce4e3, #aebdbd);
}

.landing-card:nth-child(3) .media-placeholder {
	background: linear-gradient(135deg, #dbc8b5, #9d806b);
}

.landing-card:nth-child(4) .media-placeholder {
	background: linear-gradient(135deg, #cbd2dc, #778596);
}

.landing-card__body {
	padding-top: 1rem;
}

.landing-card .category-label {
	margin-bottom: 0.5rem;
	color: var(--ap-muted);
	font-size: 0.625rem;
}

.landing-card h3 {
	margin-bottom: 0.7rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.1rem, 1.7vw, 1.35rem);
	line-height: 1.15;
}

.landing-card h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.landing-card h3 a:hover {
	color: var(--ap-accent);
}

.landing-card .entry-meta {
	font-size: 0.625rem;
	text-transform: uppercase;
}

@media (max-width: 1023px) {
	.landing-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	.landing-trending__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.landing-recent__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 699px) {
	.landing-hero {
		gap: 3rem;
		padding-block: 2rem 3.5rem;
	}

	.landing-lead__media {
		aspect-ratio: 4 / 3;
	}

	.landing-lead__body {
		padding-inline: 0.4rem;
	}

	.landing-lead__body h1 {
		font-size: clamp(1.8rem, 9vw, 2.4rem);
	}

	.landing-trending__list,
	.landing-recent__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.landing-topics__inner {
		justify-content: flex-start;
		padding-block: 1rem;
	}

	.landing-section-head {
		align-items: flex-end;
	}

	.landing-section-head > a {
		font-size: 0.6875rem;
	}

	.landing-card {
		display: grid;
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 1rem;
	}

	.landing-card__media {
		aspect-ratio: 1 / 1;
	}

	.landing-card__body {
		padding-top: 0;
	}
}

/* ---------- Magazine landing ---------- */
.editorial-home {
	background: var(--ap-bg);
}

.editorial-ticker {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	max-width: calc(var(--ap-container) + var(--ap-gutter) * 2);
	min-height: 48px;
	border-bottom: 1px solid var(--ap-border);
	font-size: 0.6875rem;
}

.editorial-ticker > strong {
	color: var(--ap-accent);
	font-size: 0.625rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.editorial-ticker__items {
	display: flex;
	min-width: 0;
	flex: 1;
	justify-content: space-between;
	gap: 1.5rem;
}

.editorial-ticker__items.is-marquee {
	display: block;
	overflow: hidden;
	mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent);
}

.editorial-ticker__rail,
.editorial-ticker__track {
	display: flex;
	align-items: center;
	width: max-content;
}

.editorial-ticker__rail {
	will-change: transform;
}

.editorial-ticker__track {
	flex: none;
	gap: clamp(2rem, 6vw, 5rem);
	padding-right: clamp(2rem, 6vw, 5rem);
}

.editorial-ticker__track a {
	max-width: min(36rem, 50vw);
}

.editorial-ticker__items a {
	overflow: hidden;
	color: var(--ap-muted);
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.editorial-ticker__items a:hover {
	color: var(--ap-accent);
}

.editorial-showcase {
	display: grid;
	grid-template-columns: minmax(170px, 0.78fr) minmax(0, 2.15fr) minmax(220px, 0.95fr);
	gap: clamp(1.75rem, 3vw, 3rem);
	align-items: start;
	max-width: calc(1180px + var(--ap-gutter) * 2);
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.editorial-showcase__side {
	display: grid;
	gap: 2.25rem;
}

.editorial-mini-card__media,
.editorial-lead__media,
.editorial-trending__media,
.editorial-post-card__media,
.editorial-pick > a {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: var(--ap-surface);
	box-shadow: 0 4px 14px rgb(15 23 42 / 8%);
}

.editorial-mini-card__media {
	aspect-ratio: 1.2 / 1;
	margin-bottom: 0.8rem;
}

.editorial-mini-card__media img,
.editorial-mini-card__media .media-placeholder,
.editorial-lead__media img,
.editorial-lead__media .media-placeholder,
.editorial-trending__media img,
.editorial-trending__media .media-placeholder,
.editorial-post-card__media img,
.editorial-post-card__media .media-placeholder,
.editorial-pick img,
.editorial-pick .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.editorial-mini-card__media img,
.editorial-lead__media img,
.editorial-post-card__media img {
	transition: transform 0.4s ease;
}

.editorial-mini-card__media:hover img,
.editorial-lead__media:hover img,
.editorial-post-card__media:hover img {
	transform: scale(1.035);
}

.editorial-home .media-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #ebe2de, #cec0ba);
	color: rgb(17 18 22 / 15%);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 7vw, 6rem);
	font-weight: 700;
}

.editorial-mini-card:nth-child(2) .media-placeholder,
.editorial-post-card:nth-child(3) .media-placeholder {
	background: linear-gradient(135deg, #d8e2de, #9fb5ad);
}

.editorial-mini-card .category-label,
.editorial-post-card .category-label {
	margin-bottom: 0.4rem;
	color: var(--ap-muted);
	font-size: 0.5625rem;
}

.editorial-mini-card h2 {
	margin-bottom: 0.35rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
	line-height: 1.2;
}

.editorial-mini-card h2 a,
.editorial-post-card h1 a,
.editorial-post-card h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.editorial-mini-card h2 a:hover,
.editorial-post-card h1 a:hover,
.editorial-post-card h3 a:hover {
	color: var(--ap-accent);
}

.editorial-mini-card time {
	color: var(--ap-muted);
	font-size: 0.5625rem;
	text-transform: uppercase;
}

.editorial-lead {
	min-width: 0;
}

.editorial-lead__media {
	aspect-ratio: 1.14 / 1;
}

.editorial-lead__body {
	position: relative;
	max-width: 600px;
	margin: 0.75rem auto 0;
	padding-inline: 1rem;
	text-align: center;
}

.editorial-lead__body .category-label {
	margin-bottom: 0.7rem;
	padding: 0.16rem 0.55rem;
	border-radius: 999px;
	background: var(--ap-accent);
	color: var(--ap-accent-text);
	font-size: 0.5625rem;
}

.editorial-lead .editorial-lead__title {
	margin-bottom: 0.65rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 3.2vw, 2.75rem);
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.editorial-lead .editorial-lead__title a {
	color: var(--ap-text);
	text-decoration: none;
}

.editorial-lead .editorial-lead__title a:hover {
	color: var(--ap-accent);
}

.editorial-lead__body > p {
	display: -webkit-box;
	overflow: hidden;
	max-width: 55ch;
	margin: 0 auto 0.65rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--ap-muted);
	font-size: 0.8125rem;
}

.editorial-lead .entry-meta {
	justify-content: center;
	font-size: 0.5625rem;
	text-transform: uppercase;
}

.editorial-trending {
	min-width: 0;
}

.editorial-trending > h2,
.editorial-quick-list > h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.8125rem;
	text-align: center;
	text-transform: uppercase;
}

.editorial-heading-rule {
	display: block;
	width: 25px;
	margin: 0.65rem auto 1.35rem;
	border-top: 3px solid var(--ap-accent);
}

.editorial-trending__list {
	display: grid;
	gap: 1.1rem;
}

.editorial-trending__item {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 0.8rem;
	align-items: center;
}

.editorial-trending__media {
	width: 68px;
	height: 60px;
}

.editorial-trending__media .media-placeholder {
	font-size: 1.45rem;
}

.editorial-trending__item span {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--ap-muted);
	font-size: 0.5rem;
	font-weight: 700;
	text-transform: uppercase;
}

.editorial-trending__item h3 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.8125rem;
	line-height: 1.2;
}

.editorial-trending__item h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.editorial-trending__item h3 a:hover {
	color: var(--ap-accent);
}

.editorial-ribbon {
	position: relative;
	overflow: hidden;
	background: var(--ap-surface);
	border-block: 1px solid var(--ap-border);
}

.editorial-ribbon__inner {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	max-width: calc(1040px + var(--ap-gutter) * 2);
	min-height: 116px;
	align-items: center;
}

.elitepress-trending-banner .editorial-ribbon__inner {
	grid-template-columns: repeat(var(--elite-ribbon-columns, 4), minmax(0, 1fr));
}

@media (max-width: 760px) {
	.elitepress-trending-banner .editorial-ribbon__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.elitepress-trending-banner .editorial-ribbon__inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

.editorial-ribbon__word {
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--ap-border);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4rem, 10vw, 7.5rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	transform: translate(-50%, -50%);
	user-select: none;
	opacity: 0.72;
}

.editorial-ribbon__inner a {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	color: var(--ap-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.8125rem;
	text-decoration: none;
}

.editorial-ribbon__inner a:hover {
	color: var(--ap-accent);
}

.editorial-ribbon__inner small {
	margin-top: 0.25rem;
	color: var(--ap-muted);
	font-family: var(--ap-font-body);
	font-size: 0.5625rem;
	text-transform: uppercase;
}

.editorial-recent {
	max-width: calc(1050px + var(--ap-gutter) * 2);
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.editorial-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.editorial-section-head h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.6rem, 2.6vw, 2rem);
}

.editorial-section-head > a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--ap-muted);
	font-size: 0.6875rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.editorial-section-head > a:hover {
	color: var(--ap-accent);
}

.editorial-recent__layout {
	display: block;
}

.editorial-recent__main {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 1.5rem;
}

.editorial-post-card--large {
	grid-column: 1 / -1;
}

.editorial-post-card__media {
	aspect-ratio: 1.28 / 1;
}

.editorial-post-card--large .editorial-post-card__media {
	aspect-ratio: 1.72 / 1;
}

.editorial-post-card__body {
	padding-top: 0.85rem;
	text-align: center;
}

.editorial-post-card h1,
.editorial-post-card h3 {
	margin-bottom: 0.55rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.05rem;
	line-height: 1.17;
}

.editorial-post-card--large h1,
.editorial-post-card--large h3 {
	max-width: 26ch;
	margin-inline: auto;
	font-size: clamp(1.5rem, 2.7vw, 2.15rem);
}

.editorial-post-card .entry-meta {
	justify-content: center;
	font-size: 0.5625rem;
	text-transform: uppercase;
}

.editorial-recent__sidebar {
	min-width: 0;
}

.editorial-pick {
	margin-bottom: 2.5rem;
}

.editorial-pick > a {
	aspect-ratio: 0.9 / 1;
	color: #fff;
}

.editorial-pick__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0 / 78%), rgb(0 0 0 / 3%) 68%);
}

.editorial-pick__content {
	position: absolute;
	right: 1.25rem;
	bottom: 1.35rem;
	left: 1.25rem;
	text-align: center;
}

.editorial-pick__content small {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 0.5625rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.editorial-pick__content strong {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	line-height: 1.15;
}

.editorial-quick-list {
	padding-top: 1.5rem;
	border-top: 1px solid var(--ap-border);
}

.editorial-quick-list > h2 {
	margin-bottom: 1rem;
}

.editorial-quick-list > a {
	display: block;
	padding: 0.8rem 0;
	border-top: 1px solid var(--ap-border);
	color: var(--ap-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.8125rem;
	line-height: 1.3;
	text-decoration: none;
}

.editorial-quick-list > a:hover {
	color: var(--ap-accent);
}

.editorial-curated-band {
	position: relative;
	border-top: 1px solid var(--ap-border);
	background: var(--ap-bg);
}

.editorial-curated-band::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 50%;
	width: 46px;
	border-top: 3px solid var(--ap-accent);
	transform: translateX(-50%);
}

.editorial-curated {
	max-width: calc(1050px + var(--ap-gutter) * 2);
	padding-block: clamp(3.5rem, 7vw, 5.5rem);
}

.editorial-curated__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(3rem, 7vw, 5rem);
}

.editorial-curated__column {
	min-width: 0;
}

.editorial-curated__column > h2 {
	margin: 0 0 1.25rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.5rem, 2.4vw, 1.9rem);
	text-align: left;
	text-transform: none;
}

.editorial-curated .editorial-pick {
	margin: 0;
}

.editorial-curated .editorial-pick > a {
	aspect-ratio: 1.45 / 1;
}

.editorial-curated__column.editorial-quick-list {
	padding: 0 0 0 clamp(2rem, 4vw, 3.5rem);
	border-top: 0;
	border-left: 1px solid var(--ap-border);
	counter-reset: worth-reading;
}

.editorial-curated__column.editorial-quick-list > a {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 0.8rem;
	align-items: baseline;
	padding: 1.05rem 0;
	font-size: 1rem;
}

.editorial-curated__column.editorial-quick-list > a::before {
	counter-increment: worth-reading;
	content: "0" counter(worth-reading);
	color: var(--ap-accent);
	font-family: var(--ap-font-body);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.editorial-category-sections {
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
	border-top: 1px solid var(--ap-border);
}

.editorial-category-block {
	max-width: calc(1050px + var(--ap-gutter) * 2);
	padding-top: clamp(3.5rem, 6vw, 5rem);
}

.editorial-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
}

.editorial-category-card {
	min-width: 0;
}

.editorial-category-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1.2 / 1;
	overflow: hidden;
	border-radius: 6px;
	background: var(--ap-surface);
	box-shadow: 0 4px 14px rgb(15 23 42 / 8%);
}

.editorial-category-card__media img,
.editorial-category-card__media .media-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.editorial-category-card__media img {
	transition: transform 0.4s ease;
}

.editorial-category-card__media:hover img {
	transform: scale(1.035);
}

.editorial-category-card__body {
	padding-top: 0.85rem;
}

.editorial-category-card h3 {
	display: -webkit-box;
	overflow: hidden;
	min-height: 2.4em;
	margin-bottom: 0.4rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1rem;
	line-height: 1.2;
}

.editorial-category-card h3 a {
	color: var(--ap-text);
	text-decoration: none;
}

.editorial-category-card h3 a:hover {
	color: var(--ap-accent);
}

.editorial-category-card time {
	color: var(--ap-muted);
	font-size: 0.5625rem;
	text-transform: uppercase;
}

@media (max-width: 1023px) {
	.editorial-showcase {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 0.7fr);
	}

	.editorial-lead {
		order: -1;
		grid-column: 1 / -1;
	}

	.editorial-showcase__side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.editorial-recent__layout {
		grid-template-columns: minmax(0, 1fr) 240px;
	}
}

@media (max-width: 699px) {
	.editorial-ticker {
		gap: 1rem;
	}

	.editorial-ticker__items.is-marquee {
		mask-image: linear-gradient(to right, #000 88%, transparent);
	}

	.editorial-ticker__track a {
		max-width: 72vw;
	}

	.editorial-showcase {
		grid-template-columns: minmax(0, 1fr);
		gap: 3rem;
		padding-block: 2rem 3rem;
	}

	.editorial-lead,
	.editorial-trending {
		grid-column: 1;
	}

	.editorial-lead__media {
		aspect-ratio: 4 / 3;
	}

	.editorial-showcase__side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.editorial-ribbon__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-block: 1rem;
	}

	.editorial-ribbon__word {
		font-size: 4rem;
	}

	.editorial-section-head {
		align-items: flex-end;
	}

	.editorial-recent__layout,
	.editorial-recent__main {
		grid-template-columns: minmax(0, 1fr);
	}

	.editorial-post-card--large {
		grid-column: 1;
	}

	.editorial-post-card:not(.editorial-post-card--large) {
		display: grid;
		grid-template-columns: 118px minmax(0, 1fr);
		gap: 1rem;
	}

	.editorial-post-card:not(.editorial-post-card--large) .editorial-post-card__media {
		aspect-ratio: 1 / 1;
	}

	.editorial-post-card:not(.editorial-post-card--large) .editorial-post-card__body {
		padding: 0;
		text-align: left;
	}

	.editorial-post-card:not(.editorial-post-card--large) .entry-meta {
		justify-content: flex-start;
	}

	.editorial-pick {
		max-width: 340px;
	}

	.editorial-curated__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.editorial-curated .editorial-pick {
		max-width: none;
	}

	.editorial-curated__column.editorial-quick-list {
		padding: 2.5rem 0 0;
		border-top: 1px solid var(--ap-border);
		border-left: 0;
	}

	.editorial-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.editorial-showcase__side {
		grid-template-columns: minmax(0, 1fr);
	}

	.editorial-category-grid {
		grid-template-columns: minmax(0, 1fr);
	}

}

/* ---------- Text-only magazine landing ---------- */
.editorial-home--text-only .editorial-showcase {
	grid-template-columns: minmax(180px, 0.8fr) minmax(0, 2.2fr) minmax(220px, 0.95fr);
}

.editorial-home--text-only .editorial-showcase__side {
	gap: 0;
	counter-reset: side-stories;
}

.editorial-home--text-only .editorial-mini-card {
	position: relative;
	padding: 1.35rem 0 1.65rem;
	border-top: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-mini-card:first-child {
	padding-top: 0;
	border-top: 0;
}

.editorial-story-number,
.editorial-trending__number {
	display: block;
	margin-bottom: 0.65rem;
	color: var(--ap-accent);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.editorial-card-excerpt {
	color: var(--ap-muted);
	font-family: var(--ap-font-body);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.55;
}

.editorial-card-excerpt:empty {
	display: none;
}

.editorial-read-link {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 0.35rem;
	min-height: 30px;
	padding: 0.45rem 0.65rem;
	border: 1px solid currentColor;
	color: var(--ap-accent);
	font-family: var(--ap-font-body);
	font-size: 0.625rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.editorial-read-link:hover,
a:hover .editorial-read-link {
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

.editorial-read-link svg {
	transition: transform 0.2s ease;
}

.editorial-read-link:hover svg,
a:hover .editorial-read-link svg {
	transform: translateX(3px);
}

.editorial-mini-card .editorial-read-link {
	margin: 0;
}

.editorial-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
}

.editorial-card-footer time {
	flex: 0 0 auto;
	white-space: nowrap;
}

.editorial-mini-card .editorial-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0.55rem 0 0.75rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.editorial-home--text-only .editorial-mini-card h2 {
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	line-height: 1.25;
}

.editorial-home--text-only .editorial-lead {
	display: flex;
	min-height: 460px;
	align-items: center;
	border: 1px solid var(--ap-border);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--ap-surface) 86%, transparent), transparent 70%),
		var(--ap-bg);
}

.editorial-home--text-only .editorial-lead__body {
	max-width: 660px;
	margin: auto;
	padding: clamp(2.25rem, 6vw, 5rem);
}

.editorial-kicker {
	display: block;
	margin-bottom: 1.25rem;
	color: var(--ap-accent);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.editorial-home--text-only .editorial-lead .editorial-lead__title {
	font-size: clamp(2.35rem, 4.6vw, 4.25rem);
	line-height: 0.98;
}

.editorial-home--text-only .editorial-lead__body > p {
	display: block;
	max-width: 48ch;
	margin-top: 1.1rem;
	-webkit-line-clamp: unset;
	font-size: 0.9375rem;
}

.editorial-home--text-only .editorial-lead .editorial-read-link {
	margin: 0.75rem auto 1rem;
}

.editorial-home--text-only .editorial-trending__item {
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-trending__number {
	margin: 0.15rem 0 0;
}

.editorial-home--text-only .editorial-trending__item .editorial-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0.4rem 0 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 0.625rem;
	line-height: 1.4;
}

.editorial-home--text-only .editorial-trending__item .editorial-read-link {
	margin-top: 0.6rem;
	font-size: 0.5625rem;
}

.editorial-home--text-only .editorial-recent__main {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-post-card {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-post-card:nth-child(even) {
	border-left: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-post-card--large {
	padding: clamp(2rem, 5vw, 4rem);
	border-left: 0;
}

.editorial-home--text-only .editorial-post-card__body {
	display: flex;
	height: 100%;
	flex-direction: column;
	padding: 0;
	text-align: left;
}

.editorial-home--text-only .editorial-post-card h1,
.editorial-home--text-only .editorial-post-card h3 {
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
}

.editorial-home--text-only .editorial-post-card .editorial-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	min-height: 3.1em;
	max-width: 52ch;
	margin: 0.75rem 0 1rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 0.8125rem;
	line-height: 1.55;
}

.editorial-home--text-only .editorial-post-card .editorial-read-link {
	margin: auto 0 1rem;
}

.editorial-home--text-only .editorial-post-card--large h1,
.editorial-home--text-only .editorial-post-card--large h3 {
	max-width: 24ch;
	margin-inline: 0;
	font-size: clamp(1.9rem, 4vw, 3.4rem);
	line-height: 1.05;
}

.editorial-home--text-only .editorial-post-card .entry-meta {
	justify-content: flex-start;
}

.editorial-home--text-only .editorial-pick {
	height: 100%;
}

.editorial-home--text-only .editorial-pick > a,
.editorial-home--text-only .editorial-curated .editorial-pick > a {
	display: flex;
	min-height: 280px;
	aspect-ratio: auto;
	align-items: flex-end;
	padding: clamp(1.75rem, 4vw, 3rem);
	border: 1px solid color-mix(in srgb, var(--ap-accent) 35%, var(--ap-border));
	border-radius: 0;
	background: var(--ap-surface);
	box-shadow: none;
	color: var(--ap-text);
	text-decoration: none;
}

.editorial-home--text-only .editorial-pick > a:hover {
	border-color: var(--ap-accent);
}

.editorial-home--text-only .editorial-pick__content {
	position: static;
	text-align: left;
}

.editorial-home--text-only .editorial-pick__content small {
	color: var(--ap-accent);
	font-weight: 800;
	letter-spacing: 0.12em;
}

.editorial-home--text-only .editorial-pick__content strong {
	font-size: clamp(1.65rem, 3.4vw, 2.75rem);
	line-height: 1.05;
}

.editorial-home--text-only .editorial-pick__content .editorial-card-excerpt {
	display: block;
	max-width: 48ch;
	margin-top: 1rem;
	font-size: 0.8125rem;
}

.editorial-home--text-only .editorial-pick__content .editorial-read-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1.5rem;
	font-family: var(--ap-font-body);
	font-size: 0.6875rem;
	font-style: normal;
	font-weight: 800;
	text-transform: uppercase;
}

.editorial-home--text-only .editorial-category-grid {
	gap: 0;
	border-top: 1px solid var(--ap-border);
	border-left: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-category-card {
	min-height: 210px;
	padding: 1.5rem;
	border-right: 1px solid var(--ap-border);
	border-bottom: 1px solid var(--ap-border);
}

.editorial-home--text-only .editorial-category-card__body {
	display: flex;
	height: 100%;
	flex-direction: column;
	padding: 0;
}

.editorial-home--text-only .editorial-category-card h3 {
	display: block;
	min-height: 0;
	-webkit-line-clamp: unset;
	font-size: 1.08rem;
}

.editorial-home--text-only .editorial-category-card .editorial-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0.65rem 0 1rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.editorial-home--text-only .editorial-category-card time {
	margin-top: auto;
}

.editorial-home--text-only .editorial-category-card .editorial-read-link {
	margin-bottom: 1rem;
}

@media (max-width: 1023px) {
	.editorial-home--text-only .editorial-showcase {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.editorial-home--text-only .editorial-lead {
		grid-column: 1 / -1;
	}
}

@media (max-width: 699px) {
	.editorial-home--text-only .editorial-showcase,
	.editorial-home--text-only .editorial-showcase__side,
	.editorial-home--text-only .editorial-recent__main {
		grid-template-columns: minmax(0, 1fr);
	}

	.editorial-home--text-only .editorial-lead {
		min-height: 380px;
	}

	.editorial-home--text-only .editorial-lead__body {
		padding: 2rem 1.5rem;
	}

	.editorial-home--text-only .editorial-post-card:nth-child(even) {
		border-left: 0;
	}

	.editorial-home--text-only .editorial-post-card:not(.editorial-post-card--large) {
		display: block;
	}
}

/* Thumbnail-free editorial artwork. */
.editorial-home .media-placeholder,
.category-page .media-placeholder {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 72% 22%, rgb(255 255 255 / 72%) 0 8%, transparent 8.5%),
		radial-gradient(circle at 68% 28%, rgb(255 255 255 / 22%) 0 24%, transparent 24.5%),
		linear-gradient(135deg, #e7ddd8 0%, #cdbfba 52%, #948984 100%);
}

.editorial-home .media-placeholder span,
.category-page .media-placeholder span {
	display: none;
}

.editorial-home .media-placeholder::before,
.category-page .media-placeholder::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 15%;
	left: 50%;
	width: 42%;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 62%);
	border-radius: 50% 50% 46% 54%;
	background: rgb(255 255 255 / 13%);
	box-shadow: 0 30px 70px rgb(42 34 31 / 14%);
	transform: translateX(-50%);
}

.editorial-home .media-placeholder::after,
.category-page .media-placeholder::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -11%;
	bottom: -24%;
	width: 58%;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 48%);
	transform: rotate(34deg);
}

.editorial-mini-card:nth-child(2) .media-placeholder,
.editorial-trending__item:nth-child(2) .media-placeholder,
.editorial-post-card:nth-child(3) .media-placeholder,
.category-article:nth-of-type(3n + 2) .media-placeholder {
	background:
		radial-gradient(circle at 28% 30%, rgb(255 255 255 / 52%) 0 7%, transparent 7.5%),
		linear-gradient(145deg, #dce8e4 0%, #aec4bc 55%, #667f79 100%);
}

.editorial-trending__item:nth-child(3) .media-placeholder,
.editorial-post-card:nth-child(4) .media-placeholder,
.category-article:nth-of-type(3n + 3) .media-placeholder {
	background:
		radial-gradient(circle at 72% 26%, rgb(255 255 255 / 38%) 0 9%, transparent 9.5%),
		linear-gradient(135deg, #d9c3ae 0%, #a87e64 52%, #4e3e39 100%);
}

.editorial-trending__item:nth-child(4) .media-placeholder,
.editorial-post-card:nth-child(5) .media-placeholder {
	background:
		linear-gradient(35deg, transparent 46%, rgb(255 255 255 / 25%) 46.5% 48%, transparent 48.5%),
		linear-gradient(145deg, #ccd5df 0%, #8191a3 52%, #303b49 100%);
}

.editorial-lead .media-placeholder {
	background:
		radial-gradient(ellipse at 50% 30%, rgb(255 255 255 / 20%) 0 18%, transparent 18.5%),
		radial-gradient(ellipse at 50% 72%, rgb(0 0 0 / 17%) 0 27%, transparent 27.5%),
		linear-gradient(145deg, #d9d3d0 0%, #a69d99 52%, #514b4a 100%);
}

.editorial-lead .media-placeholder::before {
	top: 12%;
	width: 34%;
	border-radius: 48% 52% 45% 55%;
	background: linear-gradient(145deg, rgb(255 255 255 / 22%), rgb(20 20 22 / 10%));
	box-shadow:
		0 11vw 0 -3vw rgb(30 28 29 / 16%),
		0 25px 70px rgb(20 18 18 / 22%);
}

.editorial-lead .media-placeholder::after {
	right: auto;
	bottom: -32%;
	left: 50%;
	width: 64%;
	border-radius: 46% 54% 0 0;
	background: rgb(26 25 27 / 12%);
	transform: translateX(-50%);
}

.editorial-pick .media-placeholder {
	background:
		linear-gradient(to top, rgb(0 0 0 / 36%), transparent 55%),
		linear-gradient(145deg, #45484f, #111216);
}

.editorial-pick .media-placeholder::before {
	border-color: rgb(255 255 255 / 18%);
	background: rgb(255 255 255 / 5%);
}

.editorial-pick .media-placeholder::after {
	border-color: rgb(255 255 255 / 13%);
}

/* Fine print texture keeps large empty artwork from looking flat. */
.editorial-lead__media::after,
.editorial-mini-card__media::after,
.editorial-post-card__media::after,
.category-article__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(0deg, transparent 0 5px, rgb(255 255 255 / 2.5%) 5px 6px);
	mix-blend-mode: soft-light;
}

.category-article__media {
	position: relative;
}

/* ---------- Footer ---------- */
.site-footer {
	position: relative;
	margin-top: 0;
	padding-top: clamp(3.25rem, 7vw, 5.75rem);
	border-top: 3px solid var(--ap-accent);
	background: var(--ap-footer-bg);
	color: var(--ap-footer-text);
	font-size: 0.9375rem;
}

.site-footer a {
	color: inherit;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	padding-bottom: clamp(3rem, 7vw, 5.25rem);
}

@media (min-width: 720px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__newsletter {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1080px) {
	.site-footer__grid {
		grid-template-columns: minmax(220px, 1.4fr) repeat(auto-fit, minmax(150px, 1fr));
		gap: clamp(2rem, 4.5vw, 5rem);
	}

	.site-footer__newsletter {
		grid-column: auto;
		min-width: 280px;
	}
}

.site-footer .site-brand__logo {
	height: clamp(42px, 4vw, 56px);
	max-width: 210px;
}

.site-footer .site-brand__name {
	color: var(--ap-footer-text);
	font-size: clamp(1.8rem, 3vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.045em;
}

.site-footer__heading {
	margin-bottom: 1.2rem;
	color: var(--ap-footer-text);
	font-family: var(--ap-font-body);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.footer-menu a:hover {
	color: var(--ap-accent);
	transform: translateX(3px);
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	min-height: 66px;
	padding-block: 0.7rem;
	border-top: 1px solid color-mix(in srgb, var(--ap-footer-text) 20%, transparent);
	font-size: 0.78rem;
}

.site-footer__copyright {
	margin: 0;
	opacity: 0.8;
}

.legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.legal-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.site-footer__about {
	max-width: 38ch;
	margin: 1.25rem 0 0;
	opacity: 0.85;
}

.social-links--footer {
	margin-left: -0.6rem;
}

.site-footer__cta {
	margin-top: 1.25rem;
}

.site-footer__newsletter-text {
	margin: 0 0 1rem;
	opacity: 0.85;
}

.site-footer__newsletter input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
	max-width: 100%;
	min-height: 44px;
}

.site-footer__disclaimer {
	padding-bottom: 1.5rem;
	font-size: 0.8125rem;
	line-height: 1.6;
	opacity: 0.8;
}

.site-footer__disclaimer p {
	max-width: 110ch;
	margin: 0;
}

.site-footer__disclaimer a,
.legal-menu a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

@media (max-width: 719px) {
	.site-footer__bottom {
		padding-right: var(--ap-gutter);
	}
}

/* ---------- Cookie choices ---------- */
.site-footer__cookie-settings {
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ap-footer-text);
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.ap-cookie-banner[hidden] {
	display: none;
}

.ap-cookie-banner {
	position: fixed;
	z-index: 9999;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	left: max(1rem, env(safe-area-inset-left));
	max-width: 900px;
	margin-inline: auto;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--ap-border);
	background: var(--ap-bg);
	color: var(--ap-text);
	box-shadow: 0 12px 45px rgb(0 0 0 / 22%);
}

.ap-cookie-banner__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.ap-cookie-banner__copy h2 {
	margin: 0 0 0.4rem;
	font-size: 1.25rem;
}

.ap-cookie-banner__copy p {
	max-width: 62ch;
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
}

.ap-cookie-banner__copy a {
	white-space: nowrap;
}

.ap-cookie-banner__actions {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 0.6rem;
}

.ap-cookie-banner__button {
	min-height: 44px;
	padding: 0.6rem 1rem;
	border: 1px solid var(--ap-accent);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.ap-cookie-banner__button--primary {
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

.ap-cookie-banner__button--secondary {
	background: transparent;
	color: var(--ap-text);
}

@media (max-width: 700px) {
	.ap-cookie-banner {
		max-height: calc(100dvh - 2rem);
		overflow-y: auto;
	}

	.ap-cookie-banner__content {
		align-items: stretch;
		flex-direction: column;
	}

	.ap-cookie-banner__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.ap-cookie-banner__button {
		flex: 1 1 180px;
	}
}

/* ---------- WordPress core ---------- */
.wp-caption,
.gallery-caption {
	max-width: 100%;
	color: var(--ap-muted);
	font-size: 0.875rem;
}

.sticky {
	position: relative;
}

.bypostauthor > .comment-body {
	border-left: 3px solid var(--ap-accent);
}

.wp-block-button__link {
	border-radius: var(--ap-radius);
}

.wp-block-search__button {
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

@media print {
	.site-header,
	.site-footer,
	.comments-area,
	.related-posts,
	.post-navigation,
	.breadcrumbs {
		display: none;
	}
}

/* ---------- Preset identities ---------- */
/*
 * Static preset defaults make brand colors resilient to page/style caches.
 * The generated inline selector has equal specificity and loads later, so
 * Customizer overrides still replace these values normally.
 */
body.ap-brand-neutral {
	--ap-bg: #fff;
	--ap-surface: #f5f6f8;
	--ap-text: #16181d;
	--ap-muted: #555c69;
	--ap-border: #e2e5ea;
	--ap-primary: #1f4fd1;
	--ap-accent: #f23316;
	--ap-accent-text: #fff;
	--ap-header-bg: #fff;
	--ap-header-text: #16181d;
	--ap-hero-bg: #f5f6f8;
	--ap-hero-text: #16181d;
	--ap-footer-bg: #fff;
	--ap-footer-text: #16181d;
}

body.ap-brand-iplaycash {
	--ap-bg: #f6f7fb;
	--ap-surface: #fff;
	--ap-text: #111827;
	--ap-muted: #4b5563;
	--ap-border: #e3e6ee;
	--ap-primary: #047857;
	--ap-accent: #047857;
	--ap-accent-text: #fff;
	--ap-header-bg: #0c1222;
	--ap-header-text: #f3f5f9;
	--ap-hero-bg: #0c1222;
	--ap-hero-text: #f3f5f9;
	--ap-footer-bg: #0c1222;
	--ap-footer-text: #f3f5f9;
	--ap-font-display: Avenir, Montserrat, Corbel, "URW Gothic", sans-serif;
	--ap-radius: 10px;
}

body.ap-brand-onlinefishtables {
	--ap-bg: #fff;
	--ap-surface: #f1f6fc;
	--ap-text: #0f1b2d;
	--ap-muted: #4a5a70;
	--ap-border: #dbe4ef;
	--ap-primary: #0b5cad;
	--ap-accent: #f97316;
	--ap-accent-text: #111;
	--ap-header-bg: #fff;
	--ap-header-text: #0f1b2d;
	--ap-hero-bg: #0b2545;
	--ap-hero-text: #f1f6fc;
	--ap-footer-bg: #fff;
	--ap-footer-text: #0f1b2d;
	--ap-font-display: ui-rounded, "Arial Rounded MT", Calibri, sans-serif;
	--ap-radius: 12px;
}

body.ap-brand-icasinosweeps {
	--ap-bg: #fff;
	--ap-surface: #f6f6f6;
	--ap-text: #141414;
	--ap-muted: #555;
	--ap-border: #e5e5e5;
	--ap-primary: #b3102a;
	--ap-accent: #c8102e;
	--ap-accent-text: #fff;
	--ap-header-bg: #111;
	--ap-header-text: #fff;
	--ap-hero-bg: #f6f6f6;
	--ap-hero-text: #141414;
	--ap-footer-bg: #111;
	--ap-footer-text: #fff;
	--ap-font-display: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", sans-serif;
	--ap-radius: 4px;
}

body.ap-brand-casino {
	--ap-bg: #fffaf2;
	--ap-surface: #f7efe2;
	--ap-text: #24150e;
	--ap-muted: #745f52;
	--ap-border: #e7d6c0;
	--ap-primary: #8b1e2d;
	--ap-accent: #d4a72c;
	--ap-accent-text: #24150e;
	--ap-header-bg: #26070d;
	--ap-header-text: #fff8e8;
	--ap-hero-bg: #3a0b14;
	--ap-hero-text: #fff8e8;
	--ap-footer-bg: #26070d;
	--ap-footer-text: #fff8e8;
	--ap-font-body: Seravek, "Gill Sans Nova", Ubuntu, Calibri, sans-serif;
	--ap-font-display: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
	--ap-radius: 6px;
}

body.ap-brand-extra1 {
	--ap-bg: #f8fafc;
	--ap-surface: #eef2ff;
	--ap-text: #1e1b4b;
	--ap-muted: #64748b;
	--ap-border: #c7d2fe;
	--ap-primary: #4338ca;
	--ap-accent: #7c3aed;
	--ap-accent-text: #fff;
	--ap-header-bg: #1e1b4b;
	--ap-header-text: #f8fafc;
	--ap-hero-bg: #312e81;
	--ap-hero-text: #fff;
	--ap-footer-bg: #1e1b4b;
	--ap-footer-text: #f8fafc;
	--ap-font-display: Avenir, Montserrat, Corbel, "URW Gothic", sans-serif;
	--ap-radius: 8px;
}

body.ap-brand-extra2 {
	--ap-bg: #f7fee7;
	--ap-surface: #ecfdf5;
	--ap-text: #052e16;
	--ap-muted: #3f6212;
	--ap-border: #bbf7d0;
	--ap-primary: #047857;
	--ap-accent: #84cc16;
	--ap-accent-text: #1a2e05;
	--ap-header-bg: #064e3b;
	--ap-header-text: #f0fdf4;
	--ap-hero-bg: #065f46;
	--ap-hero-text: #f0fdf4;
	--ap-footer-bg: #064e3b;
	--ap-footer-text: #f0fdf4;
	--ap-font-body: Seravek, "Gill Sans Nova", Ubuntu, Calibri, sans-serif;
	--ap-font-display: Seravek, "Gill Sans Nova", Ubuntu, Calibri, sans-serif;
	--ap-radius: 12px;
}

body.ap-brand-extra3 {
	--ap-bg: #f0f9ff;
	--ap-surface: #e0f2fe;
	--ap-text: #0c4a6e;
	--ap-muted: #475569;
	--ap-border: #bae6fd;
	--ap-primary: #0369a1;
	--ap-accent: #06b6d4;
	--ap-accent-text: #083344;
	--ap-header-bg: #082f49;
	--ap-header-text: #f0f9ff;
	--ap-hero-bg: #0c4a6e;
	--ap-hero-text: #f0f9ff;
	--ap-footer-bg: #082f49;
	--ap-footer-text: #f0f9ff;
	--ap-font-display: ui-rounded, "Arial Rounded MT", Calibri, sans-serif;
	--ap-radius: 16px;
}

body.ap-brand-extra4 {
	--ap-bg: #fff1f2;
	--ap-surface: #fce7f3;
	--ap-text: #4c0519;
	--ap-muted: #881337;
	--ap-border: #fecdd3;
	--ap-primary: #be123c;
	--ap-accent: #db2777;
	--ap-accent-text: #fff;
	--ap-header-bg: #4a044e;
	--ap-header-text: #fff1f2;
	--ap-hero-bg: #701a75;
	--ap-hero-text: #fff1f2;
	--ap-footer-bg: #4a044e;
	--ap-footer-text: #fff1f2;
	--ap-font-display: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
	--ap-radius: 4px;
}

body.ap-brand-extra5 {
	--ap-bg: #fafaf9;
	--ap-surface: #fef3c7;
	--ap-text: #1c1917;
	--ap-muted: #57534e;
	--ap-border: #e7e5e4;
	--ap-primary: #b45309;
	--ap-accent: #f59e0b;
	--ap-accent-text: #1c1917;
	--ap-header-bg: #1c1917;
	--ap-header-text: #fffbeb;
	--ap-hero-bg: #292524;
	--ap-hero-text: #fffbeb;
	--ap-footer-bg: #1c1917;
	--ap-footer-text: #fffbeb;
	--ap-font-display: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", sans-serif;
	--ap-radius: 2px;
}

body.ap-brand-extra6 {
	--ap-bg: #0f172a;
	--ap-surface: #1e293b;
	--ap-text: #f8fafc;
	--ap-muted: #cbd5e1;
	--ap-border: #334155;
	--ap-primary: #38bdf8;
	--ap-accent: #22d3ee;
	--ap-accent-text: #083344;
	--ap-header-bg: #020617;
	--ap-header-text: #f8fafc;
	--ap-hero-bg: #082f49;
	--ap-hero-text: #f8fafc;
	--ap-footer-bg: #020617;
	--ap-footer-text: #f8fafc;
	--ap-font-body: Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
	--ap-font-display: Avenir, Montserrat, Corbel, "URW Gothic", sans-serif;
	--ap-radius: 10px;
}

body.ap-brand-igamingvendor {
	--ap-bg: #121212;
	--ap-surface: #1d1d1f;
	--ap-text: #f2f2f2;
	--ap-muted: #b0b0b5;
	--ap-border: #343438;
	--ap-primary: #e0b040;
	--ap-accent: #d4a537;
	--ap-accent-text: #121212;
	--ap-header-bg: #080809;
	--ap-header-text: #f2f2f2;
	--ap-hero-bg: #0b0b0c;
	--ap-hero-text: #f2f2f2;
	--ap-footer-bg: #080809;
	--ap-footer-text: #f2f2f2;
	--ap-font-display: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", sans-serif;
	--ap-radius: 6px;
}

/* Non-neutral brands use their selected display face throughout editorial UI. */
body:not(.ap-brand-neutral) .editorial-home .editorial-lead__title,
body:not(.ap-brand-neutral) .editorial-home h2,
body:not(.ap-brand-neutral) .editorial-home h3,
body:not(.ap-brand-neutral) .editorial-home .editorial-pick__content strong,
body:not(.ap-brand-neutral) .editorial-home .editorial-quick-list > a,
body:not(.ap-brand-neutral) .editorial-home .editorial-ribbon__inner a,
body:not(.ap-brand-neutral) .single-hero__title,
body:not(.ap-brand-neutral) .category-page h1,
body:not(.ap-brand-neutral) .category-page h2,
body:not(.ap-brand-neutral) .category-page h3 {
	font-family: var(--ap-font-display);
}

body:not(.ap-brand-neutral) .editorial-lead__body .category-label,
body:not(.ap-brand-neutral) .category-article .category-label,
body:not(.ap-brand-neutral) .single-hero .category-label {
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

/* Green/navy identity. */
.ap-brand-iplaycash .editorial-ribbon {
	background: #e8f5ef;
}

.ap-brand-iplaycash .editorial-curated-band {
	background: linear-gradient(180deg, #f6f7fb, #edf7f2);
}

.ap-brand-iplaycash .editorial-pick > a,
.ap-brand-iplaycash .editorial-category-card__media {
	border-radius: 6px;
}

/* Blue/orange identity. */
.ap-brand-onlinefishtables .editorial-ribbon {
	background: #edf5ff;
}

.ap-brand-onlinefishtables .editorial-curated-band {
	background: #f6faff;
}

.ap-brand-onlinefishtables .editorial-pick > a,
.ap-brand-onlinefishtables .editorial-category-card__media,
.ap-brand-onlinefishtables .editorial-lead__media {
	border-radius: 6px;
}

/* Red/black publication identity. */
.ap-brand-icasinosweeps .editorial-ribbon {
	background: #f8f2f3;
}

.ap-brand-icasinosweeps .editorial-curated-band::before {
	width: 72px;
}

.ap-brand-icasinosweeps .editorial-section-head h2,
.ap-brand-icasinosweeps .editorial-curated__column > h2 {
	text-transform: uppercase;
	letter-spacing: -0.02em;
}

.ap-brand-icasinosweeps .site-header__nav-row {
	min-height: 70px;
	border-top-color: rgb(255 255 255 / 10%);
	border-bottom: 1px solid rgb(255 255 255 / 18%);
}

.ap-brand-icasinosweeps .primary-nav .menu > li > a {
	position: relative;
	padding-inline: 0.8rem;
	border-radius: 0;
	font-family: var(--ap-font-display);
	letter-spacing: 0.11em;
	text-decoration: none;
	transition: color 0.2s ease;
}

.ap-brand-icasinosweeps .primary-nav .current-menu-item > a::after,
.ap-brand-icasinosweeps .primary-nav .current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	right: 0.8rem;
	bottom: 5px;
	left: 0.8rem;
	height: 2px;
	border-radius: 999px;
	background: var(--ap-accent);
}

.ap-brand-icasinosweeps .header-menu-link,
.ap-brand-icasinosweeps .header-search-toggle {
	color: rgb(255 255 255 / 78%);
	transition: color 0.2s ease, background-color 0.2s ease;
}

.ap-brand-icasinosweeps .header-menu-link:hover,
.ap-brand-icasinosweeps .header-search-toggle:hover {
	background: rgb(255 255 255 / 7%);
	color: var(--ap-accent);
}

/* Burgundy/gold luxury casino identity. */
.ap-brand-casino .site-header__nav-row {
	border-top-color: rgb(255 248 232 / 12%);
	border-bottom: 1px solid rgb(212 167 44 / 38%);
}

.ap-brand-casino .primary-nav .menu > li > a {
	font-family: var(--ap-font-display);
	letter-spacing: 0.1em;
}

.ap-brand-casino .primary-nav .current-menu-item > a,
.ap-brand-casino .primary-nav .current-menu-ancestor > a {
	color: var(--ap-accent);
	text-decoration-color: var(--ap-accent);
}

.ap-brand-casino .editorial-home {
	background:
		radial-gradient(circle at 85% 7%, rgb(212 167 44 / 8%), transparent 25rem),
		var(--ap-bg);
}

.ap-brand-casino .editorial-ribbon {
	background: #f2e5d1;
}

.ap-brand-casino .editorial-curated-band {
	background: #fff7e9;
}

.ap-brand-casino .editorial-lead__body .category-label,
.ap-brand-casino .category-article .category-label,
.ap-brand-casino .single-hero .category-label {
	background: var(--ap-primary);
	color: #fff8e8;
}

.ap-brand-casino .editorial-curated-band::before,
.ap-brand-casino .editorial-heading-rule {
	border-color: var(--ap-accent);
}

.ap-brand-casino .editorial-home .media-placeholder,
.ap-brand-casino .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(255 225 132 / 75%) 0 8%, transparent 8.5%),
		radial-gradient(circle at 50% 52%, rgb(212 167 44 / 16%) 0 27%, transparent 27.5%),
		linear-gradient(145deg, #8b1e2d 0%, #4a101a 54%, #1c070b 100%);
	color: rgb(255 238 190 / 28%);
}

.ap-brand-casino .editorial-section-head h2,
.ap-brand-casino .editorial-curated__column > h2 {
	color: var(--ap-primary);
}

/* Extra 1: indigo/violet studio identity. */
.ap-brand-extra1 .editorial-ribbon {
	background: #e0e7ff;
}

.ap-brand-extra1 .editorial-curated-band {
	background: #f5f3ff;
}

.ap-brand-extra1 .editorial-home {
	background: radial-gradient(circle at 88% 8%, rgb(124 58 237 / 8%), transparent 24rem), var(--ap-bg);
}

.ap-brand-extra1 .editorial-home .media-placeholder,
.ap-brand-extra1 .category-page .media-placeholder {
	background: linear-gradient(145deg, #c7d2fe 0%, #818cf8 50%, #4338ca 100%);
	color: rgb(255 255 255 / 28%);
}

.ap-brand-extra1 .editorial-home .editorial-lead__title,
.ap-brand-extra1 .editorial-section-head h2 {
	letter-spacing: -0.035em;
}

/* Extra 2: emerald/lime organic identity. */
.ap-brand-extra2 .editorial-ribbon {
	background: #dcfce7;
}

.ap-brand-extra2 .editorial-curated-band {
	background: #f0fdf4;
}

.ap-brand-extra2 .editorial-home .media-placeholder,
.ap-brand-extra2 .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(217 249 157 / 90%) 0 8%, transparent 8.5%),
		linear-gradient(145deg, #86efac 0%, #059669 55%, #064e3b 100%);
	color: rgb(240 253 244 / 30%);
}

.ap-brand-extra2 .editorial-section-head h2,
.ap-brand-extra2 .editorial-curated__column > h2 {
	font-weight: 800;
}

/* Extra 3: ocean blue/cyan identity. */
.ap-brand-extra3 .editorial-ribbon {
	background: #dbeafe;
}

.ap-brand-extra3 .editorial-curated-band {
	background: #ecfeff;
}

.ap-brand-extra3 .editorial-home {
	background: linear-gradient(180deg, #f0f9ff, #fff 38%, #f0f9ff);
}

.ap-brand-extra3 .editorial-home .media-placeholder,
.ap-brand-extra3 .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(165 243 252 / 85%) 0 8%, transparent 8.5%),
		linear-gradient(145deg, #7dd3fc 0%, #0284c7 52%, #082f49 100%);
	color: rgb(240 249 255 / 30%);
}

/* Extra 4: rose/plum editorial identity. */
.ap-brand-extra4 .editorial-ribbon {
	background: #fce7f3;
}

.ap-brand-extra4 .editorial-curated-band {
	background: #fff1f2;
}

.ap-brand-extra4 .editorial-home .media-placeholder,
.ap-brand-extra4 .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(251 207 232 / 80%) 0 8%, transparent 8.5%),
		linear-gradient(145deg, #f9a8d4 0%, #be185d 52%, #4a044e 100%);
	color: rgb(255 241 242 / 30%);
}

.ap-brand-extra4 .editorial-section-head h2,
.ap-brand-extra4 .editorial-curated__column > h2 {
	color: var(--ap-primary);
}

/* Extra 5: amber/slate utility identity. */
.ap-brand-extra5 .editorial-ribbon {
	background: #fef3c7;
}

.ap-brand-extra5 .editorial-curated-band {
	background: #fffbeb;
}

.ap-brand-extra5 .editorial-home .media-placeholder,
.ap-brand-extra5 .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(253 230 138 / 88%) 0 8%, transparent 8.5%),
		linear-gradient(145deg, #fbbf24 0%, #92400e 55%, #1c1917 100%);
	color: rgb(255 251 235 / 28%);
}

.ap-brand-extra5 .editorial-home .editorial-lead__title,
.ap-brand-extra5 .editorial-section-head h2,
.ap-brand-extra5 .editorial-curated__column > h2 {
	text-transform: uppercase;
	letter-spacing: -0.015em;
}

/* Extra 6: midnight/cyan digital identity. */
.ap-brand-extra6 .editorial-home {
	background:
		radial-gradient(circle at 82% 8%, rgb(34 211 238 / 10%), transparent 25rem),
		var(--ap-bg);
}

.ap-brand-extra6 .editorial-ribbon,
.ap-brand-extra6 .editorial-curated-band {
	background: #111c31;
}

.ap-brand-extra6 .editorial-category-sections {
	background: #0b1220;
}

.ap-brand-extra6 .editorial-home .media-placeholder,
.ap-brand-extra6 .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(34 211 238 / 42%) 0 8%, transparent 8.5%),
		linear-gradient(145deg, #164e63 0%, #0f172a 55%, #020617 100%);
	color: rgb(103 232 249 / 28%);
}

.ap-brand-extra6 .editorial-mini-card__media,
.ap-brand-extra6 .editorial-lead__media,
.ap-brand-extra6 .editorial-post-card__media,
.ap-brand-extra6 .editorial-pick > a,
.ap-brand-extra6 .editorial-category-card__media {
	border: 1px solid rgb(34 211 238 / 22%);
}

.ap-brand-extra6 .editorial-home .editorial-lead__title,
.ap-brand-extra6 .editorial-section-head h2 {
	letter-spacing: -0.035em;
}

/* Dark/gold trade-publication identity. */
.ap-brand-igamingvendor .editorial-home {
	background:
		radial-gradient(circle at 82% 8%, rgb(212 165 55 / 9%), transparent 24rem),
		var(--ap-bg);
}

.ap-brand-igamingvendor .editorial-ticker {
	border-color: #4b3c1c;
}

.ap-brand-igamingvendor .editorial-ticker > strong,
.ap-brand-igamingvendor .editorial-curated__column.editorial-quick-list > a::before {
	color: var(--ap-accent);
}

.ap-brand-igamingvendor .editorial-ribbon,
.ap-brand-igamingvendor .editorial-curated-band {
	background: #181819;
}

.ap-brand-igamingvendor .editorial-category-sections {
	background: #101011;
}

.ap-brand-igamingvendor .editorial-category-block + .editorial-category-block {
	border-top: 1px solid var(--ap-border);
}

.ap-brand-igamingvendor .editorial-mini-card__media,
.ap-brand-igamingvendor .editorial-lead__media,
.ap-brand-igamingvendor .editorial-post-card__media,
.ap-brand-igamingvendor .editorial-pick > a,
.ap-brand-igamingvendor .editorial-category-card__media {
	border: 1px solid #3a3323;
}

.ap-brand-igamingvendor .editorial-home .media-placeholder,
.ap-brand-igamingvendor .category-page .media-placeholder {
	background:
		radial-gradient(circle at 72% 22%, rgb(224 176 64 / 38%) 0 8%, transparent 8.5%),
		radial-gradient(circle at 50% 50%, rgb(224 176 64 / 8%) 0 28%, transparent 28.5%),
		linear-gradient(145deg, #332b1c 0%, #1d1d1f 52%, #09090a 100%);
	color: rgb(224 176 64 / 25%);
}

.ap-brand-igamingvendor .editorial-lead .editorial-lead__title,
.ap-brand-igamingvendor .editorial-section-head h2,
.ap-brand-igamingvendor .editorial-curated__column > h2 {
	letter-spacing: -0.015em;
	text-transform: uppercase;
}

/* ---------- Site-wide text-first article layouts ---------- */
.card--text-only {
	min-height: 260px;
	border-radius: 0;
	background: var(--ap-bg);
}

.card--text-only .card__body {
	padding: clamp(1.35rem, 3vw, 2rem);
}

.card--text-only .card__title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.16;
}

.card--text-only .card__title a:hover,
.card--text-only .entry-meta a:hover,
.author-box__name a:hover {
	color: var(--ap-accent);
	text-decoration: none;
}

.card--text-only .card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.card--text-only .editorial-read-link {
	margin: auto 0 1rem;
}

.card--text-only .entry-meta {
	margin-top: 0;
}

@media (min-width: 900px) {
	.card-grid--featured > .card--text-only:only-child,
	.card-grid--featured > .card--text-only:first-child:nth-last-child(n + 3) {
		display: flex;
		grid-template-columns: none;
	}
}

.blog-band-item {
	align-items: start;
	padding-block: 1.75rem;
}

.blog-band-item:first-child {
	padding-top: 0;
}

.blog-band-item__content h2 {
	font-size: clamp(1.55rem, 3vw, 2.35rem);
}

.blog-band-item__content p {
	max-width: 62ch;
	margin-bottom: 1.1rem;
}

.blog-band-item__more,
.category-article__more,
.search-result__more {
	border-radius: 0;
}

.category-article {
	padding: 0 0 clamp(2.5rem, 5vw, 4rem);
	border-top: 1px solid var(--ap-border);
}

.category-article + .category-article {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

.category-article:first-child {
	padding-top: clamp(1.5rem, 3vw, 2rem);
}

.category-article__excerpt {
	max-width: 62ch;
}

.category-feature {
	display: flex;
	min-height: 300px;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--ap-surface);
}

.category-feature .category-label {
	width: fit-content;
	margin-bottom: 0.85rem;
	color: var(--ap-accent);
	font-size: 0.625rem;
}

.category-feature h2 {
	margin-bottom: 0.75rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	line-height: 1.08;
}

.category-feature h2 a {
	color: var(--ap-text);
	text-decoration: none;
}

.category-feature p,
.category-trending__item p,
.search-trending__item p,
.single-related__item p {
	color: var(--ap-muted);
	font-size: 0.75rem;
	line-height: 1.5;
}

.category-trending__item,
.search-trending__item {
	grid-template-columns: 2rem minmax(0, 1fr);
	align-items: start;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--ap-border);
}

.category-trending__number,
.search-trending__number,
.single-related__number {
	padding-top: 0.15rem;
	color: var(--ap-accent);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.category-trending__item p,
.search-trending__item p,
.single-related__item p {
	margin: 0.45rem 0 0.65rem;
}

.category-trending__item .editorial-read-link,
.search-trending__item .editorial-read-link,
.single-related__item .editorial-read-link {
	min-height: 27px;
	padding: 0.35rem 0.5rem;
	font-size: 0.525rem;
}

.category-trending__item time,
.search-trending__content time,
.single-related__item time {
	display: block;
	margin-top: 0.65rem;
}

.search-result {
	padding-left: clamp(1rem, 3vw, 2rem);
	border-left: 2px solid var(--ap-border);
}

.search-result:hover {
	border-left-color: var(--ap-accent);
}

.single-hero--text-only {
	min-height: clamp(380px, 55vw, 620px);
	align-items: center;
	border-bottom: 1px solid var(--ap-border);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--ap-surface) 88%, transparent), transparent 72%),
		var(--ap-bg);
}

.single-hero--text-only .single-hero__content {
	text-align: center;
}

.single-hero--text-only .single-hero__title {
	max-width: 18ch;
	margin-inline: auto;
	font-size: clamp(2.75rem, 6.5vw, 6rem);
	line-height: 0.96;
}

.single-hero--text-only .single-hero__meta,
.single-hero--text-only .entry-meta,
.single-hero--text-only .breadcrumbs ol {
	justify-content: center;
}

.single-related__item {
	grid-template-columns: 2rem minmax(0, 1fr);
	padding-bottom: 1.15rem;
	border-bottom: 1px solid var(--ap-border);
}

.single-editors__grid .card--text-only,
.single-editors__grid .card--text-only:nth-child(3) {
	position: relative;
	min-height: 280px;
	overflow: visible;
	border: 1px solid var(--ap-border);
	background: var(--ap-bg);
}

.single-editors__grid .card--text-only .card__body,
.single-editors__grid .card--text-only:nth-child(3) .card__body {
	position: static;
	align-items: flex-start;
	padding: 1.35rem;
	color: var(--ap-text);
	text-align: left;
}

.single-editors__grid .card--text-only:nth-child(3) .category-label,
.single-editors__grid .card--text-only:nth-child(3) .card__title a,
.single-editors__grid .card--text-only:nth-child(3) .entry-meta {
	border: 0;
	color: inherit;
}

.single-editors__grid .card--text-only .card__excerpt {
	display: -webkit-box;
}

.single-editors__grid .card--text-only .editorial-read-link {
	margin-top: auto;
}

@media (max-width: 699px) {
	.card--text-only {
		min-height: 230px;
	}

	.blog-band-item {
		padding-block: 2rem;
	}

	.category-feature {
		max-width: none;
		min-height: 260px;
	}

	.search-result {
		padding-left: 1rem;
	}

	.single-hero--text-only {
		min-height: 360px;
	}

	.single-editors__grid .card--text-only,
	.single-editors__grid .card--text-only:nth-child(3) {
		min-height: 250px;
	}
}

/* Final token enforcement: keep Customizer colors authoritative everywhere. */
body[class*="ap-brand-"] .entry-content a,
body[class*="ap-brand-"] .breadcrumbs a,
body[class*="ap-brand-"] .archive-description a,
body[class*="ap-brand-"] .entry-meta a:hover,
body[class*="ap-brand-"] .post-navigation a:hover {
	border-color: var(--ap-accent);
	color: var(--ap-accent);
}

body[class*="ap-brand-"] .header-menu-link,
body[class*="ap-brand-"] .header-search-toggle,
body[class*="ap-brand-"] .primary-nav__close,
body[class*="ap-brand-"] .header-search__close {
	color: var(--ap-header-muted);
}

body[class*="ap-brand-"] .header-menu-link:hover,
body[class*="ap-brand-"] .header-search-toggle:hover {
	background: color-mix(in srgb, var(--ap-header-text) 8%, transparent);
	color: var(--ap-accent);
}

body[class*="ap-brand-"] .editorial-ticker {
	border-color: var(--ap-border);
}

body[class*="ap-brand-"] .site-header,
body[class*="ap-brand-"] .primary-nav,
body[class*="ap-brand-"] .header-search {
	background: var(--ap-header-bg);
	color: var(--ap-header-text);
}

body[class*="ap-brand-"] .site-header__nav-row,
body[class*="ap-brand-"] .primary-nav .menu > li,
body[class*="ap-brand-"] .primary-nav .sub-menu,
body[class*="ap-brand-"] .header-search .search-form__input {
	border-color: var(--ap-header-border);
}

body[class*="ap-brand-"] .editorial-home,
body[class*="ap-brand-"] .editorial-category-sections {
	background: var(--ap-bg);
}

body[class*="ap-brand-"] .editorial-ribbon {
	background: var(--ap-surface);
}

body[class*="ap-brand-"] .editorial-curated-band,
body[class*="ap-brand-"] .single-editors {
	background: color-mix(in srgb, var(--ap-surface) 62%, var(--ap-bg));
}

body[class*="ap-brand-"] .editorial-pick > a,
body[class*="ap-brand-"] .editorial-category-card,
body[class*="ap-brand-"] .card--text-only,
body[class*="ap-brand-"] .category-feature {
	border-color: var(--ap-border);
	background: var(--ap-bg);
}

body[class*="ap-brand-"] .editorial-read-link,
body[class*="ap-brand-"] .button--secondary {
	border-color: var(--ap-accent);
	color: var(--ap-accent);
}

body[class*="ap-brand-"] .editorial-read-link:hover,
body[class*="ap-brand-"] a:hover .editorial-read-link,
body[class*="ap-brand-"] .button--secondary:hover {
	border-color: var(--ap-accent);
	background: var(--ap-accent);
	color: var(--ap-accent-text);
}

body[class*="ap-brand-"] .site-footer {
	border-color: var(--ap-accent);
	background: var(--ap-footer-bg);
	color: var(--ap-footer-text);
}

body[class*="ap-brand-"] .entry-content a,
body[class*="ap-brand-"] .breadcrumbs a,
body[class*="ap-brand-"] .archive-description a,
body[class*="ap-brand-"] .entry-meta a:hover,
body[class*="ap-brand-"] .post-navigation a:hover {
	border-color: var(--ap-accent);
	color: var(--ap-accent);
}

body .category-label {
	padding: 0.2rem 0.6rem !important;
	border: 1px solid var(--ap-accent) !important;
	border-radius: 0 !important;
	background: var(--ap-accent) !important;
	color: var(--ap-accent-text) !important;
	font-family: var(--ap-font-body) !important;
	font-size: 0.625rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.25 !important;
}

body .category-label:hover {
	border-color: var(--ap-text) !important;
	background: var(--ap-text) !important;
	color: var(--ap-bg) !important;
	text-decoration: none !important;
}

.editorial-mini-card h2,
.editorial-trending__item h3,
.editorial-post-card h1,
.editorial-post-card h3,
.editorial-category-card h3,
.card--text-only .card__title,
.blog-band-item__content h2,
.category-article h2,
.category-feature h2,
.category-trending__item h3,
.search-result__title,
.search-trending__content h3,
.single-related__item h3 {
	display: -webkit-box !important;
	overflow: hidden !important;
	max-height: 2.4em;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.editorial-post-card:not(.editorial-post-card--large) h3,
.editorial-category-card h3,
.card--text-only .card__title {
	min-height: 2.32em;
}

.platform-card__title,
.promo-card__title {
	display: -webkit-box !important;
	overflow: hidden !important;
	max-height: 2.4em;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

body[class*="ap-brand-"] .editorial-home,
body[class*="ap-brand-"] .editorial-category-sections,
body[class*="ap-brand-"] .single-hero--text-only {
	background-color: transparent;
	background-image: none;
}

/* Appearance controls shared by the editor-managed homepage sections. */
body[class*="ap-brand-"] .elitepress-block.elitepress-block--soft {
	background-color: color-mix(in srgb, var(--ap-accent) 5%, var(--ap-bg));
}

body .elitepress-block--outline {
	border-block: 1px solid var(--ap-border);
}

.elitepress-block--narrow.container,
.elitepress-block--narrow .container {
	max-width: calc(900px + var(--ap-gutter) * 2);
}

.elitepress-block--wide.container,
.elitepress-block--wide .container {
	max-width: calc(1280px + var(--ap-gutter) * 2);
}

.elitepress-block--custom-spacing.editorial-recent,
.elitepress-block--custom-spacing.editorial-category-block,
.elitepress-block--custom-spacing.editorial-curated-band,
.elitepress-block--custom-spacing.home-section--how,
.elitepress-block--custom-spacing .editorial-showcase,
.elitepress-block--custom-spacing .editorial-ribbon__inner {
	padding-block: var(--elite-block-spacing);
}

.elitepress-recent-block .editorial-recent__main,
.elitepress-category-block .editorial-category-grid {
	grid-template-columns: repeat(var(--elite-columns, 2), minmax(0, 1fr));
}

.elitepress-how-block .steps {
	grid-template-columns: repeat(var(--elite-columns, 5), minmax(0, 1fr));
}

@media (max-width: 760px) {
	.elitepress-recent-block .editorial-recent__main,
	.elitepress-category-block .editorial-category-grid,
	.elitepress-how-block .steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.elitepress-recent-block .editorial-recent__main,
	.elitepress-category-block .editorial-category-grid,
	.elitepress-how-block .steps {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Editor-managed contact page. */
.contact-page__breadcrumbs { padding-top: 1.25rem; }
.elitepress-contact-page { color: var(--ap-text); }
.elitepress-contact-hero {
	position: relative;
	overflow: hidden;
	background: color-mix(in srgb, var(--ap-surface) 70%, var(--elite-contact-bg, var(--ap-bg)));
	border-block: 1px solid var(--ap-border);
}
.elitepress-contact-hero__inner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 330px;
	padding-block: clamp(3.5rem, 7vw, 6rem);
}
.elitepress-contact-hero__copy { position: relative; z-index: 1; max-width: 760px; }
.elitepress-contact-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--ap-accent);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.elitepress-contact-hero h1,
.elitepress-contact-hero h2 {
	margin: 0;
	color: var(--ap-text);
	font-family: var(--ap-font-display);
	font-size: clamp(3.2rem, 7vw, 6.5rem);
	line-height: .96;
	letter-spacing: -.045em;
}
.elitepress-contact-hero__intro {
	max-width: 57ch;
	margin: 1.5rem 0 0;
	color: var(--ap-muted);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.65;
}
.elitepress-contact-hero__mark {
	position: absolute;
	right: 4%;
	top: 50%;
	color: var(--ap-accent);
	font-family: Georgia, serif;
	font-size: clamp(13rem, 30vw, 28rem);
	font-weight: 700;
	line-height: 1;
	opacity: .07;
	transform: translateY(-54%);
	user-select: none;
}
.elitepress-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(270px, .85fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	max-width: calc(1180px + var(--ap-gutter) * 2);
	padding-block: clamp(3rem, 6vw, 5.5rem);
}
.elitepress-contact-layout--right .elitepress-contact-form-panel { order: 2; }
.elitepress-contact-layout--right .elitepress-contact-info-panel { order: 1; }
.elitepress-contact-layout--no-form { grid-template-columns: minmax(0, 1fr); }
.elitepress-contact-form-panel {
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 3rem);
	background: var(--ap-bg);
	color: var(--elite-contact-form-text, var(--ap-text));
	border: 1px solid var(--ap-border);
	box-shadow: 0 18px 46px rgb(0 0 0 / 4%);
}
.elitepress-contact-panel-head { padding-bottom: 1.5rem; border-bottom: 1px solid var(--ap-border); }
.elitepress-contact-panel-number { display: block; margin-bottom: .8rem; color: var(--ap-accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.elitepress-contact-panel-head h2,
.elitepress-contact-info-panel h2 { margin: 0 0 .7rem; font-size: clamp(1.65rem, 2.6vw, 2.35rem); line-height: 1.15; }
.elitepress-contact-panel-head h2 { color: inherit; }
.elitepress-contact-panel-head p { max-width: 56ch; margin: 0; color: color-mix(in srgb, currentColor 72%, transparent); }
.elitepress-contact-form-panel .contact-form-wrap { max-width: none; margin: 0; padding: 1.5rem 0 0; background: transparent; border: 0; border-radius: 0; }
.elitepress-contact-form-panel .contact-form { display: grid; gap: 1.1rem; }
.elitepress-contact-form-panel .contact-form .field { margin: 0; }
.elitepress-contact-form-panel .contact-form button[type="submit"] { justify-self: start; min-width: 170px; }
.elitepress-contact-info-panel {
	align-self: start;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--ap-header-bg);
	color: var(--ap-header-text);
}
.elitepress-contact-info-panel h2 { color: inherit; }
.elitepress-contact-info-panel > p { max-width: 70ch; margin: 0; color: var(--ap-header-muted); line-height: 1.75; }
.elitepress-contact-topics { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid color-mix(in srgb, var(--ap-header-text) 20%, transparent); }
.elitepress-contact-topics strong { display: block; margin-bottom: 1rem; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.elitepress-contact-topics ul { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.elitepress-contact-topics li { padding: .45rem .7rem; border: 1px solid color-mix(in srgb, var(--ap-header-text) 28%, transparent); font-size: .78rem; }
.elitepress-contact-social { margin-top: 2rem; }
.elitepress-contact-resources { padding-block: clamp(3rem, 6vw, 5.5rem); background: color-mix(in srgb, var(--ap-surface) 78%, var(--elite-contact-bg, var(--ap-bg))); border-block: 1px solid var(--ap-border); }
.elitepress-contact-resources__head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.elitepress-contact-resources__head h2 { margin: 0; font-size: clamp(1.8rem, 3.4vw, 3rem); }
.elitepress-contact-resources__head > p { max-width: 45ch; margin: 0; color: var(--ap-muted); }
.elitepress-contact-resources__grid { display: grid; grid-template-columns: repeat(var(--elite-columns, 3), minmax(0, 1fr)); gap: 1px; background: var(--ap-border); border: 1px solid var(--ap-border); }
.elitepress-contact-resource { min-width: 0; min-height: 165px; padding: 1.4rem; background: var(--ap-bg); }
.elitepress-contact-resource__number { color: var(--ap-accent); font-size: .65rem; font-weight: 800; }
.elitepress-contact-resource h3 { margin: .6rem 0 1rem; font-size: 1.1rem; }
.elitepress-contact-resource ul { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.elitepress-contact-resource a { color: var(--ap-text); font-size: .84rem; overflow-wrap: anywhere; text-decoration: none; }
.elitepress-contact-resource a:hover { color: var(--ap-accent); }
.elitepress-contact-resource a span { color: var(--ap-accent); }
.elitepress-contact-note { display: flex; gap: 1rem; align-items: flex-start; max-width: calc(1180px + var(--ap-gutter) * 2); padding-block: 2rem 4rem; color: var(--ap-muted); }
.elitepress-contact-note span { color: var(--ap-accent); font-size: 1.3rem; }
.elitepress-contact-note p { max-width: 85ch; margin: 0; }
.elitepress-block--custom-spacing .elitepress-contact-hero__inner,
.elitepress-block--custom-spacing .elitepress-contact-layout,
.elitepress-block--custom-spacing .elitepress-contact-resources { padding-block: var(--elite-block-spacing); }
@media (max-width: 920px) {
	.elitepress-contact-layout { grid-template-columns: minmax(0, 1fr); }
	.elitepress-contact-layout--right .elitepress-contact-form-panel,
	.elitepress-contact-layout--right .elitepress-contact-info-panel { order: initial; }
	.elitepress-contact-resources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.elitepress-contact-hero__inner { min-height: 280px; }
	.elitepress-contact-hero__mark { right: -7%; }
	.elitepress-contact-resources__head { display: block; }
	.elitepress-contact-resources__head > p { margin-top: 1rem; }
	.elitepress-contact-resources__grid { grid-template-columns: minmax(0, 1fr); }
}
