/*
Theme Name: Marco Firme
Theme URI: https://marcofirme.mx
Description: Tema hijo industrial para Marco Firme — instalación profesional de marcos, herraje y sistemas de cierre para edificios comerciales. Construido sobre Astra. Estética técnica/industrial, mobile-first, optimizado para conversión B2B.
Author: Marco Firme
Author URI: https://marcofirme.mx
Template: astra
Version: 1.0.5
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: marco-firme
Tags: business, services, construction, industrial
*/

/* ==========================================================================
   DESIGN SYSTEM — Marco Firme
   Direction: Industrial/technical. Blueprint paper background, ink-black
   headlines, single bold safety-orange accent. Mono headings suggest
   precision/measurement (appropriate for door frame installation).
   ========================================================================== */

:root {
	/* --- Color --- */
	--mf-surface:        #F4F4F1;   /* warm blueprint off-white */
	--mf-surface-alt:    #EAEAE5;   /* slight deeper for sections */
	--mf-surface-dark:   #0F1620;   /* near-black with navy undertone */
	--mf-ink:            #0F1620;   /* primary text */
	--mf-ink-soft:       #3E4A57;   /* secondary text, steel */
	--mf-ink-mute:       #7A8390;   /* captions, muted */
	--mf-border:         #D8D5CE;   /* subtle warm divider */
	--mf-border-strong:  #B5B0A4;   /* visible border */
	--mf-accent:         #E55600;   /* safety orange — sparingly */
	--mf-accent-deep:    #B84300;   /* darker orange for hover */
	--mf-success:        #1E5631;
	--mf-error:          #991B1B;
	--mf-warn:           #B45309;

	/* --- Typography --- */
	--mf-font-display: "JetBrains Mono", "SF Mono", "Roboto Mono", "Menlo", ui-monospace, monospace;
	--mf-font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

	/* Type scale */
	--mf-h1: clamp(2.25rem, 5vw + 0.5rem, 4rem);
	--mf-h2: clamp(1.75rem, 3vw + 0.75rem, 2.75rem);
	--mf-h3: clamp(1.25rem, 1.5vw + 0.75rem, 1.625rem);
	--mf-h4: 1.125rem;
	--mf-body:  1rem;
	--mf-body-lg: 1.0625rem;
	--mf-small: 0.875rem;
	--mf-micro: 0.75rem;

	/* --- Spacing scale (8px base) --- */
	--mf-s-1: 0.5rem;
	--mf-s-2: 1rem;
	--mf-s-3: 1.5rem;
	--mf-s-4: 2rem;
	--mf-s-5: 3rem;
	--mf-s-6: 4rem;
	--mf-s-7: 6rem;
	--mf-s-8: 8rem;

	--mf-section-y: clamp(3.5rem, 7vw, 6rem);
	--mf-section-x: clamp(1.25rem, 4vw, 3rem);

	/* --- Layout --- */
	--mf-max-content:  1280px;
	--mf-max-narrow:   720px;
	--mf-max-reading:  640px;
	--mf-max-wide:     1440px;

	/* --- Borders --- */
	--mf-radius: 2px;
	--mf-radius-sm: 0px;
	--mf-border-hair: 1px solid var(--mf-border);

	/* --- Motion --- */
	--mf-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--mf-fast: 160ms;
	--mf-med:  240ms;
	--mf-slow: 420ms;

	/* --- Shadows --- */
	--mf-shadow-sm: 0 1px 2px rgba(15, 22, 32, 0.06);
	--mf-shadow-md: 0 4px 12px rgba(15, 22, 32, 0.08);
	--mf-shadow-lg: 0 12px 32px rgba(15, 22, 32, 0.1);
}

/* ==========================================================================
   RESET / BASE
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.mf-body, body {
	margin: 0;
	font-family: var(--mf-font-body);
	font-size: var(--mf-body);
	line-height: 1.6;
	color: var(--mf-ink);
	background: var(--mf-surface);
	font-feature-settings: "ss01", "cv11";
}

/* Subtle blueprint grid background — only on dark sections, very faint */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	background-image:
		linear-gradient(rgba(15, 22, 32, 0.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(15, 22, 32, 0.018) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	z-index: 0;
}
body > * { position: relative; z-index: 1; }

img, picture, video, svg { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; transition: color var(--mf-fast) var(--mf-ease); }
a:hover { color: var(--mf-accent-deep); }

p { margin: 0 0 var(--mf-s-3); }

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mf-font-display);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--mf-ink);
	margin: 0 0 var(--mf-s-3);
}

h1 { font-size: var(--mf-h1); line-height: 1.05; font-weight: 600; }
h2 { font-size: var(--mf-h2); line-height: 1.1; }
h3 { font-size: var(--mf-h3); line-height: 1.2; }
h4 { font-size: var(--mf-h4); line-height: 1.3; font-weight: 500; }

.mf-eyebrow {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--mf-accent);
	font-weight: 600;
	margin-bottom: var(--mf-s-2);
	display: inline-block;
}
.mf-eyebrow::before {
	content: "/ ";
	color: var(--mf-ink-mute);
}

.mf-lead {
	font-size: var(--mf-body-lg);
	line-height: 1.7;
	color: var(--mf-ink-soft);
	max-width: var(--mf-max-reading);
}

/* ==========================================================================
   LAYOUT PRIMITIVES
   ========================================================================== */

.mf-container {
	width: 100%;
	max-width: var(--mf-max-content);
	margin-inline: auto;
	padding-inline: var(--mf-section-x);
}
.mf-container--narrow { max-width: var(--mf-max-narrow); }
.mf-container--reading { max-width: var(--mf-max-reading); }
.mf-container--wide { max-width: var(--mf-max-wide); }

.mf-section { padding-block: var(--mf-section-y); }
.mf-section--tight { padding-block: clamp(2rem, 4vw, 3.5rem); }
.mf-section--alt { background: var(--mf-surface-alt); }
.mf-section--dark {
	background: var(--mf-surface-dark);
	color: var(--mf-surface);
}
.mf-section--dark h1,
.mf-section--dark h2,
.mf-section--dark h3 { color: var(--mf-surface); }
.mf-section--dark .mf-eyebrow { color: var(--mf-accent); }

.mf-grid { display: grid; gap: var(--mf-s-4); }
.mf-grid--2 { grid-template-columns: 1fr; }
.mf-grid--3 { grid-template-columns: 1fr; }
.mf-grid--4 { grid-template-columns: repeat(2, 1fr); }

