/* ==========================================================================================
   Intelya — 1970s print: cream paper and walnut night, sunset stripes, Fraunces + Jost.
   Shares its tokens with AION's "intelya" theme, crivo and fincon (one palette, one kit).

   Layers in this file:
     1. Tokens: kit variables, and the walnut-night remap of the theme.json presets
     2. Base: paper grain, type details, links, focus, selection, skip link
     3. Sunset stripes (bands, separators, page-title accents)
     4. Header, navigation and the overlay menu
     5. Sections ("bands"), heroes, page headers
     6. Components: cards, eyebrows, numerals, stats, lists, buttons, products, FAQ
     7. Forms (Contact Form 7)
     8. News: cards, single post, pagination
     9. Footer
    10. Legal documents, search, 404
    11. Motion, forced colours
   ========================================================================================== */

/* ── 1. Tokens ──────────────────────────────────────────────────────────────────────────── */

:root {
	--i-ink-line: #2b1d14; /* outlines and hard offset shadows */
	--i-field: #fffbf3;
	--i-field-placeholder: #7d6656;
	--i-bevel-hi: rgb(255 255 255 / 0.6);
	--i-bevel-lo: rgb(43 29 20 / 0.18);
	--i-on-night-muted: #c9b79c;
	--i-night-line: #5a4232;
	--i-brown: #6b3e26;
	--i-ok: #56682a;
	--i-ok-fill: #7c9a35;
	--i-warn: #835e00;
	--i-warn-fill: #d9a21b;
	--i-crit: #a3321f;
	--i-crit-fill: #c8462b;

	--i-radius: 22px;
	--i-radius-sm: 14px;
	--i-shadow: 6px 6px 0 0 var(--i-ink-line);
	--i-shadow-lg: 10px 10px 0 0 var(--i-ink-line);
	--i-shadow-sm: 3px 3px 0 0 var(--i-ink-line);
	--i-outline: 2px solid var(--i-ink-line);

	--i-orange: #e8702a;
	--i-amber: #f2a541;
	--i-rust: #b5452b;

	/* Sunset stripe band height (see --i-stripes below); the cap curves the band's left
	   end up into the run, as in crivo's StripeBand. */
	--i-band-h: 18px;
	--i-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath fill='%23e8702a' d='M0 29A29 29 0 0 1 29 0L29 5A24 24 0 0 0 5 29Z'/%3E%3Cpath fill='%23f2a541' d='M8 29A21 21 0 0 1 29 8L29 13A16 16 0 0 0 13 29Z'/%3E%3Cpath fill='%23b5452b' d='M16 29A13 13 0 0 1 29 16L29 21A8 8 0 0 0 21 29Z'/%3E%3Cpath fill='%236b3e26' d='M24 29A5 5 0 0 1 29 24L29 29Z'/%3E%3C/svg%3E");

	/* Paper grain: a tile of SVG fractal noise in walnut at a few percent. No request. */
	--i-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .11 0 0 0 0 .08 0 0 0 .42 -.15'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
	--i-grain-night: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .86 0 0 0 0 .66 0 0 0 .5 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");

	--i-header-h: 4.75rem;
	--i-ease: cubic-bezier(0.3, 0.7, 0.4, 1);
}

/* Sunset stripe band: four stripes at 5:3 stripe:gap (crivo's StripeBand "lg") as
   percentage stops, so one gradient draws any height. Declared on every element so a
   local colour override (e.g. a cream stripe on amber) reaches it. */
*,
::before,
::after {
	--i-stripes: linear-gradient(
		to bottom,
		var(--i-orange) 0 17.24%,
		transparent 0 27.59%,
		var(--i-amber) 0 44.83%,
		transparent 0 55.17%,
		var(--i-rust) 0 72.41%,
		transparent 0 82.76%,
		var(--i-brown) 0 100%
	);
}

/* Walnut night: the same semantic slugs, remapped. Brand colours (walnut, cream, amber,
   orange, rust) stay put; the night band goes one step deeper than the page. */
@media (prefers-color-scheme: dark) {
	:root:root {
		--wp--preset--color--base: #2b1d14;
		--wp--preset--color--surface: #3a281c;
		--wp--preset--color--surface-2: #33231a;
		--wp--preset--color--panel: #241810;
		--wp--preset--color--contrast: #f3e9d2;
		--wp--preset--color--ink-muted: #c9b79c;
		--wp--preset--color--line: #5a4232;
		--wp--preset--color--line-strong: #94735a;
		--wp--preset--color--accent: #f08a45;
		--wp--preset--color--accent-strong: #f08a45;
		--wp--preset--color--accent-ink: #f4a46b;
		--wp--preset--color--on-accent: #2b1d14;
		--wp--preset--color--night: #1c120c;
		--wp--preset--color--brown: #8a5636;
		--wp--preset--color--avocado-ink: #a3b565;

		--i-ink-line: #120b07;
		/* Walnut on walnut needs a visible keyline: a warm line, the hard shadow stays deep. */
		--i-outline: 2px solid #6b4f3b;
		--i-field: #241810;
		--i-field-placeholder: #9e8d75;
		--i-bevel-hi: rgb(255 255 255 / 0.12);
		--i-bevel-lo: rgb(0 0 0 / 0.4);
		--i-brown: #8a5636;
		--i-night-line: #4a3526;
		--i-ok: #a3b565;
		--i-warn: #e5b43a;
		--i-crit: #e0735a;
		--i-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath fill='%23e8702a' d='M0 29A29 29 0 0 1 29 0L29 5A24 24 0 0 0 5 29Z'/%3E%3Cpath fill='%23f2a541' d='M8 29A21 21 0 0 1 29 8L29 13A16 16 0 0 0 13 29Z'/%3E%3Cpath fill='%23b5452b' d='M16 29A13 13 0 0 1 29 16L29 21A8 8 0 0 0 21 29Z'/%3E%3Cpath fill='%238a5636' d='M24 29A5 5 0 0 1 29 24L29 29Z'/%3E%3C/svg%3E");
		--i-grain: var(--i-grain-night);
		color-scheme: dark;
	}
}

/* ── 2. Base ────────────────────────────────────────────────────────────────────────────── */

html {
	scroll-padding-top: calc(var(--i-header-h) + 1.5rem);
	-webkit-text-size-adjust: 100%;
}

body {
	background-image: var(--i-grain);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern" 1;
}

/* Fraunces' soft, wonky 70s cut, everywhere it is used. */
h1, h2, h3, h4, h5,
.wp-block-site-title,
.intelya-wordmark,
.has-display-font-family,
.wp-block-quote,
.wp-block-pullquote,
.is-style-numeral {
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-optical-sizing: auto;
	text-wrap: balance;
}

p, li, dd {
	text-wrap: pretty;
}

/* h5 is used for short sub-heads in running text: Jost, not Fraunces. */
h5 {
	font-family: var(--wp--preset--font-family--sans);
	font-variation-settings: normal;
}

strong, b {
	font-weight: 650;
}

::selection {
	background: var(--wp--preset--color--amber);
	color: #2b1d14;
}

:where(a) {
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.2em;
}

:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* On amber the accent ring is too faint: walnut instead (also in dark mode). */
:is(.band.is-amber, .is-style-card.is-amber, .is-amber) :focus-visible,
:is(.band.is-amber, .is-style-card.is-amber, .is-amber) .wp-element-button:focus-visible {
	outline-color: #2b1d14;
}

.skip-link.screen-reader-text:focus {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100001;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	padding: 0.75rem 1.25rem;
	border: var(--i-outline);
	border-radius: 999px;
	background: var(--wp--preset--color--amber);
	color: #2b1d14;
	font-weight: 600;
	box-shadow: var(--i-shadow-sm);
}

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

/* The top-level template parts and main stack edge to edge. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

main {
	display: block;
}

/* ── 3. Sunset stripes ─────────────────────────────────────────────────────────────────── */

/* A separator drawn as the band: <hr class="is-style-sunset">. */
.wp-block-separator.is-style-sunset,
.sunset-band {
	--i-band-h: 18px;
	display: block;
	width: auto;
	height: var(--i-band-h);
	margin-inline: 0;
	border: 0;
	opacity: 1;
	color: transparent;
	background:
		var(--i-cap) 0 0 / var(--i-band-h) var(--i-band-h) no-repeat,
		var(--i-stripes) var(--i-band-h) 0 / calc(100% - var(--i-band-h)) var(--i-band-h) no-repeat;
}

.wp-block-separator.is-style-sunset.alignfull {
	--i-band-h: 26px;
	background: var(--i-stripes);
}

.wp-block-separator.is-style-sunset:not(.alignfull, .alignwide) {
	max-width: 10rem;
	-webkit-mask-image: linear-gradient(to right, #000 55%, transparent);
	mask-image: linear-gradient(to right, #000 55%, transparent);
}

.has-text-align-center + .wp-block-separator.is-style-sunset:not(.alignfull, .alignwide),
.wp-block-separator.is-style-sunset.aligncenter {
	margin-inline: auto;
	-webkit-mask-image: none;
	mask-image: none;
}

/* AION's page-title accent: a short band fading out under the heading. */
.is-style-underline-sunset::after {
	--i-band-h: 12.5px;
	content: "";
	display: block;
	width: min(9rem, 60%);
	height: var(--i-band-h);
	margin-top: 0.35em;
	background:
		var(--i-cap) 0 0 / var(--i-band-h) var(--i-band-h) no-repeat,
		var(--i-stripes) var(--i-band-h) 0 / calc(100% - var(--i-band-h)) var(--i-band-h) no-repeat;
	-webkit-mask-image: linear-gradient(to right, #000 55%, transparent);
	mask-image: linear-gradient(to right, #000 55%, transparent);
}

.has-text-align-center.is-style-underline-sunset::after {
	margin-inline: auto;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 25% 75%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 25% 75%, transparent);
}

/* ── 4. Header and navigation ──────────────────────────────────────────────────────────── */

.site-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background-color: var(--wp--preset--color--surface);
	background-image: var(--i-grain);
}

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

/* Short viewports (phones in landscape): the header scrolls away. */
@media (max-height: 500px) {
	.site-header {
		position: relative;
	}

	html {
		scroll-padding-top: 1rem;
	}
}

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

/* The band is the header's bottom edge, as in AION's app header. */
.site-header::after {
	--i-band-h: 16px;
	content: "";
	position: absolute;
	inset: auto 0 calc(var(--i-band-h) * -1) 0;
	height: var(--i-band-h);
	background: var(--i-stripes);
	pointer-events: none;
}

.site-header + main,
.site-header + * {
	padding-top: 16px;
}

.site-header__bar.site-header__bar {
	min-height: var(--i-header-h);
	gap: 1.25rem;
	padding-block: 0.5rem;
}

/* Logo, and its Fraunces wordmark fallback while the brand files do not exist yet. */
.intelya-logo {
	display: inline-flex;
	align-items: center;
	flex: none;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	border-radius: 8px;
}

.intelya-logo__img {
	display: block;
	width: auto;
	height: 2.75rem;
}

.intelya-logo--night .intelya-logo__img {
	height: 3.25rem;
}

.intelya-wordmark {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 900;
	font-size: 2.125rem;
	line-height: 1;
	letter-spacing: -0.03em;
	padding-bottom: 0.1em;
}

.intelya-wordmark::after {
	content: "";
	display: inline-block;
	width: 0.22em;
	height: 0.22em;
	margin-left: 0.04em;
	border-radius: 50%;
	background: var(--wp--preset--color--orange);
}

.intelya-logo--night {
	color: var(--wp--preset--color--on-night);
}

.intelya-logo--night .intelya-wordmark {
	font-size: 2.75rem;
}

/* Pill navigation, after AION's header: plain items, the current one a walnut pill. */
.site-nav {
	--i-nav-pad: 0.5rem 0.95rem;
	font-family: var(--wp--preset--font-family--sans);
}

.site-nav .wp-block-navigation__container {
	gap: 0.25rem;
}

.site-nav .wp-block-navigation-item__content,
.site-nav .wp-block-navigation-submenu__toggle {
	padding: var(--i-nav-pad);
	border-radius: 999px;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background-color 0.12s ease, color 0.12s ease;
}

.site-nav.site-nav .wp-block-navigation-submenu__toggle {
	padding: var(--i-nav-pad);
	padding-right: 1.6rem;
}

.site-nav.site-nav .wp-block-navigation-item.has-child {
	position: relative;
}

.site-nav.site-nav .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon {
	position: absolute;
	right: 0.7rem;
	top: 50%;
	margin: -0.3rem 0 0;
	pointer-events: none;
}

.site-nav :where(.wp-block-navigation-item__content, .wp-block-navigation-submenu__toggle):hover {
	background-color: var(--wp--preset--color--panel);
	color: var(--wp--preset--color--contrast);
}

.site-nav .has-child:has(.current-menu-item) > .wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--base);
}

