/*
Theme Name: Altilo
Author: Kamran Abdul Aziz
Author URI: https://shifteq.com
Description: Altilo is a modern block theme for studios, consultants, agencies, creators, and service businesses. It pairs clean structured layouts with a practical block-first pattern system built for full-site editing.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: altilo
Tags: block-patterns, block-styles, blog, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, one-column, two-columns, three-columns, four-columns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, portfolio
*/

/* =========================================================
   Altilo: block-first business theme system
   ========================================================= */

@font-face {
	font-family: "Inter";
	src: url("assets/fonts/Inter-Variable.woff2") format("woff2-variations");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

html { scroll-behavior: smooth; }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: var(--wp--preset--color--paper);
	text-rendering: optimizeLegibility;
	font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

.wp-block-post-content > .wp-block-group.alignfull,
.wp-block-post-content > .wp-block-cover.alignfull {
	margin-block-start: 0;
}

.wp-block-post-content > .wp-block-group.alignfull + .wp-block-group.alignfull,
.wp-block-post-content > .wp-block-group.alignfull + .wp-block-cover.alignfull,
.wp-block-post-content > .wp-block-cover.alignfull + .wp-block-group.alignfull {
	margin-block-start: 0;
}

.wp-site-blocks > .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-cover.alignfull,
.wp-site-blocks > .wp-block-template-part + .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-template-part + .wp-block-cover.alignfull,
.wp-site-blocks > .wp-block-group.alignfull + .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-group.alignfull + .wp-block-cover.alignfull,
.wp-site-blocks > .wp-block-cover.alignfull + .wp-block-group.alignfull {
	margin-block-start: 0;
}

.wp-block-group.alignfull.has-border-color[style*="border-bottom"] {
	border-left-width: 0 !important;
	border-right-width: 0 !important;
	border-top-width: 0 !important;
}

main .wp-block-group.alignfull.has-border-color {
	border-bottom-width: 0 !important;
	border-top-width: 0 !important;
}

.altilo-build-flow-copy {
	max-width: 34ch;
}

.altilo-site-footer,
footer.wp-block-group.alignfull {
	border-top: 1px solid var(--wp--preset--color--mist);
}

.altilo-footer-brand-copy {
	max-width: 34ch;
}

.altilo-footer-mega-copy {
	max-width: 36ch;
}

.altilo-hero-split-copy {
	max-width: 48ch;
}

.altilo-hero-centered-copy,
.altilo-newsletter-copy {
	margin-inline: auto;
	max-width: 50ch;
}

.altilo-mission-copy,
.altilo-featured-case-copy {
	margin-inline: auto;
	max-width: 60ch;
}

.altilo-portfolio-hero-copy {
	margin-inline: auto;
	max-width: 66ch;
}

.altilo-contact-info-heading,
.altilo-process-heading {
	max-width: 24ch;
}

.altilo-services-bento-heading {
	max-width: 20ch;
}

/* ---- Skip link ---- */
.skip-link.screen-reader-text {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	clip: rect(1px,1px,1px,1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.skip-link.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	width: auto;
	left: 16px; top: 16px;
	padding: 12px 20px;
	border-radius: 12px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
	z-index: 100000;
	box-shadow: var(--wp--preset--shadow--lg);
}

/* ---- Focus ---- */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 0;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent);
	border-radius: 8px;
}

/* =========================================================
   Site title: wordmark
   ========================================================= */
.altilo-site-header {
	box-shadow: 0 1px 0 var(--wp--preset--color--mist);
	position: relative;
	z-index: 20;
}

.altilo-site-header > .wp-block-group {
	min-height: 44px;
}

.wp-block-site-title a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	font-weight: 760;
	letter-spacing: 0;
	transition: color 160ms ease-out;
}

.wp-block-site-title a:hover,
.wp-block-site-title a:focus-visible {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
}

.altilo-emblem {
	color: var(--wp--preset--color--accent);
	display: inline-block;
	flex: 0 0 auto;
	height: 2rem;
	width: 2rem;
	vertical-align: middle;
}

.altilo-brand-lockup,
.altilo-logo-link {
	align-items: center;
	color: var(--wp--preset--color--accent);
	display: inline-flex;
	gap: 0.625rem;
	justify-content: flex-start !important;
	line-height: 1;
	text-decoration: none;
	width: fit-content;
}

.altilo-brand-lockup.is-layout-flex {
	justify-content: flex-start !important;
}

.altilo-logo-link:hover,
.altilo-logo-link:focus-visible {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
}

.altilo-brand-lockup > * {
	flex: 0 0 auto;
	width: auto;
}

.altilo-brand-lockup .wp-block-html,
.altilo-brand-lockup .wp-block-site-title {
	margin: 0;
}

.altilo-brand-lockup .wp-block-html {
	display: flex;
	line-height: 0;
}

.altilo-brand-lockup .wp-block-site-title {
	width: auto;
}

.altilo-brand-lockup .wp-block-site-title,
.altilo-brand-lockup .wp-block-site-title a {
	color: currentColor;
	display: inline-flex;
	line-height: 1;
}

.altilo-logo-wordmark {
	color: currentColor;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 760;
	letter-spacing: 0;
}

.altilo-brand-lockup:has(.wp-block-site-title a:hover),
.altilo-brand-lockup:has(.wp-block-site-title a:focus-visible) {
	color: var(--wp--preset--color--accent-deep);
}

.altilo-site-header .wp-block-navigation {
	gap: clamp(1.25rem, 2vw, 2rem);
}

.altilo-site-header .wp-block-navigation-item__content {
	border-radius: 9999px;
	font-weight: 620;
	letter-spacing: 0;
	padding: 0.35rem 0;
	transition: color 160ms ease-out, background-color 160ms ease-out;
}

.altilo-site-header .wp-block-navigation-item__content:hover,
.altilo-site-header .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

/* =========================================================
   Buttons: three clear treatments
   Primary: default filled
   Secondary: outlined/surface
   Tertiary: text link
   ========================================================= */
.wp-block-buttons.is-layout-flex {
	gap: 12px;
}

.wp-block-button .wp-block-button__link,
.wp-block-search__button,
:where(
	.wpcf7 input[type="submit"],
	.wpforms-submit,
	.gform_button,
	.frm_button_submit,
	.ff-btn-submit,
	.nf-form-cont input[type="submit"],
	.nf-form-cont button[type="submit"],
	.wp-block-jetpack-contact-form button[type="submit"],
	.contact-form button[type="submit"],
	.contact-form input[type="submit"]
) {
	border-radius: 12px;
	border: 1px solid transparent;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 680;
	letter-spacing: 0;
	line-height: 1.1;
	min-height: 48px;
	padding: 0.95rem 1.55rem;
	transition: background-color 160ms ease-out, border-color 160ms ease-out, box-shadow 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.wp-block-button:not(.is-style-secondary):not(.is-style-tertiary) .wp-block-button__link,
.wp-block-search__button,
:where(
	.wpcf7 input[type="submit"],
	.wpforms-submit,
	.gform_button,
	.frm_button_submit,
	.ff-btn-submit,
	.nf-form-cont input[type="submit"],
	.nf-form-cont button[type="submit"],
	.wp-block-jetpack-contact-form button[type="submit"],
	.contact-form button[type="submit"],
	.contact-form input[type="submit"]
) {
	background: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--paper) !important;
	box-shadow: var(--wp--preset--shadow--sm);
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-search__button:hover,
:where(
	.wpcf7 input[type="submit"],
	.wpforms-submit,
	.gform_button,
	.frm_button_submit,
	.ff-btn-submit,
	.nf-form-cont input[type="submit"],
	.nf-form-cont button[type="submit"],
	.wp-block-jetpack-contact-form button[type="submit"],
	.contact-form button[type="submit"],
	.contact-form input[type="submit"]
):hover {
	box-shadow: var(--wp--preset--shadow--md);
	transform: translateY(-1px);
}

.wp-block-button .wp-block-button__link:active,
.wp-block-search__button:active {
	box-shadow: var(--wp--preset--shadow--xs);
	transform: translateY(0);
}

.wp-block-button:not(.is-style-secondary):not(.is-style-tertiary) .wp-block-button__link:hover,
.wp-block-search__button:hover,
:where(
	.wpcf7 input[type="submit"],
	.wpforms-submit,
	.gform_button,
	.frm_button_submit,
	.ff-btn-submit,
	.nf-form-cont input[type="submit"],
	.nf-form-cont button[type="submit"],
	.wp-block-jetpack-contact-form button[type="submit"],
	.contact-form button[type="submit"],
	.contact-form input[type="submit"]
):hover {
	background: var(--wp--preset--color--accent-deep) !important;
	border-color: var(--wp--preset--color--accent-deep) !important;
	color: var(--wp--preset--color--paper) !important;
}

/* Secondary */
.wp-block-button.is-style-secondary .wp-block-button__link {
	background: var(--wp--preset--color--paper) !important;
	border: 1px solid var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink) !important;
	box-shadow: var(--wp--preset--shadow--xs);
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover {
	background: var(--wp--preset--color--paper-soft) !important;
	border-color: var(--wp--preset--color--stone);
	color: var(--wp--preset--color--ink) !important;
}

/* Tertiary */
.wp-block-button.is-style-tertiary .wp-block-button__link {
	background: transparent !important;
	border-color: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--accent) !important;
	padding-left: 0;
	padding-right: 0;
}

