/*
 * Anexx Polar — theme styles.
 *
 * Desktop measurements come straight from the design canvas (3350 units wide) through
 * --ax-u, so every section scales like the PDF between 1024px and 1920px.
 * Tablet (≤1023px) and mobile (≤781px) layouts are defined at the end of each section.
 */

:root {
	--ax-u: calc(min(100vw, 1920px) / 3350);
	--ax-ink: var(--wp--preset--color--ink, #080808);
	--ax-sand: var(--wp--preset--color--sand, #f4f4ef);
	--ax-mist: var(--wp--preset--color--mist, #f0f2eb);
	--ax-stone: var(--wp--preset--color--stone, #e9e2d8);
	--ax-line: var(--wp--preset--color--line, #d8d8d8);
	--ax-muted: var(--wp--preset--color--muted, #5f5f5a);
	--ax-serif: var(--wp--preset--font-family--cormorant, "Cormorant Garamond", serif);
	--ax-sans: var(--wp--preset--font-family--inter, Inter, sans-serif);
	--ax-gutter: max(16px, calc(73 * var(--ax-u)));
	--ax-section-gap: max(8px, calc(24 * var(--ax-u)));
	--ax-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 8'%3E%3Cpath d='M0 4h58M54 .8 58.6 4 54 7.2' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ Base */

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

@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;
	}
}

body {
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.wp-site-blocks {
	position: relative;
	overflow-x: clip;
}

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

input, select, textarea, button { box-sizing: border-box; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--ax-ink);
	outline-offset: 3px;
}

.ax-footer :where(a, button):focus-visible,
.ax-tub :where(a):focus-visible,
.ax-how__media :where(a):focus-visible {
	outline-color: #fff;
}

.screen-reader-text:focus {
	background: #fff;
	color: var(--ax-ink);
}

/* Flow-layout children: sections control their own spacing. */
.ax-main > .wp-block-post-content,
.wp-site-blocks .ax-hero,
.wp-site-blocks .ax-hero *,
.wp-site-blocks .ax-section *,
.wp-site-blocks .ax-header *,
.wp-site-blocks .ax-footer,
.wp-site-blocks .ax-footer *,
.editor-styles-wrapper .ax-hero *,
.editor-styles-wrapper .ax-section * {
	margin-block-start: 0;
}

.ax-main { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ------------------------------------------------------------------ Buttons */

.wp-block-button.is-style-ax-dark-arrow .wp-block-button__link,
.wp-block-button.is-style-ax-outline .wp-block-button__link,
.wp-block-button.is-style-ax-sand-arrow .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: max(14px, calc(36 * var(--ax-u)));
	border-radius: 0;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Hero: black serif button with arrow. */
.wp-block-button.is-style-ax-dark-arrow .wp-block-button__link {
	min-height: max(48px, calc(120 * var(--ax-u)));
	padding: 0 max(20px, calc(43 * var(--ax-u))) 0 max(22px, calc(61 * var(--ax-u)));
	background: var(--ax-ink);
	color: #fff;
	font-family: var(--ax-serif);
	font-size: max(16px, calc(40 * var(--ax-u)));
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.wp-block-button.is-style-ax-dark-arrow .wp-block-button__link::after,
.wp-block-button.is-style-ax-sand-arrow .wp-block-button__link::after {
	content: "";
	flex: none;
	width: max(40px, calc(105 * var(--ax-u)));
	height: 8px;
	background: currentColor;
	-webkit-mask: var(--ax-arrow) center / 100% 100% no-repeat;
	mask: var(--ax-arrow) center / 100% 100% no-repeat;
	transition: transform 0.25s ease;
}

.wp-block-button.is-style-ax-dark-arrow .wp-block-button__link:hover {
	background: #2a2a2a;
	color: #fff;
}

.wp-block-button .wp-block-button__link:hover::after { transform: translateX(4px); }

/* Hero: outlined serif button. */
.wp-block-button.is-style-ax-outline .wp-block-button__link {
	min-height: max(48px, calc(127 * var(--ax-u)));
	padding: 0 max(18px, calc(38 * var(--ax-u)));
	border: max(2px, calc(6 * var(--ax-u))) solid var(--ax-ink);
	background: transparent;
	color: var(--ax-ink);
	font-family: var(--ax-serif);
	font-size: max(16px, calc(40 * var(--ax-u)));
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.wp-block-button.is-style-ax-outline .wp-block-button__link:hover {
	background: var(--ax-ink);
	color: #fff;
}

/* Product banner: sand button with arrow. */
.wp-block-button.is-style-ax-sand-arrow .wp-block-button__link {
	min-height: max(52px, calc(160 * var(--ax-u)));
	padding: 0 max(18px, calc(39 * var(--ax-u))) 0 max(18px, calc(38 * var(--ax-u)));
	gap: max(20px, calc(52 * var(--ax-u)));
	background: var(--ax-stone);
	color: var(--ax-ink);
	font-family: var(--ax-sans);
	font-size: max(14px, calc(40 * var(--ax-u)));
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.wp-block-button.is-style-ax-sand-arrow .wp-block-button__link::after { width: max(44px, calc(137 * var(--ax-u))); }

.wp-block-button.is-style-ax-sand-arrow .wp-block-button__link:hover {
	background: #fff;
	color: var(--ax-ink);
}

/* ------------------------------------------------------------------ Eyebrow headings (line + letter-spaced label) */

.wp-block-heading.is-style-ax-eyebrow {
	--ax-line-w: calc(256 * var(--ax-u));
	--ax-line-gap: calc(61 * var(--ax-u));
	display: flex;
	align-items: center;
	gap: var(--ax-line-gap);
	font-family: var(--ax-sans);
	font-size: max(13px, calc(40 * var(--ax-u)));
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ax-ink);
}

.wp-block-heading.is-style-ax-eyebrow::before {
	content: "";
	flex: none;
	width: max(32px, var(--ax-line-w));
	height: 1px;
	background: rgba(8, 8, 8, 0.55);
}

/* ------------------------------------------------------------------ Header */

.ax-site-header { position: relative; z-index: 30; }

.ax-site-header:not(.is-overlay) { background: var(--ax-sand); }

.ax-site-header.is-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: transparent;
}

.ax-header__inner {
	display: flex;
	align-items: center;
	max-width: 1920px;
	margin-inline: auto;
	padding: calc(95 * var(--ax-u)) calc(109 * var(--ax-u)) calc(40 * var(--ax-u));
}

.ax-site-header.is-overlay .ax-header__inner { padding-bottom: 0; }

.ax-header__logo { flex: none; margin: 0; line-height: 0; }

.ax-header .ax-header__logo img,
.ax-header .wp-block-site-logo img {
	width: max(128px, calc(433 * var(--ax-u))) !important;
	height: auto !important;
}

nav.ax-header__nav.wp-block-navigation {
	margin-left: calc(388 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(14px, calc(40 * var(--ax-u)));
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.ax-header .ax-header__nav .wp-block-navigation__container,
.ax-header .ax-header__nav.wp-block-navigation {
	gap: calc(88 * var(--ax-u));
}

.ax-header .wp-block-navigation-item__content {
	padding: 4px 0;
	color: var(--ax-ink);
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size 0.25s ease;
}

.ax-header .wp-block-navigation-item__content:hover,
.ax-header .current-menu-item > .wp-block-navigation-item__content {
	background-size: 100% 1px;
}

.ax-header__actions {
	margin-left: auto;
	gap: max(10px, calc(40 * var(--ax-u))) !important;
	align-items: center;
}

/* Search (icon button that expands). */
.ax-header__search .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
	background: transparent;
}

.ax-header__search .wp-block-search__input {
	min-width: 0;
	height: 40px;
	border: 1px solid var(--ax-ink);
	border-right: 0;
	border-radius: 0;
	background: #fff;
	font-size: 16px;
	padding: 0 12px;
}

.ax-header__search .wp-block-search__button,
.ax-header__search.wp-block-search__button-only .wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ax-ink);
}

.ax-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button {
	background: var(--ax-ink);
	color: #fff;
}

.ax-header__search .wp-block-search__button svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}

/* Account + mini cart. */
.ax-header .wc-block-customer-account a,
.ax-header .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0;
	color: var(--ax-ink);
	text-decoration: none;
}

.ax-header .wc-block-customer-account svg,
.ax-header .wc-block-mini-cart__icon {
	width: 26px !important;
	height: 26px !important;
}

.ax-header .wc-block-mini-cart__badge {
	background: var(--ax-ink) !important;
	color: #fff !important;
	font-family: var(--ax-sans);
	font-weight: 600;
}

.ax-header .wc-block-mini-cart__amount { display: none; }

/* Mobile overlay navigation (core Navigation block). */
.ax-header .wp-block-navigation__responsive-container-open,
.ax-header .wp-block-navigation__responsive-container-close {
	color: var(--ax-ink);
}

.ax-header .wp-block-navigation__responsive-container-open svg,
.ax-header .wp-block-navigation__responsive-container-close svg {
	width: 30px;
	height: 30px;
}

.ax-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 20px 40px;
	background: var(--ax-sand) !important;
}

.ax-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 64px;
	align-items: flex-start;
}

.ax-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 22px !important;
	align-items: flex-start;
}

.ax-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--ax-serif);
	font-size: 34px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.1;
}

