/* ============================================================
   Thème du site — direction « Pro net », choisie par Ayoub le 31/08/2026.
   Réécriture complète : la première version était sobre-institutionnelle
   (« vieillot, pas moderne » — son mot, et il avait raison).

   CE QUI CHANGE LE PLUS L'IMPRESSION, dans l'ordre :
     1. une VRAIE police (Inter variable, 48 ko, hébergée ici) au lieu
        de la pile système qui rend en Arial sur Android et en DejaVu
        sur Linux ;
     2. une photo plein cadre en haut avec le texte posé dessus, au lieu
        d'un bloc de texte sur fond gris ;
     3. de l'air : interlignes, marges de section, largeur de texte
        limitée à ~65 caractères ;
     4. des arrondis larges et des ombres presque invisibles — les
        bordures grises partout, c'est ce qui datait le plus.

   CE QUI NE CHANGE PAS : aucune requête vers un tiers (pas Google
   Fonts : point de panne + données personnelles envoyées aux
   États-Unis), aucun cadre CSS, ~13 ko. La page reste sous 30 ko.
   ============================================================ */

/* Une seule police, un seul fichier, tous les graisses : c'est
   l'intérêt d'une variable. `swap` : le texte s'affiche tout de suite
   avec la police système et bascule ensuite — jamais d'écran blanc. */
@font-face {
  font-family: "InterVar";
  src: url("polices/inter.woff2") format("woff2-variations"),
       url("polices/inter.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --encre: #0b1620;
  --encre-douce: #4a5c68;
  --encre-tres-douce: #7c8b96;
  --fond: #ffffff;
  --fond-doux: #f5f8fa;
  --fond-sombre: #0b1620;
  --accent: #0a6ea8;
  --accent-fonce: #085b8b;
  --accent-clair: #eaf3f9;
  --urgence: #d1400f;
  --urgence-fonce: #a83109;
  --bord: #e4ebef;
  --bord-doux: #eef3f6;

  --r-carte: 18px;
  --r-bouton: 12px;
  --largeur: 1140px;
  --texte-max: 68ch;

  /* Ombres en deux couches, très basses : on veut sentir le relief,
     pas voir l'ombre. */
  --ombre: 0 1px 2px rgba(11, 22, 32, .04), 0 8px 24px -8px rgba(11, 22, 32, .10);
  --ombre-haute: 0 2px 4px rgba(11, 22, 32, .05), 0 18px 40px -12px rgba(11, 22, 32, .16);

  --pile: "InterVar", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--pile);
  font-size: 17px;
  line-height: 1.62;
  color: var(--encre);
  background: var(--fond);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "cv05" 1, "ss03" 1;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--encre); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 4px; }

.conteneur { width: 100%; max-width: var(--largeur); margin: 0 auto; padding: 0 20px; }

/* Titres : grande taille, interlettrage resserré. C'est la signature
   typographique de 2026 — un titre lâche fait daté. */
h1, h2, h3, h4 { font-weight: 680; letter-spacing: -.022em; line-height: 1.14; margin: 0; }
h1 { font-size: clamp(2rem, 7.5vw, 3.3rem); }
h2 { font-size: clamp(1.5rem, 4.4vw, 2.15rem); margin-bottom: .6em; }

/* Petit trait de couleur au-dessus des titres de section : la touche
   éditoriale qui distingue un site « pro » d'un site « brut ». Jamais
   sur le h1 du bandeau ni sur le h2 blanc du bloc d'appel (`.cta`),
   qui ont déjà leur propre traitement. */
section > .conteneur > h2 { position: relative; padding-top: 24px; }
section > .conteneur > h2::before {
  content: ""; position: absolute; top: 0; left: 0;
  width: 42px; height: 3px; border-radius: 2px; background: var(--accent);
}
h3 { font-size: 1.16rem; letter-spacing: -.012em; line-height: 1.3; }
p { margin: 0 0 1.05em; max-width: var(--texte-max); }
p:last-child { margin-bottom: 0; }

/* ---------- en-tête ---------- */