.wp-block-button.is-style-tertiary .wp-block-button__link:hover {
	box-shadow: none;
	color: var(--wp--preset--color--accent-deep) !important;
	transform: translateX(2px);
}

/* =========================================================
   Card system: restrained depth with token-based surfaces
   ========================================================= */
.altilo-card {
	box-sizing: border-box;
	background: var(--wp--preset--color--paper);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--mist) 86%, var(--wp--preset--color--ink));
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--sm);
	padding: var(--wp--preset--spacing--70);
	transition: border-color 200ms ease-out, box-shadow 200ms ease-out, transform 200ms ease-out;
}

.altilo-card:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 34%, var(--wp--preset--color--mist));
	box-shadow: var(--wp--preset--shadow--lg);
	transform: translateY(-2px);
}

.altilo-card-title {
	font-size: 1.1875rem;
	font-weight: 680;
	letter-spacing: 0;
	margin: 0 0 8px;
	color: var(--wp--preset--color--ink);
}

.altilo-card-body {
	color: var(--wp--preset--color--stone);
	margin: 0;
	line-height: 1.55;
	font-size: 0.9375rem;
}

.altilo-icon-tile {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--wp--preset--color--paper-soft);
	border: 1px solid var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
}

.altilo-system-card {
	height: 100%;
}

.altilo-type-stack {
	border-left: 1px solid var(--wp--preset--color--mist);
	padding-left: var(--wp--preset--spacing--60);
}

.altilo-display-sample {
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--4-xl);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.altilo-swatch {
	align-items: flex-end;
	aspect-ratio: 1.3 / 1;
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-sizing: border-box;
	display: flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	justify-content: flex-start;
	padding: var(--wp--preset--spacing--40);
}

.altilo-swatch p {
	margin: 0;
}

.altilo-swatch-ink {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

.altilo-swatch-paper {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
}

.altilo-swatch-accent {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--paper);
}

.altilo-swatch-spark {
	background: var(--wp--preset--color--spark-soft);
	color: var(--wp--preset--color--spark);
}

/* =========================================================
   About page helpers
   ========================================================= */
.altilo-about-metrics > .wp-block-column,
.altilo-equal-cards > .wp-block-column,
.wp-block-columns:has(> .wp-block-column > .altilo-card) > .wp-block-column,
.wp-block-columns:has(> .wp-block-column > .altilo-component-card) > .wp-block-column,
.wp-block-columns:has(> .wp-block-column > .altilo-use-case) > .wp-block-column,
.wp-block-columns:has(> .wp-block-column > .altilo-layout-card) > .wp-block-column,
.wp-block-columns:has(> .wp-block-column > .altilo-step-card) > .wp-block-column,
.wp-block-columns:has(> .wp-block-column > .has-border-color) > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.altilo-about-metrics > .wp-block-column > *,
.altilo-equal-cards > .wp-block-column > *,
.wp-block-columns:has(> .wp-block-column > .altilo-card) > .wp-block-column > *,
.wp-block-columns:has(> .wp-block-column > .altilo-component-card) > .wp-block-column > *,
.wp-block-columns:has(> .wp-block-column > .altilo-use-case) > .wp-block-column > *,
.wp-block-columns:has(> .wp-block-column > .altilo-layout-card) > .wp-block-column > *,
.wp-block-columns:has(> .wp-block-column > .altilo-step-card) > .wp-block-column > *,
.wp-block-columns:has(> .wp-block-column > .has-border-color) > .wp-block-column > * {
	flex: 1;
}

.altilo-about-metric {
	background: var(--wp--preset--color--paper);
}

.altilo-about-metric__number {
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.altilo-about-metric__label {
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 650;
	margin-block-start: var(--wp--preset--spacing--20);
}

.altilo-principle-card,
.altilo-team-card {
	height: 100%;
	padding: var(--wp--preset--spacing--60);
}

.altilo-team-card {
	background: var(--wp--preset--color--paper);
}

.altilo-avatar {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--paper-soft);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	color: var(--wp--preset--color--ink);
	display: flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 760;
	justify-content: center;
	margin-bottom: var(--wp--preset--spacing--50);
	max-width: 148px;
}

.altilo-avatar p,
.altilo-about-metric p {
	margin: 0;
}

.altilo-avatar-accent {
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--accent);
}

.altilo-avatar-spark {
	background: var(--wp--preset--color--spark-soft);
	color: var(--wp--preset--color--spark);
}

.altilo-avatar-neutral {
	background: var(--wp--preset--color--paper-soft);
	color: var(--wp--preset--color--ink-soft);
}

.altilo-team-name {
	font-size: var(--wp--preset--font-size--x-large);
	letter-spacing: 0;
	margin: 0;
}

.altilo-team-role {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-block-start: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--40);
}

.altilo-team-card .altilo-card-body {
	max-width: 34ch;
}

.altilo-process-list {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.altilo-process-item {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--50);
	width: 100%;
}

.altilo-process-list > .altilo-process-item {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.altilo-process-item > .wp-block-group {
	flex: 1;
	min-width: 0;
}

/* =========================================================
   Contact page helpers
   ========================================================= */
.altilo-contact-route,
.altilo-contact-detail,
.altilo-contact-form-card {
	height: 100%;
}

.altilo-contact-route .altilo-card-title {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.altilo-contact-detail {
	background: var(--wp--preset--color--paper);
}

.altilo-contact-form-card {
	background: var(--wp--preset--color--paper);
}

.altilo-map-placeholder {
	align-items: center;
	aspect-ratio: 1.35 / 1;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent) 1px, transparent 1px),
		linear-gradient(0deg, color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent) 1px, transparent 1px),
		linear-gradient(145deg, var(--wp--preset--color--accent-soft), var(--wp--preset--color--paper));
	background-size: 44px 44px, 44px 44px, auto;
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 18px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	min-height: 360px;
	position: relative;
}

.altilo-map-pin {
	align-items: center;
	background: var(--wp--preset--color--ink);
	border-radius: 9999px;
	color: var(--wp--preset--color--paper);
	display: flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 760;
	height: 64px;
	justify-content: center;
	width: 64px;
}

.altilo-map-pin p,
.altilo-map-label {
	margin: 0;
}

.altilo-map-label {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 9999px;
	bottom: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 650;
	left: var(--wp--preset--spacing--40);
	padding: 0.65rem 0.9rem;
	position: absolute;
}

.altilo-contact-list {
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--medium);
	margin-block-start: var(--wp--preset--spacing--50);
	padding-left: 1.1rem;
}

