/*
Theme Name: Midnex Luxe
Theme URI: https://midnex.in
Author: Midnex Spaces
Description: A lightweight, luxury block theme for Midnex Spaces — home interior design & execution, Bengaluru.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: midnex-luxe
*/

:root {
	--mx-noir: var(--wp--preset--color--noir);
	--mx-ink: var(--wp--preset--color--ink);
	--mx-umber: var(--wp--preset--color--umber);
	--mx-ivory: var(--wp--preset--color--ivory);
	--mx-sand: var(--wp--preset--color--sand);
	--mx-stone: var(--wp--preset--color--stone);
	--mx-gold: var(--wp--preset--color--gold);
	--mx-gold-soft: var(--wp--preset--color--gold-soft);
	--mx-line: rgba(194, 161, 107, 0.22);
	--mx-serif: var(--wp--preset--font-family--display);
	--mx-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--mx-header-h: 88px;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--mx-gold); color: var(--mx-noir); }
img { display: block; max-width: 100%; height: auto; }
:focus-visible { outline: 1px solid var(--mx-gold); outline-offset: 4px; }

/* Remove default gaps between full-bleed sections */
.wp-site-blocks > *, .mx-main, .mx-main .wp-block-post-content > * { margin-block: 0; }
.mx-main .wp-block-post-content > * + * { margin-block-start: 0; }

h1 em, h2 em, h3 em, .mx-quote__text em, .mx-footer__mark em { font-style: italic; color: var(--mx-gold-soft); font-weight: 300; }

/* ---------- Typography helpers ---------- */
.mx-eyebrow {
	display: flex; align-items: center; gap: 1rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400; letter-spacing: 0.34em; text-transform: uppercase;
	color: var(--mx-gold); margin: 0 0 1.75rem;
}
.mx-eyebrow::before { content: ""; width: 2.75rem; height: 1px; background: currentColor; opacity: 0.7; flex: none; }
.has-text-align-center.mx-eyebrow, .mx-quote .mx-eyebrow, .mx-cta .mx-eyebrow { justify-content: center; }
.mx-lead { font-size: var(--wp--preset--font-size--lg); line-height: 1.6; color: var(--mx-ivory); font-weight: 300; }
.mx-textlink a {
	position: relative; font-size: 0.74rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--mx-ivory);
	padding-bottom: 0.5rem; display: inline-flex; gap: 0.9rem; align-items: center;
}
.mx-textlink a::after { content: "→"; color: var(--mx-gold); transition: transform 0.5s var(--mx-ease); }
.mx-textlink a::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--mx-gold); transform-origin: left; transition: transform 0.6s var(--mx-ease); }
.mx-textlink a:hover::after { transform: translateX(6px); }
.mx-textlink a:hover::before { transform: scaleX(0.35); }

/* ---------- Buttons ---------- */
.wp-block-button__link, .wp-element-button { transition: background-color 0.5s var(--mx-ease), color 0.5s var(--mx-ease), border-color 0.5s var(--mx-ease); }
.wp-block-buttons { gap: 1rem; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--mx-gold); color: var(--mx-noir); border-color: var(--mx-gold); }

/* ---------- Header ---------- */
.mx-header {
	position: fixed; inset: 0 0 auto 0; z-index: 50; height: var(--mx-header-h);
	padding-inline: clamp(1.25rem, 4vw, 3.5rem) !important;
	transition: background-color 0.6s var(--mx-ease), border-color 0.6s var(--mx-ease), height 0.6s var(--mx-ease), backdrop-filter 0.6s;
	border-bottom: 1px solid transparent;
}
.admin-bar .mx-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mx-header { top: 46px; } }
.mx-header.is-scrolled {
	--mx-header-h: 72px;
	background: rgba(15, 14, 12, 0.82); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
	border-bottom-color: var(--mx-line);
}
.mx-logo { margin: 0; line-height: 1; }
.mx-logo a { display: inline-flex; align-items: baseline; gap: 0.7rem; color: var(--mx-ivory); }
.mx-logo__word { font-family: var(--mx-serif); font-size: 1.85rem; font-weight: 400; letter-spacing: 0.02em; }
.mx-logo__sub { font-size: 0.62rem; letter-spacing: 0.42em; text-transform: uppercase; color: var(--mx-gold); }
.mx-header__right { gap: clamp(1.25rem, 2.6vw, 2.75rem); }
.mx-nav { font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 400; gap: clamp(1.1rem, 2vw, 2.1rem); }
.mx-nav .wp-block-navigation-item__content { color: var(--mx-sand); position: relative; padding-block: 0.4rem; }
.mx-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--mx-gold); transform: scaleX(0); transform-origin: right; transition: transform 0.6s var(--mx-ease); }
.mx-nav .wp-block-navigation-item__content:hover { color: var(--mx-ivory); }
.mx-nav .wp-block-navigation-item__content:hover::after, .mx-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }
.mx-header__cta .wp-block-button__link { padding: 0.95rem 1.4rem; font-size: 0.66rem; }
@media (max-width: 1180px) { .mx-header__cta { display: none !important; } }

