/*
Theme Name: Micelle DFK v1.3.18
Theme URI: https://www.micellegroup.com/
Author: Micelle Cía. Ltda., García - Zurita & Asociados
Description: Tema corporativo para Micelle Cía. Ltda., García - Zurita & Asociados — Firma Miembro Independiente de DFK International. Incluye el sitemap completo (La Firma, Servicios, Industrias, Micelle News, Carreras, Contacto, Privacidad), formulario RFP con consentimiento LOPDP, canal de ética anónimo, fichas de socios, vacantes, calculadora de auditoría obligatoria y disclaimers globales. Al activarlo crea páginas, menús y portada automáticamente.
Version: 1.3.18
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: micelle
*/

/* ---------- Tokens ---------- */
:root {
	--ink: #15294a;
	--accent: #0d7d87;
	--paper: #ffffff;
	--mist: #f0f3f6;
	--line: #d8dee6;
	--text: #1d2733;
	--muted: #56657a;
	--ok: #1c7a4b;
	--err: #b3261e;

	--ink-2: color-mix(in srgb, var(--ink) 86%, #000);
	--accent-soft: color-mix(in srgb, var(--accent) 10%, #fff);
	--on-ink-muted: color-mix(in srgb, #fff 72%, var(--ink));

	--serif: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--sans: "Public Sans", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;

	--step--1: 0.875rem;
	--step-0: 1.0625rem;
	--step-1: 1.25rem;
	--step-2: 1.5rem;
	--step-3: 2rem;
	--step-4: clamp(2.25rem, 1.6rem + 2.4vw, 3.25rem);
	--step-5: clamp(2.5rem, 1.6rem + 3.6vw, 4.25rem);

	--wrap: 1200px;
	--prose: 46rem;
	--gap: clamp(1rem, 0.6rem + 1.6vw, 2rem);
	--section: clamp(3.5rem, 2.5rem + 4vw, 6rem);
	--radius: 4px;
	--header-h: 84px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
	margin: 0;
	background: var(--paper);
	color: var(--text);
	font: 400 var(--step-0)/1.6 var(--sans);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, h4 { font-family: var(--serif); color: var(--ink); line-height: 1.2; margin: 0 0 0.6em; font-weight: 600; letter-spacing: -0.005em; }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-2); }
h4 { font-size: var(--step-1); }
p { margin: 0 0 1.1em; }
ul, ol { padding-left: 1.25em; margin: 0 0 1.2em; }
li { margin-bottom: 0.4em; }
code { background: var(--mist); padding: 0.1em 0.35em; border-radius: 3px; font-size: 0.92em; }
.small { font-size: var(--step--1); color: var(--muted); }
.lead { font-size: var(--step-1); line-height: 1.55; color: var(--text); }

.container { width: min(100% - 2 * var(--gap), var(--wrap)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link { position: absolute; left: 1rem; top: -100px; z-index: 1000; background: var(--ink); color: #fff; padding: 0.75rem 1rem; border-radius: var(--radius); }
.skip-link:focus { top: 1rem; }

/* ---------- Botones ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	padding: 0.72rem 1.25rem; border: 1.5px solid transparent; border-radius: var(--radius);
	font: 600 0.975rem/1.2 var(--sans); text-decoration: none; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.btn .icon { width: 1.15em; height: 1.15em; }
.btn--sm { padding: 0.55rem 0.95rem; font-size: 0.9rem; }
.btn--lg { padding: 0.95rem 1.6rem; font-size: 1.02rem; }
.btn--primary { background: var(--accent); color: #fff; }
.btn--primary:hover { background: var(--ink); color: #fff; }
.btn--ghost { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn--ghost:hover { background: var(--ink); color: #fff; }
.btn--light { background: #fff; color: var(--ink); }
.btn--light:hover { background: var(--accent); color: #fff; }
.btn--outline-light { border-color: rgba(255,255,255,.7); color: #fff; }
.btn--outline-light:hover { background: #fff; color: var(--ink); }
.btn--mia { color: var(--ink); border-color: var(--line); background: #fff; padding: 0.5rem 0.8rem; font-size: 0.9rem; }
.btn--mia .icon { color: #1f9d55; }
.btn--mia:hover { border-color: var(--ink); color: var(--ink); }
.btn:disabled { opacity: .6; cursor: progress; }
.cta-inline { margin: 1.5rem 0 0; }

/* ---------- Cabecera ---------- */
.site-header {
	position: sticky; top: 0; z-index: 100; background: #fff;
	border-bottom: 1px solid var(--line); transition: box-shadow .2s;
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 0; } }
.site-header.is-scrolled { box-shadow: 0 6px 18px -12px rgba(21, 41, 74, .35); }
.site-header__inner { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.5rem; min-height: var(--header-h); }
.header-actions { display: flex; gap: 0.5rem; align-items: center; margin-left: auto; }
@media (min-width: 1025px) {
	.site-header__inner { padding-top: 0.9rem; }
	.primary-nav { flex-basis: 100%; margin: 0.6rem 0 0 -0.55rem; }
	.primary-nav__actions { display: none; }
	.primary-nav .menu > li > a { padding: 0.75rem 0.55rem 0.9rem; font-size: 0.95rem; }
	.sub-menu { top: calc(100% - 1px); }
}
.brand { display: flex; flex-direction: column; gap: 2px; flex-shrink: 0; }
.brand .custom-logo { max-height: 56px; width: auto; }
.brand__wordmark { text-decoration: none; display: flex; flex-direction: column; line-height: 1; }
.brand__name { font: 700 1.6rem/1 var(--serif); letter-spacing: 0.14em; color: var(--ink); }
.brand__sub { font: 500 0.72rem/1.3 var(--sans); color: var(--muted); margin-top: 4px; }
.brand__dfk { font: italic 400 0.72rem/1.2 var(--sans); color: var(--accent); }

.primary-nav { display: flex; align-items: center; gap: 1rem; }
.primary-nav .menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0.1rem; }
.primary-nav .menu > li { position: relative; margin: 0; display: flex; align-items: center; }
.primary-nav .menu > li > a {
	display: block; padding: 0.6rem 0.55rem; color: var(--ink); text-decoration: none;
	font-weight: 500; font-size: 0.93rem; white-space: nowrap;
}
.primary-nav .menu > li > a:hover,
.primary-nav .menu > li.current-menu-item > a,
.primary-nav .menu > li.current-menu-ancestor > a,
.primary-nav .menu > li.current-page-ancestor > a { color: var(--accent); }
.submenu-toggle { background: none; border: 0; padding: 0.3rem; margin-left: -0.35rem; color: var(--muted); cursor: pointer; display: inline-flex; }
.submenu-toggle .icon { width: 16px; height: 16px; transition: transform .15s; }
.is-open > .submenu-toggle .icon { transform: rotate(180deg); }
.sub-menu {
	list-style: none; margin: 0; padding: 0.5rem 0; position: absolute; top: 100%; left: 0;
	min-width: 290px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--accent);
	border-radius: 0 0 var(--radius) var(--radius); box-shadow: 0 16px 32px -20px rgba(21,41,74,.45);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s;
}
.sub-menu li { margin: 0; }
.sub-menu a { display: block; padding: 0.55rem 1.1rem; color: var(--text); text-decoration: none; font-size: 0.92rem; line-height: 1.35; }
.sub-menu a:hover, .sub-menu .current-menu-item > a { background: var(--mist); color: var(--accent); }
@media (min-width: 1025px) {
	.menu > li:hover > .sub-menu, .menu > li:focus-within > .sub-menu, .menu > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.menu > li:nth-last-child(-n+3) > .sub-menu { left: auto; right: 0; }
}
@media (max-width: 1024px) { .primary-nav__actions { display: flex; gap: 0.5rem; align-items: center; } }
.nav-toggle { display: none; }

@media (max-width: 1024px) {
	.header-actions { display: none; }
	.nav-toggle {
		display: inline-flex; align-items: center; gap: 0.4rem; margin-left: auto;
		background: none; border: 1px solid var(--line); border-radius: var(--radius); padding: 0.5rem 0.75rem; color: var(--ink); font: 600 0.9rem var(--sans); cursor: pointer;
	}
	.nav-toggle__close { display: none; }
	.nav-open .nav-toggle__open { display: none; }
	.nav-open .nav-toggle__close { display: inline-flex; }
	.primary-nav {
		position: fixed; inset: var(--header-h) 0 0 0; background: #fff; flex-direction: column; align-items: stretch;
		padding: 1rem var(--gap) 2rem; overflow-y: auto; margin: 0; gap: 1.5rem;
		transform: translateX(100%); transition: transform .2s; visibility: hidden;
	}
	.admin-bar .primary-nav { top: calc(var(--header-h) + 46px); }
	.nav-open .primary-nav { transform: none; visibility: visible; }
	.nav-open { overflow: hidden; }
	.primary-nav .menu { flex-direction: column; align-items: stretch; }
	.primary-nav .menu > li { flex-wrap: wrap; border-bottom: 1px solid var(--line); }
	.primary-nav .menu > li > a { flex: 1; padding: 0.9rem 0; font-size: 1.05rem; white-space: normal; }
	.submenu-toggle { padding: 0.7rem; margin: 0; }
	.sub-menu { position: static; width: 100%; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 0.75rem; display: none; min-width: 0; }
	.is-open > .sub-menu { display: block; }
	.sub-menu a { padding: 0.5rem 0 0.5rem 1rem; border-left: 2px solid var(--line); }
	.primary-nav__actions { flex-direction: column; align-items: stretch; }
	.primary-nav__actions .btn { width: 100%; padding: 0.85rem; }
}
@media (max-width: 560px) { .brand__dfk { display: none; } .nav-toggle__label { display: none; } }

/* ---------- Hero (portada) ---------- */
.hero {
	background-color: var(--ink);
	background-image:
		radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--accent) 38%, transparent) 0%, transparent 55%),
		repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 96px);
	background-size: cover; background-position: center;
	color: #fff; padding: clamp(4rem, 3rem + 5vw, 7.5rem) 0 clamp(3.5rem, 2.5rem + 4vw, 6rem);
}
.hero__inner { max-width: var(--wrap); }
.hero__title {
	font: 600 var(--step-5)/1.06 var(--serif); letter-spacing: -0.015em; color: #fff;
	max-width: 21ch; margin: 0 0 2rem; text-wrap: balance;
}
.hero__services {
	list-style: none; padding: 1rem 0; margin: 0 0 1.5rem; display: flex; flex-wrap: wrap;
	border-top: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28);
	max-width: 62rem;
}
.hero__services li {
	margin: 0.25rem 0; padding: 0 1.1rem; font-weight: 500; font-size: 1rem; color: #fff;
	border-left: 1px solid rgba(255,255,255,.45); line-height: 1.3;
}
.hero__services li:first-child { padding-left: 0; border-left: 0; }
.hero__text { max-width: 44rem; font-size: var(--step-1); line-height: 1.55; color: var(--on-ink-muted); margin-bottom: 2.25rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.hero__mia { margin: 1.5rem 0 0; font-size: 0.95rem; }
.hero__mia a { color: #fff; display: inline-flex; gap: 0.45rem; align-items: center; }
.hero__mia .icon { width: 20px; height: 20px; color: #6fe0a0; }
@media (max-width: 640px) {
	.hero__services { flex-direction: column; }
	.hero__services li { border-left: 0; padding: 0; }
	.hero__services li + li { border-top: 1px solid rgba(255,255,255,.18); padding-top: 0.5rem; margin-top: 0.5rem; }
}

/* ---------- Trust bar ---------- */
.trustbar { background: #fff; border-bottom: 1px solid var(--line); }
.trustbar__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust { display: flex; gap: 0.85rem; padding: 1.6rem 1.25rem; border-left: 1px solid var(--line); }
.trust:first-child { border-left: 0; padding-left: 0; }
.trust .icon { flex-shrink: 0; width: 28px; height: 28px; color: var(--accent); margin-top: 2px; }
.trust__label { font-weight: 700; color: var(--ink); font-size: 0.95rem; margin: 0 0 0.2rem; }
.trust__text { margin: 0; font-size: 0.9rem; color: var(--muted); line-height: 1.45; }
@media (max-width: 980px) {
	.trustbar__grid { grid-template-columns: 1fr 1fr; }
	.trust { padding: 1.25rem 1rem; }
	.trust:nth-child(odd) { border-left: 0; padding-left: 0; }
	.trust:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 560px) {
	.trustbar__grid { grid-template-columns: 1fr; }
	.trust { border-left: 0; padding-left: 0; }
	.trust + .trust { border-top: 1px solid var(--line); }
}

/* ---------- Secciones ---------- */
.section { padding: var(--section) 0; }
.section--mist { background: var(--mist); }
.section--ink { background: var(--ink); color: #fff; }
.section--ink h2, .section--ink h3 { color: #fff; }
.section-head { max-width: 46rem; margin-bottom: clamp(2rem, 1.5rem + 1.5vw, 3rem); }
.section-head h2 { font-size: var(--step-4); margin-bottom: 0.4em; }
.section-head p { color: var(--muted); font-size: var(--step-1); margin: 0; }
.section-head--split { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; }
.section-head--split p { max-width: 36rem; }

/* Resultados */
.results__inner { display: grid; grid-template-columns: 1fr 2fr; gap: var(--gap); align-items: end; }
.results .section-head { margin: 0; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.stat { display: flex; flex-direction: column-reverse; padding: 0 1.25rem; border-left: 1px solid var(--line); }
.stat dd { margin: 0; font: 600 var(--step-4)/1 var(--serif); color: var(--ink); }
.stat dt { margin-top: 0.5rem; color: var(--muted); font-size: 0.92rem; }
@media (max-width: 980px) {
	.results__inner { grid-template-columns: 1fr; }
	.stats { grid-template-columns: repeat(2, 1fr); row-gap: 2rem; }
	.stat:nth-child(odd) { border-left: 0; padding-left: 0; }
}

/* Pilares */
.pillar-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.pillar-card {
	display: flex; flex-direction: column; gap: 0.5rem; padding: 1.75rem 1.5rem 1.5rem; background: #fff;
	text-decoration: none; color: var(--text); position: relative; transition: background-color .15s;
}
.pillar-card::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.pillar-card:hover { background: #fbfcfd; color: var(--text); }
.pillar-card:hover::before, .pillar-card:focus-visible::before { transform: scaleX(1); }
.pillar-card__icon .icon { width: 34px; height: 34px; color: var(--accent); }
.pillar-card__en { font-size: 0.85rem; color: var(--accent); font-style: italic; margin-top: 0.5rem; }
.pillar-card__title { font: 600 1.35rem/1.2 var(--serif); color: var(--ink); }
.pillar-card__line { color: var(--muted); font-size: 0.97rem; flex: 1; }
.pillar-card__more { font-weight: 600; color: var(--ink); font-size: 0.92rem; text-decoration: underline; text-underline-offset: 0.2em; text-decoration-color: var(--accent); }
@media (max-width: 980px) { .pillar-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pillar-cards { grid-template-columns: 1fr; } }

/* Industrias */
.sector-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.sector-card {
	display: grid; grid-template-columns: 44px 1fr; column-gap: 1rem; row-gap: 0.2rem; align-items: start;
	padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: var(--text); background: #fff;
	transition: border-color .15s;
}
.sector-card:hover { border-color: var(--accent); color: var(--text); }
.sector-card__icon { grid-row: span 2; width: 44px; height: 44px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); border-radius: 50%; }
.sector-card__icon .icon { width: 22px; height: 22px; }
.sector-card__title { font-weight: 700; color: var(--ink); line-height: 1.3; }
.sector-card__text { color: var(--muted); font-size: 0.92rem; line-height: 1.45; }
@media (max-width: 980px) { .sector-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .sector-cards { grid-template-columns: 1fr; } }

/* Por qué Micelle */
.why__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 1rem + 2vw, 3rem); }
.why__item { border-top: 1px solid rgba(255,255,255,.3); padding-top: 1.5rem; }
.why__item .icon { width: 32px; height: 32px; color: #7fd3da; margin-bottom: 1rem; }
.why__item h3 { font-size: var(--step-2); }
.why__item p { color: var(--on-ink-muted); margin: 0; }
@media (max-width: 860px) { .why__grid { grid-template-columns: 1fr; } }

/* Historia */
.story__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--gap); align-items: center; }
.story__year { font: 600 clamp(5rem, 3rem + 10vw, 11rem)/0.9 var(--serif); color: var(--mist); -webkit-text-stroke: 1.5px var(--line); letter-spacing: -0.03em; }
.story__text p { font-size: var(--step-1); line-height: 1.6; color: var(--text); }
@media (max-width: 860px) { .story__inner { grid-template-columns: 1fr; } .story__year { font-size: 5.5rem; } }

/* Noticias */
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.news-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; display: flex; flex-direction: column; }
.news-card__cat { font-size: 0.85rem; font-weight: 600; color: var(--accent); margin: 0 0 0.6rem; }
.news-card__title { font-size: 1.3rem; margin: 0 0 0.5rem; }
.news-card__title a { color: var(--ink); text-decoration: none; }
.news-card__title a:hover { color: var(--accent); text-decoration: underline; }
.news-card__date { font-size: 0.85rem; color: var(--muted); margin: 0 0 0.75rem; }
.news-card__excerpt { color: var(--text); font-size: 0.97rem; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 980px) { .news-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .news-grid { grid-template-columns: 1fr; } }

/* Pre-footer */
.prefooter { background: var(--accent); color: #fff; padding: clamp(2.5rem, 2rem + 2vw, 4rem) 0; }
.prefooter__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.prefooter__title { color: #fff; font-size: var(--step-4); margin: 0 0 0.3em; }
.prefooter__text { margin: 0; font-size: var(--step-1); max-width: 40rem; color: rgba(255,255,255,.9); }
.prefooter .btn--light:hover { background: var(--ink); }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink-2); color: var(--on-ink-muted); font-size: 0.95rem; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; color: #fff; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr 1fr; gap: 2rem; padding: 3.5rem 0 2.5rem; }
.site-footer__title { font: 600 1rem/1.3 var(--sans); color: #fff; margin: 0 0 0.9rem; }
.site-footer__list { list-style: none; margin: 0; padding: 0; }
.site-footer__list li { margin-bottom: 0.5rem; }
.site-footer__hours { font-size: 0.88rem; }
.footer-logo { display: inline-flex; flex-direction: column; background: #fff; padding: 0.75rem 1rem; border-radius: var(--radius); margin-bottom: 1rem; }
.footer-logo img { max-height: 56px; width: auto; }
.footer-logo .brand__name { font-size: 1.35rem; }
.footer-logo:hover { text-decoration: none !important; }
.footer-dfk { display: flex; flex-direction: column; gap: 0.25rem; }
.footer-dfk img { max-height: 48px; width: auto; background: #fff; padding: 0.5rem 0.75rem; border-radius: var(--radius); }
.footer-dfk__text { font: 700 1.1rem var(--serif); color: #fff; }
.footer-dfk__note { font-size: 0.82rem; font-style: italic; }
.disclaimers { border-top: 1px solid rgba(255,255,255,.14); padding: 1.5rem 0; display: grid; gap: 0.25rem; }
.disclaimers details { border-bottom: 1px solid rgba(255,255,255,.08); }
.disclaimers summary { cursor: pointer; padding: 0.65rem 0; color: #fff; font-weight: 600; font-size: 0.9rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.disclaimers summary::-webkit-details-marker { display: none; }
.disclaimers summary::after { content: "+"; font-weight: 400; font-size: 1.2rem; line-height: 1; }
.disclaimers details[open] summary::after { content: "–"; }
.disclaimers p { font-size: 0.84rem; line-height: 1.6; max-width: 80rem; margin: 0 0 1rem; }
.site-footer__bottom { background: rgba(0,0,0,.2); padding: 1rem 0; font-size: 0.85rem; }
.site-footer__bottom p { margin: 0; }
@media (max-width: 1080px) { .site-footer__grid { grid-template-columns: 1fr 1fr 1fr; } .site-footer__brand { grid-column: 1 / -1; display: flex; gap: 2rem; align-items: center; flex-wrap: wrap; } .footer-logo { margin: 0; } }
@media (max-width: 640px) { .site-footer__grid { grid-template-columns: 1fr; } }

.mia-float {
	position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 90; display: inline-flex; align-items: center; gap: 0.4rem;
	background: #1f9d55; color: #fff; border-radius: 999px; padding: 0.7rem 1rem; text-decoration: none; font-weight: 700;
	box-shadow: 0 10px 24px -10px rgba(0,0,0,.45);
}
.mia-float:hover { background: #17824a; color: #fff; }
.mia-float .icon { width: 22px; height: 22px; }

/* ---------- Páginas interiores ---------- */
.page-hero { background: var(--mist); border-bottom: 1px solid var(--line); padding: clamp(2rem, 1.5rem + 2vw, 3.5rem) 0 clamp(2rem, 1.5rem + 2vw, 3rem); }
.page-hero__title { font-size: var(--step-4); max-width: 24ch; margin: 0; text-wrap: balance; }
.page-hero__cat { margin: 0 0 0.75rem; font-weight: 600; }
.page-hero__cat a { text-decoration: none; }
.page-hero__meta { color: var(--muted); margin: 1rem 0 0; font-size: 0.95rem; }
.page-hero__summary { font-size: var(--step-1); max-width: var(--prose); margin: 1rem 0 0; color: var(--text); }
.breadcrumbs ol { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: 0.25rem; font-size: 0.85rem; color: var(--muted); }
.breadcrumbs li { margin: 0; }
.breadcrumbs li + li::before { content: "/"; margin: 0 0.4rem 0 0.2rem; color: var(--line); }
.breadcrumbs a { color: var(--muted); }
.page-body { padding: clamp(2.5rem, 2rem + 2vw, 4rem) 0 clamp(3rem, 2.5rem + 3vw, 5rem); }
.entry { max-width: 58rem; }
.entry > p, .entry > ul, .entry > ol, .entry > .lead, .entry > h2, .entry > h3 { max-width: var(--prose); }
.entry > h2 { margin-top: 2.5rem; }
.entry > h2:first-child { margin-top: 0; }
.entry__portrait { max-width: 280px; border-radius: var(--radius); margin-bottom: 1.5rem; }
.page-body--wide .news-grid { margin-top: 1rem; }

/* Listas */
.list-check { list-style: none; padding: 0; }
.list-check li { position: relative; padding-left: 1.75rem; }
.list-check li::before {
	content: ""; position: absolute; left: 0; top: 0.5em; width: 0.95rem; height: 0.5rem;
	border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg) translateY(-3px);
}
.steps { list-style: none; counter-reset: step; padding: 0; display: grid; gap: 0.75rem; max-width: var(--prose); }
.steps li { counter-increment: step; display: flex; gap: 1rem; align-items: baseline; padding: 0.9rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); margin: 0; }
.steps li::before { content: counter(step); font: 600 1.3rem/1 var(--serif); color: var(--accent); min-width: 1.2rem; }

/* Tarjetas de enlace (páginas índice) */
.link-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; margin: 2rem 0; }
.link-card { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.25rem 1.35rem; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: var(--radius); text-decoration: none; color: var(--text); background: #fff; }
.link-card:hover { border-color: var(--accent); color: var(--text); }
.link-card__title { font: 600 1.15rem/1.3 var(--serif); color: var(--ink); }
.link-card__text { color: var(--muted); font-size: 0.93rem; }
.entry .pillar-cards, .entry .sector-cards { margin: 2rem 0; }
.entry .sector-cards { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) { .entry .sector-cards { grid-template-columns: 1fr; } }

/* Cifras DFK */
.figures { display: flex; gap: 0; margin: 2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); max-width: var(--prose); }
.figures div { flex: 1; padding: 1.25rem 1rem; border-left: 1px solid var(--line); display: flex; flex-direction: column; }
.figures div:first-child { border-left: 0; padding-left: 0; }
.figures strong { font: 600 var(--step-4)/1 var(--serif); color: var(--ink); }
.figures span { color: var(--muted); font-size: 0.92rem; margin-top: 0.3rem; }

/* Componentes de calidad / derechos */
.components, .rights { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 1.5rem 0 2rem; }
.components div, .rights div { background: #fff; padding: 1.25rem; }
.components dt, .rights dt { font-weight: 700; color: var(--ink); margin-bottom: 0.35rem; }
.components dd, .rights dd { margin: 0; color: var(--muted); font-size: 0.95rem; }
@media (max-width: 640px) { .components, .rights { grid-template-columns: 1fr; } }

.note { border-left: 3px solid var(--accent); background: var(--accent-soft); padding: 1rem 1.25rem; margin: 2rem 0; font-size: 0.95rem; max-width: var(--prose); font-style: italic; }
.note a { font-style: normal; }
.callout { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; background: var(--ink); color: #fff; padding: 1.75rem; border-radius: var(--radius); margin: 2.5rem 0; }
.callout h3 { color: #fff; margin-bottom: 0.3rem; font-size: var(--step-2); }
.callout p { margin: 0; color: var(--on-ink-muted); max-width: 40rem; }
.callout a:not(.btn) { color: #fff; }
.callout .btn--primary:hover { background: #fff; color: var(--ink); }

/* Sub-servicios */
.toc { background: var(--mist); border-radius: var(--radius); padding: 1.25rem 1.5rem; margin: 2rem 0 1rem; max-width: var(--prose); }
.toc__title { font-weight: 700; color: var(--ink); margin: 0 0 0.5rem; }
.toc ol { margin: 0; padding-left: 1.25rem; }
.toc li { margin: 0.25rem 0; }
.subservice { border-top: 2px solid var(--ink); padding-top: 1.75rem; margin-top: 3rem; }
.subservice__head { display: flex; gap: 1rem; align-items: baseline; margin-bottom: 1.25rem; }
.subservice__code { font: 600 1.1rem/1 var(--serif); color: var(--accent); min-width: 2.5rem; }
.subservice__head h3 { margin: 0; font-size: var(--step-3); }
.subservice__grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 1.75rem; }
.subservice__col h4 { font: 700 0.95rem/1.3 var(--sans); color: var(--ink); margin-bottom: 0.6rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--line); }
.subservice__col ul { padding-left: 1.1rem; font-size: 0.96rem; }
.subservice__col p { font-size: 0.98rem; }
.subservice__col--value p { font-size: 1.05rem; }
.subservice .cta-inline .btn { white-space: normal; text-align: left; }
@media (max-width: 900px) { .subservice__grid { grid-template-columns: 1fr; gap: 0.5rem; } }

/* Tablas */
.table-wrap { overflow-x: auto; margin: 1.5rem 0 2rem; border: 1px solid var(--line); border-radius: var(--radius); }
.table { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 560px; }
.table th { text-align: left; background: var(--ink); color: #fff; font-weight: 600; padding: 0.8rem 1rem; }
.table td { padding: 0.8rem 1rem; border-top: 1px solid var(--line); vertical-align: top; }
.table tbody tr:nth-child(even) td { background: #fafbfc; }

/* Filtros */
.filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.5rem 0; }
.filters a { padding: 0.4rem 0.85rem; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; color: var(--ink); font-size: 0.9rem; }
.filters a:hover { border-color: var(--accent); color: var(--accent); }

/* Carreras / eventos */
.reasons, .formats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin: 1.5rem 0 2rem; }
.formats { grid-template-columns: repeat(3, 1fr); }
.reasons > div, .format { border-top: 2px solid var(--accent); padding-top: 1rem; }
.reasons h3, .format h3 { font-size: 1.2rem; margin-bottom: 0.4rem; }
.reasons p, .format p { font-size: 0.96rem; margin: 0; color: var(--text); }
.format__en { color: var(--accent) !important; font-style: italic; margin-bottom: 0.5rem !important; font-size: 0.88rem !important; }
@media (max-width: 760px) { .reasons, .formats { grid-template-columns: 1fr; } }
.jobs { list-style: none; padding: 0; border-top: 1px solid var(--line); }
.job { margin: 0; border-bottom: 1px solid var(--line); }
.job a { display: grid; grid-template-columns: 2fr 2fr 1fr; gap: 1rem; padding: 1rem 0; text-decoration: none; color: var(--text); }
.job__title { font-weight: 700; color: var(--ink); }
.job__meta, .job__mode { color: var(--muted); font-size: 0.93rem; }
@media (max-width: 640px) { .job a { grid-template-columns: 1fr; gap: 0.2rem; } }

/* Socios */
.partners-group { margin-bottom: 3rem; }
.partners { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.partner { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.partner__photo { width: 100%; aspect-ratio: 4/5; object-fit: cover; background: var(--mist); }
.partner__photo--empty { display: grid; place-items: center; color: var(--line); }
.partner__photo--empty .icon { width: 80px; height: 80px; }
.partner__body { padding: 1.25rem 1.35rem 1.5rem; }
.partner__name { font-size: 1.35rem; margin-bottom: 0.2rem; }
.partner__role { color: var(--accent); font-weight: 600; margin-bottom: 0.5rem; }
.partner__cred, .partner__years { font-size: 0.93rem; color: var(--muted); margin-bottom: 0.4rem; }
.partner__years strong { color: var(--ink); font-size: 1.05rem; }
.partner__bio { font-size: 0.95rem; }
.partner__contact { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.92rem; margin: 0; }
.partner__contact a { display: inline-flex; gap: 0.5rem; align-items: center; text-decoration: none; }
.partner__contact .icon { width: 18px; height: 18px; }
.tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.75rem 0; }
.tags li { margin: 0; background: var(--accent-soft); color: var(--accent); padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.82rem; font-weight: 600; }

/* Oficina */
.office { display: grid; grid-template-columns: 1fr 1.2fr; gap: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin: 1rem 0; }
.office__info { padding: 1.75rem; }
.office__info h2 { font-size: var(--step-3); display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; }
.office__tag { font: 500 0.9rem var(--sans); color: var(--accent); }
.office__list { margin: 0 0 1.5rem; display: grid; gap: 1rem; }
.office__list dt { display: flex; gap: 0.5rem; align-items: center; font-weight: 700; color: var(--ink); font-size: 0.92rem; margin-bottom: 0.2rem; }
.office__list dt .icon { width: 18px; height: 18px; color: var(--accent); }
.office__list dd { margin: 0 0 0 1.6rem; font-size: 0.97rem; }
.office__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.office__map { min-height: 380px; background: var(--mist); }
.office__map iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
@media (max-width: 860px) { .office { grid-template-columns: 1fr; } }

/* Herramientas */
.tool { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.75rem; margin: 1.5rem 0; }
.tool__head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.tool__head > .icon { flex-shrink: 0; width: 40px; height: 40px; color: var(--accent); }
.tool__head h2 { font-size: var(--step-2); margin: 0 0 0.3rem; }
.tool__head p { margin: 0; color: var(--muted); }
.calc__result { margin-top: 1.5rem; padding: 1.25rem 1.5rem; background: var(--mist); border-radius: var(--radius); }
.calc__verdict { font: 600 1.35rem/1.3 var(--serif); color: var(--ink); margin-bottom: 0.75rem; }
.calc__verdict--yes { color: var(--accent); }
.calc__verdict--no { color: var(--ok); }
.calc__figures { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0 0 1rem; }
.calc__figures dt { font-size: 0.85rem; color: var(--muted); }
.calc__figures dd { margin: 0; font-weight: 700; color: var(--ink); }
.calc__mat { font-size: 0.93rem; margin: 0; }
.calc__note { font-size: 0.85rem; color: var(--muted); margin-top: 1.25rem; }
@media (max-width: 640px) { .calc__figures { grid-template-columns: 1fr; } }

/* Artículo */
.article-cta { background: var(--mist); border-left: 3px solid var(--accent); padding: 1.5rem; margin: 2.5rem 0 0; max-width: var(--prose); }
.article-cta__title { font: 600 1.35rem/1.3 var(--serif); color: var(--ink); margin-bottom: 0.4rem; }
.related { margin-top: 4rem; border-top: 1px solid var(--line); padding-top: 2.5rem; }
.empty-state { text-align: center; padding: 2.5rem 1.5rem; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--muted); }
.empty-state .icon { width: 44px; height: 44px; color: var(--line); margin: 0 auto 0.75rem; }
.empty-state--inline { text-align: left; padding: 1.25rem; }
.empty-state p:last-child { margin: 0; }
.nav-links { display: flex; gap: 0.5rem; margin-top: 2rem; flex-wrap: wrap; }
.nav-links .page-numbers { padding: 0.45rem 0.8rem; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; }
.nav-links .current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---------- Formularios ---------- */
.form-wrap { margin: 1.5rem 0; max-width: 58rem; }
.micelle-form fieldset { border: 0; padding: 0; margin: 0 0 1.75rem; }
.micelle-form legend { font: 600 1.2rem var(--serif); color: var(--ink); margin-bottom: 1rem; padding: 0; }
.hint, .optional { font: 400 0.85rem var(--sans); color: var(--muted); margin-left: 0.3rem; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .grid-2 { grid-template-columns: 1fr; } }
.field { margin-bottom: 1.1rem; display: flex; flex-direction: column; gap: 0.35rem; }
.field > label { font-weight: 600; font-size: 0.93rem; color: var(--ink); }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field input[type="number"], .field input[type="file"], .field select, .field textarea, .search-form input[type="search"] {
	width: 100%; font: 400 1rem/1.4 var(--sans); color: var(--text); padding: 0.7rem 0.8rem;
	border: 1px solid #b9c3cf; border-radius: var(--radius); background: #fff;
}
.field input[type="file"] { padding: 0.55rem; background: var(--mist); }
.field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356657a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.7rem center; background-size: 18px; padding-right: 2.4rem; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--accent); outline: 2px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: 0; }
[aria-invalid="true"] { border-color: var(--err) !important; }
.field-error { color: var(--err); font-size: 0.86rem; font-weight: 600; }
.check { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.93rem; cursor: pointer; line-height: 1.45; }
.check input { width: 18px; height: 18px; margin-top: 0.15rem; flex-shrink: 0; accent-color: var(--accent); }
.field--consent { background: var(--mist); padding: 1rem 1.1rem; border-radius: var(--radius); }
.field--consent .check span { font-size: 0.84rem; color: var(--text); }
.services-pick__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.services-pick__group { border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; display: grid; gap: 0.5rem; }
.services-pick__title { font-weight: 700; color: var(--ink); margin: 0 0 0.25rem; font-size: 0.95rem; }
.services-pick.has-error .services-pick__group { border-color: var(--err); }
@media (max-width: 760px) { .services-pick__grid { grid-template-columns: 1fr; } }
.identity { border-left: 2px solid var(--line); padding-left: 1rem; margin-bottom: 1rem; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.notice { display: flex; gap: 0.75rem; padding: 1rem 1.25rem; border-radius: var(--radius); margin-bottom: 1.5rem; }
.notice:focus { outline: none; }
.notice .icon { flex-shrink: 0; width: 24px; height: 24px; }
.notice--ok { background: color-mix(in srgb, var(--ok) 10%, #fff); color: var(--ok); border: 1px solid color-mix(in srgb, var(--ok) 35%, #fff); }
.notice--ok div { color: var(--text); }
.notice--ok .btn { margin-left: 0.5rem; }
.notice--error { background: color-mix(in srgb, var(--err) 8%, #fff); color: var(--err); border: 1px solid color-mix(in srgb, var(--err) 30%, #fff); font-weight: 600; }
.search-form { display: flex; gap: 0.5rem; max-width: 30rem; margin: 1rem 0 1.5rem; }

/* Bloques del editor */
.alignwide { max-width: var(--wrap); }
.wp-block-image { margin: 1.5rem 0; }
@media (min-width: 1025px) { html { scroll-padding-top: 150px; } .site-header__inner { min-height: 0; } }

/* =====================================================================
   Identidad visual micellegroup.com (v1.1)
   Montserrat, índigo profundo, anillos púrpura/cian del logo,
   menú en mayúsculas con submenús que se despliegan al pasar el mouse.
   ===================================================================== */
:root {
	--ink: #150242;
	--accent: #93208a;
	--navy: #262b69;
	--cyan: #05a8d9;
	--violet: #550afa;
	--mist: #f5f4f9;
	--line: #e4e2ee;
	--text: #34324a;
	--muted: #6b6880;
	--serif: "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
	--sans: "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
	--radius: 6px;
}
body { font-size: 1rem; line-height: 1.65; }
h1, h2, h3, h4 { font-family: var(--sans); font-weight: 700; letter-spacing: -0.005em; }
h2 { font-weight: 700; }

/* ---------- Cabecera ---------- */
.site-header { border-bottom: 0; box-shadow: 0 1px 0 var(--line); }
.brand__logo { display: block; line-height: 0; }
.brand__logo img, .brand .custom-logo { height: 76px; width: auto; max-height: none; }
@media (min-width: 1025px) {
	:root { --header-h: 168px; }
	.site-header__inner { padding-top: 1rem; }
	.primary-nav { margin: 0.9rem 0 0; }
	.primary-nav .menu { width: 100%; justify-content: space-between; gap: 0; }
	.primary-nav .menu > li > a {
		padding: 1rem 0.5rem 1.25rem; font-size: 0.84rem; font-weight: 400; letter-spacing: 0.06em;
		text-transform: uppercase; color: #3b3b3b; white-space: normal; text-align: center;
		max-width: 13em; line-height: 1.2;
	}
	.primary-nav .menu > li > a:hover,
	.primary-nav .menu > li:hover > a { color: var(--accent); }
	.primary-nav .menu > li.current-menu-item > a,
	.primary-nav .menu > li.current-menu-ancestor > a,
	.primary-nav .menu > li.current-page-ancestor > a { color: var(--accent); font-weight: 600; }
	/* Sin flechas ni clics: el submenú se abre sólo al pasar el mouse (o con el teclado). */
	.submenu-toggle { display: none; }

	.sub-menu {
		min-width: 270px; padding: 0.4rem 0; border: 0; border-radius: 0 0 var(--radius) var(--radius);
		border-top: 3px solid var(--cyan); background: #fff;
		box-shadow: 0 18px 36px -18px rgba(21, 2, 66, .35);
		transform: translateY(8px);
		transition: opacity .18s ease, transform .18s ease, visibility 0s linear .2s;
	}
	/* Puente invisible para que el menú no se cierre al bajar el mouse. */
	.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
	.sub-menu li { position: relative; }
	.sub-menu a {
		padding: 0.8rem 1.3rem; font-size: 0.76rem; font-weight: 500; letter-spacing: 0.05em;
		text-transform: uppercase; color: #3b3b3b; line-height: 1.35;
		border-left: 3px solid transparent; transition: color .12s, background .12s, border-color .12s;
	}
	.sub-menu a:hover, .sub-menu li:hover > a, .sub-menu .current-menu-item > a {
		background: var(--mist); color: var(--accent); border-left-color: var(--accent);
	}
	/* Indicador de tercer nivel */
	.sub-menu .menu-item-has-children > a { padding-right: 2.2rem; }
	.sub-menu .menu-item-has-children > a::after {
		content: ""; position: absolute; right: 1.1rem; top: 50%; width: 6px; height: 6px;
		border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor;
		transform: translateY(-50%) rotate(45deg);
	}
	/* Tercer nivel: se despliega a la derecha */
	.sub-menu .sub-menu {
		top: -0.4rem; left: 100%; border-top: 0; border-left: 3px solid var(--cyan);
		border-radius: 0 var(--radius) var(--radius) 0; min-width: 300px; transform: translateX(8px);
	}
	.sub-menu .sub-menu::before { top: 0; bottom: 0; left: -14px; right: auto; width: 14px; height: auto; }
	.menu > li:nth-last-child(-n+3) .sub-menu .sub-menu {
		left: auto; right: 100%; border-left: 0; border-right: 3px solid var(--cyan);
		border-radius: var(--radius) 0 0 var(--radius); transform: translateX(-8px);
	}
	.menu > li:nth-last-child(-n+3) .sub-menu .sub-menu::before { left: auto; right: -14px; }

	.menu li:hover > .sub-menu,
	.menu li:focus-within > .sub-menu {
		opacity: 1; visibility: visible; transform: none;
		transition: opacity .18s ease, transform .18s ease, visibility 0s;
	}
}
@media (max-width: 1024px) {
	.brand__logo img, .brand .custom-logo { height: 54px; }
	.primary-nav .menu > li > a { text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.95rem; }
	.sub-menu a { text-transform: uppercase; font-size: 0.82rem; letter-spacing: 0.04em; }
	.sub-menu li { display: flex; flex-wrap: wrap; align-items: center; }
	.sub-menu li > a { flex: 1; }
	.sub-menu .sub-menu { padding-left: 1rem; }
	.sub-menu .sub-menu a { text-transform: none; letter-spacing: 0; font-size: 0.88rem; }
}

/* ---------- MIA: pestaña fija a la izquierda ---------- */
.mia-float {
	left: 0; right: auto; bottom: auto; top: var(--mia-top, calc(var(--header-h) + 3rem)); /* v1.3.4: debajo de la cabecera real */
	background: var(--violet); border-radius: 0 8px 8px 0; padding: 0.7rem 1rem 0.7rem 0.75rem;
	font: 700 1.05rem/1 var(--sans); letter-spacing: 0.02em; box-shadow: 0 8px 20px -8px rgba(85, 10, 250, .6);
}
.mia-float:hover { background: #4200d6; padding-left: 1rem; }
.mia-float .icon { display: none; }
.btn--mia .icon { color: var(--violet); }

/* ---------- Hero ---------- */
.hero {
	background-color: #fff;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='.48' stop-color='%23191f6c'/%3E%3Cstop offset='.72' stop-color='%2300329f'/%3E%3C/linearGradient%3E%3CclipPath id='tl'%3E%3Crect x='0' y='0' width='300' height='600'/%3E%3C/clipPath%3E%3Cmask id='pm'%3E%3Cellipse cx='294' cy='277' rx='202' ry='243' fill='none' stroke='%23fff' stroke-width='20.8'/%3E%3C/mask%3E%3Cmask id='un' maskUnits='userSpaceOnUse' x='0' y='0' width='600' height='600'%3E%3Crect width='600' height='600' fill='%23fff'/%3E%3Cpath d='M492.3 309.6C492.1 314.5 491.7 319.4 491.2 324.2C490.6 329.1 490.0 333.9 489.2 338.7C488.3 343.5 487.4 348.2 486.2 352.9C485.1 357.7 483.9 362.4 482.4 367.0C481.0 371.7 479.4 376.3 477.7 380.9C475.9 385.5 474.1 390.1 472.0 394.5C469.9 399.0 467.7 403.5 465.3 407.8C462.8 412.2 460.2 416.4 457.5 420.6C454.7 424.8 451.7 428.9 448.6 432.9C445.5 436.8 442.2 440.7 438.7 444.4C435.2 448.2 431.5 451.8 427.7 455.2C423.9 458.7 419.9 462.0 415.8 465.1C411.7 468.3 407.4 471.3 403.0 474.1C398.6 477.0 394.0 479.6 389.4 482.1C384.7 484.7 379.9 487.0 375.0 489.2C370.0 491.3 365.0 493.3 359.8 495.1C354.7 496.9 349.4 498.5 344.1 499.8C338.8 501.1 333.3 502.3 327.8 503.1C322.3 503.9 316.7 504.4 311.1 504.6C305.4 504.9 299.8 504.8 294.1 504.3C288.5 503.8 282.8 503.0 277.3 501.7C271.8 500.5 266.3 498.8 261.0 496.8C255.7 494.7 250.5 492.2 245.6 489.4C240.7 486.6 235.9 483.3 231.5 479.8C227.0 476.3 222.8 472.3 218.9 468.2C215.0 464.1 211.5 459.6 208.2 455.0C204.9 450.4 202.0 445.6 199.3 440.7C196.6 435.8 194.2 430.8 192.1 425.7C190.0 420.7 188.1 415.6 186.5 410.6C184.8 405.5 183.4 400.4 182.1 395.4C180.8 390.4 179.7 385.5 178.7 380.5C177.7 375.6 176.8 370.8 176.1 366.0C175.3 361.1 174.7 356.4 174.1 351.6C173.5 346.9 173.1 342.2 172.7 337.5C172.3 332.9 172.0 328.2 171.9 323.6C171.7 318.9 171.6 314.3 171.6 309.6C171.6 305.0 171.7 300.4 171.9 295.7C172.2 291.1 172.5 286.5 172.9 281.8C173.3 277.1 173.8 272.5 174.5 267.8C175.1 263.0 175.8 258.3 176.6 253.5C177.5 248.8 178.4 244.0 179.4 239.1C180.5 234.3 181.7 229.3 183.0 224.4C184.3 219.5 185.8 214.5 187.5 209.5C189.2 204.5 191.0 199.4 193.2 194.4C195.3 189.5 197.6 184.4 200.2 179.6C202.9 174.7 205.7 169.8 208.9 165.2C212.1 160.6 215.6 156.1 219.4 151.9C223.2 147.7 227.3 143.6 231.7 140.0C236.1 136.3 240.8 132.9 245.6 130.0C250.5 127.0 255.6 124.4 260.9 122.2C266.1 120.0 271.6 118.3 277.1 116.9C282.6 115.5 288.3 114.6 293.9 114.0C299.6 113.4 305.3 113.2 310.9 113.4C316.6 113.5 322.2 114.0 327.8 114.7C333.3 115.5 338.8 116.6 344.2 117.9C349.6 119.1 355.0 120.7 360.2 122.4C365.4 124.1 370.5 126.0 375.5 128.1C380.5 130.2 385.4 132.4 390.2 134.9C395.0 137.3 399.6 139.8 404.2 142.6C408.7 145.3 413.2 148.2 417.5 151.2C421.8 154.2 426.0 157.4 430.0 160.8C434.0 164.2 437.9 167.7 441.6 171.4C445.3 175.0 448.8 178.9 452.1 182.9C455.5 186.8 458.6 191.0 461.5 195.2C464.5 199.5 467.2 203.8 469.7 208.3C472.2 212.8 474.5 217.4 476.6 222.0C478.6 226.7 480.5 231.5 482.2 236.2C483.8 241.0 485.2 245.9 486.5 250.8C487.7 255.6 488.7 260.5 489.6 265.4C490.4 270.4 491.1 275.3 491.5 280.2C492.0 285.1 492.3 290.1 492.4 295.0C492.5 299.9 492.5 304.8 492.3 309.6Z' fill='%23000' stroke='%23000' stroke-width='23.2'/%3E%3C/mask%3E%3C/defs%3E%3Cg fill='none' stroke-width='20.8' opacity='1'%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2304a6e0'/%3E%3Cellipse cx='294' cy='277' rx='202' ry='243' stroke='%239e1a97' mask='url(%23un)'/%3E%3Cpath d='M492.3 309.6C492.1 314.5 491.7 319.4 491.2 324.2C490.6 329.1 490.0 333.9 489.2 338.7C488.3 343.5 487.4 348.2 486.2 352.9C485.1 357.7 483.9 362.4 482.4 367.0C481.0 371.7 479.4 376.3 477.7 380.9C475.9 385.5 474.1 390.1 472.0 394.5C469.9 399.0 467.7 403.5 465.3 407.8C462.8 412.2 460.2 416.4 457.5 420.6C454.7 424.8 451.7 428.9 448.6 432.9C445.5 436.8 442.2 440.7 438.7 444.4C435.2 448.2 431.5 451.8 427.7 455.2C423.9 458.7 419.9 462.0 415.8 465.1C411.7 468.3 407.4 471.3 403.0 474.1C398.6 477.0 394.0 479.6 389.4 482.1C384.7 484.7 379.9 487.0 375.0 489.2C370.0 491.3 365.0 493.3 359.8 495.1C354.7 496.9 349.4 498.5 344.1 499.8C338.8 501.1 333.3 502.3 327.8 503.1C322.3 503.9 316.7 504.4 311.1 504.6C305.4 504.9 299.8 504.8 294.1 504.3C288.5 503.8 282.8 503.0 277.3 501.7C271.8 500.5 266.3 498.8 261.0 496.8C255.7 494.7 250.5 492.2 245.6 489.4C240.7 486.6 235.9 483.3 231.5 479.8C227.0 476.3 222.8 472.3 218.9 468.2C215.0 464.1 211.5 459.6 208.2 455.0C204.9 450.4 202.0 445.6 199.3 440.7C196.6 435.8 194.2 430.8 192.1 425.7C190.0 420.7 188.1 415.6 186.5 410.6C184.8 405.5 183.4 400.4 182.1 395.4C180.8 390.4 179.7 385.5 178.7 380.5C177.7 375.6 176.8 370.8 176.1 366.0C175.3 361.1 174.7 356.4 174.1 351.6C173.5 346.9 173.1 342.2 172.7 337.5C172.3 332.9 172.0 328.2 171.9 323.6C171.7 318.9 171.6 314.3 171.6 309.6C171.6 305.0 171.7 300.4 171.9 295.7C172.2 291.1 172.5 286.5 172.9 281.8C173.3 277.1 173.8 272.5 174.5 267.8C175.1 263.0 175.8 258.3 176.6 253.5C177.5 248.8 178.4 244.0 179.4 239.1C180.5 234.3 181.7 229.3 183.0 224.4C184.3 219.5 185.8 214.5 187.5 209.5C189.2 204.5 191.0 199.4 193.2 194.4C195.3 189.5 197.6 184.4 200.2 179.6C202.9 174.7 205.7 169.8 208.9 165.2C212.1 160.6 215.6 156.1 219.4 151.9C223.2 147.7 227.3 143.6 231.7 140.0C236.1 136.3 240.8 132.9 245.6 130.0C250.5 127.0 255.6 124.4 260.9 122.2C266.1 120.0 271.6 118.3 277.1 116.9C282.6 115.5 288.3 114.6 293.9 114.0C299.6 113.4 305.3 113.2 310.9 113.4C316.6 113.5 322.2 114.0 327.8 114.7C333.3 115.5 338.8 116.6 344.2 117.9C349.6 119.1 355.0 120.7 360.2 122.4C365.4 124.1 370.5 126.0 375.5 128.1C380.5 130.2 385.4 132.4 390.2 134.9C395.0 137.3 399.6 139.8 404.2 142.6C408.7 145.3 413.2 148.2 417.5 151.2C421.8 154.2 426.0 157.4 430.0 160.8C434.0 164.2 437.9 167.7 441.6 171.4C445.3 175.0 448.8 178.9 452.1 182.9C455.5 186.8 458.6 191.0 461.5 195.2C464.5 199.5 467.2 203.8 469.7 208.3C472.2 212.8 474.5 217.4 476.6 222.0C478.6 226.7 480.5 231.5 482.2 236.2C483.8 241.0 485.2 245.9 486.5 250.8C487.7 255.6 488.7 260.5 489.6 265.4C490.4 270.4 491.1 275.3 491.5 280.2C492.0 285.1 492.3 290.1 492.4 295.0C492.5 299.9 492.5 304.8 492.3 309.6Z' stroke-width='23.2' stroke='url(%23n)'/%3E%3Cg clip-path='url(%23tl)'%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2304a6e0'/%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2364c3eb' mask='url(%23pm)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),
		linear-gradient(100deg, #ffffff 0%, #f6f4fb 55%, #ece8f6 100%);
	background-repeat: no-repeat; background-size: min(46vw, 720px) auto, cover;
	background-position: right -6vw top 2.5rem, center;
	color: var(--ink); border-bottom: 1px solid var(--line);
}
.hero__title {
	font: 800 clamp(2.4rem, 1.4rem + 4vw, 4.6rem)/1.04 var(--sans); text-transform: uppercase;
	letter-spacing: 0.01em; color: var(--ink); max-width: 17ch;
}
.hero__services { border-color: rgba(21, 2, 66, .16); }
.hero__services li { color: var(--navy); border-left-color: rgba(21, 2, 66, .25); font-weight: 600; font-size: 0.95rem; }
.hero__text { color: var(--text); font-size: 1.12rem; }
.hero .btn--light { background: var(--accent); color: #fff; }
.hero .btn--light:hover { background: var(--ink); color: #fff; }
.hero .btn--outline-light { border-color: var(--ink); color: var(--ink); }
.hero .btn--outline-light:hover { background: var(--ink); color: #fff; }
.hero__mia a { color: var(--ink); font-weight: 600; }
.hero__mia .icon { color: var(--violet); }
/* v1.3.4/1.3.8: anillos con los colores del logo y entrelazados como en el logo (el púrpura pasa sobre el cian arriba a la derecha; el cian sobre el púrpura arriba a la izquierda, con el cruce en cian claro); en celular se atenúan para no restar legibilidad al titular. */
@media (max-width: 640px) { .hero { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='.48' stop-color='%23191f6c'/%3E%3Cstop offset='.72' stop-color='%2300329f'/%3E%3C/linearGradient%3E%3CclipPath id='tl'%3E%3Crect x='0' y='0' width='300' height='600'/%3E%3C/clipPath%3E%3Cmask id='pm'%3E%3Cellipse cx='294' cy='277' rx='202' ry='243' fill='none' stroke='%23fff' stroke-width='20.8'/%3E%3C/mask%3E%3Cmask id='un' maskUnits='userSpaceOnUse' x='0' y='0' width='600' height='600'%3E%3Crect width='600' height='600' fill='%23fff'/%3E%3Cpath d='M492.3 309.6C492.1 314.5 491.7 319.4 491.2 324.2C490.6 329.1 490.0 333.9 489.2 338.7C488.3 343.5 487.4 348.2 486.2 352.9C485.1 357.7 483.9 362.4 482.4 367.0C481.0 371.7 479.4 376.3 477.7 380.9C475.9 385.5 474.1 390.1 472.0 394.5C469.9 399.0 467.7 403.5 465.3 407.8C462.8 412.2 460.2 416.4 457.5 420.6C454.7 424.8 451.7 428.9 448.6 432.9C445.5 436.8 442.2 440.7 438.7 444.4C435.2 448.2 431.5 451.8 427.7 455.2C423.9 458.7 419.9 462.0 415.8 465.1C411.7 468.3 407.4 471.3 403.0 474.1C398.6 477.0 394.0 479.6 389.4 482.1C384.7 484.7 379.9 487.0 375.0 489.2C370.0 491.3 365.0 493.3 359.8 495.1C354.7 496.9 349.4 498.5 344.1 499.8C338.8 501.1 333.3 502.3 327.8 503.1C322.3 503.9 316.7 504.4 311.1 504.6C305.4 504.9 299.8 504.8 294.1 504.3C288.5 503.8 282.8 503.0 277.3 501.7C271.8 500.5 266.3 498.8 261.0 496.8C255.7 494.7 250.5 492.2 245.6 489.4C240.7 486.6 235.9 483.3 231.5 479.8C227.0 476.3 222.8 472.3 218.9 468.2C215.0 464.1 211.5 459.6 208.2 455.0C204.9 450.4 202.0 445.6 199.3 440.7C196.6 435.8 194.2 430.8 192.1 425.7C190.0 420.7 188.1 415.6 186.5 410.6C184.8 405.5 183.4 400.4 182.1 395.4C180.8 390.4 179.7 385.5 178.7 380.5C177.7 375.6 176.8 370.8 176.1 366.0C175.3 361.1 174.7 356.4 174.1 351.6C173.5 346.9 173.1 342.2 172.7 337.5C172.3 332.9 172.0 328.2 171.9 323.6C171.7 318.9 171.6 314.3 171.6 309.6C171.6 305.0 171.7 300.4 171.9 295.7C172.2 291.1 172.5 286.5 172.9 281.8C173.3 277.1 173.8 272.5 174.5 267.8C175.1 263.0 175.8 258.3 176.6 253.5C177.5 248.8 178.4 244.0 179.4 239.1C180.5 234.3 181.7 229.3 183.0 224.4C184.3 219.5 185.8 214.5 187.5 209.5C189.2 204.5 191.0 199.4 193.2 194.4C195.3 189.5 197.6 184.4 200.2 179.6C202.9 174.7 205.7 169.8 208.9 165.2C212.1 160.6 215.6 156.1 219.4 151.9C223.2 147.7 227.3 143.6 231.7 140.0C236.1 136.3 240.8 132.9 245.6 130.0C250.5 127.0 255.6 124.4 260.9 122.2C266.1 120.0 271.6 118.3 277.1 116.9C282.6 115.5 288.3 114.6 293.9 114.0C299.6 113.4 305.3 113.2 310.9 113.4C316.6 113.5 322.2 114.0 327.8 114.7C333.3 115.5 338.8 116.6 344.2 117.9C349.6 119.1 355.0 120.7 360.2 122.4C365.4 124.1 370.5 126.0 375.5 128.1C380.5 130.2 385.4 132.4 390.2 134.9C395.0 137.3 399.6 139.8 404.2 142.6C408.7 145.3 413.2 148.2 417.5 151.2C421.8 154.2 426.0 157.4 430.0 160.8C434.0 164.2 437.9 167.7 441.6 171.4C445.3 175.0 448.8 178.9 452.1 182.9C455.5 186.8 458.6 191.0 461.5 195.2C464.5 199.5 467.2 203.8 469.7 208.3C472.2 212.8 474.5 217.4 476.6 222.0C478.6 226.7 480.5 231.5 482.2 236.2C483.8 241.0 485.2 245.9 486.5 250.8C487.7 255.6 488.7 260.5 489.6 265.4C490.4 270.4 491.1 275.3 491.5 280.2C492.0 285.1 492.3 290.1 492.4 295.0C492.5 299.9 492.5 304.8 492.3 309.6Z' fill='%23000' stroke='%23000' stroke-width='23.2'/%3E%3C/mask%3E%3C/defs%3E%3Cg fill='none' stroke-width='20.8' opacity='0.28'%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2304a6e0'/%3E%3Cellipse cx='294' cy='277' rx='202' ry='243' stroke='%239e1a97' mask='url(%23un)'/%3E%3Cpath d='M492.3 309.6C492.1 314.5 491.7 319.4 491.2 324.2C490.6 329.1 490.0 333.9 489.2 338.7C488.3 343.5 487.4 348.2 486.2 352.9C485.1 357.7 483.9 362.4 482.4 367.0C481.0 371.7 479.4 376.3 477.7 380.9C475.9 385.5 474.1 390.1 472.0 394.5C469.9 399.0 467.7 403.5 465.3 407.8C462.8 412.2 460.2 416.4 457.5 420.6C454.7 424.8 451.7 428.9 448.6 432.9C445.5 436.8 442.2 440.7 438.7 444.4C435.2 448.2 431.5 451.8 427.7 455.2C423.9 458.7 419.9 462.0 415.8 465.1C411.7 468.3 407.4 471.3 403.0 474.1C398.6 477.0 394.0 479.6 389.4 482.1C384.7 484.7 379.9 487.0 375.0 489.2C370.0 491.3 365.0 493.3 359.8 495.1C354.7 496.9 349.4 498.5 344.1 499.8C338.8 501.1 333.3 502.3 327.8 503.1C322.3 503.9 316.7 504.4 311.1 504.6C305.4 504.9 299.8 504.8 294.1 504.3C288.5 503.8 282.8 503.0 277.3 501.7C271.8 500.5 266.3 498.8 261.0 496.8C255.7 494.7 250.5 492.2 245.6 489.4C240.7 486.6 235.9 483.3 231.5 479.8C227.0 476.3 222.8 472.3 218.9 468.2C215.0 464.1 211.5 459.6 208.2 455.0C204.9 450.4 202.0 445.6 199.3 440.7C196.6 435.8 194.2 430.8 192.1 425.7C190.0 420.7 188.1 415.6 186.5 410.6C184.8 405.5 183.4 400.4 182.1 395.4C180.8 390.4 179.7 385.5 178.7 380.5C177.7 375.6 176.8 370.8 176.1 366.0C175.3 361.1 174.7 356.4 174.1 351.6C173.5 346.9 173.1 342.2 172.7 337.5C172.3 332.9 172.0 328.2 171.9 323.6C171.7 318.9 171.6 314.3 171.6 309.6C171.6 305.0 171.7 300.4 171.9 295.7C172.2 291.1 172.5 286.5 172.9 281.8C173.3 277.1 173.8 272.5 174.5 267.8C175.1 263.0 175.8 258.3 176.6 253.5C177.5 248.8 178.4 244.0 179.4 239.1C180.5 234.3 181.7 229.3 183.0 224.4C184.3 219.5 185.8 214.5 187.5 209.5C189.2 204.5 191.0 199.4 193.2 194.4C195.3 189.5 197.6 184.4 200.2 179.6C202.9 174.7 205.7 169.8 208.9 165.2C212.1 160.6 215.6 156.1 219.4 151.9C223.2 147.7 227.3 143.6 231.7 140.0C236.1 136.3 240.8 132.9 245.6 130.0C250.5 127.0 255.6 124.4 260.9 122.2C266.1 120.0 271.6 118.3 277.1 116.9C282.6 115.5 288.3 114.6 293.9 114.0C299.6 113.4 305.3 113.2 310.9 113.4C316.6 113.5 322.2 114.0 327.8 114.7C333.3 115.5 338.8 116.6 344.2 117.9C349.6 119.1 355.0 120.7 360.2 122.4C365.4 124.1 370.5 126.0 375.5 128.1C380.5 130.2 385.4 132.4 390.2 134.9C395.0 137.3 399.6 139.8 404.2 142.6C408.7 145.3 413.2 148.2 417.5 151.2C421.8 154.2 426.0 157.4 430.0 160.8C434.0 164.2 437.9 167.7 441.6 171.4C445.3 175.0 448.8 178.9 452.1 182.9C455.5 186.8 458.6 191.0 461.5 195.2C464.5 199.5 467.2 203.8 469.7 208.3C472.2 212.8 474.5 217.4 476.6 222.0C478.6 226.7 480.5 231.5 482.2 236.2C483.8 241.0 485.2 245.9 486.5 250.8C487.7 255.6 488.7 260.5 489.6 265.4C490.4 270.4 491.1 275.3 491.5 280.2C492.0 285.1 492.3 290.1 492.4 295.0C492.5 299.9 492.5 304.8 492.3 309.6Z' stroke-width='23.2' stroke='url(%23n)'/%3E%3Cg clip-path='url(%23tl)'%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2304a6e0'/%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2364c3eb' mask='url(%23pm)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"), linear-gradient(100deg, #ffffff 0%, #f6f4fb 55%, #ece8f6 100%); background-size: 90vw auto, cover; background-position: right -40vw top 1rem, center; } }

/* ---------- Títulos de páginas interiores ---------- */
.page-hero { background: linear-gradient(100deg, #fff 0%, #f3f0fa 100%); }
.page-hero__title { text-transform: uppercase; font-weight: 800; letter-spacing: 0.01em; color: var(--ink); }

/* ---------- Detalles de marca ---------- */
.btn { font-family: var(--sans); font-weight: 600; letter-spacing: 0.02em; }
.btn--primary:hover { background: var(--navy); }
.footer-logo img { height: 58px; width: auto; }
@media (max-width: 1024px) { .mia-float { top: auto; bottom: 1.25rem; } }
@media (min-width: 1025px) { .mia-float { z-index: 101; } } /* v1.3.4: nunca queda tapada por la cabecera */

/* Pantallas medianas (laptops con zoom): el menú desplegable se mantiene, más compacto. */
@media (min-width: 1025px) and (max-width: 1280px) {
	.primary-nav .menu > li > a { font-size: 0.74rem; padding-left: 0.3rem; padding-right: 0.3rem; letter-spacing: 0.04em; max-width: 11em; }
	.brand__logo img, .brand .custom-logo { height: 64px; }
}

/* =====================================================================
   v1.3 — Logos oficiales, fotografía y calificaciones
   ===================================================================== */

/* Hero con foto (el velo se define en el Personalizador) */
.hero { background-repeat: no-repeat; }

/* Trust bar con logo DFK */
.trust--dfk { flex-direction: column; gap: 0.6rem; }
.trust__logo { width: 150px; max-width: 100%; height: auto; }
.trust__text a { font-weight: 600; white-space: nowrap; }

/* Cabeceras de páginas interiores con foto */
.page-hero--photo {
	position: relative; overflow: hidden; min-height: 300px; display: flex; align-items: flex-end;
	background-image: linear-gradient(95deg, #fff 0%, rgba(255,255,255,.94) 38%, rgba(255,255,255,.55) 62%, rgba(255,255,255,.05) 100%), var(--hero-photo);
	background-size: cover, cover; background-position: center, right center;
}
.page-hero--photo .container { position: relative; }
.page-hero--photo::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
	background: linear-gradient(90deg, var(--cyan), var(--accent), var(--navy));
}
@media (max-width: 760px) {
	.page-hero--photo { min-height: 220px; background-image: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.95)), var(--hero-photo); }
}

/* Por qué Micelle con foto de fondo */
.why--photo {
	background-image: linear-gradient(180deg, color-mix(in srgb, var(--ink) 90%, transparent), color-mix(in srgb, var(--ink) 96%, transparent)), var(--why-photo);
	background-size: cover; background-position: center;
}

/* Historia con foto */
.story__media { position: relative; margin: 0; }
.story__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); box-shadow: 0 24px 48px -28px rgba(21, 2, 66, .45); }
.story__badge {
	position: absolute; right: -1rem; bottom: -1.25rem; background: var(--accent); color: #fff;
	padding: 1rem 1.3rem; border-radius: var(--radius); display: flex; flex-direction: column-reverse; line-height: 1.1;
	box-shadow: 0 14px 28px -14px rgba(147, 32, 138, .6);
}
.story__badge strong { font: 800 2.4rem/1 var(--sans); letter-spacing: 0.01em; }
.story__badge span { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.25rem; }
@media (max-width: 860px) { .story__badge { right: 0.75rem; bottom: 0.75rem; } }

/* Pre-footer con foto */
.prefooter {
	background-image: linear-gradient(95deg, color-mix(in srgb, var(--accent) 94%, transparent) 0%, color-mix(in srgb, var(--accent) 82%, var(--ink)) 60%, color-mix(in srgb, var(--ink) 70%, transparent) 100%), var(--prefooter-photo);
	background-size: cover; background-position: center;
}

/* Pie de página: logos en blanco */
.footer-logo--plain { display: block; background: transparent; padding: 0; width: 100%; max-width: 320px; }
.footer-logo--plain img { width: 100%; height: auto; max-height: none; object-fit: contain; }
@media (min-width: 1081px) { .site-footer__grid { grid-template-columns: 1.9fr 1fr 1fr 1.2fr 1fr; } }
.footer-dfk--default { width: 100%; max-width: 320px; align-items: flex-start; }
.footer-dfk img.footer-dfk__default { background: transparent; padding: 0; width: 50%; height: auto; max-height: none; margin-top: 0.75rem; object-fit: contain; }
.footer-dfk__note { font-size: 0.78rem; }

/* Respaldo internacional y calificaciones (portada) */
.credentials { background: linear-gradient(180deg, #fff 0%, var(--mist) 100%); border-top: 1px solid var(--line); }
.credentials__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: center; }
.credentials__dfk { width: min(100%, 300px); height: auto; margin-bottom: 1.75rem; }
.credentials__intro h2 { font-size: var(--step-4); }
.credentials__intro p { color: var(--muted); font-size: 1.05rem; }
.credentials__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.credentials .doc-cards { margin: 0; }
@media (max-width: 980px) { .credentials__inner { grid-template-columns: 1fr; } }

/* Tarjetas de documentos (PDF) */
.doc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.25rem; margin: 2rem 0; }
.doc-cards--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .doc-cards--compact { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .doc-cards--compact { grid-template-columns: 1fr; } }
.doc-card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
	overflow: hidden; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.doc-card:hover { border-color: var(--accent); box-shadow: 0 18px 36px -24px rgba(21, 2, 66, .5); transform: translateY(-2px); }
.doc-card__thumb { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--mist); border-bottom: 1px solid var(--line); }
.doc-card__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .3s; }
.doc-card:hover .doc-card__thumb img { transform: scale(1.03); }
.doc-card__badge { position: absolute; top: 0.6rem; right: 0.6rem; background: var(--ink); color: #fff; font: 700 0.7rem/1 var(--sans); letter-spacing: 0.08em; padding: 0.35rem 0.5rem; border-radius: 3px; }
.doc-card__body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; flex: 1; }
.doc-card__entity { margin: 0 0 0.35rem; font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent); line-height: 1.35; }
.entry .doc-card__title, .doc-card__title { font-size: 1rem; line-height: 1.3; margin: 0 0 0.5rem; color: var(--ink); }
.doc-card__text { font-size: 0.9rem; color: var(--muted); line-height: 1.5; margin: 0 0 0.75rem; }
.doc-card__date { font-size: 0.82rem; color: var(--muted); margin: 0 0 0.75rem; }
.doc-card__link { margin-top: auto; font-weight: 600; font-size: 0.9rem; color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 0.2em; }
.doc-card__link::after { content: " ↗"; }

/* Página DFK International */
.dfk-banner { padding: 1.75rem 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; margin: 0 0 2rem; max-width: var(--prose); }
.dfk-banner img { width: min(100%, 380px); height: auto; }
.timeline { list-style: none; padding: 0; margin: 1.5rem 0 2.5rem; max-width: var(--prose); border-left: 2px solid var(--line); }
.timeline li { position: relative; display: grid; grid-template-columns: 4.5rem 1fr; gap: 1rem; padding: 0 0 1.25rem 1.5rem; margin: 0; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 0.35rem; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--accent); }
.timeline__year { font: 800 1.15rem/1.3 var(--sans); color: var(--accent); }
.timeline__text { color: var(--text); }

/* Imagen dentro de páginas */
.entry-figure { margin: 1.5rem 0 2rem; max-width: var(--prose); }
.entry-figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); }

/* v1.3.3 — logos Micelle +35% */
.brand__logo img, .brand .custom-logo { height: 103px; }
@media (min-width: 1025px) { :root { --header-h: 195px; } }
@media (min-width: 1025px) and (max-width: 1280px) { .brand__logo img, .brand .custom-logo { height: 86px; } }
@media (max-width: 1024px) { .brand__logo img, .brand .custom-logo { height: 73px; } }
@media (max-width: 420px) { .brand__logo img, .brand .custom-logo { height: auto; width: min(100%, 300px); } }
.footer-logo--plain { max-width: 432px; }
.footer-dfk--default { max-width: 432px; }
@media (min-width: 1081px) { .site-footer__grid { grid-template-columns: minmax(280px, 432px) 1fr auto 1fr 1fr; gap: 1.5rem; } }
@media (max-width: 1080px) { .site-footer__list a { overflow-wrap: anywhere; } }

/* v1.3.4 — «Nuestros Resultados»: cifras y etiquetas centradas y alineadas entre sí */
.results__inner { align-items: center; }
.stat { justify-content: flex-end; align-items: center; text-align: center; }
.stat dt { line-height: 1.35; }

/* v1.3.4 — Sello «Aportando valor desde 1999» con el formato y los colores del logo */
.story__badge--logo {
	flex-direction: column; align-items: center; text-align: center; gap: 0.2rem;
	background: #fff; color: #191f6c; padding: 1rem 1.6rem;
	box-shadow: 0 14px 28px -14px rgba(21, 2, 66, .45);
}
.story__badge--logo .story__badge-top {
	margin: 0; font: 600 1.05rem/1.1 var(--sans); letter-spacing: 0.02em; text-transform: uppercase;
}
.story__badge--logo .story__badge-bottom {
	margin: 0; font: 800 1.05rem/1.1 var(--sans); letter-spacing: 0.02em; text-transform: uppercase; color: #e01883;
}
.story__badge--logo .story__badge-bottom strong { font: 800 1.4rem/1 var(--sans); letter-spacing: 0.01em; }

/* v1.3.4 — asterisco de campos obligatorios (formulario de propuesta) */
.req { color: var(--accent); font-weight: 700; margin-left: 0.15rem; }

/* v1.3.4 — consentimiento LOPDP para postulantes (Trabaja con Nosotros) */
.lopdp-box {
	max-width: var(--prose); margin: 2rem 0; padding: 1.1rem 1.35rem;
	background: var(--mist); border-left: 3px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0;
	font-size: 0.88rem; line-height: 1.6; color: var(--muted);
}
.lopdp-box__title { margin: 0 0 0.5rem; font: 600 0.95rem/1.3 var(--sans); color: var(--ink); }
.lopdp-box p { margin: 0 0 0.6rem; }
.lopdp-box p:last-child { margin-bottom: 0; }

/* v1.3.4 — logos y menciones de DFK International enlazan a https://dfk.com/ */
.dfk-link { display: inline-block; line-height: 0; transition: opacity .15s; }
.dfk-link:hover, .dfk-link:focus-visible { opacity: .8; }
a.footer-dfk { color: inherit; text-decoration: none; transition: opacity .15s; }
a.footer-dfk:hover, a.footer-dfk:focus-visible { opacity: .8; color: inherit; }
.dfk-text-link { color: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 2px; }
.dfk-text-link:hover { color: var(--accent); text-decoration-color: currentColor; }

/* v1.3.14 — Anillos de la portada: ocupan exactamente desde el titular «DECISIONES…» hasta la línea de servicios */
.hero__head { position: relative; }
.hero__rings { display: none; }
@media (min-width: 641px) {
	.hero { background-image: linear-gradient(100deg, #ffffff 0%, #f6f4fb 55%, #ece8f6 100%); background-size: cover; background-position: center; }
	.hero__head > :not(.hero__rings) { position: relative; z-index: 1; }
	.hero__rings {
		display: block; position: absolute; z-index: 0; pointer-events: none;
		top: 0.35em; bottom: 0; right: max(-6vw, calc((100% - 100vw) / 2)); /* más separación del texto */ aspect-ratio: 506 / 558; height: auto;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='47 21 506 558'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='.48' stop-color='%23191f6c'/%3E%3Cstop offset='.72' stop-color='%2300329f'/%3E%3C/linearGradient%3E%3CclipPath id='tl'%3E%3Crect x='0' y='0' width='300' height='600'/%3E%3C/clipPath%3E%3Cmask id='pm'%3E%3Cellipse cx='294' cy='277' rx='202' ry='243' fill='none' stroke='%23fff' stroke-width='20.8'/%3E%3C/mask%3E%3Cmask id='un' maskUnits='userSpaceOnUse' x='0' y='0' width='600' height='600'%3E%3Crect width='600' height='600' fill='%23fff'/%3E%3Cpath d='M492.3 309.6C492.1 314.5 491.7 319.4 491.2 324.2C490.6 329.1 490.0 333.9 489.2 338.7C488.3 343.5 487.4 348.2 486.2 352.9C485.1 357.7 483.9 362.4 482.4 367.0C481.0 371.7 479.4 376.3 477.7 380.9C475.9 385.5 474.1 390.1 472.0 394.5C469.9 399.0 467.7 403.5 465.3 407.8C462.8 412.2 460.2 416.4 457.5 420.6C454.7 424.8 451.7 428.9 448.6 432.9C445.5 436.8 442.2 440.7 438.7 444.4C435.2 448.2 431.5 451.8 427.7 455.2C423.9 458.7 419.9 462.0 415.8 465.1C411.7 468.3 407.4 471.3 403.0 474.1C398.6 477.0 394.0 479.6 389.4 482.1C384.7 484.7 379.9 487.0 375.0 489.2C370.0 491.3 365.0 493.3 359.8 495.1C354.7 496.9 349.4 498.5 344.1 499.8C338.8 501.1 333.3 502.3 327.8 503.1C322.3 503.9 316.7 504.4 311.1 504.6C305.4 504.9 299.8 504.8 294.1 504.3C288.5 503.8 282.8 503.0 277.3 501.7C271.8 500.5 266.3 498.8 261.0 496.8C255.7 494.7 250.5 492.2 245.6 489.4C240.7 486.6 235.9 483.3 231.5 479.8C227.0 476.3 222.8 472.3 218.9 468.2C215.0 464.1 211.5 459.6 208.2 455.0C204.9 450.4 202.0 445.6 199.3 440.7C196.6 435.8 194.2 430.8 192.1 425.7C190.0 420.7 188.1 415.6 186.5 410.6C184.8 405.5 183.4 400.4 182.1 395.4C180.8 390.4 179.7 385.5 178.7 380.5C177.7 375.6 176.8 370.8 176.1 366.0C175.3 361.1 174.7 356.4 174.1 351.6C173.5 346.9 173.1 342.2 172.7 337.5C172.3 332.9 172.0 328.2 171.9 323.6C171.7 318.9 171.6 314.3 171.6 309.6C171.6 305.0 171.7 300.4 171.9 295.7C172.2 291.1 172.5 286.5 172.9 281.8C173.3 277.1 173.8 272.5 174.5 267.8C175.1 263.0 175.8 258.3 176.6 253.5C177.5 248.8 178.4 244.0 179.4 239.1C180.5 234.3 181.7 229.3 183.0 224.4C184.3 219.5 185.8 214.5 187.5 209.5C189.2 204.5 191.0 199.4 193.2 194.4C195.3 189.5 197.6 184.4 200.2 179.6C202.9 174.7 205.7 169.8 208.9 165.2C212.1 160.6 215.6 156.1 219.4 151.9C223.2 147.7 227.3 143.6 231.7 140.0C236.1 136.3 240.8 132.9 245.6 130.0C250.5 127.0 255.6 124.4 260.9 122.2C266.1 120.0 271.6 118.3 277.1 116.9C282.6 115.5 288.3 114.6 293.9 114.0C299.6 113.4 305.3 113.2 310.9 113.4C316.6 113.5 322.2 114.0 327.8 114.7C333.3 115.5 338.8 116.6 344.2 117.9C349.6 119.1 355.0 120.7 360.2 122.4C365.4 124.1 370.5 126.0 375.5 128.1C380.5 130.2 385.4 132.4 390.2 134.9C395.0 137.3 399.6 139.8 404.2 142.6C408.7 145.3 413.2 148.2 417.5 151.2C421.8 154.2 426.0 157.4 430.0 160.8C434.0 164.2 437.9 167.7 441.6 171.4C445.3 175.0 448.8 178.9 452.1 182.9C455.5 186.8 458.6 191.0 461.5 195.2C464.5 199.5 467.2 203.8 469.7 208.3C472.2 212.8 474.5 217.4 476.6 222.0C478.6 226.7 480.5 231.5 482.2 236.2C483.8 241.0 485.2 245.9 486.5 250.8C487.7 255.6 488.7 260.5 489.6 265.4C490.4 270.4 491.1 275.3 491.5 280.2C492.0 285.1 492.3 290.1 492.4 295.0C492.5 299.9 492.5 304.8 492.3 309.6Z' fill='%23000' stroke='%23000' stroke-width='23.2'/%3E%3C/mask%3E%3C/defs%3E%3Cg fill='none' stroke-width='20.8' opacity='1'%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2304a6e0'/%3E%3Cellipse cx='294' cy='277' rx='202' ry='243' stroke='%239e1a97' mask='url(%23un)'/%3E%3Cpath d='M492.3 309.6C492.1 314.5 491.7 319.4 491.2 324.2C490.6 329.1 490.0 333.9 489.2 338.7C488.3 343.5 487.4 348.2 486.2 352.9C485.1 357.7 483.9 362.4 482.4 367.0C481.0 371.7 479.4 376.3 477.7 380.9C475.9 385.5 474.1 390.1 472.0 394.5C469.9 399.0 467.7 403.5 465.3 407.8C462.8 412.2 460.2 416.4 457.5 420.6C454.7 424.8 451.7 428.9 448.6 432.9C445.5 436.8 442.2 440.7 438.7 444.4C435.2 448.2 431.5 451.8 427.7 455.2C423.9 458.7 419.9 462.0 415.8 465.1C411.7 468.3 407.4 471.3 403.0 474.1C398.6 477.0 394.0 479.6 389.4 482.1C384.7 484.7 379.9 487.0 375.0 489.2C370.0 491.3 365.0 493.3 359.8 495.1C354.7 496.9 349.4 498.5 344.1 499.8C338.8 501.1 333.3 502.3 327.8 503.1C322.3 503.9 316.7 504.4 311.1 504.6C305.4 504.9 299.8 504.8 294.1 504.3C288.5 503.8 282.8 503.0 277.3 501.7C271.8 500.5 266.3 498.8 261.0 496.8C255.7 494.7 250.5 492.2 245.6 489.4C240.7 486.6 235.9 483.3 231.5 479.8C227.0 476.3 222.8 472.3 218.9 468.2C215.0 464.1 211.5 459.6 208.2 455.0C204.9 450.4 202.0 445.6 199.3 440.7C196.6 435.8 194.2 430.8 192.1 425.7C190.0 420.7 188.1 415.6 186.5 410.6C184.8 405.5 183.4 400.4 182.1 395.4C180.8 390.4 179.7 385.5 178.7 380.5C177.7 375.6 176.8 370.8 176.1 366.0C175.3 361.1 174.7 356.4 174.1 351.6C173.5 346.9 173.1 342.2 172.7 337.5C172.3 332.9 172.0 328.2 171.9 323.6C171.7 318.9 171.6 314.3 171.6 309.6C171.6 305.0 171.7 300.4 171.9 295.7C172.2 291.1 172.5 286.5 172.9 281.8C173.3 277.1 173.8 272.5 174.5 267.8C175.1 263.0 175.8 258.3 176.6 253.5C177.5 248.8 178.4 244.0 179.4 239.1C180.5 234.3 181.7 229.3 183.0 224.4C184.3 219.5 185.8 214.5 187.5 209.5C189.2 204.5 191.0 199.4 193.2 194.4C195.3 189.5 197.6 184.4 200.2 179.6C202.9 174.7 205.7 169.8 208.9 165.2C212.1 160.6 215.6 156.1 219.4 151.9C223.2 147.7 227.3 143.6 231.7 140.0C236.1 136.3 240.8 132.9 245.6 130.0C250.5 127.0 255.6 124.4 260.9 122.2C266.1 120.0 271.6 118.3 277.1 116.9C282.6 115.5 288.3 114.6 293.9 114.0C299.6 113.4 305.3 113.2 310.9 113.4C316.6 113.5 322.2 114.0 327.8 114.7C333.3 115.5 338.8 116.6 344.2 117.9C349.6 119.1 355.0 120.7 360.2 122.4C365.4 124.1 370.5 126.0 375.5 128.1C380.5 130.2 385.4 132.4 390.2 134.9C395.0 137.3 399.6 139.8 404.2 142.6C408.7 145.3 413.2 148.2 417.5 151.2C421.8 154.2 426.0 157.4 430.0 160.8C434.0 164.2 437.9 167.7 441.6 171.4C445.3 175.0 448.8 178.9 452.1 182.9C455.5 186.8 458.6 191.0 461.5 195.2C464.5 199.5 467.2 203.8 469.7 208.3C472.2 212.8 474.5 217.4 476.6 222.0C478.6 226.7 480.5 231.5 482.2 236.2C483.8 241.0 485.2 245.9 486.5 250.8C487.7 255.6 488.7 260.5 489.6 265.4C490.4 270.4 491.1 275.3 491.5 280.2C492.0 285.1 492.3 290.1 492.4 295.0C492.5 299.9 492.5 304.8 492.3 309.6Z' stroke-width='23.2' stroke='url(%23n)'/%3E%3Cg clip-path='url(%23tl)'%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2304a6e0'/%3E%3Cellipse cx='300' cy='321' rx='240' ry='245' stroke='%2364c3eb' mask='url(%23pm)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	}
}
@media (min-width: 641px) and (max-width: 1100px) { .hero__rings { opacity: .28; } } /* en tableta los anillos quedan detrás del texto: se atenúan para que se lea */

/* v1.3.17 — menos espacio entre la cabecera y el titular de la portada */
.hero { padding-top: clamp(2rem, 1rem + 2.5vw, 3.5rem); }

/* v1.3.17 — espacios de la cabecera y del inicio del hero unificados en 20 px (computadora) */
@media (min-width: 1025px) {
	.site-header__inner { padding-top: 20px; }
	.primary-nav { margin-top: 20px; }
	.primary-nav .menu > li > a { padding-top: 0; padding-bottom: 20px; }
	.hero { padding-top: 20px; }
	.hero__title { margin-top: 0; }
}

/* v1.3.18 — logo de la cabecera a sólo un 3 % del ancho de la pantalla desde el borde izquierdo (computadora) */
@media (min-width: 1025px) { .site-header .brand { margin-left: min(0px, calc(3vw - (100vw - min(100vw - 2 * var(--gap), var(--wrap))) / 2)); } }
