@charset "UTF-8";


@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/fraunces-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/fraunces-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {

  --bleu-nuit:        #0F1D33;  
  --bleu-moyen:       #16294A;  
  --bleu-clair:       #26405F;  

  --anthracite:       #2A2F36;  
  --gris-texte:       #4A5260;  
  --gris-secondaire:  #666C7A;  

  --bronze:           #84673B;  
  --bronze-moyen:     #A8854A;  
  --bronze-clair:     #C6A464;  

  --blanc-casse:      #FAF9F6;  
  --gris-tres-clair:  #F1F0EC;  
  --bordure:          #E4E1D9;  

  --succes:           #2F6B4F;  
  --erreur:           #A63232;  
  --focus:            #A8854A;  

  --police-titre: Fraunces, Georgia, "Times New Roman", serif;
  --police-texte: Inter, -apple-system, "Segoe UI", Roboto, sans-serif;

  --t-h1:      clamp(2rem, 1.45rem + 2.60vw, 3.25rem);       
  --t-h2:      clamp(1.625rem, 1.30rem + 1.45vw, 2.25rem);   
  --t-h3:      clamp(1.25rem,  1.14rem + 0.55vw, 1.5rem);    
  --t-h4:      clamp(1.125rem, 1.11rem + 0.08vw, 1.1875rem); 
  --t-chapo:   clamp(1.125rem, 1.05rem + 0.35vw, 1.25rem);   
  --t-corps:   clamp(1.0625rem, 1.03rem + 0.17vw, 1.125rem); 
  --t-petit:   1rem;                                          
  --t-surtitre: clamp(0.6875rem, 0.66rem + 0.10vw, 0.75rem);  
  --t-chiffre: clamp(2.5rem, 1.9rem + 2.6vw, 4rem);           

  --interligne-corps: 1.65;
  --interligne-titre: 1.15;
  --mesure: 68ch;               

  --esp-1: 0.25rem;   
  --esp-2: 0.5rem;    
  --esp-3: 0.75rem;   
  --esp-4: 1rem;      
  --esp-5: 1.5rem;    
  --esp-6: 2rem;      
  --esp-7: 3rem;      
  --esp-8: 4rem;      
  --esp-9: 6rem;      
  --esp-10: 8rem;     

  --section-y:    clamp(3rem, 6vw, 6.5rem);
  --contenu-max:  75rem;                        
  --gouttiere:    clamp(1.25rem, 4vw, 3rem);

  --r-xs: 2px;
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 12px;

  --ombre-1: 0 1px 2px rgba(15, 29, 51, 0.04);
  --ombre-2: 0 2px 8px rgba(15, 29, 51, 0.06);
  --ombre-3: 0 6px 20px rgba(15, 29, 51, 0.08);

  --entete-h: 68px;             
  --entete-h-condensee: 58px;   

  --courbe: cubic-bezier(0.22, 0.61, 0.36, 1);
  --duree-courte: 180ms;
  --duree-moyenne: 320ms;
  --duree-longue: 500ms;

  color-scheme: only light;
}

@media (min-width: 1024px) {
  :root {
    --entete-h: 84px;
    --entete-h-condensee: 64px;
  }
}


*,
*::before,
*::after { box-sizing: border-box; }

* { margin: 0; }

[hidden] { display: none !important; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--entete-h) + var(--esp-4));
}

body {
  background-color: var(--blanc-casse);
  color: var(--gris-texte);
  font-family: var(--police-texte);
  font-size: var(--t-corps);
  font-weight: 400;
  line-height: var(--interligne-corps);
  min-height: 100vh;
  overflow-x: hidden;          
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.defilement-bloque { overflow: hidden; }

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button { cursor: pointer; }

ul, ol { padding-inline-start: 0; list-style: none; }

a { color: var(--bleu-clair); }

hr {
  border: 0;
  border-top: 1px solid var(--bordure);
  margin-block: var(--esp-7);
}


.lien-evitement {
  position: absolute;
  inset-block-start: -100px;
  inset-inline-start: var(--esp-4);
  z-index: 200;
  background-color: var(--bronze);   
  color: var(--blanc-casse);
  padding: var(--esp-3) var(--esp-5);
  border-radius: var(--r-sm);
  text-decoration: none;
  font-size: var(--t-petit);
  transition: inset-block-start var(--duree-courte) var(--courbe);
}

.lien-evitement:focus { inset-block-start: var(--esp-2); }

#contenu {
  scroll-margin-block-start: var(--entete-h);
}

:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: var(--r-xs);
}

.visuellement-cache {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}


h1, h2, h3, h4 {
  font-family: var(--police-titre);
  color: var(--bleu-nuit);
  font-weight: 600;
  line-height: var(--interligne-titre);
  text-wrap: balance;
}

h1 {
  font-size: var(--t-h1);
  letter-spacing: -0.005em;
  font-variation-settings: "opsz" 96;   
}

h2 {
  font-size: var(--t-h2);
  letter-spacing: -0.005em;
}

h3 {
  font-size: var(--t-h3);
  font-weight: 500;
  letter-spacing: 0;
}

h4 {
  font-size: var(--t-h4);
  font-weight: 500;
  letter-spacing: 0;
}

p, li { max-width: var(--mesure); }

p + p { margin-block-start: var(--esp-4); }

strong { font-weight: 500; color: var(--anthracite); }

.chapo {
  font-size: var(--t-chapo);
  line-height: 1.55;
  color: var(--gris-texte);
}

.legende {
  font-size: var(--t-petit);
  color: var(--gris-secondaire);
  line-height: 1.5;
}

@media (min-width: 768px) {
  .legende { font-size: 0.9375rem; }
}

.surtitre {
  display: block;
  font-family: var(--police-texte);
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
  margin-block-end: var(--esp-4);
}

.surtitre--filet { display: flex; align-items: center; gap: var(--esp-3); }

.surtitre--filet::before {
  content: "";
  inline-size: 40px;
  block-size: 2px;
  background-color: var(--bronze-moyen);
  flex: none;
}


.surtitre--sans-marge { margin-block-end: 0; }

.espace-4 { margin-block-start: var(--esp-4); }
.espace-5 { margin-block-start: var(--esp-5); }
.espace-6 { margin-block-start: var(--esp-6); }
.espace-7 { margin-block-start: var(--esp-7); }
.espace-8 { margin-block-start: var(--esp-8); }

.liste-puces { display: grid; gap: var(--esp-3); }

.liste-puces > li {
  position: relative;
  padding-inline-start: var(--esp-5);
}

.liste-puces > li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  inline-size: 8px;
  block-size: 1px;
  background-color: var(--bronze-moyen);
}

.lien {
  color: var(--bleu-clair);
  text-decoration: none;
  background-image: linear-gradient(var(--bronze-moyen), var(--bronze-moyen));
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: 0 100%;
  transition: background-size var(--duree-moyenne) var(--courbe);
  padding-block-end: 2px;
}

.lien:hover,
.lien:focus-visible { background-size: 100% 1px; }

p .lien, li .lien { background-size: 100% 1px; }

p .lien:hover, li .lien:hover { color: var(--bleu-nuit); }

.lien-fleche {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-2);
  color: var(--bleu-nuit);
  font-weight: 500;
  font-size: var(--t-petit);
  text-decoration: none;
}

.lien-fleche::after {
  content: "";
  inline-size: 8px;
  block-size: 8px;
  border-block-start: 1.5px solid var(--bronze);
  border-inline-end: 1.5px solid var(--bronze);
  transform: rotate(45deg);
  transition: transform var(--duree-courte) var(--courbe);
}

.lien-fleche:hover::after,
.lien-fleche:focus-visible::after { transform: rotate(45deg) translate(2px, -2px); }


.conteneur {
  inline-size: 100%;
  max-inline-size: var(--contenu-max);
  margin-inline: auto;
  padding-inline: var(--gouttiere);
}