.altilo-contact-list li + li {
	margin-block-start: var(--wp--preset--spacing--20);
}

.altilo-next-step {
	height: 100%;
}

/* =========================================================
   Badges / Pills
   ========================================================= */
.altilo-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	background: transparent;
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	text-transform: none;
}

.altilo-badge::before {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--spark);
}

/* Centered badge: inline-flex element needs auto margins to center */
.altilo-badge.has-text-align-center {
	display: flex;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

/* =========================================================
   Section label
   ========================================================= */
.altilo-section-label {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 650;
	color: var(--wp--preset--color--ink-soft);
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
	text-transform: none;
}

.altilo-section-label::before {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	color: var(--wp--preset--color--spark);
}

main .wp-block-group.alignfull > .altilo-section-label:not(.has-text-align-center) {
	box-sizing: border-box;
	display: flex !important;
	margin-left: max(var(--wp--preset--spacing--60), calc((100% - 1240px) / 2)) !important;
	margin-right: var(--wp--preset--spacing--60) !important;
	max-width: calc(100% - (2 * var(--wp--preset--spacing--60)));
	width: fit-content;
}

/* Centered eyebrow labels: inline-flex needs auto margins to center */
.altilo-section-label.has-text-align-center {
	display: flex;
	justify-content: center;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(6px + 0.45em);
	padding-right: calc(6px + 0.45em);
	position: relative;
	text-align: center;
}

.altilo-section-label.has-text-align-center::before {
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.altilo-narrow-intro {
	margin-left: max(0px, calc((100% - 1240px) / 2)) !important;
	margin-right: auto !important;
	max-width: 780px;
}

.wp-block-column > .altilo-section-label:not(.has-text-align-center),
.wp-block-group:not(.alignfull) > .altilo-section-label:not(.has-text-align-center) {
	display: inline-flex;
	width: fit-content;
}

/* =========================================================
   Hero system
   ========================================================= */
.altilo-hero-modern {
	background: var(--wp--preset--color--paper);
	border-bottom: 0;
	overflow: hidden;
	position: relative;
}

.altilo-hero-copy {
	max-width: 56ch;
}

.altilo-hero-modern .wp-block-columns.alignwide {
	align-items: center;
}

.altilo-hero-showcase {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--accent-soft) 70%, transparent), transparent 58%),
		linear-gradient(315deg, color-mix(in srgb, var(--wp--preset--color--spark-soft) 78%, transparent), transparent 48%),
		color-mix(in srgb, var(--wp--preset--color--paper) 88%, var(--wp--preset--color--paper-soft));
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 22px;
	box-shadow: var(--wp--preset--shadow--xl);
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

.altilo-hero-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--md);
	box-sizing: border-box;
}

.altilo-hero-stat {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 152px;
}

.altilo-hero-card-accent {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent), transparent 56%),
		var(--wp--preset--color--ink);
	border-color: color-mix(in srgb, var(--wp--preset--color--spark) 18%, var(--wp--preset--color--ink));
	color: var(--wp--preset--color--paper);
}

.altilo-hero-card-title {
	color: var(--wp--preset--color--paper);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
}

.altilo-hero-card-accent-soft {
	background: linear-gradient(145deg, var(--wp--preset--color--accent-soft), var(--wp--preset--color--paper));
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 18%, var(--wp--preset--color--mist));
}

.altilo-hero-card-accent-soft,
.altilo-hero-card-spark {
	height: 100%;
}

.altilo-hero-card-spark {
	background: linear-gradient(145deg, var(--wp--preset--color--spark-soft), var(--wp--preset--color--paper));
	border-color: color-mix(in srgb, var(--wp--preset--color--spark) 30%, var(--wp--preset--color--mist));
}

.altilo-hero-site-preview {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--accent-soft) 82%, transparent), transparent 54%),
		linear-gradient(315deg, color-mix(in srgb, var(--wp--preset--color--spark-soft) 74%, transparent), transparent 46%),
		var(--wp--preset--color--paper-soft);
}

.altilo-hero-preview-toolbar {
	align-items: center;
}

.altilo-preview-dot {
	background: var(--wp--preset--color--accent);
	border-radius: 9999px;
	height: 0.625rem;
	margin: 0;
	width: 0.625rem;
}

.altilo-preview-dot.is-spark {
	background: var(--wp--preset--color--spark);
}

.altilo-preview-dot.is-success {
	background: var(--wp--preset--color--success);
}

.altilo-hero-preview-panel {
	background: var(--wp--preset--color--paper);
}

.altilo-hero-preview-panel .altilo-hero-card-title {
	color: var(--wp--preset--color--ink);
	max-width: 14ch;
}

.altilo-preview-metric,
.altilo-preview-section-row {
	background: color-mix(in srgb, var(--wp--preset--color--paper) 84%, var(--wp--preset--color--accent-soft));
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 12px;
	box-sizing: border-box;
}

.altilo-preview-section-row {
	align-items: center;
}

.altilo-feature-chip {
	align-items: center;
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 9999px;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 650;
	gap: 0.5em;
	padding: 0.55em 0.85em;
}

.altilo-feature-chip::before {
	background: currentColor;
	border-radius: 50%;
	content: "";
	height: 0.45em;
	width: 0.45em;
}

.altilo-use-case-band {
	background: var(--wp--preset--color--paper);
	border-bottom: 0;
	border-top: 0;
}

.altilo-use-case {
	background: var(--wp--preset--color--paper-soft);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--mist) 88%, var(--wp--preset--color--ink));
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--xs);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 120px;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out, transform 160ms ease-out;
}

.altilo-use-case:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 34%, var(--wp--preset--color--mist));
	box-shadow: var(--wp--preset--shadow--sm);
	transform: translateY(-2px);
}

.altilo-use-case-accent {
	background: var(--wp--preset--color--paper);
	border-top-color: color-mix(in srgb, var(--wp--preset--color--accent) 34%, var(--wp--preset--color--mist));
}

.altilo-use-case-spark {
	background: var(--wp--preset--color--paper);
	border-top-color: color-mix(in srgb, var(--wp--preset--color--spark) 34%, var(--wp--preset--color--mist));
}

.altilo-use-case-neutral {
	background: var(--wp--preset--color--paper-soft);
}

.altilo-pattern-surface {
	background: var(--wp--preset--color--paper-soft);
	border-bottom: 0;
	border-top: 0;
}

.altilo-component-card,
.altilo-layout-card,
.altilo-step-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--mist) 88%, var(--wp--preset--color--ink));
	border-radius: 14px;
	box-sizing: border-box;
	box-shadow: var(--wp--preset--shadow--sm);
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out, transform 160ms ease-out;
}

.altilo-component-card:hover,
.altilo-layout-card:hover,
.altilo-step-card:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 34%, var(--wp--preset--color--mist));
	box-shadow: var(--wp--preset--shadow--md);
	transform: translateY(-2px);
}

.altilo-component-card-accent {
	background: var(--wp--preset--color--paper);
	border-top-color: color-mix(in srgb, var(--wp--preset--color--accent) 40%, var(--wp--preset--color--mist));
}

.altilo-component-card-spark {
	background: var(--wp--preset--color--paper);
	border-top-color: color-mix(in srgb, var(--wp--preset--color--spark) 40%, var(--wp--preset--color--mist));
}

.altilo-component-card-neutral {
	background: var(--wp--preset--color--paper-soft);
}

.altilo-layout-card {
	background:
		linear-gradient(180deg, var(--wp--preset--color--paper), var(--wp--preset--color--paper-soft));
	min-height: 260px;
}

.altilo-layout-line {
	background: var(--wp--preset--color--mist);
	border-radius: 9999px;
	height: 8px;
	width: 100%;
}

.altilo-layout-line-short {
	width: 58%;
}

.altilo-step-number {
	align-items: center;
	background: var(--wp--preset--color--ink);
	border-radius: 9999px;
	box-sizing: border-box;
	color: var(--wp--preset--color--paper);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	height: 2rem;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 var(--wp--preset--spacing--40);
	min-height: 2rem;
	min-width: 2rem;
	padding: 0;
	text-align: center;
	width: 2rem;
}

