/* ==========================================================================
   Amorette — "Soft Bento" by Lilac Room Studio
   --------------------------------------------------------------------------
    1. Fonts
    2. Design tokens
    3. Base & reset
    4. Accessibility helpers
    5. Primitives: wrap, buttons, chips, pills, tints, badges
    6. Header pill bar & category navigation
    7. Mobile bottom sheet
    8. Search dialog & search form
    9. Home bento grid
   10. Sections, filter pills & cards
   11. Subscribe band & topic tiles
   12. Banners (archive, search, paged home)
   13. Single post & page
   14. Table of contents
   15. Content typography & blocks
   16. Tags, share, author card, post navigation, related
   17. Comments
   18. Pagination
   19. Footer & widgets
   20. Empty state & 404
   21. WordPress core classes
   22. Motion preferences & print
   ========================================================================== */

/* 1. Fonts ------------------------------------------------------------------ */

@font-face {
	font-family: "Unbounded";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/unbounded-normal-400-800-cyrillic-ext.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Unbounded";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/unbounded-normal-400-800-cyrillic.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Unbounded";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/unbounded-normal-400-800-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Unbounded";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/unbounded-normal-400-800-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Onest";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/onest-normal-400-700-cyrillic-ext.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Onest";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/onest-normal-400-700-cyrillic.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Onest";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/onest-normal-400-700-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Onest";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/onest-normal-400-700-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 2. Design tokens ------------------------------------------------------------ */

:root {
	--am-bg: #f6f1ff;
	--am-surface: #fff;
	--am-ink: #1d1433;
	--am-muted: #5e5478;
	--am-primary: #7c4dff;
	--am-primary-ink: #5b33d6;
	--am-on-primary: #fff;
	--am-secondary: #3ddc97;
	--am-pop-peach: #ffb38a;
	--am-pop-sky: #5fb8f5;
	--am-lilac: #e9dfff;
	--am-mint: #d8f7ea;
	--am-peach: #ffe6d8;
	--am-sky: #dff1ff;
	--am-dark: #1d1433;
	--am-dark-text: #d6cbf5;
	--am-line: rgba(29, 20, 51, 0.1);

	--am-r-tile: 28px;
	--am-r-sm: 18px;
	--am-r-pill: 999px;
	--am-shadow: 0 1px 2px rgba(29, 20, 51, 0.06), 0 12px 32px -12px rgba(124, 77, 255, 0.25);
	--am-shadow-lift: 0 2px 6px rgba(29, 20, 51, 0.08), 0 26px 48px -18px rgba(124, 77, 255, 0.42);

	--am-font-display: "Unbounded", "Arial Black", system-ui, sans-serif;
	--am-font-body: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--am-wrap: 1320px;
	--am-wide: 1100px;
	--am-narrow: 720px;
	--am-pad: clamp(16px, 3.2vw, 32px);
	--am-gap: clamp(12px, 1.4vw, 20px);
	--am-header-h: 68px;
	--am-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

@supports (color: color-mix(in srgb, red, blue)) {
	:root {
		--am-lilac: color-mix(in srgb, var(--am-primary) 17%, #fff);
		--am-mint: color-mix(in srgb, var(--am-secondary) 20%, #fff);
	}
}

/* 3. Base & reset --------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--am-header-h) + 40px);
}

html:focus-within {
	scroll-behavior: smooth;
}

html.am-is-locked {
	overflow: hidden;
}

body {
	margin: 0;
	overflow-x: clip;
	background:
		radial-gradient(56rem 34rem at 6% -8%, rgba(124, 77, 255, 0.13), transparent 70%),
		radial-gradient(44rem 30rem at 98% 2%, rgba(61, 220, 151, 0.12), transparent 70%),
		var(--am-bg);
	background-repeat: no-repeat;
	color: var(--am-ink);
	font-family: var(--am-font-body);
	font-size: 1.0625rem;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

svg {
	flex: none;
}

a {
	color: var(--am-primary-ink);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--am-ink);
}

h1,
h2,
h3,
h4,
h5,
h6,
.am-section__title,
.am-card__title,
.am-topic__name,
.am-cta__title,
.am-comments__title,
.am-respond__title,
.am-empty__title {
	font-family: var(--am-font-display);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--am-ink);
	overflow-wrap: break-word;
}

p {
	margin: 0 0 1em;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
}

[hidden] {
	display: none !important;
}

::selection {
	background: var(--am-primary);
	color: var(--am-on-primary);
}

.am-main {
	display: block;
	min-height: 50vh;
}

.am-main:focus {
	outline: none;
}

.am-icon {
	width: 1.25em;
	height: 1.25em;
}

/* 4. Accessibility helpers ------------------------------------------------------- */

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip-path: none;
	height: auto;
	width: auto;
	z-index: 100000;
}

.am-skip:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	padding: 12px 22px;
	border-radius: var(--am-r-pill);
	background: var(--am-ink);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	box-shadow: var(--am-shadow-lift);
}

:focus-visible {
	outline: 3px solid var(--am-primary);
	outline-offset: 3px;
}

/* 5. Primitives ------------------------------------------------------------------- */

.am-wrap {
	width: min(var(--am-wrap), 100% - 2 * var(--am-pad));
	margin-inline: auto;
}

.am-tint--lilac {
	--am-tint: var(--am-lilac);
	--am-tint-pop: var(--am-primary);
}

.am-tint--mint {
	--am-tint: var(--am-mint);
	--am-tint-pop: var(--am-secondary);
}

.am-tint--peach {
	--am-tint: var(--am-peach);
	--am-tint-pop: var(--am-pop-peach);
}

.am-tint--sky {
	--am-tint: var(--am-sky);
	--am-tint-pop: var(--am-pop-sky);
}

.am-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	min-height: 50px;
	padding: 0 1.45em;
	border: 0;
	border-radius: var(--am-r-pill);
	font-family: var(--am-font-body);
	font-size: 0.97rem;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.3s var(--am-ease), box-shadow 0.3s var(--am-ease), background-color 0.2s;
}

.am-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--am-shadow-lift);
}

.am-btn .am-icon {
	width: 1.15em;
	height: 1.15em;
}

.am-btn--primary {
	background: var(--am-primary);
	color: var(--am-on-primary);
}

.am-btn--primary:hover {
	color: var(--am-on-primary);
}

.am-btn--dark {
	background: var(--am-ink);
	color: #fff;
}

.am-btn--dark:hover {
	color: #fff;
}

.am-btn--light {
	background: #fff;
	color: var(--am-ink);
	box-shadow: 0 1px 2px rgba(29, 20, 51, 0.08);
}

.am-btn--light:hover {
	color: var(--am-ink);
}

.am-btn--sm {
	min-height: 46px;
	padding: 0 1.15em;
	font-size: 0.92rem;
}

.am-btn--lg {
	min-height: 58px;
	padding: 0 1.8em;
	font-size: 1.02rem;
}

.am-iconbtn {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--am-lilac);
	color: var(--am-ink);
	transition: transform 0.3s var(--am-ease), background-color 0.2s;
}

.am-iconbtn:hover {
	transform: scale(1.06);
	background: #ddd0ff;
}

.am-iconbtn--dark {
	background: var(--am-ink);
	color: #fff;
}

.am-iconbtn--dark:hover {
	background: #33275a;
}

.am-iconbtn--light {
	background: var(--am-bg);
}

.am-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: 100%;
	padding: 6px 13px 6px 11px;
	border-radius: var(--am-r-pill);
	background: var(--am-tint, var(--am-lilac));
	color: var(--am-ink);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: transform 0.25s var(--am-ease), box-shadow 0.25s;
}

.am-chip::before {
	content: "";
	width: 7px;
	height: 7px;
	flex: none;
	border-radius: 50%;
	background: var(--am-tint-pop, var(--am-primary));
}

.am-chip:hover {
	color: var(--am-ink);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -8px rgba(29, 20, 51, 0.35);
}

.am-chip--glass {
	background: rgba(255, 255, 255, 0.88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.am-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-pills--center {
	justify-content: center;
}

.am-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px;
	border-radius: var(--am-r-pill);
	background: var(--am-tint, var(--am-lilac));
	color: var(--am-ink);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.25s var(--am-ease), box-shadow 0.25s;
}

.am-pill:has(.am-pill__count) {
	padding-right: 7px;
}

.am-pill:hover {
	color: var(--am-ink);
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -12px rgba(29, 20, 51, 0.4);
}

.am-pill__count {
	display: inline-grid;
	place-items: center;
	min-width: 28px;
	height: 28px;
	padding: 0 7px;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.8);
	font-size: 0.75rem;
	font-weight: 700;
}

.am-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: var(--am-r-pill);
	background: var(--am-primary);
	color: var(--am-on-primary);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

/* 6. Header pill bar & category navigation ---------------------------------------- */

.am-header {
	position: relative;
	z-index: 60;
	padding: 16px var(--am-pad) 0;
	pointer-events: none;
}

.am-has-sticky-header .am-header {
	position: sticky;
	top: 0;
}

.admin-bar.am-has-sticky-header .am-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	.admin-bar.am-has-sticky-header .am-header {
		top: 0;
	}
}

.am-header__bar {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: var(--am-wrap);
	height: var(--am-header-h);
	margin: 0 auto;
	padding: 0 11px 0 13px;
	border-radius: var(--am-r-pill);
	pointer-events: auto;
}

.am-header__bar::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: inherit;
	background: rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: blur(18px) saturate(1.5);
	backdrop-filter: blur(18px) saturate(1.5);
	box-shadow: var(--am-shadow);
}

.am-brand {
	display: flex;
	flex: none;
	align-items: center;
	gap: 11px;
	min-width: 0;
	color: var(--am-ink);
	font-family: var(--am-font-display);
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.05;
	text-decoration: none;
}

.am-brand:hover {
	color: var(--am-ink);
}

.am-brand__mark {
	width: 42px;
	height: 42px;
	transition: transform 0.5s var(--am-ease);
}

.am-brand:hover .am-brand__mark {
	transform: rotate(-8deg) scale(1.06);
}

.am-mark__bg {
	fill: var(--am-lilac);
}

.am-mark__a {
	fill: var(--am-primary);
}

.am-mark__b {
	fill: var(--am-secondary);
	fill-opacity: 0.85;
}

.am-brand--logo img {
	display: block;
	width: auto;
	max-height: 46px;
}

.am-brand__name {
	max-width: 13ch;
}

.am-header__panel {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	min-width: 0;
}

.am-sheet__head,
.am-sheet__foot {
	display: none;
}