.conteneur--etroit { max-inline-size: 56rem; }

.section { padding-block: var(--section-y); }

.section--alternee { background-color: var(--gris-tres-clair); }

.section--filet { border-block-start: 1px solid var(--bordure); }

.section__entete { margin-block-end: var(--esp-7); }

.section__entete .chapo { margin-block-start: var(--esp-4); }


.section-eyebrow {
  display: block;
  font-family: var(--police-texte);
  font-size: 0.6875rem;            
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bronze);
  max-inline-size: none;           
  margin: 0;
}

.section-eyebrow::after {
  content: "";
  display: block;
  inline-size: 64px;
  block-size: 1px;
  margin-block-start: var(--esp-4);
  background-color: var(--bronze-moyen);
}

.section-title {
  font-family: var(--police-titre);
  font-size: clamp(1.55rem, 2.3vw, 2.05rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--bleu-nuit);
  max-inline-size: 18ch;
  margin-block: var(--esp-5) 0;
}

.grille-editoriale { display: grid; gap: var(--esp-6); }

body:has(.bandeau) .grille-editoriale h3 { margin-block-end: var(--esp-2); }
body:has(.bandeau) .grille-editoriale p + h3 { margin-block-start: var(--esp-6); }

@media (min-width: 1024px) {
  .grille-editoriale {
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: var(--esp-8);
    align-items: start;
  }
  .grille-editoriale .section__entete { margin-block-end: 0; }
}

.grille { display: grid; gap: var(--esp-5); }

@media (min-width: 768px) {
  .grille { gap: var(--esp-6); }
  .grille--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grille--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grille--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .grille--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grille--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


.bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-2);
  min-block-size: 44px;                 
  padding: var(--esp-3) var(--esp-5);
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  font-family: var(--police-texte);
  font-size: var(--t-petit);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--duree-courte) var(--courbe),
    border-color var(--duree-courte) var(--courbe),
    color var(--duree-courte) var(--courbe),
    transform var(--duree-courte) var(--courbe),
    box-shadow var(--duree-courte) var(--courbe);
}

.bouton:active { transform: translateY(1px); }

.bouton--principal {
  background-color: var(--bronze);
  color: var(--blanc-casse);
  border-color: var(--bronze);
}

.bouton--principal:hover,
.bouton--principal:focus-visible {
  background-color: #7A5F36;
  border-color: #7A5F36;
  box-shadow: var(--ombre-2);
  transform: translateY(-1px);
}

.bouton--principal:active { transform: translateY(0); box-shadow: none; }

.bouton--secondaire {
  background-color: transparent;
  color: var(--bleu-nuit);
  border-color: var(--bleu-nuit);
}

.bouton--secondaire:hover,
.bouton--secondaire:focus-visible {
  background-color: var(--bleu-nuit);
  color: var(--blanc-casse);
  transform: translateY(-1px);
}

.bouton--secondaire:active { transform: translateY(0); }

.bouton--clair {
  background-color: transparent;
  color: var(--blanc-casse);
  border-color: rgba(250, 249, 246, 0.5);
}

.bouton--clair:hover,
.bouton--clair:focus-visible {
  background-color: var(--blanc-casse);
  color: var(--bleu-nuit);
  border-color: var(--blanc-casse);
  transform: translateY(-1px);
}

.bouton--clair:active { transform: translateY(0); }


.bouton--sombre {
  background-color: transparent;
  color: var(--blanc-casse);
  border-color: var(--bronze-clair);
}

.bouton--sombre:hover,
.bouton--sombre:focus-visible {
  background-color: var(--bronze-clair);
  color: var(--bleu-nuit);
  transform: translateY(-1px);
}

.bouton--compact {
  min-block-size: 40px;
  padding: var(--esp-2) var(--esp-4);
  font-size: 0.9375rem;
}

.groupe-boutons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-3);
  margin-block-start: var(--esp-6);
}

@media (max-width: 479px) {
  .groupe-boutons .bouton { inline-size: 100%; }
}


.entete {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 100;
  block-size: var(--entete-h);
  display: flex;
  align-items: center;
  background-color: rgba(15, 29, 51, 0.94);
  backdrop-filter: saturate(180%) blur(10px);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  border-block-end: 1px solid rgba(198, 164, 100, 0.35);
  transition:
    block-size var(--duree-moyenne) var(--courbe),
    background-color var(--duree-moyenne) var(--courbe),
    border-color var(--duree-moyenne) var(--courbe),
    box-shadow var(--duree-moyenne) var(--courbe);
}

.entete.est-condensee {
  block-size: var(--entete-h-condensee);
  background-color: var(--bleu-nuit);
  border-block-end-color: rgba(198, 164, 100, 0.55);
  box-shadow: var(--ombre-3);
}

.entete__inner {
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: var(--contenu-max);
  margin-inline: auto;
  padding-inline: var(--gouttiere);
  display: flex;
  align-items: center;
  gap: var(--esp-4);
}

.entete__logo {
  display: inline-flex;
  align-items: center;
  flex: none;
  margin-inline-end: auto;
  padding: var(--esp-2);
  margin-inline-start: calc(var(--esp-2) * -1);
  border-radius: var(--r-xs);
}

.entete__logo .logo-entete {
  block-size: 32px;
  inline-size: auto;
  transition: block-size var(--duree-moyenne) var(--courbe);
}

.entete.est-condensee .entete__logo .logo-entete { block-size: 26px; }

.nav-principale { display: none; }

@media (min-width: 1200px) {
  .nav-principale { display: block; block-size: 100%; }

  .nav-liste {
    display: flex;
    align-items: center;
    block-size: 100%;
    gap: var(--esp-4);
  }

  .nav-liste > li {
    position: static;
    display: flex;
    align-items: center;
    block-size: 100%;
    max-width: none;
  }
}

@media (min-width: 1360px) {
  .nav-liste { gap: var(--esp-5); }
}

.nav-liste > li > a {
  position: relative;
  display: inline-block;
  padding-block: var(--esp-2);
  color: var(--blanc-casse);        
  font-size: 0.9375rem;
  font-weight: 400;
  text-decoration: none;
}

.nav-liste > li > a::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 0;
  block-size: 1px;
  background-color: var(--bronze-clair);
  transition: inline-size var(--duree-moyenne) var(--courbe);
}

.nav-liste > li > a:hover::after,
.nav-liste > li > a:focus-visible::after { inline-size: 100%; }

.nav-liste > li > a[aria-current="page"] { font-weight: 500; color: var(--bronze-clair); }
.nav-liste > li > a[aria-current="page"]::after { inline-size: 100%; }


.nav-bascule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 28px;
  block-size: 44px;
  padding: 0;
  background-color: transparent;
  border: 0;
}

.nav-bascule::after {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-block-end: 1.5px solid var(--bronze-clair);
  border-inline-end: 1.5px solid var(--bronze-clair);
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform var(--duree-courte) var(--courbe);
}

.nav-item-menu:hover .nav-bascule::after,
.nav-item-menu.est-ouvert .nav-bascule::after {
  transform: rotate(-135deg) translate(-1px, -1px);
}

.sous-menu {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: 0;
  z-index: 120;
  background-color: var(--bleu-nuit);
  border-block-end: 1px solid rgba(198, 164, 100, 0.35);
  box-shadow: var(--ombre-3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity var(--duree-moyenne) var(--courbe),
              transform var(--duree-moyenne) var(--courbe),
              visibility var(--duree-moyenne) var(--courbe);
}

.nav-item-menu:hover > .sous-menu,
.nav-item-menu:focus-within > .sous-menu,
.nav-item-menu.est-ouvert > .sous-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sous-menu__inner {
  max-inline-size: var(--contenu-max);
  margin-inline: auto;
  padding: var(--esp-6) var(--gouttiere) var(--esp-7);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--esp-5);
}