.altilo-step-number.has-text-align-center {
	margin-left: auto;
	margin-right: auto;
}

.altilo-page-card,
.altilo-changelog-item {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-sizing: border-box;
	height: 100%;
	transition: border-color 160ms ease-out, transform 160ms ease-out;
}

.altilo-page-card:hover,
.altilo-changelog-item:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 34%, var(--wp--preset--color--mist));
	box-shadow: var(--wp--preset--shadow--md);
	transform: translateY(-2px);
}

.altilo-page-card-large {
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--wp--preset--color--spark-soft) 72%, transparent), transparent 74%),
		var(--wp--preset--color--paper);
	min-height: 100%;
}

.altilo-page-set-grid > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.altilo-page-set-grid > .wp-block-column > .altilo-page-card,
.altilo-page-stack {
	flex: 1;
}

.altilo-page-stack {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
}

.altilo-page-stack > * + * {
	margin-block-start: 0 !important;
}

.altilo-page-stack > .altilo-page-card {
	height: 100%;
	min-height: 0;
}

.altilo-changelog-hero {
	background: var(--wp--preset--color--paper);
	border-bottom: 0;
}

.altilo-changelog-hero > .wp-block-columns > .wp-block-column:first-child .wp-block-heading {
	max-width: 720px;
}

.altilo-changelog-summary {
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--wp--preset--color--spark-soft) 72%, transparent), transparent 74%),
		var(--wp--preset--color--paper);
	max-width: 100%;
	min-width: 0;
}

.altilo-changelog-summary .altilo-card-title {
	font-size: clamp(1.4rem, 3vw, 1.85rem);
	line-height: 1.22;
	overflow-wrap: normal;
	word-break: normal;
}

.altilo-release-date {
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--20);
}

.altilo-release-pill {
	align-items: center;
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 9999px;
	color: var(--wp--preset--color--ink-soft);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0;
	padding: 0.55em 0.8em;
	text-transform: uppercase;
	width: fit-content;
}

.altilo-release-points {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	list-style: none;
	margin-top: var(--wp--preset--spacing--40);
	padding-left: 0;
}

.altilo-release-list,
.altilo-release-list > .altilo-changelog-item,
.altilo-changelog-item > .wp-block-columns {
	width: 100%;
}

.altilo-release-list {
	max-width: 980px !important;
}

.altilo-release-list > .altilo-changelog-item,
.altilo-changelog-item > .wp-block-columns {
	max-width: 100% !important;
}

.altilo-changelog-item > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100%;
}

.altilo-release-points li {
	color: var(--wp--preset--color--stone);
	line-height: 1.6;
	padding-left: 1.55rem;
	position: relative;
}

.altilo-release-points li::before {
	background: var(--wp--preset--color--spark);
	border-radius: 9999px;
	content: "";
	height: 0.42rem;
	left: 0;
	position: absolute;
	top: 0.62em;
	width: 0.42rem;
}

.altilo-roadmap-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	height: 100%;
}

/* =========================================================
   Blog and publishing templates
   ========================================================= */
.altilo-blog-hero,
.altilo-single-hero {
	background: var(--wp--preset--color--paper);
}

.altilo-single-hero .altilo-post-meta {
	justify-content: center;
	margin: 0 0 var(--wp--preset--spacing--30);
}

.altilo-single-hero .wp-block-post-title {
	margin-bottom: var(--wp--preset--spacing--30) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 0 !important;
}

.altilo-single-hero .wp-block-post-excerpt {
	margin: 0 auto !important;
	max-width: 760px !important;
}

.altilo-single-hero .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.altilo-template-intro {
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	margin-left: auto;
	margin-right: auto;
	max-width: 62ch;
}

.altilo-post-grid {
	align-items: stretch;
	gap: var(--wp--preset--spacing--50);
}

.altilo-archive-template .altilo-post-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
}

.altilo-post-card,
.altilo-post-list-item,
.altilo-comment-card,
.altilo-author-note {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-sizing: border-box;
	height: 100%;
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--xs);
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out, transform 160ms ease-out;
}

.altilo-post-card {
	display: flex;
	flex-direction: column;
}

.altilo-post-card:hover,
.altilo-post-list-item:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 34%, var(--wp--preset--color--mist));
	box-shadow: var(--wp--preset--shadow--md);
	transform: translateY(-2px);
}

.altilo-post-card-cover {
	aspect-ratio: 4 / 3 !important;
	background:
		linear-gradient(145deg, var(--wp--preset--color--accent-soft), transparent 72%),
		var(--wp--preset--color--paper-soft);
	height: auto !important;
	margin: 0;
	min-height: auto !important;
	width: 100%;
}

.altilo-post-card-cover {
	border-radius: 14px 14px 0 0;
	overflow: hidden;
}

.altilo-post-card-cover:has(img) {
	background: transparent;
}

.altilo-post-card-cover img,
.altilo-single-featured-image img {
	border-radius: inherit;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.altilo-post-card-cover:not(:has(img)) {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent), transparent 55%),
		linear-gradient(315deg, color-mix(in srgb, var(--wp--preset--color--spark) 12%, transparent), transparent 48%),
		var(--wp--preset--color--paper-soft);
}

.altilo-post-card-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0;
}

.altilo-post-card-content > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100%;
}

.altilo-post-meta {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	gap: var(--wp--preset--spacing--30);
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.altilo-post-card .altilo-post-meta,
.altilo-post-list-item .altilo-post-meta {
	align-self: flex-start;
	margin: 0 0 var(--wp--preset--spacing--20);
}

.altilo-post-meta a,
.altilo-post-meta time {
	color: inherit;
	text-decoration: none;
}

.altilo-post-card .wp-block-post-title,
.altilo-post-list-item .wp-block-post-title {
	margin: 0 0 var(--wp--preset--spacing--20);
}

.altilo-post-card .wp-block-post-title a,
.altilo-post-list-item .wp-block-post-title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.altilo-post-card .wp-block-post-title a:hover,
.altilo-post-list-item .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
}

.altilo-post-card .wp-block-post-excerpt,
.altilo-post-list-item .wp-block-post-excerpt,
.altilo-single-hero .wp-block-post-excerpt {
	color: var(--wp--preset--color--stone);
	margin: 0;
}

.altilo-post-card .wp-block-post-excerpt,
.altilo-post-list-item .wp-block-post-excerpt {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.altilo-post-card .wp-block-post-excerpt__excerpt,
.altilo-post-card .wp-block-post-excerpt__more-text,
.altilo-post-list-item .wp-block-post-excerpt__excerpt,
.altilo-post-list-item .wp-block-post-excerpt__more-text {
	margin: 0;
}

.altilo-post-card .wp-block-post-excerpt__more-text,
.altilo-post-list-item .wp-block-post-excerpt__more-text {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--40);
}

.altilo-post-card .wp-block-post-excerpt__more-link,
.altilo-post-list-item .wp-block-post-excerpt__more-link {
	color: var(--wp--preset--color--accent);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-top: 0;
	text-decoration: none;
}

.altilo-post-list {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.altilo-search-result-card .wp-block-columns {
	margin-bottom: 0;
	max-width: none !important;
	width: 100%;
}

.altilo-search-result-card .wp-block-cover {
	aspect-ratio: 4 / 3 !important;
	border-radius: 12px;
	height: auto !important;
	min-height: auto !important;
}

.altilo-single-featured-image {
	aspect-ratio: 16 / 10 !important;
	border-radius: 18px;
	margin-left: auto;
	margin-right: auto;
	max-width: 960px !important;
	overflow: hidden;
	width: min(100%, 960px) !important;
}

.altilo-single-featured-image:not(:has(img)) {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent), transparent 55%),
		linear-gradient(315deg, color-mix(in srgb, var(--wp--preset--color--spark) 12%, transparent), transparent 48%),
		var(--wp--preset--color--paper-soft);
}