@media (max-width: 1023px) {
	.ax-header__inner {
		display: grid;
		grid-template-columns: auto 1fr auto auto;
		gap: 8px;
		padding: 18px 20px;
	}

	.ax-site-header.is-overlay .ax-header__inner { padding-bottom: 18px; }

	.ax-header .ax-header__logo img,
	.ax-header .wp-block-site-logo img { width: 150px !important; }

	.ax-header nav.ax-header__nav.wp-block-navigation {
		grid-column: 4;
		grid-row: 1;
		margin: 0;
	}

	.ax-header__actions {
		grid-column: 3;
		grid-row: 1;
		gap: 4px !important;
	}

	.ax-header .ax-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.ax-header .ax-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.ax-header .ax-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}

	.ax-header .ax-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		flex-direction: column;
	}
}

@media (max-width: 380px) {
	.ax-header .ax-header__logo img,
	.ax-header .wp-block-site-logo img { width: 124px !important; }
	.ax-header__search { display: none; }
}

/* ------------------------------------------------------------------ Hero */

/* Core pads groups that have a background; sections set their own padding. */
.wp-block-group.ax-hero,
.wp-block-group.ax-tub { padding: 0; }

.ax-hero {
	position: relative;
	display: flex;
	min-height: calc(1157 * var(--ax-u));
	background-color: #d9d4ca;
	background-size: cover;
}

.ax-hero__content {
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	padding: calc(326 * var(--ax-u)) var(--ax-gutter) calc(119 * var(--ax-u)) calc(254 * var(--ax-u));
}