.am-nav {
	--am-fade-s: 0px;
	--am-fade-e: 0px;
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	margin: -6px 0 -18rem;
	padding: 6px 6px 18rem;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--am-fade-s), #000 calc(100% - var(--am-fade-e)), transparent 100%), linear-gradient(#000, #000);
	mask-image: linear-gradient(90deg, transparent 0, #000 var(--am-fade-s), #000 calc(100% - var(--am-fade-e)), transparent 100%), linear-gradient(#000, #000);
	-webkit-mask-size: 100% 58px, 100% calc(100% - 58px);
	mask-size: 100% 58px, 100% calc(100% - 58px);
	-webkit-mask-position: 0 0, 0 100%;
	mask-position: 0 0, 0 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.am-nav::-webkit-scrollbar {
	display: none;
}

.am-nav[data-am-fade~="start"] {
	--am-fade-s: 44px;
}

.am-nav[data-am-fade~="end"] {
	--am-fade-e: 44px;
}

.am-nav__list,
.am-nav__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-nav__list {
	display: flex;
	gap: 2px;
	width: max-content;
	margin-inline: auto;
	pointer-events: auto;
}

.am-nav__list li {
	position: relative;
	display: flex;
	align-items: center;
}

.am-nav__list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 15px;
	border-radius: var(--am-r-pill);
	color: var(--am-ink);
	font-size: 0.94rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s, color 0.2s;
}

.am-nav__list > li > a::before {
	content: "";
	width: 7px;
	height: 7px;
	flex: none;
	border-radius: 50%;
	background: var(--am-tint-pop, var(--am-primary));
	opacity: 0.85;
}

.am-nav__list a:hover {
	background: var(--am-tint, var(--am-lilac));
	color: var(--am-ink);
}

.am-nav__list .current-menu-item > a,
.am-nav__list .current-cat > a,
.am-nav__list .current-menu-ancestor > a,
.am-nav__list .current-cat-parent > a {
	background: var(--am-ink);
	color: #fff;
}

.am-nav__list .current-menu-item > a::before,
.am-nav__list .current-cat > a::before {
	opacity: 1;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.am-nav__sub-toggle {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	margin-left: -8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--am-muted);
}

.am-nav__sub-toggle:hover {
	background: var(--am-lilac);
	color: var(--am-ink);
}

.am-nav__sub-toggle .am-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.25s;
}

.am-nav__sub-toggle[aria-expanded="true"] .am-icon {
	transform: rotate(180deg);
}

.am-nav__list .sub-menu,
.am-nav__list .children {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 5;
	display: grid;
	gap: 2px;
	min-width: 230px;
	max-height: 16.5rem;
	padding: 8px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border-radius: var(--am-r-sm);
	background: #fff;
	box-shadow: var(--am-shadow-lift);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s, transform 0.25s var(--am-ease), visibility 0s 0.25s;
}

.am-nav__list .sub-menu::before,
.am-nav__list .children::before {
	content: "";
	position: absolute;
	inset: -12px 0 auto;
	height: 12px;
}

.am-nav__list li:hover > .sub-menu,
.am-nav__list li:focus-within > .sub-menu,
.am-nav__list li.am-nav__item--open > .sub-menu,
.am-nav__list li:hover > .children,
.am-nav__list li:focus-within > .children {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.2s, transform 0.25s var(--am-ease);
}

.am-nav__list .sub-menu li,
.am-nav__list .children li {
	display: block;
}

.am-nav__list .sub-menu a,
.am-nav__list .children a {
	display: flex;
	width: 100%;
	min-height: 40px;
	padding: 8px 14px;
	border-radius: 12px;
	white-space: normal;
}

.am-nav__list .sub-menu .sub-menu,
.am-nav__list .children .children {
	position: static;
	min-width: 0;
	max-height: none;
	padding: 0 0 0 12px;
	overflow: visible;
	box-shadow: none;
	opacity: 1;
	visibility: inherit;
	transform: none;
}

.am-nav__list .sub-menu .am-nav__sub-toggle {
	display: none;
}

.am-header__actions {
	display: flex;
	flex: none;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.am-header__toggle {
	display: none;
}

.am-scrim {
	position: fixed;
	inset: 0;
	z-index: 1;
	background: rgba(29, 20, 51, 0.42);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s, visibility 0s 0.35s;
}

.am-scrim--visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.35s;
}

/* 7. Mobile bottom sheet ---------------------------------------------------------- */