@media (min-width: 640px) {
	.mf-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
	.mf-grid--2 { grid-template-columns: 1fr 1fr; gap: var(--mf-s-5); }
	.mf-grid--3 { grid-template-columns: repeat(3, 1fr); gap: var(--mf-s-4); }
	.mf-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.mf-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-5);
	align-items: center;
}
@media (min-width: 900px) {
	.mf-split { grid-template-columns: 1fr 1fr; gap: var(--mf-s-6); }
	.mf-split--40-60 { grid-template-columns: 4fr 6fr; }
	.mf-split--60-40 { grid-template-columns: 6fr 4fr; }
}

.mf-stack > * + * { margin-top: var(--mf-s-3); }

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.mf-btn,
.button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 1.1em 1.75em;
	border: 1px solid var(--mf-accent);
	background: var(--mf-accent);
	color: var(--mf-surface) !important;
	cursor: pointer;
	transition: all var(--mf-fast) var(--mf-ease);
	border-radius: var(--mf-radius);
	text-decoration: none;
	line-height: 1;
	min-height: 48px;
}

.mf-btn:hover,
.button:hover {
	background: var(--mf-accent-deep);
	border-color: var(--mf-accent-deep);
	color: var(--mf-surface) !important;
}

.mf-btn--ghost {
	background: transparent;
	color: var(--mf-ink) !important;
	border-color: var(--mf-ink);
}
.mf-btn--ghost:hover {
	background: var(--mf-ink);
	color: var(--mf-surface) !important;
}

.mf-btn--dark {
	background: var(--mf-ink);
	color: var(--mf-surface) !important;
	border-color: var(--mf-ink);
}
.mf-btn--dark:hover {
	background: var(--mf-accent);
	border-color: var(--mf-accent);
}

.mf-btn--light {
	background: var(--mf-surface);
	color: var(--mf-ink) !important;
	border-color: var(--mf-surface);
}

.mf-btn--full { width: 100%; }

.mf-btn--link {
	background: transparent;
	border: none;
	color: var(--mf-accent) !important;
	padding: 0;
	font-size: var(--mf-micro);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--mf-accent);
	padding-bottom: 4px;
	min-height: auto;
	font-weight: 600;
}
.mf-btn--link:hover {
	background: transparent;
	color: var(--mf-accent-deep) !important;
	border-bottom-color: var(--mf-accent-deep);
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.mf-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--mf-surface);
	border-bottom: 1px solid transparent;
	transition: border-color var(--mf-med) var(--mf-ease);
}
.mf-header.is-scrolled {
	border-bottom-color: var(--mf-border);
	box-shadow: var(--mf-shadow-sm);
}

/* Top utility bar with phone / coverage area */
.mf-topbar {
	background: var(--mf-ink);
	color: var(--mf-surface);
	font-size: var(--mf-micro);
	padding: 8px var(--mf-section-x);
	display: none;
}
.mf-topbar__inner {
	max-width: var(--mf-max-content);
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	gap: var(--mf-s-3);
	align-items: center;
}
.mf-topbar a {
	color: var(--mf-surface);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-family: var(--mf-font-display);
	font-weight: 500;
}
.mf-topbar a:hover { color: var(--mf-accent); }
.mf-topbar__items {
	display: flex;
	gap: var(--mf-s-3);
}
@media (min-width: 700px) {
	.mf-topbar { display: block; }
}

.mf-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--mf-s-3);
	padding: var(--mf-s-2) var(--mf-section-x);
	min-height: 72px;
}

.mf-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--mf-font-display);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--mf-ink);
	line-height: 1;
	font-size: 1.125rem;
}
.mf-logo svg { width: 36px; height: 36px; flex-shrink: 0; }
.mf-logo__mark { color: var(--mf-ink); }
.mf-logo__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1;
}
.mf-logo__name {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mf-ink);
}
.mf-logo__tag {
	font-family: var(--mf-font-body);
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--mf-accent);
}

.mf-nav {
	display: none;
}
@media (min-width: 900px) {
	.mf-nav { display: flex; align-items: center; gap: var(--mf-s-4); }
}
.mf-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--mf-s-4);
}
.mf-nav a {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 600;
	color: var(--mf-ink);
	padding-block: 6px;
	border-bottom: 2px solid transparent;
	transition: border-color var(--mf-fast) var(--mf-ease);
}
.mf-nav a:hover { border-bottom-color: var(--mf-accent); }
.mf-nav .current-menu-item > a,
.mf-nav .current_page_item > a { border-bottom-color: var(--mf-accent); }

.mf-header__cta {
	display: none;
}
@media (min-width: 900px) {
	.mf-header__cta { display: inline-flex; }
}

.mf-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border: 1px solid var(--mf-ink);
	background: transparent;
	color: var(--mf-ink);
	cursor: pointer;
	border-radius: var(--mf-radius);
}
@media (min-width: 900px) {
	.mf-menu-toggle { display: none; }
}

/* Mobile drawer */
.mf-drawer {
	position: fixed;
	inset: 0;
	background: var(--mf-surface-dark);
	color: var(--mf-surface);
	z-index: 200;
	transform: translateX(100%);
	transition: transform var(--mf-med) var(--mf-ease);
	display: flex;
	flex-direction: column;
}
.mf-drawer.is-open { transform: translateX(0); }
.mf-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--mf-s-2) var(--mf-section-x);
	min-height: 72px;
	border-bottom: 1px solid rgba(244, 244, 241, 0.1);
}
.mf-drawer .mf-logo,
.mf-drawer .mf-logo__name,
.mf-drawer .mf-logo__mark { color: var(--mf-surface); }
.mf-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: var(--mf-s-4) var(--mf-section-x);
}
.mf-drawer__body ul {
	list-style: none;
	margin: 0; padding: 0;
}
.mf-drawer__body li + li {
	border-top: 1px solid rgba(244, 244, 241, 0.1);
}
.mf-drawer__body a {
	display: block;
	padding: var(--mf-s-2) 0;
	font-family: var(--mf-font-display);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--mf-surface);
	letter-spacing: -0.01em;
}
.mf-drawer__foot {
	padding: var(--mf-s-3) var(--mf-section-x);
	border-top: 1px solid rgba(244, 244, 241, 0.1);
	display: flex;
	flex-direction: column;
	gap: var(--mf-s-2);
}

body.mf-scroll-lock { overflow: hidden; }

/* ==========================================================================
   HERO
   ========================================================================== */