.sous-menu__titre {
  grid-column: 1 / -1;
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze-clair);
  margin-block-end: calc(var(--esp-2) * -1);
}

.sous-menu__famille { min-inline-size: 0; }

.sous-menu__famille-titre {
  display: block;
  padding-block: var(--esp-3);
  margin-block-end: var(--esp-2);
  border-block-start: 2px solid var(--bronze-moyen);
  color: var(--blanc-casse);
  font-family: var(--police-titre);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  transition: border-color var(--duree-courte) var(--courbe),
              color var(--duree-courte) var(--courbe);
}

.sous-menu__famille-titre:hover,
.sous-menu__famille-titre:focus-visible {
  border-block-start-color: var(--bronze-clair);
  color: var(--bronze-clair);
}

.sous-menu__famille ul { display: grid; }

.sous-menu__famille li { max-width: none; }

.sous-menu__famille li a {
  display: block;
  padding: var(--esp-2) var(--esp-3);
  margin-inline-start: calc(var(--esp-3) * -1);
  border-inline-start: 2px solid transparent;
  color: #9AA3B2;                   
  font-size: 0.875rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--duree-courte) var(--courbe),
              border-color var(--duree-courte) var(--courbe),
              background-color var(--duree-courte) var(--courbe);
}

.sous-menu__famille li a:hover,
.sous-menu__famille li a:focus-visible {
  color: var(--blanc-casse);
  border-inline-start-color: var(--bronze-clair);
  background-color: rgba(198, 164, 100, 0.08);
}

.entete__actions {
  display: flex;
  align-items: center;
  gap: var(--esp-3);
  flex: none;
}

.entete__tel { display: none; }

@media (min-width: 900px) {
  .entete__tel {
    display: inline-flex;
    align-items: center;
    min-block-size: 44px;
    padding-inline: var(--esp-2) var(--esp-4);
    border-inline-end: 1px solid rgba(198, 164, 100, 0.30);
    color: #C9D0DA;                 
    font-size: 0.9375rem;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--duree-courte) var(--courbe);
  }

  .entete__tel:hover,
  .entete__tel:focus-visible { color: var(--blanc-casse); }
}

.entete__cta {
  display: none;
  background-color: transparent;
  color: var(--blanc-casse);
  border-color: var(--bronze-clair);
}

@media (min-width: 768px) { .entete__cta { display: inline-flex; } }

.entete__cta:hover,
.entete__cta:focus-visible {
  background-color: rgba(198, 164, 100, 0.16);
  border-color: var(--bronze-clair);
  color: var(--blanc-casse);
  transform: translateY(-1px);
}

.entete.cta-plein .entete__cta {
  background-color: var(--bronze);
  border-color: var(--bronze);
  color: var(--blanc-casse);
}

.entete.cta-plein .entete__cta:hover,
.entete.cta-plein .entete__cta:focus-visible {
  background-color: #7A5F36;
  border-color: #7A5F36;
  box-shadow: var(--ombre-2);
}


.langue { position: relative; flex: none; }

.langue > summary {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-1);
  min-block-size: 44px;
  min-inline-size: 44px;
  padding-inline: var(--esp-2);
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #C9D0DA;                   
  cursor: pointer;
  list-style: none;
  border-radius: var(--r-sm);
}

.langue > summary::-webkit-details-marker { display: none; }

.langue > summary::after {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-block-end: 1.5px solid #9AA3B2;
  border-inline-end: 1.5px solid #9AA3B2;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform var(--duree-courte) var(--courbe);
}

.langue[open] > summary::after { transform: rotate(-135deg) translate(-2px, -2px); }

.langue__panneau {
  position: absolute;
  inset-block-start: calc(100% + var(--esp-2));
  inset-inline-end: 0;
  z-index: 110;
  inline-size: 15rem;
  padding: var(--esp-4);
  background-color: var(--blanc-casse);
  border: 1px solid var(--bordure);
  border-radius: var(--r-md);
  box-shadow: var(--ombre-3);
}

.langue__liste { display: flex; flex-wrap: wrap; gap: var(--esp-2); }

.langue__choix {
  min-block-size: 36px;
  min-inline-size: 44px;
  padding: var(--esp-2) var(--esp-3);
  background-color: transparent;
  border: 1px solid var(--bordure);
  border-radius: var(--r-sm);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--gris-texte);
  transition: border-color var(--duree-courte) var(--courbe);
}

.langue__choix:hover { border-color: var(--bronze-moyen); }

.langue__choix[aria-current="true"] {
  background-color: var(--bleu-nuit);
  border-color: var(--bleu-nuit);
  color: var(--blanc-casse);
}

.langue__message {
  margin-block-start: var(--esp-3);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--gris-texte);
}


.burger {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  inline-size: 44px;
  block-size: 44px;
  padding: 0 10px;
  background-color: transparent;
  border: 0;
  border-radius: var(--r-sm);
}

@media (min-width: 1200px) { .burger { display: none; } }

.burger span {
  display: block;
  block-size: 1.5px;
  inline-size: 100%;
  background-color: var(--blanc-casse);
  transition: transform var(--duree-moyenne) var(--courbe),
              opacity var(--duree-courte) var(--courbe);
}

.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }


.voile {
  position: fixed;
  inset: 0;
  z-index: 120;
  background-color: rgba(15, 29, 51, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--duree-moyenne) var(--courbe),
              visibility var(--duree-moyenne) var(--courbe);
}

.voile.est-ouvert { opacity: 1; visibility: visible; }


.voile-consentement {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: var(--esp-5);
  background-color: rgba(15, 29, 51, 0.6);
}

.consentement {
  inline-size: min(100%, 34rem);
  max-block-size: calc(100vh - 2 * var(--esp-5));
  overflow-y: auto;
  padding: var(--esp-6);
  background-color: var(--blanc-casse);
  border-inline-start: 2px solid var(--bronze-moyen);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  box-shadow: var(--ombre-3);
}

.consentement__titre {
  font-size: var(--t-h4);
  margin-block-end: var(--esp-4);
}

.consentement p { font-size: var(--t-petit); }
.consentement p + p { margin-block-start: var(--esp-3); }
.consentement .groupe-boutons { margin-block-start: var(--esp-5); }
.consentement__note { margin-block-start: var(--esp-5); }

.panneau-mobile {
  position: fixed;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: 130;
  inline-size: min(88vw, 24rem);
  padding: var(--esp-6) var(--esp-5) var(--esp-8);
  background-color: var(--blanc-casse);
  border-inline-start: 1px solid var(--bordure);
  box-shadow: var(--ombre-3);
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform var(--duree-moyenne) var(--courbe),
              visibility var(--duree-moyenne) var(--courbe);
}

.panneau-mobile.est-ouvert { transform: translateX(0); visibility: visible; }

@media (min-width: 1200px) {
  .panneau-mobile,
  .voile { display: none; }
}

.panneau-mobile__entete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-4);
  margin-block-end: var(--esp-6);
}

.panneau-mobile__fermer {
  inline-size: 44px;
  block-size: 44px;
  background-color: transparent;
  border: 1px solid var(--bordure);
  border-radius: var(--r-sm);
  color: var(--bleu-nuit);
  font-size: 1.25rem;
  line-height: 1;
}

.panneau-mobile__fermer:hover { border-color: var(--bronze-moyen); }

.panneau-mobile nav ul { display: grid; gap: var(--esp-1); }

.panneau-mobile nav a {
  display: block;
  padding: var(--esp-3) 0;
  min-block-size: 44px;
  border-block-end: 1px solid var(--bordure);
  color: var(--bleu-nuit);
  font-family: var(--police-titre);
  font-size: 1.25rem;
  font-weight: 500;
  text-decoration: none;
}

.panneau-mobile nav a[aria-current="page"] { color: var(--bronze); }