@media (max-width: 960px) {
	:root {
		--am-header-h: 62px;
	}

	.am-header__toggle {
		display: inline-grid;
	}

	.am-header__cta {
		display: none;
	}

	.am-brand__name {
		font-size: 0.92rem;
	}

	.am-header__panel {
		position: fixed;
		inset: auto 0 0;
		z-index: 3;
		flex-direction: column;
		align-items: stretch;
		max-height: min(88vh, 760px);
		max-height: min(88dvh, 760px);
		padding: 10px 20px max(22px, env(safe-area-inset-bottom));
		overflow-y: auto;
		overscroll-behavior: contain;
		border-radius: 30px 30px 0 0;
		background: #fff;
		box-shadow: 0 -24px 60px -24px rgba(29, 20, 51, 0.45);
		transform: translateY(104%);
		visibility: hidden;
		transition: transform 0.45s var(--am-ease), visibility 0s 0.45s;
	}

	.am-header__panel--open {
		transform: none;
		visibility: visible;
		transition: transform 0.45s var(--am-ease);
	}

	.am-sheet__head {
		position: sticky;
		top: -10px;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: -10px -20px 6px;
		padding: 22px 20px 12px;
		background: #fff;
	}

	.am-sheet__handle {
		position: absolute;
		top: 9px;
		left: 50%;
		width: 44px;
		height: 5px;
		border-radius: 5px;
		background: #dcd3f0;
		transform: translateX(-50%);
	}

	.am-sheet__title {
		margin: 0;
		font-family: var(--am-font-display);
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	.am-nav {
		flex: none;
		margin: 0;
		padding: 0;
		overflow: visible;
		pointer-events: auto;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.am-nav__list {
		flex-direction: column;
		gap: 6px;
		width: auto;
		margin: 0;
	}

	.am-nav__list li {
		flex-wrap: wrap;
	}

	.am-nav__list > li > a {
		flex: 1;
		min-height: 56px;
		padding: 0 18px;
		border-radius: var(--am-r-sm);
		background: var(--am-tint, var(--am-lilac));
		font-family: var(--am-font-display);
		font-size: 1.02rem;
		font-weight: 600;
		letter-spacing: -0.01em;
	}

	.am-nav__list > li > a::before {
		width: 9px;
		height: 9px;
	}

	.am-nav__sub-toggle {
		width: 56px;
		height: 56px;
		margin-left: 6px;
		border-radius: var(--am-r-sm);
		background: var(--am-bg);
	}

	.am-nav__list .sub-menu,
	.am-nav__list .children {
		position: static;
		display: none;
		flex-basis: 100%;
		min-width: 0;
		margin: 6px 0 4px;
		padding: 6px;
		background: var(--am-bg);
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.am-nav__list .sub-menu::before,
	.am-nav__list .children::before {
		display: none;
	}

	.am-nav__list li.am-nav__item--open > .sub-menu,
	.am-nav__list .sub-menu .sub-menu,
	.am-nav__list .children {
		display: grid;
		max-height: none;
		overflow: visible;
	}

	.am-nav__list .sub-menu .sub-menu {
		margin: 2px 0 2px 10px;
		padding: 0;
	}

	.am-sheet__foot {
		display: grid;
		gap: 14px;
		margin-top: 18px;
		padding-top: 18px;
		border-top: 1px solid var(--am-line);
	}

	.am-sheet__cta {
		width: 100%;
	}
}

/* 8. Search dialog & search form ------------------------------------------------------- */

.am-search {
	width: min(720px, calc(100% - 24px));
	max-width: none;
	max-height: calc(100% - 24px);
	margin: max(12px, 12vh) auto auto;
	padding: 0;
	border: 0;
	border-radius: var(--am-r-tile);
	background: #fff;
	color: var(--am-ink);
	box-shadow: 0 40px 90px -30px rgba(29, 20, 51, 0.55);
}

.am-search[open] {
	animation: am-pop 0.4s var(--am-ease);
}

.am-search::backdrop {
	background: rgba(29, 20, 51, 0.45);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.am-search__inner {
	padding: clamp(20px, 4vw, 36px);
}

.am-search__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.am-search__title {
	margin: 0;
	font-family: var(--am-font-display);
	font-size: clamp(1.2rem, 2.6vw, 1.6rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.am-search__label {
	margin: 24px 0 12px;
	color: var(--am-muted);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.am-searchform {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 6px;
	border: 1.5px solid transparent;
	border-radius: var(--am-r-pill);
	background: var(--am-bg);
	transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.am-searchform:focus-within {
	border-color: var(--am-primary);
	background: #fff;
	box-shadow: 0 0 0 5px rgba(124, 77, 255, 0.16);
}

.am-searchform__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	color: var(--am-muted);
}

.am-searchform__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	padding: 0 8px 0 0;
	border: 0;
	background: transparent;
	font-size: 1rem;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.am-searchform__input::placeholder {
	color: #8a80a3;
	opacity: 1;
}

.am-searchform__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.am-searchform__submit {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--am-r-pill);
	background: var(--am-ink);
	color: #fff;
	font-weight: 600;
	transition: background-color 0.2s, transform 0.25s var(--am-ease);
}

.am-searchform__submit:hover {
	background: var(--am-primary);
	color: var(--am-on-primary);
}

.am-searchform__submit .am-icon {
	width: 18px;
	height: 18px;
}

.am-searchform--hero,
.am-searchform--dialog {
	padding: 8px;
	background: #fff;
	box-shadow: var(--am-shadow);
}

.am-searchform--dialog {
	background: var(--am-bg);
	box-shadow: none;
}

.am-searchform--hero .am-searchform__input,
.am-searchform--dialog .am-searchform__input {
	height: 56px;
	font-size: 1.1rem;
}

.am-searchform--hero .am-searchform__submit,
.am-searchform--dialog .am-searchform__submit {
	height: 56px;
	padding: 0 26px;
}

.am-searchform--sheet .am-searchform__submit-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.am-searchform--sheet .am-searchform__submit {
	width: 46px;
	padding: 0;
	justify-content: center;
}

@media (max-width: 520px) {
	.am-searchform__submit-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.am-searchform__submit,
	.am-searchform--hero .am-searchform__submit,
	.am-searchform--dialog .am-searchform__submit {
		justify-content: center;
		width: 50px;
		padding: 0;
	}
}

/* 9. Home bento grid ----------------------------------------------------------------- */

.am-home {
	padding-top: clamp(20px, 3vw, 36px);
}

.am-bento {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(15rem, auto)) repeat(2, minmax(12.5rem, auto));
	grid-template-areas:
		"hero hero lead lead"
		"hero hero lead lead"
		"tip tall topics topics"
		"stat tall wide wide";
	gap: var(--am-gap);
}

.am-tile {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(20px, 2.2vw, 30px);
	overflow: hidden;
	border-radius: var(--am-r-tile);
	background: var(--am-surface);
	box-shadow: var(--am-shadow);
}

.am-tile__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	color: var(--am-ink);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.am-tile__label .am-icon {
	width: 18px;
	height: 18px;
	color: var(--am-primary);
}

/* Hero tile */
.am-hero {
	grid-area: hero;
	justify-content: space-between;
	gap: 28px;
	padding: clamp(24px, 3.4vw, 48px);
	background:
		radial-gradient(70% 60% at 100% 100%, rgba(61, 220, 151, 0.38), transparent 70%),
		radial-gradient(60% 55% at 0% 0%, rgba(255, 255, 255, 0.85), transparent 70%),
		linear-gradient(150deg, var(--am-lilac) 0%, #d9c8ff 52%, #f3dcff 100%);
	container-type: inline-size;
}

.am-hero__copy {
	position: relative;
	z-index: 1;
}

.am-hero .am-badge {
	margin: 0 0 22px;
	padding: 7px 14px 7px 11px;
	background: rgba(255, 255, 255, 0.78);
	color: var(--am-ink);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	box-shadow: 0 1px 2px rgba(29, 20, 51, 0.06);
}

.am-badge__dot {
	position: relative;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--am-secondary);
}

.am-badge__dot::after {
	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	background: var(--am-secondary);
	opacity: 0.35;
	animation: am-ping 2.2s var(--am-ease) infinite;
}

.am-hero__title {
	max-width: 21ch;
	margin: 0 0 20px;
	font-size: clamp(1.7rem, 3.2vw, 2.9rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.08;
	text-wrap: balance;
}

@supports (font-size: 1cqi) {
	.am-hero__title {
		font-size: clamp(1.6rem, 6.4cqi, 2.9rem);
	}
}

.am-hero__lead {
	max-width: 48ch;
	margin: 0;
	padding-left: 16px;
	border-left: 3px solid var(--am-secondary);
	color: #3d3358;
	font-size: clamp(0.98rem, 1.15vw, 1.08rem);
	line-height: 1.6;
}

.am-hero__actions {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.am-hero__art {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.am-hero__heart {
	position: absolute;
	width: auto;
	height: auto;
}

.am-hero__heart--big {
	right: -7%;
	bottom: -12%;
	width: 36%;
	color: #fff;
	opacity: 0.55;
	transform: rotate(-12deg);
	filter: drop-shadow(0 20px 40px rgba(124, 77, 255, 0.25));
	animation: am-float 9s ease-in-out infinite;
}

.am-hero__heart--mint {
	top: 5%;
	right: 7%;
	width: 12%;
	color: var(--am-secondary);
	opacity: 0.85;
	transform: rotate(14deg);
	animation: am-float 7s ease-in-out -2s infinite;
}

.am-hero__spark {
	position: absolute;
	top: 17%;
	right: 4%;
	width: 7%;
	height: auto;
	color: var(--am-primary);
	opacity: 0.75;
	animation: am-twinkle 4s ease-in-out infinite;
}

/* "Top stories" label: the H2 of the bento trio, pinned to the lead tile */
.am-bento__label {
	grid-area: lead;
	z-index: 3;
	align-self: start;
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 16px 16px 0 0;
	padding: 9px 16px 9px 12px;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 24px -12px rgba(29, 20, 51, 0.55);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
	pointer-events: none;
	transition: transform 0.4s var(--am-ease);
}

.am-bento__label .am-icon {
	width: 15px;
	height: 15px;
	color: var(--am-primary);
}

.am-bento:has(.am-tile--lead:hover) .am-bento__label {
	transform: translateY(-4px);
}

/* Media tiles (lead, tall, wide, related mini) */
.am-tile--media {
	justify-content: flex-end;
	padding: 0;
	color: #fff;
	transition: transform 0.4s var(--am-ease), box-shadow 0.4s var(--am-ease);
}

.am-tile--media:hover {
	transform: translateY(-4px) scale(1.008);
	box-shadow: var(--am-shadow-lift);
}

.am-tile--lead {
	grid-area: lead;
}

.am-tile--tall {
	grid-area: tall;
}

.am-tile--wide {
	grid-area: wide;
}

.am-tile__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: var(--am-lilac);
}

.am-tile__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--am-ease);
}

.am-tile--media:hover .am-tile__media img {
	transform: scale(1.05);
}

.am-tile__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(29, 20, 51, 0.28) 0%, rgba(29, 20, 51, 0) 28%),
		linear-gradient(180deg, rgba(29, 20, 51, 0) 38%, rgba(29, 20, 51, 0.82) 100%);
}

.am-tile__top {
	position: absolute;
	top: 16px;
	right: 16px;
	left: 16px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	pointer-events: none;
}

.am-tile__top > * {
	pointer-events: auto;
}

.am-tile__flag,
.am-card__flag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px 6px 10px;
	border-radius: var(--am-r-pill);
	background: var(--am-primary);
	color: var(--am-on-primary);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
}

.am-tile__flag .am-icon,
.am-card__flag .am-icon {
	width: 14px;
	height: 14px;
}

.am-tile__body {
	padding: clamp(18px, 2.2vw, 28px);
}

.am-tile__title {
	margin: 0 0 10px;
	color: inherit;
	font-family: var(--am-font-display);
	font-size: clamp(1.02rem, 1.25vw, 1.2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
	text-wrap: balance;
}

.am-tile--lead .am-tile__title {
	max-width: 22ch;
	font-size: clamp(1.45rem, 2.3vw, 2.15rem);
	line-height: 1.14;
}

.am-tile--wide .am-tile__title {
	max-width: 26ch;
	font-size: clamp(1.1rem, 1.5vw, 1.4rem);
}

.am-tile__link {
	color: inherit;
	text-decoration: none;
}

.am-tile__link:hover {
	color: inherit;
}

.am-tile__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.am-tile__link:focus-visible {
	outline: none;
}

.am-tile__link:focus-visible::after {
	outline: 3px solid var(--am-primary);
	outline-offset: -3px;
}

.am-tile__excerpt {
	max-width: 46ch;
	margin: 0 0 14px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.98rem;
	line-height: 1.55;
}

.am-tile__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.84rem;
	line-height: 1.3;
}

.am-tile__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.am-tile__meta-item .am-icon {
	width: 16px;
	height: 16px;
}

.am-tile__author {
	position: relative;
	z-index: 2;
	gap: 8px;
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}

.am-tile__author:hover {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.am-tile__avatar {
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.75);
}

/* Media tile without an image: tinted placeholder, ink text */
.am-tile--plain {
	color: var(--am-ink);
}

.am-tile--plain .am-tile__shade {
	display: none;
}

.am-tile--plain .am-tile__excerpt,
.am-tile--plain .am-tile__meta {
	color: var(--am-muted);
}

.am-tile--plain .am-tile__body {
	position: relative;
	margin: 12px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.82);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.am-tile--deco {
	align-items: center;
	justify-content: center;
	background: linear-gradient(140deg, var(--am-sky), var(--am-lilac));
}

.am-tile__deco-mark {
	width: 40%;
	height: auto;
	opacity: 0.9;
}

/* Tip tile */
.am-tip {
	grid-area: tip;
	background: linear-gradient(160deg, var(--am-mint) 0%, #c5f1dd 100%);
}

.am-tip .am-tile__label .am-icon {
	color: #129a62;
}

.am-tip__text {
	position: relative;
	margin: 0 0 14px;
	padding-top: 22px;
	font-size: 1.04rem;
	font-weight: 600;
	line-height: 1.45;
}

.am-tip__text::before {
	content: "“";
	position: absolute;
	top: -8px;
	left: -2px;
	color: var(--am-secondary);
	font-family: var(--am-font-display);
	font-size: 3.4rem;
	font-weight: 800;
	line-height: 1;
}

.am-tip__date {
	margin: auto 0 0;
	color: #3f5e52;
	font-size: 0.82rem;
	font-weight: 500;
}

/* Stat tile */
.am-stat {
	grid-area: stat;
	justify-content: space-between;
	background:
		radial-gradient(70% 70% at 100% 0%, rgba(255, 255, 255, 0.6), transparent 70%),
		linear-gradient(160deg, var(--am-peach) 0%, #ffd2bd 100%);
}

.am-stat__main {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
}

.am-stat__main .am-count {
	display: block;
	margin-bottom: 4px;
	font-family: var(--am-font-display);
	font-size: clamp(3.4rem, 5.4vw, 4.8rem);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 0.95;
}

.am-stat__sub {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0;
	padding: 8px 14px 8px 10px;
	align-self: flex-start;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.7);
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.25;
}

.am-stat__sub .am-icon {
	width: 18px;
	height: 18px;
	color: #e9763e;
}

/* Topics tile */
.am-topics-tile {
	grid-area: topics;
	justify-content: center;
}

@media (max-width: 1100px) {
	.am-bento {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		grid-template-areas:
			"hero hero"
			"lead lead"
			"tip stat"
			"tall wide"
			"topics topics";
	}

	.am-hero {
		min-height: 26rem;
	}

	.am-tile--lead {
		min-height: clamp(24rem, 62vw, 34rem);
	}

	.am-tile--tall,
	.am-tile--wide {
		min-height: 22rem;
	}
}

@media (max-width: 640px) {
	.am-bento {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"hero"
			"lead"
			"tip"
			"stat"
			"tall"
			"wide"
			"topics";
	}

	.am-hero {
		min-height: 0;
	}

	.am-tile--lead {
		min-height: 27rem;
	}

	.am-tile--tall,
	.am-tile--wide {
		min-height: 19rem;
	}

	.am-hero__heart--big {
		width: 52%;
		right: -10%;
		bottom: -6%;
	}

	.am-hero__actions .am-btn {
		flex: 1 1 auto;
	}
}

/* 10. Sections, filter pills & cards ------------------------------------------------- */

.am-section {
	margin-top: clamp(56px, 7vw, 104px);
}

.am-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px 32px;
	margin-bottom: clamp(22px, 3vw, 34px);
}

.am-section__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	color: var(--am-primary-ink);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.am-section__eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.am-section__title {
	margin: 0;
	font-size: clamp(1.9rem, 3.6vw, 2.9rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.am-section__title--sm {
	margin-bottom: 24px;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
}

.am-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	max-width: 820px;
}

.am-fresh .am-filter {
	flex-basis: 100%;
	justify-content: flex-start;
	max-width: none;
}

.am-filter__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--am-line);
	border-radius: var(--am-r-pill);
	background: #fff;
	color: var(--am-ink);
	font-size: 0.9rem;
	font-weight: 500;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.25s var(--am-ease);
}

.am-filter__btn::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--am-tint-pop, var(--am-ink));
}

.am-filter__btn:hover {
	border-color: transparent;
	background: var(--am-tint, var(--am-lilac));
}

.am-filter__btn[aria-pressed="true"] {
	border-color: var(--am-ink);
	background: var(--am-ink);
	color: #fff;
}

.am-filter__btn[aria-pressed="true"]::before {
	background: var(--am-tint-pop, var(--am-secondary));
}

.am-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}

.am-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 10px;
	border-radius: var(--am-r-tile);
	background: var(--am-surface);
	box-shadow: var(--am-shadow);
	transition: transform 0.4s var(--am-ease), box-shadow 0.4s var(--am-ease);
}