.mf-hero {
	position: relative;
	min-height: clamp(540px, 75vh, 760px);
	display: grid;
	align-items: end;
	overflow: hidden;
	background: var(--mf-surface-dark);
	color: var(--mf-surface);
}
.mf-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.mf-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 22, 32, 0.35) 0%, rgba(15, 22, 32, 0.85) 100%);
	z-index: 1;
}
.mf-hero__bg {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center;
}
.mf-hero__inner {
	position: relative;
	z-index: 2;
	padding: var(--mf-section-y) var(--mf-section-x);
	width: 100%;
	max-width: var(--mf-max-wide);
	margin-inline: auto;
}
.mf-hero__content { max-width: 700px; }
.mf-hero__eyebrow {
	color: var(--mf-accent);
	margin-bottom: var(--mf-s-3);
}
.mf-hero h1 {
	color: var(--mf-surface);
	margin-bottom: var(--mf-s-3);
	font-size: clamp(2.25rem, 5vw, 3.75rem);
}
.mf-hero p {
	color: rgba(244, 244, 241, 0.85);
	font-size: var(--mf-body-lg);
	line-height: 1.6;
	margin-bottom: var(--mf-s-4);
	max-width: 540px;
}
.mf-hero__cta {
	display: flex;
	gap: var(--mf-s-2);
	flex-wrap: wrap;
}

/* Hero placeholder — blueprint-style technical pattern */
.mf-hero-placeholder {
	width: 100%; height: 100%;
	background:
		linear-gradient(135deg, #0F1620 0%, #1B2840 100%);
	position: relative;
	display: grid;
	place-items: center;
}
.mf-hero-placeholder::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(229, 86, 0, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(229, 86, 0, 0.06) 1px, transparent 1px);
	background-size: 32px 32px;
}
.mf-hero-placeholder svg {
	width: clamp(220px, 35vw, 380px);
	height: auto;
	opacity: 0.4;
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   STATS STRIP
   ========================================================================== */

.mf-stats {
	background: var(--mf-ink);
	color: var(--mf-surface);
	padding: var(--mf-s-4) var(--mf-section-x);
}
.mf-stats__row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--mf-s-3);
	max-width: var(--mf-max-content);
	margin-inline: auto;
}
@media (min-width: 700px) {
	.mf-stats__row { grid-template-columns: repeat(4, 1fr); }
}
.mf-stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-inline: var(--mf-s-2);
	border-left: 2px solid var(--mf-accent);
}
.mf-stat__num {
	font-family: var(--mf-font-display);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mf-surface);
	line-height: 1;
}
.mf-stat__label {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(244, 244, 241, 0.65);
}

/* ==========================================================================
   SERVICE CARDS
   ========================================================================== */

.mf-service-card {
	background: var(--mf-surface);
	border: 1px solid var(--mf-border);
	padding: var(--mf-s-4);
	transition: all var(--mf-med) var(--mf-ease);
	position: relative;
	display: block;
	color: var(--mf-ink);
}
.mf-service-card:hover {
	border-color: var(--mf-accent);
	transform: translateY(-2px);
	box-shadow: var(--mf-shadow-md);
	color: var(--mf-ink);
}
.mf-service-card__icon {
	width: 48px; height: 48px;
	color: var(--mf-accent);
	margin-bottom: var(--mf-s-3);
}
.mf-service-card__num {
	position: absolute;
	top: var(--mf-s-3);
	right: var(--mf-s-3);
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	color: var(--mf-ink-mute);
	letter-spacing: 0.1em;
}
.mf-service-card h3 {
	font-size: 1.25rem;
	margin-bottom: var(--mf-s-2);
}
.mf-service-card p {
	color: var(--mf-ink-soft);
	font-size: var(--mf-small);
	margin: 0 0 var(--mf-s-3);
}
.mf-service-card__link {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--mf-accent);
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* ==========================================================================
   PROCESS STEPS
   ========================================================================== */

.mf-process {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-4);
	position: relative;
}
@media (min-width: 700px) {
	.mf-process { grid-template-columns: repeat(4, 1fr); }
}
.mf-process-step {
	position: relative;
	padding-top: var(--mf-s-3);
	border-top: 2px solid var(--mf-accent);
}
.mf-process-step__num {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	color: var(--mf-accent);
	letter-spacing: 0.15em;
	font-weight: 700;
	margin-bottom: var(--mf-s-1);
	display: block;
}
.mf-process-step h3 {
	font-size: 1.125rem;
	margin-bottom: var(--mf-s-2);
}
.mf-process-step p {
	color: var(--mf-ink-soft);
	font-size: var(--mf-small);
}

/* ==========================================================================
   PROJECT CARDS
   ========================================================================== */

.mf-project-card {
	display: block;
	color: var(--mf-ink);
	background: var(--mf-surface);
	border: 1px solid var(--mf-border);
	overflow: hidden;
	transition: all var(--mf-med) var(--mf-ease);
}
.mf-project-card:hover {
	border-color: var(--mf-accent);
	transform: translateY(-2px);
	color: var(--mf-ink);
}
.mf-project-card__media {
	aspect-ratio: 4 / 3;
	background: var(--mf-surface-alt);
	overflow: hidden;
}
.mf-project-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform var(--mf-slow) var(--mf-ease);
}
.mf-project-card:hover .mf-project-card__media img {
	transform: scale(1.04);
}
.mf-project-card__body {
	padding: var(--mf-s-3);
}
.mf-project-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--mf-ink-mute);
	margin-bottom: 8px;
}
.mf-project-card__cat { color: var(--mf-accent); font-weight: 600; }
.mf-project-card h3 {
	font-size: 1.125rem;
	margin: 0 0 8px;
	font-weight: 500;
}
.mf-project-card__loc {
	font-size: var(--mf-small);
	color: var(--mf-ink-soft);
}

/* ==========================================================================
   TESTIMONIAL CARDS
   ========================================================================== */

.mf-testimonial {
	background: var(--mf-surface);
	border-left: 3px solid var(--mf-accent);
	padding: var(--mf-s-4);
	height: 100%;
}
.mf-testimonial blockquote {
	margin: 0 0 var(--mf-s-3);
	font-size: var(--mf-body-lg);
	line-height: 1.6;
	color: var(--mf-ink);
	font-style: italic;
}
.mf-testimonial blockquote::before {
	content: "\201C";
	font-size: 2rem;
	color: var(--mf-accent);
	line-height: 0;
	margin-right: 4px;
}
.mf-testimonial__author {
	font-family: var(--mf-font-display);
	font-size: var(--mf-small);
	font-weight: 600;
	color: var(--mf-ink);
}
.mf-testimonial__role {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--mf-ink-mute);
	margin-top: 2px;
}

/* ==========================================================================
   BRANDS STRIP (logos of hardware brands installed)
   ========================================================================== */

.mf-brands {
	padding: var(--mf-s-4) var(--mf-section-x);
	border-top: 1px solid var(--mf-border);
	border-bottom: 1px solid var(--mf-border);
	background: var(--mf-surface);
}
.mf-brands__inner {
	max-width: var(--mf-max-content);
	margin-inline: auto;
}
.mf-brands__label {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--mf-ink-mute);
	text-align: center;
	margin-bottom: var(--mf-s-3);
}
.mf-brands__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--mf-s-5);
}
.mf-brand-item {
	font-family: var(--mf-font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--mf-ink-soft);
	letter-spacing: 0.05em;
}

