/**
 * Advixy Service Experience
 * One visual language for service pages; the homepage is deliberately excluded.
 */

body.advixy-service-system {
	--as-navy-950: #071d38;
	--as-navy-900: #0c294e;
	--as-navy-800: #14345f;
	--as-navy-700: #1d4779;
	--as-gold: #f4c247;
	--as-gold-soft: #fff6dc;
	--as-ink: #14243a;
	--as-muted: #52647b;
	--as-line: #dce5ef;
	--as-sky: #eef4fa;
	--as-canvas: #f7f8fa;
	--as-white: #fff;
	--as-radius-xl: 40px;
	--as-radius-lg: 28px;
	--as-radius-md: 20px;
	--as-shadow-xl: 0 34px 88px rgba(7, 29, 56, 0.18);
	--as-shadow-lg: 0 22px 60px rgba(20, 52, 95, 0.11);
	--as-shadow-md: 0 12px 34px rgba(20, 52, 95, 0.08);
}

body.advixy-service-system .wpr-post-content {
	background:
		radial-gradient(circle at 8% 18%, rgba(244, 194, 71, 0.075), transparent 24rem),
		linear-gradient(180deg, #fff 0, var(--as-canvas) 27rem, #fff 100%);
	color: var(--as-ink);
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	overflow: clip;
}

body.advixy-service-system .wpr-post-content :where(h1, h2, h3, p, li, summary) {
	text-wrap: pretty;
}

body.advixy-service-system .wpr-post-content :where(p, li) {
	font-size: 17px;
	line-height: 1.72;
}

body.advixy-service-system .wpr-post-content a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

body.advixy-service-system .wpr-post-content a:focus-visible,
body.advixy-service-system .wpr-post-content summary:focus-visible {
	outline: 3px solid var(--as-gold);
	outline-offset: 4px;
}

/* Fix the real Gutenberg wrapper introduced around the Tenerife hub. */
body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container {
	display: flow-root;
}

body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .wp-block-group {
	width: min(1180px, calc(100% - 48px));
	box-sizing: border-box;
	margin-inline: auto !important;
}

body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .wp-block-group:not(.advixy-hub-hero) {
	margin-block: clamp(34px, 5vw, 68px) !important;
	padding: clamp(38px, 5vw, 68px) !important;
	border-radius: var(--as-radius-lg);
}

body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .advixy-hub-intro {
	width: min(980px, calc(100% - 48px));
	padding-inline: clamp(30px, 7vw, 92px) !important;
}

body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .advixy-hub-location {
	padding-right: clamp(38px, 28vw, 360px) !important;
}

/* Keep the Tenerife hub hero in the same compact framed-image system as fiscal and employment. */
body.advixy-tenerife-hub .advixy-hub-hero {
	grid-template-columns: minmax(0, 0.94fr) minmax(390px, 1.06fr) !important;
	align-items: center;
	padding: 68px 64px !important;
}

body.advixy-tenerife-hub .advixy-hub-hero h1 {
	max-width: 660px;
	font-size: clamp(42px, 4.1vw, 61px) !important;
}

body.advixy-tenerife-hub .advixy-hub-hero-figure {
	align-self: center;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 28px 68px rgba(3, 18, 35, 0.38);
	transform: rotate(1deg);
}

body.advixy-tenerife-hub .advixy-hub-hero-figure::after {
	display: none;
}

body.advixy-tenerife-hub .advixy-hub-hero-photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	object-position: center;
	border-radius: 20px;
}

/* Shared treatment for Gutenberg service sections. */
body.advixy-service-system :is(
	.advixy-service-section,
	.advixy-related-resources,
	.advixy-spainwide-proof,
	.advixy-fiscal-sources
) {
	box-sizing: border-box;
	border-radius: var(--as-radius-lg) !important;
	box-shadow: var(--as-shadow-md);
}

body.advixy-service-system :is(.advixy-service-section, .advixy-related-resources) {
	margin-block: 28px !important;
	padding: clamp(34px, 4vw, 54px) !important;
}

body.advixy-service-system :is(.advixy-service-section, .advixy-related-resources) h2 {
	color: var(--as-navy-950) !important;
	font-size: clamp(29px, 3vw, 43px) !important;
	font-weight: 620 !important;
	letter-spacing: -0.035em;
	line-height: 1.12 !important;
}