.am-card:hover {
	transform: translateY(-5px) scale(1.01);
	box-shadow: var(--am-shadow-lift);
}

.am-card--enter {
	animation: am-rise 0.45s var(--am-ease) both;
}

.am-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 20px;
	background: var(--am-lilac);
}

.am-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--am-ease);
}

.am-card:hover .am-card__media img {
	transform: scale(1.05);
}

.am-card__flag {
	position: absolute;
	top: 12px;
	left: 12px;
}

.am-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 16px 12px 10px;
}

.am-card .am-chip {
	z-index: 2;
}

.am-card__title {
	margin: 0;
	font-size: 1.16rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.am-card__link {
	color: var(--am-ink);
	text-decoration: none;
}

.am-card__link:hover {
	color: var(--am-primary-ink);
}

.am-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: var(--am-r-tile);
}

.am-card__link:focus-visible {
	outline: none;
}

.am-card__link:focus-visible::after {
	outline: 3px solid var(--am-primary);
	outline-offset: 3px;
}

.am-card__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--am-muted);
	font-size: 0.95rem;
	line-height: 1.6;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.am-meta {
	display: flex;
	align-items: center;
	gap: 11px;
	width: 100%;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--am-line);
	color: var(--am-muted);
	font-size: 0.82rem;
	line-height: 1.3;
}

.am-meta__avatar {
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--am-lilac);
}

.am-meta__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.am-meta__author {
	position: relative;
	z-index: 2;
	align-self: flex-start;
	color: var(--am-ink);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
}

.am-meta__author:hover {
	color: var(--am-primary-ink);
}

.am-meta__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.am-meta__item {
	display: inline-flex;
	align-items: center;
}

.am-meta__item + .am-meta__item::before {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 8px;
	border-radius: 50%;
	background: var(--am-secondary);
}

/* Placeholder for posts without a featured image */
.am-ph {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(60% 60% at 18% 12%, rgba(255, 255, 255, 0.85), transparent 70%),
		radial-gradient(70% 70% at 100% 100%, var(--am-tint-pop, var(--am-primary)), transparent 75%),
		var(--am-tint, var(--am-lilac));
}

.am-ph::before {
	content: "";
	position: absolute;
	inset: -20%;
	background: var(--am-tint-pop, var(--am-primary));
	opacity: 0.2;
	transform: rotate(-14deg);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M15 23.5c-.2 0-.4 0-.5-.2-3-2.5-5.1-4.4-5.1-6.8 0-1.7 1.3-3 2.9-3 1.1 0 2 .6 2.7 1.4.7-.9 1.6-1.4 2.7-1.4 1.6 0 2.9 1.3 2.9 3 0 2.4-2.1 4.3-5.1 6.8-.1.1-.3.2-.5.2zM45 53.5c-.2 0-.4 0-.5-.2-3-2.5-5.1-4.4-5.1-6.8 0-1.7 1.3-3 2.9-3 1.1 0 2 .6 2.7 1.4.7-.9 1.6-1.4 2.7-1.4 1.6 0 2.9 1.3 2.9 3 0 2.4-2.1 4.3-5.1 6.8-.1.1-.3.2-.5.2z'/%3E%3C/svg%3E") 0 0 / 64px 64px repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M15 23.5c-.2 0-.4 0-.5-.2-3-2.5-5.1-4.4-5.1-6.8 0-1.7 1.3-3 2.9-3 1.1 0 2 .6 2.7 1.4.7-.9 1.6-1.4 2.7-1.4 1.6 0 2.9 1.3 2.9 3 0 2.4-2.1 4.3-5.1 6.8-.1.1-.3.2-.5.2zM45 53.5c-.2 0-.4 0-.5-.2-3-2.5-5.1-4.4-5.1-6.8 0-1.7 1.3-3 2.9-3 1.1 0 2 .6 2.7 1.4.7-.9 1.6-1.4 2.7-1.4 1.6 0 2.9 1.3 2.9 3 0 2.4-2.1 4.3-5.1 6.8-.1.1-.3.2-.5.2z'/%3E%3C/svg%3E") 0 0 / 64px 64px repeat;
}

.am-ph__letter {
	position: relative;
	color: #fff;
	font-family: var(--am-font-display);
	font-size: clamp(4.5rem, 9vw, 7.5rem);
	font-weight: 800;
	line-height: 1;
	text-shadow: 0 18px 40px rgba(29, 20, 51, 0.18);
}

.am-ph__heart {
	position: absolute;
	right: 12%;
	bottom: 14%;
	width: 18%;
	height: auto;
	color: #fff;
	opacity: 0.9;
	transform: rotate(12deg);
}

@media (max-width: 1024px) {
	.am-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.am-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.am-filter {
		flex-wrap: nowrap;
		justify-content: flex-start;
		max-width: none;
		width: calc(100% + 2 * var(--am-pad));
		margin-inline: calc(-1 * var(--am-pad));
		padding: 4px var(--am-pad) 8px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.am-filter::-webkit-scrollbar {
		display: none;
	}

	.am-filter__btn {
		flex: none;
	}
}

/* 11. Subscribe band & topic tiles --------------------------------------------------------- */

.am-cta {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) auto;
	align-items: center;
	gap: 26px 48px;
	padding: clamp(28px, 5vw, 64px);
	overflow: hidden;
	border-radius: var(--am-r-tile);
	background:
		radial-gradient(60% 120% at 100% 0%, rgba(255, 255, 255, 0.7), transparent 70%),
		linear-gradient(115deg, #bff2da 0%, var(--am-mint) 45%, #ebfbf3 100%);
	box-shadow: var(--am-shadow);
}

.am-cta__title {
	margin: 0 0 12px;
	font-size: clamp(1.8rem, 3.6vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.am-cta__text {
	max-width: 46ch;
	margin: 0;
	color: #35504a;
	font-size: 1.08rem;
}

.am-cta__actions {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.am-cta__art {
	position: absolute;
	top: -70px;
	right: -40px;
	z-index: -1;
	width: 250px;
	height: 250px;
	pointer-events: none;
}

.am-cta__heart {
	width: 100%;
	height: 100%;
	color: #fff;
	opacity: 0.6;
	transform: rotate(-10deg);
}

.am-cta__plane {
	position: absolute;
	top: 34%;
	left: -22%;
	width: 26%;
	height: auto;
	color: var(--am-secondary);
	opacity: 0.6;
	transform: rotate(-16deg);
}

@media (max-width: 800px) {
	.am-cta {
		grid-template-columns: minmax(0, 1fr);
	}

	.am-cta__actions .am-btn {
		flex: 1 1 auto;
	}
}

.am-topics__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--am-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-topic {
	position: relative;
	isolation: isolate;
	display: flex;
	flex: 1 1 260px;
	flex-direction: column;
	gap: 8px;
	min-height: 210px;
	padding: 26px 26px 24px;
	overflow: hidden;
	border-radius: var(--am-r-tile);
	background: var(--am-tint, var(--am-lilac));
	transition: transform 0.4s var(--am-ease), box-shadow 0.4s var(--am-ease);
}

.am-topic::before {
	content: "";
	position: absolute;
	top: -40%;
	right: -22%;
	z-index: -1;
	width: 70%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--am-tint-pop, var(--am-primary));
	opacity: 0.22;
	filter: blur(6px);
	transition: transform 0.6s var(--am-ease);
}

.am-topic:hover {
	transform: translateY(-5px) scale(1.01);
	box-shadow: var(--am-shadow-lift);
}

.am-topic:hover::before {
	transform: scale(1.25);
}

.am-topic__name {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.am-topic__link {
	color: var(--am-ink);
	text-decoration: none;
}

.am-topic__link:hover {
	color: var(--am-ink);
}

.am-topic__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: var(--am-r-tile);
}

.am-topic__link:focus-visible {
	outline: none;
}

.am-topic__link:focus-visible::after {
	outline: 3px solid var(--am-primary);
	outline-offset: 3px;
}

.am-topic__desc {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #4b4265;
	font-size: 0.94rem;
	line-height: 1.5;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.am-topic__count {
	margin: auto 0 0;
	padding: 14px 60px 0 0;
	font-size: 0.86rem;
	font-weight: 600;
}

.am-topic__count .am-count {
	font-family: var(--am-font-display);
	font-weight: 700;
}

.am-topic__arrow {
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fff;
	color: var(--am-ink);
	transition: transform 0.4s var(--am-ease), background-color 0.2s, color 0.2s;
}

.am-topic:hover .am-topic__arrow {
	background: var(--am-ink);
	color: #fff;
	transform: rotate(45deg);
}

/* 12. Banners ---------------------------------------------------------------------------- */

.am-listing {
	padding-top: clamp(20px, 3vw, 32px);
}

.am-banner {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	gap: 28px;
	margin-bottom: clamp(28px, 4vw, 48px);
	padding: clamp(28px, 5vw, 60px);
	overflow: hidden;
	border-radius: var(--am-r-tile);
	background:
		radial-gradient(60% 90% at 100% 100%, rgba(255, 255, 255, 0.75), transparent 70%),
		linear-gradient(135deg, var(--am-tint, var(--am-lilac)) 0%, #fff 140%);
	box-shadow: var(--am-shadow);
}

.am-banner__body {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 780px;
}

.am-banner__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 6px 14px;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.75);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.am-banner__eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--am-tint-pop, var(--am-primary));
}

.am-banner__title {
	margin: 0 0 14px;
	font-size: clamp(2.1rem, 5vw, 3.8rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.04;
}

.am-banner__desc {
	max-width: 58ch;
	color: #463d60;
	font-size: 1.1rem;
	line-height: 1.6;
}

.am-banner__desc p {
	margin: 0;
}

.am-banner__count {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 18px 0 0;
	padding: 8px 16px;
	border-radius: var(--am-r-pill);
	background: var(--am-ink);
	color: #fff;
	font-size: 0.88rem;
	font-weight: 600;
}

.am-banner__art {
	position: absolute;
	top: 50%;
	right: clamp(-60px, -2vw, 0px);
	z-index: -1;
	width: clamp(180px, 26vw, 340px);
	height: auto;
	color: var(--am-tint-pop, var(--am-primary));
	opacity: 0.32;
	stroke-width: 1.1;
	transform: translateY(-50%) rotate(-12deg);
}

.am-banner--tag .am-banner__title::before {
	content: "#";
	margin-right: 0.04em;
	color: var(--am-tint-pop, var(--am-primary));
}

.am-banner__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.am-banner__facts .am-banner__count {
	margin: 0;
}

.am-banner__fact {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 0 16px;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.75);
	color: var(--am-ink);
	font-size: 0.88rem;
	font-weight: 600;
}

.am-banner__fact .am-icon {
	width: 16px;
	height: 16px;
	color: var(--am-tint-pop, var(--am-primary));
}

.am-banner__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: inherit;
	text-decoration: none;
}

.am-banner__link:hover {
	color: var(--am-primary-ink);
}

.am-banner__nearby {
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid rgba(29, 20, 51, 0.1);
}

.am-banner__label {
	margin: 0 0 12px;
	color: var(--am-muted);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.am-banner__nearby .am-pills {
	gap: 8px;
}

.am-banner__nearby .am-pill {
	min-height: 38px;
	background: rgba(255, 255, 255, 0.72);
	font-size: 0.88rem;
}

.am-banner__nearby .am-pill::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--am-tint-pop, var(--am-primary));
}