.ax-hero__eyebrow {
	font-family: var(--ax-serif);
	font-size: max(14px, calc(40 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.275;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--ax-ink);
}

.ax-hero .ax-hero__title {
	margin-top: calc(13 * var(--ax-u));
	font-family: var(--ax-serif);
	font-size: max(38px, calc(128 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.195;
	letter-spacing: 0.005em;
	color: var(--ax-ink);
}

.ax-hero .ax-hero__text {
	margin-top: calc(14 * var(--ax-u));
	font-family: var(--ax-serif);
	font-size: max(17px, calc(41.5 * var(--ax-u)));
	font-weight: 500;
	line-height: 1.16;
	color: var(--ax-ink);
}

.ax-hero .ax-hero__buttons {
	margin-top: calc(91 * var(--ax-u));
	gap: calc(80 * var(--ax-u));
	align-items: center;
}

@media (max-width: 1023px) {
	.ax-hero {
		min-height: max(560px, 78vw);
		background-position: 68% 50% !important;
	}

	.ax-hero::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(248, 244, 236, 0.9) 0%, rgba(248, 244, 236, 0.55) 55%, rgba(248, 244, 236, 0) 85%);
	}

	.ax-hero__content {
		padding: 128px 24px 56px;
		align-self: flex-end;
	}

	.ax-hero .ax-hero__title { margin-top: 10px; font-size: clamp(38px, 7vw, 60px); }
	.ax-hero .ax-hero__text { margin-top: 12px; }
	.ax-hero .ax-hero__buttons { margin-top: 28px; gap: 14px; }
}

@media (max-width: 781px) {
	.ax-hero {
		min-height: 640px;
		background-position: 72% 50% !important;
	}

	.ax-hero::before {
		background: linear-gradient(180deg, rgba(248, 244, 236, 0.94) 0%, rgba(248, 244, 236, 0.86) 60%, rgba(248, 244, 236, 0.55) 82%, rgba(248, 244, 236, 0.1) 100%);
	}

	.ax-hero__content {
		align-self: flex-start;
		padding: 104px 20px 48px;
	}

	.ax-hero__eyebrow { font-size: 13px; letter-spacing: 0.02em; }
	.ax-hero .ax-hero__title { font-size: clamp(34px, 10vw, 46px); line-height: 1.1; }
	.ax-hero .ax-hero__text { font-size: 18px; }
	.ax-hero .ax-hero__buttons .wp-block-button { flex: 1 1 auto; }
	.ax-hero .ax-hero__buttons .wp-block-button__link { width: 100%; }
}

/* ------------------------------------------------------------------ Section rhythm (white strips between sections, as in the design) */

.ax-main--front .wp-block-post-content > * { margin-block-start: 0; }

.wp-block-post-content > .ax-how,
.wp-block-post-content > .ax-tub,
.wp-block-post-content > .ax-built,
.wp-block-post-content > .ax-why:not(:first-child) {
	margin-block-start: var(--ax-section-gap);
}

.wp-block-post-content > .ax-built + .ax-faq { margin-block-start: 0; }

.ax-site-footer { margin-block-start: max(6px, calc(10 * var(--ax-u))); }

/* ------------------------------------------------------------------ Why cold-water immersion */

.ax-why {
	background: var(--ax-mist);
	padding: calc(147 * var(--ax-u)) calc(127 * var(--ax-u)) calc(74 * var(--ax-u)) 0;
}

.ax-why > * { max-width: calc(1920px - 127 * var(--ax-u)); }

.ax-why .ax-why__heading {
	--ax-line-w: calc(256 * var(--ax-u));
	--ax-line-gap: calc(84 * var(--ax-u));
	padding-left: calc(394 * var(--ax-u));
}

.ax-why__grid {
	display: grid;
	grid-template-columns: 852fr 780fr 734fr 844fr;
	margin-top: calc(138 * var(--ax-u)) !important;
}

.ax-why__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: calc(457 * var(--ax-u));
	padding: 0 calc(24 * var(--ax-u));
	text-align: center;
}

.ax-why__item + .ax-why__item { border-left: max(3px, calc(13 * var(--ax-u))) solid var(--ax-line); }

.ax-why__item .ax-why__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: calc(222 * var(--ax-u));
	margin: 0;
}

.ax-why__item .ax-why__icon img { width: calc(160 * var(--ax-u)); height: auto; }
.ax-why__item .ax-icon-recovery img { width: calc(188 * var(--ax-u)); }
.ax-why__item .ax-icon-muscle img { width: calc(152 * var(--ax-u)); }
.ax-why__item .ax-icon-snowflake img { width: calc(150 * var(--ax-u)); }
.ax-why__item .ax-icon-routine img { width: calc(144 * var(--ax-u)); }

.ax-why .ax-why__title {
	margin-top: calc(93 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(12px, calc(40 * var(--ax-u)));
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ax-ink);
}

@media (max-width: 1023px) {
	.ax-why { padding: 56px 24px 48px; }
	.ax-why .ax-why__heading { padding-left: 0; --ax-line-w: 48px; --ax-line-gap: 20px; }
	.ax-why__grid { grid-template-columns: repeat(2, 1fr); row-gap: 40px; margin-top: 40px !important; }
	.ax-why__item { min-height: 0; padding: 8px 16px; }
	.ax-why__item + .ax-why__item { border-left-width: 3px; }
	.ax-why__item:nth-child(odd) { border-left: 0; }
	.ax-why__item .ax-why__icon { height: 88px; }
	.ax-why__item .ax-why__icon img,
	.ax-why__item .ax-icon-recovery img,
	.ax-why__item .ax-icon-muscle img,
	.ax-why__item .ax-icon-snowflake img,
	.ax-why__item .ax-icon-routine img { width: auto; max-height: 80px; max-width: 96px; }
	.ax-why .ax-why__title { margin-top: 20px; font-size: 14px; letter-spacing: 0.16em; }
}