/* ==========================================================================
   BLOG / JOURNAL CARDS
   ========================================================================== */

.mf-post-card { display: block; color: var(--mf-ink); }
.mf-post-card__media {
	aspect-ratio: 16 / 10;
	background: var(--mf-surface-alt);
	margin-bottom: var(--mf-s-2);
	overflow: hidden;
}
.mf-post-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform var(--mf-slow) var(--mf-ease);
}
.mf-post-card:hover .mf-post-card__media img { transform: scale(1.03); }
.mf-post-card__cat {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--mf-accent);
	font-weight: 600;
	margin-bottom: 8px;
	display: block;
}
.mf-post-card__title {
	font-family: var(--mf-font-display);
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0 0 8px;
	line-height: 1.3;
}
.mf-post-card__excerpt {
	color: var(--mf-ink-soft);
	font-size: var(--mf-small);
	margin: 0;
}

/* ==========================================================================
   CTA SECTION
   ========================================================================== */

.mf-cta {
	background: var(--mf-surface-dark);
	color: var(--mf-surface);
	padding: var(--mf-section-y) var(--mf-section-x);
	position: relative;
	overflow: hidden;
}
.mf-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(229, 86, 0, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(229, 86, 0, 0.04) 1px, transparent 1px);
	background-size: 32px 32px;
}
.mf-cta__inner {
	position: relative;
	max-width: var(--mf-max-narrow);
	margin-inline: auto;
	text-align: center;
}
.mf-cta h2 { color: var(--mf-surface); margin-bottom: var(--mf-s-3); }
.mf-cta p { color: rgba(244, 244, 241, 0.8); margin-bottom: var(--mf-s-4); }
.mf-cta__actions {
	display: flex;
	gap: var(--mf-s-2);
	justify-content: center;
	flex-wrap: wrap;
}

/* ==========================================================================
   QUOTE FORM
   ========================================================================== */

.mf-form {
	background: var(--mf-surface);
	border: 1px solid var(--mf-border);
	padding: var(--mf-s-4);
}
.mf-form__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-3);
	margin-bottom: var(--mf-s-3);
}
@media (min-width: 700px) {
	.mf-form__row--2 { grid-template-columns: 1fr 1fr; }
}
.mf-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mf-form__label {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--mf-ink-soft);
	font-weight: 600;
}
.mf-input,
.mf-textarea,
.mf-select {
	font-family: var(--mf-font-body);
	font-size: var(--mf-body);
	padding: 12px 14px;
	border: 1px solid var(--mf-border-strong);
	background: var(--mf-surface);
	color: var(--mf-ink);
	border-radius: var(--mf-radius);
	transition: border-color var(--mf-fast) var(--mf-ease);
	width: 100%;
}
.mf-input:focus,
.mf-textarea:focus,
.mf-select:focus {
	outline: none;
	border-color: var(--mf-accent);
}
.mf-textarea { min-height: 120px; resize: vertical; }

/* ==========================================================================
   FOOTER
   ========================================================================== */

.mf-footer {
	background: var(--mf-surface-dark);
	color: var(--mf-surface);
	padding: var(--mf-s-7) var(--mf-section-x) var(--mf-s-3);
	margin-top: 0;
}
.mf-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-4);
	max-width: var(--mf-max-content);
	margin-inline: auto;
}
@media (min-width: 700px) {
	.mf-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: var(--mf-s-5); }
}
.mf-footer__col h4 {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 700;
	color: var(--mf-accent);
	margin-bottom: var(--mf-s-2);
}
.mf-footer__col ul { list-style: none; margin: 0; padding: 0; }
.mf-footer__col li { margin-bottom: 10px; }
.mf-footer__col a {
	color: rgba(244, 244, 241, 0.7);
	font-size: var(--mf-small);
}
.mf-footer__col a:hover { color: var(--mf-surface); }
.mf-footer__brand .mf-logo,
.mf-footer__brand .mf-logo__name { color: var(--mf-surface); }
.mf-footer__brand .mf-logo__mark { color: var(--mf-accent); }
.mf-footer__brand p {
	color: rgba(244, 244, 241, 0.65);
	font-size: var(--mf-small);
	margin-top: var(--mf-s-2);
	max-width: 320px;
}
.mf-footer__bottom {
	max-width: var(--mf-max-content);
	margin: var(--mf-s-5) auto 0;
	padding-top: var(--mf-s-3);
	border-top: 1px solid rgba(244, 244, 241, 0.1);
	display: flex;
	flex-direction: column;
	gap: var(--mf-s-2);
	align-items: center;
	text-align: center;
	font-size: var(--mf-micro);
	color: rgba(244, 244, 241, 0.55);
}
@media (min-width: 700px) {
	.mf-footer__bottom { flex-direction: row; justify-content: space-between; text-align: left; }
}

/* ==========================================================================
   PAGE HERO (interior pages)
   ========================================================================== */

.mf-page-hero {
	background: var(--mf-surface-alt);
	padding: var(--mf-s-6) var(--mf-section-x) var(--mf-s-5);
	border-bottom: 1px solid var(--mf-border);
}
.mf-page-hero__inner {
	max-width: var(--mf-max-content);
	margin-inline: auto;
}
.mf-page-hero h1 {
	margin-bottom: var(--mf-s-2);
}
.mf-page-hero p {
	color: var(--mf-ink-soft);
	font-size: var(--mf-body-lg);
	max-width: 640px;
	margin: 0;
}

/* ==========================================================================
   PROSE
   ========================================================================== */

.mf-prose h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin-top: var(--mf-s-5);
	margin-bottom: var(--mf-s-2);
}
.mf-prose h3 {
	font-size: 1.375rem;
	margin-top: var(--mf-s-4);
	margin-bottom: var(--mf-s-2);
}
.mf-prose p { line-height: 1.75; color: var(--mf-ink); margin-bottom: var(--mf-s-3); }
.mf-prose ul, .mf-prose ol { line-height: 1.75; margin: 0 0 var(--mf-s-3) var(--mf-s-3); padding: 0; }
.mf-prose li { margin-bottom: 8px; }
.mf-prose a { color: var(--mf-accent); border-bottom: 1px solid var(--mf-border-strong); }
.mf-prose a:hover { border-bottom-color: var(--mf-accent); }
.mf-prose strong { color: var(--mf-ink); font-weight: 600; }

/* ==========================================================================
   UTILITIES
   ========================================================================== */

.mf-center { text-align: center; }
.mf-mt-0 { margin-top: 0; }
.mf-mb-0 { margin-bottom: 0; }

.mf-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0);
	white-space: nowrap; border: 0;
}

.mf-hide-mobile { display: none; }
@media (min-width: 700px) { .mf-hide-mobile { display: initial; } .mf-hide-desktop { display: none; } }