.am-banner__nearby .am-pill--current {
	background: var(--am-ink);
	color: #fff;
}

.am-banner__nearby .am-pill--current .am-pill__count {
	background: rgba(255, 255, 255, 0.18);
}

.am-banner__position {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: -2px 0 16px;
	color: var(--am-primary-ink);
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	font-weight: 600;
	line-height: 1.45;
}

.am-banner__position::before {
	content: "";
	flex: none;
	width: 26px;
	height: 2px;
	margin-top: 0.72em;
	border-radius: 2px;
	background: currentColor;
}

.am-banner--author {
	align-items: flex-start;
	gap: clamp(24px, 4vw, 52px);
}

.am-banner__portrait {
	position: relative;
	flex: none;
}

.am-banner__photo {
	display: block;
	width: clamp(120px, 15vw, 196px);
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 8px #fff, var(--am-shadow-lift);
}

.am-banner__badge {
	position: absolute;
	right: 4%;
	bottom: 4%;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--am-secondary);
	color: #fff;
	box-shadow: 0 0 0 5px #fff;
}

.am-banner__badge .am-icon {
	width: 20px;
	height: 20px;
}

.am-banner--search .am-searchform {
	max-width: 640px;
	margin-top: 24px;
}

@media (max-width: 640px) {
	.am-banner {
		flex-direction: column;
		align-items: flex-start;
	}

	.am-banner__body {
		width: 100%;
	}

	.am-banner__nearby .am-pills {
		flex-wrap: nowrap;
		margin-inline: calc(-1 * clamp(28px, 5vw, 60px));
		padding: 4px clamp(28px, 5vw, 60px) 8px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 32px), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 32px), transparent 100%);
	}

	.am-banner__nearby .am-pills::-webkit-scrollbar {
		display: none;
	}

	.am-banner__nearby .am-pill {
		white-space: nowrap;
	}

	.am-banner__art {
		top: auto;
		right: -40px;
		bottom: -50px;
		transform: rotate(-12deg);
	}
}

/* 13. Single post & page ------------------------------------------------------------------ */

.am-crumbs {
	margin-bottom: 22px;
	font-size: 0.86rem;
}

.am-crumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-crumbs__item {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.am-crumbs__item + .am-crumbs__item::before {
	content: "";
	width: 5px;
	height: 5px;
	margin: 0 10px;
	border-radius: 50%;
	background: var(--am-secondary);
}

.am-crumbs__link {
	color: var(--am-muted);
	text-decoration: none;
}

.am-crumbs__link:hover {
	color: var(--am-primary-ink);
	text-decoration: underline;
}

.am-crumbs__current {
	max-width: 34ch;
	overflow: hidden;
	color: var(--am-ink);
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.am-single__head,
.am-page__head {
	width: min(900px, 100% - 2 * var(--am-pad));
	margin: clamp(26px, 4vw, 56px) auto 0;
	text-align: center;
}

.am-single__head .am-crumbs__list,
.am-page__head .am-crumbs__list {
	justify-content: center;
}

.am-page__head {
	position: relative;
	isolation: isolate;
	width: min(var(--am-wide), 100% - 2 * var(--am-pad));
	padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 64px) clamp(30px, 4vw, 48px);
	overflow: hidden;
	border-radius: var(--am-r-tile);
	background:
		radial-gradient(40% 70% at 0% 100%, rgba(61, 220, 151, 0.28), transparent 70%),
		radial-gradient(45% 80% at 100% 0%, rgba(255, 179, 138, 0.3), transparent 70%),
		linear-gradient(160deg, #fff 0%, var(--am-lilac) 100%);
	box-shadow: var(--am-shadow);
}

.am-page__head .am-page__title {
	margin-top: 8px;
}

.am-single__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.am-single__title,
.am-page__title {
	margin: 20px 0 18px;
	font-size: clamp(1.75rem, 4.3vw, 3.4rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.1;
	text-wrap: balance;
}

.am-single__lead,
.am-page__lead {
	max-width: 640px;
	margin: 0 auto 28px;
	color: var(--am-muted);
	font-size: clamp(1.08rem, 1.5vw, 1.24rem);
	line-height: 1.6;
}

.am-byline {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	max-width: 100%;
	padding: 8px 26px 8px 8px;
	border-radius: var(--am-r-pill);
	background: #fff;
	box-shadow: var(--am-shadow);
	text-align: left;
}

.am-byline__avatar {
	flex: none;
}

.am-byline__avatar img {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--am-lilac);
}

.am-byline__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	line-height: 1.35;
}

.am-byline__who {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
}

.am-byline__position {
	color: var(--am-primary-ink);
	font-size: 0.84rem;
	font-weight: 600;
}

.am-byline__name {
	color: var(--am-ink);
	font-family: var(--am-font-display);
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	text-decoration: none;
}

.am-byline__name:hover {
	color: var(--am-primary-ink);
}

.am-byline__details {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 0;
	color: var(--am-muted);
	font-size: 0.85rem;
}

.am-byline__item {
	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.am-byline__item .am-icon {
	width: 15px;
	height: 15px;
	margin-right: 5px;
	color: var(--am-primary);
}

a.am-byline__item:hover {
	color: var(--am-primary-ink);
}

.am-byline__item + .am-byline__item::before {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 9px;
	border-radius: 50%;
	background: var(--am-secondary);
}

.am-byline__updated {
	gap: 4px;
}

@media (max-width: 640px) {
	.am-single__head .am-crumbs__item:last-child {
		display: none;
	}

	.am-byline {
		border-radius: 24px;
		padding-right: 18px;
	}

	.am-byline__details {
		gap: 2px 14px;
	}

	.am-byline__item + .am-byline__item::before {
		display: none;
	}
}

.am-single__figure {
	width: min(var(--am-wide), 100% - 2 * var(--am-pad));
	margin: clamp(30px, 4vw, 50px) auto 0;
}

.am-single__figure img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--am-r-tile);
	box-shadow: var(--am-shadow);
}

.am-single__caption {
	margin-top: 12px;
	color: var(--am-muted);
	font-size: 0.86rem;
	text-align: center;
}

.am-single__ornament {
	position: relative;
	width: min(var(--am-wide), 100% - 2 * var(--am-pad));
	height: clamp(140px, 18vw, 230px);
	margin: clamp(30px, 4vw, 50px) auto 0;
	overflow: hidden;
	border-radius: var(--am-r-tile);
	box-shadow: var(--am-shadow);
}

.am-single__ornament .am-ph__letter {
	font-size: clamp(5rem, 12vw, 9rem);
}

.am-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) min(var(--am-narrow), 100% - 2 * var(--am-pad)) minmax(0, 1fr);
	margin-top: clamp(32px, 4.5vw, 56px);
}

.am-single__layout > .am-content {
	grid-row: 2;
	grid-column: 2;
	width: auto;
}

.am-single__foot,
.am-author,
.am-postnav,
.am-comments {
	width: min(var(--am-narrow), 100% - 2 * var(--am-pad));
	margin-inline: auto;
}

.am-single__foot {
	display: grid;
	gap: 26px;
	margin-top: 44px;
	padding-top: 30px;
	border-top: 1px solid var(--am-line);
}

.am-page__hearts {
	display: inline-flex;
	gap: 6px;
	color: var(--am-primary);
}

.am-page__hearts .am-icon {
	width: 16px;
	height: 16px;
}

.am-page__hearts .am-icon:nth-child(2) {
	color: var(--am-secondary);
	transform: translateY(-4px);
}

.am-page__hearts .am-icon:nth-child(3) {
	color: var(--am-pop-peach);
}

.am-page__head + .am-content,
.am-page .am-single__figure + .am-content {
	margin-top: clamp(30px, 4vw, 48px);
}

/* 14. Table of contents --------------------------------------------------------------------- */

.am-toc {
	grid-row: 1;
	grid-column: 2;
	margin-bottom: 30px;
}

.am-toc__toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 16px 0 14px;
	border: 0;
	border-radius: var(--am-r-pill);
	background: #fff;
	color: var(--am-ink);
	font-size: 0.92rem;
	font-weight: 600;
	box-shadow: var(--am-shadow);
}

.am-toc__toggle .am-icon {
	width: 18px;
	height: 18px;
	color: var(--am-primary);
}

.am-toc__count {
	display: inline-grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border-radius: var(--am-r-pill);
	background: var(--am-mint);
	font-size: 0.75rem;
	font-weight: 700;
}

.am-toc__chevron {
	color: var(--am-muted) !important;
	transition: transform 0.3s var(--am-ease);
}

.am-toc__toggle[aria-expanded="true"] .am-toc__chevron {
	transform: rotate(180deg);
}

.am-toc__list {
	margin: 10px 0 0;
	padding: 10px;
	border-radius: var(--am-r-sm);
	background: #fff;
	box-shadow: var(--am-shadow);
	counter-reset: am-toc;
	list-style: none;
	animation: am-rise 0.3s var(--am-ease);
}

.am-toc__item {
	counter-increment: am-toc;
}