@media (max-width: 520px) {
	.ax-why { padding: 48px 20px 40px; }
	.ax-why .ax-why__heading { font-size: 14px; letter-spacing: 0.14em; }
	.ax-why__grid { grid-template-columns: 1fr; row-gap: 0; margin-top: 24px !important; }
	.ax-why__item,
	.ax-why__item + .ax-why__item,
	.ax-why__item:nth-child(odd) {
		flex-direction: row;
		gap: 20px;
		padding: 20px 0;
		border-left: 0;
		border-top: 3px solid var(--ax-line);
		text-align: left;
	}
	.ax-why__item:first-child { border-top: 0; }
	.ax-why__item .ax-why__icon { flex: none; width: 72px; height: 64px; }
	.ax-why__item .ax-why__icon img,
	.ax-why__item .ax-icon-recovery img,
	.ax-why__item .ax-icon-muscle img,
	.ax-why__item .ax-icon-snowflake img,
	.ax-why__item .ax-icon-routine img { max-height: 56px; max-width: 64px; }
	.ax-why .ax-why__title { margin-top: 0; font-size: 13px; letter-spacing: 0.14em; max-width: none; }
}

/* ------------------------------------------------------------------ How it works */

.ax-how {
	display: grid;
	grid-template-columns: calc(987 * var(--ax-u)) 1fr;
	align-items: start;
	background: var(--ax-sand);
	padding: calc(124 * var(--ax-u)) calc(88 * var(--ax-u)) calc(96 * var(--ax-u)) 0;
}

.ax-how__intro { padding: calc(46 * var(--ax-u)) 0 0 var(--ax-gutter); }

.ax-how .ax-how__heading {
	--ax-line-w: calc(256 * var(--ax-u));
	--ax-line-gap: calc(61 * var(--ax-u));
}

.ax-how__steps {
	display: grid;
	grid-auto-rows: minmax(calc(272 * var(--ax-u)), auto);
	gap: 0;
	margin-top: calc(50 * var(--ax-u)) !important;
}

.ax-step {
	display: grid;
	grid-template-columns: calc(207 * var(--ax-u)) auto 1fr;
	grid-template-rows: calc(152 * var(--ax-u)) auto;
	align-content: start;
	align-items: start;
}

.ax-step::before {
	content: "";
	grid-column: 2;
	grid-row: 1;
	width: max(3px, calc(13 * var(--ax-u)));
	height: calc(152 * var(--ax-u));
	background: var(--ax-line);
}

.ax-step .ax-step__num {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	padding-left: calc(30 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(28px, calc(96 * var(--ax-u)));
	font-weight: 700;
	line-height: 1;
	color: var(--ax-ink);
}

.ax-step__body {
	grid-column: 3;
	grid-row: 1 / span 2;
	padding-left: calc(55 * var(--ax-u));
}

.ax-step .ax-step__title {
	font-family: var(--ax-sans);
	font-size: max(13px, calc(40 * var(--ax-u)));
	font-weight: 700;
	line-height: 1.275;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ax-ink);
}

.ax-step .ax-step__text {
	margin-top: calc(25 * var(--ax-u));
	max-width: none;
	font-family: var(--ax-sans);
	font-size: max(13px, calc(40 * var(--ax-u)));
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.2em;
	color: var(--ax-ink);
}

.ax-how__media {
	position: relative;
	overflow: hidden;
	background: #111;
}

.ax-how__media .ax-how__image,
.ax-how__media .ax-how__image img {
	display: block;
	width: 100%;
	margin: 0;
	aspect-ratio: 2275 / 1008;
	object-fit: cover;
}

.ax-how__labels {
	position: absolute;
	inset: auto 0 calc(64 * var(--ax-u)) 0;
	pointer-events: none;
}