.mf-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 600ms var(--mf-ease), transform 600ms var(--mf-ease);
}
.mf-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
	.mf-reveal { opacity: 1; transform: none; }
}

/* Media placeholder for missing images */
.mf-media-placeholder {
	width: 100%; height: 100%;
	display: grid;
	place-items: center;
	background:
		linear-gradient(135deg, var(--mf-surface-alt) 0%, #DDD8CC 100%);
	position: relative;
}
.mf-media-placeholder::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(45deg,
			transparent 0 22px,
			rgba(229, 86, 0, 0.04) 22px 23px);
}
.mf-media-placeholder svg {
	width: 32%; max-width: 120px; height: auto;
	opacity: 0.4;
	position: relative;
	z-index: 1;
	color: var(--mf-ink-soft);
}

/* ==========================================================================
   ============ REDESIGN — UNIQUE PIECES (no shared patterns) ============
   ========================================================================== */

/* --- Header v2: Two-row, asymmetric with vertical accent bar --- */
.mf-header2 {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--mf-surface);
	border-bottom: 1px solid var(--mf-border);
	transition: box-shadow var(--mf-med) var(--mf-ease);
}
.mf-header2.is-scrolled { box-shadow: 0 2px 0 var(--mf-accent); }

/* Top thin technical strip */
.mf-header2__tech {
	display: flex;
	align-items: center;
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	border-bottom: 1px dashed var(--mf-border);
	padding: 6px var(--mf-section-x);
	gap: var(--mf-s-3);
	overflow-x: auto;
	white-space: nowrap;
}
.mf-header2__tech > span { display: inline-flex; align-items: center; gap: 6px; }
.mf-header2__tech-divider {
	width: 4px; height: 4px;
	background: var(--mf-accent);
	border-radius: 0;
	transform: rotate(45deg);
}
.mf-header2__tech-rev {
	color: var(--mf-accent);
	font-weight: 700;
}

/* Main row — logo block (with vertical orange bar) | spacer | nav | phone+cta */
.mf-header2__main {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: stretch;
	min-height: 80px;
}
.mf-header2__brand {
	display: flex;
	align-items: stretch;
	border-right: 1px solid var(--mf-border);
}
.mf-header2__accent-bar {
	width: 6px;
	background: var(--mf-accent);
	flex-shrink: 0;
}
.mf-header2__logo-wrap {
	padding: var(--mf-s-2) var(--mf-s-3);
	display: flex;
	align-items: center;
}
.mf-header2__nav {
	display: none;
	align-items: center;
	justify-content: flex-end;
	padding: 0 var(--mf-s-3);
	gap: var(--mf-s-4);
}
@media (min-width: 900px) {
	.mf-header2__nav { display: flex; }
}
.mf-header2__nav ul {
	list-style: none; margin: 0; padding: 0;
	display: flex; gap: var(--mf-s-3);
}
.mf-header2__nav a {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 600;
	color: var(--mf-ink);
	padding: 8px 0;
	position: relative;
}
.mf-header2__nav a::before {
	content: "[";
	color: var(--mf-accent);
	margin-right: 4px;
	opacity: 0;
	transition: opacity var(--mf-fast) var(--mf-ease);
}
.mf-header2__nav a::after {
	content: "]";
	color: var(--mf-accent);
	margin-left: 4px;
	opacity: 0;
	transition: opacity var(--mf-fast) var(--mf-ease);
}
.mf-header2__nav a:hover::before,
.mf-header2__nav a:hover::after,
.mf-header2__nav .current-menu-item > a::before,
.mf-header2__nav .current-menu-item > a::after { opacity: 1; }

/* Right block: tel + cotizar button stacked, with border-left */
.mf-header2__right {
	display: flex;
	align-items: stretch;
	border-left: 1px solid var(--mf-border);
}
.mf-header2__tel {
	display: none;
	flex-direction: column;
	justify-content: center;
	padding: var(--mf-s-1) var(--mf-s-3);
	border-right: 1px solid var(--mf-border);
}
@media (min-width: 700px) {
	.mf-header2__tel { display: flex; }
}
.mf-header2__tel-label {
	font-family: var(--mf-font-display);
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
}
.mf-header2__tel-num {
	font-family: var(--mf-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--mf-ink);
	letter-spacing: 0.02em;
}
.mf-header2__cta {
	display: none;
	align-items: center;
	background: var(--mf-accent);
	color: var(--mf-surface);
	padding: 0 var(--mf-s-3);
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	min-height: 100%;
	transition: background var(--mf-fast) var(--mf-ease);
}
.mf-header2__cta:hover {
	background: var(--mf-accent-deep);
	color: var(--mf-surface);
}
@media (min-width: 900px) {
	.mf-header2__cta { display: inline-flex; }
}
.mf-header2__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	border: none;
	background: var(--mf-ink);
	color: var(--mf-surface);
	cursor: pointer;
}
@media (min-width: 900px) {
	.mf-header2__toggle { display: none; }
}

/* --- Hero v2: Split with technical drawing panel right --- */
.mf-hero2 {
	background: var(--mf-surface);
	border-bottom: 1px solid var(--mf-border);
}
.mf-hero2__grid {
	display: grid;
	grid-template-columns: 1fr;
	min-height: 540px;
}
@media (min-width: 900px) {
	.mf-hero2__grid {
		grid-template-columns: 7fr 5fr;
	}
}
.mf-hero2__content {
	padding: var(--mf-s-6) var(--mf-section-x);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mf-hero2__rev {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	letter-spacing: 0.2em;
	color: var(--mf-ink-mute);
	margin-bottom: var(--mf-s-3);
	display: flex;
	align-items: center;
	gap: var(--mf-s-2);
}
.mf-hero2__rev::before {
	content: "";
	width: 32px; height: 1px;
	background: var(--mf-accent);
}
.mf-hero2__rev-num { color: var(--mf-accent); font-weight: 700; }
.mf-hero2 h1 {
	font-size: clamp(2rem, 5vw, 3.5rem);
	margin-bottom: var(--mf-s-3);
	color: var(--mf-ink);
}
.mf-hero2 h1 .mf-hero2__h1-accent {
	display: block;
	color: var(--mf-accent);
	font-weight: 600;
}
.mf-hero2__lede {
	font-size: var(--mf-body-lg);
	color: var(--mf-ink-soft);
	margin-bottom: var(--mf-s-4);
	max-width: 540px;
	line-height: 1.6;
}
.mf-hero2__meta {
	display: flex;
	gap: var(--mf-s-4);
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: var(--mf-s-4);
	color: var(--mf-ink-soft);
}
.mf-hero2__meta span strong {
	display: block;
	color: var(--mf-ink);
	font-size: var(--mf-small);
	margin-bottom: 2px;
}
.mf-hero2__actions {
	display: flex;
	gap: var(--mf-s-2);
	flex-wrap: wrap;
}

/* The technical drawing panel — gray with door blueprint + dimension lines */
.mf-hero2__plan {
	background: var(--mf-surface-alt);
	position: relative;
	overflow: hidden;
	border-left: 1px solid var(--mf-border);
	min-height: 380px;
	display: flex;
	flex-direction: column;
}
.mf-hero2__plan-header {
	display: flex;
	justify-content: space-between;
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	padding: 10px 16px;
	border-bottom: 1px dashed var(--mf-border-strong);
}
.mf-hero2__plan-canvas {
	flex: 1;
	position: relative;
	display: grid;
	place-items: center;
	padding: var(--mf-s-4);
}
.mf-hero2__plan-canvas::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(15, 22, 32, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(15, 22, 32, 0.04) 1px, transparent 1px);
	background-size: 16px 16px;
}
.mf-hero2__plan-svg {
	width: 100%;
	max-width: 320px;
	height: auto;
	position: relative;
	z-index: 1;
}
.mf-hero2__plan-footer {
	display: flex;
	justify-content: space-between;
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	padding: 10px 16px;
	border-top: 1px dashed var(--mf-border-strong);
}