.am-toc__link {
	display: flex;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 12px;
	color: var(--am-muted);
	font-size: 0.9rem;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.am-toc__link::before {
	content: counter(am-toc, decimal-leading-zero);
	flex: none;
	color: var(--am-primary-ink);
	font-family: var(--am-font-display);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.9;
}

.am-toc__link:hover,
.am-toc__link[aria-current="true"] {
	background: var(--am-lilac);
	color: var(--am-ink);
}

@media (min-width: 1280px) {
	.am-toc {
		position: sticky;
		top: calc(var(--am-header-h) + 44px);
		grid-row: 1 / span 2;
		grid-column: 1;
		align-self: start;
		justify-self: end;
		width: min(270px, 100% - 48px);
		margin: 0 44px 0 0;
	}

	.admin-bar .am-toc {
		top: calc(var(--am-header-h) + 76px);
	}

	.am-toc__toggle {
		width: 100%;
	}

	.am-toc__toggle .am-toc__chevron {
		margin-left: auto;
	}

	.am-single__layout > .am-content {
		grid-row: 1 / span 2;
	}
}

/* 15. Content typography & blocks -------------------------------------------------------------- */

.am-content {
	width: min(var(--am-narrow), 100% - 2 * var(--am-pad));
	margin-inline: auto;
	font-size: clamp(1.0625rem, 0.3vw + 1rem, 1.125rem);
	line-height: 1.75;
}

.am-content--wide {
	width: min(var(--am-wide), 100% - 2 * var(--am-pad));
}

.am-content > * {
	margin-top: 0;
	margin-bottom: 0;
}

.am-content > * + * {
	margin-top: 1.25em;
}

.am-content > p:first-child {
	font-size: 1.12em;
	line-height: 1.7;
}

.am-content h2,
.am-content h3,
.am-content h4,
.am-content h5,
.am-content h6 {
	scroll-margin-top: calc(var(--am-header-h) + 48px);
}

.am-content > h2,
.am-content > h3,
.am-content > h4 {
	margin-top: 2em;
}

.am-content > h2 + *,
.am-content > h3 + *,
.am-content > h4 + * {
	margin-top: 0.7em;
}

.am-content h2 {
	font-size: clamp(1.5rem, 2.4vw, 1.85rem);
	line-height: 1.22;
}

.am-content h3 {
	font-size: clamp(1.25rem, 1.8vw, 1.45rem);
}

.am-content h4 {
	font-size: 1.15rem;
}

.am-content h5,
.am-content h6 {
	font-family: var(--am-font-body);
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.am-content a {
	color: var(--am-primary-ink);
	text-decoration-color: rgba(124, 77, 255, 0.4);
	transition: text-decoration-color 0.2s, color 0.2s;
}

.am-content a:hover {
	color: var(--am-ink);
	text-decoration-color: var(--am-secondary);
}

.am-content ul,
.am-content ol {
	padding-left: 1.5em;
}

.am-content li + li,
.am-content li > ul,
.am-content li > ol {
	margin-top: 0.5em;
}

.am-content li {
	padding-left: 0.35em;
}

.am-content ul > li::marker {
	color: var(--am-secondary);
	font-size: 1.3em;
}

.am-content ol > li::marker {
	color: var(--am-primary-ink);
	font-family: var(--am-font-display);
	font-size: 0.86em;
	font-weight: 700;
}

.am-content blockquote,
.am-content .wp-block-quote {
	position: relative;
	margin-inline: 0;
	padding: 34px 36px 30px 40px;
	border: 0;
	border-radius: var(--am-r-tile);
	background: var(--am-lilac);
}

.am-content blockquote::before {
	content: "“";
	position: absolute;
	top: -18px;
	left: 26px;
	color: var(--am-primary);
	font-family: var(--am-font-display);
	font-size: 5rem;
	font-weight: 800;
	line-height: 1;
}

.am-content blockquote p {
	margin: 0;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.55;
}

.am-content blockquote p + p {
	margin-top: 0.8em;
}

.am-content blockquote cite,
.am-content .wp-block-quote cite,
.am-content .wp-block-pullquote cite {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	color: var(--am-primary-ink);
	font-size: 0.9rem;
	font-style: normal;
	font-weight: 600;
}

.am-content blockquote cite::before {
	content: "";
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background: var(--am-secondary);
}

.am-content .wp-block-quote.is-style-large p {
	font-size: 1.45em;
}

.am-content .wp-block-pullquote {
	padding: 40px clamp(24px, 5vw, 56px);
	border: 0;
	border-radius: var(--am-r-tile);
	background: linear-gradient(140deg, var(--am-mint), #ecfbf4);
	text-align: center;
}

.am-content .wp-block-pullquote blockquote {
	padding: 0;
	background: none;
}

.am-content .wp-block-pullquote blockquote::before {
	position: static;
	display: block;
	margin-bottom: -10px;
	color: var(--am-secondary);
}

.am-content .wp-block-pullquote p {
	font-family: var(--am-font-display);
	font-size: clamp(1.3rem, 2.4vw, 1.75rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.am-content img {
	border-radius: var(--am-r-sm);
}

.am-content figure {
	margin-inline: 0;
}

.am-content figcaption,
.am-content .wp-element-caption {
	margin-top: 10px;
	color: var(--am-muted);
	font-size: 0.86rem;
	line-height: 1.5;
	text-align: center;
}

.am-content table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.95rem;
	line-height: 1.5;
}

.am-content > table,
.am-content .wp-block-table {
	overflow: hidden;
	border-radius: var(--am-r-sm);
	background: #fff;
	box-shadow: var(--am-shadow);
}

.am-content .wp-block-table {
	overflow-x: auto;
}

.am-content .wp-block-table table {
	border: 0;
}

.am-content th,
.am-content td {
	padding: 13px 18px;
	border: 0;
	text-align: left;
	vertical-align: top;
}

.am-content thead th,
.am-content thead td {
	background: var(--am-ink);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.am-content tbody tr:nth-child(even) {
	background: rgba(233, 223, 255, 0.5);
}

.am-content tfoot td {
	border-top: 1px solid var(--am-line);
	font-weight: 600;
}

.am-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: transparent;
}

.am-content code,
.am-content kbd,
.am-content samp {
	padding: 0.15em 0.45em;
	border-radius: 8px;
	background: var(--am-lilac);
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 0.86em;
}

.am-content pre {
	overflow-x: auto;
	padding: 22px 26px;
	border-radius: var(--am-r-sm);
	background: var(--am-dark);
	color: #e9dfff;
	font-size: 0.9rem;
	line-height: 1.65;
	tab-size: 4;
}

.am-content pre code {
	padding: 0;
	background: none;
	color: inherit;
	font-size: inherit;
}

.am-content hr,
.am-content .wp-block-separator {
	width: 84px;
	height: 12px;
	margin: 2.6em auto;
	border: 0;
	background: radial-gradient(circle, var(--am-secondary) 3.5px, transparent 4.5px) center / 28px 12px repeat-x;
	opacity: 1;
}

.am-content .wp-block-separator.is-style-wide {
	width: 100%;
	height: 1px;
	background: var(--am-line);
}

.am-content mark {
	padding: 0 0.2em;
	border-radius: 4px;
	background: var(--am-mint);
	color: inherit;
}

.am-content abbr[title] {
	text-decoration: underline dotted;
	cursor: help;
}

.am-content dl dt {
	font-weight: 700;
}

.am-content dl dd {
	margin: 0 0 0.8em;
}

.am-content .wp-block-button__link,
.am-content .wp-element-button {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 0.7em 1.6em;
	border-radius: var(--am-r-pill);
	background: var(--am-primary);
	color: var(--am-on-primary);
	font-size: 0.97rem;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.3s var(--am-ease), box-shadow 0.3s;
}

.am-content .wp-block-button__link:hover {
	color: var(--am-on-primary);
	transform: translateY(-2px);
	box-shadow: var(--am-shadow-lift);
}

.am-content .is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
	background: transparent;
	color: var(--am-primary-ink);
}

.am-content .wp-block-cover,
.am-content .wp-block-cover-image {
	overflow: hidden;
	border-radius: var(--am-r-tile);
}

.am-content .wp-block-cover p {
	color: inherit;
}

.am-content .wp-block-columns {
	gap: 1.6em;
}

.am-content .wp-block-group.has-background {
	padding: 28px 32px;
	border-radius: var(--am-r-tile);
}

.am-content .wp-block-embed iframe,
.am-content .wp-block-video video {
	border-radius: var(--am-r-sm);
}

.am-content .wp-block-gallery img,
.am-content .gallery img {
	border-radius: 14px;
}

.am-content .gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.am-content .gallery-columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.am-content .gallery-columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.am-content .gallery-item {
	margin: 0;
}

.am-content .gallery-item img {
	display: block;
	width: 100%;
	height: auto;
}

.am-content .alignwide {
	margin-inline: calc((100% - min(var(--am-wide), 100vw - 2 * var(--am-pad))) / 2);
	position: relative;
	z-index: 2;
}

.am-content--wide .alignwide {
	margin-inline: calc((100% - min(var(--am-wrap), 100vw - 2 * var(--am-pad))) / 2);
}

.am-content .alignfull {
	position: relative;
	z-index: 2;
	width: auto;
	max-width: none;
	margin-inline: calc(50% - 50vw);
}

.am-content .alignfull img,
.am-content .alignwide img {
	width: 100%;
}

.am-content .alignfull img,
.am-content .alignfull.wp-block-cover {
	border-radius: 0;
}

.am-pages-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 2em;
	font-weight: 600;
}

.am-pages-links__label {
	margin-right: 6px;
	color: var(--am-muted);
	font-size: 0.9rem;
}

.am-pages-links a,
.am-pages-links > .am-pages-links__num {
	text-decoration: none;
}

.am-pages-links__num {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: var(--am-r-pill);
	background: var(--am-ink);
	color: #fff;
}

.am-pages-links a .am-pages-links__num {
	background: #fff;
	color: var(--am-ink);
	box-shadow: var(--am-shadow);
}

.am-content .is-style-am-tile {
	padding: clamp(22px, 4vw, 34px);
	border-radius: var(--am-r-tile);
	background:
		radial-gradient(60% 90% at 100% 0%, rgba(255, 255, 255, 0.75), transparent 70%),
		linear-gradient(140deg, var(--am-lilac), var(--am-sky));
}

.am-content .is-style-am-tile > :first-child {
	margin-top: 0;
}

.am-content .is-style-am-tile > :last-child {
	margin-bottom: 0;
}

.am-content .wp-block-quote.is-style-am-mint {
	background: linear-gradient(140deg, var(--am-mint), #ecfbf4);
}

.am-content .wp-block-quote.is-style-am-mint::before {
	color: var(--am-secondary);
}

.am-content .is-style-am-blob img {
	border-radius: 42% 58% 55% 45% / 48% 42% 58% 52%;
}

/* 16. Tags, share, author card, post navigation, related ---------------------------------------- */

.am-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-tags__link {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 15px;
	border-radius: var(--am-r-pill);
	background: var(--am-lilac);
	color: var(--am-ink);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s, transform 0.25s var(--am-ease);
}

.am-tags__link:hover {
	background: var(--am-mint);
	color: var(--am-ink);
	transform: translateY(-2px);
}

.am-share {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.am-share__label {
	margin: 0;
	font-family: var(--am-font-display);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.am-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-share__link {
	position: relative;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--am-ink);
	box-shadow: var(--am-shadow);
	transition: transform 0.3s var(--am-ease), background-color 0.2s, color 0.2s;
}

.am-share__link:hover {
	background: var(--am-primary);
	color: var(--am-on-primary);
	transform: translateY(-3px);
}

.am-share__link .am-icon {
	width: 20px;
	height: 20px;
}

.am-share__done {
	display: none;
}

.am-share__link--done {
	background: var(--am-secondary);
	color: var(--am-ink);
}

.am-share__link--done .am-icon--link {
	display: none;
}

.am-share__link--done .am-share__done {
	display: block;
}

.am-share__status {
	margin: 0;
	color: #127a50;
	font-size: 0.88rem;
	font-weight: 600;
}

.am-share__status:empty {
	display: none;
}

.am-author {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: clamp(20px, 3vw, 34px);
	margin-top: 48px;
	padding: clamp(24px, 4vw, 40px);
	overflow: hidden;
	border-radius: var(--am-r-tile);
	background:
		radial-gradient(55% 80% at 100% 0%, rgba(255, 255, 255, 0.75), transparent 70%),
		radial-gradient(45% 70% at 0% 100%, rgba(61, 220, 151, 0.22), transparent 70%),
		linear-gradient(135deg, var(--am-lilac) 0%, var(--am-sky) 100%);
	box-shadow: var(--am-shadow);
}

.am-author__media {
	position: relative;
}

.am-author__photo {
	display: block;
	width: clamp(96px, 11vw, 132px);
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 6px #fff, var(--am-shadow-lift);
}

.am-author__heart {
	position: absolute;
	right: -2px;
	bottom: 2px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--am-secondary);
	color: #fff;
	box-shadow: 0 0 0 4px #fff;
}

.am-author__heart .am-icon {
	width: 17px;
	height: 17px;
}

.am-author__eyebrow {
	margin: 0 0 6px;
	color: var(--am-primary-ink);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.am-author__name {
	margin: 0 0 10px;
	font-family: var(--am-font-display);
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.am-author__name a {
	color: var(--am-ink);
	text-decoration: none;
}

.am-author__name a:hover {
	color: var(--am-primary-ink);
}

.am-author__position {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 6px 14px 6px 11px;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.8);
	color: var(--am-ink);
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.3;
}

.am-author__position::before {
	content: "";
	flex: none;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--am-primary);
}

.am-author__bio {
	max-width: 60ch;
	margin: 0 0 22px;
	color: #3f3659;
	font-size: 1rem;
	line-height: 1.65;
}

.am-author__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(29, 20, 51, 0.1);
}

.am-author__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-author__stat {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 36px;
	padding: 0 14px;
	border-radius: var(--am-r-pill);
	background: rgba(255, 255, 255, 0.7);
	color: var(--am-ink);
	font-size: 0.85rem;
	font-weight: 600;
}

.am-author__stat .am-count {
	font-family: var(--am-font-display);
	font-weight: 700;
}

.am-author__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.am-author__links .am-icon {
	transition: transform 0.3s var(--am-ease);
}

.am-author__more:hover .am-icon {
	transform: translateX(4px);
}

.am-postnav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--am-gap);
	margin-top: 40px;
}