/* Mobile menu overlay — collapse to the menu button below 1100px (core switches only at 600px) */
@media (max-width: 1100px) {
	.mx-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.mx-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
}
.mx-nav .wp-block-navigation__responsive-container-open svg, .mx-nav .wp-block-navigation__responsive-container-close svg { fill: var(--mx-ivory); width: 28px; height: 28px; }
.mx-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--mx-noir) !important; color: var(--mx-ivory) !important; padding: 2rem clamp(1.5rem, 6vw, 3rem); }
.mx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; }
.mx-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--mx-serif); font-size: 2.3rem; letter-spacing: 0; text-transform: none; color: var(--mx-ivory); }

/* ---------- Hero ---------- */
.mx-hero {
	position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end;
	padding-top: calc(var(--mx-header-h) + 4rem) !important; padding-bottom: clamp(4rem, 12vh, 9rem) !important; overflow: hidden; isolation: isolate;
}
.mx-hero > * { width: 100%; }
.mx-hero .mx-hero__bg { position: absolute; inset: 0; margin: 0 !important; z-index: -2; max-width: none !important; }
.mx-hero .mx-hero__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); animation: mx-kenburns 14s var(--mx-ease) forwards; will-change: transform; }
.mx-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		linear-gradient(180deg, rgba(15, 14, 12, 0.72) 0%, rgba(15, 14, 12, 0.18) 34%, rgba(15, 14, 12, 0.45) 62%, rgba(15, 14, 12, 0.97) 100%),
		linear-gradient(90deg, rgba(15, 14, 12, 0.7) 0%, rgba(15, 14, 12, 0) 65%);
}
@keyframes mx-kenburns { to { transform: scale(1.0); } }
.mx-hero__inner { max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
.mx-hero__title { font-size: var(--wp--preset--font-size--huge); line-height: 0.98; margin: 0 0 2rem; max-width: 14ch; }
.mx-hero__lead { max-width: 33rem; font-size: 1.15rem; line-height: 1.7; color: var(--mx-sand); margin-bottom: 2.75rem; }
.mx-hero__scroll {
	position: absolute; right: clamp(1.25rem, 4vw, 3.5rem); bottom: 3rem; width: auto !important; margin: 0;
	writing-mode: vertical-rl; font-size: 0.62rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--mx-stone);
	display: flex; align-items: center; gap: 1rem;
}
.mx-hero__scroll::after { content: ""; width: 1px; height: 4.5rem; background: linear-gradient(var(--mx-gold), transparent); animation: mx-drip 2.6s var(--mx-ease) infinite; transform-origin: top; }
@keyframes mx-drip { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (max-width: 700px) { .mx-hero__scroll { display: none; } }

/* ---------- Marquee ---------- */
.mx-marquee { overflow: hidden; border-block: 1px solid var(--mx-line); padding-block: 1.6rem; background: var(--mx-noir); }
.mx-marquee__track { display: flex; width: max-content; margin: 0; animation: mx-marquee 55s linear infinite; }
.mx-marquee__track span { font-family: var(--mx-serif); font-style: italic; font-size: clamp(1.4rem, 2.4vw, 2.1rem); color: var(--mx-sand); white-space: nowrap; display: inline-flex; align-items: center; }
.mx-marquee__track span::after { content: "✦"; font-style: normal; font-size: 0.7rem; color: var(--mx-gold); margin-inline: clamp(1.75rem, 3.5vw, 3.25rem); }
.mx-marquee:hover .mx-marquee__track { animation-play-state: paused; }
@keyframes mx-marquee { to { transform: translateX(-50%); } }

/* ---------- Sections ---------- */
.mx-section { padding-block: var(--wp--preset--spacing--60) !important; position: relative; }
.mx-section--flush { padding-top: 0 !important; }
.mx-section--ink { background: var(--mx-ink); }
.mx-section--ivory { background: var(--mx-ivory); color: #4a443c; }
.mx-section--ivory h2, .mx-section--ivory h3 { color: var(--mx-noir); }
.mx-section--ivory h2 em { color: #9b7b45; }
.mx-section--ivory .mx-eyebrow { color: #9b7b45; }
.mx-section--ivory .mx-textlink a { color: var(--mx-noir); }
.mx-section-head { margin-bottom: clamp(2.5rem, 5vw, 4.5rem) !important; gap: 1.5rem; }
.mx-section-head h2 { margin: 0; }
.mx-section-head p { margin: 0; }

/* Intro */
.mx-intro { gap: clamp(2.5rem, 8vw, 8rem) !important; }
.mx-intro h2 { margin: 0; }
.mx-intro__copy > * + * { margin-top: 1.5rem; }
.mx-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3.5rem !important; padding-top: 2.5rem; border-top: 1px solid var(--mx-line); }
.mx-stats span { font-size: 0.82rem; line-height: 1.55; color: var(--mx-stone); }
.mx-stats strong { display: block; font-family: var(--mx-serif); font-weight: 300; font-size: clamp(2.8rem, 5vw, 4.2rem); line-height: 1; color: var(--mx-gold-soft); margin-bottom: 0.9rem; }

/* Principles */
.mx-pillars { gap: clamp(1.5rem, 3vw, 3rem) !important; }
.mx-pillars > .wp-block-column { border-top: 1px solid var(--mx-line); padding-top: 2.25rem; }
.mx-numeral, .mx-step-no { font-family: var(--mx-serif); font-style: italic; font-size: 1.35rem; color: var(--mx-gold); margin: 0 0 1.25rem; }
.mx-pillars h3, .mx-steps h3, .mx-list h3, .mx-trio h3, .mx-steps-grid h3 { font-size: clamp(1.55rem, 2.2vw, 1.95rem); margin: 0 0 0.9rem; }
.mx-pillars p:last-child, .mx-steps p:last-child { color: var(--mx-stone); font-size: 0.98rem; margin: 0; }

/* Gallery */
.mx-gallery { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: clamp(15rem, 26vw, 25rem); gap: clamp(0.75rem, 1.5vw, 1.5rem); }
.mx-gallery .mx-tile:nth-child(1) { grid-column: 1 / 6; grid-row: 1 / 3; }
.mx-gallery .mx-tile:nth-child(2) { grid-column: 6 / 10; }
.mx-gallery .mx-tile:nth-child(3) { grid-column: 10 / 13; }
.mx-gallery .mx-tile:nth-child(4) { grid-column: 6 / 13; }
.mx-tile { position: relative; margin: 0 !important; overflow: hidden; background: var(--mx-umber); }
.mx-tile a { display: block; height: 100%; }
.mx-tile img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.6s var(--mx-ease), filter 1.2s var(--mx-ease); filter: saturate(0.9); }
.mx-tile:hover img { transform: scale(1.06); filter: saturate(1.05); }
.mx-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(15, 14, 12, 0.78)); pointer-events: none; }
.mx-tile figcaption {
	position: absolute; left: clamp(1rem, 2vw, 1.75rem); bottom: clamp(1rem, 2vw, 1.5rem); z-index: 1; margin: 0;
	font-family: var(--mx-serif); font-size: clamp(1.4rem, 2.2vw, 2rem); color: var(--mx-ivory); text-align: left; display: flex; align-items: baseline; gap: 0.85rem;
}
.mx-tile figcaption span { font-family: var(--wp--preset--font-family--sans); font-size: 0.68rem; letter-spacing: 0.25em; color: var(--mx-gold-soft); }