.panneau-mobile__sous-liste {
  margin-block: var(--esp-2) var(--esp-4);
  padding-inline-start: var(--esp-4);
  border-inline-start: 1px solid var(--bordure);
}

.panneau-mobile__sous-liste a {
  display: flex;
  align-items: center;
  min-block-size: 44px;
  padding-block: var(--esp-2);
  border-block-end: 0;
  font-family: var(--police-texte);
  font-size: var(--t-petit);
  font-weight: 400;
  color: var(--gris-texte);
}

.panneau-mobile__sous-liste a:hover { color: var(--bleu-nuit); }

.panneau-mobile__pied {
  margin-block-start: var(--esp-6);
  display: grid;
  gap: var(--esp-3);
}

.panneau-mobile__pied .bouton { inline-size: 100%; }


.progression {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 140;
  block-size: 2px;
  background-color: var(--bronze-moyen);
  transform: scaleX(0);
  transform-origin: 0 50%;
  will-change: transform;
  pointer-events: none;
}


.contenu-principal { padding-block-start: var(--entete-h); }


.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;              
  overflow: hidden;
  isolation: isolate;

  margin-block-start: calc(var(--entete-h) * -1);
  padding-block-start: var(--entete-h);
  min-block-size: 86vh;
  min-block-size: 86svh;            

  background-color: var(--bleu-nuit);
  background-image: linear-gradient(100deg, #0B1729 0%, #1B3557 100%);
}


.hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.hero__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 40% 50%;
  filter: saturate(0.52) contrast(1.03) brightness(1);
}

.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(100deg,
      rgba(15, 29, 51, 0.93) 0%,
      rgba(15, 29, 51, 0.88) 26%,
      rgba(15, 29, 51, 0.74) 52%,
      rgba(15, 29, 51, 0.66) 62%,
      rgba(15, 29, 51, 0.22) 78%,
      rgba(15, 29, 51, 0.10) 100%),
    linear-gradient(180deg,
      rgba(15, 29, 51, 0.40) 0%,
      rgba(15, 29, 51, 0) 20%);
}


.hero__inner {
  position: relative;
  z-index: 1;
  inline-size: 100%;
  min-inline-size: 0;
  display: grid;
  grid-template-columns: minmax(0, 100%);
  padding-inline: max(
    clamp(1.5rem, 5vw, 5rem),
    calc((100% - var(--contenu-max)) / 2 + var(--gouttiere)));
  padding-block: var(--esp-6);
}

@media (min-width: 900px) {
  .hero__inner { grid-template-columns: minmax(0, min(52vw, 100%)); }
}

.hero__surtitre {
  margin: 0;
  justify-self: start;
  font-family: var(--police-texte);
  font-weight: 500;
  font-size: 11px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--bronze-clair);
}

.hero__filet {
  justify-self: start;
  inline-size: 64px;
  block-size: 1px;
  margin: var(--esp-5) 0 var(--esp-6);
  border: 0;
  background-color: var(--bronze-clair);
}

.hero h1 {
  margin: 0 0 var(--esp-5);
  font-family: var(--police-titre);
  font-weight: 500;
  font-size: clamp(2.1rem, 3.9vw, 3.5rem);
  line-height: 1.12;
  letter-spacing: -0.012em;
  color: var(--blanc-casse);
  max-inline-size: min(20ch, 100%);
}

.hero .chapo {
  margin: 0;
  font-family: var(--police-texte);
  font-weight: 400;
  line-height: 1.65;
  color: rgba(250, 249, 246, 0.86);
  max-inline-size: min(50ch, 100%);
}


.hero .groupe-boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-block-start: var(--esp-7);
}

.hero .groupe-boutons .bouton {
  min-block-size: 52px;
  padding-block: 0;
  padding-inline: 32px;
  white-space: nowrap;              
}


@media (max-width: 899px) {
  .hero__media img { object-position: 78% 50%; }

  .hero__media::after {
    background: linear-gradient(0deg,
      rgba(15, 29, 51, 0.34) 0%,
      rgba(15, 29, 51, 0.49) 20%,
      rgba(15, 29, 51, 0.63) 32%,
      rgba(15, 29, 51, 0.71) 55%,
      rgba(15, 29, 51, 0.75) 72%,
      rgba(15, 29, 51, 0.89) 86%,
      rgba(15, 29, 51, 0.90) 100%);
  }

  .hero .groupe-boutons {
    display: grid;
    grid-template-columns: 1fr;
    margin-block-start: var(--esp-6);
  }
  .hero .groupe-boutons .bouton { inline-size: 100%; }
}


html.js body:has(.hero) .entete:not(.est-condensee) {
  background-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-block-end-color: transparent;
  box-shadow: none;
}

html.js body:has(.hero).defilement-bloque .entete {
  background-color: var(--bleu-nuit);
  border-block-end-color: rgba(198, 164, 100, 0.35);
}


.figure-matrice {
  max-inline-size: 420px;
  margin-inline: auto;
}

.schema-risques { inline-size: 100%; block-size: auto; }


.schema { inline-size: 100%; block-size: auto; }

.schema text { font-family: var(--police-texte); font-weight: 500; }

.schema .etiq { font-size: 12px; letter-spacing: 0; }
.schema .axe  { font-size: 10px; letter-spacing: 1.6px; }
.schema .mini { font-size: 10px; letter-spacing: 1.2px; }

@media (max-width: 767px) {
  .schema .etiq { font-size: 15px; }
  .schema .axe  { font-size: 13px; letter-spacing: 1.2px; }
  .schema .mini { font-size: 13px; letter-spacing: 0.8px; }
}

.schema-risques text {
  font-family: var(--police-texte);
  font-weight: 500;
}

@media (max-width: 767px) {
  .schema-risques .axe    { font-size: 15px; letter-spacing: 1.2px; }
  .schema-risques .zone   { font-size: 13px; letter-spacing: 0.8px; }
}

@media (min-width: 768px) {
  .schema-risques .axe    { font-size: 10px; letter-spacing: 1.6px; }
  .schema-risques .zone   { font-size: 9.5px; letter-spacing: 1.5px; }
}

.figure-legende {
  margin-block-start: var(--esp-4);
  padding-block-start: var(--esp-4);
  border-block-start: 1px solid var(--bordure);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--gris-secondaire);
  max-width: 44ch;
}


.carte {
  display: flex;
  flex-direction: column;
  gap: var(--esp-3);
  padding: var(--esp-5);
  background-color: var(--blanc-casse);
  border: 1px solid var(--bordure);
  border-radius: var(--r-md);
}

@media (min-width: 768px) { .carte { padding: var(--esp-6); } }

.carte h3 { color: var(--bleu-nuit); }

.carte p { font-size: var(--t-petit); }

.carte-service {
  position: relative;
  transition: transform var(--duree-moyenne) var(--courbe),
              border-color var(--duree-moyenne) var(--courbe),
              box-shadow var(--duree-moyenne) var(--courbe);
}

.carte-service:hover,
.carte-service:focus-within {
  transform: translateY(-3px);
  border-color: var(--bronze-moyen);
  box-shadow: var(--ombre-2);
}

.carte-service__lien::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--r-md);
}

.carte-service__lien {
  color: var(--bleu-nuit);
  text-decoration: none;
}

.carte-service .lien-fleche { margin-block-start: auto; padding-block-start: var(--esp-4); }

.carte-service:hover .lien-fleche::after { transform: rotate(45deg) translate(2px, -2px); }

.carte-service__numero {
  font-family: var(--police-titre);
  font-size: 0.875rem;
  color: var(--bronze);
  letter-spacing: 0.08em;
}

.picto {
  inline-size: 40px;
  block-size: 40px;
  color: var(--bleu-nuit);
  flex: none;
}

.picto svg { inline-size: 100%; block-size: 100%; }