.site-nav .current-menu-item > .wp-block-navigation-item__content,
.site-nav .has-child:has(.current-menu-item) > .wp-block-navigation-submenu__toggle {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12), inset 0 -2px 0 rgb(0 0 0 / 0.25);
}

/* The last item is the call to action: a primary pill. */
.site-nav .wp-block-navigation-item.is-cta > .wp-block-navigation-item__content {
	margin-left: 0.5rem;
	border: var(--i-outline);
	background-color: var(--wp--preset--color--accent-strong);
	color: var(--wp--preset--color--on-accent);
	font-weight: 600;
	box-shadow: 0 3px 0 0 var(--i-ink-line);
	transition: transform 0.08s ease, box-shadow 0.08s ease, background-color 0.12s ease;
}

.site-nav .wp-block-navigation-item.is-cta > .wp-block-navigation-item__content:hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.site-nav .wp-block-navigation-item.is-cta > .wp-block-navigation-item__content:active {
	transform: translateY(2px);
	box-shadow: 0 1px 0 0 var(--i-ink-line);
}

.site-nav .wp-block-navigation-item.is-cta.current-menu-item > .wp-block-navigation-item__content {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* Desktop submenu: a walnut card in both schemes (the navigation block also gives it the
   overlay's night colours), cream items, amber on hover, focus and current page. Scoped
   outside the open overlay, which styles its own list further down. */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
	top: calc(100% + 0.5rem);
	width: max-content;
	min-width: 15.5rem;
	padding: 0.5rem;
	border: 2px solid #120b07;
	border-radius: var(--i-radius-sm);
	background-color: #2b1d14 !important;
	color: #f3e9d2 !important;
	box-shadow: 6px 6px 0 0 #120b07;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.6rem 0.9rem;
	border-radius: 10px;
	background: none;
	box-shadow: none;
	color: #f3e9d2;
	white-space: nowrap;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:is(:hover, :focus-visible) {
	background-color: #3a281c;
	color: #f2a541;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:focus-visible {
	outline: 3px solid #f2a541;
	outline-offset: -3px;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content {
	background-color: #3a281c;
	color: #f2a541;
	box-shadow: inset 3px 0 0 #e8702a;
}

/* Hamburger and close buttons. */
.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close {
	padding: 0.6rem;
	border-radius: 999px;
	border: var(--i-outline);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 3px 0 0 var(--i-ink-line);
}

.site-nav .wp-block-navigation__responsive-container-close {
	top: 1rem;
	right: 1rem;
	border-color: var(--wp--preset--color--on-night);
	background: transparent;
	color: var(--wp--preset--color--on-night);
	box-shadow: none;
}

/* Core switches to the overlay below 600px; the full header fits from 900px. */
@media (min-width: 600px) and (max-width: 899px) {
	.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

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

/* The overlay: a walnut night page with big Fraunces items under a sunset band. */
.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--night);
	background-image: var(--i-grain-night);
	color: var(--wp--preset--color--on-night);
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open::before {
	--i-band-h: 18px;
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: var(--i-band-h);
	background: var(--i-stripes);
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open.is-menu-open {
	padding: 1.25rem clamp(1.5rem, 6vw, 4rem) 2.5rem;
}

.site-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
}

.site-nav .is-menu-open .wp-block-navigation__submenu-icon {
	display: none !important;
}

.site-nav .is-menu-open .wp-block-navigation-submenu__toggle {
	padding-right: 0 !important;
	cursor: default;
}

.site-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 4.5rem !important;
	gap: 0.25rem !important;
	align-items: flex-start !important;
}

.site-nav .is-menu-open .wp-block-navigation__container {
	gap: 0.15rem !important;
	align-items: flex-start !important;
}

.site-nav .is-menu-open .wp-block-navigation-item__content,
.site-nav .is-menu-open .wp-block-navigation-submenu__toggle {
	padding: 0.35rem 0 !important;
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: clamp(1.9rem, 1.2rem + 3vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	border-radius: 0;
	background: none !important;
	box-shadow: none !important;
	color: var(--wp--preset--color--on-night) !important;
}

.site-nav .is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--amber) !important;
}

.site-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--amber) !important;
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 0.18em;
}

.site-nav .is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 0.5rem 1.25rem !important;
	border: 0 !important;
	border-left: 3px solid var(--wp--preset--color--orange) !important;
	background: none !important;
	box-shadow: none !important;
	min-width: 0 !important;
}

.site-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--sans);
	font-variation-settings: normal;
	font-size: 1.25rem;
	font-weight: 500;
	padding: 0.4rem 0 !important;
}

.site-nav .is-menu-open .wp-block-navigation-item.is-cta > .wp-block-navigation-item__content {
	margin: 1.25rem 0 0;
	padding: 0.85rem 1.75rem !important;
	border: 2px solid #120b07;
	border-radius: 999px;
	background: var(--wp--preset--color--amber) !important;
	color: #2b1d14 !important;
	font-family: var(--wp--preset--font-family--sans);
	font-variation-settings: normal;
	font-size: 1.125rem;
	font-weight: 600;
	box-shadow: 0 3px 0 0 #120b07 !important;
	text-decoration: none;
}

/* ── 5. Sections, heroes, page headers ─────────────────────────────────────────────────── */

/* A band is a full-width section with generous vertical rhythm. */
.band {
	position: relative;
	padding-block: clamp(3.5rem, 2rem + 5vw, 6.5rem);
}

.band.is-tight {
	padding-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
}

/* Two paper sections in a row share their whitespace. */
.band:not(.has-background, .is-style-night, .is-amber) + .band:not(.has-background, .is-style-night, .is-amber) {
	padding-top: 0;
}

.band.has-sunset-top {
	padding-top: calc(clamp(3.5rem, 2rem + 5vw, 6.5rem) + 26px);
}

.section-head + * {
	margin-block-start: clamp(2rem, 1.5rem + 2vw, 3.25rem) !important;
}

.section-actions {
	margin-block-start: clamp(2rem, 1.5rem + 2vw, 3rem) !important;
}

.band.is-flush-top {
	padding-top: 0;
}

/* Walnut night band: cream ink, amber accents, deeper grain, a sunset edge on top. */
.is-style-night {
	--i-ink-line: #120b07;
	background-color: var(--wp--preset--color--night);
	background-image: var(--i-grain-night);
	color: var(--wp--preset--color--on-night);
}

.is-style-night :where(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

.is-style-night a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--amber);
}

.is-style-night a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--on-night);
}

.is-style-night .is-style-eyebrow,
.is-style-night h6 {
	color: var(--wp--preset--color--amber);
}

.is-style-night .is-style-lead,
.is-style-night .has-ink-muted-color {
	color: var(--i-on-night-muted) !important;
}

.band.is-style-night.has-sunset-top::before,
.band.has-sunset-top::before {
	--i-band-h: 26px;
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: var(--i-band-h);
	background: var(--i-stripes);
}

/* Amber "poster" band: walnut ink on harvest amber, with faint sunburst rays from a corner. */
.band.is-amber,
.is-style-card.is-amber {
	background-image: repeating-conic-gradient(from 180deg at 100% 100%, rgb(255 248 236 / 0.16) 0 3deg, transparent 3deg 8deg);
}

.band.is-amber {
	background-color: var(--wp--preset--color--amber);
	color: #2b1d14;
	--i-ink-line: #2b1d14;
}

.band.is-amber :where(h1, h2, h3, h4, h5, h6, p) {
	color: #2b1d14;
}

.is-amber .is-style-eyebrow {
	--i-amber: #fbf4e4;
	color: #2b1d14;
}

.is-amber a:where(:not(.wp-element-button)) {
	color: #2b1d14;
}

.band.is-amber .is-style-eyebrow::before {
	filter: none;
}

/* Section heads: eyebrow, title, lead, centred or left. */
.section-head {
	max-width: 52rem;
}

.section-head.is-split {
	max-width: none;
	align-items: flex-end;
	gap: 1rem 2rem;
}

.section-head.is-split > * {
	margin: 0 !important;
}

.section-head.has-text-align-center,
.section-head.is-centered {
	margin-inline: auto;
	text-align: center;
}

.section-head > * + * {
	margin-block-start: 1rem !important;
}

.section-head > .is-style-eyebrow + * {
	margin-block-start: 0.75rem !important;
}

/* Hero (front page): a big Fraunces headline and the sunset poster. */
.hero {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
	overflow: clip;
}

/* The swoosh stands on the hero's bottom edge, its legs running into the next band. */
.hero.hero {
	padding-bottom: 0;
}

.hero .wp-block-columns {
	align-items: stretch !important;
}

.hero .wp-block-columns > .wp-block-column:first-child {
	align-self: center !important;
	padding-bottom: var(--wp--preset--spacing--70);
}

.hero .wp-block-columns > .wp-block-column:last-child {
	align-self: flex-end !important;
}