body.advixy-service-system :is(.advixy-service-section, .advixy-related-resources) h3 {
	color: var(--as-navy-800) !important;
	font-size: clamp(20px, 2vw, 25px) !important;
	line-height: 1.25 !important;
}

body.advixy-service-system :is(.advixy-service-section, .advixy-related-resources) ul.wp-block-list {
	display: grid;
	gap: 10px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

body.advixy-service-system :is(.advixy-service-section, .advixy-related-resources) ul.wp-block-list > li {
	position: relative;
	margin: 0;
	padding: 14px 18px 14px 50px;
	border: 1px solid var(--as-line);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.82);
}

body.advixy-service-system :is(.advixy-service-section, .advixy-related-resources) ul.wp-block-list > li::before {
	position: absolute;
	top: 16px;
	left: 16px;
	display: grid;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 50%;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 12px;
	font-weight: 800;
	content: "✓";
}

body.advixy-service-system .advixy-service-cta ol.wp-block-list {
	display: grid;
	gap: 12px;
	padding: 0;
	list-style: none;
	counter-reset: advixy-steps;
}

body.advixy-service-system .advixy-service-cta ol.wp-block-list > li {
	position: relative;
	min-height: 36px;
	margin: 0;
	padding-left: 50px;
	counter-increment: advixy-steps;
}

body.advixy-service-system .advixy-service-cta ol.wp-block-list > li::before {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 50%;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 13px;
	font-weight: 800;
	content: counter(advixy-steps, decimal-leading-zero);
}

/* Existing fiscal and employment FAQs become a continuous, readable component. */
body.advixy-service-system .advixy-service-section-8 h3 {
	margin: 22px 0 0 !important;
	padding: 20px 24px 8px;
	border: 1px solid var(--as-line);
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	background: var(--as-white);
}

body.advixy-service-system .advixy-service-section-8 h3 + p {
	margin: 0 !important;
	padding: 0 24px 22px;
	border: 1px solid var(--as-line);
	border-top: 0;
	border-radius: 0 0 18px 18px;
	background: var(--as-white);
	color: var(--as-muted) !important;
}

