/**
 * Azurio — WordPress / Elementor compatibility overrides.
 * Forces Elementor Free + Hello Elementor to match the HTML template.
 */

/* Brand fonts: Header = Sora · Subtext = Inter */
:root {
	--_font-default: "Sora", sans-serif !important;
	--_font-heading: "Sora", sans-serif !important;
	--_font-accent: "Inter", sans-serif !important;
}

/* Force Azurio HTML root scale (beat Hello Elementor reset) */
html {
	font-size: 62.5% !important;
}

body.azurio-theme,
body.mxd-app {
	font-family: "Inter", var(--_font-accent, sans-serif) !important;
	font-size: var(--_size, 1.6rem) !important;
	line-height: 1.6 !important;
	background-color: var(--base, #eeeae8) !important;
	color: var(--t-medium, #575960) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: clip;
}

/* Headers / display titles → Sora */
body.azurio-theme h1,
body.azurio-theme h2,
body.azurio-theme h3,
body.azurio-theme h4,
body.azurio-theme h5,
body.azurio-theme h6,
body.azurio-theme .main-menu__caption,
body.azurio-theme .mxd-section-title__title,
body.azurio-theme .mxd-section-title__title h2,
body.azurio-theme .mxd-section-manifest__text,
body.azurio-theme .mxd-section-manifest__text .manifest,
body.azurio-theme .mxd-divider__caption h2,
body.azurio-theme .mxd-promo__caption h2,
body.azurio-theme .mxd-dv-sticky-cap__text,
body.azurio-theme .fullwidth-text__content,
body.azurio-theme .hero-headline,
body.azurio-theme .mxd-hero .headline,
body.azurio-theme .menu-logo__text,
body.azurio-theme .t-xlarge,
body.azurio-theme .permanent,
body.azurio-theme .opposite {
	font-family: "Sora", var(--_font-heading, sans-serif) !important;
}

/* Subtext / body copy / labels → Inter */
body.azurio-theme p,
body.azurio-theme li,
body.azurio-theme label,
body.azurio-theme input,
body.azurio-theme textarea,
body.azurio-theme select,
body.azurio-theme button,
body.azurio-theme .tag,
body.azurio-theme .t-small,
body.azurio-theme .t-caption,
body.azurio-theme .mxd-menu__caption,
body.azurio-theme .menu-data__text,
body.azurio-theme .menu-contact,
body.azurio-theme .main-menu__number {
	font-family: "Inter", var(--_font-accent, sans-serif) !important;
}

/* Kill Elementor kit spacing that breaks seamless Azurio sections */
body.azurio-theme .elementor-element {
	--widgets-spacing: 0px 0px !important;
	--widgets-spacing-row: 0px !important;
	--widgets-spacing-column: 0px !important;
}

body.azurio-theme .elementor-widget:not(:last-child) {
	--kit-widget-spacing: 0px !important;
	margin-block-end: 0 !important;
}

body.azurio-theme .e-con,
body.azurio-theme .e-con > .e-con-inner,
body.azurio-theme .elementor-section,
body.azurio-theme .elementor-container {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	--padding-block-start: 0px !important;
	--padding-block-end: 0px !important;
	--padding-inline-start: 0px !important;
	--padding-inline-end: 0px !important;
	--gap: 0px !important;
	--row-gap: 0px !important;
	--column-gap: 0px !important;
	--container-max-width: 100% !important;
	--content-width: 100% !important;
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.azurio-theme .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Force Elementor widget chrome visible (overrides any only-child display:none).
 */
body.azurio-theme .elementor-widget-container,
body.azurio-theme .elementor-widget-container:only-child,
body.azurio-theme .e-con-inner,
body.azurio-theme .e-con-inner:only-child,
body.azurio-theme .elementor-element > :only-child,
body.azurio-theme .mxd-page-content > :only-child,
body.azurio-theme .mxd-section:only-child,
body.azurio-theme .mxd-block:only-child {
	display: block !important;
}

body.azurio-theme .e-con.e-flex > .e-con-inner,
body.azurio-theme .e-con-inner:only-child {
	display: flex !important;
}

body.azurio-theme .elementor > .elementor-element,
body.azurio-theme [data-elementor-type="wp-page"] > .elementor-element,
body.azurio-theme [data-elementor-type="wp-post"] > .elementor-element {
	width: 100% !important;
	max-width: none !important;
}

/* Elementor clears background-image on unloaded containers. Keep a real picture visible. */
body.azurio-theme .mxd-divider__image > img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	display: block;
}

/* Real Azurio demo backgrounds (from branding studio) */
body.azurio-theme .mxd-hero-01 {
	background-image: url(../img/hero/1920x1200_h01.webp) !important;
	background-size: cover;
	background-position: center;
}

/* Hero background video (replaces the photo) */
body.azurio-theme .mxd-hero-01.has-bg-video {
	background-image: none !important;
	background-color: #000;
}
body.azurio-theme .mxd-hero-01__bg-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}
/* No native play/pause UI on hero videos (iOS start-playback button etc.) */
.mxd-hero-01 video::-webkit-media-controls,
.mxd-hero-01 video::-webkit-media-controls-panel,
.mxd-hero-01 video::-webkit-media-controls-play-button,
.mxd-hero-01 video::-webkit-media-controls-start-playback-button,
.mxd-hero-01 video::-webkit-media-controls-overlay-play-button,
.mxd-hero-01 video::-webkit-media-controls-enclosure {
	display: none !important;
	-webkit-appearance: none;
	opacity: 0 !important;
}
body.azurio-theme .mxd-hero-01 video {
	pointer-events: none;
}
body.azurio-theme .mxd-hero-01 .mxd-hero-01__wrap {
	position: relative;
	z-index: 1;
}
body.azurio-theme .divider-image-1:not([style*="background-image"]) {
	background-image: url(../img/dividers/1920x1080_dv01.webp) !important;
	background-size: cover;
	background-position: center;
}
body.azurio-theme .divider-image-12:not([style*="background-image"]) {
	background-image: url(../img/dividers/1920x1200_dv12.webp) !important;
	background-size: cover;
	background-position: center;
}
body.azurio-theme .divider-image-13:not([style*="background-image"]) {
	background-image: url(../img/dividers/1920x1200_dv13.webp) !important;
	background-size: cover;
	background-position: center;
}
body.azurio-theme .divider-image-6:not([style*="background-image"]) {
	background-image: url(../img/dividers/1920x1200_dv06.webp) !important;
	background-size: cover;
	background-position: center;
}
body.azurio-theme .divider-image-9:not([style*="background-image"]) {
	background-image: url(../img/dividers/1920x1200_dv09.webp) !important;
	background-size: cover;
	background-position: center;
}
body.azurio-theme .mxd-page-content.inner-page-content:has(.elementor-widget-azurio-services-headline) {
	padding-top: 0;
}
body.azurio-theme .elementor-widget-azurio-services-headline .inner-headline.fullheight {
	padding-top: 8.4rem;
}
body.azurio-theme .elementor-widget-azurio-services-headline,
body.azurio-theme .elementor-widget-azurio-services-headline > .elementor-widget-container,
body.azurio-theme .elementor-widget-azurio-services-stack,
body.azurio-theme .elementor-widget-azurio-services-stack > .elementor-widget-container,
body.azurio-theme .e-con:has(.mxd-stack-services),
body.azurio-theme .e-con:has(.pinned-section) {
	overflow: visible;
}

/* Elementor widget chrome should not break Azurio layouts */
.elementor-widget-azurio-hero-branding > .elementor-widget-container,
.elementor-widget-azurio-stack-cards > .elementor-widget-container,
.elementor-widget-azurio-sticky-caption > .elementor-widget-container,
.elementor-widget-azurio-sticky-process > .elementor-widget-container,
.elementor-widget-azurio-parallax-divider > .elementor-widget-container,
.elementor-widget-azurio-cta-marquee > .elementor-widget-container,
.elementor-widget-azurio-manifest > .elementor-widget-container,
.elementor-widget-azurio-split-description > .elementor-widget-container,
.elementor-widget-azurio-section-title > .elementor-widget-container,
.elementor-widget-azurio-blog-grid > .elementor-widget-container,
.elementor-widget-azurio-header > .elementor-widget-container,
.elementor-widget-azurio-footer > .elementor-widget-container,
.elementor-widget-azurio-fullscreen-menu > .elementor-widget-container,
.elementor-widget-azurio-contact-form > .elementor-widget-container,
.elementor-widget-azurio-contact-hero > .elementor-widget-container,
.elementor-widget-azurio-socials-list > .elementor-widget-container,
.elementor-widget-azurio-office-info > .elementor-widget-container,
.elementor-widget-azurio-inner-headline > .elementor-widget-container,
.elementor-widget-azurio-process-points > .elementor-widget-container,
.elementor-widget-azurio-double-marquee > .elementor-widget-container,
.elementor-widget-azurio-awards > .elementor-widget-container,
.elementor-widget-azurio-team-grid > .elementor-widget-container,
.elementor-widget-azurio-block-split-stats > .elementor-widget-container,
.elementor-widget-azurio-page-loader > .elementor-widget-container,
.elementor-widget-azurio-blog-article > .elementor-widget-container,
.elementor-widget-azurio-work-details > .elementor-widget-container,
.elementor-widget-azurio-service-details > .elementor-widget-container,
.elementor-widget-azurio-blog-standard > .elementor-widget-container,
.elementor-widget-azurio-blog-headline > .elementor-widget-container,
.elementor-widget-azurio-services-headline > .elementor-widget-container,
.elementor-widget-azurio-services-stack > .elementor-widget-container,
.elementor-widget-azurio-error-404 > .elementor-widget-container {
	margin: 0;
	padding: 0;
}

/*
 * WordPress post content inside article (no mxd-* classes on paragraphs).
 * Mirrors .mxd-article__normal from main.css for generic WP markup.
 */
.mxd-article__content > p,
.mxd-article__content .mxd-article__block > p:not([class]),
.mxd-article__content > *:not(.mxd-article__block) > p {
	font: normal 500 1.8rem/1.6 var(--_font-accent, "Inter", sans-serif);
	color: var(--t-medium, #575960);
}
.mxd-article__content > p a,
.mxd-article__content > *:not(.mxd-article__block) > p a {
	font-weight: 700;
	color: var(--t-bright, #121212);
	text-decoration: underline;
}
@media only screen and (min-width: 768px) {
	.mxd-article__content > p,
	.mxd-article__content .mxd-article__block > p:not([class]),
	.mxd-article__content > *:not(.mxd-article__block) > p {
		font-size: 2rem;
	}
}
/* Give bare WP content vertical rhythm similar to article blocks */
.mxd-article__content:not(:has(.mxd-article__block)) > * + * {
	margin-top: 1.6rem;
}

/* Full-bleed Azurio sections inside Elementor chrome */
body.azurio-theme .mxd-section,
body.azurio-theme .mxd-hero-section,
body.azurio-theme .mxd-stack-cards,
body.azurio-theme .mxd-showcase-clip,
body.azurio-theme .mxd-dv-sticky-cap,
body.azurio-theme .mxd-dv-sticky-img,
body.azurio-theme .mxd-divider,
body.azurio-theme .mxd-promo,
body.azurio-theme .mxd-footer,
body.azurio-theme .mxd-header {
	max-width: none !important;
}

/* Reset margins only — never override Azurio typography (main.css uses rem scale) */
body.azurio-theme .mxd-page-content h1,
body.azurio-theme .mxd-page-content h2,
body.azurio-theme .mxd-page-content h3,
body.azurio-theme .mxd-page-content h4,
body.azurio-theme .mxd-page-content p,
body.azurio-theme .elementor-widget h1,
body.azurio-theme .elementor-widget h2,
body.azurio-theme .elementor-widget h3,
body.azurio-theme .elementor-widget h4,
body.azurio-theme .elementor-widget p {
	margin-block-start: 0;
	margin-block-end: 0;
}

/*
 * Match HTML template display typography (Elementor kit must not shrink these).
 * Values from assets/css/main.css
 */
body.azurio-theme .mxd-dv-sticky-cap__text {
	font: normal 700 3.6rem/1.2 var(--_font-heading, "Sora", sans-serif) !important;
	letter-spacing: -0.1rem;
	white-space: normal;
	word-spacing: normal;
}
body.azurio-theme .mxd-divider__caption h2.permanent,
body.azurio-theme .mxd-promo__caption h2.opposite {
	font: normal 600 4.2rem/1.1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.16rem;
}
body.azurio-theme .mxd-section-title__title h2 {
	font: normal 600 4.8rem/1.1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.18rem;
}
body.azurio-theme .mxd-section-manifest__text .manifest {
	font: normal 600 3.6rem/1.2 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.1rem;
}
/* Clip-path project showcase (digital agency). Sticky needs a visible overflow ancestor. */
body.azurio-theme .mxd-page-content:has(.mxd-showcase-clip),
body.azurio-theme .elementor-widget-azurio-stack-cards,
body.azurio-theme .elementor-widget-azurio-stack-cards > .elementor-widget-container,
body.azurio-theme .e-con:has(.mxd-showcase-clip) {
	overflow: visible;
}
body.azurio-theme .mxd-showcase-clip__trigger {
	height: 100vh;
	height: 100svh;
}
body.azurio-theme .elementor .mxd-showcase-clip__bg,
body.azurio-theme .mxd-showcase-clip__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	display: block;
}
/* Background image links to its project. The link fills the trigger so clicking the
   background (around the foreground card) opens the project; the darken overlay must
   not swallow those clicks. */
body.azurio-theme .mxd-showcase-clip__bg-link {
	position: absolute;
	inset: 0;
	display: block;
}
body.azurio-theme .mxd-showcase-clip__cover {
	pointer-events: none;
}
body.azurio-theme .mxd-showcase-clip__image {
	overflow: hidden;
	line-height: 0;
	background: transparent;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
/* Elementor sets img { height:auto; max-width:100% }, which letterboxes this square. */
body.azurio-theme .elementor .mxd-showcase-clip__image > img,
body.azurio-theme .mxd-showcase-clip__image > img,
body.azurio-theme .elementor .mxd-showcase-clip__image > video,
body.azurio-theme .mxd-showcase-clip__image > video {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #111 !important;
	transform: scale(1.04);
	pointer-events: none;
}
@media only screen and (max-width: 991px) {
	body.azurio-theme .mxd-showcase-clip__image {
		position: relative;
		width: 100%;
		max-width: 40ch;
		height: auto;
		aspect-ratio: 1 / 1;
	}
}
@media only screen and (min-width: 992px) {
	body.azurio-theme .mxd-showcase-clip__image {
		width: 40rem;
		height: 40rem;
	}
}
@media only screen and (min-width: 1600px) {
	body.azurio-theme .mxd-showcase-clip__image {
		width: 46rem;
		height: 46rem;
	}
}

/* Keep insight thumbnails the same size so titles line up. */
body.azurio-theme .mxd-blog-grid .mxd-blog-item__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
body.azurio-theme .elementor .mxd-blog-grid .mxd-blog-item__media img,
body.azurio-theme .mxd-blog-grid .mxd-blog-item__media img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
}

/* About split sits above the pinned headline and hides anything still behind it */
body.azurio-theme .elementor-widget-azurio-split-description,
body.azurio-theme .elementor-widget-azurio-split-description > .elementor-widget-container,
body.azurio-theme .elementor-widget-azurio-split-description .mxd-section,
body.azurio-theme .mxd-split-descr,
body.azurio-theme .mxd-split-descr__wrap {
	position: relative;
	z-index: 5;
	background-color: var(--base, #eeeae8);
}
body.azurio-theme .fullwidth-text__content {
	font: normal 700 6rem/1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.24rem;
}
body.azurio-theme .mxd-hero-01 .fullwidth-text__wrap:has(.loading-logo) {
	overflow: hidden;
}
body.azurio-theme .mxd-hero-01 .fullwidth-text__content .loading-logo {
	display: block;
	flex: 0 0 auto;
	width: var(--azurio-hero-logo-width, 32%);
	max-width: 100%;
	line-height: 0;
}
body.azurio-theme .mxd-hero-01 .fullwidth-text__content .loading-logo img {
	display: block;
	width: 100%;
	height: auto !important;
	max-width: 100% !important;
	max-height: none !important;
	object-fit: contain;
	object-position: left center;
	filter: none;
}
body.azurio-theme p.t-large {
	font: normal 500 2.4rem/1.4 var(--_font-accent, "Inter", sans-serif);
}
body.azurio-theme p.t-bold {
	font: normal 700 2.4rem/1.4 var(--_font-heading, "Sora", sans-serif);
}

/* Contact hero — light two-column layout, same base colour as the other pages */
body.azurio-theme .elementor-widget-azurio-contact-hero,
body.azurio-theme .elementor-widget-azurio-contact-hero .mxd-section {
	background: var(--base);
}

.contact-hero .inner-headline__content.has-medium-title {
	padding-top: 9rem;
}
.contact-hero .inner-headline__breadcrumbs,
.contact-hero .breadcrumbs__nav,
.contact-hero .breadcrumbs__nav a,
.contact-hero .breadcrumbs__nav .current-item {
	color: var(--t-medium) !important;
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.contact-hero .inner-headline__title h1.medium {
	max-width: none;
	color: var(--t-bright);
	font-weight: 700;
	font-size: clamp(4.4rem, 5.4vw, 7.4rem) !important;
	line-height: 0.9;
	letter-spacing: -0.045em;
}
.contact-hero__left {
	display: flex;
	flex-direction: column;
	gap: 2.8rem;
	padding-right: 0;
}
.contact-hero__captions p.t-bold.t-large {
	margin: 0;
	color: var(--t-bright);
	font: 700 2.15rem/1.35 var(--_font-heading, "Sora", sans-serif);
}
.contact-hero__captions p.t-bold.t-large + p.t-bold.t-large {
	margin-top: 0.2rem;
	color: var(--t-medium);
	font-weight: 500;
}
@media only screen and (min-width: 1200px) {
	.contact-hero .inner-headline__content.has-medium-title {
		padding-top: 11rem;
	}
	.contact-hero__left {
		padding-right: 4.5rem;
	}
	.contact-hero__right {
		padding-left: 1.5rem;
		padding-top: 0.4rem;
	}
	.contact-hero .inner-headline__caption.split-caption-title {
		padding-top: 0;
	}
}

.contact-hero__reel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.2rem;
	max-width: none;
	width: 100%;
}
.contact-hero__reel-frame {
	position: relative;
	display: block;
	width: 100%;
	border: 1px solid rgba(18, 18, 18, 0.12);
	border-radius: 1.4rem;
	overflow: hidden;
	background: #0c0c0c;
	text-decoration: none;
	color: inherit;
}
.contact-hero__reel-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
	width: 100%;
	aspect-ratio: 2.35 / 1;
}
.contact-hero__reel-thumb {
	position: relative;
	overflow: hidden;
	min-height: 0;
}
.contact-hero__reel-thumb img,
.contact-hero__reel-poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.contact-hero__reel-frame > .contact-hero__reel-video {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: var(--reel-ratio, 4 / 3);
	object-fit: cover;
	background: #0c0c0c;
	border: 0;
	cursor: pointer;
}
.contact-hero__reel-frame > iframe.contact-hero__reel-video {
	aspect-ratio: 16 / 9;
}
.contact-hero__reel-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.2rem;
}

/* Reel player controls (YouTube-style) */
.contact-hero__reel-controls {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 4rem 1.6rem 1.4rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
	color: #fff;
	opacity: 0;
	transition: opacity 0.25s ease;
}
.contact-hero__reel-frame:hover .contact-hero__reel-controls,
.contact-hero__reel-frame:focus-within .contact-hero__reel-controls,
.contact-hero__reel.is-paused .contact-hero__reel-controls,
.contact-hero__reel.is-muted .contact-hero__reel-controls,
.contact-hero__reel.is-scrubbing .contact-hero__reel-controls {
	opacity: 1;
}
@media (hover: none) {
	.contact-hero__reel-controls {
		opacity: 1;
	}
}
.contact-hero__reel-controls .reel-ctrl {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	flex-shrink: 0;
	height: 3.6rem;
	min-width: 3.6rem;
	padding: 0 0.6rem;
	border: 0;
	border-radius: 0.6rem;
	background: transparent;
	color: #fff;
	cursor: pointer;
	justify-content: center;
}
.contact-hero__reel-controls .reel-ctrl:hover,
.contact-hero__reel-controls .reel-ctrl:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	outline: none;
}
.contact-hero__reel-controls .reel-ctrl svg {
	width: 2.2rem;
	height: 2.2rem;
	fill: currentColor;
}
.contact-hero__reel-controls .reel-ctrl--sound {
	padding: 0 1.2rem 0 0.9rem;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.reel-ctrl__label {
	font: normal 600 1.1rem/1 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}
.contact-hero__reel .i-play,
.contact-hero__reel.is-paused .i-pause,
.contact-hero__reel .i-sound,
.contact-hero__reel.is-muted .i-muted {
	display: block;
}
.contact-hero__reel .i-pause,
.contact-hero__reel.is-paused .i-play,
.contact-hero__reel .i-muted,
.contact-hero__reel.is-muted .i-sound {
	display: none;
}
.contact-hero__reel:not(.is-paused) .i-pause,
.contact-hero__reel:not(.is-muted) .i-sound {
	display: block;
}
.contact-hero__reel:not(.is-paused) .i-play,
.contact-hero__reel:not(.is-muted) .i-muted {
	display: none;
}
.reel-ctrl__track {
	position: relative;
	flex: 1 1 auto;
	height: 2.4rem;
	cursor: pointer;
	touch-action: none;
	outline: none;
}
.reel-ctrl__track::before,
.reel-ctrl__buffer,
.reel-ctrl__progress {
	position: absolute;
	left: 0;
	top: 50%;
	height: 0.4rem;
	border-radius: 0.4rem;
	transform: translateY(-50%);
	transition: height 0.15s ease;
}
.reel-ctrl__track::before {
	content: "";
	right: 0;
	background: rgba(255, 255, 255, 0.25);
}
.reel-ctrl__buffer {
	width: 0;
	background: rgba(255, 255, 255, 0.4);
}
.reel-ctrl__progress {
	width: 0;
	background: #fff;
}
.reel-ctrl__thumb {
	position: absolute;
	right: -0.7rem;
	top: 50%;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%) scale(0);
	transition: transform 0.15s ease;
}
.reel-ctrl__track:hover::before,
.reel-ctrl__track:hover .reel-ctrl__buffer,
.reel-ctrl__track:hover .reel-ctrl__progress,
.contact-hero__reel.is-scrubbing .reel-ctrl__track::before,
.contact-hero__reel.is-scrubbing .reel-ctrl__buffer,
.contact-hero__reel.is-scrubbing .reel-ctrl__progress {
	height: 0.6rem;
}
.reel-ctrl__track:hover .reel-ctrl__thumb,
.reel-ctrl__track:focus-visible .reel-ctrl__thumb,
.contact-hero__reel.is-scrubbing .reel-ctrl__thumb {
	transform: translateY(-50%) scale(1);
}
.reel-ctrl__time {
	flex-shrink: 0;
	font: normal 500 1.2rem/1 var(--_font-accent, "Inter", sans-serif);
	font-variant-numeric: tabular-nums;
	color: rgba(255, 255, 255, 0.85);
}
@media only screen and (max-width: 575px) {
	.reel-ctrl__label,
	.reel-ctrl__time {
		display: none;
	}
	.contact-hero__reel-controls .reel-ctrl--sound {
		padding: 0 0.6rem;
	}
}