/* --- Stats v2: Vertical sidebar with dimension lines --- */
.mf-stats2 {
	background: var(--mf-ink);
	color: var(--mf-surface);
	padding: 0;
}
.mf-stats2__grid {
	display: grid;
	grid-template-columns: 1fr;
	max-width: var(--mf-max-content);
	margin-inline: auto;
}
@media (min-width: 900px) {
	.mf-stats2__grid {
		grid-template-columns: 5fr 7fr;
	}
}
.mf-stats2__intro {
	padding: var(--mf-s-5) var(--mf-section-x);
	border-bottom: 1px solid rgba(244,244,241,0.1);
}
@media (min-width: 900px) {
	.mf-stats2__intro {
		border-bottom: none;
		border-right: 1px solid rgba(244,244,241,0.1);
		padding: var(--mf-s-6) var(--mf-s-4) var(--mf-s-6) var(--mf-section-x);
	}
}
.mf-stats2__intro-eyebrow {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mf-accent);
	margin-bottom: var(--mf-s-3);
	display: block;
}
.mf-stats2__intro h2 {
	color: var(--mf-surface);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 0 0 var(--mf-s-3);
	line-height: 1.15;
}
.mf-stats2__intro p {
	color: rgba(244,244,241,0.7);
	font-size: var(--mf-small);
	line-height: 1.7;
	margin: 0;
}
.mf-stats2__list {
	padding: var(--mf-s-3) var(--mf-section-x);
	display: flex;
	flex-direction: column;
}
@media (min-width: 900px) {
	.mf-stats2__list { padding: var(--mf-s-4) var(--mf-section-x) var(--mf-s-4) var(--mf-s-4); }
}
.mf-stat2 {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--mf-s-3);
	align-items: center;
	padding: var(--mf-s-3) 0;
	position: relative;
}
.mf-stat2 + .mf-stat2 { border-top: 1px dashed rgba(244,244,241,0.15); }
.mf-stat2__num {
	font-family: var(--mf-font-display);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mf-accent);
	line-height: 1;
	min-width: 140px;
	position: relative;
}
/* Dimension-line accent — the bracket-style markers */
.mf-stat2__num::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px; height: 1px;
	background: var(--mf-accent);
	transform: translateY(-50%) translateX(-16px);
}
.mf-stat2__num::after {
	content: "";
	position: absolute;
	left: -16px;
	top: calc(50% - 4px);
	width: 1px; height: 8px;
	background: var(--mf-accent);
}
.mf-stat2__body { padding-right: var(--mf-s-2); }
.mf-stat2__label {
	font-family: var(--mf-font-display);
	font-size: var(--mf-small);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--mf-surface);
	font-weight: 600;
	margin-bottom: 4px;
	display: block;
}
.mf-stat2__sub {
	font-size: var(--mf-small);
	color: rgba(244,244,241,0.55);
	line-height: 1.5;
}

/* --- Footer v2: Technical-spec-sheet style --- */
.mf-footer2 {
	background: var(--mf-surface-alt);
	color: var(--mf-ink);
	border-top: 6px solid var(--mf-accent);
	padding: 0;
}
.mf-footer2__inner {
	max-width: var(--mf-max-wide);
	margin-inline: auto;
}

/* Top: sheet header with title block (like a drawing's title block) */
.mf-footer2__sheet {
	display: grid;
	grid-template-columns: 1fr;
	border-bottom: 1px solid var(--mf-border-strong);
}
@media (min-width: 900px) {
	.mf-footer2__sheet {
		grid-template-columns: 5fr 4fr 3fr;
	}
}

/* Block A — title + revision (like architect's stamp) */
.mf-footer2__title-block {
	padding: var(--mf-s-4) var(--mf-section-x);
	border-bottom: 1px solid var(--mf-border-strong);
}
@media (min-width: 900px) {
	.mf-footer2__title-block {
		border-bottom: none;
		border-right: 1px solid var(--mf-border-strong);
	}
}
.mf-footer2__sheet-meta {
	display: flex;
	gap: var(--mf-s-3);
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	margin-bottom: var(--mf-s-3);
	flex-wrap: wrap;
}
.mf-footer2__sheet-meta span { display: inline-flex; align-items: center; gap: 8px; }
.mf-footer2__sheet-meta strong { color: var(--mf-accent); font-weight: 700; }
.mf-footer2__sheet-title {
	font-family: var(--mf-font-display);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	font-weight: 700;
	color: var(--mf-ink);
	margin-bottom: var(--mf-s-2);
	letter-spacing: -0.01em;
}
.mf-footer2__sheet-subtitle {
	font-size: var(--mf-small);
	color: var(--mf-ink-soft);
	max-width: 420px;
	line-height: 1.6;
}

/* Block B — contact data table */
.mf-footer2__data {
	padding: var(--mf-s-4) var(--mf-section-x);
	border-bottom: 1px solid var(--mf-border-strong);
}
@media (min-width: 900px) {
	.mf-footer2__data {
		border-bottom: none;
		border-right: 1px solid var(--mf-border-strong);
	}
}
.mf-footer2__data-title {
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	margin-bottom: var(--mf-s-2);
	padding-bottom: 8px;
	border-bottom: 1px dashed var(--mf-border-strong);
}
.mf-footer2__table {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px var(--mf-s-3);
	font-family: var(--mf-font-display);
	font-size: var(--mf-small);
}
.mf-footer2__table dt {
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	padding-top: 2px;
	font-weight: 600;
}
.mf-footer2__table dd {
	margin: 0;
	color: var(--mf-ink);
	font-weight: 500;
}
.mf-footer2__table a { color: inherit; border-bottom: 1px solid transparent; }
.mf-footer2__table a:hover { color: var(--mf-accent); border-bottom-color: var(--mf-accent); }