.hero__title + .is-style-lead {
	margin-block-start: 1.75rem !important;
}

.hero .wp-block-columns {
	align-items: center !important;
	gap: clamp(2rem, 5vw, 5rem);
}

.hero__title {
	font-size: var(--wp--preset--font-size--giant) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.025em;
}

.hero__title .accent,
.hero__title mark {
	background: none;
	color: var(--wp--preset--color--accent-ink);
}

.hero .is-style-lead {
	max-width: 34rem;
}

.hero .wp-block-buttons {
	margin-top: 2rem !important;
}

/* The art bleeds off the right edge, so the stripes run out of the page like a racing stripe. */
.hero-art {
	position: relative;
	margin: 0 calc(-1 * max(var(--wp--style--root--padding-right, 1rem), (100vw - var(--wp--style--global--wide-size)) / 2)) 0 0 !important;
}

.hero-art {
	margin-bottom: 0 !important;
}

.hero-art > * {
	margin: 0 !important;
}

/* The Intelya mark (its planets orbit, unless reduced motion) rides above the stripes. */
.hero-art__mark {
	position: absolute;
	left: 33%;
	top: -3%;
	width: 62%;
}

.hero-art__mark img {
	display: block;
	width: 100%;
	height: auto;
}

.hero-art img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0 !important;
}

/* Page header for inner pages: eyebrow, h1, lead, and a corner of concentric sunset arcs. */
.page-hero {
	position: relative;
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--70);
	overflow: clip;
	isolation: isolate;
}

.page-hero::after {
	content: "";
	position: absolute;
	right: max(var(--wp--style--root--padding-right, 1rem), (100% - var(--wp--style--global--wide-size)) / 2);
	top: 50%;
	z-index: -1;
	width: clamp(13rem, 22vw, 20rem);
	aspect-ratio: 1;
	transform: translateY(-50%);
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			transparent 0 16%,
			var(--i-brown) 16% 23%,
			transparent 23% 28%,
			var(--i-rust) 28% 35%,
			transparent 35% 40%,
			var(--i-amber) 40% 47%,
			transparent 47% 52%,
			var(--i-orange) 52% 59%,
			transparent 59%
		);
	opacity: 0.95;
	pointer-events: none;
}

/* The dial's tick ring, drawn as a conic gradient inside an annulus mask. */
.page-hero::before {
	content: "";
	position: absolute;
	right: max(var(--wp--style--root--padding-right, 1rem), (100% - var(--wp--style--global--wide-size)) / 2);
	top: 50%;
	z-index: -1;
	width: clamp(13rem, 22vw, 20rem);
	aspect-ratio: 1;
	transform: translateY(-50%);
	border-radius: 50%;
	background: repeating-conic-gradient(from -1deg, var(--i-brown) 0 2deg, transparent 2deg 7.5deg);
	-webkit-mask: radial-gradient(circle, transparent 0 63%, #000 63.5% 69%, transparent 69.5%);
	mask: radial-gradient(circle, transparent 0 63%, #000 63.5% 69%, transparent 69.5%);
	pointer-events: none;
}

/* Keep the copy clear of the dial in the corner. */
@media (min-width: 900px) {
	.page-hero:not(.product-hero) > .alignwide > * {
		max-width: min(50rem, 66%);
	}
}

.product-hero::before,
.product-hero::after {
	content: none;
}

.page-hero h1 {
	max-width: 18ch;
	font-size: var(--wp--preset--font-size--giant);
	line-height: 1;
}

.page-hero .is-style-lead {
	max-width: 40rem;
}

.page-hero > .wp-block-group > * + * {
	margin-block-start: 1.25rem;
}

.page-hero .wp-block-buttons {
	margin-top: 2rem !important;
}

/* Product heroes: copy beside a framed product panel. */
.product-hero .wp-block-columns {
	align-items: center !important;
	gap: clamp(2rem, 5vw, 5rem);
}

/* ── 6. Components ─────────────────────────────────────────────────────────────────────── */

/* Eyebrow: IBM Plex Mono small caps after a mini sunset band. */
.is-style-eyebrow {
	--i-band-h: 12.5px;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-ink);
	text-wrap: balance;
}

/* A short rule, not a stripe band: the bands keep their punch for headers, footers and
   section edges. */
.is-style-eyebrow::before {
	content: "";
	flex: none;
	width: 1.6rem;
	height: 3px;
	border-radius: 2px;
	background: currentColor;
}

.is-style-eyebrow.has-text-align-center {
	justify-content: center;
}

.is-style-lead {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.5;
	color: var(--wp--preset--color--ink-muted);
}

.is-style-lead strong {
	color: var(--wp--preset--color--contrast);
}

/* The three verbs, each led by one of the mark's planets: amber, orange, teal. */
.verbs {
	--i-planet-1: #f2a541;
	--i-planet-2: #e8702a;
	--i-planet-3: var(--wp--preset--color--teal);
}

.is-style-eyebrow.verbs {
	flex-wrap: wrap;
	gap: 0.4rem 1.35rem;
}

.is-style-eyebrow.verbs::before {
	content: none;
}

.verbs .verb {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
}

.verbs .verb::before {
	content: "";
	flex: none;
	width: 0.95em;
	height: 0.95em;
	border-radius: 50%;
	background:
		radial-gradient(circle at 33% 30%, rgb(255 255 255 / 0.65) 0 16%, transparent 18%),
		var(--i-planet);
	box-shadow: 0 0 0 1.5px var(--i-ink-line);
}

.verbs .verb:nth-of-type(1) { --i-planet: var(--i-planet-1); }
.verbs .verb:nth-of-type(2) { --i-planet: var(--i-planet-2); }
.verbs .verb:nth-of-type(3) { --i-planet: var(--i-planet-3); }

/* Stacked verbs (footer motto, motto tile): one per line. */
.site-footer__motto.verbs,
.motto.verbs {
	display: flex;
	flex-direction: column;
	gap: 0.15em;
}

.site-footer__motto.verbs .verb::before,
.motto.verbs .verb::before {
	width: 0.6em;
	height: 0.6em;
}

.site-footer__motto.verbs .verb::before {
	box-shadow: 0 0 0 1.5px #120b07;
}

/* Cards: paper, a walnut keyline, a hard offset shadow, no blur. */
.is-style-card,
.is-style-card-stripe {
	position: relative;
	padding: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
	border: var(--i-outline);
	border-radius: var(--i-radius);
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	box-shadow: var(--i-shadow);
}

.is-style-card > * + *,
.is-style-card-stripe > * + * {
	margin-block-start: 0.85rem;
}

.is-style-card.has-background,
.is-style-card-stripe.has-background {
	padding: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
}

/* AION's stripe-banded card: the band runs along the top inside the keyline, and its cap
   is the card's rounded corner. */
.is-style-card-stripe {
	--i-band-h: 18px;
	padding-top: calc(clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem) + var(--i-band-h));
	overflow: hidden;
}

.is-style-card-stripe::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: var(--i-band-h);
	background:
		var(--i-cap) 0 0 / var(--i-band-h) var(--i-band-h) no-repeat,
		var(--i-stripes) var(--i-band-h) 0 / calc(100% - var(--i-band-h)) var(--i-band-h) no-repeat;
}

.is-style-night .is-style-card,
.is-style-night .is-style-card-stripe {
	--i-ink-line: #120b07;
	background-color: #3a281c;
	color: var(--wp--preset--color--on-night);
	border-color: #120b07;
}

.is-style-night .is-style-card :where(p),
.is-style-night .is-style-card-stripe :where(p) {
	color: #e8dcc3;
}

.is-style-card.is-night a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--amber);
}

.is-style-card.is-night a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--on-night);
}

.is-style-card.is-night .is-style-eyebrow {
	color: var(--wp--preset--color--amber);
}

.is-style-card.is-night {
	background-color: var(--wp--preset--color--night);
	background-image: var(--i-grain-night);
	color: var(--wp--preset--color--on-night);
	--i-ink-line: #2b1d14;
}

.is-style-card.is-cream,
.is-style-night .is-style-card.is-cream {
	background-color: #fbf4e4;
	color: #2b1d14;
}

.is-style-night .is-style-card.is-cream :where(p, h2, h3, li) {
	color: #2b1d14;
}

.is-style-card.is-amber {
	background-color: var(--wp--preset--color--amber);
	color: #2b1d14;
}

.is-style-card.is-amber :where(h1, h2, h3, h4, p, li) {
	color: #2b1d14;
}

.card-grid .is-style-card h3,
.card-grid .is-style-card-stripe h3,
.compare h3 {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.15;
}

.compare h3 {
	font-size: var(--wp--preset--font-size--xl);
}

/* Cards in a grid stretch to equal height. */
.card-grid > .is-style-card,
.card-grid > .is-style-card-stripe {
	height: 100%;
}

/* Grids keep WordPress's "up to N columns, at least --i-min wide" behaviour with a larger gap. */
.card-grid.card-grid,
.news-grid.news-grid,
.rule-grid.rule-grid {
	--i-gap: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
	gap: var(--i-gap);
	grid-template-columns: repeat(
		auto-fill,
		minmax(max(min(var(--i-min, 17rem), 100%), (100% - var(--i-gap) * (var(--i-cols, 3) - 1)) / var(--i-cols, 3)), 1fr)
	);
}

.is-2-cols { --i-cols: 2; }
.is-3-cols { --i-cols: 3; }
.is-4-cols { --i-cols: 4; --i-min: 13rem; }

/* Small geometric dingbat at the top of a card (decorative, alt=""). */
.dingbat {
	margin: 0 0 0.25rem !important;
}

.dingbat img {
	display: block;
	width: 3.5rem !important;
	height: 3.5rem !important;
	border-radius: 0 !important;
}

/* Giant Fraunces numerals in the sunset sequence, outlined with an offset drop. */
.is-style-numeral {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--numeral) !important;
	font-weight: 900;
	line-height: 0.82;
	letter-spacing: -0.04em;
	color: var(--i-numeral, var(--wp--preset--color--orange));
	-webkit-text-stroke: 3px var(--i-ink-line);
	paint-order: stroke fill;
	text-shadow: 6px 6px 0 var(--i-ink-line);
	font-variant-numeric: lining-nums;
}

.is-style-night .is-style-numeral {
	--i-ink-line: #120b07;
}

.steps > :nth-child(4n + 1) { --i-numeral: var(--i-orange); }
.steps > :nth-child(4n + 2) { --i-numeral: var(--i-amber); }
.steps > :nth-child(4n + 3) { --i-numeral: var(--i-rust); }
.steps > :nth-child(4n + 4) { --i-numeral: var(--i-amber); }

/* On walnut, rust is too dark for the third numeral: it takes cream. */
.is-style-night .steps > :nth-child(4n + 3) {
	--i-numeral: #f3e9d2;
}