/* Employment pages mirror the fiscal reference instead of falling back to a generic list. */
body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-1 {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(238, 244, 250, 0.94)),
		var(--as-sky) !important;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-1 ul.wp-block-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	counter-reset: advixy-service-card;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-1 ul.wp-block-list > li {
	padding: 22px 22px 22px 64px;
	counter-increment: advixy-service-card;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-1 ul.wp-block-list > li::before {
	top: 21px;
	left: 18px;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--as-navy-900);
	color: #fff;
	font-size: 11px;
	content: counter(advixy-service-card, decimal-leading-zero);
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-2 ul.wp-block-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-2 ul.wp-block-list > li {
	padding: 22px 22px 22px 52px;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-2 ul.wp-block-list > li::before {
	top: 28px;
	left: 22px;
	width: 10px;
	height: 10px;
	border: 4px solid rgba(244, 194, 71, 0.32);
	background: var(--as-gold);
	content: "";
}

body.advixy-service-system .advixy-shared-content-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

body.advixy-service-system .advixy-shared-content-card {
	overflow: hidden;
	border: 1px solid rgba(20, 52, 95, 0.11);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 9px 26px rgba(20, 52, 95, 0.06);
}

body.advixy-service-system .advixy-shared-content-card h3 {
	margin: 0 !important;
	padding: 23px 24px 9px;
	color: var(--as-navy-900) !important;
	font-size: 20px !important;
	line-height: 1.4 !important;
}

body.advixy-service-system .advixy-shared-content-card :is(p, ul, ol) {
	margin: 0 !important;
	padding: 0 24px 23px;
	color: var(--as-muted) !important;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-3 {
	background:
		radial-gradient(circle at 96% 8%, rgba(244, 194, 71, 0.22), transparent 30%),
		linear-gradient(135deg, var(--as-navy-950), var(--as-navy-800)) !important;
	box-shadow: var(--as-shadow-xl);
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-3 .advixy-sequenced-heading {
	color: #fff !important;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-3 .advixy-sequenced-heading::before {
	background: #fff;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-3 .advixy-shared-content-card {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.08);
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-3 .advixy-shared-content-card :is(h3, p, li) {
	color: #fff !important;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-3 .advixy-shared-content-card p {
	color: rgba(255, 255, 255, 0.78) !important;
}

body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-4 {
	background:
		linear-gradient(140deg, rgba(255, 255, 255, 0.52), transparent 50%),
		var(--as-gold-soft) !important;
}

/* Shared progressive section language for every Gutenberg service landing. */
body.advixy-service-system .advixy-sequenced-heading {
	position: relative;
	max-width: 920px;
	margin: 0 0 28px !important;
	color: var(--as-navy-950) !important;
	font-size: clamp(29px, 3vw, 43px) !important;
	font-weight: 630 !important;
	letter-spacing: -0.038em;
	line-height: 1.13 !important;
}

body.advixy-service-system .advixy-sequenced-heading::before {
	display: inline-grid;
	width: 42px;
	height: 42px;
	margin: 0 14px 6px 0;
	place-items: center;
	border-radius: 13px;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
	vertical-align: middle;
	box-shadow: 0 8px 20px rgba(244, 194, 71, 0.24);
	content: attr(data-advixy-index);
}

/* Online-notary pages use the same hero, surfaces and content rhythm. */
body.advixy-service-system .advixy-notary-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-top: 42px !important;
	padding: clamp(52px, 6vw, 76px) clamp(40px, 5vw, 68px) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: var(--as-radius-xl) !important;
	background:
		radial-gradient(circle at 88% 13%, rgba(244, 194, 71, 0.25), transparent 27%),
		radial-gradient(circle at 4% 100%, rgba(83, 139, 190, 0.24), transparent 31%),
		linear-gradient(135deg, var(--as-navy-950), var(--as-navy-800) 58%, #1b4779) !important;
	box-shadow: var(--as-shadow-xl);
}

body.advixy-service-system .advixy-notary-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	opacity: 0.2;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 46px 46px;
	content: "";
}

body.advixy-service-system .advixy-notary-hero .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.92fr);
	gap: clamp(38px, 5vw, 72px);
	align-items: center !important;
	margin: 0 !important;
}

body.advixy-service-system .advixy-notary-hero h1 {
	margin: 0 0 22px !important;
	color: #fff !important;
	font-size: clamp(42px, 4.2vw, 62px) !important;
	font-weight: 620 !important;
	letter-spacing: -0.048em;
	line-height: 1.04 !important;
}

body.advixy-service-system .advixy-notary-hero p {
	color: rgba(255, 255, 255, 0.86) !important;
	font-size: clamp(16px, 1.35vw, 19px) !important;
}

body.advixy-service-system .advixy-notary-hero figure {
	overflow: hidden;
	margin: 0 !important;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 28px 68px rgba(3, 18, 35, 0.38);
	transform: rotate(1deg);
}

body.advixy-service-system .advixy-notary-hero img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	border-radius: 20px !important;
}

body.advixy-service-system :is(
	.advixy-notary-acts,
	.advixy-notary-process,
	.advixy-notary-guidance,
	.advixy-notary-resources,
	.advixy-notary-faq
) {
	box-sizing: border-box;
	margin-block: 30px !important;
	padding: clamp(38px, 5vw, 58px) !important;
	border: 0 !important;
	border-radius: var(--as-radius-lg) !important;
	box-shadow: var(--as-shadow-md);
}

body.advixy-service-system :is(.advixy-notary-acts, .advixy-notary-resources, .advixy-notary-faq) {
	background: var(--as-sky) !important;
}

body.advixy-service-system .advixy-notary-guidance {
	background: var(--as-gold-soft) !important;
}

body.advixy-service-system .advixy-notary-process {
	background:
		radial-gradient(circle at 92% 8%, rgba(244, 194, 71, 0.22), transparent 24rem),
		linear-gradient(135deg, var(--as-navy-950), var(--as-navy-800)) !important;
	box-shadow: var(--as-shadow-xl);
}

body.advixy-service-system .advixy-notary-process .advixy-sequenced-heading {
	color: #fff !important;
}

body.advixy-service-system :is(.advixy-notary-acts, .advixy-notary-guidance) ul.wp-block-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

body.advixy-service-system :is(.advixy-notary-acts, .advixy-notary-guidance) ul.wp-block-list > li {
	position: relative;
	margin: 0;
	padding: 17px 18px 17px 52px;
	border: 1px solid var(--as-line);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.88);
}