/* Projects category grid */
.mx-cats { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: clamp(15rem, 24vw, 23rem); gap: clamp(0.75rem, 1.5vw, 1.5rem); }
.mx-cats .mx-tile--tall { grid-row: span 2; }
.mx-cats .mx-tile--wide { grid-column: span 2; }
.mx-tile--type {
	display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.25rem, 2.5vw, 2.25rem); border: 1px solid var(--mx-line); background: transparent;
	font-family: var(--mx-serif); font-size: clamp(1.7rem, 2.4vw, 2.3rem); line-height: 1.1; color: var(--mx-ivory); transition: background-color 0.8s var(--mx-ease);
}
.mx-tile--type::after { display: none; }
.mx-tile--type:hover { background: var(--mx-umber); }
.mx-tile--type span { font-family: var(--wp--preset--font-family--sans); font-size: 0.68rem; letter-spacing: 0.25em; color: var(--mx-gold); margin-bottom: auto; }
.mx-tile--type small { font-family: var(--wp--preset--font-family--sans); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mx-stone); margin-top: 0.75rem; }
.mx-note { max-width: 46rem; margin: 3rem 0 0 !important; font-size: 0.9rem; color: var(--mx-stone); }

/* Steps */
.mx-steps { gap: clamp(1.5rem, 3vw, 3rem) !important; }
.mx-steps > .wp-block-column { border-top: 1px solid var(--mx-line); padding-top: 2rem; }
.mx-steps .mx-step-no { font-style: normal; font-size: 3.2rem; line-height: 1; color: var(--mx-gold-soft); opacity: 0.85; }