.altilo-post-content > * {
	margin-block-start: var(--wp--preset--spacing--50);
}

.altilo-post-content > :first-child {
	margin-block-start: 0;
}

.altilo-post-content p,
.altilo-post-content li {
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.75;
}

.altilo-post-tags {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.altilo-post-nav-link {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-sizing: border-box;
	display: block;
	height: 100%;
	padding: var(--wp--preset--spacing--50);
	text-decoration: none;
	transition: border-color 160ms ease-out, transform 160ms ease-out;
}

.altilo-post-nav-link:hover {
	border-color: var(--wp--preset--color--ink);
	transform: translateY(-2px);
}

.altilo-post-nav-grid {
	align-items: stretch;
}

.altilo-post-nav-grid > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.altilo-empty-state {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 18px;
	box-sizing: border-box;
	text-align: center;
}

.altilo-comments-section {
	border-top: 1px solid var(--wp--preset--color--mist);
}

.altilo-comments input:not([type="submit"]),
.altilo-comments textarea {
	width: 100%;
}

.altilo-pagination {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--mist);
	gap: var(--wp--preset--spacing--40);
	justify-content: center;
	padding-top: var(--wp--preset--spacing--50);
}

.altilo-pagination .wp-block-query-pagination-numbers,
.wp-block-comments-pagination-numbers {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: center;
}

.altilo-pagination .page-numbers,
.wp-block-comments-pagination-numbers .page-numbers {
	align-items: center;
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 9999px;
	display: inline-flex;
	font-weight: 650;
	justify-content: center;
	line-height: 1;
	min-height: 2.25rem;
	min-width: 2.25rem;
	padding: 0.45rem 0.7rem;
	text-decoration: none;
}

.altilo-pagination .page-numbers.current,
.wp-block-comments-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--paper);
}

.altilo-search-form .wp-block-search__inside-wrapper {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	padding: var(--wp--preset--spacing--20);
}

.altilo-search-form .wp-block-search__input {
	border: 0;
	color: var(--wp--preset--color--ink);
	font: inherit;
}

.altilo-search-form .wp-block-search__button {
	margin-left: var(--wp--preset--spacing--20);
}

/* =========================================================
   404 page
   ========================================================= */
.altilo-error-page {
	background:
		linear-gradient(135deg, var(--wp--preset--color--paper-soft), transparent 58%),
		var(--wp--preset--color--paper);
}

.altilo-error-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 18px;
	box-shadow: var(--wp--preset--shadow--sm);
	box-sizing: border-box;
}

.altilo-error-code {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(4.5rem, 11vw, 8rem);
	font-weight: 760;
	letter-spacing: 0;
	line-height: 0.82;
	margin: 0;
}

.altilo-error-links {
	border-top: 1px solid var(--wp--preset--color--mist);
}

.altilo-error-links a {
	color: var(--wp--preset--color--ink);
	font-weight: 650;
	text-decoration: none;
}

.altilo-error-links a:hover {
	color: var(--wp--preset--color--accent);
}

/* =========================================================
   Services and portfolio pages
   ========================================================= */
.altilo-services-hero,
.altilo-portfolio-hero {
	background: var(--wp--preset--color--paper);
}

.altilo-services-summary {
	background:
		linear-gradient(145deg, var(--wp--preset--color--accent-soft), transparent 72%),
		var(--wp--preset--color--paper);
}

.altilo-service-list {
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.7;
	margin: 0;
	padding-left: 1.1em;
}

.altilo-service-card-body {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: 50ch;
}

.altilo-equal-cards > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.altilo-equal-cards > .wp-block-column > .wp-block-group {
	flex: 1;
}

.altilo-result-card {
	text-align: center;
}

.altilo-result-number {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--4-xl);
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 var(--wp--preset--spacing--30);
}

@media (max-width: 782px) {
	.altilo-hero-modern {
		padding-top: var(--wp--preset--spacing--80) !important;
		padding-bottom: var(--wp--preset--spacing--80) !important;
	}

	.altilo-hero-modern .wp-block-heading {
		font-size: clamp(2.35rem, 12vw, 3.5rem) !important;
	}

	.altilo-hero-modern .wp-block-columns.alignwide {
		display: block !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.altilo-hero-modern .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.altilo-hero-modern .wp-block-column + .wp-block-column {
		margin-top: var(--wp--preset--spacing--70);
	}

	.altilo-hero-showcase {
		border-radius: 18px;
	}

	.altilo-hero-showcase,
	.altilo-hero-card {
		padding: var(--wp--preset--spacing--50) !important;
	}

	.altilo-feature-chip {
		width: 100%;
	}

	.altilo-changelog-hero {
		padding-top: var(--wp--preset--spacing--80) !important;
		padding-bottom: var(--wp--preset--spacing--70) !important;
	}

	.altilo-changelog-hero .wp-block-column,
	.altilo-release-list .wp-block-column {
		min-width: 0;
	}

	.altilo-changelog-hero .wp-block-heading {
		font-size: clamp(2.75rem, 13vw, 3.5rem) !important;
		max-width: 10ch;
	}

	.altilo-changelog-summary .altilo-card-title {
		font-size: clamp(1.65rem, 8vw, 2.25rem) !important;
	}

	.altilo-blog-hero .wp-block-heading,
	.altilo-single-hero .wp-block-post-title,
	.altilo-services-hero .wp-block-heading,
	.altilo-portfolio-hero .wp-block-heading,
	.altilo-error-page .wp-block-heading {
		font-size: var(--wp--preset--font-size--4-xl) !important;
	}

	.altilo-post-grid {
		grid-template-columns: 1fr !important;
	}

	.altilo-post-card-content,
	.altilo-post-list-item,
	.altilo-search-result-card,
	.altilo-comment-card,
	.altilo-author-note {
		padding: var(--wp--preset--spacing--50) !important;
	}

	.altilo-search-form .wp-block-search__inside-wrapper {
		align-items: stretch;
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
	}

	.altilo-search-form .wp-block-search__button {
		margin-left: 0;
		width: 100%;
	}

	.altilo-error-card {
		padding: var(--wp--preset--spacing--50) !important;
	}
}

/* =========================================================
   Big stat
   ========================================================= */
.altilo-stat-number {
	font-size: var(--wp--preset--font-size--4-xl);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	color: var(--wp--preset--color--ink);
}

/* =========================================================
   Footer link list: muted, hover accent
   ========================================================= */
.altilo-footer-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.altilo-footer-list li {
	margin: 0;
}

.altilo-footer-list a {
	color: var(--wp--preset--color--stone);
	text-decoration: none;
	transition: color 150ms ease-out;
}

.altilo-footer-list a:hover {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

/* =========================================================
   Column grid spacing tighter for card layouts
   ========================================================= */
.wp-block-columns:has(> .wp-block-column > .altilo-card) {
	gap: 24px !important;
}

/* =========================================================
   Pricing: heads + cards
   ========================================================= */
.altilo-pricing-hero {
	background: var(--wp--preset--color--paper);
	border-bottom: 0;
}

.altilo-pricing-hero .wp-block-heading {
	max-width: 11ch;
}

.altilo-pricing-hero .has-text-color {
	max-width: 62ch;
}

.altilo-pricing-hero-card {
	background:
		linear-gradient(145deg, var(--wp--preset--color--accent-soft), transparent 72%),
		var(--wp--preset--color--paper);
}

.altilo-pricing-tier {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--stone);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.altilo-pricing-price {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.75rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	color: var(--wp--preset--color--ink);
	margin-bottom: 8px;
}

.altilo-pricing-meta {
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
}

.altilo-pricing-desc {
	font-size: 0.9375rem;
	color: var(--wp--preset--color--ink-soft);
	line-height: 1.55;
}

.altilo-card-featured {
	background: var(--wp--custom--surface--dark) !important;
	border-color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 16%, transparent) !important;
	color: var(--wp--custom--surface--on-dark);
	box-shadow: 0 24px 60px color-mix(in srgb, var(--wp--custom--surface--dark) 28%, transparent);
}

.altilo-feature-card,
.altilo-pricing-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.altilo-pricing-card {
	position: relative;
	text-align: left;
}

.altilo-pricing-card > * {
	width: 100%;
}

.altilo-pricing-card .wp-block-heading,
.altilo-pricing-card p,
.altilo-pricing-card li {
	text-align: left;
}

.altilo-pricing-card .altilo-checks {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--40);
}