body.advixy-service-system :is(.advixy-notary-acts, .advixy-notary-guidance) ul.wp-block-list > li::before {
	position: absolute;
	top: 18px;
	left: 17px;
	display: grid;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 50%;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 12px;
	font-weight: 800;
	content: "✓";
}

/* Shared question-mark cards for employment and notary FAQs. */
body.advixy-service-system .advixy-shared-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

body.advixy-service-system .advixy-shared-faq-card {
	position: relative;
	overflow: hidden;
	padding: 0;
	border: 1px solid rgba(20, 52, 95, 0.11);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 9px 26px rgba(20, 52, 95, 0.07);
}

body.advixy-service-system .advixy-shared-faq-card::before {
	position: absolute;
	top: 23px;
	left: 22px;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 9px;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 13px;
	font-weight: 800;
	content: "?";
}

body.advixy-service-system .advixy-shared-faq-card h3 {
	margin: 0 !important;
	padding: 23px 24px 9px 62px;
	color: var(--as-navy-900) !important;
	font-size: 19px !important;
	line-height: 1.42 !important;
}

body.advixy-service-system .advixy-shared-faq-card :is(p, ul, ol) {
	margin: 0 !important;
	padding: 0 24px 23px 62px;
}

body.advixy-service-system .advixy-shared-faq-card p {
	color: var(--as-muted) !important;
}

body.advixy-service-system .advixy-shared-faq-card:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

body.advixy-service-system .advixy-cluster-section.advixy-shared-faq {
	background: var(--as-sky);
}

body.advixy-service-system .advixy-cluster-section.advixy-shared-faq .advixy-faq-list {
	margin-top: 30px;
}