/* Quote band */
.mx-quote {
	padding-block: var(--wp--preset--spacing--70) !important; text-align: center;
	background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(194, 161, 107, 0.09), transparent 70%), var(--mx-noir);
	border-block: 1px solid var(--mx-line);
}
.mx-quote__text { font-family: var(--mx-serif); font-weight: 300; font-size: clamp(1.9rem, 4vw, 3.4rem); line-height: 1.22; color: var(--mx-ivory); margin: 0 auto 2.5rem !important; }
.mx-quote__text--sm { font-size: clamp(1.6rem, 3vw, 2.5rem); }

/* Page hero (inner pages) */
.mx-pagehero { padding-top: calc(var(--mx-header-h) + clamp(4rem, 12vh, 9rem)) !important; padding-bottom: var(--wp--preset--spacing--50) !important; }
.mx-pagehero h1 { font-size: clamp(2.9rem, 7vw, 6.2rem); line-height: 1; margin: 0 0 2.25rem; }
.mx-pagehero__lead { max-width: 40rem; color: var(--mx-sand); }
.mx-banner { margin: 0 !important; overflow: hidden; }
.mx-banner img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }

/* Services list */
.mx-list { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: clamp(2rem, 6vw, 6rem); }
.mx-list__item { display: grid !important; grid-template-columns: 4.5rem 1fr; column-gap: 1.5rem; padding-block: 2.5rem; border-top: 1px solid var(--mx-line); }
.mx-list__item .mx-step-no { grid-row: span 2; font-style: normal; font-size: 1.1rem; letter-spacing: 0.1em; padding-top: 0.55rem; transition: color 0.5s; }
.mx-list__item h3, .mx-list__item p { grid-column: 2; margin-block: 0; }
.mx-list__item p:last-child { color: var(--mx-stone); margin-top: 0.75rem; }
.mx-list__item:hover h3 { color: var(--mx-gold-soft); }
.mx-list__item h3 { transition: color 0.5s var(--mx-ease); }

/* Timeline */
.mx-timeline { position: relative; max-width: 62rem; }
.mx-timeline__item { display: grid !important; grid-template-columns: 9rem 1fr; column-gap: 2rem; padding-block: 2.5rem; border-top: 1px solid var(--mx-line); }
.mx-timeline__item .mx-step-no { grid-row: span 2; font-style: normal; font-family: var(--wp--preset--font-family--sans); font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; padding-top: 0.9rem; }
.mx-timeline__item h3 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); margin: 0; grid-column: 2; }
.mx-timeline__item p:last-child { grid-column: 2; color: var(--mx-stone); margin: 0.75rem 0 0; max-width: 38rem; }

/* Trios and step grids */
.mx-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 3vw, 3rem); }
.mx-steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: 3rem; }
.mx-trio__item, .mx-steps-grid__item { border-top: 1px solid var(--mx-line); padding-top: 2rem; }
.mx-trio__item p:last-child, .mx-steps-grid__item p:last-child { color: var(--mx-stone); margin: 0; }
.mx-steps-grid__item .mx-step-no { font-style: normal; font-size: 2.6rem; line-height: 1; color: var(--mx-gold-soft); }

/* Path */
.mx-path { display: flex; flex-wrap: wrap; gap: 0.5rem 0; margin: 0; }
.mx-path span { font-family: var(--mx-serif); font-size: clamp(1.6rem, 3.2vw, 2.8rem); color: var(--mx-ivory); display: inline-flex; align-items: center; }
.mx-path span:not(:last-child)::after { content: "⟶"; font-size: 0.55em; color: var(--mx-gold); margin-inline: clamp(0.9rem, 2vw, 1.75rem); }
.mx-path span:last-child { font-style: italic; color: var(--mx-gold-soft); }