.etapes { display: grid; gap: 0; counter-reset: etape; }

.etape {
  display: grid;
  gap: var(--esp-3);
  padding-block: var(--esp-5);
  border-block-start: 1px solid var(--bordure);
}

.etape:last-child { border-block-end: 1px solid var(--bordure); }

@media (min-width: 768px) {
  .etape {
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: var(--esp-6);
    padding-block: var(--esp-6);
    align-items: start;
  }
}

.etape__numero {
  font-family: var(--police-titre);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--bronze);
}

.etape__titre { margin-block-end: var(--esp-2); }

.etape p { font-size: var(--t-petit); }


.benefice {
  display: grid;
  gap: var(--esp-3);
  padding-block-start: var(--esp-4);
  border-block-start: 2px solid var(--bronze-moyen);
}

.benefice h3 { font-size: var(--t-h4); }

.benefice p { font-size: var(--t-petit); }


.encart {
  padding: var(--esp-5);
  background-color: var(--gris-tres-clair);
  border-inline-start: 2px solid var(--bronze-moyen);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}

@media (min-width: 768px) { .encart { padding: var(--esp-6); } }

.encart p { font-size: var(--t-petit); }

.section--alternee .encart { background-color: var(--blanc-casse); }


.formule {
  font-family: var(--police-titre);
  font-size: clamp(1.375rem, 1.1rem + 1.2vw, 1.875rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--bleu-nuit);
  max-width: 24ch;
}

.formule--large { max-width: 34ch; }


.inversion {
  margin: 0;
  padding: var(--esp-5);
  background-color: var(--blanc-casse);
  border: 1px solid var(--bordure);
  border-radius: var(--r-md);
}

@media (min-width: 768px) { .inversion { padding: var(--esp-7); } }

.inversion__ligne + .inversion__ligne {
  margin-block-start: var(--esp-6);
  padding-block-start: var(--esp-6);
  border-block-start: 1px solid var(--bordure);
}

.inversion__label {
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-block-end: var(--esp-4);
}

.inversion__ligne--marche .inversion__label { color: var(--gris-secondaire); }
.inversion__ligne--agoris .inversion__label { color: var(--bronze); }

.inversion__suite {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--esp-3);
}

@media (min-width: 1160px) {
  .inversion__suite { flex-direction: row; align-items: center; gap: var(--esp-4); }
}

.inversion__etape {
  display: flex;
  align-items: center;
  gap: var(--esp-4);
  max-width: none;
  font-family: var(--police-titre);
  font-size: clamp(1.0625rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
}

.inversion__etape:not(:last-child)::after {
  content: "";
  inline-size: 9px;
  block-size: 9px;
  border-block-start: 1.5px solid var(--bronze-moyen);
  border-inline-end: 1.5px solid var(--bronze-moyen);
  transform: rotate(135deg);          
  flex: none;
}

@media (min-width: 1160px) {
  .inversion__etape:not(:last-child)::after { transform: rotate(45deg); }
}

.inversion__ligne--marche .inversion__etape {
  color: var(--gris-secondaire);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--gris-secondaire);
}

.inversion__ligne--marche .inversion__etape::after {
  border-color: var(--gris-secondaire);
  text-decoration: none;
}

.inversion__ligne--agoris .inversion__etape {
  color: var(--bleu-nuit);
  padding-block-end: var(--esp-2);
  box-shadow: inset 0 -2px 0 0 var(--bronze-moyen);
}

.inversion__ligne--agoris .inversion__etape:not(:last-child)::after { box-shadow: none; }

.inversion__note {
  margin-block-start: var(--esp-5);
  font-size: var(--t-petit);
  color: var(--gris-texte);
}


.faq { display: grid; gap: 0; }

.faq__item {
  border-block-start: 1px solid var(--bordure);
}

.faq__item:last-child { border-block-end: 1px solid var(--bordure); }

.faq__item > summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--esp-4);
  padding-block: var(--esp-5);
  min-block-size: 44px;
  cursor: pointer;
  list-style: none;
  font-family: var(--police-titre);
  font-size: var(--t-h4);
  font-weight: 500;
  color: var(--bleu-nuit);
  transition: color var(--duree-courte) var(--courbe);
}

.faq__item > summary::-webkit-details-marker { display: none; }

.faq__item > summary:hover { color: var(--bronze); }

.faq__item > summary::after {
  content: "";
  flex: none;
  inline-size: 9px;
  block-size: 9px;
  margin-block-start: 0.45em;
  border-block-end: 1.5px solid var(--bronze-moyen);
  border-inline-end: 1.5px solid var(--bronze-moyen);
  transform: rotate(45deg);
  transition: transform var(--duree-moyenne) var(--courbe);
}

.faq__item[open] > summary::after { transform: rotate(-135deg); }

.faq__reponse { padding-block-end: var(--esp-5); }

.faq__reponse p { font-size: var(--t-petit); }

.faq__reponse p + p { margin-block-start: var(--esp-3); }

.faq__enveloppe { overflow: hidden; }


.fil-ariane {
  padding-block: calc(var(--esp-4) - 4px);
  font-size: 0.875rem;
  color: var(--gris-secondaire);
}

.fil-ariane ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-2);
  max-width: none;
}

.fil-ariane li { max-width: none; }

.fil-ariane li + li::before {
  content: "/";
  margin-inline-end: var(--esp-2);
  color: var(--bordure);
}

.fil-ariane a,
.fil-ariane [aria-current] {
  display: inline-block;
  padding-block: 4px;
}

.fil-ariane a { color: var(--gris-texte); text-decoration: none; }

.fil-ariane a:hover { text-decoration: underline; text-decoration-color: var(--bronze-moyen); }

.sommaire { margin-block-end: var(--esp-6); }

.sommaire__titre {
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
  margin-block-end: var(--esp-3);
}

.sommaire ul { display: grid; gap: var(--esp-1); }

.sommaire a {
  display: block;
  padding: var(--esp-2) 0 var(--esp-2) var(--esp-4);
  border-inline-start: 2px solid var(--bordure);
  color: var(--gris-texte);
  font-size: 0.9375rem;
  text-decoration: none;
  transition: border-color var(--duree-courte) var(--courbe),
              color var(--duree-courte) var(--courbe);
}

.sommaire a:hover { color: var(--bleu-nuit); border-inline-start-color: var(--bronze-moyen); }

.sommaire__sous a {
  padding-inline-start: var(--esp-7);
  font-size: 0.875rem;
  color: var(--gris-secondaire);
}

.sommaire a.est-active {
  color: var(--bleu-nuit);
  font-weight: 500;
  border-inline-start-color: var(--bronze);
}

@media (min-width: 1024px) {
  .sommaire--collant {
    position: sticky;
    inset-block-start: calc(var(--entete-h-condensee) + var(--esp-5));
  }
}


.bloc-sombre {
  background-color: var(--bleu-nuit);
  color: #C9D0DA;
}

.bloc-sombre h2,
.bloc-sombre h3 { color: var(--blanc-casse); }

.bloc-sombre .surtitre { color: var(--bronze-clair); }

.bloc-sombre .surtitre--filet::before { background-color: var(--bronze-clair); }