@media (prefers-color-scheme: dark) {
	.method-list.method-list > :nth-child(4n + 3) {
		--i-numeral: #f3e9d2;
	}
}

.step > * + * {
	margin-block-start: 0.6rem !important;
}

.step > .is-style-numeral + * {
	margin-block-start: 1.25rem !important;
}

.step h3 {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.15;
}

.step p:not(.is-style-numeral) {
	font-size: 1.0625rem;
	line-height: 1.6;
}

/* Method timeline (metodo): numeral column, copy, duotone photo. */
.method-step {
	gap: clamp(1.5rem, 4vw, 4rem) !important;
	align-items: center !important;
	padding-block: clamp(2rem, 4vw, 3.5rem);
	border-top: 2px solid var(--wp--preset--color--line);
}

.method-step:first-child {
	border-top: 0;
}

.method-step .is-style-numeral {
	font-size: clamp(5rem, 3rem + 7vw, 10rem) !important;
}

.method-list > :nth-child(4n + 1) { --i-numeral: var(--i-orange); }
.method-list > :nth-child(4n + 2) { --i-numeral: var(--i-amber); }
.method-list > :nth-child(4n + 3) { --i-numeral: var(--i-rust); }
.method-list > :nth-child(4n + 4) { --i-numeral: var(--i-amber); }

/* Stats: big Fraunces figures with a label and a stripe under each. */
.stats.stats {
	gap: clamp(1.5rem, 3vw, 3rem);
}

.stats.stats:not(.is-stacked) {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.section-head + .stats {
	margin-block-start: clamp(2rem, 1.5rem + 2vw, 3.25rem) !important;
}

.stat {
	padding-top: 1.25rem;
	border-top: 3px solid currentColor;
}

.stat > * + * {
	margin-block-start: 0.5rem !important;
}

.stat__figure {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--giant) !important;
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: -0.03em;
	font-variant-numeric: lining-nums;
}

.is-style-night .stat__figure {
	color: var(--wp--preset--color--amber);
}

.stat__label {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--lg) !important;
	font-weight: 700;
	line-height: 1.2;
}

.stat__note {
	font-size: var(--wp--preset--font-size--sm);
	opacity: 0.85;
}

.fineprint {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs) !important;
	line-height: 1.6;
	opacity: 0.85;
}

/* Lists: sunset discs, and a pill cloud. */
.is-style-checks {
	list-style: none;
	padding-left: 0 !important;
}

.is-style-checks > li {
	position: relative;
	padding-left: 2rem;
}

.is-style-checks > li + li {
	margin-top: 0.6rem;
}

.is-style-checks > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.32em;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.4' fill='none' stroke='%23fbf4e4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat,
		var(--wp--preset--color--avocado);
	box-shadow: 0 0 0 2px var(--i-ink-line);
}

.is-style-checks.is-crosses > li::before {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' fill='none' stroke='%23f3e9d2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / 80% no-repeat,
		var(--i-rust);
}

.is-style-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	list-style: none;
	padding-left: 0 !important;
}

.is-style-pills > li {
	margin: 0;
	padding: 0.55rem 1.1rem;
	border: var(--i-outline);
	border-radius: 999px;
	background-color: var(--wp--preset--color--surface);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--sm);
	box-shadow: var(--i-shadow-sm);
}

.is-style-card.is-night .is-style-pills > li,
.is-style-night .is-style-pills > li {
	background-color: #3a281c;
	border-color: #120b07;
	box-shadow: 3px 3px 0 0 #120b07;
}

.is-style-pills > li:nth-child(4n + 1) { box-shadow: 3px 3px 0 0 var(--i-orange); }
.is-style-pills > li:nth-child(4n + 2) { box-shadow: 3px 3px 0 0 var(--i-amber); }
.is-style-pills > li:nth-child(4n + 3) { box-shadow: 3px 3px 0 0 var(--i-rust); }
.is-style-pills > li:nth-child(4n + 4) { box-shadow: 3px 3px 0 0 var(--wp--preset--color--teal); }

/* Technology patch bay (home): one row per family, a jack and a channel label on the left,
   the names as pills whose offset shadow is that row's cable colour. Names only, no logos. */
.tech-bay {
	margin-top: clamp(2rem, 1.5rem + 2vw, 3rem) !important;
	border-top: 3px solid var(--wp--preset--color--contrast);
}

.tech-bay > :nth-child(4n + 1) { --i-row: var(--i-orange); }
.tech-bay > :nth-child(4n + 2) { --i-row: var(--i-amber); }
.tech-bay > :nth-child(4n + 3) { --i-row: var(--i-rust); }
.tech-bay > :nth-child(4n + 4) { --i-row: var(--wp--preset--color--teal); }

.tech-row.tech-row {
	display: grid;
	grid-template-columns: 12.5rem minmax(0, 1fr);
	gap: 0.85rem 1.75rem;
	align-items: center;
	margin: 0;
	padding-block: 1.25rem;
	border-bottom: 2px solid var(--wp--preset--color--line-strong);
}

.tech-row__label.tech-row__label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* The jack: a socket ring in the row colour. */
.tech-row__label::before {
	content: "";
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: radial-gradient(circle, #1c120c 0 30%, var(--i-row) 33% 100%);
	box-shadow: 0 0 0 2px var(--i-ink-line);
}

.tech-row .tech-row__pills {
	margin: 0 !important;
	gap: 0.65rem;
}

.tech-row .tech-row__pills > li {
	padding: 0.45rem 0.9rem;
	box-shadow: 3px 3px 0 0 var(--i-row);
}

.is-style-pills small {
	margin-left: 0.3em;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78em;
	font-weight: 400;
	opacity: 0.8;
}

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

/* Buttons: pills with the kit's bevel and a hard "key" shadow that presses in. */
.wp-element-button,
.wp-block-button__link {
	box-shadow:
		inset 0 1px 0 var(--i-bevel-hi),
		inset 0 -2px 0 var(--i-bevel-lo),
		0 3px 0 0 var(--i-ink-line);
	transition: transform 0.08s ease, box-shadow 0.08s ease, background-color 0.12s ease, color 0.12s ease;
}

.wp-element-button:active,
.wp-block-button__link:active {
	transform: translateY(2px);
	box-shadow: inset 0 2px 3px var(--i-bevel-lo), 0 1px 0 0 var(--i-ink-line);
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	padding: 0.8em 1.6em;
	border: var(--i-outline);
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wp-block-button__link::after {
	content: none;
}

.wp-block-button.has-arrow .wp-block-button__link::after,
.wp-block-button.is-style-outline.has-arrow .wp-block-button__link::after {
	content: "\00a0\2192";
}

/* Buttons on walnut: amber pills with walnut ink. */
.is-style-night .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.site-footer .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	border-color: #120b07;
	background-color: var(--wp--preset--color--amber);
	color: #2b1d14;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.5),
		inset 0 -2px 0 rgb(43 29 20 / 0.2),
		0 3px 0 0 #120b07;
}

.is-style-night .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.site-footer .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: #f3e9d2;
}

.is-style-night .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: var(--wp--preset--color--on-night);
	background: transparent;
	color: var(--wp--preset--color--on-night);
	box-shadow: 0 3px 0 0 #120b07;
}

.is-style-night .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--on-night);
	color: #2b1d14;
}

.is-amber .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background-color: #2b1d14;
	color: #f3e9d2;
	border-color: #2b1d14;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12), 0 3px 0 0 #120b07;
}

.is-amber .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: #fbf4e4;
	color: #2b1d14;
}

.is-amber .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: #2b1d14;
	color: #2b1d14;
}

/* Text links styled as an arrow call ("Approfondisci →"). */
.more-link a,
a.more-link {
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: 0.1em;
}

.more-link a::after,
a.more-link::after {
	content: "\00a0\2192";
	display: inline-block;
	transition: transform 0.15s var(--i-ease);
}

.more-link a:hover::after,
a.more-link:hover::after {
	transform: translateX(3px);
}

/* Images: framed with the keyline and shadow. */
.is-style-frame img,
.wp-block-image.is-style-frame img {
	border: var(--i-outline);
	border-radius: var(--i-radius) !important;
	box-shadow: var(--i-shadow);
}

/* Product panels ("record sleeves"): art on a coloured square, copy beside it. */
.product {
	gap: clamp(1.5rem, 4vw, 4rem) !important;
	align-items: center !important;
}

.product + .product {
	margin-top: clamp(3rem, 6vw, 5rem) !important;
}

.product-sleeve {
	position: relative;
	display: grid !important;
	place-items: center;
	aspect-ratio: 1;
	padding: 12% !important;
	border: var(--i-outline);
	border-radius: var(--i-radius);
	box-shadow: var(--i-shadow-lg);
	overflow: hidden;
	isolation: isolate;
}

.product-sleeve > * {
	margin: 0 !important;
	width: 100%;
}

.product-sleeve figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0 !important;
}

.product-sleeve.is-walnut {
	background-color: #2b1d14;
	background-image: var(--i-grain-night);
}

@media (prefers-color-scheme: dark) {
	.product-sleeve.is-walnut,
	.brand-sleeve {
		background-color: #1c120c;
	}
}

.product-sleeve.is-amber {
	background-color: var(--i-amber);
}

.product-sleeve.is-orange {
	background-color: var(--i-orange);
}

.product-sleeve.is-cream {
	background-color: #fbf4e4;
}

/* Sleeve stripes: four bands sweeping along the bottom, as on a 70s record sleeve. */
.product-sleeve::after {
	--i-band-h: 40px;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 7%;
	z-index: -1;
	height: var(--i-band-h);
	background: var(--i-stripes);
	opacity: 0.95;
}

.product-sleeve.is-amber::after,
.product-sleeve.is-orange::after {
	--i-amber: #fbf4e4;
}

.product-sleeve.is-orange::after {
	--i-orange: #f2a541;
}

.product__copy > * + * {
	margin-block-start: 1rem !important;
}

.product__copy h3 {
	font-size: var(--wp--preset--font-size--xxl);
}

/* Rule grid: items separated by rules instead of boxed in cards. */
.rule-grid.rule-grid {
	row-gap: 0;
}

.rule-grid > * {
	margin: 0 !important;
	padding-block: 1.35rem 1.6rem;
	border-top: 2px solid var(--wp--preset--color--line-strong);
}

.is-style-night .rule-grid > * {
	border-top-color: #5a4232;
}

.rule-grid > * > * + * {
	margin-block-start: 0.5rem !important;
}

.rule-grid h3 {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
}

.rule-grid p {
	font-size: 1.0625rem;
	line-height: 1.6;
}

.rule-grid .rule-grid__motto {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--xl) !important;
	font-weight: 800;
	line-height: 1.15;
	color: var(--wp--preset--color--amber);
}

.section-head + .rule-grid,
.section-head + .spec-list {
	margin-block-start: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important;
}

