/*
 * Easel design system.
 *
 * Pages are a stack of full-width sections (groups or covers). This file gives them their rhythm,
 * lines their content up, and styles the pieces the AI builds with: cards, eyebrows, leads, stats,
 * checklists, FAQs, quotes, forms, the header and the footer. Per-site choices arrive as tokens:
 * palette and fonts as presets, the rest as --wp--custom--* (radius, card, heading, eyebrow, button).
 *
 * Selectors list both the front end (.entry-content, .wp-site-blocks) and the editor
 * (.is-root-container) so staff editing a page see what visitors see.
 */

:root {
	--easel-section: var(--wp--preset--spacing--70);
	--easel-gap: var(--wp--preset--spacing--50);
	--easel-card-pad: clamp(1.25rem, 2.2vw, 2rem);
	--easel-line: color-mix(in srgb, currentColor 14%, transparent);
	--easel-ease: cubic-bezier(.2, .7, .2, 1);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
}

/* ---------------------------------------------------------------------------- page frame */

/* Header, main and footer sit flush; sections bring their own space. */
.wp-site-blocks > *,
.wp-site-blocks > main,
.easel-main { margin-block: 0; }

:is(.entry-content, .is-root-container) > :is(.alignfull, .wp-block-cover.alignfull) {
	margin-block: 0;
}

/* Every top-level full-width group is a section. A section's own padding (set in the editor) wins. */
:is(.entry-content, .is-root-container) > .wp-block-group.alignfull {
	padding-block: var(--easel-section);
}

/* Two plain sections in a row read as one: no doubled gap between them. */
:is(.entry-content, .is-root-container) > .wp-block-group.alignfull:is(.has-base-background-color, :not(.has-background)) + .wp-block-group.alignfull:is(.has-base-background-color, :not(.has-background)),
:is(.entry-content, .is-root-container) > .wp-block-group.alignfull.has-accent-5-background-color + .wp-block-group.alignfull.has-accent-5-background-color {
	padding-top: 0;
}

/* Pages built in the editor without sections still get breathing room. */
.easel-page-body:not(:has(> .alignfull:first-child)) { padding-block: var(--easel-section); }
.easel-page-head { padding-block: var(--wp--preset--spacing--60); }
.easel-page-head .wp-block-post-title,
.easel-page-head .wp-block-query-title { margin: 0; }
.easel-featured { margin-top: var(--wp--preset--spacing--50) !important; }
.easel-featured img { border-radius: var(--wp--custom--radius--image); }

/*
 * Line-up. Left-aligned sections keep their text at reading width but start it at the wide
 * content's left edge, so headings, intros, grids and page headers share one left edge down the
 * page. A section with centered text (a heading, buttons) keeps a centered column instead.
 */
:is(.alignfull.is-layout-constrained, .alignfull > .wp-block-cover__inner-container.is-layout-constrained):not(:has(> .has-text-align-center, > .is-content-justification-center, > .aligncenter)) > :not(.alignwide):not(.alignfull) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
}
/* A huge hero headline may run wider than reading width. */
.is-layout-constrained > .wp-block-heading.has-huge-font-size { max-width: min(980px, 100%); }

/* Big blocks after an intro get more room than the gap between a heading and its paragraph. */
:is(.entry-content, .is-root-container) .alignfull > :is(.wp-block-columns, .alignwide, .is-layout-grid, .wp-block-media-text):not(:first-child) {
	margin-block-start: var(--wp--preset--spacing--60);
}
:is(.entry-content, .is-root-container) .alignfull > :is(.wp-block-buttons, .wp-block-search, .wp-block-easel-form):not(:first-child) {
	margin-block-start: var(--wp--preset--spacing--50);
}

/* Text beside a form or a long card sits at the top, not floating in the middle. */
.wp-block-columns:has(.wp-block-easel-form) > .wp-block-column { align-self: flex-start; }

/* ---------------------------------------------------------------------------- type */