.altilo-pricing-actions {
	margin-top: var(--wp--preset--spacing--40);
}

.altilo-pricing-badge {
	align-self: center;
	background: var(--wp--preset--color--spark);
	border-radius: 9999px;
	color: var(--wp--preset--color--paper);
	font-size: 0.6875rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0;
	padding: 0.55em 0.9em;
	position: absolute;
	top: 0;
	transform: translate(-50%, -50%);
	text-transform: uppercase;
	width: fit-content;
	z-index: 2;
}

.altilo-pricing-badge + .altilo-pricing-tier {
	margin-block-start: 0 !important;
}

@media (max-width: 782px) {
	.altilo-pricing-hero {
		padding-top: var(--wp--preset--spacing--80) !important;
		padding-bottom: var(--wp--preset--spacing--80) !important;
	}

	.altilo-pricing-hero .wp-block-heading {
		font-size: clamp(2.75rem, 13vw, 3.5rem) !important;
		max-width: 10ch;
	}

	.altilo-pricing-hero .has-text-color {
		max-width: 30ch;
	}

	.altilo-pricing-hero-card,
	.altilo-pricing-card {
		padding: var(--wp--preset--spacing--50) !important;
	}
}

.altilo-compare-table {
	background: var(--wp--preset--color--paper);
	border: 0;
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--xs);
	overflow-x: auto;
}

.altilo-compare-table table {
	border-collapse: collapse;
	margin: 0;
	min-width: 720px;
	width: 100%;
}

.altilo-compare-table th,
.altilo-compare-table td {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--mist);
	padding: var(--wp--preset--spacing--50);
	text-align: center;
	vertical-align: middle;
}

.altilo-compare-table thead th {
	background: var(--wp--preset--color--paper-soft);
	border-top: 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.altilo-compare-table th:first-child,
.altilo-compare-table td:first-child {
	color: var(--wp--preset--color--ink);
	font-weight: 650;
	text-align: left;
}

.altilo-compare-table td:nth-child(2),
.altilo-compare-table th:nth-child(2) {
	color: var(--wp--preset--color--accent);
	font-weight: 700;
}

.altilo-compare-table td:nth-child(3) {
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--small);
}

.altilo-cta-panel {
	background: var(--wp--custom--surface--dark);
	border-radius: 22px;
	box-sizing: border-box;
	color: var(--wp--custom--surface--on-dark);
}

.altilo-cta-panel .wp-block-heading {
	color: var(--wp--custom--surface--on-dark);
}

.altilo-cta-panel p,
.altilo-cta-panel li {
	color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 76%, transparent) !important;
}

.altilo-cta-badge {
	align-items: center;
	background: color-mix(in srgb, var(--wp--custom--surface--on-dark) 6%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--custom--surface--on-dark) 14%, transparent);
	border-radius: 9999px;
	color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 84%, transparent) !important;
	display: flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 650;
	gap: 0.5em;
	margin-left: auto;
	margin-right: auto;
	padding: 0.5em 0.95em;
	width: fit-content;
}

.altilo-cta-badge::before {
	background: var(--wp--preset--color--spark);
	border-radius: 9999px;
	content: "";
	display: block;
	flex: 0 0 auto;
	height: 0.5em;
	width: 0.5em;
}

.altilo-cta-copy {
	color: color-mix(in srgb, var(--wp--preset--color--paper) 72%, transparent);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	margin-left: auto;
	margin-right: auto;
	max-width: 48ch;
}

.altilo-form-placeholder,
.altilo-newsletter-placeholder,
.altilo-footer-signup {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-sizing: border-box;
}

.altilo-form-placeholder {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	justify-items: stretch;
	max-width: none !important;
	width: 100%;
}

.altilo-form-placeholder > * {
	box-sizing: border-box;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100%;
}

.altilo-form-line,
.altilo-form-area,
.altilo-newsletter-input {
	background: var(--wp--preset--color--paper-soft);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 10px;
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
	padding: var(--wp--preset--spacing--30);
}

.altilo-form-area {
	min-height: 128px;
}

.altilo-form-note {
	color: var(--wp--preset--color--stone);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	margin: 0;
}

/* =========================================================
   Form plugin compatibility
   ========================================================= */
:where(
	.wpcf7,
	.wpforms-container,
	.gform_wrapper,
	.frm_forms,
	.fluentform,
	.nf-form-cont,
	.wp-block-jetpack-contact-form,
	.contact-form
) {
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
}

:where(
	.wpcf7 form,
	.wpforms-form,
	.gform_wrapper form,
	.frm_forms form,
	.fluentform form,
	.nf-form-cont form,
	.wp-block-jetpack-contact-form,
	.contact-form
) {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

:where(
	.wpcf7 p,
	.wpforms-field,
	.gfield,
	.frm_form_field,
	.ff-el-group,
	.nf-field-container,
	.wp-block-jetpack-contact-form .grunion-field-wrap,
	.contact-form > div
) {
	margin: 0;
}

:where(
	.wpcf7 label,
	.wpforms-field-label,
	.gfield_label,
	.frm_primary_label,
	.ff-el-input--label label,
	.nf-field-label label,
	.wp-block-jetpack-contact-form label,
	.contact-form label
) {
	color: var(--wp--preset--color--ink);
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 650;
	line-height: 1.35;
	margin-bottom: var(--wp--preset--spacing--20);
}

:where(
	.wpcf7 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.wpcf7 textarea,
	.wpcf7 select,
	.wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.wpforms-container textarea,
	.wpforms-container select,
	.gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.gform_wrapper textarea,
	.gform_wrapper select,
	.frm_forms input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.frm_forms textarea,
	.frm_forms select,
	.fluentform input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.fluentform textarea,
	.fluentform select,
	.nf-form-cont input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.nf-form-cont textarea,
	.nf-form-cont select,
	.wp-block-jetpack-contact-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.wp-block-jetpack-contact-form textarea,
	.wp-block-jetpack-contact-form select,
	.contact-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
	.contact-form textarea,
	.contact-form select
) {
	appearance: none;
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.45;
	min-height: 52px;
	padding: 0.85rem 1rem;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
	width: 100%;
}

:where(
	.wpcf7 textarea,
	.wpforms-container textarea,
	.gform_wrapper textarea,
	.frm_forms textarea,
	.fluentform textarea,
	.nf-form-cont textarea,
	.wp-block-jetpack-contact-form textarea,
	.contact-form textarea
) {
	min-height: 144px;
	resize: vertical;
}

:where(
	.wpcf7 input:not([type="submit"]):not([type="button"]):focus,
	.wpcf7 textarea:focus,
	.wpcf7 select:focus,
	.wpforms-container input:not([type="submit"]):not([type="button"]):focus,
	.wpforms-container textarea:focus,
	.wpforms-container select:focus,
	.gform_wrapper input:not([type="submit"]):not([type="button"]):focus,
	.gform_wrapper textarea:focus,
	.gform_wrapper select:focus,
	.frm_forms input:not([type="submit"]):not([type="button"]):focus,
	.frm_forms textarea:focus,
	.frm_forms select:focus,
	.fluentform input:not([type="submit"]):not([type="button"]):focus,
	.fluentform textarea:focus,
	.fluentform select:focus,
	.nf-form-cont input:not([type="submit"]):not([type="button"]):focus,
	.nf-form-cont textarea:focus,
	.nf-form-cont select:focus,
	.wp-block-jetpack-contact-form input:not([type="submit"]):not([type="button"]):focus,
	.wp-block-jetpack-contact-form textarea:focus,
	.wp-block-jetpack-contact-form select:focus,
	.contact-form input:not([type="submit"]):not([type="button"]):focus,
	.contact-form textarea:focus,
	.contact-form select:focus
) {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--accent) 16%, transparent);
	outline: 0;
}