/* Older Elementor services: same rhythm and surfaces, without rewriting copy. */
body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(1),
body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(2) {
	width: min(1140px, calc(100% - 48px)) !important;
	max-width: 1140px !important;
	box-sizing: border-box;
	margin-inline: auto !important;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background:
		radial-gradient(circle at 86% 8%, rgba(244, 194, 71, 0.22), transparent 23rem),
		linear-gradient(136deg, var(--as-navy-950), var(--as-navy-800)) !important;
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(1) {
	margin-top: 42px !important;
	padding: clamp(48px, 6vw, 76px) clamp(38px, 6vw, 68px) 30px !important;
	border-bottom: 0;
	border-radius: var(--as-radius-xl) var(--as-radius-xl) 0 0;
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(2) {
	margin-bottom: 38px !important;
	padding: 20px clamp(38px, 6vw, 68px) clamp(48px, 6vw, 72px) !important;
	border-top: 0;
	border-radius: 0 0 var(--as-radius-xl) var(--as-radius-xl);
	box-shadow: var(--as-shadow-xl);
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(-n + 2) :is(.elementor-heading-title, p, strong) {
	color: #fff !important;
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(1) .elementor-heading-title {
	font-size: clamp(42px, 4.2vw, 62px) !important;
	font-weight: 620 !important;
	letter-spacing: -0.048em;
	line-height: 1.05 !important;
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(2) img {
	border: 12px solid rgba(255, 255, 255, 0.92);
	border-radius: 26px;
	box-shadow: 0 28px 64px rgba(3, 18, 35, 0.34);
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(n + 3) {
	position: relative;
	width: min(1140px, calc(100% - 48px)) !important;
	max-width: 1140px !important;
	box-sizing: border-box;
	margin: 26px auto !important;
	padding: clamp(34px, 4vw, 52px) !important;
	border: 1px solid var(--as-line);
	border-radius: var(--as-radius-lg);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--as-shadow-md);
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor .elementor-widget-icon-box {
	height: 100%;
	box-sizing: border-box;
	padding: 26px 22px;
	border: 1px solid var(--as-line);
	border-radius: var(--as-radius-md);
	background: var(--as-white);
	box-shadow: 0 10px 26px rgba(20, 52, 95, 0.07);
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor .elementor-widget-wpr-button a {
	min-height: 50px;
	padding: 13px 24px !important;
	border-radius: 999px !important;
	background: var(--as-gold) !important;
	color: var(--as-navy-950) !important;
	font-weight: 650 !important;
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .advixy-legacy-content-section::before {
	position: absolute;
	z-index: 2;
	top: 24px;
	left: 24px;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 13px;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 8px 20px rgba(244, 194, 71, 0.24);
	content: attr(data-advixy-index);
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .advixy-legacy-content-section {
	padding-top: 82px !important;
}

body.advixy-legacy-elementor-service .wpr-post-content > .elementor .advixy-legacy-section-heading {
	color: var(--as-navy-950) !important;
	font-size: clamp(29px, 3vw, 43px) !important;
	font-weight: 630 !important;
	letter-spacing: -0.035em;
	line-height: 1.13 !important;
}

body.advixy-zec-service .wpr-post-content > .elementor .elementor-icon-box-description {
	color: var(--as-muted) !important;
}

body.advixy-zec-service .wpr-post-content > .elementor .elementor-icon-box-title {
	color: var(--as-navy-900) !important;
}

/* New opportunity-cluster pages. */
body.advixy-cluster-landing .wpr-post-content {
	max-width: none !important;
}

.advixy-cluster-page {
	width: min(1180px, calc(100% - 48px));
	margin: 42px auto 70px;
}

.advixy-cluster-page * {
	box-sizing: border-box;
}

.advixy-cluster-page :where(section, aside) {
	margin-block: clamp(28px, 4.5vw, 58px);
}

.advixy-cluster-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(410px, 1.05fr);
	gap: clamp(34px, 5vw, 70px);
	align-items: center;
	overflow: hidden;
	min-height: 650px;
	padding: clamp(48px, 6vw, 78px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--as-radius-xl);
	background:
		radial-gradient(circle at 8% 100%, rgba(65, 122, 176, 0.24), transparent 34%),
		linear-gradient(136deg, var(--as-navy-950), var(--as-navy-800));
	box-shadow: var(--as-shadow-xl);
}

.advixy-cluster-hero::after {
	position: absolute;
	z-index: -1;
	right: -190px;
	bottom: -210px;
	width: 340px;
	aspect-ratio: 1;
	border: 1px solid rgba(244, 194, 71, 0.35);
	border-radius: 50%;
	box-shadow: 0 0 0 54px rgba(244, 194, 71, 0.045), 0 0 0 108px rgba(244, 194, 71, 0.025);
	content: "";
}

.advixy-cluster-hero-copy {
	position: relative;
	z-index: 2;
}

.advixy-kicker {
	margin: 0 0 14px !important;
	color: var(--as-gold) !important;
	font-size: 12px !important;
	font-weight: 750;
	letter-spacing: 0.14em;
	line-height: 1.45 !important;
	text-transform: uppercase;
}

.advixy-cluster-hero h1 {
	margin: 0 0 24px;
	color: #fff !important;
	font-size: clamp(42px, 4.5vw, 66px) !important;
	font-weight: 620;
	letter-spacing: -0.05em;
	line-height: 1.03;
}

.advixy-cluster-lead {
	max-width: 680px;
	margin: 0;
	color: rgba(255, 255, 255, 0.84) !important;
	font-size: clamp(17px, 1.5vw, 20px) !important;
	line-height: 1.7 !important;
}

.advixy-cluster-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.advixy-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 13px 24px;
	border: 1px solid var(--as-gold);
	border-radius: 999px;
	background: var(--as-gold);
	color: var(--as-navy-950) !important;
	font-size: 15px;
	font-weight: 680;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.advixy-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(3, 18, 35, 0.26);
}

.advixy-button.is-secondary {
	border-color: rgba(255, 255, 255, 0.56);
	background: rgba(255, 255, 255, 0.06);
	color: #fff !important;
	backdrop-filter: blur(8px);
}

.advixy-cluster-hero figure {
	position: relative;
	z-index: 1;
	overflow: hidden;
	min-height: 520px;
	margin: 0;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 28px 70px rgba(3, 18, 35, 0.38);
	transform: rotate(0.8deg);
}

.advixy-cluster-hero img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 496px;
	object-fit: cover;
	border-radius: 20px;
}

.advixy-cluster-section {
	padding: clamp(38px, 5vw, 66px);
	border: 1px solid var(--as-line);
	border-radius: var(--as-radius-lg);
	background: rgba(255, 255, 255, 0.95);
	box-shadow: var(--as-shadow-md);
}

.advixy-cluster-section.is-sky {
	background:
		radial-gradient(circle at 95% 0, rgba(244, 194, 71, 0.11), transparent 21rem),
		var(--as-sky);
}

.advixy-cluster-section.is-gold {
	border-color: rgba(197, 140, 0, 0.22);
	background: var(--as-gold-soft);
}

.advixy-cluster-section.is-dark {
	border-color: rgba(255, 255, 255, 0.12);
	background: linear-gradient(135deg, var(--as-navy-950), var(--as-navy-800));
	box-shadow: var(--as-shadow-xl);
}

.advixy-cluster-section h2 {
	max-width: 900px;
	margin: 0 0 22px;
	color: var(--as-navy-950) !important;
	font-size: clamp(31px, 3.4vw, 48px) !important;
	font-weight: 630;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.advixy-cluster-section h2.advixy-sequenced-heading {
	margin-bottom: 28px !important;
}

.advixy-cluster-section h3 {
	color: var(--as-navy-800) !important;
	font-size: clamp(20px, 2vw, 25px) !important;
	line-height: 1.28;
}

.advixy-cluster-section > p {
	max-width: 880px;
	color: var(--as-muted);
}

.advixy-cluster-section.is-dark :where(h2, h3, p, li, a) {
	color: #fff !important;
}

body.advixy-service-system .advixy-cluster-section.is-dark .advixy-sequenced-heading {
	color: #fff !important;
}

.advixy-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 30px;
}

.advixy-card-grid.is-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.advixy-info-card {
	height: 100%;
	padding: 28px 26px;
	border: 1px solid var(--as-line);
	border-radius: var(--as-radius-md);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 28px rgba(20, 52, 95, 0.07);
}

.advixy-info-card h3 {
	margin: 0 0 12px;
}

.advixy-info-card p:last-child {
	margin-bottom: 0;
}

.advixy-checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.advixy-checks li {
	position: relative;
	margin: 0;
	padding: 17px 18px 17px 52px;
	border: 1px solid var(--as-line);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.86);
}

.advixy-checks li::before {
	position: absolute;
	top: 17px;
	left: 17px;
	display: grid;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 50%;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 12px;
	font-weight: 800;
	content: "✓";
}

.advixy-step-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: cluster-step;
}

.advixy-step-list li {
	position: relative;
	min-height: 190px;
	margin: 0;
	padding: 62px 22px 24px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--as-radius-md);
	background: rgba(255, 255, 255, 0.06);
	counter-increment: cluster-step;
}

.advixy-step-list li::before {
	position: absolute;
	top: 20px;
	left: 20px;
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--as-gold);
	color: var(--as-navy-950);
	font-size: 12px;
	font-weight: 800;
	content: counter(cluster-step, decimal-leading-zero);
}

.advixy-comparison {
	width: 100%;
	margin-top: 28px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--as-line);
	border-radius: 18px;
	background: #fff;
}

.advixy-comparison th,
.advixy-comparison td {
	padding: 17px 18px;
	border-right: 1px solid var(--as-line);
	border-bottom: 1px solid var(--as-line);
	text-align: left;
	vertical-align: top;
}

.advixy-comparison th {
	background: var(--as-navy-950);
	color: #fff;
	font-size: 15px;
}

.advixy-comparison tr:last-child td {
	border-bottom: 0;
}

.advixy-comparison :is(th, td):last-child {
	border-right: 0;
}

.advixy-faq-list {
	display: grid;
	gap: 12px;
	margin-top: 30px;
}

.advixy-faq-list details {
	overflow: hidden;
	border: 1px solid var(--as-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 52, 95, 0.06);
}

.advixy-faq-list summary {
	position: relative;
	min-height: 58px;
	padding: 19px 58px 19px 22px;
	color: var(--as-navy-900);
	font-size: 17px;
	font-weight: 680;
	line-height: 1.45;
	cursor: pointer;
	list-style: none;
}

.advixy-faq-list summary::-webkit-details-marker {
	display: none;
}

.advixy-faq-list summary::after {
	position: absolute;
	top: 17px;
	right: 18px;
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--as-gold-soft);
	color: var(--as-navy-900);
	content: "+";
}