/* Comparison (before / after). */
.compare {
	gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

/* FAQ: details as stacked paper cards with a big + that turns. */
.faq > * + * {
	margin-block-start: 0.85rem !important;
}

.wp-block-details {
	border: var(--i-outline);
	border-radius: var(--i-radius-sm);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--i-shadow-sm);
	overflow: hidden;
}

.wp-block-details > summary {
	position: relative;
	padding: 1.1rem 3.75rem 1.1rem 1.4rem;
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.25;
	list-style: none;
	cursor: pointer;
}

.wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details > summary::after {
	content: "";
	position: absolute;
	right: 1.1rem;
	top: 50%;
	width: 1.75rem;
	height: 1.75rem;
	margin-top: -0.875rem;
	border-radius: 50%;
	background:
		linear-gradient(#2b1d14, #2b1d14) center / 55% 2.5px no-repeat,
		linear-gradient(#2b1d14, #2b1d14) center / 2.5px 55% no-repeat,
		var(--wp--preset--color--amber);
	box-shadow: 0 0 0 2px var(--i-ink-line);
	transition: transform 0.2s var(--i-ease);
}

.wp-block-details[open] > summary::after {
	transform: rotate(135deg);
}

.wp-block-details > summary:focus-visible {
	outline-offset: -4px;
}

.wp-block-details > :not(summary) {
	margin: 0 !important;
	padding: 0 1.4rem;
}

.wp-block-details > :not(summary):last-child {
	padding-bottom: 1.25rem;
}

.wp-block-details[open] > summary {
	border-bottom: 2px dashed var(--wp--preset--color--line);
	margin-bottom: 1rem;
}

/* Quotes: a big Fraunces statement with an orange mark. */
.wp-block-quote,
.wp-block-pullquote blockquote {
	position: relative;
	margin: 0;
	padding: 0;
}

.wp-block-quote.is-statement,
.wp-block-pullquote {
	padding: clamp(1.5rem, 3vw, 2.5rem) 0 0 !important;
	text-align: left;
}

.wp-block-quote.is-statement::before {
	content: "\201C";
	display: block;
	height: 0.55em;
	font-family: var(--wp--preset--font-family--display);
	font-size: 5em;
	line-height: 0.9;
	color: var(--wp--preset--color--orange);
}

.wp-block-quote p {
	font-weight: inherit;
}

.wp-block-quote cite {
	display: block;
	margin-top: 1rem;
	color: var(--wp--preset--color--ink-muted);
}

/* Tech list: logos would be third-party marks; names set in mono read as a 70s spec sheet. */
.tech-list.tech-list {
	gap: 0.75rem;
}

/* Contact card. */
.contact-card dl,
.contact-lines {
	margin: 0;
}

.contact-lines p {
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	gap: 0.25rem 1rem;
	align-items: baseline;
}

@media (max-width: 420px) {
	.contact-lines p {
		grid-template-columns: minmax(0, 1fr);
	}
}

.contact-lines .label {
	min-width: 6.5rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.8;
}

/* Founders: a typographic monogram disc instead of a portrait. */
.monogram {
	display: grid;
	place-items: center;
	width: 5.5rem;
	height: 5.5rem;
	margin: 0 !important;
	border: var(--i-outline);
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: 2.1rem !important;
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1;
	color: #2b1d14;
	box-shadow: var(--i-shadow-sm);
}

/* Neutral monograms: walnut and cream for every partner. */
.team .monogram {
	background: #2b1d14;
	color: #f3e9d2;
}

.role {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs) !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-ink);
}

/* Process track (DPP "come funziona"): five stations on a horizontal sunset band. */
.track {
	position: relative;
	gap: 1.5rem !important;
}

.track > * {
	position: relative;
	padding-top: 3.75rem;
}

.track::before {
	--i-band-h: 18px;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 1.15rem;
	height: var(--i-band-h);
	background:
		var(--i-cap) 0 0 / var(--i-band-h) var(--i-band-h) no-repeat,
		var(--i-stripes) var(--i-band-h) 0 / calc(100% - var(--i-band-h)) var(--i-band-h) no-repeat;
}

.track > * {
	counter-increment: track-step;
}

.track > *::before {
	content: counter(track-step);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: var(--i-outline);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-weight: 900;
	font-size: 1.35rem;
	box-shadow: var(--i-shadow-sm);
}

.track {
	counter-reset: track-step;
}

.track h3 {
	font-size: var(--wp--preset--font-size--lg);
}

@media (max-width: 781px) {
	.track::before {
		left: 1.5rem;
		right: auto;
		top: 0;
		bottom: 0;
		width: 18px;
		height: auto;
		transform: none;
		background: linear-gradient(to right, var(--i-orange) 0 3px, transparent 3px 5px, var(--i-amber) 5px 8px, transparent 8px 10px, var(--i-rust) 10px 13px, transparent 13px 15px, var(--i-brown) 15px 18px);
		left: calc(1.5rem - 9px);
	}

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

	.track > * {
		padding-top: 0;
		padding-left: 4.5rem;
		min-height: 3rem;
	}
}

/* Integration tiles (DPP): small paper chips. */
.chip-grid > * {
	padding: 1.1rem 1.25rem;
	border: 2px solid var(--wp--preset--color--line-strong);
	border-radius: var(--i-radius-sm);
	background: var(--wp--preset--color--surface);
}

.chip-grid h3 {
	font-size: var(--wp--preset--font-size--lg);
}

.chip-grid p {
	margin-top: 0.25rem !important;
	font-size: 1rem;
	color: var(--wp--preset--color--ink-muted);
}

/* Use-case cards: problem / solution / benefit rows. */
.case dl,
.case-rows > p {
	margin: 0;
}

.case-rows > p {
	padding-left: 0;
	font-size: 1rem;
}

.case-rows > p strong {
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-ink);
}

.is-style-night .case-rows > p strong {
	color: var(--wp--preset--color--amber);
}

/* Statement: a paragraph set as a big Fraunces pull line. */
.statement {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--xl) !important;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.statement code,
.prose code,
.is-style-card code {
	padding: 0.05em 0.35em;
	border-radius: 6px;
	background: var(--wp--preset--color--panel);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.82em;
	font-weight: 500;
	letter-spacing: 0;
	white-space: nowrap;
}

.is-style-night .statement code {
	background: #3a281c;
	color: var(--wp--preset--color--amber);
}

.statement a {
	text-decoration-thickness: 3px;
	text-decoration-color: var(--wp--preset--color--orange);
}

.tagline {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--lg) !important;
	line-height: 1.25;
}

/* A column of stacked cards. */
.stack > * + * {
	margin-block-start: 1.5rem !important;
}

/* Spec sheet rows (servizi, ambiti): index, title, text, dingbat between walnut rules. */
.spec-list {
	border-top: 3px solid var(--wp--preset--color--contrast);
}

.spec.spec {
	gap: clamp(1rem, 3vw, 2.5rem);
	margin: 0 !important;
	padding-block: clamp(1.25rem, 2.5vw, 2rem);
	border-bottom: 2px solid var(--wp--preset--color--line-strong);
}

.spec.spec {
	align-items: flex-start !important;
}

.spec .wp-block-column > p {
	padding-top: 0.35rem;
}

.spec__num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--sm) !important;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--accent-ink);
}

.spec h3 {
	font-size: var(--wp--preset--font-size--xl);
}

.is-style-night .spec-list {
	border-top-color: var(--wp--preset--color--on-night);
}

.is-style-night .spec.spec {
	border-bottom-color: #5a4232;
}

.is-style-night .spec__num {
	color: var(--wp--preset--color--amber);
}

/* A second, smaller head inside a section (merged sections). */
.subsection-title.subsection-title {
	margin-top: clamp(2.5rem, 2rem + 2vw, 4rem) !important;
	padding-top: 1.5rem;
	border-top: 2px solid var(--wp--preset--color--line-strong);
	font-size: var(--wp--preset--font-size--xl);
	text-wrap: balance;
}

.subsection-lead {
	max-width: 46rem;
	margin-top: 0.75rem !important;
	color: var(--wp--preset--color--ink-muted);
}

.subsection-lead + .chip-grid {
	margin-top: 1.5rem !important;
}

.product-minis {
	--i-min: 26rem;
}

.plain-cols.plain-cols {
	gap: clamp(1.5rem, 4vw, 4rem);
	margin-top: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important;
}

.plain-cols h3 {
	font-size: var(--wp--preset--font-size--lg);
	margin-bottom: 1rem !important;
}

.spec__ding .dingbat {
	margin-left: auto !important;
	width: fit-content;
}

/* Method rows (metodo): numeral, copy, duotone photo. */
.method-step.method-step {
	gap: clamp(1.5rem, 4vw, 4rem);
	margin: 0 !important;
	padding-block: clamp(2rem, 4vw, 3.5rem);
	border-top: 2px solid var(--wp--preset--color--line-strong);
}

.method-list > .method-step:first-child {
	border-top: 3px solid var(--wp--preset--color--contrast);
}

.method-step .is-style-numeral {
	font-size: clamp(5rem, 3rem + 6vw, 9.5rem) !important;
}

.method-step__title {
	font-size: var(--wp--preset--font-size--xl) !important;
}

.method-step__text {
	margin-top: 0.85rem !important;
	font-size: var(--wp--preset--font-size--md);
}

.method-step__photo img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

/* Media cards: a duotone photo on top, copy below (AION problems). */
.media-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: var(--i-outline);
	border-radius: var(--i-radius);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--i-shadow);
	overflow: hidden;
}

.media-card > .wp-block-image {
	margin: 0 !important;
	border-bottom: var(--i-outline);
}

.media-card > .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0 !important;
}

.media-card__body {
	padding: 1.25rem 1.4rem 1.5rem;
}

.media-card__body > * + * {
	margin-block-start: 0.5rem !important;
}

.media-card h3 {
	font-size: var(--wp--preset--font-size--lg);
}

.media-card p {
	font-size: 1.0625rem;
}

/* Motto tile: the brand's three verbs on amber. */
.motto-card {
	display: grid;
	align-content: center;
	min-height: 100%;
}

.motto {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--xl) !important;
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: -0.01em;
}

/* Compact feature grids: smaller titles and text. */
.card-grid.is-compact .is-style-card h3 {
	font-size: var(--wp--preset--font-size--md);
	font-family: var(--wp--preset--font-family--display);
}

.card-grid.is-compact .is-style-card p {
	font-size: 1rem;
}

.card-grid .is-style-card p,
.card-grid .is-style-card-stripe p,
.card-grid .is-style-card li,
.card-grid .is-style-card-stripe li {
	font-size: 1.0625rem;
	line-height: 1.6;
}

/* Product heroes. */
.product-hero__title {
	font-size: var(--wp--preset--font-size--xxl) !important;
	line-height: 1.04 !important;
	max-width: 20ch;
}