.am-postnav__tile {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	padding: 12px 20px 12px 12px;
	border-radius: var(--am-r-tile);
	background: #fff;
	color: var(--am-ink);
	text-decoration: none;
	box-shadow: var(--am-shadow);
	transition: transform 0.4s var(--am-ease), box-shadow 0.4s var(--am-ease);
}

.am-postnav__tile:hover {
	color: var(--am-ink);
	transform: translateY(-4px);
	box-shadow: var(--am-shadow-lift);
}

.am-postnav .am-postnav__tile:only-child {
	grid-column: 1 / -1;
}

.am-postnav__tile--next {
	grid-column: 2;
	flex-direction: row-reverse;
	padding: 12px 12px 12px 20px;
	text-align: right;
}

.am-postnav__thumb {
	position: relative;
	flex: none;
	width: 82px;
	height: 82px;
	overflow: hidden;
	border-radius: var(--am-r-sm);
	background: var(--am-lilac);
}

.am-postnav__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.am-postnav__thumb .am-ph__letter {
	font-size: 2.2rem;
}

.am-postnav__thumb .am-ph__heart {
	display: none;
}

.am-postnav__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.am-postnav__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--am-muted);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.am-postnav__tile--next .am-postnav__label {
	flex-direction: row-reverse;
	align-self: flex-end;
}

.am-postnav__label .am-icon {
	width: 16px;
	height: 16px;
	color: var(--am-primary);
}

.am-postnav__title {
	display: -webkit-box;
	overflow: hidden;
	font-family: var(--am-font-display);
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.am-related {
	width: min(var(--am-wide), 100% - 2 * var(--am-pad));
	margin: clamp(56px, 7vw, 88px) auto 0;
}

.am-related__label {
	margin: 0 0 20px;
	font-family: var(--am-font-display);
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.am-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--am-gap);
}

.am-tile--mini {
	min-height: 320px;
}

@media (max-width: 760px) {
	.am-author {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.am-postnav {
		grid-template-columns: minmax(0, 1fr);
	}

	.am-postnav__tile--next,
	.am-postnav__tile:only-child {
		grid-column: auto;
	}

	.am-related__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.am-tile--mini {
		min-height: 260px;
	}
}

/* 17. Comments ---------------------------------------------------------------------------------- */

.am-comments {
	width: min(780px, 100% - 2 * var(--am-pad));
	margin-top: clamp(48px, 6vw, 80px);
	padding: clamp(22px, 4.5vw, 48px);
	border-radius: var(--am-r-tile);
	background: #fff;
	box-shadow: var(--am-shadow);
}

.am-comments__title {
	margin: 0 0 12px;
	font-size: clamp(1.4rem, 2.6vw, 1.85rem);
	font-weight: 700;
}

.am-comments__list,
.am-comments__list .children {
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-comments__list .children {
	margin-left: clamp(14px, 4vw, 40px);
	padding-left: clamp(14px, 2vw, 22px);
	border-left: 2px solid var(--am-lilac);
}

.am-comment__body {
	padding: 22px 0;
	border-bottom: 1px solid var(--am-line);
}

.am-comments__list > .am-comment:last-child > .am-comment__body,
.am-comments__list .children > .am-comment:last-child > .am-comment__body,
.am-comment--parent > .am-comment__body {
	border-bottom: 0;
}

.am-comments__list > .am-comment--parent:not(:last-child) {
	padding-bottom: 8px;
	border-bottom: 1px solid var(--am-line);
}

.am-comment__head {
	display: flex;
	align-items: center;
	gap: 14px;
}

.am-comment__avatar {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--am-lilac);
}

.am-comment__who {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 10px;
	line-height: 1.3;
}

.am-comment__name {
	font-weight: 700;
}

.am-comment__name a {
	color: var(--am-ink);
}

.am-comment__date {
	flex-basis: 100%;
	color: var(--am-muted);
	font-size: 0.82rem;
	text-decoration: none;
}

.am-comment__date:hover {
	color: var(--am-primary-ink);
}

.am-comment__pending {
	margin: 12px 0 0 62px;
	padding: 8px 14px;
	border-radius: 12px;
	background: var(--am-peach);
	font-size: 0.88rem;
}

.am-comment__text {
	margin: 10px 0 0 62px;
	font-size: 1rem;
	line-height: 1.65;
}

.am-comment__text p {
	margin: 0 0 0.7em;
}

.am-comment__text p:last-child {
	margin-bottom: 0;
}

.am-comment__actions {
	display: flex;
	gap: 10px;
	margin: 12px 0 0 62px;
}

.am-comment__actions a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 14px;
	border-radius: var(--am-r-pill);
	background: var(--am-bg);
	color: var(--am-ink);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s;
}

.am-comment__actions a:hover {
	background: var(--am-lilac);
}

.am-comments__closed {
	margin: 16px 0 0;
	padding: 14px 18px;
	border-radius: var(--am-r-sm);
	background: var(--am-bg);
	color: var(--am-muted);
}

.am-comments .comment-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 16px 0;
}

.am-comments .comment-navigation a {
	font-weight: 600;
}

.am-respond {
	margin-top: 26px;
	padding-top: 26px;
	border-top: 1px solid var(--am-line);
}

.am-comments > .am-respond:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.am-comment .am-respond {
	margin: 16px 0 0;
	padding: 22px;
	border: 0;
	border-radius: var(--am-r-sm);
	background: var(--am-bg);
}

.am-respond__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 8px;
	font-size: 1.3rem;
}

.am-respond__title small a {
	color: var(--am-muted);
	font-family: var(--am-font-body);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0;
}

.am-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 18px;
}

.am-form > * {
	grid-column: 1 / -1;
	margin: 0;
}

.am-form .comment-form-author {
	grid-column: 1;
}

.am-form .comment-form-email {
	grid-column: 2;
}

.am-form .comment-notes,
.am-form .logged-in-as {
	color: var(--am-muted);
	font-size: 0.9rem;
}

.am-form label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.9rem;
	font-weight: 600;
}

.am-form input[type="text"],
.am-form input[type="email"],
.am-form input[type="url"],
.am-form textarea {
	display: block;
	width: 100%;
	padding: 13px 18px;
	border: 1.5px solid transparent;
	border-radius: var(--am-r-sm);
	background: var(--am-bg);
	font-size: 1rem;
	transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.am-form textarea {
	min-height: 150px;
	resize: vertical;
}

.am-form input:focus,
.am-form textarea:focus {
	border-color: var(--am-primary);
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 5px rgba(124, 77, 255, 0.16);
}

.am-form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--am-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

.am-form .comment-form-cookies-consent label {
	margin: 0;
	font-weight: 400;
}

.am-form input[type="checkbox"] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--am-primary);
}

.am-form .required {
	color: #c2410c;
}

.am-form .form-submit {
	margin-top: 4px;
}

@media (max-width: 560px) {
	.am-form .comment-form-author,
	.am-form .comment-form-email {
		grid-column: 1 / -1;
	}

	.am-comment__text,
	.am-comment__actions,
	.am-comment__pending {
		margin-left: 0;
	}
}

/* 18. Pagination ---------------------------------------------------------------------------------- */

.am-pagination {
	margin-top: clamp(36px, 5vw, 56px);
}

.am-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.am-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 50px;
	height: 50px;
	padding: 0 18px;
	border-radius: var(--am-r-pill);
	background: #fff;
	color: var(--am-ink);
	font-weight: 600;
	text-decoration: none;
	box-shadow: var(--am-shadow);
	transition: transform 0.3s var(--am-ease), background-color 0.2s, color 0.2s;
}

.am-pagination a.page-numbers:hover {
	background: var(--am-lilac);
	transform: translateY(-2px);
}

.am-pagination .page-numbers.current {
	background: var(--am-ink);
	color: #fff;
}

.am-pagination .page-numbers.dots {
	min-width: 0;
	padding: 0 6px;
	background: none;
	box-shadow: none;
}

.am-pagination .prev,
.am-pagination .next {
	padding: 0 22px;
	background: var(--am-primary);
	color: var(--am-on-primary);
}

.am-pagination a.prev:hover,
.am-pagination a.next:hover {
	background: var(--am-primary-ink);
	color: #fff;
}

.am-pagination .page-numbers .am-icon {
	width: 18px;
	height: 18px;
}

/* 19. Footer & widgets ------------------------------------------------------------------------------ */

.am-footer {
	margin-top: clamp(64px, 9vw, 128px);
	padding: 0 16px 16px;
}

.am-footer__panel {
	position: relative;
	overflow: hidden;
	padding: clamp(32px, 5vw, 64px) clamp(22px, 5vw, 64px) 26px;
	border-radius: 36px;
	background:
		radial-gradient(50rem 26rem at 105% -10%, rgba(124, 77, 255, 0.35), transparent 70%),
		radial-gradient(40rem 20rem at -10% 110%, rgba(61, 220, 151, 0.14), transparent 70%),
		var(--am-dark);
	color: var(--am-dark-text);
}

