/* ==========================================================================
   MINDELO FUMIGAÇÕES — SITE.CSS
   Tokens + header/footer/hero, extraídos do desenho aprovado
   (index.dc.html). Nenhum CSS do 9Web Starter é usado nestas páginas —
   ver functions.php (mindelo_dequeue_parent_on_blank_pages).
   ========================================================================== */

:root {
	--mf-navy-dark: #05142B;
	--mf-navy: #08203F;
	--mf-ink: #0E1A2B;
	--mf-text-mid: #44546B;
	--mf-text-soft: #5E6C81;
	--mf-on-navy: #B4C4DA;
	--mf-on-navy-soft: #8FA3BE;
	--mf-blue: #1478C8;
	--mf-blue-link: #1E5299;
	--mf-blue-light: #4FA3DE;
	--mf-blue-lighter: #8FC3EF;
	--mf-blue-lightest: #C4DFF7;
	--mf-yellow: #F2B824;
	--mf-yellow-hover: #FFC93F;
	--mf-bg-gray: #F5F7FA;
	--mf-bg: #FFFFFF;
	--mf-line: #DDE3EC;
	--mf-line-strong: #C2CCDA;
	--mf-text-muted: #7B8CA6;

	--mf-font-heading: 'Archivo', sans-serif;
	--mf-font-body: 'IBM Plex Sans', sans-serif;
	--mf-font-mono: 'IBM Plex Mono', monospace;

	--mf-radius-sm: 2px;
	--mf-radius-note: 3px;
	--mf-container: 1280px;
	--mf-gutter: clamp(24px, 3.5vw, 48px);
	--mf-rhythm-sm: clamp(56px, 6vw, 88px);
	--mf-rhythm-md: clamp(96px, 10vw, 144px);
	--mf-rhythm-lg: clamp(112px, 12vw, 168px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--mf-font-body);
	color: var(--mf-ink);
	background: var(--mf-bg);
	overflow-x: hidden;
	overflow-y: visible;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
h1, h2, h3, h4 { font-family: var(--mf-font-heading); margin: 0; color: var(--mf-ink); }
p { margin: 0; }

[data-container] { max-width: var(--mf-container); margin: 0 auto; padding: 0 var(--mf-gutter); }

/* ---- Header ---------------------------------------------------------- */

header[data-hdr] {
	position: sticky;
	top: 0;
	z-index: 90;
	height: 64px;
	margin-bottom: -64px;
	background: transparent;
	transition: background 0.5s cubic-bezier(.16,1,.3,1), box-shadow 0.5s ease, backdrop-filter 0.5s ease;
}

header[data-hdr].is-scrolled {
	background: rgba(255,255,255,0.86);
	backdrop-filter: saturate(170%) blur(18px);
	-webkit-backdrop-filter: saturate(170%) blur(18px);
	box-shadow: 0 1px 0 var(--mf-line);
}

[data-hdr-inner] {
	max-width: var(--mf-container);
	margin: 0 auto;
	padding: 0 var(--mf-gutter);
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

[data-hdr-logo-link] { position: relative; display: inline-block; height: 40px; }
[data-hdr-logo] { height: 40px; width: auto; display: block; transition: opacity 0.4s ease; }
[data-hdr-logo-color] { position: absolute; top: 0; left: 0; opacity: 0; }
header[data-hdr].is-scrolled [data-hdr-logo-mono] { opacity: 0; }
header[data-hdr].is-scrolled [data-hdr-logo-color] { opacity: 1; }
[data-hdr-logo-link]:hover [data-hdr-logo] { opacity: 0.8; }

[data-hdr-nav] { display: flex; align-items: center; gap: clamp(20px,2.6vw,40px); margin-right: auto; margin-left: clamp(20px,3.4vw,52px); list-style: none; padding: 0; margin-top: 0; margin-bottom: 0; }
[data-hdr-nav] li { list-style: none; }
[data-hdr-nav] a {
	font: 450 14px/1 var(--mf-font-body);
	letter-spacing: -0.002em;
	color: #FFFFFF;
	padding: 5px 0;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: background-size .42s cubic-bezier(.16,1,.3,1), color .3s ease;
	white-space: nowrap;
}
header[data-hdr].is-scrolled [data-hdr-nav] a { color: var(--mf-text-mid); }
[data-hdr-nav] a:hover { background-size: 100% 1px; }

[data-hdr-actions] { display: flex; align-items: center; gap: clamp(14px,1.8vw,24px); flex-shrink: 0; }
[data-hdr-rule] { width: 1px; height: 18px; background: rgba(255,255,255,0.22); }
header[data-hdr].is-scrolled [data-hdr-rule] { background: rgba(14,26,43,0.15); }

[data-hdr-phone] { font: 400 13px/1 var(--mf-font-mono); letter-spacing: -0.01em; color: rgba(255,255,255,0.7); white-space: nowrap; transition: color .3s ease; }
header[data-hdr].is-scrolled [data-hdr-phone] { color: var(--mf-text-soft); }
[data-hdr-phone]:hover { color: var(--mf-yellow); }
header[data-hdr].is-scrolled [data-hdr-phone]:hover { color: var(--mf-yellow); }

[data-hdr-cta] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 15px;
	background: var(--mf-yellow);
	color: var(--mf-navy);
	font: 600 13px/1 var(--mf-font-body);
	letter-spacing: 0.002em;
	border-radius: var(--mf-radius-sm);
	white-space: nowrap;
	transition: background .24s ease, gap .38s cubic-bezier(.16,1,.3,1);
}
[data-hdr-cta-arrow] { font: 400 13px/1 var(--mf-font-mono); display: inline-block; }
[data-hdr-cta]:hover { background: var(--mf-yellow-hover); gap: 13px; }

[data-hdr-burger] { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: none; background: transparent; cursor: pointer; flex-direction: column; gap: 6px; }
[data-hdr-burger] span { height: 1.5px; width: 24px; background: #FFFFFF; display: block; transition: background .4s ease; }
header[data-hdr].is-scrolled [data-hdr-burger] span { background: var(--mf-ink); }

[data-mobile-menu] {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 100;
	background: var(--mf-navy);
	flex-direction: column;
	justify-content: center;
	gap: 28px;
	padding: var(--mf-gutter);
	transform: translateY(-8px);
	opacity: 0;
	transition: opacity .3s ease, transform .3s ease;
}
[data-mobile-menu].is-open { display: flex; opacity: 1; transform: translateY(0); }
[data-mobile-menu] a { font: 500 28px/1 var(--mf-font-heading); color: #FFFFFF; }
[data-mobile-menu] li { list-style: none; }
[data-mobile-menu] [data-hdr-cta] { align-self: flex-start; margin-top: 12px; }

[data-hdr-progress] { position: absolute; left: 0; bottom: -1px; height: 1px; width: 100%; background: var(--mf-yellow); transform: scaleX(0); transform-origin: left; }

/* ---- Footer ------------------------------------------------------------ */

footer[data-ftr] { background: var(--mf-navy-dark); color: var(--mf-on-navy); }
[data-footer-inner] { max-width: var(--mf-container); margin: 0 auto; padding: clamp(72px,7vw,104px) var(--mf-gutter) 0; }
[data-footer-grid] { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: clamp(32px,4vw,56px); }
[data-footer-logo] { height: 84px; width: auto; display: block; }
[data-footer-tagline] { font: 600 18px/1.45 var(--mf-font-heading); color: var(--mf-yellow); margin: 26px 0 0; max-width: 26ch; letter-spacing: -0.018em; }
[data-footer-brand-note] { font: 400 15px/1.7 var(--mf-font-body); margin: 16px 0 0; max-width: 48ch; color: var(--mf-on-navy-soft); }
[data-footer-label] { font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.2em; color: var(--mf-blue-light); }
[data-footer-links] { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin: 22px 0 0; }
[data-footer-links] a { font: 400 15px/1.4 var(--mf-font-body); color: var(--mf-on-navy); transition: color .24s ease; }
[data-footer-links] a:hover { color: #FFFFFF; }
[data-footer-phones] a { font: 500 17px/1.3 var(--mf-font-mono); color: #FFFFFF; transition: color .24s ease; }
[data-footer-phones] a:hover { color: var(--mf-yellow); }
[data-footer-email] { font: 400 15px/1.5 var(--mf-font-body) !important; color: var(--mf-on-navy) !important; word-break: break-all; transition: color .24s ease; }
[data-footer-email]:hover { color: #FFFFFF !important; }
[data-footer-phones] { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin: 22px 0 0; }
[data-footer-address] { font: 400 15px/1.6 var(--mf-font-body); color: var(--mf-on-navy-soft); margin: 0; }
[data-footer-social] { display: flex; gap: 20px; margin: 26px 0 0; }
[data-footer-social] a {
	font: 500 14px/1 var(--mf-font-body);
	color: #FFFFFF;
	padding-bottom: 6px;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: background-size .42s cubic-bezier(.16,1,.3,1);
}
[data-footer-social] a:hover { background-size: 100% 1px; }
[data-footer-bottom] { margin-top: clamp(56px,6vw,88px); padding: 26px 0; border-top: 1px solid rgba(255,255,255,0.12); display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 20px; font: 400 13px/1.5 var(--mf-font-body); color: var(--mf-text-muted); }
[data-footer-bottom] p { margin: 0; }

@media (max-width: 760px) {
	[data-footer-grid] { grid-template-columns: 1fr 1fr; }
	[data-hide-sm] { display: none !important; }
	[data-hdr-burger] { display: flex !important; }
	[data-footer-logo] { height: 54px; }
}
@media (min-width: 761px) {
	[data-only-sm] { display: none !important; }
}

/* ---- Reveal engine hooks (see site.js) ---------------------------------- */

[data-9w-animation] { opacity: 0; }
[data-9w-animation="fade-up"] { transform: translateY(24px); }
[data-9w-animation="fade-right"] { transform: translateX(-24px); }
[data-9w-animation="scale-in"] { transform: scale(0.96); }
[data-9w-animation].is-visible {
	opacity: 1;
	transform: none;
	transition: opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.7s cubic-bezier(.16,1,.3,1);
}
@media (prefers-reduced-motion: reduce) {
	[data-9w-animation] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---- Hero (homepage) ---------------------------------------------------- */

[data-hero] { position: relative; overflow: hidden; background: var(--mf-navy); min-height: min(94vh, 860px); display: flex; }
[data-hero-media] { position: absolute; inset: 0; overflow: hidden; }
[data-hero-media] img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: translate3d(0,0,0) scale(1.08); will-change: transform; }
[data-hero-overlay] { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,20,43,0.62) 0%, rgba(5,20,43,0) 46%), linear-gradient(100deg, var(--mf-navy) 2%, rgba(8,32,63,0.94) 34%, rgba(8,32,63,0.52) 64%, rgba(8,32,63,0.04) 100%); }
[data-hero-content] { position: relative; max-width: var(--mf-container); margin: 0 auto; padding: 172px var(--mf-gutter) 0; width: 100%; color: #FFFFFF; display: flex; flex-direction: column; }
[data-hero-content] [data-eyebrow][data-eyebrow][data-eyebrow] {
	display: flex; align-items: center; gap: 14px;
	font: 500 11px/1 var(--mf-font-mono); letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--mf-blue-lighter); margin: 0;
}
[data-eyebrow][data-eyebrow][data-eyebrow] { font: 500 11px/1 var(--mf-font-mono); letter-spacing: 0.2em; text-transform: uppercase; margin: 0; color: var(--mf-blue); }
[data-hero-content] [data-eyebrow]::before { content: ""; display: inline-block; width: 40px; height: 2px; background: var(--mf-yellow); flex: 0 0 auto; }
[data-hero-content] h1 { font: 800 clamp(52px,6.4vw,96px)/0.96 var(--mf-font-heading); letter-spacing: -0.042em; color: #FFFFFF; max-width: 16ch; margin: clamp(24px,2.6vw,38px) 0 0; }
[data-hero-content] p { font: 400 clamp(18px,1.45vw,21px)/1.62 var(--mf-font-body); max-width: 46ch; color: var(--mf-blue-lightest); margin: 30px 0 0; }
[data-hero-actions] { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 44px; }
[data-btn-primary], [data-btn-outline] {
	display: inline-flex; align-items: center; gap: 9px;
	height: 46px;
	padding: 0 22px;
	font: 600 14px/1 var(--mf-font-body);
	letter-spacing: 0.002em;
	border-radius: var(--mf-radius-sm);
}
[data-btn-primary] { background: var(--mf-yellow); color: var(--mf-navy); border: 1px solid var(--mf-yellow); transition: background .24s ease, gap .4s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
[data-btn-primary]:hover { background: var(--mf-yellow-hover); border-color: var(--mf-yellow-hover); gap: 16px; box-shadow: 0 4px 14px rgba(242,184,36,0.2); }
[data-btn-outline] { border: 1px solid rgba(255,255,255,0.34); color: #FFFFFF; transition: border-color .3s ease, background .3s ease, gap .4s cubic-bezier(.16,1,.3,1); }
[data-btn-outline]:hover { border-color: #FFFFFF; background: rgba(255,255,255,0.07); gap: 20px; }
[data-btn-arrow] { font: 400 14px/1 var(--mf-font-mono); display: inline-block; }

@media (max-width: 760px) {
	[data-hero-content] { padding-top: 100px; }
}


/* ---- Services page ---- */

[data-page-hero] { padding: 140px 0 var(--mf-rhythm-sm); }
[data-page-hero] h1 { font: 700 clamp(36px,4.5vw,52px)/1.12 var(--mf-font-heading); letter-spacing: -0.02em; max-width: 18ch; margin: 14px 0 20px; color: var(--mf-ink); }
[data-page-intro] { font: 400 clamp(17px,1.6vw,19px)/1.6 var(--mf-font-body); max-width: 52ch; color: var(--mf-text-mid); }
[data-services-grid] { padding: 0 0 var(--mf-rhythm-sm); }
[data-service-grid-inner] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
[data-service-card] { border: 1px solid var(--mf-line); border-radius: var(--mf-radius-note); padding: 32px; }
[data-service-card] h3 { font: 700 20px/1.3 var(--mf-font-heading); margin: 0 0 12px; color: var(--mf-ink); }
[data-service-card] p { font: 400 15px/1.6 var(--mf-font-body); color: var(--mf-text-mid); margin: 0; }
[data-complementary] { padding: 0 0 var(--mf-rhythm-sm); }
[data-complementary] p { font: 400 16px/1.6 var(--mf-font-body); color: var(--mf-text-mid); max-width: 60ch; }
[data-complementary] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-blue); }
[data-cta-band] { background: var(--mf-navy); padding: var(--mf-rhythm-sm) 0; text-align: center; }
[data-cta-band] h2 { font: 700 clamp(28px,3.2vw,38px)/1.2 var(--mf-font-heading); color: #FFFFFF; margin: 0 0 28px; }
[data-cta-band] [data-hero-actions] { justify-content: center; }
@media (max-width: 760px) {
	[data-service-grid-inner] { grid-template-columns: 1fr; }
}

/* ---- About page ---- */

[data-about-list] { padding: 0 0 var(--mf-rhythm-sm); }
[data-about-item] { display: grid; grid-template-columns: auto 1fr; gap: clamp(20px,3vw,44px); padding: 34px 0; border-bottom: 1px solid var(--mf-line); }
[data-about-item]:first-child { padding-top: 0; }
[data-about-item]:last-child { border-bottom: none; padding-bottom: 0; }
[data-about-num] { font: 500 12px/1.5 var(--mf-font-mono); color: var(--mf-text-soft); }
[data-about-item] h3 { font: 600 24px/1.25 var(--mf-font-heading); letter-spacing: -0.014em; margin: 0; color: var(--mf-ink); }
[data-about-item] p { font: 400 17px/1.75 var(--mf-font-body); color: var(--mf-text-mid); margin: 12px 0 0; max-width: 62ch; }
[data-photo-note] { padding: 0 0 var(--mf-rhythm-sm); background: var(--mf-bg-gray); padding-top: var(--mf-rhythm-sm); }
[data-photo-note] h2 { font: 700 clamp(26px,3vw,34px)/1.2 var(--mf-font-heading); margin: 14px 0 16px; color: var(--mf-ink); }
[data-photo-note] p { font: 400 16px/1.6 var(--mf-font-body); color: var(--mf-text-mid); max-width: 60ch; }
@media (max-width: 760px) {
	[data-about-item] { flex-direction: column; gap: 8px; }
}

/* ---- Clientes page: filters + sector grid ---- */

[data-filters] { padding: 0 0 var(--mf-rhythm-sm); }
[data-filter-bar] { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
[data-filter-btn] { font: 500 14px/1 var(--mf-font-body); background: var(--mf-bg-gray); border: 1px solid var(--mf-line); color: var(--mf-text-mid); padding: 10px 18px; border-radius: var(--mf-radius-sm); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
[data-filter-btn]:hover { border-color: var(--mf-line-strong); }
[data-filter-btn].is-active { background: var(--mf-navy); border-color: var(--mf-navy); color: #FFFFFF; }
[data-filter-count] { opacity: 0.7; font-size: 12px; margin-left: 4px; }
[data-sector-grid] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
[data-filter-empty] { text-align: center; padding: 48px 0; color: var(--mf-text-soft); font: 400 15px var(--mf-font-body); }
@media (max-width: 1024px) {
	[data-sector-grid] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	[data-sector-grid] { grid-template-columns: 1fr; }
}

/* ---- Skip link (own, since parent theme CSS is dequeued here) ---- */
.is-mf-skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--mf-navy); color: #FFFFFF;
	padding: 12px 20px; z-index: 999;
	font: 600 14px/1 var(--mf-font-body);
}
.is-mf-skip-link:focus { left: 12px; top: 12px; }

/* ==== Hero: Onde operamos tag row ==== */
[data-hero-tags] { margin: auto 0 0; padding: 28px 0 32px; border-top: 1px solid rgba(255,255,255,0.16); display: flex; flex-wrap: wrap; gap: clamp(24px,3vw,48px); align-items: center; }
[data-hero-tags-label] { font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.2em; color: var(--mf-blue-light); }
[data-hero-tags-list] { display: flex; flex-wrap: wrap; gap: clamp(18px,2.4vw,34px); }
[data-hero-tags-list] span { font: 500 15px/1 var(--mf-font-body); color: #FFFFFF; }


/* ==== Porquê a Mindelo: two-column sticky ==== */
[data-about-section] { padding: clamp(96px,10vw,168px) 0; }
[data-about-grid] { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: clamp(48px,7vw,104px); }
[data-about-sticky] { position: sticky; top: 96px; align-self: start; }
[data-about-sticky] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-blue); margin-bottom: 0; }
[data-about-sticky] h2 { font: 700 clamp(34px,3.4vw,50px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 22px 0 0; color: var(--mf-ink); }
@media (max-width: 1024px) {
	[data-about-grid] { grid-template-columns: 1fr; }
	[data-about-sticky] { position: static; }
}


/* ==== Serviços (homepage): featured photo + list ==== */
[data-services-home] { background: var(--mf-bg-gray); border-top: 1px solid var(--mf-line); padding: clamp(88px,9vw,144px) 0; }
[data-services-home-head] { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; }
[data-services-home-head] h2 { font: 700 clamp(34px,3.4vw,50px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; max-width: 20ch; color: var(--mf-ink); }
[data-link-underline] { display: inline-flex; align-items: center; gap: 10px; color: var(--mf-blue-link); font: 600 16px/1 var(--mf-font-body); padding-bottom: 8px; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 1px; transition: gap .38s cubic-bezier(.16,1,.3,1); }
[data-link-underline]:hover { gap: 16px; }
[data-link-underline] [data-btn-arrow] { font-family: var(--mf-font-mono); }
[data-services-home-grid] { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(24px,3vw,44px); margin: clamp(40px,4vw,64px) 0 0; align-items: stretch; }
[data-service-featured] { position: relative; display: block; overflow: hidden; background: var(--mf-navy); min-height: 560px; border-radius: var(--mf-radius-sm); }
[data-service-featured-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-service-featured-content] { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(28px,3vw,48px); }
[data-service-featured-badge] { display: inline-block; font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.18em; color: var(--mf-navy); background: var(--mf-yellow); padding: 7px 10px; border-radius: var(--mf-radius-sm); }
[data-service-featured-content] h3 { font: 700 clamp(30px,2.9vw,42px)/1.06 var(--mf-font-heading); letter-spacing: -0.028em; color: #FFFFFF; margin: 22px 0 0; max-width: 16ch; }
[data-service-featured-content] p { font: 400 17px/1.68 var(--mf-font-body); color: var(--mf-blue-lightest); margin: 16px 0 0; max-width: 44ch; }
[data-service-featured-link] { display: inline-flex; align-items: center; gap: 10px; color: #FFFFFF; font: 600 16px/1 var(--mf-font-body); margin: 26px 0 0; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.42); }
[data-services-list] { display: flex; flex-direction: column; justify-content: center; }
[data-service-row] { display: grid; grid-template-columns: 64px 1fr auto; gap: 22px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--mf-line); transition: background .3s ease, padding .4s cubic-bezier(.16,1,.3,1); }
[data-service-row]:hover { background: #FFFFFF; padding-left: 12px; padding-right: 12px; }
[data-service-row-thumb] { width: 64px; height: 64px; border-radius: var(--mf-radius-sm); display: block; background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-blue)); }
[data-service-row] h3 { font: 600 19px/1.3 var(--mf-font-heading); letter-spacing: -0.01em; margin: 0; color: var(--mf-ink); }
[data-service-row] p { font: 400 15px/1.6 var(--mf-font-body); color: var(--mf-text-soft); margin: 6px 0 0; max-width: 44ch; }
[data-service-row-arrow] { font: 400 15px/1 var(--mf-font-mono); color: var(--mf-blue); }
@media (max-width: 1024px) {	[data-services-home-grid] { grid-template-columns: 1fr; }	[data-service-featured] { min-height: 380px; }
}


/* ==== Capacidade operacional ==== */
[data-capacity-section] { background: var(--mf-navy); color: #FFFFFF; overflow: hidden; }
[data-capacity-grid] { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
[data-capacity-content] { padding-block: clamp(88px,9vw,140px); padding-left: max(var(--mf-gutter), calc(50vw - 640px)); padding-right: clamp(40px,5vw,80px); }
[data-capacity-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-capacity-content] h2 { font: 700 clamp(34px,3.5vw,52px)/1.04 var(--mf-font-heading); letter-spacing: -0.034em; margin: 20px 0 0; max-width: 17ch; color: #FFFFFF; }
[data-capacity-content] > p { font: 400 clamp(17px,1.35vw,20px)/1.72 var(--mf-font-body); color: var(--mf-on-navy); margin: 26px 0 0; max-width: 48ch; }
[data-stat-list] { margin: clamp(40px,4.4vw,60px) 0 0; max-width: 52ch; }
[data-stat-row] { display: grid; grid-template-columns: 132px 1fr; gap: 20px; align-items: baseline; padding: 18px 0; border-top: 1px solid rgba(255,255,255,0.16); }
[data-stat-row-last] { border-bottom: 1px solid rgba(255,255,255,0.16); }
[data-stat-label] { font: 500 11px/1.5 var(--mf-font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--mf-blue-light); }
[data-stat-desc] { font: 400 16px/1.68 var(--mf-font-body); color: #FFFFFF; }
[data-link-underline-white] { display: inline-flex; align-items: center; gap: 10px; color: #FFFFFF; font: 600 15px/1 var(--mf-font-body); margin: 34px 0 0; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.34); transition: gap .38s cubic-bezier(.16,1,.3,1), border-color .3s ease; }
[data-link-underline-white]:hover { gap: 16px; border-color: var(--mf-yellow); }
[data-capacity-media] { background: linear-gradient(160deg, #0A2E52 0%, var(--mf-navy) 60%, #05142B 100%); min-height: min(84vh,780px); }
@media (max-width: 1024px) { [data-capacity-grid] { grid-template-columns: 1fr; } [data-capacity-content] { padding-left: var(--mf-gutter); } [data-capacity-media] { min-height: 320px; } }


/* ==== Como trabalhamos: 4 steps ==== */
[data-process-section] { background: #FFFFFF; padding: clamp(88px,9vw,152px) 0; }
[data-process-head] { max-width: 24ch; }
[data-process-head] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-blue); margin-bottom: 0; }
[data-process-head] h2 { font: 700 clamp(34px,3.4vw,50px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; color: var(--mf-ink); }
[data-process-grid] { display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(20px,2.6vw,40px); margin: clamp(48px,5vw,80px) 0 0; }
[data-step-card] { border-top: 2px solid var(--mf-navy); padding: 24px 0 0; }
[data-step-last] { border-top-color: var(--mf-yellow); }
[data-step-num] { display: block; font: 500 clamp(30px,3vw,42px)/1 var(--mf-font-mono); color: var(--mf-navy); letter-spacing: -0.03em; }
[data-step-last] [data-step-num] { color: #B98A05; }
[data-step-card] h3 { font: 600 21px/1.25 var(--mf-font-heading); letter-spacing: -0.012em; margin: 26px 0 0; color: var(--mf-ink); }
[data-step-card] p { font: 400 16px/1.7 var(--mf-font-body); color: var(--mf-text-mid); margin: 10px 0 0; }
@media (max-width: 1024px) { [data-process-grid] { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 760px) { [data-process-grid] { grid-template-columns: 1fr; } }


/* ==== Sectores: horizontal rail ==== */
[data-sectors-home] { padding: clamp(88px,9vw,144px) 0; background: var(--mf-bg-gray); border-top: 1px solid var(--mf-line); }
[data-sectors-head-right] { display: flex; align-items: center; gap: 22px; }
[data-sectors-drag-hint] { font: 400 13px/1 var(--mf-font-mono); color: var(--mf-on-navy-soft); }
[data-sector-rail] { margin: clamp(40px,4vw,60px) 0 0; overflow-x: auto; padding: 0 var(--mf-gutter) 12px; }
[data-sector-rail-track] { display: flex; gap: clamp(16px,1.6vw,22px); width: max-content; }
[data-sector-rail-card] { position: relative; display: block; overflow: hidden; width: clamp(240px,22vw,320px); aspect-ratio: 3/4; background: #0C2C55; border-radius: var(--mf-radius-sm); flex-shrink: 0; }
[data-sector-rail-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-sector-rail-name] { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px; font: 600 20px/1.2 var(--mf-font-heading); letter-spacing: -0.014em; color: #FFFFFF; }


/* ==== Clientes (homepage): mosaic + case log ==== */
[data-clientes-home] { padding: clamp(96px,10vw,164px) 0; background: #FFFFFF; }
[data-clientes-grid] { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(56px,7vw,104px); align-items: center; }
[data-mosaic-grid] { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(12px,1.4vw,20px); }
[data-mosaic-wide] { grid-column: 1 / -1; }
[data-mosaic-item] { margin: 0; }
[data-mosaic-wide] [data-mosaic-media] { aspect-ratio: 16/10; }
[data-mosaic-media] { aspect-ratio: 4/3; border-radius: var(--mf-radius-sm); background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-blue)); overflow: hidden; }
[data-mosaic-item] figcaption { display: flex; gap: 12px; align-items: baseline; font: 400 13px/1.6 var(--mf-font-body); color: var(--mf-text-soft); margin: 12px 0 0; }
[data-mosaic-item] figcaption span { font: 500 11px/1.6 var(--mf-font-mono); color: var(--mf-blue); }
[data-clientes-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-blue); margin-bottom: 0; }
[data-clientes-content] h2 { font: 700 clamp(34px,3.4vw,50px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; max-width: 18ch; color: var(--mf-ink); }
[data-clientes-content] > p { font: 400 clamp(17px,1.35vw,20px)/1.72 var(--mf-font-body); color: var(--mf-text-mid); margin: 24px 0 0; max-width: 46ch; }
[data-case-list] { margin: 40px 0 0; max-width: 48ch; }
[data-case-row] { display: flex; gap: 16px; align-items: baseline; padding: 16px 0; border-top: 1px solid var(--mf-line); }
[data-case-row-last] { border-bottom: 1px solid var(--mf-line); }
[data-case-num] { font: 500 12px/1 var(--mf-font-mono); color: var(--mf-blue); flex-shrink: 0; }
[data-case-text] { font: 400 17px/1.5 var(--mf-font-body); color: var(--mf-ink); }
[data-btn-outline-navy] { display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 22px; border: 1px solid #123A6E; color: #123A6E; font: 600 14px/1 var(--mf-font-body); letter-spacing: 0.002em; border-radius: var(--mf-radius-sm); margin: 40px 0 0; transition: background .28s ease, color .28s ease, gap .4s cubic-bezier(.16,1,.3,1); }
[data-btn-outline-navy]:hover { background: #123A6E; color: #FFFFFF; gap: 18px; }
@media (max-width: 1024px) { [data-clientes-grid] { grid-template-columns: 1fr; } }


/* ==== Final CTA band (corrected content + bg image + phone) ==== */
[data-final-cta] { position: relative; overflow: hidden; background: var(--mf-navy); padding: clamp(96px,10vw,152px) 0; }
[data-final-cta-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-final-cta] [data-container] { position: relative; }
[data-final-cta-row] { display: flex; flex-wrap: wrap; gap: clamp(40px,5vw,72px); justify-content: space-between; align-items: center; }
[data-final-cta-row] h2 { font: 700 clamp(36px,3.9vw,58px)/1.03 var(--mf-font-heading); letter-spacing: -0.036em; color: #FFFFFF; margin: 0; max-width: 20ch; }
[data-final-cta-row] p { font: 400 clamp(17px,1.35vw,20px)/1.68 var(--mf-font-body); color: var(--mf-on-navy); margin: 24px 0 0; max-width: 48ch; }
[data-final-cta-actions] { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
[data-final-cta-phone] { font: 500 21px/1.3 var(--mf-font-mono); color: #FFFFFF; transition: color .24s ease; }
[data-final-cta-phone]:hover { color: var(--mf-yellow); }


/* ==== Sobre a Mindelo: Hero ==== */
[data-sobre-hero] { position: relative; overflow: hidden; background: var(--mf-navy); min-height: min(72vh,620px); display: flex; align-items: flex-end; }
[data-sobre-hero-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-sobre-hero-overlay] { position: absolute; inset: 0; background: linear-gradient(0deg, var(--mf-navy) 6%, rgba(8,32,63,0.74) 46%, rgba(8,32,63,0.32) 100%); }
[data-sobre-hero-content] { position: relative; padding-bottom: clamp(56px,6vw,88px); width: 100%; }
[data-sobre-hero-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-sobre-hero-content] h1 { font: 800 clamp(44px,5.2vw,76px)/1 var(--mf-font-heading); letter-spacing: -0.038em; color: #FFFFFF; margin: 24px 0 0; max-width: 19ch; }


/* ==== Quem somos ==== */
[data-quemsomos] { background: #FFFFFF; padding: clamp(88px,9vw,152px) 0; }
[data-quemsomos-grid] { display: grid; grid-template-columns: 0.68fr 1.32fr; gap: clamp(40px,6vw,96px); align-items: start; }
[data-quemsomos-label] { position: sticky; top: 96px; }
[data-quemsomos-label] [data-eyebrow][data-eyebrow][data-eyebrow] { margin-bottom: 0; }
[data-quemsomos-lede] { font: 400 clamp(21px,2vw,27px)/1.48 var(--mf-font-body); color: var(--mf-ink); margin: 0; max-width: 46ch; letter-spacing: -0.012em; }
[data-quemsomos-content] > p:not([data-quemsomos-lede]) { font: 400 17px/1.8 var(--mf-font-body); color: var(--mf-text-mid); margin: 32px 0 0; max-width: 66ch; }
[data-tbc-badges] { display: flex; flex-wrap: wrap; gap: 10px; margin: 40px 0 0; }
[data-tbc-badge] { font: 400 13px/1 var(--mf-font-mono); color: var(--mf-text-soft); border: 1px dashed var(--mf-line-strong); padding: 11px 14px; border-radius: var(--mf-radius-note); }
@media (max-width: 1024px) { [data-quemsomos-grid] { grid-template-columns: 1fr; } [data-quemsomos-label] { position: static; } }


/* ==== Posicionamento (3 pillars) ==== */
[data-posicionamento] { background: var(--mf-navy); color: #FFFFFF; padding: clamp(96px,10vw,160px) 0; }
[data-posicionamento-lede] { max-width: 58ch; }
[data-posicionamento-lede] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-posicionamento-lede] h2 { font: 700 clamp(34px,3.6vw,54px)/1.04 var(--mf-font-heading); letter-spacing: -0.034em; margin: 20px 0 0; color: #FFFFFF; }
[data-posicionamento-lede] > p { font: 400 clamp(17px,1.4vw,20px)/1.72 var(--mf-font-body); color: var(--mf-on-navy); margin: 26px 0 0; }
[data-pillar-grid] { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(24px,3.4vw,56px); margin: clamp(56px,6vw,88px) 0 0; }
[data-pillar] { border-top: 1px solid rgba(255,255,255,0.22); padding: 26px 0 0; }
[data-pillar-num] { display: block; font: 500 11px/1 var(--mf-font-mono); letter-spacing: 0.16em; color: var(--mf-blue-light); }
[data-pillar] h3 { font: 600 clamp(21px,1.8vw,25px)/1.25 var(--mf-font-heading); letter-spacing: -0.014em; color: #FFFFFF; margin: 22px 0 0; }
[data-pillar] p { font: 400 16px/1.72 var(--mf-font-body); color: var(--mf-on-navy-soft); margin: 12px 0 0; }
@media (max-width: 1024px) { [data-pillar-grid] { grid-template-columns: 1fr; } }


/* ==== Equipa e equipamento: 4-photo grid ==== */
[data-gear-section] { background: #FFFFFF; padding: clamp(88px,9vw,152px) 0; }
[data-gear-section] > [data-container] > [data-eyebrow] { margin-bottom: 0; }
[data-gear-section] h2 { font: 700 clamp(34px,3.4vw,50px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; max-width: 24ch; color: var(--mf-ink); }
[data-gear-section] > [data-container] > p { font: 400 clamp(17px,1.35vw,19px)/1.75 var(--mf-font-body); color: var(--mf-text-mid); margin: 22px 0 0; max-width: 62ch; }
[data-gear-grid] { display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(16px,2vw,26px); margin: clamp(44px,4.6vw,72px) 0 0; }
[data-gear-photo] { margin: 0; }
[data-gear-media] { aspect-ratio: 3/4; background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-navy)); border-radius: var(--mf-radius-sm); overflow: hidden; }
[data-gear-photo] figcaption { font: 400 14px/1.65 var(--mf-font-body); color: var(--mf-text-soft); margin: 14px 0 0; }
@media (max-width: 1024px) { [data-gear-grid] { grid-template-columns: repeat(2,1fr); } }


/* ==== Ambientes que servimos ==== */
[data-ambientes-section] { background: var(--mf-bg-gray); border-top: 1px solid var(--mf-line); padding: clamp(88px,9vw,144px) 0; }
[data-ambientes-grid] { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(48px,6vw,88px); align-items: center; }
[data-ambientes-media] { aspect-ratio: 4/5; background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-navy)); border-radius: var(--mf-radius-sm); overflow: hidden; }
[data-ambientes-content] [data-eyebrow][data-eyebrow][data-eyebrow] { margin-bottom: 0; }
[data-ambientes-content] h2 { font: 700 clamp(32px,3.2vw,46px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; max-width: 20ch; color: var(--mf-ink); }
[data-ambientes-list] { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(20px,2.6vw,40px); margin: 36px 0 0; }
[data-ambientes-list] div { padding: 15px 0; border-top: 1px solid var(--mf-line); font: 400 17px/1.4 var(--mf-font-body); color: var(--mf-ink); }
[data-link-underline-blue] { display: inline-flex; align-items: center; gap: 10px; color: var(--mf-blue-link); font: 600 16px/1 var(--mf-font-body); padding-bottom: 8px; border-bottom: 1px solid var(--mf-blue-lightest); margin: 36px 0 0; transition: gap .38s cubic-bezier(.16,1,.3,1); }
[data-link-underline-blue]:hover { gap: 16px; }
@media (max-width: 1024px) { [data-ambientes-grid] { grid-template-columns: 1fr; } }


/* ==== Sobre: CTA final (dark blue #123A6E, real spec) ==== */
[data-sobre-cta] { background: #123A6E; padding: clamp(80px,8vw,120px) 0; }
[data-sobre-cta-row] { display: flex; flex-wrap: wrap; gap: 40px; justify-content: space-between; align-items: center; }
[data-sobre-cta-row] h2 { font: 700 clamp(30px,3vw,44px)/1.08 var(--mf-font-heading); letter-spacing: -0.032em; color: #FFFFFF; margin: 0; max-width: 24ch; }


/* ==== Serviços: Hero real ==== */
[data-servicos-hero] { position: relative; overflow: hidden; background: var(--mf-navy); min-height: min(80vh,700px); display: flex; align-items: flex-end; }
[data-servicos-hero-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-servicos-hero-overlay] { position: absolute; inset: 0; background: linear-gradient(102deg, var(--mf-navy) 4%, rgba(8,32,63,0.93) 38%, rgba(8,32,63,0.46) 70%, rgba(8,32,63,0.06) 100%); }
[data-servicos-hero-content] { position: relative; padding: 156px var(--mf-gutter) clamp(56px,6vw,88px); width: 100%; max-width: var(--mf-container); margin: 0 auto; box-sizing: border-box; }
[data-servicos-hero-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-servicos-hero-content] h1 { font: 800 clamp(44px,5.4vw,80px)/0.99 var(--mf-font-heading); letter-spacing: -0.04em; color: #FFFFFF; margin: 24px 0 0; max-width: 15ch; }
[data-servicos-hero-content] > p { font: 400 clamp(17px,1.4vw,20px)/1.7 var(--mf-font-body); color: var(--mf-blue-lightest); margin: 26px 0 0; max-width: 50ch; }
[data-servicos-hero-cta] { margin: 38px 0 0; }


/* ==== Section heading pattern (bar + h2), reused across Serviços ==== */
[data-section-heading] { display: flex; align-items: center; gap: 16px; }
[data-section-bar] { width: 5px; height: 28px; }
[data-bar-yellow] { background: var(--mf-yellow); }
[data-bar-blue] { background: var(--mf-blue); }
[data-section-heading] h2 { font: 700 clamp(28px,2.8vw,38px)/1.1 var(--mf-font-heading); letter-spacing: -0.028em; margin: 0; color: var(--mf-ink); }
[data-section-lede] { font: 400 17px/1.75 var(--mf-font-body); color: var(--mf-text-mid); margin: 18px 0 0; max-width: 66ch; }

/* ==== Controlo de pragas: featured + 2x2 pest grid ==== */
[data-servicos-pragas] { background: #FFFFFF; padding: clamp(88px,9vw,152px) 0; }
[data-pragas-body] { margin: clamp(44px,4.6vw,72px) 0 0; }
[data-pest-featured] { position: relative; display: block; overflow: hidden; min-height: 440px; background: var(--mf-navy); border-radius: var(--mf-radius-sm); }
[data-pest-featured-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-pest-featured-content] { position: relative; padding: clamp(36px,4vw,64px); max-width: 60%; }
[data-pest-featured-content] h3 { font: 700 clamp(32px,3.2vw,46px)/1.04 var(--mf-font-heading); letter-spacing: -0.032em; color: #FFFFFF; margin: 24px 0 0; }
[data-pest-featured-content] p { font: 400 clamp(16px,1.3vw,18px)/1.75 var(--mf-font-body); color: var(--mf-blue-lightest); margin: 18px 0 0; max-width: 50ch; }
[data-pest-featured-content] [data-service-featured-link] { margin: 30px 0 0; }
[data-pest-grid] { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,44px); margin: clamp(24px,3vw,44px) 0 0; }
[data-pest-card] { display: block; border-top: 1px solid var(--mf-line); padding: 26px 0 0; transition: border-color .3s ease; }
[data-pest-card]:hover { border-color: var(--mf-navy); }
[data-pest-card-media] { aspect-ratio: 16/10; border-radius: var(--mf-radius-sm); overflow: hidden; background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-blue)); }
[data-pest-card] h3 { font: 600 clamp(23px,2vw,28px)/1.18 var(--mf-font-heading); letter-spacing: -0.02em; margin: 26px 0 0; color: var(--mf-ink); }
[data-pest-card] > p { font: 400 16px/1.75 var(--mf-font-body); color: var(--mf-text-mid); margin: 12px 0 0; max-width: 50ch; }
[data-pest-card-tags] { display: flex; flex-wrap: wrap; gap: 16px; margin: 20px 0 0; }
[data-pest-card-tags] span { font: 400 13px/1 var(--mf-font-mono); color: var(--mf-text-soft); letter-spacing: 0.02em; }
[data-pest-card-link] { display: inline-flex; align-items: center; gap: 10px; color: var(--mf-blue-link); font: 600 15px/1 var(--mf-font-body); margin: 24px 0 0; padding-bottom: 8px; border-bottom: 1px solid var(--mf-blue-lightest); }
@media (max-width: 1024px) { [data-pest-grid] { grid-template-columns: 1fr; } [data-pest-featured-content] { max-width: 100%; } }


/* ==== Serviços complementares: 3-card grid ==== */
[data-servicos-complementares] { background: var(--mf-bg-gray); border-top: 1px solid var(--mf-line); padding: clamp(88px,9vw,144px) 0; }
[data-comp-grid] { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(20px,2.6vw,36px); margin: clamp(40px,4.4vw,68px) 0 0; }
[data-comp-card] { background: #FFFFFF; border: 1px solid var(--mf-line); border-radius: var(--mf-radius-sm); overflow: hidden; transition: border-color .3s ease, box-shadow .3s ease; }
[data-comp-card]:hover { border-color: var(--mf-line-strong); box-shadow: 0 12px 32px rgba(8,32,63,0.07); }
[data-comp-card-media] { aspect-ratio: 16/10; background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-navy)); }
[data-comp-card-body] { padding: clamp(24px,2.4vw,34px); }
[data-comp-card-body] h3 { font: 600 22px/1.25 var(--mf-font-heading); letter-spacing: -0.016em; margin: 0; color: var(--mf-ink); }
[data-comp-card-body] p { font: 400 16px/1.72 var(--mf-font-body); color: var(--mf-text-mid); margin: 12px 0 0; }
[data-comp-card-body] [data-tbc-badge] { margin-top: 18px; display: inline-block; }
@media (max-width: 1024px) { [data-comp-grid] { grid-template-columns: 1fr; } }

/* ==== Serviços: CTA final ==== */
[data-servicos-cta] { background: var(--mf-bg-gray); border-top: 1px solid var(--mf-line); padding: clamp(80px,8vw,120px) 0; }
[data-servicos-cta-row] { display: flex; flex-wrap: wrap; gap: 40px; justify-content: space-between; align-items: center; }
[data-servicos-cta-row] h2 { font: 700 clamp(28px,2.8vw,40px)/1.1 var(--mf-font-heading); letter-spacing: -0.032em; margin: 0; max-width: 24ch; color: var(--mf-ink); }
[data-servicos-cta-row] p { font: 400 17px/1.75 var(--mf-font-body); color: var(--mf-text-mid); margin: 16px 0 0; max-width: 52ch; }


/* ==== Clientes: Hero ==== */
[data-clientes-hero] { position: relative; overflow: hidden; background: var(--mf-navy); min-height: min(74vh,640px); display: flex; align-items: flex-end; }
[data-clientes-hero-media] { position: absolute; inset: 0; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-clientes-hero-overlay] { position: absolute; inset: 0; background: linear-gradient(0deg, var(--mf-navy) 8%, rgba(8,32,63,0.76) 48%, rgba(8,32,63,0.3) 100%); }
[data-clientes-hero-content] { position: relative; padding: 156px var(--mf-gutter) clamp(56px,6vw,88px); width: 100%; max-width: var(--mf-container); margin: 0 auto; box-sizing: border-box; }
[data-clientes-hero-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-clientes-hero-content] h1 { font: 800 clamp(44px,5.2vw,76px)/1 var(--mf-font-heading); letter-spacing: -0.038em; color: #FFFFFF; margin: 24px 0 0; max-width: 17ch; }
[data-clientes-hero-content] > p { font: 400 clamp(17px,1.4vw,20px)/1.7 var(--mf-font-body); color: var(--mf-blue-lightest); margin: 24px 0 0; max-width: 52ch; }


/* ==== Clientes: filter bar + meta ==== */
[data-clientes-grid-section] { background: #FFFFFF; padding: clamp(64px,7vw,104px) 0 clamp(88px,9vw,152px); }
[data-clientes-filter-bar] { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 0 28px; border-bottom: 1px solid var(--mf-line); }
[data-clientes-filter-bar] [data-filter-btn] { display: inline-flex; align-items: center; gap: 9px; height: 44px; padding: 0 18px; border: 1px solid var(--mf-line-strong); background: #FFFFFF; color: var(--mf-text-soft); border-radius: 999px; font: 500 15px/1 var(--mf-font-body); cursor: pointer; transition: background .26s ease, color .26s ease, border-color .26s ease; }
[data-clientes-filter-bar] [data-filter-btn].is-active { background: var(--mf-navy); border-color: var(--mf-navy); color: #FFFFFF; }
[data-clientes-filter-bar] [data-filter-count] { font: 400 12px/1 var(--mf-font-mono); opacity: 0.7; }
[data-clientes-meta] { display: flex; justify-content: space-between; align-items: baseline; margin: 22px 0 0; }
[data-clientes-meta] span { font: 400 14px/1 var(--mf-font-mono); color: var(--mf-text-soft); }
[data-clientes-meta-soft] { color: var(--mf-on-navy-soft) !important; }


/* ==== Clientes: case grid (9 cards, 3 cols) ==== */
[data-case-grid] { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(20px,2.6vw,36px); margin: clamp(32px,3.6vw,52px) 0 0; }
[data-case-article] { border-top: 1px solid var(--mf-line); padding: 24px 0 0; transition: border-color .3s ease; }
[data-case-article].is-hidden { display: none; }
[data-case-article]:hover { border-color: var(--mf-navy); }
[data-case-media] { aspect-ratio: 4/3; border-radius: var(--mf-radius-sm); overflow: hidden; background: linear-gradient(160deg, var(--mf-blue-lighter), var(--mf-navy)); }
[data-case-sector-row] { display: flex; align-items: center; gap: 10px; margin: 22px 0 0; }
[data-case-dot] { width: 6px; height: 6px; background: var(--mf-yellow); border-radius: 50%; display: block; }
[data-case-sector] { font: 500 11px/1 var(--mf-font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--mf-blue); }
[data-case-article] h3 { font: 600 21px/1.28 var(--mf-font-heading); letter-spacing: -0.014em; margin: 12px 0 0; color: var(--mf-ink); }
[data-case-field] { margin: 18px 0 0; }
[data-case-label] { display: block; font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.14em; color: var(--mf-on-navy-soft); }
[data-case-field] p { font: 400 16px/1.7 var(--mf-font-body); color: var(--mf-text-mid); margin: 8px 0 0; }
@media (max-width: 1024px) { [data-case-grid] { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { [data-case-grid] { grid-template-columns: 1fr; } }


/* ==== Estudo de caso (navy, 2-col) ==== */
[data-case-study] { background: var(--mf-navy); color: #FFFFFF; overflow: hidden; }
[data-case-study-grid] { display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: stretch; }
[data-case-study-content] { padding-block: clamp(80px,8.5vw,136px); padding-left: max(var(--mf-gutter), calc(50vw - 592px)); padding-right: clamp(40px,5vw,80px); }
[data-case-study-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-case-study-content] h2 { font: 700 clamp(30px,3.2vw,46px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; max-width: 20ch; color: #FFFFFF; }
[data-case-study-content] > p { font: 400 clamp(17px,1.35vw,19px)/1.75 var(--mf-font-body); color: var(--mf-on-navy); margin: 24px 0 0; max-width: 50ch; }
[data-case-study-content] [data-stat-list] { margin: clamp(36px,4vw,52px) 0 0; max-width: 54ch; }
[data-case-study-content] [data-stat-row] { grid-template-columns: 112px 1fr; }
[data-case-study-content] [data-link-underline-white] { margin: 32px 0 0; }
[data-case-study-media] { position: relative; overflow: hidden; min-height: 600px; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
@media (max-width: 1024px) { [data-case-study-grid] { grid-template-columns: 1fr; } [data-case-study-content] { padding-left: var(--mf-gutter); } [data-case-study-media] { min-height: 320px; } }


/* ==== Contratos de manutenção (sticky left, 4 steps) ==== */
[data-contratos-section] { background: #FFFFFF; padding: clamp(88px,9vw,152px) 0; }
[data-contratos-grid] { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(40px,6vw,96px); align-items: start; }
[data-contratos-sticky] { position: sticky; top: 96px; }
[data-contratos-sticky] [data-eyebrow][data-eyebrow][data-eyebrow] { margin-bottom: 0; }
[data-contratos-sticky] h2 { font: 700 clamp(32px,3.2vw,46px)/1.06 var(--mf-font-heading); letter-spacing: -0.032em; margin: 20px 0 0; color: var(--mf-ink); }
[data-eyebrow-bar] { width: 40px; height: 2px; background: var(--mf-yellow); margin: 30px 0 0; }
[data-contratos-lede] { font: 400 clamp(18px,1.5vw,21px)/1.62 var(--mf-font-body); color: var(--mf-ink); margin: 0; max-width: 52ch; }
[data-contratos-steps] { margin: 36px 0 0; }
[data-contract-step] { display: grid; grid-template-columns: auto 1fr; gap: clamp(18px,2.6vw,38px); padding: 26px 0; border-bottom: 1px solid var(--mf-line); }
[data-contract-step-first] { padding-top: 0; }
[data-contract-step-last] { border-bottom: none; padding-bottom: 0; }
[data-contract-step-num] { font: 500 12px/1.6 var(--mf-font-mono); color: var(--mf-on-navy-soft); }
[data-contract-step] h3 { font: 600 21px/1.25 var(--mf-font-heading); letter-spacing: -0.014em; margin: 0; color: var(--mf-ink); }
[data-contract-step] p { font: 400 16px/1.72 var(--mf-font-body); color: var(--mf-text-mid); margin: 10px 0 0; max-width: 58ch; }
@media (max-width: 1024px) { [data-contratos-grid] { grid-template-columns: 1fr; } [data-contratos-sticky] { position: static; } }

/* ==== Clientes: CTA final ==== */
[data-clientes-cta] { background: var(--mf-bg-gray); border-top: 1px solid var(--mf-line); padding: clamp(80px,8vw,120px) 0; }
[data-clientes-cta-row] { display: flex; flex-wrap: wrap; gap: 40px; justify-content: space-between; align-items: center; }
[data-clientes-cta-row] h2 { font: 700 clamp(28px,2.8vw,42px)/1.08 var(--mf-font-heading); letter-spacing: -0.032em; margin: 0; max-width: 24ch; color: var(--mf-ink); }


/* ==== Contacto: rich Hero with TELEFONE/EMAIL/SEDE/HORÁRIO grid ==== */
[data-contacto-hero] { position: relative; overflow: hidden; background: var(--mf-navy); }
[data-contacto-hero-media] { position: absolute; inset: 0; opacity: 0.2; background: linear-gradient(160deg, #0A2E52, var(--mf-navy)); }
[data-contacto-hero-overlay] { position: absolute; inset: 0; background: linear-gradient(90deg, var(--mf-navy) 24%, rgba(8,32,63,0.7) 100%); }
[data-contacto-hero-content] { position: relative; padding: 176px var(--mf-gutter) clamp(64px,7vw,104px); max-width: var(--mf-container); margin: 0 auto; box-sizing: border-box; }
[data-contacto-hero-content] [data-eyebrow][data-eyebrow][data-eyebrow] { color: var(--mf-yellow); margin-bottom: 0; }
[data-contacto-hero-content] h1 { font: 800 clamp(44px,5.2vw,76px)/1 var(--mf-font-heading); letter-spacing: -0.038em; color: #FFFFFF; margin: 24px 0 0; max-width: 16ch; }
[data-cinfo-grid] { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); gap: clamp(20px,2.6vw,40px); margin: clamp(44px,4.6vw,68px) 0 0; }
[data-cinfo-block] { border-top: 1px solid rgba(255,255,255,0.2); padding: 20px 0 0; }
[data-cinfo-label] { font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.16em; color: var(--mf-blue-light); }
[data-cinfo-phones] { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 0; }
[data-cinfo-phones] a { font: 500 19px/1.3 var(--mf-font-mono); color: #FFFFFF; transition: color .24s ease; }
[data-cinfo-phones] a:hover { color: var(--mf-yellow); }
[data-cinfo-email] { display: block; font: 400 17px/1.5 var(--mf-font-body); color: #FFFFFF; margin: 14px 0 0; word-break: break-all; transition: color .24s ease; }
[data-cinfo-email]:hover { color: var(--mf-yellow); }
[data-cinfo-text] { font: 400 17px/1.6 var(--mf-font-body); color: #FFFFFF; margin: 14px 0 0; }
[data-cinfo-text-soft] { color: var(--mf-on-navy-soft); }
[data-cinfo-mono-sm] { font-family: var(--mf-font-mono); font-size: 14px; }


/* ==== Contacto: form section head ==== */
[data-contacto-form-section] { background: #FFFFFF; padding: clamp(72px,7.5vw,120px) 0 clamp(88px,9vw,144px); }
[data-contacto-form-head] { padding: 0 0 20px; border-bottom: 1px solid var(--mf-line); }
[data-contacto-form-head] h2 { font: 700 clamp(28px,2.8vw,38px)/1.1 var(--mf-font-heading); letter-spacing: -0.028em; margin: 0; color: var(--mf-ink); }
[data-contacto-form-head] p { font: 400 16px/1.6 var(--mf-font-body); color: var(--mf-text-soft); margin: 10px 0 0; }
[data-contact-form-wrap] { max-width: 720px; margin: clamp(36px,4vw,56px) 0 0; background: none; padding: 0; }

/* ==== Chip fields (radio/checkbox styled as pills) ==== */
[data-chip-field] label:not([data-chip-label]) { margin-bottom: 10px; }
[data-chip-group] { display: flex; flex-wrap: wrap; gap: 10px; }
[data-chip-group] input { position: absolute; opacity: 0; width: 1px; height: 1px; }
[data-chip-label] { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid var(--mf-line-strong); border-radius: 999px; font: 500 14px/1 var(--mf-font-body); color: var(--mf-text-mid); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
[data-chip-group] input:checked + [data-chip-label] { background: var(--mf-navy); border-color: var(--mf-navy); color: #FFFFFF; }
[data-chip-group] input:focus-visible + [data-chip-label] { outline: 2px solid var(--mf-blue); outline-offset: 2px; }
[data-chip-field].is-invalid [data-chip-label] { border-color: #C0392B; }


/* ==========================================================================
   Servico em detalhe (/servicos/<slug>)
   Replicated from the prototype source (index_dc.html, bloco isFumigacao).
   Photos are brand-gradient placeholders: the prototype images are not on
   this server.
   ========================================================================== */

/* ---- Hero ---- */
[data-svc-hero] { position: relative; overflow: hidden; background: var(--mf-navy); min-height: min(76vh, 660px); display: flex; align-items: flex-end; }
[data-svc-hero-media] { position: absolute; inset: 0; background: linear-gradient(150deg, #0F3A66 0%, #0A2E52 45%, var(--mf-navy) 100%); }
[data-svc-hero-overlay] { position: absolute; inset: 0; background: linear-gradient(98deg, var(--mf-navy) 6%, rgba(8,32,63,0.92) 40%, rgba(8,32,63,0.42) 74%, rgba(8,32,63,0.04) 100%); }
[data-svc-hero-content] { position: relative; max-width: var(--mf-container); margin: 0 auto; padding: 156px var(--mf-gutter) clamp(56px,6vw,88px); width: 100%; box-sizing: border-box; }

[data-svc-breadcrumb] { display: flex; align-items: center; gap: 10px; }
[data-svc-breadcrumb] a { font: 400 13px/1 var(--mf-font-mono); color: #8FC3EF; transition: color .24s ease; }
[data-svc-breadcrumb] a:hover { color: var(--mf-yellow); }
[data-svc-crumb-sep] { font: 400 13px/1 var(--mf-font-mono); color: var(--mf-blue-light); }
[data-svc-crumb-current] { font: 400 13px/1 var(--mf-font-mono); color: #FFFFFF; }

[data-svc-hero-content] h1 { font: 800 clamp(42px,5.2vw,76px)/0.99 var(--mf-font-heading); letter-spacing: -0.04em; color: #FFFFFF; margin: 22px 0 0; max-width: 15ch; }
[data-svc-intro] { font: 400 clamp(17px,1.4vw,20px)/1.7 var(--mf-font-body); color: #C4DFF7; margin: 22px 0 0; max-width: 52ch; }

[data-svc-facts] { display: flex; flex-wrap: wrap; gap: 32px; margin: 36px 0 0; }
[data-svc-fact-k] { font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.16em; color: var(--mf-blue-light); }
[data-svc-fact-v] { font: 500 16px/1.4 var(--mf-font-body); color: #FFFFFF; margin: 8px 0 0; }
[data-svc-fact-v][data-soft] { color: var(--mf-on-navy-soft); }

/* ---- Corpo: TOC pegajoso + coluna principal ---- */
[data-svc-body] { background: #FFFFFF; padding: clamp(72px,7.5vw,120px) 0 clamp(88px,9vw,144px); }
[data-svc-grid] { display: grid; grid-template-columns: 220px 1fr; gap: clamp(40px,6vw,96px); align-items: start; }

[data-svc-toc] { position: sticky; top: 96px; }
[data-toc-label] { font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.16em; color: #8FA3BE; }
[data-toc-list] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin: 18px 0 0; }
[data-toc-link] { font: 400 15px/1.4 var(--mf-font-body); color: var(--mf-text-soft); padding: 9px 0 9px 14px; border-left: 2px solid var(--mf-line); width: 100%; box-sizing: border-box; transition: color .24s ease, border-color .24s ease; }
[data-toc-link]:hover { color: var(--mf-navy); }
[data-toc-link].is-active { font-weight: 500; color: var(--mf-navy); border-left-color: var(--mf-yellow); }
[data-toc-cta] { display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 18px; background: var(--mf-navy); color: #FFFFFF; font: 600 14px/1 var(--mf-font-body); border-radius: 2px; margin: 28px 0 0; transition: background .24s ease, gap .38s cubic-bezier(.16,1,.3,1); }
[data-toc-cta]:hover { background: #123A6E; gap: 14px; }

[data-svc-block] { scroll-margin-top: 96px; }
[data-svc-block-gap] { margin: clamp(64px,6.5vw,104px) 0 0; }
[data-svc-main] h2 { font: 700 clamp(30px,3vw,42px)/1.08 var(--mf-font-heading); letter-spacing: -0.03em; margin: 0; max-width: 20ch; color: var(--mf-ink); }
[data-svc-lede] { font: 400 clamp(17px,1.35vw,19px)/1.78 var(--mf-font-body); color: #44546B; margin: 20px 0 0; max-width: 64ch; }
[data-svc-lede-sm] { font: 400 17px/1.75 var(--mf-font-body); color: #44546B; margin: 18px 0 0; max-width: 62ch; }

/* ---- Metodos ---- */
[data-svc-methods] { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,40px); margin: clamp(36px,4vw,56px) 0 0; }
[data-svc-method] { border-top: 2px solid var(--mf-navy); padding: 26px 0 0; }
[data-svc-method][data-accent="yellow"] { border-top-color: var(--mf-yellow); }
[data-svc-method-media] { width: 100%; aspect-ratio: 16/10; border-radius: 2px; background: linear-gradient(140deg, #123A6E 0%, #0A2E52 55%, var(--mf-navy) 100%); }
[data-svc-method][data-accent="yellow"] [data-svc-method-media] { background: linear-gradient(140deg, #1E5FA8 0%, #123A6E 55%, var(--mf-navy) 100%); }
[data-svc-method] h3 { font: 600 clamp(21px,1.9vw,25px)/1.22 var(--mf-font-heading); letter-spacing: -0.016em; margin: 24px 0 0; color: var(--mf-ink); }
[data-svc-method] p { font: 400 16px/1.75 var(--mf-font-body); color: #44546B; margin: 12px 0 0; }
[data-svc-method-tags] { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0 0; }
[data-svc-method-tags] span { font: 400 13px/1 var(--mf-font-mono); color: var(--mf-text-soft); }

/* ---- Onde se aplica ---- */
[data-svc-apps] { margin: 30px 0 0; border-top: 1px solid var(--mf-line); }
[data-svc-app] { display: grid; grid-template-columns: 0.9fr 2fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--mf-line); }
[data-svc-app-k] { font: 600 17px/1.45 var(--mf-font-body); color: #0E1A2B; }
[data-svc-app-v] { font: 400 17px/1.65 var(--mf-font-body); color: #44546B; }

/* ---- Preparacao ---- */
[data-svc-prep] { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 clamp(24px,3vw,48px); margin: 28px 0 0; }
[data-svc-prep-item] { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--mf-line); }
[data-svc-prep-n] { font: 500 12px/1.6 var(--mf-font-mono); color: #8FA3BE; }
[data-svc-prep-t] { font: 400 16px/1.7 var(--mf-font-body); color: #0E1A2B; }

/* ---- FAQ ---- */
[data-svc-faq] { margin: 28px 0 0; border-top: 1px solid var(--mf-line); }
[data-svc-faq-item] { padding: 24px 0; border-bottom: 1px solid var(--mf-line); }
[data-svc-faq-item] h3 { font: 600 19px/1.35 var(--mf-font-heading); letter-spacing: -0.012em; margin: 0; color: var(--mf-ink); }
[data-svc-faq-item] p { font: 400 16px/1.75 var(--mf-font-body); color: #44546B; margin: 10px 0 0; max-width: 62ch; }
[data-svc-faq-soft] { font: 400 15px/1.7 var(--mf-font-body); color: var(--mf-text-soft); margin: 8px 0 0; }

/* ---- CTA ---- */
[data-svc-cta] { margin: clamp(56px,6vw,88px) 0 0; background: #F5F7FA; border-left: 2px solid var(--mf-yellow); padding: clamp(28px,3vw,44px); }
[data-svc-cta] h3 { font: 700 clamp(22px,2.2vw,30px)/1.14 var(--mf-font-heading); letter-spacing: -0.024em; margin: 0; max-width: 26ch; color: var(--mf-ink); }
[data-svc-cta-row] { display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0 0; }
[data-svc-cta-row] [data-btn-primary] { display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 22px; background: var(--mf-yellow); color: var(--mf-navy); font: 600 14px/1 var(--mf-font-body); letter-spacing: 0.002em; border-radius: 2px; box-sizing: border-box; transition: background .24s ease, gap .4s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
[data-svc-cta-row] [data-btn-primary]:hover { background: #FFC93F; gap: 16px; box-shadow: 0 4px 14px rgba(242,184,36,0.2); }
[data-svc-cta-phone] a { display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 22px; border: 1px solid #C2CCDA; color: #44546B; font: 600 14px/1 var(--mf-font-body); letter-spacing: 0.002em; border-radius: 2px; box-sizing: border-box; transition: border-color .26s ease, color .26s ease; }
[data-svc-cta-phone] a:hover { border-color: var(--mf-navy); color: var(--mf-navy); }

/* ---- Outros servicos ---- */
[data-svc-related] { margin: clamp(56px,6vw,88px) 0 0; }
[data-svc-related-label] { font: 500 10px/1 var(--mf-font-mono); letter-spacing: 0.16em; color: #8FA3BE; }
[data-svc-related-grid] { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 clamp(24px,3vw,48px); margin: 18px 0 0; }
[data-svc-related-link] { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-top: 1px solid var(--mf-line); font: 500 17px/1.4 var(--mf-font-body); color: #0E1A2B; transition: color .24s ease; }
[data-svc-related-link]:hover { color: var(--mf-blue); }
[data-svc-related-link] [data-btn-arrow] { font: 400 14px/1 var(--mf-font-mono); color: var(--mf-blue); }

@media (max-width: 1024px) {
	[data-svc-grid] { grid-template-columns: 1fr; }
	[data-svc-toc] { position: static; }
	[data-toc-list] { flex-direction: row; flex-wrap: wrap; }
	[data-toc-link] { width: auto; }
	[data-svc-methods] { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	[data-svc-hero-content] { padding-top: 128px; }
	[data-svc-prep] { grid-template-columns: 1fr; }
	[data-svc-related-grid] { grid-template-columns: 1fr; }
	[data-svc-app] { grid-template-columns: 1fr; gap: 6px; }
}

/* ---- Fotografias: WebP na Biblioteca de Media, dentro dos contentores existentes ---- */
[data-svc-hero-media] img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
[data-svc-method-media] { overflow: hidden; }
[data-svc-method-media] img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* imagens nas paginas principais */
[data-sobre-hero-media] img,
[data-servicos-hero-media] img,
[data-clientes-hero-media] img,
[data-contacto-hero-media] img,
[data-service-featured-media] img,
[data-capacity-media] img,
[data-sector-rail-media] img,
[data-mosaic-media] img,
[data-final-cta-media] img,
[data-gear-media] img,
[data-ambientes-media] img,
[data-pest-featured-media] img,
[data-pest-card-media] img,
[data-comp-card-media] img,
[data-case-media] img,
[data-case-study-media] img { width: 100%; height: 100%; object-fit: cover; display: block; }
[data-sobre-hero-media] img,
[data-servicos-hero-media] img,
[data-clientes-hero-media] img,
[data-contacto-hero-media] img { position: absolute; inset: 0; }

/* opacidade do prototipo */
[data-final-cta-media] img { opacity: 0.26; }


/* ==========================================================================
   Zoom da imagem em hover — replicado do prototipo (style-hover scale 1.04-1.07)
   ========================================================================== */

[data-service-featured-media],
[data-capacity-media],
[data-sector-rail-media],
[data-mosaic-media],
[data-gear-media],
[data-ambientes-media],
[data-pest-featured-media],
[data-pest-card-media],
[data-comp-card-media],
[data-case-media],
[data-case-study-media],
[data-svc-method-media] { overflow: hidden; }

[data-service-featured-media] img,
[data-capacity-media] img,
[data-sector-rail-media] img,
[data-mosaic-media] img,
[data-gear-media] img,
[data-ambientes-media] img,
[data-pest-featured-media] img,
[data-pest-card-media] img,
[data-comp-card-media] img,
[data-case-media] img,
[data-case-study-media] img,
[data-svc-method-media] img {
	transform: scale(1);
	transition: transform 1.05s cubic-bezier(.16,1,.3,1);
	will-change: transform;
}

a:hover [data-service-featured-media] img,
a:hover [data-pest-featured-media] img,
a:hover [data-pest-card-media] img,
a:hover [data-comp-card-media] img,
a:hover [data-sector-rail-media] img,
a:hover [data-case-media] img,
[data-sector-card]:hover [data-sector-rail-media] img,
figure:hover [data-gear-media] img,
[data-gear-media]:hover img,
[data-ambientes-media]:hover img,
[data-case-study-media]:hover img,
[data-capacity-media]:hover img { transform: scale(1.05); }

a:hover [data-mosaic-media] img,
[data-mosaic-media]:hover img,
[data-svc-method-media]:hover img { transform: scale(1.04); }

@media (prefers-reduced-motion: reduce) {
	[data-service-featured-media] img,
	[data-capacity-media] img,
	[data-sector-rail-media] img,
	[data-mosaic-media] img,
	[data-gear-media] img,
	[data-ambientes-media] img,
	[data-pest-featured-media] img,
	[data-pest-card-media] img,
	[data-comp-card-media] img,
	[data-case-media] img,
	[data-case-study-media] img,
	[data-svc-method-media] img { transition: none; transform: none !important; }
}

/* o zoom de hover nao entra em conflito com o parallax (ambos usam transform) */
[data-9w-parallax] { transition: none !important; }
[data-capacity-media] img[data-9w-parallax],
[data-case-study-media] img[data-9w-parallax] { transform: none; }
[data-capacity-media]:hover img[data-9w-parallax],
[data-case-study-media]:hover img[data-9w-parallax] { transform: none; }
/* heros com parallax: a imagem precisa de folga para se mover */
[data-hero-media] img,
[data-sobre-hero-media] img,
[data-servicos-hero-media] img,
[data-clientes-hero-media] img,
[data-contacto-hero-media] img,
[data-svc-hero-media] img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* Capacidade operacional: estrutura de 3 imagens do prototipo */
[data-capacity-media] { display: grid; grid-template-rows: 1.34fr 1fr; min-height: min(84vh,780px); }
[data-capacity-media-main] { position: relative; overflow: hidden; background: linear-gradient(160deg, #0A2E52 0%, var(--mf-navy) 60%, #05142B 100%); }
[data-capacity-media-main] img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
[data-capacity-media-pair] { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,0.14); }
[data-capacity-fig] { position: relative; margin: 0; overflow: hidden; background: linear-gradient(150deg, #0F3A66 0%, #0A2E52 55%, var(--mf-navy) 100%); }
[data-capacity-fig] img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1); transition: transform 1.05s cubic-bezier(.16,1,.3,1); }
[data-capacity-fig]:hover img { transform: scale(1.05); }
[data-capacity-fig] figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 18px; font: 400 13px/1.5 var(--mf-font-body); color: #FFFFFF; background: linear-gradient(0deg, rgba(5,20,43,0.86) 30%, rgba(5,20,43,0) 100%); }
[data-capacity-media]:hover img { transform: none; }


@media (prefers-reduced-motion: reduce) { [data-capacity-fig] img { transition: none; transform: none !important; } }


/* ==========================================================================
   Scrims de gradiente sobre fotografia - replicados do prototipo
   (no prototipo sao <div> irmaos depois do <img>; aqui ::after sobre o media)
   ========================================================================== */

[data-service-featured-media]::after,
[data-sector-rail-media]::after,
[data-pest-featured-media]::after,
[data-final-cta-media]::after { content: ""; position: absolute; inset: 0; pointer-events: none; }

[data-service-featured-media]::after { background: linear-gradient(0deg, rgba(8,32,63,0.95) 4%, rgba(8,32,63,0.52) 48%, rgba(8,32,63,0.04) 100%); }

[data-sector-rail-media]::after { background: linear-gradient(0deg, rgba(8,32,63,0.92) 0%, rgba(8,32,63,0.18) 58%, rgba(8,32,63,0.02) 100%); }

[data-pest-featured-media]::after { background: linear-gradient(94deg, rgba(8,32,63,0.95) 10%, rgba(8,32,63,0.68) 48%, rgba(8,32,63,0.08) 100%); }

[data-final-cta-media]::after { background: linear-gradient(90deg, var(--mf-navy) 20%, rgba(8,32,63,0.74) 100%); }


/* ==========================================================================
   Comportamento responsivo - replicado do prototipo (@1024 / @760 / @380)
   ========================================================================== */

@media (max-width: 1024px) {
	[data-capacity-media] { min-height: 300px; }
	[data-case-study-media] { min-height: 300px; }
	[data-service-featured] { min-height: 420px; }
	[data-pest-featured] { min-height: 420px; }
	[data-capacity-content],
	[data-case-study-content] { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 760px) {
	h1 { font-size: clamp(36px, 9.6vw, 50px) !important; }
	h2 { font-size: clamp(26px, 7.2vw, 34px) !important; }
	[data-hero] { min-height: 0; }
	[data-service-featured-content] { padding: 24px; }
	[data-pest-featured-content] { padding: 26px; }
	[data-sector-rail] { padding-left: 20px; padding-right: 20px; }
	[data-ambientes-media] { aspect-ratio: 4 / 3; }
	[data-footer-span] { grid-column: 1 / -1; }
	[data-footer-brand-note] { font-size: 14px; max-width: none; }
	[data-footer-phones] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
	[data-footer-inner] { padding-top: 52px; }
	[data-footer-bottom] { margin-top: 36px; gap: 4px; padding-bottom: 22px; }
}

@media (max-width: 380px) {
	[data-footer-phones] { grid-template-columns: 1fr; }
}


/* Filhos de grelha nao podem exceder a coluna (regra do prototipo: grid > * { min-width: 0 }) */
@media (max-width: 1024px) {
	[data-footer-grid] > *,
	[data-service-grid-inner] > *,
	[data-about-item] > *,
	[data-sector-grid] > *,
	[data-about-grid] > *,
	[data-services-home-grid] > *,
	[data-service-row] > *,
	[data-capacity-grid] > *,
	[data-stat-row] > *,
	[data-process-grid] > *,
	[data-clientes-grid] > *,
	[data-mosaic-grid] > *,
	[data-quemsomos-grid] > *,
	[data-pillar-grid] > *,
	[data-gear-grid] > *,
	[data-ambientes-grid] > *,
	[data-ambientes-list] > *,
	[data-pest-grid] > *,
	[data-comp-grid] > *,
	[data-case-grid] > *,
	[data-case-study-grid] > *,
	[data-contratos-grid] > *,
	[data-contract-step] > *,
	[data-cinfo-grid] > *,
	[data-svc-grid] > *,
	[data-svc-methods] > *,
	[data-svc-app] > *,
	[data-svc-prep] > *,
	[data-svc-prep-item] > *,
	[data-svc-related-grid] > *,
	[data-capacity-media] > *,
	[data-capacity-media-pair] > *,
	[data-footer-phones] > * { min-width: 0; }
}

/* Rodape: gap do prototipo em telemovel */
@media (max-width: 760px) {
	[data-footer-grid] { gap: 32px 20px; }
}


/* Rodape: grelha do prototipo em tablet e telemovel */
@media (max-width: 1024px) {
	[data-footer-grid] { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: clamp(24px, 3vw, 40px); }
}
@media (max-width: 760px) {
	[data-footer-grid] { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
}


/* Barra amarela sob o h2 - margens do prototipo por seccao */
[data-about-sticky] [data-eyebrow-bar] { margin: 32px 0 0; }
[data-quemsomos-label] [data-eyebrow-bar], [data-sobre-lede] [data-eyebrow-bar] { margin: 22px 0 0; }


/* Miniatura das linhas de servico (64x64 no prototipo) */
[data-service-row-thumb] { overflow: hidden; flex: 0 0 auto; }
[data-service-row-thumb] img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--mf-radius-sm); }


/* Titulos de cartao dentro de <a>: no prototipo herdam a cor de a{color:#1E5299} */
[data-service-row] h3,
[data-pest-card] h3 { color: var(--mf-blue-link); }


/* Ultima linha do estudo de caso e nota em texto suave - valores do prototipo */
[data-case-study-content] [data-stat-row-last] [data-stat-desc] { color: var(--mf-on-navy-soft); }
[data-text-soft] { color: var(--mf-text-soft); }