.product-hero .is-style-lead {
	margin-top: 1.5rem !important;
}

.product-hero .tagline {
	margin-top: 1rem !important;
}

.product-hero .product-sleeve {
	max-width: 30rem;
	margin-inline: auto !important;
}

.brand-sleeve {
	background-color: #2b1d14;
}

/* MRN dossier card. */
.mrn-card .is-style-pills {
	margin-block: 1rem !important;
}

/* Wrappers for a centred form or FAQ. */
.form-wrap,
.faq-wrap {
	max-width: 56rem;
	margin-inline: auto;
}

.form-wrap > .section-head,
.faq-wrap > .section-head {
	margin-inline: auto;
	text-align: center;
}

.faq-wrap > .section-head .is-style-eyebrow {
	justify-content: center;
}

.form-card .is-style-pills {
	margin-block: 1.25rem 1.75rem !important;
}

.form-card .is-style-pills > li {
	font-size: var(--wp--preset--font-size--xs);
	padding: 0.4rem 0.85rem;
}

.form-card__title {
	font-size: var(--wp--preset--font-size--xl) !important;
}

.form-card .wpcf7 {
	margin-top: 1.5rem !important;
}

/* Contact card. */
.contact-card__title {
	font-size: var(--wp--preset--font-size--xl) !important;
}

.contact-lines {
	margin-top: 1.5rem !important;
}

.contact-lines > p {
	padding-block: 0.85rem;
	border-top: 1px solid var(--i-night-line);
}

.contact-lines > p:last-child {
	border-bottom: 1px solid var(--i-night-line);
}

.contact-lines a {
	font-weight: 500;
}

.contact-cols {
	gap: clamp(1.5rem, 3vw, 3rem) !important;
}

/* Two-up comparison. */
.compare .is-style-card,
.compare .is-style-card-stripe {
	height: 100%;
}

.compare__before {
	background-color: var(--wp--preset--color--panel) !important;
}

.compare .is-style-checks > li {
	font-weight: 500;
}

/* ── ISPM: a 5250 green screen set in a walnut bezel ─────────────────────────────────────
   The product's own UI is an AS/400 green screen (black field, phosphor ramp, IBM Plex
   Mono); here it is real text in a <pre>, so it stays readable and selectable. */
.crt {
	--crt-field: #0a150e;
	--crt-text: #b9f5c0;
	--crt-bright: #e9ffe9;
	--crt-dim: #72d488;
	--crt-line: #2a6b3f;
	position: relative;
	padding: clamp(0.9rem, 2.2vw, 1.5rem) clamp(0.9rem, 2.2vw, 1.5rem) 0.85rem;
	border: 2px solid #120b07;
	border-radius: 34px;
	background: #2b1d14 linear-gradient(to bottom, #3a281c, #2b1d14 60%);
	box-shadow:
		var(--i-shadow-lg),
		inset 0 2px 0 rgb(255 255 255 / 0.08),
		inset 0 -4px 0 rgb(0 0 0 / 0.35);
	color: var(--crt-text);
}

.crt > * {
	margin: 0 !important;
}

.crt__screen {
	position: relative;
	overflow: hidden;
	padding: clamp(0.9rem, 2.2vw, 1.4rem);
	border-radius: 24px / 30px;
	background: var(--crt-field) radial-gradient(ellipse at 50% 38%, #12301d 0%, var(--crt-field) 72%);
	box-shadow:
		inset 0 0 0 2px #050b07,
		inset 0 0 42px rgb(0 0 0 / 0.7);
}

/* Scanlines over the glass (decorative). */
.crt__screen::after {
	content: "";
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(to bottom, rgb(0 0 0 / 0.16) 0 1px, transparent 1px 3px);
	pointer-events: none;
}

.crt__screen > * {
	margin: 0 !important;
}

/* A product screenshot inside the frame (real UI only). */
.crt__screen .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px !important;
}

.crt .crt__text {
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(0.8rem, 0.62rem + 0.6vw, 1rem);
	line-height: 1.55;
	white-space: pre;
	overflow-x: auto;
	color: var(--crt-text);
	text-shadow: 0 0 6px rgb(47 197 107 / 0.35);
}

.crt .crt__text strong {
	color: var(--crt-bright);
	font-weight: 600;
}

/* The block cursor after the prompt. */
.crt--hero .crt__text::after {
	content: "";
	display: inline-block;
	width: 0.62em;
	height: 1.15em;
	vertical-align: -0.22em;
	background: var(--crt-text);
	box-shadow: 0 0 8px rgb(47 197 107 / 0.6);
	animation: crt-blink 1.1s steps(1) infinite;
}

@keyframes crt-blink {
	50% { opacity: 0; }
}

.crt--hero .crt__fkeys {
	word-spacing: 0.6em;
}

.crt .crt__fkeys {
	margin-top: 0.8rem !important;
	padding-top: 0.6rem;
	border-top: 1px dashed var(--crt-line);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs) !important;
	letter-spacing: 0.02em;
	color: var(--crt-dim);
}

.crt .crt__plate {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0.7rem 0.4rem 0 !important;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs) !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #c9b79c;
}

/* The bezel's power lamp. */
.crt .crt__plate::after {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fbe3b4 0 18%, #f2a541 58%, #b5772a 100%);
	box-shadow: 0 0 0 1px rgb(0 0 0 / 0.4), 0 0 8px 2px rgb(242 165 65 / 0.55);
}

.product-hero .crt {
	max-width: 34rem;
	margin-inline: auto !important;
}

/* Before / after: the spool and the designed PDF. */
.before-after.before-after {
	gap: clamp(1.5rem, 4vw, 3.5rem);
}

.doc-sheet {
	--i-band-h: 14px;
	position: relative;
	padding: calc(clamp(1.4rem, 2.5vw, 2rem) + var(--i-band-h)) clamp(1.4rem, 2.5vw, 2rem) clamp(1.4rem, 2.5vw, 2rem);
	border: var(--i-outline);
	border-radius: 10px;
	background: #fffbf3;
	color: #2b1d14;
	box-shadow: var(--i-shadow);
	overflow: hidden;
	transform: rotate(-1deg);
}

.doc-sheet::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: var(--i-band-h);
	background: var(--i-stripes);
}

.doc-sheet > * + * {
	margin-block-start: 0.75rem !important;
}

.doc-sheet .is-style-eyebrow {
	color: #a84612;
}

.doc-sheet h3 {
	color: #2b1d14;
	font-size: var(--wp--preset--font-size--xl);
}

.doc-meta {
	font-size: var(--wp--preset--font-size--sm);
	color: #6b5444;
}

.doc-table {
	margin: 1rem 0 0 !important;
}

.doc-table table,
.doc-table table.has-fixed-layout {
	table-layout: auto;
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--sm);
	color: #2b1d14;
}

.doc-table :is(th, td) {
	padding: 0.5rem 0.4rem;
	border: 0;
	border-bottom: 1px solid #d9c7a5;
	text-align: left;
}

.doc-table th {
	border-bottom: 2px solid #2b1d14;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.doc-table td:nth-child(n + 3) {
	white-space: nowrap;
}

.doc-table :is(th, td):nth-child(n + 3) {
	text-align: right;
}

.doc-total {
	text-align: right;
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	color: #2b1d14;
}

/* Compact product cards (home): crivo and ISPM beside each other. */
.product-minis.product-minis {
	margin-top: clamp(3rem, 6vw, 5rem) !important;
}

.product-mini {
	display: flex !important;
	gap: 1.5rem;
	align-items: flex-start;
}

.product-mini > * {
	margin: 0 !important;
}

.product-mini__art {
	flex: none;
	width: 6.5rem;
}

.product-mini__art.wp-block-image img {
	display: block;
	width: 100%;
	border-radius: 0 !important;
}

.product-mini__body {
	flex: 1 1 auto;
	min-width: 0;
}

.product-mini__body > * + * {
	margin-block-start: 0.6rem !important;
}

.product-mini__body h3 {
	font-size: var(--wp--preset--font-size--xl);
}

.crt--mini {
	flex: none;
	width: 7.5rem;
	padding: 0.45rem 0.45rem 0.4rem;
	border-radius: 18px;
	box-shadow: 4px 4px 0 0 var(--i-ink-line), inset 0 -3px 0 rgb(0 0 0 / 0.35);
}

.crt--mini .crt__screen {
	padding: 0.55rem 0.6rem;
	border-radius: 12px / 14px;
}

.crt--mini .crt__text {
	font-size: 0.75rem;
	line-height: 1.4;
}

.crt--mini .crt__fkeys,
.crt--mini .crt__plate {
	display: none;
}

@media (max-width: 599px) {
	.product-mini {
		flex-direction: column;
	}
}

/* ── 7. Forms (Contact Form 7) ─────────────────────────────────────────────────────────── */

.form-card {
	padding: clamp(1.5rem, 1rem + 2vw, 2.75rem) !important;
}

.wpcf7 {
	--i-field-border: var(--wp--preset--color--line-strong);
}

.wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1.25rem;
	margin: 0;
}

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

.wpcf7-form > .column.one-second {
	grid-column: span 1;
}

.wpcf7-form .hidden-fields-container {
	display: none;
}

.wpcf7-form > div[style*="height"] {
	display: none;
}

.wpcf7-form p {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	letter-spacing: 0.01em;
}

.wpcf7-form-control-wrap {
	display: block;
	font-weight: 400;
}

.wpcf7-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	padding: 0.8rem 1rem;
	border: 2px solid var(--i-field-border);
	border-radius: 12px;
	background-color: var(--i-field);
	background-image: linear-gradient(to bottom, var(--i-bevel-lo), transparent 4px);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.4;
	transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.wpcf7-form textarea {
	min-height: 9rem;
	resize: vertical;
}

.wpcf7-form ::placeholder {
	color: var(--i-field-placeholder);
	opacity: 1;
}

.wpcf7-form :is(input, select, textarea):hover {
	border-color: var(--wp--preset--color--contrast);
}

.wpcf7-form :is(input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
	border-color: var(--wp--preset--color--contrast);
}

.wpcf7-form :is(h3, h4)[style],
.wpcf7-form :is(h3, h4) {
	color: inherit !important;
	margin: 0;
}

.wpcf7-form h3 {
	font-size: var(--wp--preset--font-size--xl);
}

.wpcf7-form h4 {
	margin-top: 0.75rem;
	padding-top: 1.25rem;
	border-top: 2px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--lg);
}

.wpcf7-form small {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink-muted);
}

.wpcf7-form hr {
	height: 0;
	margin: 0.5rem 0;
	border: 0;
	border-top: 2px dashed var(--wp--preset--color--line-strong);
}

/* Labelled templates (content/forms/): real <label>s, a required marker, a note. */
.wpcf7-form label {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--contrast);
}