/* Desktop: title | caption on top, reel | form below, top edges aligned */
@media only screen and (min-width: 1200px) {
	.contact-hero .row:has(> .contact-hero__left) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"title cap"
			"reel form"
			"info .";
		column-gap: 7.5rem;
		row-gap: 0;
		padding-left: 3rem;
		padding-right: 3rem;
		align-items: start;
	}
	.contact-hero .row:has(> .contact-hero__left) > .contact-hero__left,
	.contact-hero .row:has(> .contact-hero__left) > .contact-hero__right,
	.contact-hero .row:has(> .contact-hero__left) .contact-hero__reel {
		display: contents;
	}
	.contact-hero__left > .inner-headline__title {
		grid-area: title;
		margin-bottom: 4rem;
	}
	.contact-hero__right > .inner-headline__caption {
		grid-area: cap;
		margin-bottom: 4rem !important;
	}
	.contact-hero__reel-frame {
		grid-area: reel;
	}
	.contact-hero__reel-info {
		grid-area: info;
		padding-top: 1.6rem;
	}
	/* Form fills the same height as the video: first field on its top edge, button on its bottom edge. */
	.contact-hero__right > .mxd-block.contact {
		grid-area: form;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	.contact-hero__right > .mxd-block.contact .mxd-form-container,
	.contact-hero__right > .mxd-block.contact .wpcf7,
	.contact-hero__right > .mxd-block.contact form {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
	}
	.contact-hero__right > .mxd-block.contact form > .container-fluid {
		flex: 1 1 auto;
		display: flex;
	}
	.contact-hero__right > .mxd-block.contact form > .container-fluid > .row {
		flex: 1 1 auto;
		align-content: space-between;
	}
	.contact-hero__right > .mxd-block.contact form .mxd-grid-item:last-child {
		margin-bottom: 0;
	}
}
.contact-hero__reel-frame > button.contact-hero__reel-play {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.contact-hero__reel.has-video.is-playing .contact-hero__reel-play {
	opacity: 0;
	pointer-events: none;
}
button.contact-hero__reel-cta {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: left;
}
.contact-hero__reel-thumb.is-center .contact-hero__reel-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
.contact-hero__reel-play svg {
	width: 4.4rem;
	height: 4.4rem;
	filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.35));
}
.contact-hero__reel-cta {
	margin: 0.6rem 0 0;
	font: normal 600 1.3rem/1.3 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--t-bright);
	text-decoration: none;
}
a.contact-hero__reel-cta:hover {
	opacity: 0.7;
}
.contact-hero__reel-meta {
	margin: 0;
	font: normal 500 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--t-medium);
}
.contact-hero__reel-status {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0.2rem 0 0;
	font: normal 500 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--t-medium);
}
.contact-hero__reel-dot {
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: #e23b3b;
	flex-shrink: 0;
}