:where(
	.wpcf7 input[type="checkbox"],
	.wpcf7 input[type="radio"],
	.wpforms-container input[type="checkbox"],
	.wpforms-container input[type="radio"],
	.gform_wrapper input[type="checkbox"],
	.gform_wrapper input[type="radio"],
	.frm_forms input[type="checkbox"],
	.frm_forms input[type="radio"],
	.fluentform input[type="checkbox"],
	.fluentform input[type="radio"],
	.nf-form-cont input[type="checkbox"],
	.nf-form-cont input[type="radio"],
	.wp-block-jetpack-contact-form input[type="checkbox"],
	.wp-block-jetpack-contact-form input[type="radio"],
	.contact-form input[type="checkbox"],
	.contact-form input[type="radio"]
) {
	accent-color: var(--wp--preset--color--accent);
	margin-inline-end: 0.45em;
}

:where(
	.wpcf7-list-item,
	.wpforms-field-label-inline,
	.gchoice,
	.frm_checkbox label,
	.frm_radio label,
	.ff-el-form-check-label,
	.nf-field-element li,
	.wp-block-jetpack-contact-form .grunion-checkbox-multiple-label
) {
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
}

:where(
	.wpcf7-not-valid,
	.wpforms-error input,
	.wpforms-error textarea,
	.wpforms-error select,
	.gfield_error input,
	.gfield_error textarea,
	.gfield_error select,
	.frm_blank_field input,
	.frm_blank_field textarea,
	.frm_blank_field select,
	.ff-el-is-error input,
	.ff-el-is-error textarea,
	.ff-el-is-error select,
	.nf-error input,
	.nf-error textarea,
	.nf-error select
) {
	border-color: var(--wp--preset--color--danger) !important;
}

:where(
	.wpcf7-not-valid-tip,
	.wpforms-error,
	.gfield_validation_message,
	.frm_error,
	.ff-el-is-error .text-danger,
	.nf-error-msg,
	.contact-form .form-error
) {
	color: var(--wp--preset--color--danger);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 650;
	margin-top: var(--wp--preset--spacing--20);
}

:where(
	.wpcf7-response-output,
	.wpforms-confirmation-container-full,
	.gform_confirmation_message,
	.frm_message,
	.ff-message-success,
	.nf-response-msg
) {
	background: var(--wp--preset--color--accent-soft);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 24%, transparent);
	border-radius: 12px;
	color: var(--wp--preset--color--ink);
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: var(--wp--preset--spacing--40);
}

:where(
	.wpcf7 form.sent .wpcf7-response-output,
	.wpforms-confirmation-container-full,
	.gform_confirmation_message,
	.frm_message,
	.ff-message-success,
	.nf-response-msg
) {
	background: var(--wp--preset--color--success-soft);
	border-color: color-mix(in srgb, var(--wp--preset--color--success) 28%, transparent);
}

:where(
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.failed .wpcf7-response-output,
	.gform_validation_errors,
	.wpforms-error-container,
	.frm_error_style,
	.ff-errors-in-stack,
	.nf-error-msg
) {
	background: var(--wp--preset--color--danger-soft);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 28%, transparent);
	border-radius: 12px;
	color: var(--wp--preset--color--ink);
	padding: var(--wp--preset--spacing--40);
}

:where(.wpcf7-spinner) {
	background-color: var(--wp--preset--color--accent);
	margin: 0 0 0 var(--wp--preset--spacing--30);
	vertical-align: middle;
}

:where(
	.wpcf7 input[type="submit"]:disabled,
	.wpforms-submit:disabled,
	.gform_button:disabled,
	.frm_button_submit:disabled,
	.ff-btn-submit:disabled,
	.nf-form-cont input[type="submit"]:disabled,
	.wp-block-jetpack-contact-form button[type="submit"]:disabled,
	.contact-form button[type="submit"]:disabled,
	.contact-form input[type="submit"]:disabled
) {
	cursor: not-allowed;
	opacity: 0.62;
	transform: none;
}

.altilo-newsletter-placeholder {
	margin-left: auto;
	margin-right: auto;
	max-width: 560px;
}

.altilo-newsletter-input {
	flex: 1 1 220px;
}

.altilo-footer-signup {
	max-width: 380px;
}

.altilo-footer-signup p {
	margin: 0;
}

.altilo-footer-social.wp-block-social-links {
	font-size: 1.125rem;
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--40);
	width: fit-content;
}

.altilo-footer-social.wp-block-social-links .wp-social-link {
	color: var(--wp--preset--color--accent);
}

.altilo-footer-social.wp-block-social-links .wp-social-link a {
	min-height: 1.45em;
	min-width: 1.45em;
}

.altilo-footer-social.wp-block-social-links .wp-social-link:hover {
	color: var(--wp--preset--color--accent-deep);
	transform: translateY(-1px);
}

.altilo-footer-bottom a,
footer a[rel~="author"] {
	color: var(--wp--preset--color--accent);
	font-weight: 650;
	text-decoration: none;
}

.altilo-footer-bottom a:hover,
.altilo-footer-bottom a:focus-visible,
footer a[rel~="author"]:hover,
footer a[rel~="author"]:focus-visible {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

/* =========================================================
   Block style variations
   ========================================================= */
.wp-block-quote.is-style-editorial {
	border-left: 1px solid var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.35;
	padding-left: var(--wp--preset--spacing--50);
}

.wp-block-quote.is-style-editorial cite {
	color: var(--wp--preset--color--stone);
	display: block;
	font-family: var(--wp--preset--font-family--system);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	margin-top: var(--wp--preset--spacing--30);
}

.wp-block-quote.is-style-pullquote-xl {
	border: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.15;
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
	padding: 0;
	text-align: center;
}

.wp-block-quote.is-style-pullquote-xl p {
	margin: 0;
}

.wp-block-quote.is-style-pullquote-xl cite {
	color: var(--wp--preset--color--accent);
	display: block;
	font-family: var(--wp--preset--font-family--system);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.4;
	margin-top: var(--wp--preset--spacing--50);
}

.wp-block-quote.is-style-pullquote-xl cite .altilo-testimonial-name,
.wp-block-quote.is-style-pullquote-xl cite .altilo-testimonial-role {
	display: block;
}

.wp-block-quote.is-style-pullquote-xl cite .altilo-testimonial-role {
	color: var(--wp--preset--color--stone);
	font-weight: 500;
	margin-top: var(--wp--preset--spacing--20);
}

.wp-block-quote.is-style-sidenote {
	background: var(--wp--preset--color--paper-soft);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 12px;
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	padding: var(--wp--preset--spacing--50);
}

.wp-block-image.is-style-framed-hairline img {
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--sm);
	box-sizing: border-box;
}

.wp-block-image.is-style-offset {
	position: relative;
}

.wp-block-image.is-style-offset::before {
	background: var(--wp--preset--color--accent-soft);
	border-radius: 14px;
	content: "";
	inset: var(--wp--preset--spacing--30) calc(var(--wp--preset--spacing--30) * -1) calc(var(--wp--preset--spacing--30) * -1) var(--wp--preset--spacing--30);
	position: absolute;
	z-index: -1;
}

.wp-block-image.is-style-offset img {
	border-radius: 14px;
	position: relative;
	z-index: 1;
}

.wp-block-image.is-style-duotone-grayscale img {
	filter: grayscale(1) contrast(1.05);
}

.wp-block-separator.is-style-hairline-wide {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--mist);
	height: 1px;
	opacity: 1;
	width: 100%;
}

.wp-block-separator.is-style-asterism {
	background: transparent !important;
	border: 0;
	color: var(--wp--preset--color--stone);
	height: auto;
	letter-spacing: 0.5em;
	text-align: center;
}