.bloc-sombre .chapo { color: #C9D0DA; }

.bloc-sombre a { color: var(--blanc-casse); }


.mention-calendly { margin-block-start: var(--esp-3); max-inline-size: 46rem; }

.devis .mention-calendly { flex-basis: 100%; margin-block-start: var(--esp-4); }

.bloc-sombre .mention-calendly { color: #C9D0DA; }   

.hero .mention-calendly { color: rgba(250, 249, 246, 0.86); }
.hero .mention-calendly a { color: var(--blanc-casse); }

.cta-final { padding-block: var(--section-y); }

.cta-final__grille { display: grid; gap: var(--esp-6); }

@media (min-width: 1024px) {
  .cta-final__grille {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: var(--esp-8);
    align-items: center;
  }
}

.cta-final__contacts {
  display: grid;
  gap: var(--esp-4);
  padding: var(--esp-5);
  border: 1px solid rgba(198, 164, 100, 0.35);
  border-radius: var(--r-md);
}

.cta-final__contacts dt {
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze-clair);
  margin-block-end: var(--esp-1);
}

.cta-final__contacts dd {
  margin: 0;
  font-size: var(--t-chapo);
  font-family: var(--police-titre);
  color: var(--blanc-casse);
}

.cta-final__contacts a { text-decoration: none; }

.cta-final__contacts a:hover { text-decoration: underline; text-decoration-color: var(--bronze-clair); }


.formulaire { display: grid; gap: var(--esp-5); }

@media (min-width: 768px) {
  .formulaire { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .champ--pleine-largeur { grid-column: 1 / -1; }
}

.champ { display: grid; gap: var(--esp-2); }

.champ label {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--anthracite);
}

.champ .obligatoire { color: var(--bronze); }

.champ input,
.champ select,
.champ textarea {
  inline-size: 100%;
  min-block-size: 48px;
  padding: var(--esp-3) var(--esp-4);
  font-size: var(--t-petit);   
  background-color: var(--blanc-casse);
  border: 1px solid var(--bordure);
  border-radius: var(--r-sm);
  color: var(--anthracite);
  transition: border-color var(--duree-courte) var(--courbe);
}

.champ textarea { min-block-size: 9rem; resize: vertical; }

.champ input:hover,
.champ select:hover,
.champ textarea:hover { border-color: var(--gris-secondaire); }

.champ input[aria-invalid="true"],
.champ select[aria-invalid="true"],
.champ textarea[aria-invalid="true"] { border-color: var(--erreur); }

.champ__erreur {
  font-size: 0.875rem;
  color: var(--erreur);
  min-block-size: 0;
}

.champ__aide { font-size: 0.875rem; color: var(--gris-secondaire); }

.mention-formulaire {
  margin-block-end: var(--esp-4);
  font-size: 0.875rem;
  color: var(--gris-secondaire);
  max-inline-size: 60ch;
}

.pot-de-miel {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.coordonnees { display: grid; gap: var(--esp-4); }

.coordonnees > div {
  padding-block-start: var(--esp-3);
  border-block-start: 1px solid var(--bordure);
}

.coordonnees dt {
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
  margin-block-end: var(--esp-1);
}

.coordonnees dd {
  margin: 0;
  font-size: var(--t-petit);
  color: var(--anthracite);
}

.en-attente { color: var(--gris-secondaire); }

.message-erreur {
  margin-block-end: var(--esp-4);
  padding: var(--esp-4) var(--esp-5);
  background-color: var(--gris-tres-clair);
  border-inline-start: 2px solid var(--erreur);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-size: var(--t-petit);
  color: var(--anthracite);
}

.message-erreur strong { color: var(--erreur); }

.confirmation {
  padding: var(--esp-6);
  background-color: var(--gris-tres-clair);
  border: 1px solid var(--bordure);
  border-inline-start: 2px solid var(--succes);
  border-radius: var(--r-md);
}

.confirmation h3 { margin-block-end: var(--esp-3); }


@media (min-width: 1024px) {
  html body .calendly-overlay .calendly-popup {
    max-width: min(1180px, 94vw) !important;
    max-height: min(94vh, 1040px) !important;
    height: 94% !important;
  }
}


.pied {
  background-color: var(--bleu-nuit);
  color: #9AA3B2;
  padding-block: var(--esp-8) var(--esp-6);
  font-size: var(--t-petit);
}

.pied__grille { display: grid; gap: var(--esp-7); }

@media (min-width: 768px) {
  .pied__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .pied__grille { grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr); }
}

.pied__logo { display: inline-block; padding: var(--esp-2) var(--esp-2) var(--esp-2) 0; }

.pied__logo .logo-pied {
  inline-size: 290px;
  max-inline-size: 100%;
  block-size: auto;
}

.pied__texte {
  margin-block-start: var(--esp-5);
  font-size: 0.9375rem;
  color: #9AA3B2;
  max-width: 40ch;
}

.pied__titre {
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze-clair);
  margin-block-end: var(--esp-4);
}

.pied ul { display: grid; gap: var(--esp-2); }

.pied li { max-width: none; }

.pied a {
  color: #C9D0DA;
  font-size: 0.9375rem;
  text-decoration: none;
  display: inline-block;
  padding-block: var(--esp-1);
  border-block-end: 1px solid transparent;
  transition: color var(--duree-courte) var(--courbe),
              border-color var(--duree-courte) var(--courbe);
}

.pied a:hover,
.pied a:focus-visible { color: var(--blanc-casse); border-block-end-color: var(--bronze-clair); }

.pied .en-attente { color: #6F7B8D; font-size: 0.9375rem; }

.pied__bas {
  margin-block-start: var(--esp-8);
  padding-block-start: var(--esp-5);
  border-block-start: 1px solid rgba(198, 164, 100, 0.25);
  display: grid;
  gap: var(--esp-4);
  font-size: 0.875rem;
  color: #8A93A3;
}

@media (min-width: 768px) {
  .pied__bas {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
}

.pied__legales {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-2) var(--esp-5);
}

@media (max-width: 479px) {
  .pied__legales { display: grid; gap: 0; }
}

@media (max-width: 767px) {
  .pied li a,
  .pied__legales a {
    display: flex;
    align-items: center;
    min-block-size: 44px;
  }
}

.pied__mentions { max-width: 60ch; }


.barre-mobile {
  position: fixed;
  inset-block-end: 0;
  inset-inline: 0;
  z-index: 90;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esp-2);
  padding: var(--esp-2) var(--esp-3);
  padding-block-end: calc(var(--esp-2) + env(safe-area-inset-bottom, 0px));
  background-color: rgba(250, 249, 246, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-block-start: 1px solid var(--bordure);
  box-shadow: var(--ombre-1);
  transform: translateY(110%);
  transition: transform var(--duree-moyenne) var(--courbe);
}

.barre-mobile.est-visible { transform: translateY(0); }

.barre-mobile .bouton {
  inline-size: 100%;
  min-block-size: 44px;
  padding-inline: var(--esp-3);
  white-space: nowrap;
}

@media (min-width: 768px) { .barre-mobile { display: none; } }

@media (max-width: 767px) {
  .pied { padding-block-end: calc(var(--esp-9) + env(safe-area-inset-bottom, 0px)); }
}


.carte--indexee {
  border-block-start-width: 2px;
  border-block-start-color: var(--bronze-moyen);
  border-start-start-radius: 0;
  border-start-end-radius: 0;
}

.carte__index {
  font-family: var(--police-titre);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--bronze);
}


.liste-puces--fine {
  gap: var(--esp-2);
  margin-block-start: var(--esp-2);
}

.liste-puces--fine > li {
  font-size: var(--t-petit);
  line-height: 1.55;
}

@media (min-width: 768px) {
  .liste-puces--fine > li { font-size: 0.9375rem; }
}


.domaine {
  display: flex;
  flex-direction: column;
  gap: var(--esp-3);
  padding-block-start: var(--esp-5);
  border-block-start: 1px solid var(--bordure);
}

.domaine p { font-size: var(--t-petit); }

.domaine__lien {
  margin-block-start: auto;
  padding-block-start: var(--esp-5);
}


@media (min-width: 768px) {
  .etapes {
    border-inline-start: 1px solid var(--bordure);
    padding-inline-start: var(--esp-6);
  }

  .etape { position: relative; }

  .etape::before {
    content: "";
    position: absolute;
    inset-inline-start: calc((var(--esp-6) + 4.5px) * -1);
    inset-block-start: calc(var(--esp-6) + 0.3em);
    inline-size: 9px;
    block-size: 9px;
    border-radius: 50%;
    background-color: var(--blanc-casse);
    border: 1.5px solid var(--bronze-moyen);
  }
}