.contact-hero form input,
.contact-hero form textarea,
.contact-hero form select {
	border-bottom-color: rgba(18, 18, 18, 0.22);
	color: var(--t-bright);
	font-size: 1.6rem;
	height: 4.6rem;
	line-height: 4.6rem;
}
.contact-hero form textarea {
	height: 4.6rem;
	min-height: 0;
	padding-top: 0;
}
.contact-hero form input::placeholder,
.contact-hero form textarea::placeholder {
	color: var(--t-muted);
}
.contact-hero form input:focus,
.contact-hero form textarea:focus,
.contact-hero form select:focus {
	border-bottom-color: rgba(18, 18, 18, 0.7);
}
.contact-hero form select {
	width: 100%;
	appearance: none;
	background-color: transparent;
	background-image: linear-gradient(45deg, transparent 50%, rgba(18, 18, 18, 0.7) 50%), linear-gradient(135deg, rgba(18, 18, 18, 0.7) 50%, transparent 50%);
	background-position: calc(100% - 1.4rem) 50%, calc(100% - 0.9rem) 50%;
	background-size: 0.5rem 0.5rem, 0.5rem 0.5rem;
	background-repeat: no-repeat;
	padding-right: 2.4rem;
	/* 1.6rem top/bottom padding inside a 4.6rem box clipped the label; centre it with line-height instead. */
	padding-top: 0;
	padding-bottom: 0;
}
.contact-hero form select:has(option[value=""]:checked) {
	color: var(--t-muted);
}
.contact-hero form select option {
	color: #111;
}
.contact-hero .inner-headline__caption.pre-form {
	margin-bottom: 3.2rem;
}

@media only screen and (max-width: 767px) {
	.contact-hero__reel-play svg {
		width: 3.6rem;
		height: 3.6rem;
	}
	.contact-hero .inner-headline__title h1.medium {
		font-size: 4.2rem !important;
	}
}

/* Insights headline: keep the title and post count inside the column. */
body.azurio-theme .elementor-widget-azurio-blog-headline h1.large {
	white-space: normal !important;
	max-width: 100%;
	font-size: clamp(4.8rem, 5.6vw, 7.6rem) !important;
	line-height: 0.95;
	letter-spacing: -0.04em;
}
body.azurio-theme .elementor-widget-azurio-blog-headline h1.large sup {
	font-size: 0.38em;
	line-height: 1;
	margin-left: 0.15em;
	vertical-align: super;
}
@media only screen and (min-width: 1200px) {
	body.azurio-theme .elementor-widget-azurio-blog-headline .inner-headline__tags {
		height: auto;
		justify-content: flex-start;
		align-items: flex-end;
	}
}

body.azurio-theme .mxd-project-item__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
}
/* Every Works card gets the same frame, whatever shape its picture is. */
body.azurio-theme .mxd-project-item__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.azurio-theme .mxd-project-item__preview {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	z-index: 3;
	pointer-events: none;
	transition: opacity 0.35s ease;
}
body.azurio-theme .mxd-project-item__media.is-previewing .mxd-project-item__preview {
	opacity: 1;
}

/* Long card tags (AI Commercial, Experimental Concepts) were wrapping and throwing the right-hand column off. */
body.azurio-theme .mxd-project-item__caption {
	gap: 2rem;
}
body.azurio-theme .mxd-project-item__name {
	flex: 1 1 auto;
	min-width: 0;
}
body.azurio-theme .mxd-project-item__tags {
	flex: 0 0 auto;
	align-items: flex-end;
}
body.azurio-theme .mxd-project-item__tags .tag {
	display: block;
	white-space: nowrap;
	text-align: right;
}

body.azurio-theme .mxd-blog-pagination__item.is-disabled {
	opacity: 0.35;
	pointer-events: none;
	cursor: default;
}

/* The section after the contact form is black, so its large top padding reads as empty space. */
body.azurio-theme .e-con:has(.contact-hero) ~ .e-con .mxd-promo__wrap,
body.azurio-theme .e-con:has(.contact-hero) ~ .e-con .mxd-promo__wrap.auto-height {
	padding-top: 4.8rem !important;
}
body.azurio-theme .mxd-dv-sticky-img__titleitem h2 {
	font: normal 600 clamp(3.2rem, 7.2vw, 6.4rem)/1.1 var(--_font-heading, "Sora", sans-serif);
	white-space: nowrap;
}

@media only screen and (min-width: 768px) {
	body.azurio-theme .mxd-dv-sticky-cap__text {
		font-size: 5rem !important;
		letter-spacing: -0.24rem;
	}
	body.azurio-theme .mxd-divider__caption h2.permanent,
	body.azurio-theme .mxd-promo__caption h2.opposite {
		font-size: 6rem;
		letter-spacing: -0.24rem;
	}
	body.azurio-theme .mxd-section-title__title h2 {
		font-size: 6.4rem;
		letter-spacing: -0.24rem;
	}
	body.azurio-theme .mxd-section-manifest__text .manifest {
		font-size: 4.8rem;
	}
	body.azurio-theme .fullwidth-text__content {
		font-size: 8rem;
	}
	body.azurio-theme p.t-large,
	body.azurio-theme p.t-bold {
		font-size: 2.8rem;
	}
}

@media only screen and (min-width: 1200px) {
	body.azurio-theme .mxd-dv-sticky-cap__text {
		font-size: 7rem !important;
		letter-spacing: -0.3rem;
	}
	body.azurio-theme .mxd-divider__caption h2.permanent,
	body.azurio-theme .mxd-promo__caption h2.opposite {
		font-size: 8rem;
		letter-spacing: -0.3rem;
	}
	body.azurio-theme .mxd-section-title__title h2 {
		font-size: 8rem;
		letter-spacing: -0.3rem;
	}
	body.azurio-theme .mxd-section-manifest__text .manifest {
		font-size: 6.4rem;
	}
	body.azurio-theme .fullwidth-text__content {
		font-size: 12rem;
		letter-spacing: -0.4rem;
	}
	body.azurio-theme p.t-large,
	body.azurio-theme p.t-bold {
		font-size: 3.2rem;
	}
	body.azurio-theme .mxd-dv-sticky-img__titleitem h2 {
		font-size: clamp(3.2rem, 7.2vw, 6.4rem);
	}
}

body.azurio-theme a {
	color: inherit;
	text-decoration: none;
}

/* Hide Hello Elementor site chrome */
body.azurio-theme .site-header,
body.azurio-theme header.site-header,
body.azurio-theme footer.site-footer,
body.azurio-theme .site-footer {
	display: none !important;
}

/* Page content shell */
body.azurio-theme #mxd-page-content.mxd-page-content,
body.azurio-theme .mxd-page-content {
	position: relative;
	width: 100%;
	overflow: clip;
}
/* overflow:clip on this shell breaks position:sticky for the homepage clips and the service challenge pin. */
body.azurio-theme #mxd-page-content.mxd-page-content:has(.mxd-showcase-clip),
body.azurio-theme .mxd-page-content:has(.mxd-showcase-clip),
body.azurio-theme #mxd-page-content.mxd-page-content:has(.elementor-widget-azurio-sgntur-challenge),
body.azurio-theme .mxd-page-content:has(.elementor-widget-azurio-sgntur-challenge) {
	overflow: visible !important;
}

/* Fixed header clearance under WP admin bar.
 * .mxd-header is position:absolute and already clears the bar via html{margin-top}.
 * Only fixed chrome (hamburger) needs an extra offset — do not double-shift the header. */
body.admin-bar .mxd-header,
body.admin-bar .mxd-nav,
body.admin-bar .azurio-site-header {
	top: 0;
}

body.admin-bar .mxd-menu__contain {
	top: calc(3rem + 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar .mxd-header,
	body.admin-bar .mxd-nav,
	body.admin-bar .azurio-site-header {
		top: 0;
	}

	body.admin-bar .mxd-menu__contain {
		top: calc(3rem + 46px);
	}
}

/* Keep Elementor menu/header wrappers from trapping position:fixed / absolute */
.azurio-elementor-menu,
.azurio-elementor-header {
	position: static;
}
.azurio-elementor-menu .elementor,
.azurio-elementor-menu .e-con,
.azurio-elementor-menu .elementor-section,
.azurio-elementor-menu .elementor-element,
.azurio-elementor-menu .elementor-widget,
.azurio-elementor-menu .elementor-widget-container,
.azurio-elementor-header .elementor,
.azurio-elementor-header .e-con,
.azurio-elementor-header .elementor-section,
.azurio-elementor-header .elementor-element,
.azurio-elementor-header .elementor-widget,
.azurio-elementor-header .elementor-widget-container {
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
}

/* Contact form reply visibility helpers */
.mxd-form-container .form.is-hidden {
	display: none;
}

.mxd-form-container .form__reply {
	display: none;
}

.mxd-form-container .form__reply.is-visible {
	display: block;
}

/* Contact Form 7 uses the same fields, grid, and buttons. */
.contact-hero .wpcf7,
.sgntur-footer__cf7 .wpcf7 {
	margin: 0;
}
.contact-hero .wpcf7-form,
.sgntur-footer__cf7 .wpcf7-form {
	margin: 0;
}
.contact-hero .wpcf7-form-control-wrap,
.mxd-form-container .wpcf7-form-control-wrap,
.sgntur-footer__form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}
.contact-hero .wpcf7 input,
.contact-hero .wpcf7 textarea,
.contact-hero .wpcf7 select,
.sgntur-footer__form input {
	box-shadow: none !important;
	border-radius: 0;
}
.contact-hero .wpcf7-spinner,
.sgntur-footer__cf7 .wpcf7-spinner,
.contact-hero .wpcf7-response-output,
.sgntur-footer__cf7 .wpcf7-response-output {
	display: none !important;
}
.contact-hero .wpcf7-not-valid,
.sgntur-footer__form .wpcf7-not-valid {
	border-bottom-color: #e23b3b !important;
}
.contact-hero .wpcf7-not-valid-tip,
.sgntur-footer__form .wpcf7-not-valid-tip {
	position: static;
	display: block;
	margin: 0.4rem 0 0;
	font: normal 400 1.2rem/1.3 var(--_font-accent, "Inter", sans-serif);
	color: #e23b3b;
}
.sgntur-footer__form .sgntur-footer__fields {
	display: flex;
	flex-direction: column;
}

/* Editor safety */
.elementor-editor-active .pinned-section,
.elementor-editor-active .mxd-pinned,
.elementor-editor-active [class*="sticky"] {
	pointer-events: auto;
	transform: none !important;
	position: relative !important;
	top: auto !important;
}

.elementor-editor-active .loading-wrap,
.elementor-editor-active .mxd-loader,
.elementor-editor-active .mxd-page-transition {
	display: none !important;
}

.elementor-editor-active body,
body.azurio-elementor-edit {
	overflow-x: visible;
}

/* Single service page — one card, no multi-stack spacing */
.mxd-stack-services--single {
	gap: 0;
	overflow: visible;
}

.mxd-stack-services--single .mxd-stack-services__card {
	height: auto;
	min-height: 70svh;
}

