:root{
--mint:#a8cfc5;--mint-light:#e8f3f0;--mint-dark:#5f9187;
--terracotta:#c9785d;--terracotta-dark:#9f533e;--cream:#fdfbf8;
--ink:#31403d;--muted:#69716e;--line:#d7e2de;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Arial,sans-serif}
h1,h2,h3{font-family:Georgia,serif;line-height:1.18;margin:0 0 .7em}h1{font-size:clamp(2.6rem,5vw,5rem)}h2{font-size:clamp(2rem,3vw,3rem)}h3{font-size:1.35rem}.site-header{position:sticky;top:0;z-index:10;background:rgba(253,251,248,.94);backdrop-filter:blur(10px);padding:16px 6%;display:flex;align-items:center;gap:24px;border-bottom:1px solid rgba(95,145,135,.12)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}.brand-mark{font-size:2.3rem;color:var(--mint-dark)}.brand strong,.brand small{display:block}.brand small,.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--terracotta);font-weight:bold}
nav{display:flex;gap:20px}nav a{color:var(--ink);text-decoration:none;font-size:.92rem}.button{display:inline-block;padding:13px 23px;border-radius:12px;text-decoration:none;font-weight:bold;border:1px solid transparent}.button-primary{background:var(--terracotta);color:white}.button-primary:hover{background:var(--terracotta-dark)}.button-secondary{border-color:var(--mint-dark);color:var(--ink)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero{min-height:620px;padding:75px 8%;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;background:linear-gradient(110deg,var(--cream),var(--mint-light))}.hero-copy{max-width:620px}.hero-copy p{color:var(--muted)}.hero-visual{min-height:430px;border-radius:45% 45% 42% 35%;background:linear-gradient(145deg,#f5eadf,#e6f0eb);position:relative;overflow:hidden;box-shadow:0 20px 50px #58756b22}.hero-visual>*{position:absolute}.hero-visual p{bottom:20px;left:10%;right:10%;text-align:center;color:var(--muted);font-size:.9rem}.chair{font-size:180px;left:34%;top:25%}.plant{font-size:100px;right:8%;bottom:12%;color:var(--mint-dark)}.books{font-size:44px;left:10%;bottom:18%;color:var(--terracotta)}
.section{padding:80px 8%}.center{text-align:center}.approach{display:grid;grid-template-columns:1.35fr .8fr .85fr;gap:30px;background:linear-gradient(110deg,var(--mint-light),#f8f5ef)}.approach-copy blockquote{margin:24px 0 0;padding:15px 18px;border:1px solid #d9b9ad;border-radius:12px;color:var(--ink);font-style:normal}.toolbox,.practitioner-card,.card{background:#fffdfb;border:1px solid #e6e3de;border-radius:24px;padding:28px;box-shadow:0 12px 35px #546c6410}.toolbox ul,.credentials ul{list-style:none;padding:0}.toolbox li,.credentials li{padding:8px 0;border-bottom:1px solid #edf0ed}.photo-placeholder{width:150px;aspect-ratio:1;border-radius:50%;border:2px dashed var(--mint-dark);display:grid;place-items:center;text-align:center;margin:18px auto;color:var(--muted);background:var(--mint-light)}.photo-placeholder.large{width:260px}.practitioner-card{text-align:center}.cards{display:grid;gap:22px;margin-top:35px}.four{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:repeat(3,1fr)}.card{text-align:center}.icon{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--mint-light);font-size:2rem;color:var(--terracotta)}.audience{background:linear-gradient(180deg,#fff,var(--mint-light))}.audience article{text-align:center;padding:10px 25px}.audience-icon{font-size:70px}.about{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:35px;background:#f7f5ef}.about-text p{font-size:.96rem}.about-photo{display:grid;place-items:center}.credentials h3{margin-top:0}.steps{background:#fff}.steps article{padding:20px}.steps span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mint-dark);color:#fff;font-weight:bold}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;background:var(--mint-light);border-radius:36px;margin:30px 8%}.contact-details{border-left:1px solid var(--line);padding-left:40px}footer{padding:20px 8%;background:var(--terracotta);color:white;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.85rem}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem}
@media(max-width:1000px){nav{display:none}.menu-toggle{display:block}.site-header{flex-wrap:wrap}.site-header nav.open{display:flex;order:3;width:100%;flex-direction:column}.header-cta{display:none}.hero,.approach,.about{grid-template-columns:1fr}.four{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:1fr}.hero{padding-top:45px}.contact{grid-template-columns:1fr}.contact-details{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}}
@media(max-width:600px){.site-header,.section{padding-left:6%;padding-right:6%}.hero{padding-left:6%;padding-right:6%;min-height:auto}.four{grid-template-columns:1fr}.contact{margin:15px 4%;padding:50px 7%}h1{font-size:2.7rem}.brand strong{font-size:.95rem}.brand small{font-size:.58rem}}


/* Ajustements conservant la mise en page et la palette d'origine */
.hero-name{
  font-family:Georgia,serif;
  font-size:clamp(3rem,6vw,5.2rem);
  line-height:1;
  margin:0;
  color:var(--ink);
  letter-spacing:-.03em;
}
.hero-profession{
  margin:.4rem 0 1.15rem;
  font-size:1.25rem;
  font-weight:600;
  color:var(--terracotta);
}
.hero-service{
  font-size:clamp(2rem,3.7vw,3.35rem);
  line-height:1.16;
  margin:0 0 .8rem;
  color:var(--mint-dark);
}
.hero-tagline{
  font-family:Georgia,serif;
  font-size:clamp(1rem,1.4vw,1.2rem);
  margin:.2rem 0 .7rem;
  color:var(--muted);
}
.hero-location{
  display:inline-block;
  width:max-content;
  margin:0 0 1.25rem;
  padding:.42rem .8rem;
  border-radius:999px;
  background:rgba(168,207,197,.35);
  color:var(--terracotta-dark);
  font-size:.92rem;
  font-weight:700;
}
.approach-simple{grid-template-columns:1.6fr .8fr}
.approach-short{font-size:1.08rem}
.about-intro{font-size:1.08rem;line-height:1.75}
.highlight{
  font-weight:700;
  color:var(--terracotta-dark);
  background:linear-gradient(transparent 62%,rgba(168,207,197,.55) 62%);
}
.about-text strong{color:var(--mint-dark)}
.contact-form-wrap{
  background:#fffdfb;
  border:1px solid #d7e2de;
  border-radius:24px;
  padding:30px;
  box-shadow:0 12px 35px #546c6410;
}
.contact-form{display:grid;gap:9px}
.contact-form label{font-weight:700;margin-top:5px}
.contact-form label span{font-weight:400;color:var(--muted)}
.contact-form input,.contact-form textarea{
  width:100%;box-sizing:border-box;padding:12px 14px;
  border:1px solid #b9d0ca;border-radius:10px;background:#fff;
  color:var(--ink);font:inherit;
}
.contact-form textarea{resize:vertical;min-height:135px}
.contact-form button{width:max-content;margin-top:8px}
.form-note{font-size:.82rem;color:var(--muted);margin:12px 0 0}
.contact .contact-details{border-left:0;padding-left:0;margin-top:20px}
@media(max-width:1000px){.approach-simple{grid-template-columns:1fr}}


/* Présentation détaillée de Mon approche */
.approach-copy > p{
  line-height:1.75;
}
.approach-toolbox{
  margin:28px 0;
  padding:26px 28px;
  background:rgba(168,207,197,.18);
  border-left:4px solid var(--terracotta);
  border-radius:0 18px 18px 0;
}
.approach-toolbox h3{
  margin-top:0;
  color:var(--terracotta-dark);
}
.tool-list-intro{
  margin-bottom:8px;
  font-weight:700;
}
.approach-list{
  margin:10px 0 0;
  padding-left:22px;
}
.approach-list li{
  margin:.55rem 0;
  line-height:1.55;
}
.approach-conclusion{
  font-family:Georgia,serif;
  font-size:1.08rem;
  color:var(--mint-dark);
}


/* Mise en page plus aérée de la section Mon approche */
.approach-simple{
  align-items:start;
  gap:56px;
}
.approach-copy{
  max-width:780px;
}
.approach-copy h2{
  margin-bottom:24px;
}
.approach-copy > p:first-of-type{
  font-size:1.04rem;
  line-height:1.82;
}
.approach-toolbox{
  margin:36px 0;
  padding:30px 34px;
}
.approach-toolbox h3{
  font-size:1.35rem;
  margin-bottom:16px;
}
.approach-toolbox p{
  line-height:1.7;
  margin:0 0 16px;
}
.approach-list{
  margin-top:14px;
  padding-left:0;
  list-style:none;
}
.approach-list li{
  position:relative;
  padding:9px 0 9px 28px;
  margin:0;
  line-height:1.55;
  border-bottom:1px solid rgba(61,117,106,.12);
}
.approach-list li:last-child{
  border-bottom:0;
}
.approach-list li::before{
  content:"•";
  position:absolute;
  left:8px;
  top:9px;
  color:var(--terracotta);
  font-weight:700;
}
.approach-conclusion{
  margin-top:30px;
  padding:20px 24px;
  line-height:1.7;
  background:rgba(255,255,255,.55);
  border-radius:16px;
}
.approach-simple .practitioner-card{
  position:sticky;
  top:100px;
}
@media(max-width:1000px){
  .approach-simple{gap:32px}
  .approach-copy{max-width:none}
  .approach-simple .practitioner-card{position:static}
}
@media(max-width:600px){
  .approach-toolbox{padding:24px 20px;margin:28px 0}
  .approach-conclusion{padding:18px}
}


/* Tarifs et remboursement */
.practical-info{
  padding-top:28px;
  padding-bottom:28px;
}
.practical-info-card{
  max-width:900px;
  margin:0 auto;
  padding:30px 34px;
  background:rgba(168,207,197,.18);
  border:1px solid rgba(61,117,106,.14);
  border-radius:22px;
}
.practical-info-card h2{
  margin-top:4px;
  margin-bottom:18px;
}
.practical-info-card p{
  line-height:1.7;
}
.practical-info-card p:last-child{
  margin-bottom:0;
}
@media(max-width:600px){
  .practical-info-card{padding:24px 20px}
}

/* Portrait dans la section Qui suis-je ? */
.about-photo{display:flex;justify-content:center;align-items:flex-start}
.about-portrait{
  width:min(100%,310px);
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center 22%;
  border-radius:50%;
  display:block;
  border:7px solid rgba(255,255,255,.78);
  box-shadow:0 16px 38px rgba(65,88,82,.16);
}
@media(max-width:800px){.about-portrait{width:min(72vw,280px)}}


/* Deuxième portrait dans la zone À propos de Mon approche */
.approach-portrait{
  width:138px;
  height:138px;
  object-fit:cover;
  object-position:center 30%;
  border-radius:50%;
  display:block;
  margin:16px auto 18px;
  border:5px solid rgba(255,255,255,.85);
  box-shadow:0 10px 26px rgba(65,88,82,.14);
  outline:1px solid rgba(95,145,135,.38);
}
.practitioner-card .approach-portrait + p{
  max-width:250px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:700px){
  .approach-portrait{
    width:122px;
    height:122px;
  }
}

/* Ajustement final du 2e portrait dans Mon approche */
.approach-portrait{
  width:165px !important;
  height:165px !important;
  object-fit:cover;
  object-position:center 42% !important;
  border-radius:50%;
}
@media(max-width:700px){
  .approach-portrait{
    width:145px !important;
    height:145px !important;
    object-position:center 42% !important;
  }
}


/* Page d'accueil finale selon la maquette validée */
.hero-final{
  position:relative;
  min-height:760px;
  padding:86px 7% 112px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  gap:44px;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(180deg,#fbfaf6 0%,#f5f8f5 100%);
}
.hero-final::after{
  content:"";
  position:absolute;
  left:-6%;
  right:-6%;
  bottom:-58px;
  height:165px;
  background:rgba(168,207,197,.34);
  border-radius:50% 50% 0 0 / 35% 35% 0 0;
  transform:rotate(-1.3deg);
  z-index:0;
}
.hero-final > *{position:relative;z-index:1}

.hero-final-copy{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.hero-name-final{
  font-family:Georgia,serif;
  font-size:clamp(3.8rem,6.5vw,6.3rem);
  line-height:.96;
  margin:0;
  color:var(--terracotta);
  letter-spacing:-.035em;
}
.hero-profession-final{
  font-family:Georgia,serif;
  font-size:clamp(2rem,3.5vw,3.6rem);
  line-height:1;
  margin:.24rem 0 1.05rem;
  color:#89a99f;
}
.hero-line-final{
  width:88px;
  height:4px;
  border-radius:999px;
  background:var(--terracotta);
  margin:0 0 24px;
}
.hero-service-final{
  font-size:clamp(2.15rem,3.7vw,3.6rem);
  line-height:1.12;
  color:#176b5d;
  margin:0 0 22px;
  max-width:760px;
}
.hero-location-final{
  margin:0 0 22px;
  font-size:clamp(1.15rem,1.6vw,1.45rem);
  font-weight:700;
  color:var(--terracotta);
}
.hero-text-final{
  max-width:720px;
  color:#3f4542;
  font-size:1.03rem;
  line-height:1.72;
}
.hero-text-final p{margin:.7rem 0}
.hero-buttons-final{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:28px;
}
.hero-buttons-final .button{
  min-width:185px;
  text-align:center;
}
.hero-buttons-final span{margin-left:12px}

.hero-final-art{
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-final-art img{
  width:min(100%,660px);
  height:auto;
  display:block;
  object-fit:contain;
  mix-blend-mode:multiply;
}

.hero-bg-shape{
  position:absolute !important;
  z-index:0 !important;
}
.hero-bg-top-left{
  width:330px;
  height:250px;
  left:-135px;
  top:-90px;
  border-radius:48%;
  background:rgba(168,207,197,.24);
}
.hero-bg-top-right{
  width:350px;
  height:230px;
  right:-160px;
  top:-90px;
  border-radius:48%;
  background:rgba(168,207,197,.28);
}
.hero-bg-bottom-left{
  width:440px;
  height:330px;
  left:-230px;
  bottom:-130px;
  border-radius:50%;
  background:rgba(201,120,93,.33);
}
.hero-scroll-final{
  position:absolute !important;
  z-index:2 !important;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fffdfb;
  color:var(--mint-dark);
  text-decoration:none;
  font-size:2rem;
  box-shadow:0 8px 20px rgba(49,64,61,.08);
}

@media(max-width:1000px){
  .hero-final{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:58px;
  }
  .hero-final-copy{
    max-width:760px;
  }
  .hero-final-art img{
    max-width:580px;
  }
}
@media(max-width:600px){
  .hero-final{
    padding:44px 6% 90px;
    gap:28px;
  }
  .hero-name-final{font-size:3.2rem}
  .hero-profession-final{font-size:2rem}
  .hero-service-final{font-size:2.1rem}
  .hero-buttons-final{
    flex-direction:column;
    align-items:stretch;
  }
  .hero-buttons-final .button{
    width:100%;
  }
}


/* Adresse définitive dans la section Contact */
.contact-address{margin:14px 0}
.contact-address-label{
  margin:0 0 4px;
  font-size:.88rem;
  font-weight:700;
  color:var(--terracotta);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.contact-address p{margin:.2rem 0}
.contact-floor{
  font-size:.84rem;
  color:var(--muted);
  font-style:italic;
}


/* ===== Contact final — maquette validée ===== */
.contact-final{
  display:block;
  padding:0;
  margin:40px 0 0;
  border-radius:0;
  background:#fffdfb;
}
.contact-hero{
  min-height:350px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(105deg,var(--mint-light) 0%,#edf5f1 54%,#fffaf5 54%);
}
.contact-hero-copy{
  padding:62px 8%;
  max-width:730px;
}
.contact-hero-copy h2{
  margin:.1rem 0 .4rem;
  font-size:clamp(3rem,5vw,4.6rem);
  font-weight:500;
  color:var(--mint-dark);
}
.contact-title-line{
  width:80px;
  height:3px;
  margin:20px 0 28px;
  border-radius:99px;
  background:var(--terracotta);
}
.contact-hero-copy p:last-child{
  max-width:580px;
  margin:0;
  color:var(--ink);
  font-size:1.04rem;
}
.contact-hero-art{
  height:350px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.contact-hero-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:scale(1.04);
}

.contact-content-final{
  width:min(1180px,88%);
  margin:32px auto 72px;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  align-items:stretch;
}
.contact-info-card,
.contact-form-final{
  background:#fff;
  border:1px solid #e5e5e1;
  border-radius:20px;
  box-shadow:0 12px 35px rgba(84,108,100,.07);
}
.contact-info-card{
  position:relative;
  overflow:hidden;
  padding:26px 26px 80px;
}
.contact-info-item{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:18px 0 22px;
  border-bottom:1px solid #dce9e4;
}
.contact-info-item:last-of-type{border-bottom:0}
.contact-info-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--mint-light);
  color:var(--terracotta);
  font-size:1.45rem;
}
.contact-info-item h3{
  margin:2px 0 7px;
  color:var(--mint-dark);
  font-size:1.12rem;
}
.contact-info-item p{
  margin:0;
  line-height:1.65;
}
.contact-info-item a{
  color:var(--ink);
  text-decoration:none;
  overflow-wrap:anywhere;
}
.contact-info-item a:hover{color:var(--terracotta)}
.contact-floor{
  font-size:.86rem;
  color:var(--muted);
  font-style:normal;
}
.contact-info-decoration{
  position:absolute;
  left:-14px;
  right:-14px;
  bottom:-42px;
  height:120px;
  display:grid;
  place-items:center;
  font-size:4.5rem;
  color:var(--mint-dark);
  background:
    radial-gradient(circle at 28% 30%,#f8e4d8 0 34%,transparent 35%),
    radial-gradient(circle at 72% 55%,#dbeae4 0 40%,transparent 41%);
  opacity:.72;
}

.contact-form-final{
  padding:30px 34px;
}
.contact-form-final h3{
  margin:0 0 18px;
  color:var(--terracotta);
  font-size:2rem;
}
.contact-form-final .contact-form{
  display:grid;
  gap:16px;
}
.contact-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-field{
  display:grid;
  gap:6px;
}
.contact-form-final label{
  margin:0;
  color:var(--mint-dark);
  font-weight:700;
}
.contact-form-final .optional{
  font-weight:400;
  color:var(--ink);
}
.required{color:var(--terracotta)}
.contact-form-final input,
.contact-form-final select,
.contact-form-final textarea{
  width:100%;
  min-width:0;
  padding:12px 14px;
  border:1px solid #d9ddd9;
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  outline:none;
}
.contact-form-final select{
  appearance:auto;
}
.contact-form-final input:focus,
.contact-form-final select:focus,
.contact-form-final textarea:focus{
  border-color:var(--mint-dark);
  box-shadow:0 0 0 3px rgba(101,139,127,.10);
}
.contact-form-final textarea{
  min-height:140px;
  resize:vertical;
}
.contact-field small{
  color:var(--muted);
  font-size:.78rem;
}
.contact-privacy-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 16px;
  border-radius:10px;
  background:#edf5f2;
  color:#244c46;
}
.contact-privacy-note p{
  margin:0;
  font-size:.86rem;
  line-height:1.55;
}
.privacy-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d9ebe5;
  color:var(--mint-dark);
  font-size:1.25rem;
}
.contact-submit{
  width:max-content !important;
  min-width:260px;
  border:0;
  cursor:pointer;
  margin-top:2px !important;
}
.contact-required-note{
  margin:0;
  color:var(--muted);
  font-size:.8rem;
}

@media(max-width:900px){
  .contact-hero{
    grid-template-columns:1fr;
    background:linear-gradient(180deg,var(--mint-light),#f7fbf9);
  }
  .contact-hero-art{height:260px}
  .contact-content-final{
    grid-template-columns:1fr;
  }
  .contact-info-card{
    padding-bottom:70px;
  }
}
@media(max-width:600px){
  .contact-hero-copy{padding:48px 6%}
  .contact-hero-copy h2{font-size:2.75rem}
  .contact-content-final{
    width:92%;
    margin:22px auto 50px;
  }
  .contact-form-final{padding:24px 20px}
  .contact-form-row{grid-template-columns:1fr}
  .contact-submit{
    width:100% !important;
    min-width:0;
  }
}


/* ===== Contact sans formulaire — version finale ===== */
.contact-simple{
  background:#fffdfb;
}
.contact-simple .contact-hero-copy > p:not(.eyebrow){
  max-width:620px;
}
.contact-reachability{
  margin-top:18px !important;
}
.contact-cards-simple{
  width:min(1220px,90%);
  margin:28px auto 14px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.contact-simple-card{
  min-height:205px;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:16px;
  align-items:start;
  padding:28px 26px;
  border:1px solid #e2e4e0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(84,108,100,.05);
}
.contact-simple-card .contact-info-icon{
  width:54px;
  height:54px;
  font-size:1.55rem;
}
.contact-simple-card h3{
  margin:6px 0 0;
  color:var(--mint-dark);
  font-size:1.45rem;
}
.contact-card-line{
  width:48px;
  height:2px;
  margin:12px 0 18px;
  background:var(--terracotta);
  border-radius:99px;
}
.contact-simple-card p{
  margin:0;
  line-height:1.6;
  color:var(--ink);
}
.contact-simple-card a{
  color:var(--ink);
  text-decoration:none;
  overflow-wrap:anywhere;
}
.contact-simple-card a:hover{
  color:var(--terracotta);
}
.contact-confidentiality-simple{
  width:min(1220px,90%);
  margin:0 auto 64px;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  align-items:center;
  padding:14px 22px;
  border-radius:12px;
  background:#edf5f2;
  color:#244c46;
}
.contact-confidentiality-simple p{
  margin:0;
  line-height:1.55;
  font-size:.92rem;
}

@media(max-width:1050px){
  .contact-cards-simple{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .contact-cards-simple{
    width:92%;
    grid-template-columns:1fr;
  }
  .contact-simple-card{
    min-height:0;
  }
  .contact-confidentiality-simple{
    width:92%;
    margin-bottom:48px;
    align-items:start;
  }
}

/* ===== Accessibilité et finition technique ===== */
.skip-link{
  position:fixed;
  top:8px;
  left:8px;
  z-index:9999;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:8px;
  background:#31403d;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible{
  outline:3px solid #5f9187;
  outline-offset:3px;
}
img{max-width:100%;height:auto}


/* ===== Pied de page : liens légaux ===== */
footer a{
  color:inherit;
  text-decoration:none;
}
footer a:hover{
  color:var(--terracotta);
}

/* ===== Pages légales ===== */
.legal-page{
  padding:72px 0 86px;
  background:
    radial-gradient(circle at 8% 8%, rgba(199,226,218,.42), transparent 28%),
    #fffdfb;
}
.legal-container{
  width:min(880px,88%);
  margin:0 auto;
}
.legal-back{
  display:inline-block;
  margin-bottom:30px;
  color:var(--mint-dark);
  text-decoration:none;
  font-weight:700;
}
.legal-back:hover{color:var(--terracotta)}
.legal-page h1{
  margin:.1rem 0;
  color:var(--mint-dark);
  font-size:clamp(2.7rem,6vw,4.3rem);
  font-weight:500;
}
.legal-title-line{
  width:74px;
  height:3px;
  margin:20px 0 34px;
  border-radius:99px;
  background:var(--terracotta);
}
.legal-card{
  margin:0 0 18px;
  padding:26px 30px;
  border:1px solid #e2e6e2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 26px rgba(84,108,100,.045);
}
.legal-card h2{
  margin:0 0 12px;
  color:var(--mint-dark);
  font-size:1.45rem;
}
.legal-card p{
  margin:0 0 12px;
  line-height:1.72;
}
.legal-card p:last-child{margin-bottom:0}
.legal-card a{
  color:var(--mint-dark);
  overflow-wrap:anywhere;
}
.legal-highlight{
  background:#edf5f2;
  border-color:#d9e9e4;
}
.legal-updated{
  margin:30px 0 0;
  color:var(--muted);
  font-size:.88rem;
}
@media(max-width:620px){
  .legal-page{padding:48px 0 58px}
  .legal-container{width:92%}
  .legal-card{padding:22px 20px}
}

/* Adresse e-mail sur une seule ligne dans la carte Contact */
.contact-email-nowrap {
  white-space: nowrap;
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(0.82rem, 1vw, 0.96rem);
}