:is(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
:is(p, li, dd, figcaption) { text-wrap: pretty; }
.wp-block-heading + p { margin-block-start: 0.75rem; }
.is-style-eyebrow + .wp-block-heading { margin-block-start: 0.6rem; }
:is(.wp-block-heading, .is-style-lead) + .wp-block-details { margin-block-start: var(--wp--preset--spacing--50); }
h1.wp-block-heading.has-huge-font-size,
.has-huge-font-size { line-height: 1.02; letter-spacing: calc(var(--wp--custom--heading--tracking) - 0.01em); }

p.is-style-eyebrow,
.wp-block-post-date.is-style-eyebrow {
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--eyebrow--weight);
	letter-spacing: var(--wp--custom--eyebrow--tracking);
	text-transform: var(--wp--custom--eyebrow--transform);
	line-height: 1.3;
	color: var(--wp--preset--color--accent-1);
}
/* On a dark or colored band (text color set), eyebrows follow the band's text. */
:where(.has-text-color, .wp-block-cover) p.is-style-eyebrow:not(.has-text-color) { color: inherit; opacity: 0.8; }

p.is-style-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: color-mix(in srgb, currentColor 82%, transparent);
}

/* Stats: a heading styled as a big number, the label in the paragraph under it. */
.wp-block-heading.is-style-stat {
	font-size: var(--wp--preset--font-size--xx-large);
	font-variant-numeric: tabular-nums lining-nums;
	line-height: 1;
	letter-spacing: -0.03em;
	margin-block-end: 0;
}
.wp-block-heading.is-style-stat + p { margin-block-start: 0.5rem; color: color-mix(in srgb, currentColor 78%, transparent); }

/* ---------------------------------------------------------------------------- links */

a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:is(h1, h2, h3, h4, h5, h6) a { color: inherit; text-decoration: none; }
:is(h1, h2, h3, h4, h5, h6) a:hover { text-decoration: underline; }
/* On bands with their own text color, links follow it. */
:where(.has-text-color, .wp-block-cover) a:where(:not(.wp-element-button)) { color: inherit; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 3px;
}

/* ---------------------------------------------------------------------------- buttons */

.wp-element-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	white-space: nowrap;
	text-decoration: none;
	transition: box-shadow 0.18s var(--easel-ease), transform 0.18s var(--easel-ease), background-color 0.18s, color 0.18s;
}
.wp-element-button:hover,
.wp-block-button__link:hover {
	box-shadow: inset 0 0 0 100vmax rgb(0 0 0 / 10%);
	text-decoration: none;
}
.wp-element-button:active,
.wp-block-button__link:active { transform: translateY(1px); }

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
	background: transparent;
	color: inherit;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid currentColor;
	padding: calc(0.85em - 2px) calc(1.4em - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, currentColor 10%, transparent);
}

@media (max-width: 480px) {
	.wp-block-button__link { white-space: normal; text-align: center; }
	.wp-block-buttons.is-layout-flex > .wp-block-button { flex: 1 1 100%; }
	.wp-block-buttons.is-layout-flex > .wp-block-button > .wp-block-button__link { width: 100%; }
}

/* ---------------------------------------------------------------------------- cards */

.wp-block-group.is-style-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: var(--wp--custom--card--background);
	border: var(--wp--custom--card--border);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: var(--wp--custom--card--shadow);
	color: var(--wp--preset--color--contrast);
	padding: var(--easel-card-pad);
	overflow: hidden;
	transition: box-shadow 0.2s var(--easel-ease), transform 0.2s var(--easel-ease);
}
.wp-block-group.is-style-card > * { margin-block: 0; }
.wp-block-group.is-style-card > * + * { margin-block-start: 0.75rem; }
.wp-block-group.is-style-card > .wp-block-heading + p { margin-block-start: 0.5rem; }
.wp-block-group.is-style-card > :is(.wp-block-buttons, p:last-child:has(> a:only-child)) { margin-top: auto; padding-top: 1rem; }

/* Cards fill their column or grid cell, so a row of cards is one height. */
.wp-block-column > .wp-block-group.is-style-card:only-child { height: 100%; }
.is-layout-grid > .wp-block-group.is-style-card { height: 100%; }