/* Clutch logo SVG — follow theme text color */
.mxd-clutch-logo {
	color: var(--t-bright, #121212);
	display: block;
	max-width: 100%;
	height: auto;
}

/* Contact form select matches inputs */
.mxd-form-container select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	background-color: transparent;
	border: none;
	border-bottom: 1px solid var(--t-muted-extra, #dbd8d8);
	border-radius: 0;
	padding: 1.6rem 0;
	font: inherit;
	color: var(--t-bright, #121212);
	cursor: pointer;
}

/*
 * SGNTUR fullscreen menu — more video, less bar (≈68% / 32%)
 * Matches client reference: dark media left, light nav panel right.
 * Inner layout stays like stock Azurio: caption top, nav + contact side-by-side, footer bottom.
 */
@media only screen and (min-width: 1200px) {
	.mxd-menu__media {
		flex: 2.1 1 0% !important;
		min-width: 0;
		background: #000;
	}

	.mxd-menu__navigation {
		flex: 1 1 0% !important;
		max-width: 56rem;
		min-width: 52rem;
		width: 40%;
		background-color: var(--base, #eeeae8);
		z-index: 2;
	}

	.mxd-menu__inner {
		padding: 0 3.5rem !important;
	}

	.mxd-menu__caption {
		padding: 0 3.5rem !important;
	}

	.mxd-menu__caption p {
		color: var(--t-muted, #7d7f89) !important;
		font-size: 1.2rem;
		letter-spacing: 0.02em;
		line-height: 1.35;
		max-width: 24rem;
		text-transform: uppercase;
	}

	/* Dark text on light panel */
	.mxd-menu__navigation .main-menu__caption {
		color: var(--t-bright, #121212) !important;
		font-size: 3.2rem;
	}

	.mxd-menu__navigation .main-menu__number {
		color: var(--t-muted, #7d7f89) !important;
	}

	.mxd-menu__navigation .main-menu__divider {
		background-color: rgba(18, 18, 18, 0.12) !important;
	}

	.mxd-menu__navigation .main-menu__toggle svg,
	.mxd-menu__navigation .main-menu__arrow svg {
		fill: var(--t-bright, #121212) !important;
	}

	.no-touch .mxd-menu__navigation .main-menu__toggle:hover .main-menu__caption {
		color: var(--t-medium, #575960) !important;
	}

	.mxd-menu__navigation .menu-contact .tag,
	.mxd-menu__navigation .menu-contact span,
	.mxd-menu__navigation .menu-data__text,
	.mxd-menu__navigation .menu-data__text a {
		color: var(--t-muted, #7d7f89) !important;
	}

	.mxd-menu__navigation .menu-data__tagline {
		color: var(--t-bright, #121212) !important;
		font: normal 500 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
		letter-spacing: 0.02em;
		text-transform: uppercase;
	}

	.mxd-menu__data {
		display: flex !important;
		justify-content: space-between;
		align-items: flex-end;
		gap: 1.5rem;
		padding: 2rem 3.5rem 2.5rem !important;
		overflow: visible;
		z-index: 4;
	}

	.mxd-menu__data .menu-data__left,
	.mxd-menu__data .menu-data__right {
		width: auto !important;
		padding: 0 !important;
	}

	.mxd-menu__navigation .mxd-menu__left {
		width: auto !important;
		flex: 1 1 auto;
		min-width: max-content;
		padding-right: 1.6rem !important;
	}

	.mxd-menu__navigation .mxd-menu__right {
		width: auto !important;
		flex: 0 0 auto;
		max-width: none;
		padding-left: 0 !important;
		overflow: visible;
	}

	.mxd-menu__navigation .menu-contact .tag,
	.mxd-menu__navigation .menu-contact a,
	.mxd-menu__navigation .menu-contact span {
		overflow: visible;
		white-space: nowrap;
	}

	.mxd-menu__data .menu-data__right {
		display: flex !important;
		flex-direction: column;
		align-items: flex-end;
		justify-content: flex-end;
		gap: 0.2rem;
		max-width: none;
		overflow: visible;
		text-align: right;
	}

	.mxd-menu__data .menu-data__text {
		overflow: visible;
		white-space: nowrap;
		height: auto;
		text-align: right;
		justify-content: flex-end;
	}

	.mxd-menu__navigation .mxd-menu__shadow:not(.shadow-top) {
		background: linear-gradient(to bottom, rgba(238, 234, 232, 0) 0%, var(--base, #eeeae8) 78%, var(--base, #eeeae8) 100%);
	}

	/* Header call link sits on the right and covers the open menu caption. */
	body:has(.mxd-menu__hamburger.active) .mxd-header__link {
		visibility: hidden;
	}
}

/* Light pages: the permanent header is white, so the logo and Book a Call disappear. */
body.azurio-theme .mxd-header-permanent .mxd-logo,
body.azurio-theme .mxd-header-permanent .mxd-logo__text,
body.azurio-theme .mxd-header-permanent .mxd-logo__text span,
body.azurio-theme .mxd-header-permanent .mxd-header__link,
body.azurio-theme .mxd-header-permanent .mxd-header__link .btn-caption {
	color: #121212 !important;
}
body.azurio-theme .mxd-header-permanent .mxd-header__link svg,
body.azurio-theme .mxd-header-permanent .mxd-header__link svg path {
	fill: #121212 !important;
}
body.azurio-theme .mxd-header-permanent img.mxd-logo__image {
	filter: brightness(0);
}
/* White lines + the toggle's difference blend = dark on light pages, light on dark sections. */
body.azurio-theme .hamburger__line {
	background-color: #fff;
}
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-logo,
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-logo__text,
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-logo__text span,
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-header__link,
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-header__link .btn-caption,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-logo,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-logo__text,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-logo__text span,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-header__link,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-header__link .btn-caption {
	color: #fff !important;
}
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-header__link svg,
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent .mxd-header__link svg path,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-header__link svg,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent .mxd-header__link svg path {
	fill: #fff !important;
}
body.azurio-theme:has(.mxd-hero-01) .mxd-header-permanent img.mxd-logo__image,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .mxd-header-permanent img.mxd-logo__image {
	filter: none;
}
body.azurio-theme:has(.mxd-hero-01) .hamburger__line,
body.azurio-theme:has(.elementor-widget-azurio-services-headline) .hamburger__line {
	background-color: #fff;
}

/* Project headlines wrap instead of running off the page. */
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero h1.large {
	white-space: normal !important;
	overflow: visible;
	max-width: 12em;
	font-size: clamp(4.6rem, 5.8vw, 8.8rem) !important;
	line-height: 1.08;
	letter-spacing: -0.045em;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .inner-headline__subtitle p {
	white-space: normal !important;
	overflow: visible;
	max-width: 22em;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .inner-headline__title,
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .inner-headline__content,
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .col-xl-9 {
	overflow: visible;
	max-width: 100%;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .line-mask {
	padding-bottom: 0.18em;
}

/* Site Identity / Customizer logo on header + fullscreen menu */
.mxd-header,
.azurio-elementor-header .mxd-header {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 100 !important;
}
.mxd-header__logo,
.mxd-header__controls {
	display: flex !important;
	visibility: visible !important;
	align-items: center;
}
/* Beat Elementor `.elementor img { height:auto; max-width:100% }` */
.elementor img.mxd-logo__image,
.elementor img.menu-logo__image,
.mxd-logo img.mxd-logo__image,
.menu-logo img.menu-logo__image,
img.mxd-logo__image,
img.menu-logo__image {
	display: inline-block !important;
	width: auto !important;
	height: 3.2rem !important;
	max-height: 3.2rem !important;
	max-width: 14rem !important;
	object-fit: contain !important;
}
@media only screen and (min-width: 768px) {
	.elementor img.mxd-logo__image,
	.elementor img.menu-logo__image,
	.mxd-logo img.mxd-logo__image,
	.menu-logo img.menu-logo__image,
	img.mxd-logo__image,
	img.menu-logo__image {
		height: 3.6rem !important;
		max-height: 3.6rem !important;
		max-width: 16rem !important;
	}
}
img.mxd-logo__image,
img.menu-logo__image {
	fill: none;
}
.mxd-logo.has-site-logo .mxd-logo__text,
.menu-logo.has-site-logo .menu-logo__text {
	display: none !important;
}

/* Logo over menu video — show Customizer image; hide only SVG mark */
@media only screen and (min-width: 1200px) {
	.mxd-menu__logo .menu-logo > svg {
		display: none !important;
	}

	/* Difference blend over the menu video breaks the wordmark apart — draw it plain white */
	.mxd-menu__logo .menu-logo {
		mix-blend-mode: normal !important;
		isolation: isolate;
		color: #fff !important;
	}
	.mxd-menu__logo .menu-logo svg {
		fill: #fff !important;
	}
	.mxd-menu__logo img.menu-logo__image {
		filter: none !important;
		mix-blend-mode: normal !important;
		opacity: 1 !important;
	}

	.mxd-menu__logo .menu-logo.has-site-logo img.menu-logo__image {
		display: block !important;
		height: 4.8rem;
		max-width: 22rem;
		width: auto;
		object-fit: contain;
	}

	.mxd-menu__logo .menu-logo:not(.has-site-logo) .menu-logo__text {
		display: flex !important;
		flex-direction: row;
		gap: 0;
		color: #fff !important;
		font: normal 600 2.4rem/1 var(--_font-heading, var(--_font-accent), sans-serif);
		letter-spacing: 0.04em;
		text-transform: lowercase;
	}

	.mxd-menu__logo .menu-logo__text span:empty {
		display: none;
	}
}

@media only screen and (min-width: 1600px) {
	.mxd-menu__navigation {
		max-width: 46rem;
	}

	.mxd-menu__navigation .main-menu__caption {
		font-size: 3.6rem;
	}
}

/* —— SGNTUR footer (dark 4-col + project form) ——
   Full rules also mirrored in style.css for Hostinger upload gaps. —— */
.mxd-footer.sgntur-footer {
	background: #000 !important;
	color: #fff !important;
	padding-top: 6rem;
	padding-bottom: 3rem;
}
.sgntur-footer .mxd-container {
	color: #fff;
}
.sgntur-footer svg {
	max-width: 2rem !important;
	max-height: 2rem !important;
	width: 1.8rem !important;
	height: 1.8rem !important;
	flex: 0 0 auto !important;
}
.sgntur-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3.6rem 2.4rem;
}
@media only screen and (min-width: 768px) {
	.sgntur-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media only screen and (min-width: 1200px) {
	.sgntur-footer__grid {
		grid-template-columns: 1fr 1.2fr 0.9fr 1.4fr;
		gap: 3rem 3.2rem;
		align-items: start;
	}
}
.sgntur-footer__label {
	margin: 0 0 1.6rem;
	font: normal 500 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45) !important;
}
.sgntur-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.sgntur-footer__link {
	font: normal 600 1.6rem/1.3 var(--_font-heading, "Sora", sans-serif);
	color: #fff !important;
	text-decoration: none;
}
.no-touch .sgntur-footer__link:hover {
	opacity: 0.7;
}
.sgntur-footer__stack {
	display: flex;
	flex-direction: column;
	gap: 3.2rem;
}
.sgntur-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.sgntur-footer__social {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 4rem !important;
	height: 4rem !important;
	min-width: 4rem;
	min-height: 4rem;
	max-width: 4rem;
	max-height: 4rem;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 0.8rem;
	color: #fff !important;
	text-decoration: none;
	font-size: 1.8rem !important;
	line-height: 1 !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.sgntur-footer__social svg,
.sgntur-footer__ico {
	display: block !important;
	width: 1.8rem !important;
	height: 1.8rem !important;
	max-width: 1.8rem !important;
	max-height: 1.8rem !important;
}
.no-touch .sgntur-footer__social:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: #fff;
}
.sgntur-footer__heading {
	margin: 0 0 0.8rem;
	font: normal 700 2.2rem/1.25 var(--_font-heading, "Sora", sans-serif);
	color: #fff !important;
}
.sgntur-footer__sub {
	margin: 0 0 2.4rem;
	font: normal 400 1.4rem/1.5 var(--_font-accent, "Inter", sans-serif);
	color: rgba(255, 255, 255, 0.55) !important;
}
.sgntur-footer__form {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.sgntur-footer__form input {
	width: 100%;
	margin: 0 0 0.4rem;
	padding: 1.4rem 0;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 0;
	background: transparent !important;
	color: #fff !important;
	font: normal 400 1.5rem/1.4 var(--_font-accent, "Inter", sans-serif);
	outline: none;
	box-shadow: none !important;
}
.sgntur-footer__form input::placeholder {
	color: rgba(255, 255, 255, 0.4);
}
.sgntur-footer__form input:focus {
	border-bottom-color: #fff;
}
.sgntur-footer__submit {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem;
	width: 100%;
	margin-top: 2.4rem;
	padding: 1.6rem 2rem;
	border: none;
	border-radius: 0.4rem;
	background: #fff !important;
	color: #0d0d0d !important;
	font: normal 700 1.4rem/1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}
.sgntur-footer__submit svg,
.sgntur-footer__submit i {
	display: none !important; /* legacy pixel arrow — use text arrow */
}
.sgntur-footer__submit-arrow {
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 600;
	flex: 0 0 auto;
}
.no-touch .sgntur-footer__submit:hover {
	opacity: 0.88;
}
.sgntur-footer__form-ok {
	margin: 1.2rem 0 0;
	font: normal 500 1.3rem/1.4 var(--_font-accent, "Inter", sans-serif);
	color: rgba(255, 255, 255, 0.7);
}
.sgntur-footer__totop-wrap {
	display: flex;
	justify-content: flex-end;
	margin-top: 5rem;
	margin-bottom: 1.2rem;
}
.sgntur-footer__totop {
	font: normal 500 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45) !important;
	text-decoration: none;
}
.no-touch .sgntur-footer__totop:hover {
	color: #fff !important;
}
.sgntur-footer__mark .fw-mark__content span {
	color: #fff !important;
	font-weight: 800 !important;
	letter-spacing: -0.04em;
}
.sgntur-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	margin-top: 2.4rem;
	padding-top: 2.4rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media only screen and (min-width: 768px) {
	.sgntur-footer__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
.sgntur-footer__legal,
.sgntur-footer__legal-links a {
	margin: 0;
	font: normal 500 1.1rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45) !important;
	text-decoration: none;
}
.sgntur-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem;
}
.no-touch .sgntur-footer__legal-links a:hover {
	color: #fff !important;
}

/* —— SGNTUR legal pages (Privacy / Terms) —— */
.sgntur-legal {
	width: 100%;
	max-width: 82rem;
	margin-left: auto;
	margin-right: auto;
	padding: 4.5rem 0 10rem;
}
.sgntur-legal__breadcrumbs {
	margin-bottom: 2.4rem;
}
.sgntur-legal__header {
	margin-bottom: 2.8rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(18, 18, 18, 0.12);
}
/* Override global `h1 { font-size: 6rem }` from main.css */
.sgntur-legal__title,
.sgntur-legal h1.sgntur-legal__title,
body.azurio-theme .elementor-widget h1.sgntur-legal__title {
	margin: 0 0 1rem !important;
	font: normal 700 2.8rem/1.15 var(--_font-heading, "Sora", sans-serif) !important;
	letter-spacing: -0.04em !important;
	color: var(--t-bright, #121212) !important;
}
.sgntur-legal__date {
	margin: 0;
	font: normal 500 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--t-muted, #7d7f89);
}
.sgntur-legal__body {
	font: normal 400 1.6rem/1.7 var(--_font-accent, "Inter", sans-serif) !important;
	color: var(--t-medium, #575960);
}
.sgntur-legal__body .legal-lead {
	font: normal 500 1.8rem/1.55 var(--_font-accent, "Inter", sans-serif) !important;
	color: var(--t-bright, #121212);
	margin: 0 0 1.8rem;
}
.sgntur-legal__body .sgntur-legal__h,
.sgntur-legal__body h2,
.sgntur-legal__body h3 {
	display: block;
	margin: 2.8rem 0 1.2rem !important;
	font: normal 700 1.8rem/1.3 var(--_font-heading, "Sora", sans-serif) !important;
	letter-spacing: -0.02em !important;
	color: var(--t-bright, #121212) !important;
}
.sgntur-legal__body p {
	margin: 0 0 1.4rem !important;
	font: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}
.sgntur-legal__body ul {
	list-style: disc !important;
	margin: 0 0 1.8rem !important;
	padding-left: 1.8rem !important;
}
.sgntur-legal__body li {
	display: list-item !important;
	list-style: disc outside !important;
	margin: 0 0 0.8rem !important;
	padding-left: 0.3rem;
	font: inherit;
}
.sgntur-legal__body li strong {
	color: var(--t-bright, #121212);
	font-weight: 600;
}
.sgntur-legal__body a {
	color: var(--t-bright, #121212);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
@media only screen and (min-width: 768px) {
	.sgntur-legal__title,
	.sgntur-legal h1.sgntur-legal__title {
		font-size: 3.6rem !important;
	}
	.sgntur-legal__body {
		font-size: 1.7rem !important;
	}
	.sgntur-legal__body .legal-lead {
		font-size: 1.9rem !important;
	}
	.sgntur-legal__body .sgntur-legal__h,
	.sgntur-legal__body h2,
	.sgntur-legal__body h3 {
		font-size: 2rem !important;
	}
}

/* Search results: title stays in the column, and the field sits under the subtitle. */
body.azurio-theme.search .sgntur-search h1.large {
	white-space: normal !important;
	max-width: 100%;
	font-size: clamp(4.8rem, 5.6vw, 7.6rem) !important;
	line-height: 0.95;
	letter-spacing: -0.04em;
}
body.azurio-theme.search .sgntur-search h1.large sup {
	font-size: 0.38em;
	line-height: 1;
	margin-left: 0.15em;
	vertical-align: super;
}
body.azurio-theme .sgntur-search__form {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 4.8rem 0 0;
}
body.azurio-theme.search .sgntur-search__results .mxd-posts-container {
	width: 100%;
}
body.azurio-theme.search .sgntur-search__results .post-simple__excerpt {
	margin-top: 0;
	padding-top: 0.5rem;
	padding-left: 4rem;
}
@media only screen and (max-width: 1199px) {
	body.azurio-theme.search .sgntur-search__results .post-simple__excerpt {
		margin-top: 2.4rem;
		padding-left: 0;
	}
}
body.azurio-theme .sgntur-search .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
body.azurio-theme .sgntur-search__form input[type="search"] {
	width: 100%;
	height: 5.6rem;
	padding: 0 6.4rem 0 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 1.8rem;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
body.azurio-theme .sgntur-search__empty {
	padding: 1.6rem 0 6rem;
}
body.azurio-theme .sgntur-search__empty .btn {
	margin-top: 2.4rem;
}

/* Contact: giant email strip and blue socials list are not part of the page. */
body.azurio-theme .headline-email-text,
body.azurio-theme .elementor-widget.elementor-widget-azurio-socials-list,
body.azurio-theme .e-con:has(> .elementor-widget-azurio-socials-list) {
	display: none !important;
}

/* —— SGNTUR service detail pages —— */
.sgntur-service__hero {
	padding: 2.4rem 0 7rem;
}
.sgntur-service__hero .inner-headline__breadcrumbs {
	margin-bottom: 3.2rem;
}
body.azurio-theme .sgntur-service__headline,
body.azurio-theme h1.sgntur-service__headline {
	max-width: 11em;
	margin: 0 0 2rem !important;
	font: normal 600 4.8rem/1.05 var(--_font-heading, "Sora", sans-serif) !important;
	letter-spacing: -0.06em !important;
	color: var(--t-bright, #121212) !important;
}
.sgntur-service__support {
	max-width: 34em;
	margin: 0;
	font: normal 400 2rem/1.5 var(--_font-accent, "Inter", sans-serif);
	color: var(--t-medium, #575960);
}
.sgntur-service__what {
	padding-bottom: 8rem;
}
.sgntur-service__what-title {
	margin: 0;
	max-width: 11em;
}
.sgntur-service__what-side {
	padding-top: 0.6rem;
}
.sgntur-service__copy {
	max-width: 52rem;
	margin: 0;
	font: normal 400 1.8rem/1.7 var(--_font-accent, "Inter", sans-serif) !important;
	color: var(--t-medium, #575960);
}
/* Service hero, as in the Azurio software-development demo: white headline in difference mode
   (dark on the page, inverted over the picture) above a small picture that scales into the frame below. */
.sgntur-service-hero .mxd-hero-03__headline h1 {
	position: relative;
	z-index: 3;
	color: #fff !important;
	mix-blend-mode: difference;
	white-space: normal;
	max-width: 12em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.sgntur-service-hero .mxd-hero-03__control-left,
.sgntur-service-hero .mxd-hero-03__control-right {
	z-index: 4;
}
body.azurio-theme .sgntur-service-hero .mxd-hero-media__large {
	aspect-ratio: 16 / 9;
}
body.azurio-theme .sgntur-service-hero .scaling-media__video {
	display: block;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.sgntur-service__intro-image {
	margin-bottom: 2.4rem;
}
.sgntur-service__intro-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	margin-bottom: 2.4rem;
}
.sgntur-service-intro .sgntur-service__copy {
	margin-top: 2.4rem;
}
@media only screen and (min-width: 1200px) {
	.sgntur-service-intro {
		align-items: center;
	}
	.sgntur-service-intro__media {
		padding-left: 4rem;
	}
	.sgntur-service-intro .sgntur-service__intro-image,
	.sgntur-service-intro .sgntur-service__intro-image img {
		margin-bottom: 0;
	}
	/* Cached markup still has the copy under the image. Pull it into the left column. */
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
		column-gap: 4rem;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) > [class*="col-"],
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .mxd-block-split__inner {
		display: contents;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .mxd-block-split__manifest {
		grid-column: 1;
		grid-row: 1;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .sgntur-service__copy {
		grid-column: 1;
		grid-row: 2;
		margin-top: 2.4rem;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .sgntur-service__labels {
		grid-column: 1;
		grid-row: 3;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .sgntur-service__intro-btn {
		grid-column: 1;
		grid-row: 4;
		justify-self: start;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .sgntur-service__intro-image {
		grid-column: 2;
		grid-row: 1 / span 4;
		align-self: center;
		margin-bottom: 0;
	}
	body.azurio-theme .mxd-block-split .row:has(.sgntur-service__intro-image + .sgntur-service__copy):not(.sgntur-service-intro) .sgntur-service__intro-image img {
		margin-bottom: 0;
	}
}
.sgntur-service__intro-btn {
	margin-top: 3.2rem;
}
@media only screen and (min-width: 1200px) {
	body.azurio-theme .elementor-widget-azurio-sgntur-challenge .row > [class*="col-"]:first-child .mxd-block-split__inner,
	body.azurio-theme .elementor-widget-azurio-sgntur-faq .sgntur-service__faq-pin {
		position: sticky;
		top: 8rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	body.azurio-theme .elementor-widget-azurio-sgntur-challenge .row > [class*="col-"]:first-child .mxd-block-split__inner,
	body.azurio-theme .elementor-widget-azurio-sgntur-faq .sgntur-service__faq-pin {
		position: static;
	}
}
.sgntur-service__faq-side {
	display: block;
}
.sgntur-service__faq-pin .inner-headline__title.pre-subtitle-medium {
	margin-bottom: 0;
}
.sgntur-service__faq-image {
	width: 100%;
	margin-top: 2.4rem;
}
.sgntur-service__faq-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center center;
}
@media only screen and (min-width: 1200px) {
	body.azurio-theme .elementor-widget-azurio-sgntur-faq .row > [class*="col-"]:last-child {
		display: flex;
		flex-direction: column;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-faq .mxd-accordion {
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-faq .mxd-accordion__item {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}
.sgntur-service__faq-btn {
	margin-top: 2.4rem;
	align-self: flex-start;
}
body.azurio-theme .elementor-widget-azurio-sgntur-faq .inner-headline__caption.split-caption {
	padding-top: 0;
}
body.azurio-theme .elementor-widget-azurio-sgntur-faq .inner-headline__caption.pre-grid {
	margin-bottom: 2.4rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-faq .mxd-accordion__title {
	padding: 2.2rem 0 2.2rem;
}
.sgntur-service__clients-sub {
	max-width: 28rem;
	margin: 1.6rem 0 0;
	font: normal 400 1.6rem/1.6 var(--_font-accent, "Inter", sans-serif);
	color: var(--t-medium, #575960);
}
.sgntur-service-cta .mxd-divider__image {
	background-size: cover;
	background-position: center;
}
.sgntur-service-cta .mxd-divider__content {
	gap: 2.8rem;
}
.sgntur-service-cta .sgntur-service-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 2.6rem;
	border: 1px solid #fff;
	background: #fff;
	color: #121212;
	font: normal 600 1.4rem/1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}
.sgntur-service-cta .sgntur-service-cta__btn::before,
.sgntur-service-cta .sgntur-service-cta__btn::after {
	content: none;
}
.sgntur-service-cta .sgntur-service-cta__btn:hover {
	background: transparent;
	color: #fff;
}
.sgntur-service__card-image {
	margin: 0 0 2rem;
	overflow: hidden;
}
body.azurio-theme .sgntur-service__card-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center center;
}
.sgntur-service-clients .sgntur-clients,
.sgntur-service-clients .sgntur-clients * {
	transform: none !important;
	rotate: none !important;
	writing-mode: horizontal-tb !important;
	filter: none !important;
}
.sgntur-clients__track {
	display: flex;
	gap: 2.4rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.sgntur-clients__track::-webkit-scrollbar {
	display: none;
}
.sgntur-clients__card {
	flex: 0 0 min(42rem, 88%);
	scroll-snap-align: start;
	box-sizing: border-box;
	min-height: 28rem;
	margin: 0;
	opacity: 1 !important;
}
.sgntur-clients__quote {
	margin: 0;
	font: normal 500 2rem/1.45 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.03em;
	color: var(--t-bright, #121212);
}
.sgntur-clients__nav {
	display: flex;
	gap: 1.2rem;
	margin-top: 2.4rem;
}
.sgntur-clients__btn {
	width: 4.4rem;
	height: 4.4rem;
	border: 1px solid var(--st-medium, rgba(18, 18, 18, 0.16));
	border-radius: 50%;
	background: transparent;
	color: var(--t-bright, #121212);
	cursor: pointer;
}
/* Below desktop the slider/testimonial containers have no gutter: match the 3rem grid-item padding. */
@media only screen and (max-width: 1199px) {
	.sgntur-service__slider-bar,
	.sgntur-clients__nav {
		padding-left: 3rem;
		padding-right: 3rem;
	}
	.sgntur-service__track,
	.sgntur-clients__track {
		padding-left: 3rem;
		padding-right: 3rem;
		scroll-padding-left: 3rem;
		scroll-padding-right: 3rem;
	}
}
.sgntur-service__faq .row {
	align-items: stretch;
}
.sgntur-service__faq-side {
	min-height: 100%;
}
.sgntur-service__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.6rem;
	margin-top: 3.2rem;
}
.sgntur-service__slider {
	padding-bottom: 4rem;
}
.sgntur-service__slider-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 2.8rem;
}
.sgntur-service__slider-count {
	margin: 0;
	font: normal 500 1.4rem/1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: 0.08em;
	color: var(--t-bright, #121212);
}
.sgntur-service__slider-nav {
	display: flex;
	gap: 0.8rem;
}
.sgntur-service__nav {
	width: 4.8rem;
	height: 4.8rem;
	padding: 0;
	border: 1px solid var(--st-medium, rgba(18, 18, 18, 0.16));
	border-radius: 0;
	background: transparent;
	color: var(--t-bright, #121212);
	font: normal 500 1.8rem/1 var(--_font-heading, "Sora", sans-serif);
	cursor: pointer;
}
.sgntur-service__nav:disabled {
	opacity: 0.35;
	cursor: default;
}
.sgntur-service__nav:focus-visible,
.sgntur-service__faq-item summary:focus-visible {
	outline: 2px solid var(--accent, #002bba);
	outline-offset: 3px;
}
.sgntur-service__track {
	display: flex;
	gap: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.sgntur-service__track::-webkit-scrollbar {
	display: none;
}
.sgntur-service__card {
	flex: 0 0 86%;
	scroll-snap-align: start;
	box-sizing: border-box;
	min-height: 32rem;
	padding: 0 2.4rem 2rem;
	border-left: 1px solid var(--st-medium, rgba(18, 18, 18, 0.16));
}
.sgntur-service__card:first-child {
	padding-left: 0;
	border-left: 0;
}
.sgntur-service__card-index,
.sgntur-service__card-label {
	margin: 0 0 1.2rem;
	font: normal 500 1.2rem/1.3 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--t-muted, #7d7f89);
}
.sgntur-service__card-label {
	color: var(--accent, #002bba);
}
body.azurio-theme .sgntur-service__card-title,
body.azurio-theme h2.sgntur-service__card-title {
	margin: 0 0 1.6rem !important;
	font: normal 600 2.8rem/1.15 var(--_font-heading, "Sora", sans-serif) !important;
	letter-spacing: -0.04em !important;
	color: var(--t-bright, #121212) !important;
}
.sgntur-service__card-body {
	margin: 0;
	max-width: 36rem;
	font: normal 400 1.6rem/1.65 var(--_font-accent, "Inter", sans-serif) !important;
	color: var(--t-medium, #575960);
}
.sgntur-service__cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.2rem;
	padding: 8rem 3rem;
	background: var(--base-opp, #0f0f0f);
}
body.azurio-theme .sgntur-service__cta h2 {
	max-width: 14em;
	margin: 0 !important;
	font: normal 600 4.4rem/1.08 var(--_font-heading, "Sora", sans-serif) !important;
	letter-spacing: -0.05em !important;
	color: #fff !important;
}
.sgntur-service__faq {
	padding: 8rem 0 10rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-intro .mxd-section,
body.azurio-theme .elementor-widget-azurio-sgntur-clients .mxd-section,
body.azurio-theme .elementor-widget-azurio-sgntur-challenge .mxd-section,
body.azurio-theme .elementor-widget-azurio-sgntur-faq .mxd-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-challenge .mxd-block-split__subtitle.pre-manifest,
body.azurio-theme .elementor-widget-azurio-sgntur-challenge .mxd-block-split__subtitle.pre-grid {
	margin-bottom: 2.4rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-challenge .split-data__item {
	gap: 0.6rem;
	padding: 2.2rem 0.2rem 2.4rem;
}
.sgntur-service__faq-intro {
	max-width: 28em;
	margin: 0 0 3.2rem;
	font: normal 500 2.2rem/1.4 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.03em;
	color: var(--t-bright, #121212);
}
.sgntur-service__faq-item {
	border-top: 1px solid var(--st-medium, rgba(18, 18, 18, 0.16));
}
.sgntur-service__faq-item:last-child {
	border-bottom: 1px solid var(--st-medium, rgba(18, 18, 18, 0.16));
}
.sgntur-service__faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2.2rem 0;
	cursor: pointer;
	list-style: none;
	font: normal 600 1.8rem/1.35 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.03em;
	color: var(--t-bright, #121212);
}
.sgntur-service__faq-item summary::-webkit-details-marker {
	display: none;
}
.sgntur-service__faq-item summary::after {
	content: "+";
	flex: 0 0 auto;
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 1;
}
.sgntur-service__faq-item[open] summary::after {
	content: "–";
}
.sgntur-service__faq-item p {
	max-width: 46rem;
	margin: 0 0 2.4rem !important;
	font: normal 400 1.6rem/1.7 var(--_font-accent, "Inter", sans-serif) !important;
	color: var(--t-medium, #575960);
}
.sgntur-service-card__more {
	position: relative;
	z-index: 6;
	display: inline-flex;
	align-self: flex-start;
	margin-top: 2.4rem;
	padding: 1.4rem 2.2rem;
	border: 1px solid #121212;
	background: #121212;
	color: #fff;
	font: normal 600 1.4rem/1 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}
/* Generic link colours beat the base rule; keep the label readable on the dark button. */
body.azurio-theme a.sgntur-service-card__more {
	color: #fff !important;
}
.sgntur-service-card__more:hover,
body.azurio-theme a.sgntur-service-card__more:hover {
	background: transparent;
	color: #121212 !important;
}
.sgntur-stack-card-link {
	position: absolute;
	inset: 0;
	z-index: 5;
}
@media only screen and (min-width: 768px) {
	.sgntur-service__hero {
		padding-bottom: 10rem;
	}
	body.azurio-theme .sgntur-service__headline,
	body.azurio-theme h1.sgntur-service__headline {
		font-size: 6.4rem !important;
	}
	.sgntur-service__what {
		padding-bottom: 12rem;
	}
	.sgntur-service__card {
		flex-basis: 48%;
		padding-right: 4rem;
		padding-left: 4rem;
	}
	.sgntur-service__card:first-child {
		padding-left: 4rem;
	}
	.sgntur-service__cta {
		padding: 10rem 6rem;
	}
	body.azurio-theme .sgntur-service__cta h2 {
		font-size: 5.6rem !important;
	}
}
@media only screen and (min-width: 1200px) {
	.sgntur-service__what-side {
		padding-left: 4rem;
	}
	.sgntur-service__card {
		flex-basis: 34%;
	}
	body.azurio-theme .sgntur-service__card-title,
	body.azurio-theme h2.sgntur-service__card-title {
		font-size: 3.2rem !important;
	}
}
@media (prefers-reduced-motion: reduce) {
	.sgntur-service__track {
		scroll-behavior: auto;
	}
}

/* —— SGNTUR project pages —— */
.sgntur-project__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem 4.8rem;
	margin: 0 0 4rem;
}
.sgntur-project__facts div {
	min-width: 16rem;
}
.sgntur-project__facts dt {
	margin: 0 0 0.6rem;
	font: normal 500 1.2rem/1.3 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--t-muted, #7d7f89);
}
.sgntur-project__facts dd {
	margin: 0;
	font: normal 500 1.6rem/1.4 var(--_font-heading, "Sora", sans-serif);
	color: var(--t-bright, #121212);
}
body.azurio-theme .sgntur-project-hero__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.4rem;
	align-items: center;
	width: 100%;
	margin: 0;
	/* The hero column has no .mxd-grid-item, so add its 3rem gutter to line up with the breadcrumbs. */
	padding-left: 3rem;
	padding-right: 3rem;
	box-sizing: border-box;
}
.sgntur-project-hero__copy {
	min-width: 0;
}
.sgntur-project-hero__video {
	position: relative;
	min-height: 28rem;
	background: #111;
	overflow: hidden;
}
.sgntur-project-hero__video video,
.sgntur-project-hero__still img {
	display: block;
	width: 100%;
	height: 28rem;
	object-fit: cover;
}
/* Portrait films stay a TikTok frame. Square stays square. Widescreen keeps its own ratio.
   The shape class is printed with the markup (from the film's poster), so the frame no longer
   starts tall and snaps to square once the video loads. */
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still) {
	min-height: 0;
	width: min(100%, 52rem);
	height: auto;
	margin-left: auto;
	margin-right: auto;
	background: #111;
}
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still) video {
	position: relative;
	inset: auto;
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: 9 / 16;
	object-fit: cover;
}
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still) video.is-square {
	aspect-ratio: 1 / 1;
}
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still) video.is-landscape {
	aspect-ratio: 16 / 9;
}
/* Portrait: as large as fits, but never taller than the screen. */
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still):has(video.is-portrait) {
	width: min(100%, 52rem, calc(86vh * 9 / 16));
}
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still):has(video.is-square) {
	width: min(100%, 64rem, 86vh);
}
body.azurio-theme .sgntur-project-hero__video:not(.sgntur-project-hero__still):has(video.is-landscape) {
	width: 100%;
	max-width: none;
}
/* Desktop: the film sits in the middle of the copy's height and fills its half of the row. */
@media only screen and (min-width: 992px) {
	body.azurio-theme .sgntur-project-hero__split {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 5.6rem;
		align-items: center;
	}
	.sgntur-project-hero__video.sgntur-project-hero__still {
		min-height: 36rem;
	}
	.sgntur-project-hero__still img {
		position: absolute;
		inset: 0;
		height: 100%;
	}
	body.azurio-theme .sgntur-project-hero__copy h1.large {
		max-width: none;
		font-size: clamp(4.2rem, 4.2vw, 7.2rem) !important;
	}
	body.azurio-work-tc-legal .sgntur-project-hero__copy .inner-headline__subtitle p {
		width: 21.6em;
		max-width: none;
		font-size: 3.9rem;
		text-wrap: balance;
	}
}
.sgntur-project__media-stack {
	display: grid;
	gap: 2rem;
}
.sgntur-project__media-pair {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.6rem;
}
.sgntur-project__media-videos {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.6rem;
}
.sgntur-project__media-videos video,
.sgntur-project__media-videos img {
	display: block;
	width: 100%;
	height: 32rem;
	object-fit: cover;
	background: #111;
}
body.azurio-theme .sgntur-project__media-videos > video {
	width: 100%;
	height: auto !important;
	aspect-ratio: 9 / 16;
	object-fit: cover;
}
body.azurio-theme .sgntur-project__media-videos > video.is-square {
	aspect-ratio: 1 / 1;
}
body.azurio-theme .sgntur-project__media-videos > video.is-landscape {
	aspect-ratio: 16 / 9;
}
body.azurio-theme .sgntur-project__media-videos--1 {
	justify-items: center;
}
body.azurio-theme .sgntur-project__media-videos--1 > video:not(.is-landscape) {
	width: min(100%, 42rem);
}
.sgntur-project__hero-image {
	background-size: cover;
	background-position: center;
}
.sgntur-project__media-grid .mxd-images-grid__inner video.sgntur-project__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #111;
}
.sgntur-project__media-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.6rem;
}
.sgntur-project__media-stills {
	display: contents;
}
.sgntur-project__media-stills img,
.sgntur-project__media-pair img {
	display: block;
	width: 100%;
	height: 32rem;
	object-fit: cover;
}
.sgntur-project__media-video {
	display: none !important;
}
@media only screen and (min-width: 992px) {
	.sgntur-project__media-split,
	.sgntur-project__media-pair {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
	.sgntur-project__media-videos--2 {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
	.sgntur-project__media-videos--3,
	.sgntur-project__media-videos--4 {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1.6rem;
	}
	.sgntur-project__media-videos video,
	.sgntur-project__media-videos img {
		height: 28rem;
	}
	body.azurio-theme .sgntur-project__media-videos > video {
		width: 100%;
		height: auto !important;
		aspect-ratio: 9 / 16;
		object-fit: cover;
	}
	body.azurio-theme .sgntur-project__media-videos > video.is-square {
		aspect-ratio: 1 / 1;
	}
	body.azurio-theme .sgntur-project__media-videos > video.is-landscape {
		aspect-ratio: 16 / 9;
	}
	body.azurio-theme .sgntur-project__media-videos--1 {
		justify-items: center;
	}
	body.azurio-theme .sgntur-project__media-videos--1 > video:not(.is-landscape) {
		width: min(100%, 42rem);
	}
	.sgntur-project__media-stills img,
	.sgntur-project__media-pair img {
		height: 42rem;
	}
}
body.azurio-work-wine-brand .sgntur-project__media-pair img {
	width: 100%;
	height: auto !important;
	aspect-ratio: 1448 / 1086;
	object-fit: cover;
}
body.azurio-theme .sgntur-project__media-videos--4 > img {
	grid-column: 1 / -1;
	width: 100%;
	height: auto !important;
	aspect-ratio: 1552 / 1013;
	object-fit: cover;
}
body.azurio-theme .sgntur-project__media-videos--4 > video {
	width: 100%;
	height: auto !important;
	aspect-ratio: 9 / 16;
	object-fit: cover;
}
body.azurio-theme .sgntur-project__media-videos--ritual > img {
	grid-column: auto;
	width: 100%;
	height: auto !important;
	aspect-ratio: 1550 / 1014;
	object-fit: cover;
}
body.azurio-theme .sgntur-project__media-videos--ritual > video {
	width: 100%;
	height: auto !important;
	aspect-ratio: 9 / 16;
	object-fit: cover;
}
@media only screen and (min-width: 992px) {
	body.azurio-theme .sgntur-project__media-videos--ritual {
		grid-template-columns: 1fr 1fr 1fr;
	}
	body.azurio-theme .sgntur-project__media-videos--ritual > video {
		grid-column: 2;
	}
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .inner-headline.margin-bottom-details {
	margin-bottom: 0;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-hero .inner-headline__content.has-large-title {
	padding-top: 3.2rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-section,
body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-section,
body.azurio-theme .elementor-widget-azurio-sgntur-project-quote .mxd-section {
	padding-top: 8rem;
	padding-bottom: 0;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-section {
	padding-bottom: 6.4rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-quote .mxd-section {
	padding-bottom: 8rem;
}
body.azurio-theme .elementor > .e-con:last-child .elementor-widget-azurio-sgntur-project-solution .mxd-section {
	padding-bottom: 8rem;
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .split-data__item,
body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .split-data__item {
	gap: 0.6rem;
	padding: 2.2rem 0.2rem 2.4rem;
}
@media only screen and (min-width: 1200px) {
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split .row.g-0,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split .row.g-0 {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split__item,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split__item,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split__inner,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split__inner {
		display: contents;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split__subtitle.pre-manifest,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split__subtitle.pre-manifest {
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 2.4rem;
		padding: 0 3rem;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split__manifest,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split__manifest {
		grid-column: 1;
		grid-row: 2;
		align-items: stretch;
		max-width: none;
		padding: 0 3rem;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split__manifest .manifest,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split__manifest .manifest {
		width: 100%;
		max-width: none;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .mxd-block-split__data,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .mxd-block-split__data {
		grid-column: 2;
		grid-row: 2;
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 100%;
		padding: 0 3rem;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .split-data__item,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .split-data__item {
		flex: 1 1 0;
		justify-content: center;
		gap: 0.4rem;
		margin-top: 0;
		padding: 1.6rem 0.2rem;
	}
	body.azurio-theme .elementor-widget-azurio-sgntur-project-problem .split-data__item + .split-data__item,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-solution .split-data__item + .split-data__item {
		margin-top: -1px;
	}
}
body.azurio-theme .elementor-widget-azurio-sgntur-project-media .sgntur-project__media-label {
	margin: 0 0 2.4rem !important;
	margin-block-start: 0 !important;
	margin-block-end: 2.4rem !important;
	font: normal 500 1.4rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--t-muted, #7d7f89);
}
/* Phones: the media block has no gutter, so the label sat on the screen edge. */
@media only screen and (max-width: 767px) {
	body.azurio-theme .elementor-widget-azurio-sgntur-project-media .sgntur-project__media-label {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}
.sgntur-project__quote {
	padding-bottom: 12rem;
}
.sgntur-project__quote .manifest {
	margin-top: 2.4rem;
}
.sgntur-project__attribution {
	margin: 2.4rem 0 0;
	font: normal 500 1.4rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.02em;
	color: var(--t-muted, #7d7f89);
}

body.azurio-theme .widget-ad .widget__tags {
	display: none;
}

/* 404: drop the HTML template art, keep the site header clear, one credit line. */
body.error404 .mxd-header,
body.error404 .azurio-elementor-header .mxd-header {
	z-index: 200 !important;
}
body.error404 .mxd-error {
	top: 9rem;
	height: calc(100% - 9rem);
}
body.error404 .mxd-error__background,
body.error404 .mxd-error__image {
	display: none !important;
}
body.error404 .mxd-error__dataitem {
	display: none !important;
}
body.error404 .mxd-error__dataline {
	justify-content: center !important;
}
body.error404 .sgntur-404__credit,
body.error404 .mxd-error__dataline:not(:has(.sgntur-404__credit))::after {
	margin: 0;
	font: normal 500 1.4rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.04em;
	color: var(--t-muted, #7d7f89);
}
body.error404 .mxd-error__dataline:not(:has(.sgntur-404__credit))::after {
	content: "Made with love by SGNTUR.";
}
body.error404 .sgntur-404__nav {
	margin-top: 3.2rem;
}
body.error404 .sgntur-404__nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.2rem 3.2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.error404 .sgntur-404__nav li {
	margin: 0;
}
body.error404 .sgntur-404__nav-link {
	font: normal 500 1.3rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--t-bright, #121212);
	text-decoration: none;
	transition: opacity 0.2s ease;
}
body.error404 .sgntur-404__nav-link:hover {
	opacity: 0.55;
}




/* Contact form submit: black button, white text (the page is light) */
body.azurio-theme .contact-hero .btn.btn-default-accent,
body.azurio-theme .mxd-block.contact .btn.btn-default-accent {
	background-color: #121212 !important;
	color: #fff !important;
	border-color: #121212 !important;
}
body.azurio-theme .contact-hero .btn.btn-default-accent .btn-caption,
body.azurio-theme .mxd-block.contact .btn.btn-default-accent .btn-caption {
	color: #fff !important;
}
body.azurio-theme .contact-hero .btn.btn-default-accent .btn-icon,
body.azurio-theme .mxd-block.contact .btn.btn-default-accent .btn-icon {
	background-color: rgba(255, 255, 255, 0.14) !important;
	color: #fff !important;
}
body.azurio-theme .contact-hero .btn.btn-default-accent .btn-icon svg,
body.azurio-theme .mxd-block.contact .btn.btn-default-accent .btn-icon svg,
body.azurio-theme .contact-hero .btn.btn-default-accent .btn-icon svg path,
body.azurio-theme .mxd-block.contact .btn.btn-default-accent .btn-icon svg path {
	fill: #fff !important;
}
body.azurio-theme .contact-hero .btn.btn-default-accent:hover,
body.azurio-theme .mxd-block.contact .btn.btn-default-accent:hover {
	background-color: #2b2b2b !important;
}

/* Footer: the container has no gutter on phones (links sat on the screen edge). */
@media only screen and (max-width: 767px) {
	body.azurio-theme .sgntur-footer > .mxd-container {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

/* Touch: hero + menu text links were ~20px tall. Grow the hit area without moving anything. */
@media (hover: none), only screen and (max-width: 1199px) {
	.menu-contact__list a.tag,
	.mxd-hero-01__data-contact a.tag,
	.mxd-hero-01__data-tags a.tag {
		display: inline-block;
		padding-top: 0.7rem;
		padding-bottom: 0.7rem;
		margin-top: -0.7rem;
		margin-bottom: -0.7rem;
	}
}

/* Home hero: Elementor's wrapper can end up ~16px taller than the pinned hero, which showed
   a light strip of page background between the hero and the dark showcase below. */
body.azurio-theme .elementor-widget-azurio-hero-branding,
body.azurio-theme .e-con:has(> .elementor-widget-azurio-hero-branding) {
	background-color: #0c0c0c;
}

/* Insights without the sidebar: one centred column for the headline and the posts (same 92rem width,
   so the headline's left edge lines up with the posts). */
body.azurio-theme .mxd-posts-area.no-sidebar {
	justify-content: center;
}
body.azurio-theme .mxd-posts-area.no-sidebar .mxd-posts-container {
	flex: 0 1 92rem;
	width: 100%;
	max-width: 92rem;
	margin-left: auto;
	margin-right: auto;
}
body.azurio-theme .inner-headline.is-centered {
	max-width: 92rem;
	margin-left: auto;
	margin-right: auto;
}

/* Manifest scroll fill: the words fill to this colour as they scroll in (see mxdTypeAnimations). */
body.azurio-theme .mxd-section-manifest__text .manifest.has-scroll-fill,
body.azurio-theme .mxd-section-manifest__text .manifest.has-scroll-fill span {
	color: var(--scroll-fill-color, var(--t-bright, #121212)) !important;
}

/* Menu open: hide the header logo so only the menu's own logo shows (the header sits above the menu). */
body.azurio-theme .mxd-header__logo {
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
body.azurio-theme.azurio-menu-open .mxd-header__logo {
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Template sets body { min-width: 360px }, which made every page 40px too wide (sideways scroll)
   on 320px phones such as the iPhone SE. */
body.azurio-theme {
	min-width: 0;
}

/* iOS zooms the page into any field under 16px when it is tapped. */
@media (hover: none), only screen and (max-width: 1024px) {
	body.azurio-theme input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
	body.azurio-theme textarea,
	body.azurio-theme select {
		font-size: 16px !important;
	}
}

/* Small phones (320–374px): the large page headings ran past the right edge. */
@media only screen and (max-width: 374px) {
	body.azurio-theme h1.large,
	body.azurio-theme h1.xlarge,
	body.azurio-theme h1.medium,
	body.azurio-theme .inner-headline__title h1,
	body.azurio-theme .contact-hero .inner-headline__title h1.medium {
		font-size: 3.8rem !important;
		letter-spacing: -0.03em !important;
	}
	body.azurio-theme h1.large sup,
	body.azurio-theme h1.xlarge sup {
		font-size: 0.45em;
	}
	body.azurio-theme .mxd-section-manifest__text .manifest {
		font-size: 2.6rem !important;
	}
}

/* Fullscreen menu (desktop): lighter panel so the video carries the screen.
   One full-width list with medium-weight items, contact + socials in two columns under it,
   and no dark fade across the top of the panel. */
@media only screen and (min-width: 1200px) {
	.mxd-menu .mxd-menu__inner {
		flex-direction: column;
		padding: 0 4.6rem;
	}
	.mxd-menu .mxd-menu__shadow.shadow-top {
		display: none;
	}
	.mxd-menu .mxd-menu__caption {
		padding: 0 4.6rem;
		height: 12rem;
		align-items: center;
	}
	.mxd-menu .mxd-menu__left {
		flex: 0 0 auto;
		width: 100%;
		height: auto !important;
		padding: 0;
	}
	.mxd-menu .main-menu {
		height: auto !important;
		/* Scales with screen height so the list, contacts and footer fit on 720px-tall laptops. */
		padding-top: clamp(10rem, 12.5vh, 15rem);
		padding-bottom: 0 !important;
	}
	.mxd-menu .main-menu__item {
		padding-top: clamp(1.2rem, 1.8vh, 2.2rem);
		padding-bottom: clamp(1.6rem, 2.4vh, 2.9rem);
	}
	.mxd-menu .main-menu__content,
	.mxd-menu .main-menu__item {
		width: 100%;
	}
	.mxd-menu .main-menu__caption {
		font-size: 3.4rem !important;
		font-weight: 500 !important;
		letter-spacing: -0.02em;
	}
	.mxd-menu .mxd-menu__right {
		flex: 0 0 auto;
		width: 100%;
		height: auto !important;
		padding: clamp(2.4rem, 3.3vh, 4rem) 0 0;
	}
	.mxd-menu .menu-contact {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 2.4rem;
		row-gap: 0;
		padding-top: 0 !important;
	}
	.mxd-menu .menu-contact__item:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}
	.mxd-menu .menu-contact__item:nth-child(2) {
		grid-column: 1;
		grid-row: 2;
	}
	.mxd-menu .menu-contact__item:nth-child(3) {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
	.mxd-menu .menu-contact__list .tag {
		font-size: 1.3rem;
		line-height: 1.9;
	}
	.mxd-menu .mxd-menu__data {
		padding: 2rem 4.6rem 2.6rem;
	}
}

/* Phones: Privacy Policy / Terms text had no side gutter. */
@media only screen and (max-width: 767px) {
	body.azurio-theme .sgntur-legal {
		padding-left: 3rem;
		padding-right: 3rem;
		box-sizing: border-box;
	}
}

/* Services cards kept a 360px width on narrower phones, pushing their tags past the edge. */
body.azurio-theme .services-card__wrapper {
	max-width: 100%;
	box-sizing: border-box;
}

/* Insights list: let the tags/author/date line wrap instead of running past the column. */
body.azurio-theme .post-simple__data {
	flex-wrap: wrap;
	row-gap: 0.6rem;
}

@media only screen and (max-width: 374px) {
	/* Beats the blog headline's own clamp() size. */
	body.azurio-theme .elementor-widget-azurio-blog-headline h1.large,
	body.azurio-theme .elementor-widget-azurio-sgntur-project-hero h1.large {
		font-size: 3.6rem !important;
	}
	/* 404 digits were 5px wider than the screen. */
	body.azurio-theme .mxd-error__number span {
		font-size: 13.5rem;
	}
}

/* Small phones: the services card's two tag columns didn't fit side by side. */
@media only screen and (max-width: 374px) {
	body.azurio-theme .services-card__tags {
		flex-direction: column;
		gap: 0;
	}
}

/* Menu logo on phones/tablets too: plain white, no difference blend (the menu panel is dark there). */
body.azurio-theme .mxd-menu__logo .menu-logo {
	mix-blend-mode: normal !important;
	color: #fff !important;
}
body.azurio-theme .mxd-menu__logo img.menu-logo__image {
	filter: none !important;
}

/* Home insights grid on iPad landscape / small laptops: four narrow cards could not fit the
   title and the tags side by side, and the last card's tags ran off the screen. */
@media only screen and (max-width: 1399px) {
	body.azurio-theme .mxd-blog-item-s .mxd-blog-item__caption {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}
	body.azurio-theme .mxd-blog-item-s .mxd-blog-item__tags {
		flex-wrap: wrap;
		justify-content: flex-start;
		max-width: 100%;
		gap: 0.4rem 0.8rem;
	}
}

/* ------------------------------------------------------------------
   MarkUp review (Oct 2026)
   ------------------------------------------------------------------ */

/* Page loader: the animated SGNTUR wordmark replaces the cycling images and the top caption. */
.mxd-loader__video {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background-color: #000;
	clip-path: polygon(100% 0%, 100% 100%, 0% 100%, 0% 0%);
	will-change: clip-path;
}
.mxd-loader__video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background-color: #000;
}
/* The wordmark sits in the middle ~45% of the 16:9 frame; crop the empty sides on narrow screens. */
@media only screen and (max-width: 767px) {
	.mxd-loader__video video {
		width: 150vw;
		max-width: none;
		height: auto;
	}
}
.mxd-loader--video .mxd-loader__bottom {
	z-index: 1;
}

/* `body.azurio-theme a { color: inherit }` turned these white line buttons grey.
   Home services slider "[ View Service ]" and the image dividers ("[ Meet the Team ]") sit on dark photos. */
body.azurio-theme .mxd-dv-sticky-img__btnholder .btn-line-permanent,
body.azurio-theme .mxd-divider__btngroup .btn-line-permanent {
	color: var(--nl-white);
}


/* Home "Our Process" images link to their project pages. */
.scroll-images-row__link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
}

/* Home split description: Learn More (About page) under the paragraph. */
body.azurio-theme .mxd-split-descr__content .mxd-split-descr__btn {
	margin-top: 3.2rem;
}

/* Insights: split layout (featured post, then rows), full width like the other inner pages. */
body.azurio-theme .mxd-posts-area.no-sidebar:has(.sgntur-split-posts) .mxd-posts-container {
	flex: 1 1 100%;
	max-width: none;
}
body.azurio-theme:has(.sgntur-split-posts) .inner-headline.is-centered {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.sgntur-split-posts {
	display: flex;
	flex-direction: column;
}
.sgntur-split-post + .sgntur-split-post {
	border-top: 1px solid rgba(18, 18, 18, 0.12);
}
body.azurio-theme a.sgntur-split-post__link {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.4rem;
	padding: 3.2rem 0;
	color: inherit;
	text-decoration: none;
}
.sgntur-split-post--featured .sgntur-split-post__link {
	padding-top: 0;
}
.sgntur-split-post__thumb {
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background-color: var(--base-tint);
}
.sgntur-split-post__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--_animbezier, ease);
}
.no-touch .sgntur-split-post__link:hover .sgntur-split-post__thumb img {
	transform: scale(1.03);
}
.sgntur-split-post__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.4rem;
}
.sgntur-split-post__date {
	font: normal 600 1.2rem/1.4 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--t-medium);
}
body.azurio-theme .sgntur-split-post__title {
	margin: 0;
	font: normal 700 2.4rem/1.2 var(--_font-heading, "Sora", sans-serif);
	letter-spacing: -0.02em;
	color: var(--t-bright);
}
body.azurio-theme .sgntur-split-post--featured .sgntur-split-post__title {
	font-size: clamp(3rem, 3.2vw, 4.2rem);
	line-height: 1.1;
}
.sgntur-split-post__excerpt {
	margin: 0;
	font: normal 400 1.6rem/1.6 var(--_font-accent, "Inter", sans-serif);
	color: var(--t-medium);
}
.sgntur-split-post__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 0.4rem;
}
.sgntur-split-post__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.7rem 1.4rem;
	border: 1px solid rgba(18, 18, 18, 0.55);
	border-radius: 10rem;
	font: normal 500 1.1rem/1 var(--_font-accent, "Inter", sans-serif);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--t-bright);
}
@media only screen and (min-width: 768px) {
	body.azurio-theme a.sgntur-split-post__link {
		grid-template-columns: minmax(0, 36%) minmax(0, 1fr);
		gap: 4rem;
		align-items: start;
	}
	body.azurio-theme .sgntur-split-post--featured a.sgntur-split-post__link {
		grid-template-columns: minmax(0, 60%) minmax(0, 1fr);
		padding-bottom: 4.8rem;
	}
	.sgntur-split-post--featured .sgntur-split-post__thumb {
		aspect-ratio: 4 / 3;
	}
}

/* =========================================================================
   Mobile / Tablet MarkUp review (Oct 2026). Each rule is scoped and limited
   to the phone/tablet widths the comment was made at.
   ========================================================================= */

/* 396 — Home hero takes over the full screen on mobile (desktop already does this
   via .mxd-hero-fullheight-desktop; the class is desktop-only). */
@media only screen and (max-width: 767px) {
	body.azurio-theme .elementor-widget-azurio-hero-branding .mxd-hero-section,
	body.azurio-theme .elementor-widget-azurio-hero-branding .pinned-section__inner,
	body.azurio-theme .elementor-widget-azurio-hero-branding .loading-wrap {
		min-height: 100svh;
	}
}

/* 397 — Home showcase ("Beyond the Bottle"): the foreground preview square was nearly
   full width, which made each project image feel oversized. Shrink and centre it. */
@media only screen and (max-width: 767px) {
	body.azurio-theme .mxd-showcase-clip__image {
		width: min(62vw, 24rem);
		margin-left: auto;
		margin-right: auto;
	}
	body.azurio-theme .mxd-showcase-clip__image img {
		object-fit: cover;
		object-position: center;
	}
}

/* 398 — Home services slider: the image sat at its natural aspect (~half the card
   height) because the inline-block img's percentage height did not resolve, leaving
   the bottom half empty. Make it fill the whole card so the image covers it. */
@media only screen and (max-width: 767px) {
	body.azurio-theme .mxd-dv-sticky-img .images__overflow .images__img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* 400 — Centre the big "SGNTUR" footer wordmark on mobile (it was left-aligned). */
@media only screen and (max-width: 767px) {
	body.azurio-theme .sgntur-footer__mark,
	body.azurio-theme .sgntur-footer__mark .fw-mark__wrap,
	body.azurio-theme .sgntur-footer__mark .fw-mark__content {
		display: flex;
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

/* 401 — Services page cards hid the project image below a full-height card on mobile.
   Give the image a guaranteed visible height so it shows under the copy. */
@media only screen and (max-width: 767px) {
	body.azurio-theme .mxd-stack-services .services-card__image {
		flex: 0 0 auto;
		min-height: 28vh;
		margin-top: 3.2rem;
	}
	body.azurio-theme .mxd-stack-services .services-card__content {
		flex: 1 1 auto;
		min-height: 0;
	}
}

/* 402 — About Us full-bleed divider image was zoomed in too far on mobile. Show the
   whole frame (scoped to that specific production-still asset). */
@media only screen and (max-width: 767px) {
	body.azurio-theme .mxd-divider__image img[src*="still-life-production-day"] {
		object-fit: contain;
		object-position: center;
		background-color: #0c0c0c;
	}
}

/* 403 — Contact hero content sat 30px right of centre on mobile (Bootstrap column
   gutter). Balance the gutter so the heading and reel centre in the viewport. */
@media only screen and (max-width: 767px) {
	body.azurio-theme:has(.contact-hero__reel) .inner-headline__content .mxd-grid-item {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/* 392 — Project page: three vertical videos were full-width (far too tall) on tablet,
   because the 3-up grid only kicked in at 992px. Bring it in across the whole tablet
   range (601–991px) so tablet-portrait widths below 768px are covered too. */
@media only screen and (min-width: 601px) and (max-width: 991px) {
	body.azurio-theme .sgntur-project__media-videos--3,
	body.azurio-theme .sgntur-project__media-videos--4 {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1.2rem;
	}
	body.azurio-theme .sgntur-project__media-videos--2 {
		grid-template-columns: 1fr 1fr;
		gap: 1.6rem;
	}
}

/* 399 — "Glitch when scrolling up from the footer" (mobile). The decorative
   progressive-blur band (.blur-container: a fixed, bottom-anchored stack of 8
   backdrop-filter layers) is toggled display:block/none by GSAP ScrollTrigger as
   each .blur-section — including the footer — enters/leaves. Scrolling up from the
   very bottom re-enters the footer trigger and snaps the overlay back on, and the
   stacked backdrop-filters repaint over the footer every frame of the momentum
   scroll — which flickers/jumps on mobile GPUs. It's a desktop flourish (its height
   is only bumped at 1200px+), so drop it on phones. !important beats the inline
   display the JS writes; the overlay is pointer-events:none, so hiding it changes no
   layout and leaves the footer animation untouched. */
@media only screen and (max-width: 767px) {
	.blur-container {
		display: none !important;
	}
}

/* About team: 2 x 2 grid, plain photos (no hover blur or social pop-ups). */
body.azurio-theme .mxd-team-grid--static .mxd-team-grid__photo img {
	filter: none !important;
	transform: none !important;
	transition: none !important;
}
body.azurio-theme .mxd-team-grid__placeholder {
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: rgba(18, 18, 18, 0.08);
}
@media only screen and (min-width: 768px) {
	body.azurio-theme .mxd-team-grid--two .mxd-team-grid__item {
		margin-bottom: 6rem;
	}
	body.azurio-theme .mxd-team-grid--two .mxd-team-grid__item:nth-last-child(-n+2) {
		margin-bottom: 0;
	}
}

/* About team 2 x 2: full-width squares were too tall; use a shorter frame and crop toward the face. */
body.azurio-theme .mxd-team-grid--two .mxd-team-grid__photo,
body.azurio-theme .mxd-team-grid--two .mxd-team-grid__placeholder {
	aspect-ratio: 4 / 3;
}
body.azurio-theme .mxd-team-grid--two .mxd-team-grid__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
}
@media only screen and (min-width: 1200px) {
	body.azurio-theme .mxd-team-grid--two .mxd-team-grid__photo,
	body.azurio-theme .mxd-team-grid--two .mxd-team-grid__placeholder {
		aspect-ratio: 3 / 2;
	}
}

/* Our Process: the sticky headline layer sits above the scrolling images and was catching every click.
   Let clicks fall through to the image links; keep the "[ Our Process ]" button clickable. */
body.azurio-theme .mxd-dv-sticky-cap__static,
body.azurio-theme .mxd-dv-sticky-cap__caption,
body.azurio-theme .mxd-dv-sticky-cap__caption a {
	pointer-events: none;
}
body.azurio-theme .mxd-dv-sticky-cap__btngroup,
body.azurio-theme .mxd-dv-sticky-cap__btngroup a {
	pointer-events: auto;
}
