*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --fond:#e7eae3;
  --encre:#183f39;
  --cuivre:#b3663a;
  --trait:rgba(24,63,57,.16);
}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden;max-width:100%}
body{
  background:var(--fond);
  color:var(--encre);
  font-family:"Inter",system-ui,-apple-system,sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
.ico{width:1.25rem;height:1.25rem;flex-shrink:0}
.progression-lecture{background:var(--encre)}

/* HERO — nom géant, aucune photo */
.hero{
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:9vh 5vw 6vh;
}
.hero-nom{
  font-family:"Fraunces",Georgia,serif;
  font-weight:900;
  font-optical-sizing:auto;
  text-transform:uppercase;
  font-size:clamp(3.6rem,18vw,22rem);
  line-height:.86;
  letter-spacing:-.025em;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
}
/* Un mot par ligne, jamais coupé au milieu — chaque mot est un bloc masqué */
.hero-nom .decoupe{display:block;overflow:hidden}
.hero-nom .decoupe>span{display:block}
.hero-ligne{
  margin-top:clamp(1.6rem,4vw,3rem);
  font-size:.78rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  opacity:.65;
  padding-left:.3em;
}

/* Étiquettes & titres — pas de tailles intermédiaires */
.oeil{font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;opacity:.6;margin-bottom:1.3rem}
.titre-section,.rdv-titre{
  font-family:"Fraunces",Georgia,serif;font-weight:600;
  font-size:1.05rem;letter-spacing:.02em;text-transform:uppercase;line-height:1.4;
}

section{padding-block:clamp(4rem,9vw,7rem);padding-inline:5vw}

/* INTERRUPTIONS photo pleine largeur */
.interruption{padding:0}
.interruption-media{position:relative;height:clamp(340px,58vh,560px);overflow:hidden}
.interruption-media img{position:absolute;left:0;top:-16%;width:100%;height:132%;object-fit:cover}
.interruption-texte{
  max-width:32ch;margin:clamp(2rem,5vw,3.4rem) 5vw;
  font-family:"Fraunces",Georgia,serif;font-weight:400;
  font-size:clamp(1.2rem,2.6vw,1.5rem);line-height:1.4;
}

/* Bandes photo */
.bande{position:relative;height:clamp(280px,42vh,440px);overflow:hidden;margin:0}
.bande img{position:absolute;left:0;top:-16%;width:100%;height:132%;object-fit:cover}

/* QUI */
.qui-phrase{max-width:26ch;font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.35}

/* PRESTATIONS — liste numérotée */
.prestations{border-top:1px solid var(--trait)}
.prestations .titre-section{margin-top:.4rem}
.presta-liste{list-style:none;margin-top:clamp(2rem,5vw,3.5rem)}
.presta-liste li{
  display:grid;
  grid-template-columns:minmax(2.6rem,auto) 1fr;
  gap:.6rem 1.6rem;align-items:start;
  padding:clamp(1.4rem,3vw,2.1rem) 0;
  border-top:1px solid var(--trait);
}
.presta-liste li:last-child{border-bottom:1px solid var(--trait)}
.presta-num{
  font-family:"Fraunces",Georgia,serif;font-weight:900;
  font-size:clamp(2.3rem,7vw,4.5rem);line-height:.8;opacity:.85;
}
.presta-nom{display:flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:.95rem;margin-bottom:.5rem}
.presta-nom .ico{opacity:.75}
.presta-desc{display:block;max-width:48ch;opacity:.82}
.prov-note{margin-top:1.8rem;font-size:.85rem;opacity:.6}

/* MODULE RDV */
.rdv{background:var(--encre);color:var(--fond)}
.rdv .oeil{opacity:.7}
.rdv-accroche{max-width:40ch;margin-top:1.4rem;opacity:.9}
.calendrier{
  margin:clamp(2.2rem,5vw,3.4rem) 0;
  background:rgba(231,234,227,.05);
  border:1px solid rgba(231,234,227,.22);
  border-radius:3px;
  padding:clamp(1.1rem,3vw,1.8rem);
  max-width:640px;
}
.cal-tete{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-bottom:1.3rem}
.cal-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:.6rem}
.cal-jour{display:flex;flex-direction:column;gap:.45rem;text-align:center}
.cal-nom{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-bottom:.2rem}
.creneau{font-size:.8rem;padding:.5rem .2rem;border-radius:3px;border:1px solid rgba(231,234,227,.25)}
.creneau.libre{background:var(--fond);color:var(--encre);font-weight:600;border-color:var(--fond)}
.creneau.pris{opacity:.32;text-decoration:line-through}
.rdv-cta{display:inline-flex;align-items:center;gap:.55rem;margin-top:.4rem;padding:1rem 1.7rem;border:1px solid var(--fond);border-radius:100px;text-decoration:none;font-weight:600;letter-spacing:.02em;transition:background .2s ease,color .2s ease}
.rdv-cta:hover{background:var(--fond);color:var(--encre)}
.rdv .prov-note{opacity:.6;margin-top:1.6rem}

/* CONTACT — épinglé, très grand */
.contact{border-top:1px solid var(--trait)}
.contact-inner{width:100%}
.contact-geant{
  font-family:"Fraunces",Georgia,serif;font-weight:900;text-transform:uppercase;
  font-size:clamp(2.6rem,12vw,11rem);line-height:.9;letter-spacing:-.015em;
  transform-origin:left center;margin-bottom:clamp(2rem,5vw,3.5rem);
}
.coordonnees{list-style:none;display:grid;gap:1.05rem;max-width:44ch}
.coordonnees li{display:flex;align-items:center;gap:.9rem}
.contact-lien{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.8rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* PIED */
.pied{padding:clamp(3rem,7vw,5rem) 5vw;border-top:1px solid var(--trait);font-size:.85rem}
.pied-nom{font-family:"Fraunces",Georgia,serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.7rem}
.pied>p{opacity:.72;margin-bottom:.5rem}
.pied-legal{opacity:.5}
.pied-credits{opacity:.55;font-size:.78rem;margin-top:1.3rem}
.pied-signature{opacity:.55;font-size:.78rem;margin-top:1.3rem}

/* Bouton flottant unique — seul emploi du cuivre */
.fab{
  position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);
  width:clamp(3.4rem,7vw,4.2rem);height:clamp(3.4rem,7vw,4.2rem);
  border-radius:50%;
  background:var(--cuivre);color:var(--fond);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(24,63,57,.3);
  z-index:50;text-decoration:none;
  transition:transform .25s ease;
}
.fab:hover{transform:translateY(-3px)}
.fab .ico{width:1.5rem;height:1.5rem}

@media(max-width:560px){
  .presta-liste li{grid-template-columns:auto 1fr;gap:.5rem 1.1rem}
  .presta-num{font-size:2.4rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}