/* A photo at the top of a card runs to its edges. */
.wp-block-group.is-style-card > :is(.wp-block-image, .wp-block-post-featured-image):first-child {
	margin: calc(-1 * var(--easel-card-pad)) calc(-1 * var(--easel-card-pad)) 0.5rem;
}
.wp-block-group.is-style-card > :is(.wp-block-image, .wp-block-post-featured-image):first-child img {
	display: block;
	width: 100%;
	border-radius: 0;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* A card whose heading is a link is clickable all over. Other links in it stay clickable. */
.wp-block-group.is-style-card :is(h2, h3, h4) a::after { content: ""; position: absolute; inset: 0; }
.wp-block-group.is-style-card :is(p, li) a,
.wp-block-group.is-style-card .wp-block-buttons { position: relative; z-index: 1; }
.wp-block-group.is-style-card:has(:is(h2, h3, h4) a):hover {
	box-shadow: var(--wp--custom--card--hover);
	transform: translateY(-2px);
}
.wp-block-group.is-style-card:has(:is(h2, h3, h4) a):hover :is(h2, h3, h4) a { text-decoration: underline; }

/* A card on a dark band keeps light-card text. Cards given a background of their own keep it. */
.wp-block-group.is-style-card:not(.has-text-color) a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--accent-1); }
.wp-block-group.is-style-card:not(.has-text-color) :is(h2, h3, h4) a { color: inherit; }
.wp-block-group.is-style-card.has-text-color a:where(:not(.wp-element-button)) { color: inherit; }

/* ---------------------------------------------------------------------------- images, media */

.wp-block-image img { display: block; height: auto; }
:is(.entry-content, .is-root-container) .wp-block-image:not(.alignfull) img,
.wp-block-media-text__media img {
	border-radius: var(--wp--custom--radius--image);
}
.wp-block-image.is-style-rounded img { border-radius: 9999px; }
.wp-block-media-text { gap: var(--easel-gap); }
.wp-block-media-text > .wp-block-media-text__content { padding: 0 var(--easel-gap); }

/* Covers: the hero. Text over a photo stays readable. */
.wp-block-cover { padding-inline: var(--wp--style--root--padding-left, 1.5rem); }
.wp-block-cover .wp-block-cover__inner-container { width: 100%; }
.wp-block-cover:not(.has-text-color) { color: #fff; }
.wp-block-cover :is(h1, h2, p) { text-shadow: 0 1px 24px rgb(0 0 0 / 22%); }
.wp-block-cover .wp-block-button__link { text-shadow: none; }

/* ---------------------------------------------------------------------------- lists */

.wp-block-list li + li { margin-top: 0.4em; }
.wp-block-list.is-style-checks,
.wp-block-list.is-style-plain { list-style: none; padding-left: 0; }
.wp-block-list.is-style-checks > li { position: relative; padding-left: 1.9em; }
.wp-block-list.is-style-checks > li::before,
.wp-block-list.is-style-checks > li::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 1.15em;
	height: 1.15em;
}
.wp-block-list.is-style-checks > li::before {
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--accent-1) 14%, transparent);
}
.wp-block-list.is-style-checks > li::after {
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 72% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 72% no-repeat;
}
:where(.has-text-color) .wp-block-list.is-style-checks > li::after { background: currentColor; }
:where(.has-text-color) .wp-block-list.is-style-checks > li::before { background-color: color-mix(in srgb, currentColor 18%, transparent); }

/* ---------------------------------------------------------------------------- quotes */

.wp-block-quote {
	border: 0;
	margin: 0;
	padding: 0;
	font-family: var(--wp--custom--font--heading);
	font-weight: 450;
	letter-spacing: -0.01em;
}
.wp-block-quote::before {
	content: "\201C";
	display: block;
	height: 0.55em;
	margin-bottom: 0.35em;
	font-size: 3.5em;
	line-height: 1;
	color: var(--wp--preset--color--accent-1);
}
:where(.has-text-color) .wp-block-quote::before { color: inherit; opacity: 0.6; }
.wp-block-quote cite {
	display: block;
	margin-top: 1rem;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0;
	opacity: 0.85;
}
.wp-block-group.is-style-card > .wp-block-quote { font-size: var(--wp--preset--font-size--medium); }

/* ---------------------------------------------------------------------------- FAQ (details) */