.am-footer a {
	color: #fff;
}

.am-footer__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px clamp(32px, 5vw, 72px);
}

.am-footer__brand {
	flex: 1.5 1 300px;
	max-width: 440px;
}

.am-footer__col {
	flex: 1 1 180px;
	min-width: 0;
}

.am-footer__col--wide {
	flex-grow: 1.6;
}

.am-footer__home {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	color: #fff;
	font-family: var(--am-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-decoration: none;
}

.am-footer__mark {
	width: 44px;
	height: 44px;
}

.am-footer__mark .am-mark__bg {
	fill: rgba(233, 223, 255, 0.14);
}

.am-footer__about {
	color: var(--am-dark-text);
	font-size: 1rem;
	line-height: 1.65;
}

.am-footer__about p:last-child {
	margin-bottom: 0;
}

.am-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.am-social__link {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(233, 223, 255, 0.1);
	color: #fff;
	transition: background-color 0.2s, color 0.2s, transform 0.3s var(--am-ease);
}

.am-footer .am-social__link:hover {
	background: var(--am-secondary);
	color: var(--am-ink);
	transform: translateY(-3px);
}

.am-social__link .am-icon {
	width: 20px;
	height: 20px;
}

.am-social--sheet {
	justify-content: center;
	margin: 0;
}

.am-social--sheet .am-social__link {
	background: var(--am-bg);
	color: var(--am-ink);
}

.am-widget__title {
	margin: 0 0 16px;
	color: var(--am-secondary);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.am-footer__list,
.am-widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-footer__list li,
.am-widget li {
	margin: 0 0 10px;
}

.am-footer__list a,
.am-widget a {
	color: #f3eeff;
	text-decoration: none;
	transition: color 0.2s;
}

.am-footer__list a:hover,
.am-widget a:hover {
	color: var(--am-secondary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.am-footer__list--posts li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 14px;
	line-height: 1.4;
}

.am-footer__list--posts time {
	color: #a99dcc;
	font-size: 0.8rem;
}

.am-widget {
	margin-bottom: 30px;
	font-size: 0.96rem;
}

.am-widget:last-child {
	margin-bottom: 0;
}

.am-widget .wp-block-heading,
.am-widget h2,
.am-widget h3 {
	margin: 0 0 14px;
	color: var(--am-secondary);
	font-family: var(--am-font-body);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.am-widget .wp-block-search__label {
	display: block;
	margin-bottom: 10px;
	color: #fff;
	font-weight: 600;
}

.am-widget .wp-block-search__inside-wrapper {
	display: flex;
	gap: 6px;
	padding: 5px;
	border: 0;
	border-radius: var(--am-r-pill);
	background: rgba(233, 223, 255, 0.1);
}

.am-widget .wp-block-search__input {
	flex: 1;
	min-width: 0;
	padding: 0 14px;
	border: 0;
	background: transparent;
	color: #fff;
}

.am-widget .wp-block-search__input::placeholder {
	color: #a99dcc;
}

.am-widget .wp-block-search__button {
	margin: 0;
	padding: 10px 18px;
	border: 0;
	border-radius: var(--am-r-pill);
	background: var(--am-secondary);
	color: var(--am-ink);
	font-weight: 600;
}

.am-widget .wp-block-latest-posts__post-date,
.am-widget .wp-block-latest-comments__comment-date,
.am-widget .post-date {
	display: block;
	color: #a99dcc;
	font-size: 0.8rem;
}

.am-widget .wp-block-latest-posts__featured-image img {
	border-radius: 12px;
}

.am-widget .wp-block-categories li,
.am-widget .wp-block-archives li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	color: #a99dcc;
}

.am-widget .wp-block-tag-cloud,
.am-widget .tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.am-widget .wp-block-tag-cloud a,
.am-widget .tagcloud a {
	display: inline-flex;
	align-items: center;
	padding: 6px 13px;
	border-radius: var(--am-r-pill);
	background: rgba(233, 223, 255, 0.1);
	font-size: 0.85rem !important;
	text-decoration: none;
}

.am-widget .wp-block-tag-cloud a:hover,
.am-widget .tagcloud a:hover {
	background: var(--am-secondary);
	color: var(--am-ink);
	text-decoration: none;
}

.am-widget select {
	width: 100%;
	padding: 10px 14px;
	border: 0;
	border-radius: 12px;
	background: rgba(233, 223, 255, 0.1);
	color: #fff;
}

.am-widget select option {
	color: var(--am-ink);
}

.am-footer__wordmark {
	margin: clamp(40px, 6vw, 72px) 0 0;
	overflow: hidden;
	color: var(--am-dark);
	font-family: var(--am-font-display);
	font-size: clamp(2.6rem, calc((100vw - 32px - 2 * clamp(22px, 5vw, 64px)) / (var(--am-wm-chars, 12) * 0.76)), 13rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	-webkit-text-stroke: 3px rgba(214, 203, 245, 0.55);
	paint-order: stroke fill;
	-webkit-user-select: none;
	user-select: none;
	transition: -webkit-text-stroke-color 0.6s var(--am-ease), color 0.6s var(--am-ease);
}

@media (max-width: 640px) {
	.am-footer__wordmark {
		font-size: clamp(2rem, calc((100vw - 32px - 2 * clamp(22px, 5vw, 64px)) / (var(--am-wm-word, 8) * 0.78)), 6rem);
		line-height: 1.05;
		white-space: normal;
		-webkit-text-stroke-width: 2px;
	}

	.am-topic {
		min-height: 0;
		padding: 22px;
	}
}

.am-footer__panel:hover .am-footer__wordmark {
	-webkit-text-stroke-color: var(--am-secondary);
}

.am-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 28px;
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid rgba(214, 203, 245, 0.16);
	font-size: 0.88rem;
}

.am-footer__copy {
	margin: 0;
}

.am-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-footer__menu a,
.am-footer__top {
	color: var(--am-dark-text);
	text-decoration: none;
}

.am-footer__menu a:hover,
.am-footer__top:hover {
	color: #fff;
}

.am-footer__top {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
}

.am-footer__top .am-icon {
	width: 30px;
	height: 30px;
	padding: 6px;
	border-radius: 50%;
	background: rgba(233, 223, 255, 0.12);
}

/* 20. Empty state & 404 -------------------------------------------------------------------------- */

.am-empty__card {
	max-width: 760px;
	margin: 0 auto;
	padding: clamp(28px, 5vw, 56px);
	border-radius: var(--am-r-tile);
	background: #fff;
	box-shadow: var(--am-shadow);
	text-align: center;
}

.am-empty__icon {
	width: 56px;
	height: 56px;
	color: var(--am-primary);
	stroke-width: 1.4;
}

.am-empty__title {
	margin: 12px 0 10px;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
}

.am-empty__text {
	max-width: 52ch;
	margin: 0 auto 26px;
	color: var(--am-muted);
}

.am-empty__label,
.am-404__label {
	margin: 30px 0 14px;
	color: var(--am-muted);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.am-empty .am-searchform {
	background: var(--am-bg);
	box-shadow: none;
}

.am-404 {
	padding: clamp(24px, 5vw, 64px) 0 0;
	text-align: center;
}

.am-404__art {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.02em;
	margin: 0;
	color: var(--am-ink);
	font-family: var(--am-font-display);
	font-size: clamp(7rem, 24vw, 17rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 0.95;
}

.am-404__art span {
	background: linear-gradient(160deg, var(--am-ink) 20%, var(--am-primary) 130%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.am-404__heart {
	width: 0.86em;
	height: 0.86em;
	margin-top: 0.06em;
	filter: drop-shadow(0 24px 40px rgba(124, 77, 255, 0.35));
	animation: am-beat 1.8s ease-in-out infinite;
}

.am-404__stop-a {
	stop-color: var(--am-secondary);
}

.am-404__stop-b {
	stop-color: var(--am-primary);
}

.am-404__title {
	max-width: 18ch;
	margin: 10px auto 16px;
	font-size: clamp(1.7rem, 3.6vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	text-wrap: balance;
}

.am-404__text {
	max-width: 54ch;
	margin: 0 auto 30px;
	color: var(--am-muted);
	font-size: 1.08rem;
}

.am-404__search {
	max-width: 620px;
	margin: 0 auto;
}

.am-404 .am-pills {
	max-width: 760px;
	margin-inline: auto;
}

.am-404__home {
	margin-top: 36px;
}

/* 21. WordPress core classes ----------------------------------------------------------------------- */

.alignleft {
	float: left;
	margin: 0.35em 1.6em 1em 0;
}

.alignright {
	float: right;
	margin: 0.35em 0 1em 1.6em;
}

.aligncenter {
	display: block;
	clear: both;
	margin-right: auto;
	margin-left: auto;
}

.am-content .alignleft,
.am-content .alignright {
	max-width: 50%;
}

.am-content > .alignleft + *,
.am-content > .alignright + * {
	margin-top: 0;
}

.am-content::after {
	content: "";
	display: table;
	clear: both;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption img {
	display: block;
}

.wp-caption-text,
.gallery-caption {
	margin-top: 8px;
	color: var(--am-muted);
	font-size: 0.86rem;
	line-height: 1.5;
	text-align: center;
}

.sticky .am-card__media {
	box-shadow: 0 0 0 3px var(--am-primary);
}

.bypostauthor > .am-comment__body .am-comment__avatar {
	box-shadow: 0 0 0 3px var(--am-primary);
}

.am-content .has-text-align-center {
	text-align: center;
}

.am-content .has-text-align-right {
	text-align: right;
}

.am-content .has-drop-cap:not(:focus)::first-letter {
	margin: 0.08em 0.12em 0 0;
	color: var(--am-primary);
	font-family: var(--am-font-display);
	font-size: 4.2em;
	font-weight: 800;
	line-height: 0.85;
}

/* 22. Motion preferences & print --------------------------------------------------------------------- */

@keyframes am-pop {
	from {
		opacity: 0;
		transform: translateY(16px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes am-rise {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes am-ping {
	0% {
		opacity: 0.5;
		transform: scale(0.6);
	}

	80%,
	100% {
		opacity: 0;
		transform: scale(1.6);
	}
}

@keyframes am-float {
	0%,
	100% {
		translate: 0 0;
	}

	50% {
		translate: 0 -10px;
	}
}

@keyframes am-twinkle {
	0%,
	100% {
		opacity: 0.75;
		scale: 1;
	}

	50% {
		opacity: 0.35;
		scale: 0.8;
	}
}

@keyframes am-beat {
	0%,
	100% {
		transform: scale(1);
	}

	14% {
		transform: scale(1.08);
	}

	28% {
		transform: scale(0.98);
	}

	42% {
		transform: scale(1.05);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.am-header,
	.am-footer,
	.am-toc,
	.am-share,
	.am-postnav,
	.am-related,
	.am-respond {
		display: none !important;
	}

	body {
		background: #fff;
	}
}