.advixy-faq-list details[open] summary::after {
	content: "−";
}

.advixy-faq-list details p {
	margin: 0;
	padding: 0 22px 22px;
	color: var(--as-muted);
}

.advixy-source-note {
	padding: 24px 28px;
	border: 1px solid rgba(197, 140, 0, 0.28);
	border-left: 5px solid var(--as-gold);
	border-radius: var(--as-radius-md);
	background: #fffaf0;
	box-shadow: var(--as-shadow-md);
}

.advixy-source-note h2 {
	margin: 0 0 10px;
	color: var(--as-navy-900) !important;
	font-size: 23px !important;
}

.advixy-source-note p,
.advixy-source-note li {
	font-size: 14px !important;
	line-height: 1.65 !important;
}

.advixy-cluster-cta {
	position: relative;
	overflow: hidden;
	padding: clamp(42px, 5vw, 68px);
	border-radius: var(--as-radius-lg);
	background: linear-gradient(135deg, var(--as-navy-950), var(--as-navy-700));
	box-shadow: var(--as-shadow-xl);
}

.advixy-cluster-cta :where(h2, p) {
	max-width: 790px;
	color: #fff !important;
}

.advixy-cluster-cta h2 {
	margin: 0 0 18px;
	font-size: clamp(31px, 3.4vw, 48px) !important;
	line-height: 1.1;
}