.wp-block-details {
	border-bottom: 1px solid var(--easel-line);
	padding-block: 1.1rem;
}
:not(.wp-block-details) + .wp-block-details { border-top: 1px solid var(--easel-line); }
:is(.is-layout-constrained, .is-layout-flow) > .wp-block-details + .wp-block-details { margin-block-start: 0; }
.wp-block-details summary {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.5rem;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--custom--font--heading);
	font-weight: var(--wp--custom--heading--weight);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.35;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	flex: none;
	font-weight: 400;
	font-size: 1.4em;
	line-height: 0.8;
	transition: transform 0.2s var(--easel-ease);
	color: var(--wp--preset--color--accent-1);
}
:where(.has-text-color) .wp-block-details summary::after { color: inherit; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { margin-block-start: 0.75rem; max-width: 65ch; }

/* ---------------------------------------------------------------------------- separators, tables */

.wp-block-separator { border: 0; border-top: 1px solid var(--easel-line); opacity: 1; }
.wp-block-separator.has-background { border: 0; height: 1px; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table :is(td, th) { border: 0; border-bottom: 1px solid var(--easel-line); padding: 0.75rem 0.5rem; text-align: left; }
.wp-block-table thead { border: 0; }
.wp-block-table th { font-weight: 650; }

/* ---------------------------------------------------------------------------- search, forms */

.wp-block-search__inside-wrapper {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: var(--wp--custom--radius--input);
	padding: 0.3rem;
	box-shadow: 0 1px 2px rgb(16 24 40 / 5%);
}
.wp-block-search__input {
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	padding: 0.7em 0.9em;
	min-width: 0;
}
.wp-block-search__input:focus { outline: none; }
.wp-block-search__inside-wrapper:focus-within { outline: 2px solid var(--wp--preset--color--accent-1); outline-offset: 2px; }
.wp-block-search__button { margin-left: 0.3rem; border-radius: calc(var(--wp--custom--radius--input) - 2px); flex: none; }
.wp-block-search__button.has-icon { padding: 0.6em 0.8em; }
.wp-block-search__label { font-weight: 600; margin-bottom: 0.5rem; }
/* A search field in a hero or a band reads a little bigger. */
:is(.wp-block-cover, .alignfull) > :is(.wp-block-cover__inner-container > .wp-block-search, .wp-block-search) .wp-block-search__input { font-size: var(--wp--preset--font-size--large); }
.wp-block-search.aligncenter, .wp-block-search.has-text-align-center { margin-inline: auto; max-width: 640px; }
.wp-block-cover .wp-block-search { max-width: 640px; }
.wp-block-cover .has-text-align-center ~ .wp-block-search,
.wp-block-cover .wp-block-cover__inner-container:has(> .has-text-align-center) > .wp-block-search { margin-inline: auto; }

.easel-form { --easel-field-bg: var(--wp--preset--color--base); color: inherit; }
.easel-form__fields { display: flex; flex-wrap: wrap; gap: 1rem; }
.easel-form__field { flex: 1 1 100%; display: flex; flex-direction: column; gap: 0.4rem; margin: 0; }
.easel-form__field.is-half { flex: 1 1 calc(50% - 0.5rem); min-width: 12rem; }
.easel-form__field > label { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.easel-form__field.is-checkbox > label { font-weight: 400; font-size: inherit; display: flex; gap: 0.6rem; align-items: baseline; }
.easel-form__req { color: var(--wp--preset--color--accent-1); margin-left: 0.2em; }
:where(.has-text-color) .easel-form__req { color: inherit; }
.easel-form :is(input:not([type="checkbox"]), textarea, select) {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	color: var(--wp--preset--color--contrast);
	background: var(--easel-field-bg);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: var(--wp--custom--radius--input);
	padding: 0.75em 0.9em;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.easel-form :is(input, textarea, select):focus {
	outline: none;
	border-color: var(--wp--preset--color--accent-1);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--accent-1) 22%, transparent);
}
.easel-form input[type="checkbox"] { width: 1.1em; height: 1.1em; accent-color: var(--wp--preset--color--accent-1); }
.easel-form textarea { resize: vertical; min-height: 8rem; }
.easel-form__actions { flex: 1 1 100%; }
.easel-form__note { margin: 0.9rem 0 0; font-size: var(--wp--preset--font-size--small); opacity: 0.75; }
.easel-form.is-layout-inline .easel-form__fields { flex-wrap: nowrap; gap: 0.5rem; }
.easel-form.is-layout-inline .easel-form__field { flex: 1 1 auto; }
.easel-form.is-layout-inline .easel-form__actions { flex: none; }
@media (max-width: 520px) {
	.easel-form.is-layout-inline .easel-form__fields { flex-wrap: wrap; }
	.easel-form.is-layout-inline .easel-form__actions { flex: 1 1 100%; }
	.easel-form.is-layout-inline .wp-element-button { width: 100%; }
}

/* ---------------------------------------------------------------------------- header */

.easel-announcement { padding-block: 0.6rem; font-size: var(--wp--preset--font-size--small); line-height: 1.4; }
.easel-announcement p { margin: 0; }
.easel-announcement a { font-weight: 600; }

.easel-utility { padding-block: 0.45rem; font-size: 0.8125rem; line-height: 1.4; }
.easel-utility p { margin: 0; }
.easel-utility a { text-decoration: none; }
.easel-utility a:hover { text-decoration: underline; }
.easel-utility__bar { gap: 0.5rem 1.5rem; }
.easel-utility__links,
.easel-footer__social { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }

.easel-header {
	position: relative;
	z-index: 20;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	padding-block: 1rem;
}
.easel-header.is-sticky { position: sticky; top: 0; }
.easel-header__bar { gap: 1.5rem; }
.easel-header__end { gap: 1.25rem; }
.easel-header .wp-block-site-title a { text-decoration: none; color: inherit; }
.easel-header .wp-block-site-logo img { height: auto; max-height: 52px; width: auto; }
.easel-header .wp-block-navigation { gap: 0.25rem 1.6rem; }
.easel-header .wp-block-navigation a { text-decoration: none; }
.easel-header .wp-block-navigation .wp-block-navigation-item__content { padding-block: 0.35rem; }
.easel-header .wp-block-navigation-item:not(.has-child) > a:hover,
.easel-header .wp-block-navigation .current-menu-item > a,
.easel-header .wp-block-navigation [aria-current="page"] {
	color: var(--wp--preset--color--accent-1);
	box-shadow: inset 0 -2px 0 currentColor;
}
.easel-header .wp-block-search { width: 13rem; }
.easel-header .wp-block-search__inside-wrapper { padding: 0.15rem; box-shadow: none; background: var(--wp--preset--color--accent-5); border-color: transparent; }
.easel-header .wp-block-search__input { padding: 0.45em 0.7em; font-size: 0.9375rem; }
.easel-header .wp-block-search__button { padding: 0.45em 0.6em; background: transparent; color: inherit; margin: 0; }
.easel-header .wp-block-search__button svg { width: 1.25em; height: 1.25em; }
.easel-header .wp-block-button__link { padding: 0.65em 1.15em; font-size: 0.9375rem; }
.easel-header .wp-block-navigation__responsive-container-open { padding: 0.4rem; }
.easel-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	padding: 1.25rem var(--wp--style--root--padding-left, 1.5rem);
}
.easel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 0.25rem; padding-top: 3rem; }
.easel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: var(--wp--preset--font-size--large); font-family: var(--wp--custom--font--heading); }
@media (max-width: 1100px) { .easel-header .wp-block-search { display: none; } }
@media (max-width: 600px) {
	.easel-header .easel-header__cta { display: none; }
	.easel-utility__text { display: none; }
}