.ax-how .ax-how__label {
	position: absolute;
	bottom: 0;
	font-family: var(--ax-sans);
	font-size: max(12px, calc(48 * var(--ax-u)));
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #fff;
	white-space: nowrap;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.ax-how .ax-how__label:nth-child(1) { left: 3.08%; }
.ax-how .ax-how__label:nth-child(2) { left: 26.99%; }
.ax-how .ax-how__label:nth-child(3) { left: 67.16%; }

@media (max-width: 1023px) {
	.ax-how { grid-template-columns: 1fr; padding: 56px 24px; gap: 40px; }
	.ax-how__intro { padding: 0; }
	.ax-how .ax-how__heading { --ax-line-w: 48px; --ax-line-gap: 20px; }
	.ax-how__steps { grid-auto-rows: auto; gap: 32px; margin-top: 32px !important; }
	.ax-step { grid-template-columns: 72px auto 1fr; grid-template-rows: 72px auto; }
	.ax-step::before { width: 3px; height: 72px; }
	.ax-step .ax-step__num { padding-left: 0; font-size: 36px; }
	.ax-step__body { padding-left: 20px; }
	.ax-step .ax-step__title { font-size: 14px; }
	.ax-step .ax-step__text { margin-top: 8px; max-width: 40ch; font-size: 14px; line-height: 1.45; letter-spacing: 0.1em; }
	.ax-how__labels { bottom: 16px; }
	.ax-how .ax-how__label { font-size: clamp(11px, 2vw, 18px); letter-spacing: 0.12em; }
}

@media (max-width: 781px) {
	.ax-how { padding: 48px 20px; margin-inline: 0; }
	.ax-how__labels { bottom: 10px; }
	.ax-how .ax-how__label { font-size: 10px; letter-spacing: 0.08em; }
}

/* ------------------------------------------------------------------ The tub (product banner) */

.ax-tub {
	position: relative;
	min-height: calc(1155 * var(--ax-u));
	background-color: #1c1916;
	background-size: cover;
	color: #fff;
}

.ax-tub__content {
	margin-left: 63.43%;
	padding: calc(73 * var(--ax-u)) var(--ax-gutter) calc(127 * var(--ax-u)) 0;
}

.ax-tub .ax-tub__eyebrow {
	font-family: var(--ax-sans);
	font-size: max(12px, calc(32 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: 0.52em;
	text-transform: uppercase;
	color: #fff;
}

.ax-tub .ax-tub__title {
	margin-top: calc(35 * var(--ax-u));
	font-family: var(--ax-serif);
	font-size: max(30px, calc(96 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.005em;
	color: #fff;
}

.ax-tub__features {
	position: relative;
	display: grid;
	grid-template-columns: calc(514 * var(--ax-u)) 1fr;
	row-gap: calc(70 * var(--ax-u));
	margin: calc(50 * var(--ax-u)) 0 0 calc(23 * var(--ax-u)) !important;
	max-width: calc(1100 * var(--ax-u));
}

.ax-tub__features::after {
	content: "";
	position: absolute;
	top: -6px;
	bottom: -12px;
	left: calc(514 * var(--ax-u));
	width: max(1px, calc(2 * var(--ax-u)));
	background: var(--ax-line);
}

.ax-feature {
	display: flex;
	align-items: center;
	gap: calc(33 * var(--ax-u));
}

.ax-feature:nth-child(even) { padding-left: calc(102 * var(--ax-u)); }

.ax-feature .ax-feature__icon { flex: none; margin: 0; }
.ax-feature .ax-feature__icon img { width: max(34px, calc(93 * var(--ax-u))); height: auto; }

.ax-tub .ax-feature__text {
	font-family: var(--ax-sans);
	font-size: max(12px, calc(32 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: 0.18em;
	color: #fff;
}

.ax-tub .ax-tub__buttons { margin: calc(150 * var(--ax-u)) 0 0 calc(-88 * var(--ax-u)); }

@media (max-width: 1023px) {
	.wp-block-group.ax-tub {
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding-top: calc(100vw / 2.9);
		background-size: 100% auto !important;
		background-position: 0 0 !important;
		background-color: #1c1916;
	}

	.ax-tub__content { margin: 0; padding: 40px 24px 48px; }
	.ax-tub .ax-tub__eyebrow { letter-spacing: 0.35em; }
	.ax-tub .ax-tub__title { margin-top: 14px; font-size: clamp(30px, 6vw, 48px); }
	.ax-tub__features { grid-template-columns: 1fr 1fr; row-gap: 28px; margin: 28px 0 0 !important; max-width: 640px; }
	.ax-tub__features::after { left: 50%; }
	.ax-feature { gap: 14px; }
	.ax-feature:nth-child(even) { padding-left: 28px; }
	.ax-tub .ax-feature__text { font-size: 13px; letter-spacing: 0.14em; }
	.ax-tub .ax-tub__buttons { margin: 36px 0 0; }
}

@media (max-width: 480px) {
	.ax-tub__content { padding: 32px 20px 40px; }
	.ax-tub__features { grid-template-columns: 1fr; }
	.ax-tub__features::after { display: none; }
	.ax-feature:nth-child(even) { padding-left: 0; }
	.ax-tub .ax-tub__buttons .wp-block-button,
	.ax-tub .ax-tub__buttons .wp-block-button__link { width: 100%; }
}

/* ------------------------------------------------------------------ Built for */

.ax-built {
	display: grid;
	grid-template-columns: calc(1143 * var(--ax-u)) 1fr;
	background: var(--ax-sand);
	padding: calc(107 * var(--ax-u)) calc(123 * var(--ax-u)) calc(125 * var(--ax-u)) 0;
}

.ax-built__intro { padding-left: calc(63 * var(--ax-u)); }

.ax-built .ax-built__eyebrow {
	display: flex;
	flex-direction: column;
	gap: calc(37 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(12px, calc(36 * var(--ax-u)));
	font-weight: 400;
	line-height: 1.28;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ax-ink);
}

.ax-built .ax-built__eyebrow::before {
	content: "";
	width: max(40px, calc(152 * var(--ax-u)));
	height: max(2px, calc(6 * var(--ax-u)));
	background: var(--ax-line);
}

.ax-built .ax-built__title {
	margin-top: calc(65 * var(--ax-u));
	padding-left: calc(10 * var(--ax-u));
	font-family: var(--ax-serif);
	font-size: max(36px, calc(128 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.195;
	letter-spacing: 0.005em;
	color: var(--ax-ink);
}

.ax-built__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(16 * var(--ax-u));
	margin-top: calc(36 * var(--ax-u)) !important;
}

.ax-card {
	position: relative;
	overflow: hidden;
	border-radius: max(10px, calc(34 * var(--ax-u)));
	aspect-ratio: 505 / 515;
	background: #ccc;
	isolation: isolate;
}

.ax-card .ax-card__image,
.ax-card .ax-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.ax-card .ax-card__image img { transition: transform 0.6s ease; }
.ax-card:hover .ax-card__image img { transform: scale(1.04); }

.ax-card::after {
	content: "";
	position: absolute;
	inset: 55% 0 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.28) 100%);
	pointer-events: none;
}

.ax-card .ax-card__label {
	position: absolute;
	left: calc(50 * var(--ax-u));
	right: calc(20 * var(--ax-u));
	bottom: calc(40 * var(--ax-u));
	z-index: 1;
	font-family: var(--ax-sans);
	font-size: max(11px, calc(32 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1023px) {
	.ax-built { grid-template-columns: 1fr; padding: 56px 24px 40px; gap: 32px; }
	.ax-built__intro { padding-left: 0; }
	.ax-built .ax-built__eyebrow { gap: 16px; font-size: 13px; }
	.ax-built .ax-built__title { margin-top: 20px; padding-left: 0; font-size: clamp(36px, 7vw, 56px); }
	.ax-built__cards { grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 0 !important; }
	.ax-card { border-radius: 12px; }
	.ax-card .ax-card__label { left: 14px; right: 10px; bottom: 14px; letter-spacing: 0.16em; }
}

@media (max-width: 781px) {
	.ax-built { padding: 48px 20px 32px; }
	.ax-built__cards { grid-template-columns: repeat(2, 1fr); }
	.ax-card .ax-card__label { font-size: 12px; letter-spacing: 0.14em; }
}

/* ------------------------------------------------------------------ FAQ */

.ax-faq {
	display: grid;
	grid-template-columns: calc(709 * var(--ax-u)) 1fr;
	background: var(--ax-sand);
	padding: 0 calc(120 * var(--ax-u)) calc(33 * var(--ax-u)) var(--ax-gutter);
}

.ax-faq::before {
	content: "";
	grid-column: 1 / -1;
	height: max(2px, calc(6 * var(--ax-u)));
	background: var(--ax-line);
	margin-right: calc(8 * var(--ax-u));
}

.ax-faq .ax-faq__title {
	margin-top: calc(74 * var(--ax-u));
	font-family: var(--ax-serif);
	font-size: max(18px, calc(40 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: var(--ax-ink);
}

.ax-faq__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	margin-top: calc(37 * var(--ax-u)) !important;
}

.ax-faq__item {
	position: relative;
	margin: 0;
	padding: 0;
}

.ax-faq__item:nth-last-child(n + 3) { border-bottom: max(2px, calc(6 * var(--ax-u))) solid var(--ax-line); }

.ax-faq__item > summary {
	position: relative;
	display: block;
	padding: calc(22 * var(--ax-u)) calc(110 * var(--ax-u)) calc(22 * var(--ax-u)) calc(53 * var(--ax-u));
	list-style: none;
	cursor: pointer;
	font-family: var(--ax-sans);
	font-size: max(13px, calc(24 * var(--ax-u)));
	font-weight: 400;
	line-height: 1.25;
	color: var(--ax-ink);
}

.ax-faq__item:nth-child(even) > summary { padding-left: calc(188 * var(--ax-u)); }

.ax-faq__item > summary::-webkit-details-marker { display: none; }
.ax-faq__item > summary::marker { content: ""; }

.ax-faq__item > summary::before,
.ax-faq__item > summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(63 * var(--ax-u));
	width: max(10px, calc(22 * var(--ax-u)));
	height: max(2px, calc(5 * var(--ax-u)));
	background: var(--ax-ink);
	transform: translate(0, -50%);
	transition: transform 0.25s ease;
}

.ax-faq__item > summary::after { transform: translate(0, -50%) rotate(90deg); }
.ax-faq__item[open] > summary::after { transform: translate(0, -50%) rotate(0deg); }
.ax-faq__item > summary:hover { text-decoration: underline; text-underline-offset: 3px; }

.ax-faq__item > :not(summary) {
	padding: 0 calc(110 * var(--ax-u)) calc(26 * var(--ax-u)) calc(53 * var(--ax-u));
	font-size: max(14px, calc(26 * var(--ax-u)));
	line-height: 1.6;
	color: var(--ax-muted);
}

.ax-faq__item:nth-child(even) > :not(summary) { padding-left: calc(188 * var(--ax-u)); }

@media (max-width: 1023px) {
	.ax-faq { grid-template-columns: 1fr; padding: 0 24px 40px; }
	.ax-faq::before { margin-right: 0; }
	.ax-faq .ax-faq__title { margin-top: 36px; font-size: 26px; }
	.ax-faq__list { grid-template-columns: 1fr; margin-top: 16px !important; }
	.ax-faq__item,
	.ax-faq__item:nth-last-child(n + 3) { border-bottom: 2px solid var(--ax-line); }
	.ax-faq__item:last-child { border-bottom: 0; }
	.ax-faq__item > summary,
	.ax-faq__item:nth-child(even) > summary { padding: 18px 44px 18px 0; font-size: 15px; }
	.ax-faq__item > summary::before,
	.ax-faq__item > summary::after { right: 8px; width: 14px; height: 2px; }
	.ax-faq__item > :not(summary),
	.ax-faq__item:nth-child(even) > :not(summary) { padding: 0 44px 20px 0; font-size: 15px; }
}

@media (max-width: 781px) {
	.ax-faq { padding: 0 20px 32px; }
}

/* ------------------------------------------------------------------ Footer */

.ax-footer {
	background: #000;
	color: #fff;
}

.ax-footer__inner {
	display: flex;
	align-items: flex-start;
	max-width: 1920px;
	margin-inline: auto;
	padding: calc(78 * var(--ax-u)) calc(132 * var(--ax-u)) calc(60 * var(--ax-u)) calc(82 * var(--ax-u));
}

.ax-footer__brand {
	display: flex;
	align-items: flex-start;
	gap: calc(97 * var(--ax-u));
}

.ax-footer .ax-footer__logo { margin: 0; line-height: 0; }
.ax-footer .ax-footer__logo img { width: max(130px, calc(400 * var(--ax-u))); height: auto; }

.ax-footer .ax-footer__tagline {
	padding-top: calc(11 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(12px, calc(24 * var(--ax-u)));
	font-weight: 500;
	line-height: 1.22;
	text-transform: uppercase;
	color: #fff;
}

.ax-footer nav.ax-footer__nav {
	margin-left: calc(326 * var(--ax-u));
	padding-top: calc(12 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(12px, calc(24 * var(--ax-u)));
	font-weight: 400;
	text-transform: uppercase;
	color: #fff;
}

.ax-footer .ax-footer__nav .wp-block-navigation__container,
.ax-footer .ax-footer__nav.wp-block-navigation {
	gap: max(8px, calc(22 * var(--ax-u))) max(18px, calc(95 * var(--ax-u)));
}

.ax-footer .ax-footer__nav .wp-block-navigation-item__content {
	color: #fff;
	text-decoration: none;
}

.ax-footer .ax-footer__nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; }

.ax-footer .ax-footer__social {
	margin-left: auto;
	padding-top: calc(36 * var(--ax-u));
	gap: 0 !important;
	flex-wrap: nowrap;
}

.ax-footer .ax-footer__social .wp-social-link {
	margin: 0;
	background: transparent !important;
	color: #fff !important;
	border: max(1.5px, calc(3 * var(--ax-u))) solid #fff;
	border-radius: 50%;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ax-footer .ax-footer__social .wp-social-link + .wp-social-link { margin-left: calc(1 * var(--ax-u)); }

.ax-footer .ax-footer__social .wp-social-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(30px, calc(62 * var(--ax-u)));
	height: max(30px, calc(62 * var(--ax-u)));
	padding: 0;
	color: inherit;
}

.ax-footer .ax-footer__social .wp-social-link svg {
	width: 66%;
	height: 66%;
	fill: currentColor;
}

.ax-footer .ax-footer__social .wp-social-link:hover {
	background: #fff !important;
	color: #000 !important;
	transform: none;
}

.ax-footer .ax-footer__copy {
	max-width: 1920px;
	margin-inline: auto;
	padding: 0 calc(132 * var(--ax-u)) max(20px, calc(48 * var(--ax-u))) calc(82 * var(--ax-u));
	font-family: var(--ax-sans);
	font-size: max(11px, calc(20 * var(--ax-u)));
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 1279px) {
	.ax-footer__inner {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 32px 24px;
		padding: 48px 24px 32px;
	}
	.ax-footer__brand { gap: 24px; align-items: center; }
	.ax-footer .ax-footer__logo img { width: 150px; }
	.ax-footer .ax-footer__tagline { padding-top: 0; font-size: 12px; }
	.ax-footer nav.ax-footer__nav { grid-column: 1 / -1; grid-row: 2; margin: 0; padding: 0; font-size: 13px; }
	.ax-footer .ax-footer__nav .wp-block-navigation__container,
	.ax-footer .ax-footer__nav.wp-block-navigation { gap: 14px 28px; }
	.ax-footer .ax-footer__social { grid-column: 2; grid-row: 1; padding-top: 0; align-self: center; }
	.ax-footer .ax-footer__social .wp-social-link + .wp-social-link { margin-left: 6px; }
	.ax-footer .ax-footer__social .wp-social-link a { width: 36px; height: 36px; }
	.ax-footer .ax-footer__copy { padding: 0 24px 28px; }
}

@media (max-width: 600px) {
	.ax-footer__inner { grid-template-columns: 1fr; padding: 44px 20px 28px; }
	.ax-footer__brand { flex-direction: column; align-items: flex-start; gap: 14px; }
	.ax-footer .ax-footer__social { grid-column: 1; grid-row: 3; margin-left: 0; justify-self: start; }
	.ax-footer .ax-footer__nav .wp-block-navigation__container,
	.ax-footer .ax-footer__nav.wp-block-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
	.ax-footer .ax-footer__copy { padding: 0 20px 28px; }
}

/* ------------------------------------------------------------------ Inner pages */

.ax-page-hero {
	background: var(--ax-sand);
	padding: max(28px, calc(120 * var(--ax-u))) var(--ax-gutter) max(36px, calc(130 * var(--ax-u)));
}

.wp-block-group.ax-page-hero > * {
	max-width: 1440px !important;
	margin-inline: auto !important;
}

.ax-page-hero::before {
	content: "";
	display: block;
	max-width: 1440px;
	width: 100%;
	margin: 0 auto max(18px, calc(48 * var(--ax-u)));
	height: 0;
	border-top: max(2px, calc(6 * var(--ax-u))) solid var(--ax-line);
	clip-path: inset(0 calc(100% - max(40px, calc(152 * var(--ax-u)))) 0 0);
}

.ax-page-hero .ax-page-hero__title,
.ax-page-hero h1 {
	margin-top: 0;
	font-family: var(--ax-serif);
	font-size: max(38px, calc(128 * var(--ax-u)));
	font-weight: 600;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--ax-ink);
}

.ax-page-hero__eyebrow,
.ax-page-hero__meta {
	font-family: var(--ax-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.ax-page-hero__eyebrow { margin-bottom: 12px !important; }
.ax-page-hero__eyebrow a { color: inherit; text-decoration: none; }
.ax-page-hero__meta { margin-top: 16px !important; color: var(--ax-muted); }
.ax-page-hero__text { margin-top: 16px !important; max-width: 60ch !important; margin-left: 0; color: var(--ax-muted); }

.ax-page-hero__search { margin-top: 24px !important; max-width: 560px !important; margin-left: 0 !important; }

.ax-page-content {
	padding-top: max(40px, calc(140 * var(--ax-u)));
	padding-bottom: max(56px, calc(180 * var(--ax-u)));
	font-size: 17px;
	line-height: 1.7;
}

.ax-page-content > .alignfull:first-child { margin-top: calc(-1 * max(40px, calc(140 * var(--ax-u)))); }
.ax-page-content > .alignfull:last-child { margin-bottom: calc(-1 * max(56px, calc(180 * var(--ax-u)))); }
.ax-page-content > .alignfull + .alignfull { margin-top: var(--ax-section-gap); }
.ax-page-content > .ax-built + .ax-faq,
.ax-page-content > .ax-faq:first-child { margin-top: 0; }

.ax-page-content h2 { font-size: clamp(28px, 2.4vw, 44px); margin-top: 1.6em; }
.ax-page-content h3 { font-size: clamp(22px, 1.7vw, 30px); }

.ax-lead {
	font-family: var(--ax-serif);
	font-size: clamp(22px, 1.9vw, 34px);
	font-weight: 500;
	line-height: 1.35;
}

.wp-block-heading.ax-label {
	margin-top: 1.8em;
	margin-bottom: 0.3em;
	font-family: var(--ax-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.ax-intro > * + *,
.ax-prose > * + * { margin-top: 1.1em; }

.ax-intro { padding-bottom: max(40px, calc(140 * var(--ax-u))); }

.ax-prose h2:first-child { margin-top: 0; }

.wp-site-blocks .ax-contact > * { margin-block-start: 0; }

.ax-contact {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 6vw, 120px);
}

.ax-cta {
	margin-top: 64px;
	padding: 56px 24px;
	text-align: center;
	background: var(--ax-sand);
}

.ax-cta .wp-block-buttons { justify-content: center; margin-top: 20px; }
.ax-cta__title { font-size: clamp(28px, 2.4vw, 44px) !important; margin: 0 !important; }

@media (max-width: 781px) {
	.ax-contact { grid-template-columns: 1fr; }
	.ax-page-content { font-size: 16px; }
}

/* Contact form */
.ax-form { display: grid; gap: 18px; }
.ax-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ax-form__field { margin: 0; display: grid; gap: 8px; }
.ax-form label,
.ax-shop label {
	font-family: var(--ax-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.ax-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ax-form__notice { padding: 14px 18px; border-left: 3px solid var(--ax-ink); background: var(--ax-sand); font-size: 15px; }
.ax-form__notice.is-error { border-color: #b3261e; }
.ax-form__actions { margin: 4px 0 0; }

@media (max-width: 600px) {
	.ax-form__row { grid-template-columns: 1fr; }
}

/* Shared form controls (contact form, WooCommerce classic forms, comments). */
.ax-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.ax-form textarea,
.ax-form select,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce-page form .input-text,
.comment-form input:not([type="checkbox"]):not([type="submit"]),
.comment-form textarea,
.wp-block-search__input {
	width: 100%;
	min-height: 50px;
	padding: 12px 16px;
	border: 1px solid #bdbdb6;
	border-radius: 0;
	background: #fff;
	color: var(--ax-ink);
	font-family: var(--ax-sans);
	font-size: 16px;
	line-height: 1.4;
	transition: border-color 0.2s ease;
}

.ax-form textarea,
.woocommerce form textarea.input-text,
.comment-form textarea { min-height: 150px; }

.ax-form :is(input, textarea, select):focus,
.woocommerce form :is(.input-text, select):focus,
.wp-block-search__input:focus {
	border-color: var(--ax-ink);
	outline: 2px solid var(--ax-ink);
	outline-offset: 0;
}

.ax-form__submit,
.wp-block-search__button {
	min-height: 50px;
	padding: 0 28px;
	border: 0;
	border-radius: 0;
	background: var(--ax-ink);
	color: #fff;
	font-family: var(--ax-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}

.ax-form__submit:hover,
.wp-block-search__button:hover { background: #2a2a2a; }

/* ------------------------------------------------------------------ Blog listing / single post */

.ax-listing {
	max-width: 1440px;
	margin-inline: auto;
	padding: max(40px, calc(120 * var(--ax-u))) var(--ax-gutter) max(56px, calc(160 * var(--ax-u)));
}

.ax-post-grid { gap: clamp(28px, 3vw, 56px) clamp(20px, 2vw, 40px) !important; }
.ax-post-grid > li > * + * { margin-top: 14px; }
.ax-post-card__image img { border-radius: 0; }
.ax-post-card__meta { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ax-muted); }
.ax-post-card__title { font-size: clamp(22px, 1.8vw, 32px) !important; }
.ax-post-card__title a { text-decoration: none; }
.ax-post-card__title a:hover { text-decoration: underline; }
.ax-post-card__excerpt { color: var(--ax-muted); }

.ax-pagination { margin-top: 56px !important; font-weight: 600; }
.ax-pagination a,
.ax-pagination .page-numbers { padding: 6px 10px; text-decoration: none; }
.ax-pagination .current { background: var(--ax-ink); color: #fff; }

@media (max-width: 1023px) {
	.ax-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
	.ax-post-grid { grid-template-columns: 1fr !important; }
}

.ax-article {
	padding: max(40px, calc(120 * var(--ax-u))) var(--ax-gutter) max(56px, calc(160 * var(--ax-u)));
	font-size: 17px;
	line-height: 1.75;
}

.ax-article__image { margin-bottom: 48px; }
.ax-article__tags { margin-top: 40px; font-size: 14px; }
.ax-article__nav { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--ax-line); gap: 20px; }
.ax-comments { margin-top: 64px; }

/* ------------------------------------------------------------------ Empty states / 404 */

.ax-empty {
	max-width: 760px;
	margin: 0 auto;
	padding: max(64px, calc(220 * var(--ax-u))) 20px;
	text-align: center;
}

.ax-empty > * + * { margin-top: 20px; }

.ax-empty__code {
	font-family: var(--ax-sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.4em;
}

.ax-empty .ax-empty__title { font-size: clamp(40px, 5vw, 80px); }
.ax-empty .wp-block-buttons { justify-content: center; margin-top: 32px; }
.ax-empty__search { max-width: 520px; margin-inline: auto; }
.ax-empty--inline { padding: 24px 0; text-align: left; margin: 0; }
.ax-empty--inline .ax-empty__search { margin-inline: 0; }

.ax-main--404 { background: var(--ax-sand); }
