/**
 * Emaintenance 0.8.0 : identité « Signal », couche globale (toutes les pages). Accent : dégradé sarcelle #5DA6A6 -> #9FE3D8.
 *
 * Chargée en dernier. Typographie de la charte (League Spartan pour les titres, Poppins pour le texte), en-tête noir
 * translucide, pied de page sombre, boutons et accents en dégradé sarcelle (--em-grad).
 * Les couleurs viennent de tokens.css : cette couche ne fait qu'ajuster les formes.
 */

/* ---------- Typographie ---------- */
/* Charte : Poppins (texte) n'existe qu'en 400 / 500 / 600 / 700 dans le thème ; on évite les graisses
   intermédiaires qui basculeraient vers une graisse plus lourde. Poppins étant large, interlettrage neutre. */
body { font-weight: 400; letter-spacing: 0; }
.em-btn { font-weight: 600; letter-spacing: 0.01em; }
.em-nav--desktop .em-nav__link, .em-nav__sublink { font-weight: 500; }
.em-eyebrow, .em-f-kicker, .em-trust__title { font-weight: 600; }
.em-f-legend__item, .em-hero__metier, .em-f-card__tags span, .em-f-field__list li { font-weight: 500; }
strong, b { font-weight: 600; }
/* Grands textes de titre qui ne sont pas des balises h1-h4 : police de titres de la charte. */
.em-f-sectors__name, .em-f-card__title, .em-f-card__num, .em-f-info__title, .em-f-cta__phone,
.em-f-cta__marquee, .em-f-method__num, .em-f-intro__logo, .em-p-hero .em-hero__title--page,
.em-xp__title, .em-sect__name, .em-method__step-title, .em-co__assets strong, .em-catalog__title,
.em-card__title, .em-pcard__title, .em-duo__title, .em-mission__name, .em-siblings__label,
.em-contact__title, .em-cta__title, .em-page-hero__title { font-family: var(--em-font-display); }

h1, h2, h3, h4,
.em-h1, .em-h2, .em-h3, .em-h4, .em-display {
	font-weight: 700;
	letter-spacing: -0.01em;
}
h1, .em-h1 { letter-spacing: -0.01em; line-height: 0.98; }
h2, .em-h2 { letter-spacing: -0.01em; line-height: 1; }
/* Titres de composants qui fixaient une graisse fine pour la police à empattements. */
.em-card-media__title, .em-step__title, .em-tile__label, .em-xp__title, .em-co__assets strong,
.em-method__step-title, .em-sect__name, .em-clients__title, .em-cta__note, .em-mission__name,
.em-logos__title, .em-article__cta-title, .em-hero__card, .em-proj__feature-logo.is-text,
.em-proj__card-logo.is-text { font-weight: 750; letter-spacing: -0.01em; }
.em-accent { font-style: normal; }
/* Mot d'accent des titres sur fond sombre : dégradé sarcelle. */
@supports (-webkit-background-clip: text) or (background-clip: text) {
	.em-surface-night .em-accent,
	.em-f-accent { background: var(--em-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
}
::selection { background: var(--em-soft); color: var(--em-night); }

/* ---------- Boutons ---------- */
.em-btn { border-radius: var(--em-radius-pill); font-weight: 700; }
.em-btn--primary { background-image: var(--em-grad); background-size: 140% 100%; background-position: 0 0; box-shadow: 0 0 0 0 rgb(111 208 196 / 0); transition: background-position 400ms var(--em-ease-out), box-shadow 300ms var(--em-ease-out), transform var(--em-dur-fast) var(--em-ease-out); }
.em-btn--primary:hover { background-position: 100% 0; box-shadow: 0 10px 30px rgb(111 208 196 / 0.3); }
.em-btn--primary .em-btn__icon,
.em-btn--primary:hover .em-btn__icon { color: var(--em-night); }
.em-btn--link { color: var(--em-copper-700); }
.em-surface-night .em-btn--link { color: var(--em-soft); }

/* ---------- En-tête : noir translucide ---------- */
.em-header { background-color: rgb(4 29 31 / 0.96); }
.has-hero .em-header::before { background: linear-gradient(180deg, rgb(2 19 20 / 0.7), rgb(2 19 20 / 0)); }
.has-hero .em-header.is-scrolled,
.has-hero .em-header.is-search-open { background-color: rgb(4 29 31 / 0.94); box-shadow: 0 1px 0 rgb(255 255 255 / 0.06); }
@supports (backdrop-filter: blur(1px)) {
	.has-hero .em-header.is-scrolled,
	.has-hero .em-header.is-search-open { background-color: rgb(4 29 31 / 0.9); backdrop-filter: blur(18px) saturate(1.4); }
}
.em-nav--desktop .em-nav__link { font-weight: 650; }
.em-nav--desktop .em-nav__link::after { height: 2px; background: var(--em-soft); border-radius: 2px; }
.em-nav--desktop .em-nav__panel { background: #fff; border: 1px solid var(--em-sand); }
.em-burger { border-radius: var(--em-radius-pill); }

/* ---------- Pied de page sombre ---------- */
.em-footer {
	--em-text: #fff;
	--em-text-muted: rgb(255 255 255 / 0.62);
	--em-focus: var(--em-soft);
	background: var(--em-night);
	color: #fff;
	border-top: 1px solid rgb(255 255 255 / 0.08);
}
.em-footer__baseline,
.em-footer__group-label,
.em-footer__contact-list span:not(.em-pending),
.em-footer__bar-inner { color: rgb(255 255 255 / 0.62); }
.em-footer__title { color: #fff; }
.em-footer__nav a,
.em-footer__contact a,
.em-footer__legal a { color: rgb(255 255 255 / 0.72); }
.em-footer__nav a:hover,
.em-footer__contact a:hover,
.em-footer__legal a:hover { color: var(--em-soft); }
.em-footer__contact-list .em-icon { color: var(--em-soft); }
.em-footer__group,
.em-footer__bar { border-color: rgb(255 255 255 / 0.1); }
.em-footer__group-logo img { filter: brightness(0) invert(1); opacity: 0.85; }
.em-footer .em-icon-btn--deep { background: rgb(255 255 255 / 0.08); color: var(--em-soft); }

/* ---------- Pages intérieures : accents ---------- */
.em-surface-night .em-eyebrow { color: var(--em-soft); }
/* Sur sarcelle profonde : petits textes d'accent en crème (charte), plus lisibles que la sarcelle claire. */
.em-surface-deep { --em-accent-text: #f2ebdc; background-image: var(--em-grad-deep); }
.em-surface-deep .em-eyebrow,
.em-surface-deep .em-btn--link { color: #f2ebdc; }
.em-card, .em-pcard, .em-card-media, .em-mission { border-radius: var(--em-radius-m); }
.em-logo { display: inline-flex; align-items: center; }