/* Block C — stamp */
.mf-footer2__stamp {
	padding: var(--mf-s-4) var(--mf-section-x);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: var(--mf-s-2);
	background:
		linear-gradient(135deg, var(--mf-surface-alt) 0%, var(--mf-surface) 100%);
}
.mf-footer2__stamp-mark {
	border: 3px solid var(--mf-accent);
	padding: var(--mf-s-2) var(--mf-s-3);
	transform: rotate(-4deg);
	color: var(--mf-accent);
	font-family: var(--mf-font-display);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-size: 0.875rem;
	background: var(--mf-surface);
	display: inline-block;
	position: relative;
}
.mf-footer2__stamp-mark::before {
	content: "";
	position: absolute;
	inset: 4px;
	border: 1px solid var(--mf-accent);
}
.mf-footer2__stamp-text {
	font-family: var(--mf-font-display);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--mf-ink-mute);
}

/* Sheet-bottom: navigation in a single horizontal strip + dimension line */
.mf-footer2__nav-strip {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mf-s-2) var(--mf-s-4);
	padding: var(--mf-s-3) var(--mf-section-x);
	border-bottom: 1px solid var(--mf-border-strong);
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--mf-ink-soft);
	font-weight: 600;
	align-items: center;
}
.mf-footer2__nav-strip a { color: inherit; padding: 4px 0; border-bottom: 1px solid transparent; }
.mf-footer2__nav-strip a:hover { color: var(--mf-accent); border-bottom-color: var(--mf-accent); }
.mf-footer2__nav-strip .mf-footer2__nav-sep {
	color: var(--mf-accent);
	font-weight: 700;
}

/* Dimension bar: orange line w/ tick at start + end */
.mf-footer2__dimension {
	display: flex;
	align-items: center;
	gap: var(--mf-s-2);
	padding: var(--mf-s-2) var(--mf-section-x);
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	border-bottom: 1px solid var(--mf-border-strong);
}
.mf-footer2__dim-line {
	flex: 1;
	height: 1px;
	background: var(--mf-accent);
	position: relative;
}
.mf-footer2__dim-line::before,
.mf-footer2__dim-line::after {
	content: "";
	position: absolute;
	top: -4px;
	width: 1px;
	height: 9px;
	background: var(--mf-accent);
}
.mf-footer2__dim-line::before { left: 0; }
.mf-footer2__dim-line::after { right: 0; }

/* Last bar: copyright + legal */
.mf-footer2__rule {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--mf-s-2);
	padding: var(--mf-s-3) var(--mf-section-x);
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	flex-wrap: wrap;
}
.mf-footer2__rule a { color: inherit; }
.mf-footer2__rule a:hover { color: var(--mf-accent); }

/* --- Service list (replaces 6-card grid) — Numbered index --- */
.mf-spec-list {
	border-top: 1px solid var(--mf-border);
}
.mf-spec-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-2);
	padding: var(--mf-s-4) 0;
	border-bottom: 1px solid var(--mf-border);
	position: relative;
	transition: background var(--mf-fast) var(--mf-ease);
}
@media (min-width: 700px) {
	.mf-spec-item {
		grid-template-columns: 80px 1fr 2fr auto;
		align-items: start;
		gap: var(--mf-s-4);
	}
}
.mf-spec-item:hover {
	background: var(--mf-surface-alt);
}
.mf-spec-item:hover .mf-spec-item__num { color: var(--mf-accent); }
.mf-spec-item__num {
	font-family: var(--mf-font-display);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--mf-ink-mute);
	transition: color var(--mf-fast) var(--mf-ease);
}
.mf-spec-item__title {
	font-family: var(--mf-font-display);
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0;
	color: var(--mf-ink);
}
.mf-spec-item__desc {
	font-size: var(--mf-small);
	color: var(--mf-ink-soft);
	line-height: 1.6;
	margin: 0;
}
.mf-spec-item__cta {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--mf-accent);
	font-weight: 600;
	white-space: nowrap;
	align-self: center;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* --- Process timeline (vertical, replaces 4-col grid) --- */
.mf-timeline {
	position: relative;
	display: grid;
	gap: var(--mf-s-4);
	padding-left: var(--mf-s-4);
	border-left: 2px solid var(--mf-border-strong);
	max-width: 760px;
}
.mf-tl-step {
	position: relative;
	padding-left: var(--mf-s-3);
}
.mf-tl-step::before {
	content: "";
	position: absolute;
	left: calc(-1 * var(--mf-s-4) - 1px);
	top: 8px;
	width: 14px; height: 14px;
	background: var(--mf-accent);
	border: 3px solid var(--mf-surface-alt);
	transform: translateX(-50%);
}
.mf-tl-step__phase {
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-accent);
	font-weight: 700;
	margin-bottom: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.mf-tl-step__phase::before {
	content: attr(data-step) " /";
	color: var(--mf-ink-mute);
	font-weight: 600;
}
.mf-tl-step h3 {
	font-size: 1.25rem;
	margin: 0 0 8px;
}
.mf-tl-step p {
	margin: 0;
	color: var(--mf-ink-soft);
	font-size: var(--mf-small);
	line-height: 1.7;
}

/* --- Featured project: 1 large + 2 small asymmetric --- */
.mf-feat-projects {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-3);
}
@media (min-width: 900px) {
	.mf-feat-projects {
		grid-template-columns: 7fr 5fr;
		grid-template-rows: auto auto;
		grid-template-areas:
			"a b"
			"a c";
	}
	.mf-feat-projects > :nth-child(1) { grid-area: a; }
	.mf-feat-projects > :nth-child(2) { grid-area: b; }
	.mf-feat-projects > :nth-child(3) { grid-area: c; }
}
.mf-feat-card {
	display: grid;
	grid-template-rows: auto auto;
	background: var(--mf-surface);
	border: 1px solid var(--mf-border);
	color: var(--mf-ink);
	transition: border-color var(--mf-med) var(--mf-ease);
}
.mf-feat-card:hover { border-color: var(--mf-accent); color: var(--mf-ink); }
.mf-feat-card__media {
	background: var(--mf-surface-alt);
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-bottom: 1px solid var(--mf-border);
}
.mf-feat-card__media img,
.mf-feat-card__media > div { width: 100%; height: 100%; object-fit: cover; }
.mf-feat-card--lg .mf-feat-card__media { aspect-ratio: 4/3; }
.mf-feat-card__body {
	padding: var(--mf-s-3);
}
.mf-feat-card--lg .mf-feat-card__body { padding: var(--mf-s-4); }
.mf-feat-card__meta {
	display: flex;
	justify-content: space-between;
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	margin-bottom: var(--mf-s-2);
	padding-bottom: 8px;
	border-bottom: 1px dashed var(--mf-border);
}
.mf-feat-card__meta strong { color: var(--mf-accent); font-weight: 700; }
.mf-feat-card h3 {
	font-size: 1.125rem;
	margin: 0 0 6px;
	font-weight: 600;
}
.mf-feat-card--lg h3 { font-size: 1.5rem; }
.mf-feat-card__loc {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mf-ink-soft);
	margin: 0;
}