.encart .surtitre { margin-block-end: var(--esp-3); }


.filet-bronze {
  display: block;
  inline-size: 64px;
  block-size: 2px;
  margin-block: var(--esp-4) var(--esp-5);
  background-color: var(--bronze-moyen);
}

.section__entete--court { margin-block-end: var(--esp-6); }


.depart { display: grid; gap: var(--esp-7); }

@media (min-width: 900px) {
  .depart {
    grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
    gap: var(--esp-8);
    align-items: center;
  }
}

.depart__propos > h2 { margin-block-end: var(--esp-5); }

.depart__propos > p { font-size: var(--t-corps); max-width: 46ch; }


.carte--cible { gap: var(--esp-4); }


.section--perimetre { padding-block: clamp(2.5rem, 4.5vw, 4.5rem); }

.perimetre { display: grid; gap: var(--esp-6); }

@media (min-width: 900px) {
  .perimetre {
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
    gap: var(--esp-8);
    align-items: center;
  }
}

.perimetre__figure { inline-size: 100%; }

.carte-france {
  inline-size: 100%;
  max-inline-size: 350px;
  block-size: auto;
  margin-inline: auto;
}

@media (min-width: 900px) {
  .carte-france { margin-inline: 0 auto; }
}

.carte-france__implantation { fill: var(--bronze); }

.carte-france__passage {
  fill: var(--blanc-casse);
  stroke: var(--bronze-moyen);
  stroke-width: 1.6;
}

.carte-france text {
  font-family: var(--police-texte);
  font-weight: 500;
}

.carte-france__ville {
  font-size: 11.5px;
  letter-spacing: 1.7px;
  fill: var(--bleu-nuit);
}

.carte-france__lieu {
  font-size: 10px;
  letter-spacing: 1.5px;
  fill: var(--gris-secondaire);
}

.perimetre__legende {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--esp-2) var(--esp-4);
  margin-block-start: var(--esp-4);
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--gris-secondaire);
}

.perimetre__cle { display: inline-flex; align-items: center; gap: var(--esp-2); }

@media (min-width: 1160px) {
  .perimetre__cle + .perimetre__cle::before {
    content: "·";
    color: var(--bronze-moyen);
    margin-inline-end: var(--esp-2);
  }
}

.perimetre__temoin {
  inline-size: 11px;
  block-size: 11px;
  flex: none;
}

.perimetre__temoin--aplat {
  border-radius: var(--r-xs);
  background-color: rgba(168, 133, 74, 0.16);
  border: 1px solid rgba(168, 133, 74, 0.32);
}

.perimetre__temoin--plein {
  border-radius: 50%;
  background-color: var(--bronze);
}

.perimetre__temoin--ouvert {
  border-radius: 50%;
  background-color: var(--blanc-casse);
  border: 1.5px solid var(--bronze-moyen);
}

.perimetre__texte h2 { margin-block-end: var(--esp-5); }

.perimetre__texte p { font-size: var(--t-corps); max-width: 52ch; }


.bloc-sombre { position: relative; overflow: hidden; }

.bloc-sombre > * { position: relative; z-index: 1; }

.bloc-sombre::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    to right, rgba(198, 164, 100, 0.16) 0 1px, transparent 1px 25%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 85%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 85%);
}

.bloc-sombre .formule { color: var(--blanc-casse); }

.bloc-sombre .inversion {
  background-color: transparent;
  border-color: rgba(198, 164, 100, 0.28);
}

.bloc-sombre .inversion__ligne + .inversion__ligne {
  border-block-start-color: rgba(198, 164, 100, 0.28);
}

.bloc-sombre .inversion__ligne--marche .inversion__label { color: #8A93A3; }
.bloc-sombre .inversion__ligne--agoris .inversion__label { color: var(--bronze-clair); }

.bloc-sombre .inversion__ligne--marche .inversion__etape {
  color: #7E879A;
  text-decoration-color: #7E879A;
}

.bloc-sombre .inversion__ligne--marche .inversion__etape::after { border-color: #7E879A; }

.bloc-sombre .inversion__ligne--agoris .inversion__etape {
  color: var(--blanc-casse);
  box-shadow: inset 0 -2px 0 0 var(--bronze-clair);
}

.bloc-sombre .inversion__etape:not(:last-child)::after { border-color: var(--bronze-clair); }

.bloc-sombre .inversion__note { color: #9AA3B2; }


.entete-page {
  position: relative;
  padding-block: var(--esp-5) clamp(2.5rem, 5vw, 4rem);
  border-block-end: 1px solid var(--bordure);
  overflow: hidden;
}

.entete-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    to right, var(--bordure) 0 1px, transparent 1px 25%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 85%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 85%);
}

.entete-page > .conteneur { position: relative; z-index: 1; }

.entete-page .surtitre { margin-block: var(--esp-5) var(--esp-3); }

.entete-page h1 { margin-block-end: var(--esp-5); }

.entete-page .chapo { max-width: 62ch; }


.bandeau {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  margin-block-start: calc(var(--entete-h) * -1);
  padding-block-start: var(--entete-h);
  min-block-size: 44vh;
  min-block-size: 44svh;

  background-color: var(--bleu-nuit);
  background-image: linear-gradient(100deg, #0B1729 0%, #1B3557 100%);
}

.bandeau__media { position: absolute; inset: 0; overflow: hidden; z-index: 0; }

.bandeau__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: saturate(0.52) contrast(1.03) brightness(1);
}

.bandeau__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(100deg,
      rgba(15, 29, 51, 0.93) 0%,
      rgba(15, 29, 51, 0.88) 26%,
      rgba(15, 29, 51, 0.74) 52%,
      rgba(15, 29, 51, 0.66) 62%,
      rgba(15, 29, 51, 0.22) 78%,
      rgba(15, 29, 51, 0.10) 100%),
    linear-gradient(180deg,
      rgba(15, 29, 51, 0.40) 0%,
      rgba(15, 29, 51, 0) 20%);
}

.bandeau > .conteneur {
  position: relative;
  z-index: 1;
  padding-block: var(--esp-6);
}

.bandeau__texte { max-inline-size: min(52rem, 100%); }

.bandeau .fil-ariane { margin-block-end: var(--esp-4); }

.bandeau .surtitre { color: var(--bronze-clair); margin-block-end: var(--esp-4); }

.bandeau .surtitre--filet::before { background-color: var(--bronze-clair); }

.bandeau h1 {
  margin: 0 0 var(--esp-5);
  font-size: clamp(1.75rem, 3.1vw, 2.625rem);
  color: var(--blanc-casse);
  max-inline-size: min(34ch, 100%);
}

.bandeau .chapo { color: rgba(250, 249, 246, 0.86); max-inline-size: min(58ch, 100%); }

.bandeau .fil-ariane { color: rgba(250, 249, 246, 0.70); }
.bandeau .fil-ariane a { color: rgba(250, 249, 246, 0.70); }
.bandeau .fil-ariane a:hover { color: var(--blanc-casse); }
.bandeau .fil-ariane [aria-current="page"] { color: var(--bronze-clair); }

@media (max-width: 899px) {
  .bandeau { min-block-size: 40vh; min-block-size: 40svh; }

  .bandeau__media::after {
    background: linear-gradient(0deg,
      rgba(15, 29, 51, 0.56) 0%,
      rgba(15, 29, 51, 0.68) 30%,
      rgba(15, 29, 51, 0.77) 60%,
      rgba(15, 29, 51, 0.84) 100%);
  }
}


.grille-sommaire { display: grid; gap: var(--esp-6); }

@media (min-width: 1024px) {
  .grille-sommaire {
    grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
    gap: var(--esp-8);
    align-items: start;
  }
}