/* CTA band */
.mx-cta { padding-block: var(--wp--preset--spacing--60) !important; background: var(--mx-ink); border-top: 1px solid var(--mx-line); }
.mx-cta h2 { margin-bottom: 1.25rem; }
.mx-cta p { color: var(--mx-sand); max-width: 36rem; margin-inline: auto; margin-bottom: 2.5rem; }

/* Contact */
.mx-enquire .wp-block-columns { gap: clamp(2.5rem, 7vw, 7rem) !important; }
.mx-contact { display: flex; flex-direction: column; gap: 0.6rem; padding-block: 1.6rem; border-top: 1px solid var(--mx-line); margin: 0 !important; font-size: 1.1rem; color: var(--mx-ivory); }
.mx-contact .mx-eyebrow { margin: 0; }
.mx-contact a { color: var(--mx-ivory); font-family: var(--mx-serif); font-size: 1.7rem; }
.mx-enquire .wp-block-buttons { margin-top: 2rem; }

/* ---------- Form ---------- */
.mx-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; row-gap: 0.25rem; }
.mx-field { position: relative; margin: 0; padding-top: 1.4rem; }
.mx-field--full { grid-column: 1 / -1; }
.mx-field input, .mx-field select, .mx-field textarea {
	width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(227, 218, 204, 0.25); border-radius: 0;
	color: var(--mx-ivory); font: inherit; font-size: 1.05rem; padding: 0.85rem 0; outline: none; transition: border-color 0.5s var(--mx-ease);
	-webkit-appearance: none; appearance: none;
}
.mx-field textarea { resize: vertical; min-height: 5.5rem; }
.mx-field select { cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, var(--mx-gold) 50%), linear-gradient(135deg, var(--mx-gold) 50%, transparent 50%); background-position: calc(100% - 10px) 55%, calc(100% - 5px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.mx-field select option { background: var(--mx-ink); color: var(--mx-ivory); }
.mx-field input:focus, .mx-field select:focus, .mx-field textarea:focus { border-bottom-color: var(--mx-gold); }
.mx-field label {
	position: absolute; left: 0; top: 2.25rem; pointer-events: none; color: var(--mx-stone); font-size: 1rem;
	transition: transform 0.4s var(--mx-ease), color 0.4s, font-size 0.4s;
}
.mx-field input:focus + label, .mx-field input:not(:placeholder-shown) + label,
.mx-field textarea:focus + label, .mx-field textarea:not(:placeholder-shown) + label, .mx-field label.is-static {
	transform: translateY(-1.65rem); font-size: 0.66rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--mx-gold);
}
.mx-form__submit { margin: 2rem 0 0; }
.mx-form__submit button { cursor: pointer; }
.mx-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mx-form-msg { padding: 1.1rem 1.4rem; border: 1px solid var(--mx-line); margin-bottom: 1.5rem; font-size: 0.98rem; }
.mx-form-msg--ok { border-color: var(--mx-gold); color: var(--mx-gold-soft); }
.mx-form-msg--err { border-color: #b4685a; color: #e4a597; }

/* ---------- Footer ---------- */
.mx-footer { background: #0A0908; padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: 2rem !important; border-top: 1px solid var(--mx-line); }
.mx-footer__mark { font-family: var(--mx-serif); font-weight: 300; font-size: clamp(3.2rem, 11vw, 10rem); line-height: 0.9; color: var(--mx-ivory); margin: 0 0 clamp(3rem, 6vw, 5rem) !important; padding-bottom: clamp(2rem, 4vw, 3.5rem); border-bottom: 1px solid var(--mx-line); letter-spacing: -0.02em; }
.mx-footer__cols { gap: clamp(2rem, 4vw, 4rem) !important; }
.mx-footer__lead { font-family: var(--mx-serif); font-size: 1.55rem; line-height: 1.35; color: var(--mx-sand); max-width: 22rem; }
.mx-footer__links { display: flex; flex-direction: column; gap: 0.55rem; font-size: 0.95rem; }
.mx-footer__links a, .mx-footer__links span { color: var(--mx-stone); }
.mx-footer__links a:hover { color: var(--mx-ivory); }
.mx-footer__path { color: var(--mx-stone); font-size: 0.95rem; line-height: 2; }
.mx-footer__base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: clamp(3rem, 6vw, 5rem) !important; padding-top: 1.75rem; border-top: 1px solid var(--mx-line); font-size: 0.68rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--mx-stone); }