.wpcf7-form .req {
	color: var(--wp--preset--color--accent-ink);
	font-weight: 700;
}

.wpcf7-form .form-note {
	display: block;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400;
	color: var(--wp--preset--color--ink-muted);
}

.wpcf7-form .form-section h3 {
	margin-top: 0.5rem;
}

.wpcf7-form .form-scale {
	display: block;
	margin-top: 0.4rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--ink-muted);
}

/* One question per fieldset: the legend left, the radio dial right. The floated legend
   joins the flex row instead of sitting on the border. */
.wpcf7-form fieldset.form-question {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1.5rem;
	min-width: 0;
	margin: 0;
	padding: 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wpcf7-form fieldset.form-question > legend {
	float: left;
	flex: 1 1 18rem;
	padding: 0;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

.wpcf7-form fieldset.form-question > p,
.wpcf7-form fieldset.form-question > p:has(> .wpcf7-form-control-wrap > .wpcf7-radio) {
	flex: none;
	margin-left: auto;
	padding: 0;
	border: 0;
}

.wpcf7-radio .wpcf7-list-item > label {
	font-weight: inherit;
	font-size: inherit;
	color: inherit;
}

/* A question with a 0/1/2 radio group: question left, a radio dial right. */
.wpcf7-form p:has(> .wpcf7-form-control-wrap > .wpcf7-radio) {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem 1.5rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--md);
}

.wpcf7-form p:has(> .wpcf7-form-control-wrap > .wpcf7-radio) > .wpcf7-form-control-wrap {
	flex: none;
	margin-left: auto;
}

/* AION's radio dial: a recessed band, the chosen segment raised under an amber lamp.
   CF7 renders these radios without <label>s, so the input itself covers its segment. */
.wpcf7-radio,
.wpcf7-checkbox {
	display: inline-flex;
	gap: 0.25rem;
	padding: 0.25rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	background-color: var(--wp--preset--color--surface-2);
	box-shadow: inset 0 2px 4px var(--i-bevel-lo);
}

.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item {
	position: relative;
	margin: 0;
}

.wpcf7-radio .wpcf7-list-item input {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.wpcf7-radio .wpcf7-list-item-label {
	position: relative;
	display: grid;
	place-items: center;
	min-width: 2.75rem;
	min-height: 2.25rem;
	padding: 0 0.9rem;
	border-radius: 999px;
	color: var(--wp--preset--color--ink-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 600;
	font-size: 0.9375rem;
	transition: background-color 0.12s ease, color 0.12s ease;
}

.wpcf7-radio .wpcf7-list-item:hover .wpcf7-list-item-label {
	color: var(--wp--preset--color--contrast);
}

.wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	box-shadow:
		inset 0 1px 0 var(--i-bevel-hi),
		0 1px 2px var(--i-bevel-lo),
		0 0 0 1.5px var(--i-dial-key, var(--i-ink-line));
}

@media (prefers-color-scheme: dark) {
	.wpcf7-radio {
		--i-dial-key: var(--wp--preset--color--line-strong);
	}

	.wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label::before {
		box-shadow: 0 0 6px 1px rgb(232 112 42 / 0.7);
	}
}

.wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 50%;
	width: 0.875rem;
	height: 2px;
	margin-left: -0.4375rem;
	border-radius: 2px;
	background-color: var(--wp--preset--color--orange);
}

.wpcf7-radio .wpcf7-list-item:has(input:focus-visible) .wpcf7-list-item-label {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Native checkboxes (acceptance, consent) in the kit's check style. */
.wpcf7-form input[type="checkbox"] {
	appearance: none;
	display: inline-grid;
	place-content: center;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0 0.5rem 0 0;
	vertical-align: -0.2em;
	border: 2px solid var(--wp--preset--color--line-strong);
	border-radius: 0.35rem;
	background-color: var(--i-field);
	box-shadow: inset 0 1px 2px var(--i-bevel-lo);
}

.wpcf7-form input[type="checkbox"]::before {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	background-color: var(--wp--preset--color--on-accent);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	transform: scale(0);
	transition: transform 0.1s ease-in-out;
}

.wpcf7-form input[type="checkbox"]:checked {
	border-color: var(--wp--preset--color--accent-strong);
	background-color: var(--wp--preset--color--accent-strong);
}

.wpcf7-form input[type="checkbox"]:checked::before {
	transform: scale(1);
}

/* Submit: the primary pill. */
.wpcf7-form .wpcf7-submit {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 13rem;
	padding: 0.95rem 2rem;
	border: var(--i-outline);
	border-radius: 999px;
	background-color: var(--wp--preset--color--accent-strong);
	color: var(--wp--preset--color--on-accent);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	letter-spacing: 0.02em;
	cursor: pointer;
	box-shadow:
		inset 0 1px 0 var(--i-bevel-hi),
		inset 0 -2px 0 var(--i-bevel-lo),
		0 3px 0 0 var(--i-ink-line);
	transition: transform 0.08s ease, box-shadow 0.08s ease, background-color 0.12s ease;
}

.wpcf7-form .wpcf7-submit:hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wpcf7-form .wpcf7-submit:active {
	transform: translateY(2px);
	box-shadow: inset 0 2px 3px var(--i-bevel-lo), 0 1px 0 0 var(--i-ink-line);
}

.wpcf7-form .wpcf7-submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.wpcf7-form p:has(> .wpcf7-submit) {
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 0.5rem;
}

.wpcf7-spinner {
	margin: 0;
}

/* Validation and response messages, like AION's banners: a tone bar on the left. */
.wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	color: var(--i-crit);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}

.wpcf7-form .wpcf7-not-valid {
	border-color: var(--i-crit) !important;
}

.wpcf7 form .wpcf7-response-output {
	margin: 0.5rem 0 0;
	padding: 0.9rem 1.1rem;
	border: 2px solid var(--wp--preset--color--line-strong);
	border-left-width: 6px;
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	font-weight: 500;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--i-ok-fill);
}

.wpcf7 form:is(.failed, .aborted, .spam) .wpcf7-response-output {
	border-color: var(--i-crit-fill);
}

.wpcf7 form:is(.invalid, .unaccepted, .payment-required) .wpcf7-response-output {
	border-color: var(--i-warn-fill);
}

/* ── 8. News ───────────────────────────────────────────────────────────────────────────── */

.news-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: var(--i-outline);
	border-radius: var(--i-radius);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--i-shadow);
	overflow: hidden;
	transition: transform 0.15s var(--i-ease), box-shadow 0.15s var(--i-ease);
}

.news-card:has(a:hover) {
	transform: translate(-2px, -2px);
	box-shadow: 8px 8px 0 0 var(--i-ink-line);
}

.news-card .wp-block-post-featured-image {
	margin: 0;
	border-bottom: var(--i-outline);
	background: var(--wp--preset--color--panel);
}

.news-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0 !important;
}

.news-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.4rem 1.5rem 1.6rem;
}

.news-card__body > * {
	margin: 0 !important;
}

.news-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 750;
	line-height: 1.18;
}

.news-card .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size 0.2s var(--i-ease);
}

.news-card .wp-block-post-title a:hover {
	background-size: 100% 2px;
}

/* The whole card is clickable through its title link. */
.news-card .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.news-card {
	position: relative;
}

.news-card .wp-block-post-terms a {
	position: relative;
	z-index: 1;
}

.news-card .wp-block-post-excerpt {
	font-size: 1rem;
	color: var(--wp--preset--color--ink-muted);
}

.news-card .wp-block-post-excerpt__more-text {
	display: none;
}

.news-card__meta {
	gap: 0.5rem 1rem !important;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.news-card__meta > * {
	margin: 0 !important;
}

.news-card .wp-block-post-terms {
	color: var(--wp--preset--color--accent-ink);
}

.news-card .wp-block-post-terms a {
	color: inherit;
	text-decoration: none;
}

.news-card .wp-block-post-terms__separator {
	opacity: 0.6;
}

.news-card .read-more {
	margin-top: auto !important;
	padding-top: 0.25rem;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--sm);
}

.news-card .read-more::after {
	content: "\00a0\2192";
}

/* Single post. */
.post-header {
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--60);
}