.bloc-ancre,
section[id],
h2[id], h3[id], h4[id], h5[id] {
  scroll-margin-block-start: calc(var(--entete-h) + var(--esp-5));
}

section.bloc-ancre > h3,
section.bloc-ancre > h4 { margin-block-end: var(--esp-4); }

.bloc-ancre + .bloc-ancre {
  margin-block-start: var(--esp-8);
  padding-block-start: var(--esp-8);
  border-block-start: 1px solid var(--bordure);
}

.bloc-ancre--principal {
  padding: var(--esp-5);
  background-color: var(--gris-tres-clair);
  border-inline-start: 2px solid var(--bronze-moyen);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}

@media (min-width: 768px) {
  .bloc-ancre--principal { padding: var(--esp-7); }
}


.garanties { display: grid; gap: var(--esp-5); margin-block-start: var(--esp-5); }

@media (min-width: 768px) {
  .garanties--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--esp-6); }
}

.garantie {
  padding-block-start: var(--esp-4);
  border-block-start: 1px solid var(--bordure);
}

.garantie h3,
.garantie h4,
.garantie h5 {
  font-family: var(--police-titre);
  font-size: var(--t-h4);
  font-weight: 500;
  line-height: 1.3;
  color: var(--bleu-nuit);
  margin-block-end: var(--esp-2);
}

.garantie p { font-size: var(--t-petit); }

.bloc-ancre--principal .garantie { border-block-start-color: var(--bronze-moyen); }


.erreur-404 .liste-secours { display: grid; }

.liste-secours li {
  max-width: none;
  padding-block: var(--esp-4);
  border-block-start: 1px solid var(--bordure);
}

.liste-secours li:last-child { border-block-end: 1px solid var(--bordure); }

.liste-secours a {
  display: inline-block;
  font-family: var(--police-titre);
  font-size: var(--t-h4);
  font-weight: 500;
  color: var(--bleu-nuit);
  text-decoration: none;
  border-block-end: 1px solid transparent;
  transition: border-color var(--duree-courte) var(--courbe);
}

.liste-secours a:hover,
.liste-secours a:focus-visible { border-block-end-color: var(--bronze-moyen); }

.liste-secours span {
  display: block;
  margin-block-start: var(--esp-1);
  font-size: var(--t-petit);
  color: var(--gris-texte);
}


.texte-legal { display: grid; gap: var(--esp-7); }

.bloc-legal h2 {
  font-size: var(--t-h3);
  margin-block-end: var(--esp-4);
  padding-block-start: var(--esp-5);
  border-block-start: 2px solid var(--bronze-moyen);
}

.bloc-legal:first-child h2 { padding-block-start: 0; border-block-start: 0; }

.bloc-legal p,
.bloc-legal li { font-size: var(--t-petit); }

.bloc-legal h3 {
  font-size: var(--t-h4);
  margin-block: var(--esp-5) var(--esp-3);
}

.bloc-legal h3:first-of-type { margin-block-start: var(--esp-4); }

.bloc-legal .liste-puces { margin-block: var(--esp-4); }

.maj-legale { margin-block-start: calc(var(--esp-5) * -1); }


.grille-portrait { display: grid; gap: var(--esp-7); }

@media (min-width: 768px) {
  .grille-portrait {
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: var(--esp-8);
    align-items: start;
  }
}

.portrait { margin: 0; }

.portrait__cadre {
  aspect-ratio: 4 / 5;
  display: grid;
  place-items: center;
  background-color: var(--gris-tres-clair);
  border: 1px solid var(--bordure);
  border-radius: var(--r-md);
}

.portrait__mention {
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.8;
  color: var(--gris-secondaire);
}

.portrait img {
  inline-size: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--r-md);
}

.portrait__legende {
  margin-block-start: var(--esp-4);
  padding-block-start: var(--esp-3);
  border-block-start: 2px solid var(--bronze-moyen);
  font-size: var(--t-petit);
  color: var(--gris-texte);
}


.signature {
  margin-block-start: var(--esp-7);
  padding-block-start: var(--esp-5);
  border-block-start: 1px solid var(--bordure);
  font-family: var(--police-titre);
  font-size: var(--t-h4);
  font-weight: 500;
  color: var(--bleu-nuit);
  line-height: 1.5;
}

.signature span {
  font-family: var(--police-texte);
  font-size: var(--t-surtitre);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
}

.bloc-sombre .signature { border-block-start-color: rgba(198, 164, 100, 0.28); }
.bloc-sombre .signature span { color: var(--bronze-clair); }


.devis {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--esp-4);
  margin-block-start: var(--esp-6);
  padding-block-start: var(--esp-5);
  border-block-start: 1px solid var(--bordure);
}

.devis__texte {
  margin: 0;
  max-width: 36ch;
  font-size: var(--t-petit);
  color: var(--gris-texte);
}

.devis__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-3);
  margin-inline-start: auto;
}

@media (max-width: 599px) {
  .devis__actions { inline-size: 100%; margin-inline-start: 0; }
  .devis__actions .bouton { flex: 1 1 12rem; }
}

.bloc-ancre--principal .devis { border-block-start-color: var(--bronze-moyen); }


.partenaires { border-block-start: 1px solid var(--bordure); }

.defile {
  display: flex;
  gap: 0;
  overflow: hidden;
  margin-block-start: var(--esp-7);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.defile__piste {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--esp-8);
  padding-inline-end: var(--esp-8);
  animation: defiler 45s linear infinite;
  will-change: transform;
}

@keyframes defiler {
  to { transform: translateX(-100%); }
}

.defile:hover .defile__piste,
.defile:focus-within .defile__piste { animation-play-state: paused; }

.defile__piste li { flex: none; max-width: none; }

.defile__piste img {
  block-size: 40px;
  inline-size: auto;
  max-inline-size: 160px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.7;
  transition: opacity var(--duree-courte) var(--courbe),
              filter var(--duree-courte) var(--courbe);
}

.defile__piste img:hover { filter: none; opacity: 1; }

.defile__vide {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 160px;
  block-size: 56px;
  border: 1px dashed var(--bordure);
  border-radius: var(--r-sm);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gris-secondaire);
}

@media (prefers-reduced-motion: reduce) {
  .defile {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .defile__piste { animation: none; }
  .defile__piste[aria-hidden="true"] { display: none; }
}


.encart.encart--fort {
  background-color: var(--bleu-nuit);
  color: #C9D0DA;
  border-inline-start-color: var(--bronze-clair);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}

.encart--fort h3 { color: var(--blanc-casse); }
.encart--fort .surtitre { color: var(--bronze-clair); }
.encart--fort p { color: #C9D0DA; }
.encart--fort strong { color: var(--blanc-casse); }


.js [data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity var(--duree-longue) var(--courbe),
              transform var(--duree-longue) var(--courbe);
}

.js [data-reveal].est-visible {
  opacity: 1;
  transform: none;
}

.js [data-reveal-groupe] > * { transition-delay: 0ms; }
.js [data-reveal-groupe] > *:nth-child(2) { transition-delay: 70ms; }
.js [data-reveal-groupe] > *:nth-child(3) { transition-delay: 140ms; }
.js [data-reveal-groupe] > *:nth-child(4) { transition-delay: 210ms; }
.js [data-reveal-groupe] > *:nth-child(5) { transition-delay: 280ms; }
.js [data-reveal-groupe] > *:nth-child(6) { transition-delay: 350ms; }


@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }

  .js [data-reveal] { opacity: 1 !important; transform: none !important; }
}

@media print {
  .entete,
  .barre-mobile,
  .progression,
  .panneau-mobile,
  .voile,
  .lien-evitement { display: none !important; }

  body { background: #fff; color: #000; font-size: 11pt; }
  .contenu-principal { padding-block-start: 0; }
  a::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
}