/* WhatsApp float */
.mx-wa {
	position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: clamp(1rem, 2.5vw, 2rem); z-index: 60;
	width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
	background: var(--mx-gold); color: var(--mx-noir); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
	transition: transform 0.5s var(--mx-ease), background-color 0.5s;
}
.mx-wa:hover { transform: translateY(-4px); background: var(--mx-ivory); color: var(--mx-noir); }

/* 404 / archive */
.mx-404, .mx-index { padding-top: calc(var(--mx-header-h) + 8rem) !important; padding-bottom: var(--wp--preset--spacing--60) !important; min-height: 70vh; }

/* ---------- Reveal on scroll ---------- */
.js .mx-reveal { opacity: 0; transform: translateY(28px); transition: opacity 1.2s var(--mx-ease), transform 1.2s var(--mx-ease); transition-delay: var(--mx-delay, 0s); }
.js .mx-reveal.is-in { opacity: 1; transform: none; }
.js .mx-hero .mx-reveal { transition-duration: 1.6s; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.js .mx-reveal { opacity: 1; transform: none; transition: none; }
	.mx-hero .mx-hero__bg img, .mx-marquee__track, .mx-hero__scroll::after { animation: none; transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.mx-steps-grid { grid-template-columns: repeat(2, 1fr); }
	.mx-cats { grid-template-columns: repeat(2, 1fr); }
	.mx-cats .mx-tile--wide { grid-column: span 2; }
}
@media (max-width: 781px) {
	:root { --mx-header-h: 72px; }
	.mx-stats { grid-template-columns: 1fr; gap: 2rem; }
	.mx-gallery { grid-template-columns: 1fr; grid-auto-rows: 22rem; }
	.mx-gallery .mx-tile:nth-child(n) { grid-column: auto; grid-row: auto; }
	.mx-cats { grid-template-columns: 1fr; grid-auto-rows: 20rem; }
	.mx-cats .mx-tile--tall, .mx-cats .mx-tile--wide { grid-row: auto; grid-column: auto; }
	.mx-tile--type { min-height: 12rem; }
	.mx-list, .mx-trio, .mx-steps-grid, .mx-form { grid-template-columns: 1fr; }
	.mx-timeline__item { grid-template-columns: 1fr; }
	.mx-timeline__item .mx-step-no, .mx-timeline__item h3, .mx-timeline__item p:last-child { grid-column: 1; grid-row: auto; padding-top: 0; }
	.mx-timeline__item .mx-step-no { margin-bottom: 0.75rem; }
	.mx-banner img { aspect-ratio: 4 / 3; }
	.mx-hero__title { max-width: none; }
}

/* Footer refinements */
.mx-footer .mx-eyebrow::before { display: none; }
.mx-footer__base { padding-right: 5rem; }

/* Grid children: no flow-layout margins */
.mx-list > *, .mx-timeline > *, .mx-trio > *, .mx-steps-grid > *, .mx-gallery > *, .mx-cats > *, .mx-stats > * { margin-block: 0 !important; }

/* Narrow blocks inside wide constrained sections align to the left edge of the wide column */
.mx-pagehero__lead, .mx-note { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; margin-right: auto !important; }
.mx-timeline { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; }

/* Last category becomes a full-width band */
.mx-cats .mx-tile--type:last-child { grid-column: 1 / -1; grid-row: auto; }
@media (min-width: 782px) { .mx-cats .mx-tile--type:last-child { flex-direction: row; align-items: flex-end; gap: 1.5rem; } .mx-cats .mx-tile--type:last-child small { margin: 0 0 0.45rem auto; } }

@media (max-width: 600px) {
	.mx-eyebrow { letter-spacing: 0.24em; gap: 0.75rem; }
	.mx-eyebrow::before { width: 1.5rem; }
	.mx-hero .wp-block-button, .mx-hero .wp-block-button__link { width: 100%; text-align: center; }
}

/* backdrop-filter traps the fixed menu overlay inside the header — drop it while the menu is open */
html.has-modal-open .mx-header, .mx-header:has(.is-menu-open) { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.mx-nav .is-menu-open .wp-block-navigation__responsive-container-content, .mx-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.mx-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; }