.post-header .wp-block-post-title {
	font-size: var(--wp--preset--font-size--xxxl);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.post-header .wp-block-post-terms a {
	display: inline-block;
	padding: 0.3rem 0.8rem;
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.post-header .wp-block-post-terms a:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.post-header .wp-block-post-terms__separator {
	display: inline-block;
	width: 0.4rem;
	color: transparent;
}

.post-cover {
	margin-block: 0 var(--wp--preset--spacing--60) !important;
}

.post-cover img {
	border: var(--i-outline);
	border-radius: var(--i-radius) !important;
	box-shadow: var(--i-shadow-lg);
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* Long-form text: comfortable measure, Fraunces sub-heads one step down. */
.prose {
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.7;
	overflow-wrap: break-word;
}

.prose a,
.legal-doc a {
	overflow-wrap: anywhere;
}

.prose > * + * {
	margin-block-start: 1.15em !important;
}

.prose > :is(h2, h3, h4) {
	margin-block-start: 2em !important;
}

.prose > :is(h2, h3, h4) + * {
	margin-block-start: 0.75em !important;
}

.prose h2 {
	font-size: var(--wp--preset--font-size--xl);
}

.prose h3 {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 750;
}

.prose h4 {
	font-size: var(--wp--preset--font-size--md);
}

.prose ul:not(.is-style-checks, .is-style-pills),
.prose ol {
	padding-left: 1.4em;
}

.prose li + li {
	margin-top: 0.35em;
}

.prose ul:not(.is-style-checks, .is-style-pills) > li::marker {
	color: var(--wp--preset--color--orange);
	font-size: 1.15em;
}

.prose ol > li::marker {
	color: var(--wp--preset--color--accent-ink);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
}

.prose figure.wp-block-image img,
.prose > .wp-block-image img {
	border: var(--i-outline);
	border-radius: var(--i-radius) !important;
	box-shadow: var(--i-shadow);
}

.prose blockquote {
	padding-left: 1.25rem;
	border-left: 6px solid var(--wp--preset--color--orange);
}

.prose table {
	width: 100%;
	border-collapse: collapse;
}

.prose :is(th, td) {
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	vertical-align: top;
	text-align: left;
}

.prose thead th,
.prose tr:first-child > th {
	background: var(--wp--preset--color--panel);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.post-footer-nav {
	padding-block: var(--wp--preset--spacing--60);
	border-top: 2px solid var(--wp--preset--color--line);
}

.post-footer-nav a {
	font-weight: 600;
}

.post-footer-nav__adjacent {
	gap: 1rem 2rem !important;
}

.post-footer-nav__adjacent > .post-navigation-link-next {
	margin-left: auto;
	text-align: right;
}

.post-footer-nav .back-link {
	margin-top: 1.5rem !important;
}

/* Pagination as pills. */
.wp-block-query-pagination {
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--60) !important;
	font-weight: 600;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0 0.9rem;
	border: 2px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.wp-block-query-pagination .page-numbers.current {
	border-color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wp-block-query-pagination a:hover {
	border-color: var(--wp--preset--color--contrast);
}

/* Category filter on the news page. */
.term-pills .wp-block-categories-list,
ul.term-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.term-pills li a,
ul.term-pills li a {
	display: inline-block;
	padding: 0.4rem 0.9rem;
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.term-pills li a:hover,
.term-pills li.current-cat a {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* ── 9. Footer ─────────────────────────────────────────────────────────────────────────── */

.site-footer {
	position: relative;
	padding-top: calc(var(--wp--preset--spacing--70) + 26px);
	padding-bottom: var(--wp--preset--spacing--50);
}

.site-footer::before {
	--i-band-h: 26px;
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: var(--i-band-h);
	background: var(--i-stripes);
}

.site-footer__motto {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--xl) !important;
	font-weight: 800;
	line-height: 1.1;
	color: var(--wp--preset--color--amber);
}

.site-footer h2 {
	font-family: var(--wp--preset--font-family--mono);
	font-variation-settings: normal;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--amber);
}

.site-footer .footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer .footer-links li + li {
	margin-top: 0.5rem;
}

.site-footer .footer-links a,
.site-footer .footer-contacts a {
	color: var(--wp--preset--color--on-night);
	text-decoration: none;
	background-image: linear-gradient(var(--i-amber), var(--i-amber));
	background-size: 0 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size 0.2s var(--i-ease), color 0.12s ease;
}

.site-footer .footer-links a:hover,
.site-footer .footer-contacts a:hover {
	color: var(--wp--preset--color--amber);
	background-size: 100% 2px;
}

.site-footer__legal {
	margin-top: var(--wp--preset--spacing--70) !important;
	padding-top: 1.5rem;
	border-top: 1px solid var(--i-night-line);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.7;
	color: var(--i-on-night-muted);
}

.site-footer__legal a {
	color: var(--i-on-night-muted) !important;
}

.site-footer__legal a:hover {
	color: var(--wp--preset--color--amber) !important;
}

.site-footer__cols {
	gap: clamp(2rem, 4vw, 4rem) !important;
}

.site-footer .wp-block-column > h2 + * {
	margin-block-start: 0.9rem !important;
}

/* Phones: brand on top, the two link lists side by side, then contacts. */
@media (max-width: 781px) {
	.site-footer__cols.site-footer__cols {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.25rem 1.5rem !important;
	}

	.site-footer__cols > .site-footer__brand,
	.site-footer__cols > .footer-contacts {
		grid-column: 1 / -1;
	}
}

/* ── 10. Legal documents, search, 404 ──────────────────────────────────────────────────── */

.legal-doc {
	padding-block: var(--wp--preset--spacing--70);
}

/* The policy pages carry spacers sized for the old theme's overlaid header. */
.legal-doc .wp-block-spacer {
	height: 0 !important;
	margin: 0 !important;
}

.legal-doc .wp-block-post-content > h1:first-of-type,
.legal-doc h1 {
	font-size: var(--wp--preset--font-size--xxxl);
	margin-bottom: 2.5rem !important;
}

.legal-doc .wp-block-post-content > h1:first-of-type::after,
.legal-doc h1::after {
	--i-band-h: 12.5px;
	content: "";
	display: block;
	width: 9rem;
	height: var(--i-band-h);
	margin-top: 0.4em;
	background:
		var(--i-cap) 0 0 / var(--i-band-h) var(--i-band-h) no-repeat,
		var(--i-stripes) var(--i-band-h) 0 / calc(100% - var(--i-band-h)) var(--i-band-h) no-repeat;
	-webkit-mask-image: linear-gradient(to right, #000 55%, transparent);
	mask-image: linear-gradient(to right, #000 55%, transparent);
}

.legal-doc .wp-block-post-content {
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.7;
	overflow-wrap: break-word;
}

/* The policies' raw tables scroll inside the page on phones instead of widening it. */
@media (max-width: 781px) {
	.legal-doc table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}

.legal-doc .wp-block-post-content > * + * {
	margin-block-start: 1.1em;
}

.legal-doc ol > li,
.legal-doc ul > li {
	margin-top: 0.9em;
}

.legal-doc ol > li > strong:first-child,
.legal-doc ol > li > b:first-child {
	display: inline-block;
	margin-bottom: 0.25em;
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 750;
	line-height: 1.2;
}

.legal-doc ol > li::marker {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	color: var(--wp--preset--color--accent-ink);
}

.legal-doc .wp-block-table,
.legal-doc figure.wp-block-table {
	overflow-x: auto;
	margin-inline: 0;
}

.legal-doc table {
	width: 100%;
	border-collapse: collapse;
	background: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--sm);
}

.legal-doc :is(th, td) {
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	vertical-align: top;
	text-align: left;
}

.legal-doc table tr:first-child > :is(td, th) {
	background: var(--wp--preset--color--panel);
	font-weight: 600;
}

/* Complianz documents and inline consent controls. */
.cmplz-document,
#cmplz-document {
	max-width: none !important;
	font-size: inherit !important;
}

.cmplz-document h2,
#cmplz-document h2 {
	font-size: var(--wp--preset--font-size--xl) !important;
	margin-top: 2em !important;
}

.cmplz-document details,
#cmplz-document details {
	margin: 0.75rem 0;
	padding: 0.25rem 1rem;
	border: 2px solid var(--wp--preset--color--line-strong);
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
}

/* Complianz cookie banner: its tokens (declared on :root by the plugin) mapped onto the kit,
   so it follows the theme in both colour schemes. Delete this block to use the colours set
   in Complianz's own settings instead. */
:root:root {
	--cmplz_banner_background_color: var(--wp--preset--color--surface);
	--cmplz_banner_border_color: var(--i-ink-line);
	--cmplz_banner_border_width: 2px;
	--cmplz_banner_border_radius: 22px;
	--cmplz_text_color: var(--wp--preset--color--contrast);
	--cmplz_hyperlink_color: var(--wp--preset--color--accent-ink);
	--cmplz_text_font_size: 14px;
	--cmplz_link_font_size: 13px;
	--cmplz_category_body_font_size: 13px;
	--cmplz_title_font_size: 18px;
	--cmplz_button_font_size: 15px;
	--cmplz_button_border_radius: 999px;
	--cmplz_button_accept_background_color: var(--wp--preset--color--accent-strong);
	--cmplz_button_accept_border_color: var(--i-ink-line);
	--cmplz_button_accept_text_color: var(--wp--preset--color--on-accent);
	--cmplz_button_deny_background_color: var(--wp--preset--color--surface);
	--cmplz_button_deny_border_color: var(--i-ink-line);
	--cmplz_button_deny_text_color: var(--wp--preset--color--contrast);
	--cmplz_button_settings_background_color: var(--wp--preset--color--surface);
	--cmplz_button_settings_border_color: var(--wp--preset--color--line-strong);
	--cmplz_button_settings_text_color: var(--wp--preset--color--contrast);
	--cmplz_slider_active_color: var(--wp--preset--color--avocado);
	--cmplz_slider_inactive_color: var(--wp--preset--color--line-strong);
	--cmplz_slider_bullet_color: var(--wp--preset--color--surface);
	--cmplz_category_header_always_active_color: var(--wp--preset--color--avocado-ink);
}

.cmplz-cookiebanner {
	font-family: var(--wp--preset--font-family--sans) !important;
	box-shadow: var(--i-shadow) !important;
}

.cmplz-cookiebanner .cmplz-title {
	font-family: var(--wp--preset--font-family--display) !important;
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-weight: 800 !important;
}

.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner button {
	font-family: inherit !important;
}

.cmplz-cookiebanner .cmplz-btn {
	font-weight: 600 !important;
	border-width: 2px !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: var(--wp--preset--color--panel) !important;
	color: var(--wp--preset--color--contrast);
}

.cmplz-cookiebanner .cmplz-btn:focus-visible,
.cmplz-cookiebanner a:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent) !important;
	outline-offset: 2px;
}

/* Search form. */
.wp-block-search__inside-wrapper {
	gap: 0.5rem;
}

.wp-block-search__input {
	padding: 0.8rem 1.1rem !important;
	border: 2px solid var(--wp--preset--color--line-strong) !important;
	border-radius: 999px !important;
	background-color: var(--i-field) !important;
	background-image: linear-gradient(to bottom, var(--i-bevel-lo), transparent 4px) !important;
	color: var(--wp--preset--color--contrast) !important;
	font: inherit;
}

.wp-block-search__button {
	margin-left: 0 !important;
}

/* 404 */
.giant-404 {
	font-family: var(--wp--preset--font-family--display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: clamp(7rem, 4rem + 18vw, 18rem) !important;
	font-weight: 900;
	line-height: 0.8;
	letter-spacing: -0.05em;
	color: var(--wp--preset--color--orange);
	-webkit-text-stroke: 4px var(--i-ink-line);
	paint-order: stroke fill;
	text-shadow: 10px 10px 0 var(--i-ink-line);
}

/* ── Responsive tweaks ─────────────────────────────────────────────────────────────────── */

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

	.wpcf7-form > .column.one-second {
		grid-column: 1 / -1;
	}

	.wpcf7-form .wpcf7-submit {
		width: 100%;
	}

	.page-hero::after,
	.page-hero::before {
		display: none;
	}

	.is-style-numeral {
		-webkit-text-stroke-width: 2px;
		text-shadow: 4px 4px 0 var(--i-ink-line);
	}

	.product {
		flex-direction: column;
	}

	/* Sleeve first on every row, so two sleeves never stack. */
	.product.is-reversed {
		flex-direction: column-reverse;
	}

	.method-step .is-style-numeral {
		font-size: 5.5rem !important;
	}
}

@media (max-width: 699px) {
	.page-hero::after,
	.page-hero::before {
		display: none;
	}
}

@media (max-width: 599px) {
	.intelya-wordmark {
		font-size: 1.85rem;
	}

	.intelya-logo__img {
		height: 2.35rem;
	}

	.is-style-card,
	.is-style-card-stripe {
		box-shadow: 4px 4px 0 0 var(--i-ink-line);
	}


	.product-sleeve {
		box-shadow: 6px 6px 0 0 var(--i-ink-line);
	}
}

/* ── 11. Motion and forced colours ─────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.news-card:has(a:hover) {
		transform: none;
	}

	.crt--hero .crt__text::after {
		animation: none;
	}
}

@media (forced-colors: active) {
	.is-style-card,
	.is-style-card-stripe,
	.news-card,
	.wp-block-details {
		border: 2px solid CanvasText;
	}

	.wpcf7-radio .wpcf7-list-item input {
		position: static;
		opacity: 1;
		width: auto;
		height: auto;
	}
}