.wp-block-separator.is-style-asterism::before {
	content: "* * *";
}

.wp-block-separator.is-style-numbered {
	align-items: center;
	background: transparent !important;
	border: 0;
	color: var(--wp--preset--color--stone);
	display: flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-variant-numeric: tabular-nums;
	gap: var(--wp--preset--spacing--30);
	height: auto;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	width: 100%;
}

.wp-block-separator.is-style-numbered::before {
	content: "Section";
}

.wp-block-separator.is-style-numbered::after {
	background: var(--wp--preset--color--mist);
	content: "";
	flex: 1;
	height: 1px;
}

.altilo-card-featured:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 28%, transparent) !important;
}

.altilo-card-featured .altilo-pricing-tier {
	color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 68%, transparent) !important;
}

.altilo-card-featured .altilo-pricing-price {
	color: var(--wp--custom--surface--on-dark) !important;
}

.altilo-card-featured .altilo-pricing-meta {
	color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 64%, transparent) !important;
}

.altilo-card-featured .altilo-pricing-desc {
	color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 80%, transparent) !important;
}

.altilo-card-featured .altilo-checks li {
	color: color-mix(in srgb, var(--wp--custom--surface--on-dark) 86%, transparent) !important;
}

.altilo-card-featured .altilo-checks li::before {
	border-color: var(--wp--preset--color--accent);
}

/* =========================================================
   Pricing: checks
   ========================================================= */
.altilo-checks {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.altilo-checks li {
	position: relative;
	padding-left: 1.75em;
	margin: 0 0 14px 0;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-soft);
}

.altilo-checks li:last-child {
	margin-bottom: 0;
}

.altilo-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 13px;
	height: 7px;
	border-left: 2px solid var(--wp--preset--color--accent);
	border-bottom: 2px solid var(--wp--preset--color--accent);
	transform: rotate(-45deg);
}

/* Inverted (dark bg pricing card) */
.has-ink-background-color .altilo-checks li {
	color: color-mix(in srgb, var(--wp--preset--color--paper) 82%, transparent);
}
.has-ink-background-color .altilo-checks li::before {
	border-color: var(--wp--preset--color--paper);
}

/* =========================================================
   FAQ: details
   ========================================================= */
.wp-block-details {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--mist);
	border-radius: 16px;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
	box-shadow: var(--wp--preset--shadow--xs);
	transition: box-shadow 180ms ease-out, border-color 180ms ease-out;
}

.wp-block-details + .wp-block-details {
	margin-top: var(--wp--preset--spacing--30);
}

.wp-block-details:hover {
	border-color: var(--wp--preset--color--accent-soft);
	box-shadow: var(--wp--preset--shadow--sm);
}

.wp-block-details[open] {
	border-color: var(--wp--preset--color--accent);
	box-shadow: var(--wp--preset--shadow--md);
}

.wp-block-details > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
	list-style: none;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	letter-spacing: 0;
	min-height: 32px;
}

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

.wp-block-details > summary::after {
	align-items: center;
	background-color: var(--wp--preset--color--accent-soft);
	background-image:
		linear-gradient(currentColor, currentColor),
		linear-gradient(currentColor, currentColor);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 10px 2px, 2px 10px;
	border-radius: 50%;
	color: var(--wp--preset--color--accent);
	content: "";
	display: flex;
	flex: 0 0 28px;
	height: 28px;
	justify-content: center;
	transition: transform 250ms ease-out, background 200ms ease-out;
	width: 28px;
}

.wp-block-details[open] > summary::after {
	background-color: var(--wp--preset--color--accent);
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 10px 2px;
	color: var(--wp--preset--color--paper);
}

.wp-block-details > *:not(summary) {
	margin-top: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--stone);
}

/* =========================================================
   Form fields
   ========================================================= */
input[type="email"],
input[type="text"],
input[type="search"],
textarea {
	border-radius: 12px;
	border: 1px solid var(--wp--preset--color--mist);
	padding: 0.85rem 1rem;
	font-family: var(--wp--preset--font-family--system);
	font-size: var(--wp--preset--font-size--medium);
	background: var(--wp--preset--color--paper);
	transition: border-color 150ms ease-out, box-shadow 150ms ease-out;
}

input[type="email"]:focus,
input[type="text"]:focus,
input[type="search"]:focus,
textarea:focus {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--accent) 16%, transparent);
	outline: 0;
}

/* =========================================================
   Unit-test content safety
   ========================================================= */
pre,
.wp-block-code {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: auto;
	white-space: pre;
}

.wp-block-post-title,
.entry-content {
	overflow-wrap: anywhere;
}

/* =========================================================
   Selection
   ========================================================= */
::selection {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--paper);
}

/* =========================================================
   Reduced motion
   ========================================================= */
@media (max-width: 781px) {
	body,
	.wp-site-blocks {
		max-width: 100%;
		overflow-x: hidden;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-wrap: wrap !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
		min-width: 0;
	}

	.wp-block-columns,
	.wp-block-column,
	.wp-block-cover,
	.wp-block-cover__inner-container,
	.wp-block-group,
	.wp-block-media-text,
	.wp-block-query,
	.wp-block-post-template {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.wp-block-heading,
	.wp-block-post-title,
	.altilo-display-sample,
	.altilo-stat-number,
	.altilo-pricing-price {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.altilo-card,
	.altilo-card *,
	.altilo-contact-hero * {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.altilo-contact-route .altilo-card-title {
		font-size: var(--wp--preset--font-size--large) !important;
		line-height: 1.2 !important;
		word-break: break-word;
	}

	.altilo-contact-hero .wp-block-heading {
		font-size: var(--wp--preset--font-size--4-xl) !important;
	}

	.wp-block-post-content.alignfull {
		box-sizing: border-box;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.altilo-contact-hero,
	.altilo-pattern-surface,
	.wp-block-group.alignfull {
		box-sizing: border-box;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		overflow-wrap: anywhere;
		padding-left: var(--wp--preset--spacing--50) !important;
		padding-right: var(--wp--preset--spacing--50) !important;
		width: 100% !important;
	}

	.altilo-card,
	.altilo-contact-form-card {
		padding: var(--wp--preset--spacing--50) !important;
	}

	.altilo-form-placeholder {
		padding: var(--wp--preset--spacing--40) !important;
	}

	.altilo-map-placeholder {
		min-height: 260px;
	}
}

@media (max-width: 480px) {
	.altilo-contact-hero,
	.altilo-pattern-surface,
	.wp-block-group.alignfull {
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
	}

	.altilo-contact-hero .wp-block-heading {
		font-size: var(--wp--preset--font-size--xx-large) !important;
	}

	.altilo-blog-hero .wp-block-heading,
	.altilo-single-hero .wp-block-post-title,
	.altilo-services-hero .wp-block-heading,
	.altilo-portfolio-hero .wp-block-heading,
	.altilo-error-page .wp-block-heading {
		font-size: clamp(2.25rem, 11vw, 3rem) !important;
		line-height: 1.05 !important;
	}

	.altilo-hero-modern .wp-block-heading,
	.altilo-pricing-hero .wp-block-heading,
	.altilo-about-hero .wp-block-heading,
	.altilo-contact-hero .wp-block-heading {
		font-size: var(--wp--preset--font-size--3-xl) !important;
		line-height: 1.05 !important;
	}

	.altilo-hero-modern .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.altilo-brand-lockup {
		gap: 0.5rem;
	}

	.altilo-brand-lockup .altilo-emblem {
		height: 1.75rem;
		width: 1.75rem;
	}

	.altilo-hero-modern .wp-block-button,
	.altilo-hero-modern .wp-block-button__link {
		width: 100%;
	}

	.altilo-hero-copy,
	.altilo-feature-chip,
	.altilo-hero-showcase {
		max-width: 100%;
		width: 100%;
	}

	.altilo-card,
	.altilo-contact-form-card {
		padding: var(--wp--preset--spacing--40) !important;
	}
}

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

@view-transition { navigation: auto; }