/* --- Single big testimonial ("letter format") --- */
.mf-letter {
	background: var(--mf-surface);
	border: 1px solid var(--mf-border);
	padding: 0;
	max-width: 860px;
	margin-inline: auto;
	position: relative;
}
.mf-letter__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	padding: 12px var(--mf-s-3);
	border-bottom: 1px solid var(--mf-border);
}
.mf-letter__head strong { color: var(--mf-accent); }
.mf-letter__body {
	padding: var(--mf-s-5) var(--mf-s-4);
}
@media (min-width: 700px) {
	.mf-letter__body { padding: var(--mf-s-5) var(--mf-s-6); }
}
.mf-letter blockquote {
	font-family: var(--mf-font-display);
	font-weight: 400;
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	line-height: 1.6;
	letter-spacing: -0.01em;
	margin: 0 0 var(--mf-s-4);
	color: var(--mf-ink);
}
.mf-letter blockquote::before {
	content: "// ";
	color: var(--mf-accent);
	font-weight: 600;
}
.mf-letter__sign {
	display: flex;
	justify-content: space-between;
	gap: var(--mf-s-3);
	padding-top: var(--mf-s-3);
	border-top: 1px dashed var(--mf-border);
	flex-wrap: wrap;
}
.mf-letter__author {
	font-family: var(--mf-font-display);
	font-size: var(--mf-small);
	color: var(--mf-ink);
}
.mf-letter__author strong { display: block; font-weight: 700; }
.mf-letter__author span {
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	margin-top: 2px;
	display: block;
}
.mf-letter__rev {
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	text-align: right;
}
.mf-letter__rev strong { color: var(--mf-accent); display: block; }

/* --- CTA v2: "Solicitud form" with bracket corners --- */
.mf-cta2 {
	background: var(--mf-surface);
	padding: var(--mf-section-y) var(--mf-section-x);
}
.mf-cta2__inner {
	max-width: 960px;
	margin-inline: auto;
	border: 2px solid var(--mf-ink);
	padding: var(--mf-s-5);
	position: relative;
	background: var(--mf-surface-alt);
}
/* Bracket corners */
.mf-cta2__inner::before,
.mf-cta2__inner::after {
	content: "";
	position: absolute;
	width: 24px; height: 24px;
	border: 4px solid var(--mf-accent);
}
.mf-cta2__inner::before {
	top: -12px;
	left: -12px;
	border-right: none;
	border-bottom: none;
}
.mf-cta2__inner::after {
	bottom: -12px;
	right: -12px;
	border-left: none;
	border-top: none;
}
.mf-cta2__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--mf-s-3);
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	padding-bottom: var(--mf-s-2);
	border-bottom: 1px solid var(--mf-border-strong);
}
.mf-cta2__form-id { color: var(--mf-accent); font-weight: 700; }
.mf-cta2__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mf-s-3);
	align-items: end;
}
@media (min-width: 700px) {
	.mf-cta2__grid { grid-template-columns: 1fr auto; gap: var(--mf-s-4); }
}
.mf-cta2 h2 {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 0 0 var(--mf-s-2);
	line-height: 1.15;
}
.mf-cta2 p {
	color: var(--mf-ink-soft);
	font-size: var(--mf-body);
	max-width: 540px;
	margin: 0;
	line-height: 1.6;
}
.mf-cta2__actions {
	display: flex;
	flex-direction: column;
	gap: var(--mf-s-2);
}
.mf-cta2__actions .mf-btn { width: 100%; }
@media (min-width: 700px) {
	.mf-cta2__actions { flex-direction: row; }
	.mf-cta2__actions .mf-btn { width: auto; }
}
.mf-cta2__sig {
	margin-top: var(--mf-s-4);
	padding-top: var(--mf-s-3);
	border-top: 1px dashed var(--mf-border-strong);
	display: flex;
	justify-content: space-between;
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mf-ink-mute);
	flex-wrap: wrap;
	gap: var(--mf-s-2);
}

/* --- Brands v2: single-line ticker with dividers between names --- */
.mf-brands2 {
	background: var(--mf-ink);
	padding: var(--mf-s-3) var(--mf-section-x);
	overflow: hidden;
}
.mf-brands2__inner {
	max-width: var(--mf-max-content);
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: var(--mf-s-3);
	flex-wrap: wrap;
	justify-content: center;
}
.mf-brands2__label {
	font-family: var(--mf-font-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(244,244,241,0.5);
	padding-right: var(--mf-s-3);
	border-right: 1px solid rgba(244,244,241,0.15);
}
.mf-brands2__row {
	display: flex;
	gap: var(--mf-s-3);
	flex-wrap: wrap;
	align-items: center;
}
.mf-brands2__row span {
	font-family: var(--mf-font-display);
	font-weight: 600;
	color: var(--mf-surface);
	font-size: var(--mf-small);
	letter-spacing: 0.05em;
}
.mf-brands2__row .mf-brands2__sep {
	color: var(--mf-accent);
	font-weight: 700;
}


/* ==========================================================================
   Nav moved to top of header (per user request)
   ========================================================================== */
.mf-header2__nav-top {
	background: var(--mf-ink);
	color: var(--mf-surface);
	border-bottom: 1px solid var(--mf-border);
}
.mf-header2__nav-top ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--mf-s-2);
	max-width: var(--mf-max-content);
	margin-inline: auto;
	padding: 8px var(--mf-section-x);
}
@media (min-width: 700px) {
	.mf-header2__nav-top ul {
		justify-content: flex-end;
		gap: var(--mf-s-4);
	}
}
.mf-header2__nav-top a {
	font-family: var(--mf-font-display);
	font-size: var(--mf-micro);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 600;
	color: var(--mf-surface);
	padding: 6px 8px;
	display: inline-block;
	transition: color var(--mf-fast) var(--mf-ease);
}
.mf-header2__nav-top a:hover,
.mf-header2__nav-top .current-menu-item > a,
.mf-header2__nav-top .current_page_item > a { color: var(--mf-accent); }

/* Main row without the center nav column */
.mf-header2__main--no-nav {
	grid-template-columns: auto 1fr;
}
.mf-header2__main--no-nav .mf-header2__right {
	justify-self: end;
}