/* ---------------------------------------------------------------------------- footer */

.easel-footer { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50); font-size: 0.9375rem; line-height: 1.6; }
.easel-footer .wp-block-site-title { font-size: 1.375rem; }
.easel-footer .wp-block-site-title a { text-decoration: none; color: inherit; }
.easel-footer a { color: inherit; text-decoration: none; }
.easel-footer a:hover { text-decoration: underline; }
.easel-footer .wp-block-columns { gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.easel-footer h2 {
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 0.9rem;
}
.easel-footer .wp-block-list { list-style: none; padding: 0; margin: 0; }
.easel-footer .wp-block-list li + li { margin-top: 0.55rem; }
.easel-footer p { margin-block: 0.4rem 0; }
.easel-footer__about { max-width: 34ch; opacity: 0.85; }
.easel-footer__contact { opacity: 0.85; }
.easel-footer .easel-form :is(input, textarea) { border-color: transparent; }
.easel-footer .easel-form .wp-element-button { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.easel-footer__legal {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	font-size: 0.8125rem;
	gap: 0.5rem 2rem;
	opacity: 0.8;
}
.easel-footer__legal p { margin: 0; }

/* ---------------------------------------------------------------------------- small screens */

@media (max-width: 781px) {
	.wp-block-columns { gap: var(--wp--preset--spacing--50); }
	.wp-block-cover { min-height: 0 !important; padding-block: var(--wp--preset--spacing--70); }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