.advixy-city-note {
	margin-top: 22px !important;
	color: rgba(255, 255, 255, 0.64) !important;
	font-size: 13px !important;
}

@media (max-width: 980px) {
	.advixy-cluster-hero {
		grid-template-columns: 1fr;
	}

	body.advixy-service-system .advixy-notary-hero .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.advixy-cluster-hero figure {
		min-height: 420px;
	}

	.advixy-cluster-hero img {
		min-height: 396px;
	}

	.advixy-card-grid,
	.advixy-step-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(-n + 2) {
		flex-wrap: wrap;
	}
}

@media (max-width: 680px) {
	body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .wp-block-group,
	body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .advixy-hub-intro,
	body.advixy-legacy-elementor-service .wpr-post-content > .elementor > .e-con:nth-child(n),
	.advixy-cluster-page {
		width: min(100% - 32px, 1180px) !important;
	}

	body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .wp-block-group:not(.advixy-hub-hero) {
		padding: 28px 22px !important;
		border-radius: 22px;
	}

	body.advixy-tenerife-hub .advixy-hub-page > .wp-block-group__inner-container > .advixy-hub-location {
		padding-right: 22px !important;
		padding-bottom: 170px !important;
	}

	.advixy-cluster-page {
		margin-top: 18px;
	}

	.advixy-cluster-hero,
	.advixy-cluster-section,
	.advixy-cluster-cta,
	body.advixy-service-system .advixy-notary-hero,
	body.advixy-service-system :is(
		.advixy-notary-acts,
		.advixy-notary-process,
		.advixy-notary-guidance,
		.advixy-notary-resources,
		.advixy-notary-faq
	) {
		padding: 30px 22px;
		border-radius: 24px;
	}

	body.advixy-service-system .advixy-notary-hero {
		margin-top: 20px !important;
	}

	body.advixy-service-system .advixy-notary-hero h1 {
		font-size: clamp(37px, 11vw, 49px) !important;
	}

	body.advixy-service-system :is(.advixy-notary-acts, .advixy-notary-guidance) ul.wp-block-list,
	body.advixy-service-system .advixy-shared-content-grid,
	body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-1 ul.wp-block-list,
	body.advixy-service-system:not(.advixy-fiscal-landing) .advixy-service-section-2 ul.wp-block-list,
	body.advixy-service-system .advixy-shared-faq-grid {
		grid-template-columns: 1fr;
	}

	body.advixy-service-system .advixy-shared-faq-card {
		padding: 0;
	}

	body.advixy-service-system .advixy-shared-faq-card::before {
		left: 18px;
	}

	body.advixy-service-system .advixy-shared-faq-card h3 {
		padding-right: 20px;
		padding-left: 58px;
	}

	body.advixy-service-system .advixy-shared-faq-card :is(p, ul, ol) {
		padding-right: 20px;
		padding-left: 58px;
	}

	.advixy-cluster-hero {
		min-height: 0;
	}

	.advixy-cluster-hero h1 {
		font-size: clamp(37px, 12vw, 49px) !important;
	}

	.advixy-cluster-hero figure,
	.advixy-cluster-hero img {
		min-height: 320px;
	}

	.advixy-card-grid,
	.advixy-card-grid.is-two,
	.advixy-checks,
	.advixy-step-list {
		grid-template-columns: 1fr;
	}

	.advixy-step-list li {
		min-height: 0;
	}

	.advixy-comparison {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.advixy-cluster-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.advixy-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.advixy-button {
		transition: none;
	}
}