.entete {
  position: sticky; top: 0; z-index: 40;
  background: rgba(255, 255, 255, .88);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--bord-doux);
}
.entete-corps { display: flex; align-items: center; gap: 14px; min-height: 60px; }
.marque {
  display: flex; align-items: center; gap: 10px; text-decoration: none;
  color: var(--encre); font-weight: 700; font-size: 1.02rem; letter-spacing: -.02em;
}
.marque .pastille {
  width: 30px; height: 30px; border-radius: 9px; flex: none;
  background: linear-gradient(150deg, var(--accent), #063f61);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}
.marque-logo { height: 34px; width: auto; display: block; }
/* Baseline masquée sur téléphone : le CEO y écrit parfois une phrase
   entière, et l'en-tête d'un iPhone se retrouvait sur cinq lignes. */
.marque small { display: none; font-weight: 450; font-size: .74rem; color: var(--encre-tres-douce); letter-spacing: 0; }

.nav { margin-left: auto; display: none; gap: 22px; align-items: center; }
.nav a { color: var(--encre-douce); text-decoration: none; font-weight: 500; font-size: .94rem; }
.nav a:hover { color: var(--encre); }
.entete .tel-entete { margin-left: auto; flex: none; padding: 9px 14px; font-size: .93rem; box-shadow: none; }

/* ---------- boutons ---------- */

.bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; border-radius: var(--r-bouton); border: 1px solid transparent;
  font-family: inherit; font-weight: 620; font-size: 1rem; text-decoration: none; cursor: pointer;
  background: var(--accent); color: #fff; box-shadow: var(--ombre);
  transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
  /* Un numéro de téléphone ne se coupe JAMAIS. Sans ça, « 06 52 83 48
     67 » sortait empilé sur cinq lignes dans l'en-tête. */
  white-space: nowrap;
}
.bouton:hover { background: #085b8b; color: #fff; transform: translateY(-1px); box-shadow: var(--ombre-haute); }
.bouton:active { transform: translateY(0); }
.bouton.urgence { background: var(--urgence); }
.bouton.urgence:hover { background: var(--urgence-fonce); }
.bouton.creux { background: rgba(255, 255, 255, .96); color: var(--encre); border-color: var(--bord); box-shadow: none; }
.bouton.creux:hover { background: #fff; color: var(--encre); border-color: var(--encre-tres-douce); }
.bouton.clair { background: rgba(255, 255, 255, .14); color: #fff; border-color: rgba(255, 255, 255, .34); box-shadow: none; backdrop-filter: blur(6px); }
.bouton.clair:hover { background: rgba(255, 255, 255, .24); color: #fff; }
.boutons { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- barre d'appel fixe (mobile) ----------
   Le geste le plus rentable du site : sur un métier d'urgence, le
   numéro doit être atteignable à tout moment, sans défilement. */

.barre-appel {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  display: flex; gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(180%) blur(14px);
  border-top: 1px solid var(--bord);
}
.barre-appel .bouton { flex: 1; padding: 15px 10px; }
.barre-appel .bouton.creux { flex: 0 1 34%; }
body.avec-barre { padding-bottom: 82px; }

/* ---------- sur-titre ---------- */

.sur-titre {
  display: block; font-size: .76rem; font-weight: 650; text-transform: uppercase;
  letter-spacing: .12em; color: var(--accent); margin-bottom: .7em;
}

/* ---------- fil d'Ariane ---------- */

.ariane { font-size: .84rem; color: var(--encre-tres-douce); padding: 16px 0 0; }
.ariane ol { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; }
.ariane li::after { content: "/"; margin-left: 7px; color: var(--bord); }
.ariane li:last-child::after { content: ""; }
.ariane a { color: var(--encre-tres-douce); text-decoration: none; }
.ariane a:hover { color: var(--encre); text-decoration: underline; }

/* ---------- bandeau d'accueil ---------- */

.hero { position: relative; background: var(--fond-doux); overflow: hidden; }
.hero-corps { position: relative; z-index: 2; padding: 40px 0 46px; }
.hero h1 { margin-bottom: .45em; }
.hero .accroche { font-size: clamp(1.02rem, 2.6vw, 1.2rem); color: var(--encre-douce); margin-bottom: 1.4em; max-width: 56ch; }
.hero .boutons { margin-bottom: 6px; }

/* Photo plein cadre + voile sombre : le texte doit rester lisible quoi
   que contienne la photo, d'où le dégradé et non une opacité globale
   (qui délaverait l'image). */
.hero.avec-photo { background: var(--fond-sombre); }
.hero.avec-photo .fond { position: absolute; inset: 0; z-index: 0; }
.hero.avec-photo .fond img { width: 100%; height: 100%; object-fit: cover; }
.hero.avec-photo .voile {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(11, 22, 32, .82) 0%, rgba(11, 22, 32, .58) 45%, rgba(11, 22, 32, .86) 100%),
    linear-gradient(90deg, rgba(11, 22, 32, .55) 0%, rgba(11, 22, 32, .1) 70%);
}
.hero.avec-photo .hero-corps { padding: 64px 0 56px; min-height: 74vh; display: flex; flex-direction: column; justify-content: center; }
.hero.avec-photo h1, .hero.avec-photo .accroche { color: #fff; }
.hero.avec-photo .accroche { color: rgba(255, 255, 255, .88); }
.hero.avec-photo .reponse { background: rgba(255, 255, 255, .1); border-left-color: rgba(255, 255, 255, .5); color: #fff; backdrop-filter: blur(8px); }
.hero.avec-photo .reponse .etiquette, .hero.avec-photo .reponse strong { color: #fff; }

/* Puces de réassurance */
.rassure { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.rassure li {
  font-size: .86rem; font-weight: 500; color: var(--encre-douce);
  background: #fff; border: 1px solid var(--bord); border-radius: 999px; padding: 6px 13px;
}
.rassure li::before { content: "●"; color: var(--accent); font-size: .6em; vertical-align: middle; margin-right: 7px; }
.hero.avec-photo .rassure li { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .28); color: #fff; }
.hero.avec-photo .rassure li::before { color: #7fd4ff; }

/* ---------- sections ---------- */

section { padding: 46px 0; }
section.douce { background: var(--fond-doux); }
.contenu > * + h2, section h3 + p { margin-top: 0; }
h3 { margin: 1.6em 0 .5em; }

/* ---------- réponse courte (AEO) ----------
   Le bloc qui répond en 40 mots, juste sous le titre. C'est celui que
   Google reprend en extrait enrichi et qu'un assistant cite quand on
   lui demande « faut-il vidanger un bac à graisse ? ». */

.reponse {
  background: var(--accent-clair); border-left: 3px solid var(--accent);
  border-radius: 4px var(--r-bouton) var(--r-bouton) 4px;
  padding: 16px 18px; margin: 0 0 26px; max-width: 62ch;
}
.reponse p { margin-bottom: .6em; }
.reponse p:last-child { margin-bottom: 0; }
.reponse .etiquette {
  display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em;
  color: var(--accent); font-weight: 700; margin-bottom: 6px;
}

/* ---------- cartes ---------- */

.grille { display: grid; gap: 16px; grid-template-columns: 1fr; }
.carte {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--bord-doux); border-radius: var(--r-carte);
  overflow: hidden; box-shadow: var(--ombre);
  transition: transform .14s ease, box-shadow .14s ease;
}
.carte:hover { transform: translateY(-2px); box-shadow: var(--ombre-haute); }
.carte .visuel { aspect-ratio: 16 / 10; overflow: hidden; background: var(--fond-doux); }
.carte .visuel img { width: 100%; height: 100%; object-fit: cover; }
.carte .texte { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.carte h3 { margin: 0; }
.carte p { margin: 0; color: var(--encre-douce); font-size: .96rem; }
.carte .suite { margin-top: auto; padding-top: 6px; font-weight: 620; font-size: .94rem; text-decoration: none; }
.carte .suite::after { content: " →"; }

/* ---------- listes de points ---------- */

.points { list-style: none; margin: 0 0 1.2em; padding: 0; max-width: var(--texte-max); }
.points li { position: relative; padding-left: 30px; margin-bottom: .7em; }
.points li::before {
  content: ""; position: absolute; left: 4px; top: .48em;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent); box-shadow: 0 0 0 4px var(--accent-clair);
}
.points li .source {
  display: block; font-size: .8rem; color: var(--encre-tres-douce); margin-top: 2px;
}

/* ---------- chiffres ---------- */

.chiffres { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.chiffre {
  background: #fff; border: 1px solid var(--bord-doux); border-radius: var(--r-carte);
  padding: 20px 16px; text-align: left; box-shadow: var(--ombre);
}
.chiffre b {
  display: block; font-size: clamp(1.7rem, 6vw, 2.3rem); font-weight: 700;
  letter-spacing: -.03em; color: var(--encre); line-height: 1.05; margin-bottom: 4px;
}
.chiffre span { font-size: .88rem; color: var(--encre-douce); }

/* ---------- tableaux ---------- */

.tableau {
  overflow-x: auto; margin: 0 0 1.4em; -webkit-overflow-scrolling: touch;
  border: 1px solid var(--bord-doux); border-radius: var(--r-carte); background: #fff;
}
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: left; padding: 13px 16px; border-bottom: 1px solid var(--bord-doux); vertical-align: top; }
tr:last-child td { border-bottom: 0; }
th { background: var(--fond-doux); font-weight: 640; font-size: .88rem; letter-spacing: .01em; }
caption { text-align: left; font-size: .86rem; color: var(--encre-tres-douce); padding: 12px 16px 0; }

/* ---------- questions fréquentes ---------- */

.faq details {
  border: 1px solid var(--bord-doux); border-radius: var(--r-carte);
  background: #fff; margin-bottom: 10px; padding: 0 18px; box-shadow: var(--ombre);
}
.faq summary {
  cursor: pointer; font-weight: 620; padding: 17px 0; list-style: none;
  display: flex; justify-content: space-between; gap: 14px; align-items: flex-start;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; color: var(--accent); font-weight: 400; font-size: 1.5rem; line-height: .9; flex: none;
}
.faq details[open] summary::after { content: "–"; }
.faq details[open] summary { border-bottom: 1px solid var(--bord-doux); }
.faq .corps { padding: 14px 0 6px; color: var(--encre-douce); }

/* ---------- photos ---------- */

.photos { display: grid; gap: 16px; grid-template-columns: 1fr; }
.photo figure { margin: 0; }
.photo img { border-radius: var(--r-carte); box-shadow: var(--ombre); width: 100%; }
.photo figcaption { font-size: .86rem; color: var(--encre-tres-douce); padding-top: 8px; }

/* ---------- zones ---------- */

.zones { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 0 0 1.2em; list-style: none; }
.zones li a {
  display: inline-block; padding: 9px 15px; border: 1px solid var(--bord);
  border-radius: 999px; background: #fff; text-decoration: none;
  font-size: .92rem; font-weight: 500; color: var(--encre);
  transition: border-color .12s ease, transform .12s ease;
}
.zones li a:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-1px); }

/* ---------- appel à l'action ---------- */

.cta {
  position: relative; overflow: hidden;
  background: radial-gradient(120% 140% at 12% 0%, #12405e 0%, var(--fond-sombre) 62%);
  color: #fff; border-radius: 22px; padding: 34px 24px;
}
.cta h2 { color: #fff; }
.cta p { color: rgba(255, 255, 255, .84); max-width: 52ch; }
.cta .boutons { margin-top: 22px; }
.cta .bouton.urgence { background: var(--urgence); }
.cta .bouton.urgence:hover { background: var(--urgence-fonce); }

/* ---------- article ---------- */

.article-entete { padding: 26px 0 4px; }
.article-meta { font-size: .87rem; color: var(--encre-tres-douce); }
.contenu blockquote {
  margin: 0 0 1.2em; padding: 14px 20px; border-left: 3px solid var(--accent);
  background: var(--fond-doux); border-radius: 4px var(--r-bouton) var(--r-bouton) 4px;
  color: var(--encre-douce);
}

/* ---------- pied de page ---------- */

.pied { background: var(--fond-sombre); color: #b9c8d2; margin-top: 0; padding: 48px 0 34px; }
.pied a { color: #fff; text-decoration: none; }
.pied a:hover { text-decoration: underline; }
.pied h4 { color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 14px; font-weight: 650; }
.pied ul { list-style: none; margin: 0 0 22px; padding: 0; }
.pied li { margin-bottom: 9px; font-size: .94rem; }
.pied .colonnes { display: grid; gap: 26px; grid-template-columns: 1fr; }
.pied .nap { font-size: .94rem; line-height: 1.85; }
.pied .mentions {
  border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 18px; padding-top: 18px;
  font-size: .83rem; color: #7c8b96;
}

/* ---------- écrans plus larges ---------- */

@media (min-width: 700px) {
  body { font-size: 18px; }
  .hero-corps { padding: 56px 0 62px; }
  section { padding: 66px 0; }
  .grille { grid-template-columns: repeat(2, 1fr); }
  .chiffres { grid-template-columns: repeat(4, 1fr); }
  .photos { grid-template-columns: repeat(2, 1fr); }
  .pied .colonnes { grid-template-columns: 1.3fr 1fr 1fr; }
  .cta { padding: 46px 40px; }
}

@media (min-width: 950px) {
  .nav { display: flex; }
  .marque small { display: block; max-width: 32ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .marque-logo { height: 42px; }
  .grille.trois { grid-template-columns: repeat(3, 1fr); }
  /* La barre fixe du bas est une réponse au pouce, pas à la souris. */
  .barre-appel { display: none; }
  body.avec-barre { padding-bottom: 0; }
  .hero.avec-photo .hero-corps { min-height: 62vh; }
  .hero:not(.avec-photo) .hero-corps { display: grid; grid-template-columns: 1.08fr .92fr; gap: 44px; align-items: center; }
}

/* ---------- animations d'apparition au défilement ----------
   Discrètes : un léger fondu-montée, jamais un rebond ou un zoom. Le
   JS ajoute .visible via IntersectionObserver ; sans JS ou avec un
   lecteur d'écran, .reveal reste visible par défaut (voir plus bas). */

/* Scopé à html.js (posée par un script synchrone dans <head>) : sans
   JavaScript — robots d'IA, lecteurs qui le désactivent — .reveal
   reste visible par défaut. Une animation ne doit jamais être la
   condition d'accès au contenu. */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.js .reveal.visible { opacity: 1; transform: translateY(0); }

/* Entrée du bandeau d'accueil au chargement, pas au défilement : c'est
   la première chose vue, elle ne doit pas attendre un scroll. */
.hero h1, .hero .accroche, .hero .reponse, .hero .boutons, .hero .rassure {
  animation: entree-hero .7s ease both;
}
.hero .accroche { animation-delay: .08s; }
.hero .reponse { animation-delay: .16s; }
.hero .boutons { animation-delay: .24s; }
.hero .rassure { animation-delay: .32s; }
@keyframes entree-hero {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Impression : un gérant imprime une fiche pour son dossier de
   conformité, pas un menu ni un bouton d'appel. */
@media print {
  .entete, .barre-appel, .cta, .nav, .hero .boutons { display: none !important; }
  body { font-size: 11pt; }
  .hero.avec-photo { background: none; }
  .hero.avec-photo h1, .hero.avec-photo .accroche { color: #000; }
  .hero.avec-photo .fond, .hero.avec-photo .voile { display: none; }
}
/* Refonte Hydrocurage 360 */
:root{--ink:#102837;--muted:#59707c;--blue:#075ee8;--orange:#f66b35;--paper:#f2f6f8;--line:#dce5e9;--accent:#075ee8;--accent-fonce:#034ebf;--urgence:#e85823;--largeur:1240px}
html{scroll-padding-top:100px}body{font-size:16px;color:var(--ink);line-height:1.65}a{color:inherit}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,h4{letter-spacing:-.055em;font-weight:600}h1{font-size:clamp(3.3rem,6.4vw,6.15rem);line-height:.98}h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08}h3{letter-spacing:-.035em}h1 em,h2 em{font-style:normal;color:var(--muted)}p{max-width:none;color:var(--muted)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.topline{background:var(--ink);color:#dfe9ef;font-size:12px;padding:8px 0;letter-spacing:.035em}.topline .wrap{display:flex;justify-content:space-between;gap:15px}.topline a{text-decoration:none;color:#fff}.header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{height:93px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand-mark{font-size:43px;font-weight:800;line-height:1;letter-spacing:-.08em;color:var(--blue);display:flex;align-items:end}.brand-mark>span{font-size:12px;letter-spacing:-.06em;border-bottom:3px solid var(--orange);margin:0 0 5px 2px}.brand-type{font-size:18px;font-weight:800;letter-spacing:-.04em;line-height:1.3}.brand-type>span{display:block;font-size:8px;letter-spacing:.13em;font-weight:550;margin-top:3px}.desktop-nav{margin-left:auto;display:flex;gap:25px}.desktop-nav a{font-size:14px;text-decoration:none;font-weight:550;white-space:nowrap}.desktop-nav a:hover{color:var(--blue)}.header-call{font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap;border-left:1px solid var(--line);padding-left:25px}.header-call span{margin-left:10px;color:var(--blue)}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;width:43px;height:43px;padding:11px}.menu-toggle span{height:2px;background:var(--ink);display:block;margin:5px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}#mobile-nav{padding:0 24px 22px;border-top:1px solid var(--line)}#mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none}.mobile-actions{display:none}.eyebrow{display:block;font-size:11px;letter-spacing:.15em;font-weight:650;margin-bottom:25px;line-height:1.5}.tiny-line{display:inline-block;width:22px;height:2px;background:var(--orange);vertical-align:middle;margin-right:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:55px;border:1px solid transparent;padding:15px 23px;text-decoration:none;font-size:14px;font-weight:650;border-radius:5px;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn.orange{background:var(--orange);color:#102837}.btn.orange:hover{background:#ff814f;color:var(--ink)}.btn.light{border-color:#627582;color:#fff}.btn.light:hover{background:#203e50;color:#fff}.text-link{font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.text-link:hover{color:var(--blue)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px}.home-hero{padding:30px 0 44px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:stretch}.hero-copy{padding:33px 0 10px}.hero-copy .eyebrow{margin-bottom:28px}.hero-copy h1{margin:0 0 25px}.hero-copy h1 em{color:var(--blue)}.hero-copy>p{font-size:16px;line-height:1.75;margin-bottom:27px}.hero-note{margin-top:34px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:22px;font-size:12px;align-items:center;color:var(--muted);line-height:1.5}.note-index{font-size:12px;color:var(--ink);font-weight:600;border-right:1px solid var(--line);padding-right:22px}.hero-visual{position:relative;min-height:650px;border-radius:7px;overflow:hidden;background:var(--ink)}.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:47% center;filter:brightness(.84);animation:photo-enter 1.1s ease both}.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,26,42,.2),transparent 40%,rgba(4,26,42,.9))}.visual-top{position:absolute;left:30px;top:29px;z-index:1;color:white;font-size:10px;letter-spacing:.14em;border:1px solid #ffffff5c;border-radius:3px;padding:8px 10px}.visual-bottom{position:absolute;left:32px;right:32px;bottom:35px;z-index:1;color:white}.visual-bottom>span:first-child{font-size:10px;letter-spacing:.14em}.visual-bottom strong{display:block;font-size:38px;line-height:1.1;letter-spacing:-.045em;font-weight:500;margin-top:16px}.visual-round{position:absolute;right:0;bottom:0;width:55px;height:55px;border:1px solid #ffffff75;border-radius:50%;display:grid;place-items:center;font-size:28px}.audiences{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}.audiences .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.audiences span{font-size:9px;letter-spacing:.13em;line-height:1.6;color:var(--muted)}.audiences p{font-size:17px;font-weight:550;letter-spacing:-.03em;margin:0;color:var(--ink)}.services-section{padding:105px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:43px}.section-heading h2{margin:0}.section-heading>p{font-size:15px;max-width:350px;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 26px}.service-card{display:block;text-decoration:none;min-width:0}.service-photo{position:relative;overflow:hidden;aspect-ratio:1.55;background:var(--paper);border-radius:6px}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.service-card:hover .service-photo img{transform:scale(1.055)}.service-num{position:absolute;left:16px;top:16px;background:#fff;color:var(--ink);border-radius:3px;padding:3px 9px;font-size:11px}.card-arrow{position:absolute;bottom:15px;right:15px;width:38px;height:38px;background:white;display:grid;place-items:center;border-radius:50%;font-size:22px;transition:background .2s}.service-card:hover .card-arrow{background:var(--orange)}.service-text{padding:20px 0 15px;border-bottom:1px solid var(--line)}.service-text h3{margin:0 0 10px;font-size:21px;color:var(--ink)}.service-text p{font-size:14px;line-height:1.7;min-height:72px;margin-bottom:15px}.service-more{font-size:12px;font-weight:650;display:flex;justify-content:space-between;color:var(--ink)}.service-help{background:var(--blue);color:white;border-radius:6px;padding:31px;display:flex;flex-direction:column}.service-help .eyebrow{font-size:9px;margin-bottom:23px}.service-help h3{font-size:38px;line-height:1.07;font-weight:500;margin:0 0 18px}.service-help p{font-size:14px;color:#d8e5ff;margin-bottom:25px}.service-help>a{margin-top:auto;font-size:20px;text-decoration:none;display:flex;justify-content:space-between;border-top:1px solid #ffffff5e;padding-top:16px}.approach{background:var(--ink);color:#fff;padding:95px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach h2 em{color:#90b9d0}.approach .eyebrow{color:#c6d6df}.approach p{color:#b4c6d1}.approach-heading>p{max-width:390px;margin-top:26px;font-size:15px}.approach .text-link{margin-top:10px;color:white}.steps article{display:flex;gap:27px;padding:30px 0;border-top:1px solid #ffffff26}.steps article:first-child{padding-top:0;border:0}.steps article>span{color:#79adff;font-size:12px;margin-top:5px}.steps h3{font-size:24px;margin:0 0 12px;font-weight:500}.steps p{font-size:14px;line-height:1.8;margin:0}.coverage{padding:105px 0;background:var(--paper)}.coverage-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.coverage h2{font-size:44px}.coverage p{font-size:15px;max-width:450px;margin:24px 0}.region-list a{display:flex;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid #cbd8e0;text-decoration:none;font-size:19px;font-weight:550;transition:padding .2s}.region-list a:first-child{border-top:1px solid #cbd8e0}.region-list a:hover{color:var(--blue);padding-left:8px}.region-list a>span:last-child{margin-left:auto}.region-code{font-size:13px;color:var(--muted);font-weight:450}.questions{padding:100px 0}.faq-grid{display:grid;grid-template-columns:.8fr 1fr;gap:100px}.faq-grid h2{margin-bottom:30px}.faq-items details{border-bottom:1px solid var(--line)}.faq-items summary{list-style:none;padding:23px 0;font-size:16px;font-weight:550;cursor:pointer;display:flex;gap:20px;justify-content:space-between;line-height:1.5}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{color:var(--blue);font-size:22px;flex-shrink:0;transition:transform .2s}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items p{font-size:14px;padding:0 20px 23px 0;margin:0}.closing{padding:75px 0;background:var(--blue);color:white}.closing h2{font-size:clamp(2.6rem,4.7vw,4.3rem);font-weight:500;margin-bottom:38px}.closing-bottom{display:flex;justify-content:space-between;gap:35px;align-items:center}.closing p{font-size:14px;color:#e1ebff;margin:0}.closing .btn.light{border-color:#ffffff65}.closing .btn.light:hover{background:#ffffff20}.footer{padding:65px 0 20px;background:#0b202d;color:#d9e3e9}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-brand{display:block;font-size:20px;font-weight:750;letter-spacing:-.045em;text-decoration:none;margin-bottom:20px}.footer-brand span{color:#77aaff}.footer p{font-size:13px;color:#adbfcb;margin:18px 0;line-height:1.8}.footer-phone{font-size:23px;letter-spacing:-.04em;text-decoration:none}.footer h2{font-size:10px;font-weight:550;letter-spacing:.13em;text-transform:uppercase;margin:0 0 25px;color:#97afbe}.footer-grid>div:not(:first-child)>a{display:block;font-size:13px;margin:12px 0;text-decoration:none;overflow-wrap:anywhere}.footer a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;margin-top:50px;padding-top:20px;font-size:11px;color:#9fb4c1}.footer-bottom a{text-decoration:none}.inner-hero{padding:36px 0 65px;background:var(--paper)}.breadcrumb{display:block;font-size:12px;color:var(--muted);margin-bottom:35px}.inner-hero .eyebrow{color:var(--blue)}.inner-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.inner-grid:not(:has(img)){grid-template-columns:1fr}.inner-grid h1{font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.05;max-width:950px}.inner-grid p{font-size:16px;margin:27px 0;max-width:750px}.inner-grid>img{width:100%;max-height:350px;object-fit:cover;border-radius:6px}.legacy section{padding:46px 0}.legacy .conteneur{width:min(1120px,calc(100% - 96px));max-width:none;padding:0}.legacy section>.conteneur>h2{font-size:32px;padding-top:0}.legacy section>.conteneur>h2:before{display:none}.legacy p,.legacy .points{max-width:78ch;font-size:16px}.legacy h3{font-size:22px;margin-top:25px;letter-spacing:-.035em}.legacy .faq details{box-shadow:none;border-radius:5px}.legacy .faq summary{font-size:16px}.legacy .carte{box-shadow:none;border-radius:6px}.legacy .carte h3{margin-top:0}.legacy .zones a{border-radius:4px}.contact-section{padding:65px 0 95px;background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:start}.contact-copy{padding-top:16px}.contact-copy h1{font-size:clamp(3rem,5vw,5rem);margin-bottom:27px}.contact-copy h1 em{color:var(--blue)}.contact-copy>p{font-size:15px;max-width:390px}.urgent-box{border-top:1px solid #c6d4dd;border-bottom:1px solid #c6d4dd;padding:27px 0;margin:32px 0}.urgent-box .eyebrow{font-size:10px;margin-bottom:14px}.urgent-box h2{font-size:27px;margin-bottom:18px}.urgent-box>a{font-size:28px;color:var(--blue);font-weight:600;text-decoration:none;letter-spacing:-.04em}.urgent-box p{font-size:13px;max-width:350px;margin:15px 0 0}.contact-email{font-size:14px;font-weight:550;overflow-wrap:anywhere}.small{font-size:12px!important;margin-top:15px}.form-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:38px}.form-panel .eyebrow{font-size:10px;color:var(--blue);margin-bottom:15px}.form-panel h2{font-size:29px;margin-bottom:14px}.form-panel>p{font-size:13px;margin-bottom:25px}form label{display:block;font-size:12px;font-weight:600;margin-bottom:18px;color:var(--ink)}input,select,textarea{display:block;width:100%;max-width:100%;border:1px solid #c8d6df;background:#fcfdfe;padding:12px 13px;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;color:var(--ink);margin-top:7px}textarea{resize:vertical;min-height:120px}input:focus,textarea:focus,select:focus{outline:2px solid #86b6ff;outline-offset:1px;border-color:var(--blue)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-row>*{min-width:0}.privacy-note{font-size:11px;line-height:1.6}.form-panel .btn{width:100%;justify-content:space-between}#form-result{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}#form-result p{font-size:13px}.copy-button{border:1px solid var(--line);background:var(--paper);padding:10px 15px;border-radius:4px;margin-top:10px;font-size:13px}.error-page{padding:100px 0}.error-page h1{font-size:60px;margin-bottom:30px}.reveal{opacity:1;transform:none}.motion-ready .reveal.waiting{opacity:0;transform:translateY(20px)}.motion-ready .reveal{transition:opacity .65s ease,transform .65s ease}.hero-copy{animation:copy-enter .75s ease both}@keyframes copy-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes photo-enter{from{transform:scale(1.05)}to{transform:scale(1)}}
@media(min-width:1500px){.hero-visual{min-height:700px}}
@media(max-width:1150px){.wrap{width:calc(100% - 56px)}.header-inner{gap:20px}.desktop-nav{gap:18px}.desktop-nav a{font-size:12px}.header-call{font-size:12px;padding-left:16px}.brand-type{font-size:15px}.brand-type>span{font-size:7px}.hero-grid{gap:30px}.hero-visual{min-height:600px}.approach-grid,.coverage-grid,.faq-grid{gap:60px}.contact-grid{gap:45px}.service-help{padding:25px}.service-help h3{font-size:33px}}
@media(max-width:900px){.header-inner{height:77px}.desktop-nav{display:none}.header-call{margin-left:auto;border:0;font-size:13px}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero-copy h1{font-size:64px}.hero-copy .eyebrow{font-size:9px}.hero-copy>p{font-size:14px}.hero-visual{min-height:540px}.hero-copy .actions{gap:18px}.hero-copy .btn{font-size:12px;padding:13px 15px;gap:17px}.visual-bottom strong{font-size:30px}.visual-bottom{left:23px;right:23px}.visual-round{width:40px;height:40px}.audiences .wrap{gap:20px;flex-wrap:wrap}.audiences p{font-size:14px}.section-heading{gap:35px}.section-heading>p{max-width:280px;font-size:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approach-grid,.coverage-grid{gap:40px}.coverage h2{font-size:35px}.faq-grid{gap:40px;grid-template-columns:.8fr 1fr}.closing-bottom{align-items:start;flex-direction:column}.footer-grid{gap:25px}.inner-grid{gap:30px}.contact-grid{gap:30px;grid-template-columns:.8fr 1fr}.form-panel{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.contact-copy h1{font-size:52px}.urgent-box>a{font-size:24px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.topline{font-size:9px}.topline a{font-size:9px}.topline a span{display:none}.header-inner{height:72px;gap:12px}.brand-mark{font-size:35px}.brand-type{font-size:14px}.brand-type>span{font-size:6px}.brand{gap:8px}.header-call{display:none}.menu-toggle{margin-left:auto;width:42px;height:42px}.home-hero{padding:18px 0 28px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding:22px 0 0}.hero-copy h1{font-size:clamp(3.6rem,13.5vw,5.2rem);line-height:1}.hero-copy .eyebrow{font-size:9px;margin-bottom:22px}.hero-copy>p{font-size:15px}.hero-copy .actions{gap:20px}.hero-copy .btn{font-size:13px;padding:14px 18px}.hero-note{margin-top:26px;padding-top:17px}.hero-visual{min-height:380px;max-height:480px;aspect-ratio:1.04}.hero-visual>img{object-position:center 55%}.visual-top{top:20px;left:20px;font-size:8px}.visual-bottom{bottom:25px;left:24px;right:24px}.visual-bottom strong{font-size:34px}.audiences{padding:23px 0}.audiences .wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px}.audiences span{grid-column:1/-1;font-size:9px;margin-bottom:4px}.audiences span br{display:none}.audiences p{font-size:14px}.services-section,.coverage,.questions{padding:65px 0}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:38px}.section-heading>p{max-width:100%;margin-top:22px;font-size:14px}.eyebrow{font-size:9px;margin-bottom:20px}.service-grid{grid-template-columns:1fr;gap:30px}.service-photo{aspect-ratio:1.65}.service-text h3{font-size:23px}.service-text p{min-height:0;font-size:14px}.service-help{padding:30px}.service-help h3{font-size:40px}.service-help p{max-width:270px}.service-help>a{margin-top:12px}.approach{padding:65px 0}.approach-grid,.coverage-grid,.faq-grid{grid-template-columns:1fr;gap:38px}.approach h2{font-size:44px}.approach-heading>p{margin-top:23px}.steps article{gap:23px;padding:24px 0}.steps h3{font-size:24px}.coverage h2{font-size:36px}.coverage p{font-size:14px}.region-list a{font-size:18px;padding:21px 0}.questions h2{font-size:38px}.faq-grid{gap:15px}.faq-items summary{font-size:15px;padding:22px 0}.faq-items p{font-size:14px}.closing{padding:57px 0}.closing h2{font-size:39px;margin-bottom:28px}.closing .actions{gap:12px;align-items:stretch;flex-direction:column;width:100%}.closing .btn{justify-content:space-between;width:100%}.closing-bottom{gap:28px}.footer{padding:48px 0 98px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{min-width:0}.footer-grid>div:not(:first-child)>a{font-size:12px}.footer h2{font-size:9px;line-height:1.5}.footer-bottom{font-size:9px;gap:20px;align-items:start;margin-top:35px}.mobile-actions{display:flex;position:fixed;z-index:70;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:9px}.mobile-actions a{flex:1;font-size:12px;text-decoration:none;text-align:center;padding:13px 4px;background:var(--orange);border-radius:4px;font-weight:650}.mobile-actions a:last-child{background:var(--ink);color:#fff}.inner-hero{padding:24px 0 40px}.breadcrumb{margin-bottom:25px}.inner-grid{grid-template-columns:1fr;gap:28px}.inner-grid h1{font-size:40px}.inner-grid p{font-size:15px}.inner-grid>img{max-height:260px;aspect-ratio:1.6}.inner-grid .actions{gap:18px}.legacy .conteneur{width:calc(100% - 40px)}.legacy section{padding:35px 0}.legacy section>.conteneur>h2{font-size:28px}.legacy p,.legacy .points{font-size:15px}.legacy .faq summary{font-size:15px}.contact-section{padding:40px 0 60px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-copy h1{font-size:54px}.contact-copy>p{max-width:100%}.urgent-box{margin:25px 0}.form-panel{padding:25px 20px}.form-panel h2{font-size:27px}input,select,textarea{font-size:16px}.error-page h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal.waiting{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.header,.topline,.mobile-actions,.footer,.closing{display:none}.motion-ready .reveal.waiting{opacity:1;transform:none}.wrap{width:100%}.hero-grid{display:block}.hero-visual{display:none}}
/* Logo d’origine, urgence et couverture francilienne */
.brand .original-logo{display:block;width:268px;height:auto;max-width:100%;object-fit:contain}.header-inner{gap:26px}.desktop-nav{gap:20px}.desktop-nav a{font-size:13px}.nav-emergency{color:#b13b12;font-weight:700!important}.original-footer-logo{display:inline-block;background:#fff;border-radius:5px;padding:12px 14px;max-width:100%;width:290px;line-height:0}.original-footer-logo .original-logo{display:block;width:100%;height:auto}.footer .footer-coverage{color:#d9e3e9;font-size:13px}.footer .footer-address{font-size:12px}.hero-copy h1{font-size:clamp(3.5rem,5.4vw,5.25rem);line-height:1.04}.hero-copy>p{max-width:43ch}.hero-copy>p strong{color:var(--ink);font-weight:650}.hero-copy .actions{gap:22px}.hero-emergency{min-width:232px;text-align:left}.hero-emergency>span:first-child{font-size:21px;letter-spacing:-.035em}.hero-emergency small{display:block;font-size:10px;letter-spacing:.07em;margin-bottom:3px}.hero-copy .note-index{font-size:15px;line-height:1.3}.audiences p.audience-primary{color:var(--blue);font-weight:700}.emergency-band{padding:28px 0;background:#fff5ef;border-bottom:1px solid #f3ddd0}.emergency-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.emergency-band .eyebrow{font-size:10px;letter-spacing:.09em;color:#993611;margin-bottom:8px}.emergency-band h2{font-size:27px;margin-bottom:7px}.emergency-band p{font-size:14px;margin:0;max-width:620px}.emergency-band .btn{flex-shrink:0}.department-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.department-list a{font-size:15px;gap:12px;padding:24px 0;min-width:0;align-items:center;line-height:1.4}.department-list a:nth-child(2){border-top:1px solid #cbd8e0}.department-list .region-code{font-size:13px;flex-shrink:0}.department-section{padding:70px 0}.department-section h2{margin-bottom:35px}.department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.department-card{padding:27px 23px;background:var(--paper);border:1px solid var(--line);border-radius:6px;scroll-margin-top:110px;display:flex;flex-direction:column}.department-card:target{outline:2px solid var(--blue);outline-offset:3px}.department-number{color:var(--blue);font-size:35px;font-weight:600;letter-spacing:-.06em;line-height:1.2}.department-card h3{font-size:21px;margin:20px 0 12px;line-height:1.2}.department-card p{font-size:14px;line-height:1.7;margin-bottom:25px}.department-card a{margin-top:auto;font-size:13px;text-decoration:none;font-weight:600;display:flex;justify-content:space-between;gap:15px}.department-card a:hover{color:var(--blue)}.department-note{font-size:14px;margin:25px 0 0}.city-links-section{padding:25px 0 65px}.city-links-section h2{font-size:27px;margin-bottom:23px}.closing h2{font-size:clamp(2.5rem,4.5vw,4.1rem)}
@media(max-width:1150px){.brand .original-logo{width:228px}.header-inner{gap:20px}.desktop-nav{gap:14px}.desktop-nav a{font-size:12px}.header-call{padding-left:14px}.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.emergency-band .btn{font-size:12px;gap:15px}.emergency-band p{font-size:13px}.hero-emergency{min-width:215px}}
@media(max-width:1000px){.desktop-nav{display:none}.header-call{margin-left:auto;border:0}.menu-toggle{display:block}.department-list{grid-template-columns:1fr;gap:0}.department-list a:nth-child(2){border-top:0}.department-list a{padding:17px 0}.emergency-band .wrap{align-items:flex-start;flex-direction:column;gap:20px}.hero-copy h1{font-size:58px}.hero-copy .actions{align-items:flex-start;gap:17px}.hero-emergency>span:first-child{font-size:19px}.hero-visual{min-height:565px}}
@media(max-width:650px){.brand .original-logo{width:245px;max-width:calc(100vw - 112px)}.header-inner{gap:15px}.topline .wrap{width:calc(100% - 30px);align-items:center;gap:14px}.topline span{font-size:9px;max-width:190px;line-height:1.4}.topline a{font-size:10px;line-height:1.4;max-width:110px;text-align:right;flex-shrink:0}.hero-copy h1{font-size:clamp(2.75rem,11.2vw,4.1rem);line-height:1.04;letter-spacing:-.055em}.hero-copy .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.055em}.hero-copy>p{font-size:16px}.hero-copy .actions{gap:20px}.hero-copy .hero-emergency{padding:13px 17px;min-width:230px}.hero-emergency>span:first-child{font-size:21px}.hero-emergency small{font-size:9px}.hero-copy .actions .text-link{font-size:14px}.hero-visual{min-height:370px}.audiences .wrap{gap:16px 15px}.audiences p{font-size:14px;line-height:1.4}.emergency-band{padding:26px 0}.emergency-band .eyebrow{font-size:9px;line-height:1.7}.emergency-band h2{font-size:26px}.emergency-band p{font-size:14px}.emergency-band .btn{width:100%;justify-content:space-between;font-size:13px}.coverage h2{font-size:34px}.department-list{grid-template-columns:1fr 1fr;column-gap:18px}.department-list a{font-size:13px;gap:8px;flex-wrap:wrap;align-content:center;min-height:81px;padding:15px 0}.department-list a:nth-child(2){border-top:1px solid #cbd8e0}.department-list .region-code{width:100%;font-size:12px}.department-list a>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.department-list a>span:last-child{margin-left:0}.department-section{padding:45px 0}.department-section h2{font-size:33px}.department-grid{grid-template-columns:1fr;gap:17px}.department-card{padding:24px}.department-card h3{font-size:25px;margin-top:12px}.department-card p{font-size:15px}.department-card a{font-size:14px}.city-links-section{padding-bottom:45px}.city-links-section h2{font-size:26px}.closing h2{font-size:35px}.footer .original-footer-logo{width:285px}.footer-grid>div:last-child{grid-column:1/-1}}
/* Photos de terrain et navigation SEO */
.field-section{padding:80px 0;background:var(--paper)}.field-section .section-heading{margin-bottom:32px}.field-section h2{font-size:clamp(2.2rem,3.6vw,3.25rem)}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.field-card{margin:0;min-width:0}.field-photo{overflow:hidden;aspect-ratio:4/3;border-radius:6px;background:#dce5e9}.field-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.field-card figcaption{padding:20px 0 0}.field-card h3{font-size:21px;line-height:1.25;margin:0 0 9px;letter-spacing:-.035em}.field-card p{font-size:15px;line-height:1.65;margin:0}.field-grid:has(>.field-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.illustration-tag{position:absolute;left:15px;bottom:15px;font-size:11px;color:var(--ink);background:#fffffff0;border-radius:3px;padding:3px 8px}.service-hero-figure{margin:0;min-width:0}.service-hero-figure img{width:100%;max-height:350px;object-fit:cover;border-radius:6px}.service-hero-figure figcaption{font-size:12px;color:var(--muted);padding-top:10px}.inner-grid>img.service-hero-photo{max-height:390px;aspect-ratio:1;object-position:center}.seo-breadcrumb{font-size:14px;line-height:1.5}.seo-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;gap:9px;flex-wrap:wrap}.seo-breadcrumb li{display:inline-flex;align-items:center;gap:9px}.seo-breadcrumb li:not(:last-child)::after{content:'/';color:#92a6b3}.seo-breadcrumb a{color:var(--muted);text-decoration:none}.seo-breadcrumb a:hover{color:var(--blue);text-decoration:underline}.seo-breadcrumb [aria-current]{color:var(--ink)}.local-help{background:#fff}.legacy .local-help h2{font-size:30px}.legacy .local-help p{font-size:16px}.approach p a{color:#d8e8ff;text-decoration:underline}.footer .footer-hours{font-size:12px;color:#d1dfe8;margin-bottom:23px}.related-services{padding:65px 0;background:#fff}.related-services h2{font-size:29px;margin-bottom:25px}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.related-grid a{border:1px solid var(--line);border-radius:6px;padding:25px;text-decoration:none;display:block}.related-grid a:hover{border-color:var(--blue)}.related-grid h3{font-size:21px;margin:0 0 12px;line-height:1.3}.related-grid p{font-size:15px;margin:0;line-height:1.65}.hero-visual>img[src^='/photos/']{filter:brightness(.94);object-position:48% center}
@media(max-width:900px){.field-section{padding:65px 0}.field-grid{gap:22px}.field-card h3{font-size:19px}.field-card p{font-size:14px}}
@media(max-width:650px){.field-section{padding:55px 0}.field-section h2{font-size:35px}.field-grid,.field-grid:has(>.field-card:nth-child(2):last-child),.related-grid{grid-template-columns:1fr;gap:30px}.field-photo{aspect-ratio:4/3}.field-card h3{font-size:23px}.field-card p{font-size:15px}.field-card figcaption{padding-top:17px}.service-hero-figure img{max-height:260px;aspect-ratio:1.6}.inner-grid>img.service-hero-photo{max-height:290px;aspect-ratio:1.35}.seo-breadcrumb{font-size:13px;margin-bottom:24px}.legacy .local-help h2{font-size:27px}.related-services{padding:45px 0}.related-services h2{font-size:27px}.related-grid h3{font-size:22px}}
