/* COV 360 — couche de modernisation (typo, contrastes, motion, services) */

:root {
  --text-body-color: #5a564e;
  --text-title-elevated: #1a1714;
  --elevated-shadow: 0 1.25rem 3rem rgba(26, 23, 20, 0.09);
  --elevated-shadow-lg: 0 1.75rem 4rem rgba(26, 23, 20, 0.12);
  --elevated-radius: 16px;
  --elevated-border: rgba(26, 23, 20, 0.1);
}

/* Contraste texte — corrige le gris trop pâle */
body {
  color: var(--text-body-color);
}

p,
li,
figcaption,
small,
.hero-miux__desc,
.why-cov__desc,
.service-goals__card-text {
  color: var(--text-body-color);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h96,
.h64,
.h48 {
  color: var(--text-title-elevated);
}

::selection {
  background: rgba(26, 23, 20, 0.14);
  color: var(--text-title-elevated);
}

/* Révélation au scroll — global */
[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.75s var(--ease-smooth),
    transform 0.75s var(--ease-smooth);
}

[data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Sections — polish global */
.why-cov__item,
.service-goals__card,
.projects-card,
.packs-tier {
  transition:
    transform 0.35s var(--ease-smooth),
    box-shadow 0.35s ease,
    border-color 0.25s ease;
}

@media (hover: hover) {
  .why-cov__item:hover,
  .page-service-detail .service-goals__card:hover,
  .projects-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--elevated-shadow);
  }
}

/* Pages services — cartes plus vivantes */
.page-service-detail .service-goals__card {
  border-radius: var(--elevated-radius);
}

.page-service-detail .branding-definition__callout {
  border-radius: var(--elevated-radius);
  box-shadow: var(--elevated-shadow);
}

.page-service-detail .service-hero-split__media img {
  border-radius: var(--elevated-radius);
  box-shadow: var(--elevated-shadow-lg);
}

/* Boutons — focus accessible */
.btn-primary:focus-visible {
  outline: 2px solid var(--text-title-elevated);
  outline-offset: 3px;
}

a:focus-visible {
  outline: 2px solid var(--text-title-elevated);
  outline-offset: 2px;
}

/* Labels de section — plus nets */
.service-section-head__label,
.why-cov__label,
.services-h__label,
.work-showcase__eyebrow {
  color: var(--text-body-color);
  font-weight: 500;
  letter-spacing: 0.12em;
}
