@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(../fonts/nunito-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(../fonts/nunito-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --encre:#1E2A3B;
  --olive:#2F3A22;
  --olive-2:#4A5733;
  --sauge:#E8EADF;
  --jute:#EFE3CF;
  --terre:#A9472A;
  --terre-vive:#CA5C36;
  --page:#FCFBF7;
  --gris:#4B5563;
  --trait:#DAD8C9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--page);color:var(--encre);font:400 1.15rem/1.75 "Nunito Sans",system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--encre);text-decoration-color:var(--terre-vive);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--terre);outline-offset:3px;border-radius:3px}
h1,h2,h3{font-family:"Newsreader",Georgia,serif;font-weight:400;color:var(--olive);line-height:1.15;margin:0;letter-spacing:-.005em}
h2{font-size:clamp(2rem,1.3rem + 2.2vw,2.9rem);margin-bottom:.6em}
h3{font-size:1.5rem;font-weight:500;margin-bottom:.45em}
p{margin:0 0 1em;max-width:64ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saut{position:absolute;left:-999px;top:8px;background:#fff;padding:.6em 1em;z-index:20}
.saut:focus{left:8px}
.cadre{width:min(1160px,100% - 2.5rem);margin-inline:auto}
section{padding:clamp(4rem,9vw,7.5rem) 0}

/* boutons */
.actions{display:flex;flex-wrap:wrap;gap:.8rem}
.bouton{display:inline-block;line-height:1.3;padding:.95em 1.55em;border-radius:999px;font-weight:700;font-size:1.02rem;text-decoration:none;border:2px solid var(--terre);transition:background-color .2s,color .2s}
.bouton.plein{background:var(--terre);color:#fff}
.bouton.plein:hover{background:#8f3a21;border-color:#8f3a21}
.bouton.trait{color:var(--terre);background:transparent}
.bouton.trait:hover{background:var(--terre);color:#fff}

/* en-tête */
.entete{position:sticky;top:0;z-index:10;background:rgba(252,251,247,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--trait)}
.entete .cadre{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:80px}
.marque{display:flex;align-items:center;gap:.85rem;text-decoration:none}
.marque img{width:58px;height:58px}
.marque > span{font-family:"Newsreader",serif;font-size:1.3rem;color:var(--olive);line-height:1.15}
.marque > span small{display:block;font-family:"Nunito Sans",sans-serif;font-size:.86rem;color:var(--gris);letter-spacing:.01em}
.nav{display:flex;gap:1.4rem;white-space:nowrap;list-style:none;margin:0;padding:0}
.nav a{text-decoration:none;font-size:1rem;color:var(--encre)}
.nav a:hover{color:var(--terre)}
.entete .bouton{padding:.7em 1.3em;font-size:.98rem}
@media (max-width:1120px){.nav{display:none}}
.entete .bouton{white-space:nowrap}
@media (max-width:560px){.marque > span small{display:none}.marque img{width:46px;height:46px}.marque > span{font-size:1.15rem}.entete .cadre{min-height:68px}.entete .bouton{padding:.45em 1em}}

/* ouverture */
.ouverture{padding:clamp(2.5rem,6vw,5rem) 0 clamp(4rem,8vw,6.5rem);overflow-x:clip}
.ouverture .cadre{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.nom{display:block;font-size:clamp(2.7rem,1.6rem + 3.6vw,4.3rem);font-weight:400;line-height:1.02}
.role{display:block;font-family:"Newsreader",serif;font-style:italic;font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem);color:var(--olive-2);margin:.7rem 0 0;line-height:1.3}
.accroche{font-size:clamp(1.2rem,1.08rem + .45vw,1.38rem);line-height:1.6;margin:1.8rem 0 2.2rem;max-width:34ch}
.lieu{margin:1.6rem 0 0;font-size:1rem;color:var(--gris);line-height:1.6}
.photo-seance{position:relative;isolation:isolate;margin:0}
.photo-seance img{width:100%;aspect-ratio:1240/1086;object-fit:cover;border-radius:30px 30px 30px 180px;box-shadow:0 30px 60px -30px rgba(47,58,34,.45)}
.anneau{position:absolute;width:46%;aspect-ratio:1;top:-9%;right:-7%;z-index:-1;pointer-events:none}
.anneau ellipse{fill:none;stroke-linecap:round}
@media (prefers-reduced-motion:no-preference){
  .anneau ellipse{stroke-dasharray:620;stroke-dashoffset:620;animation:trace 2.2s .2s cubic-bezier(.4,.1,.2,1) forwards}
  .anneau ellipse+ellipse{animation-delay:.6s}
}
@keyframes trace{to{stroke-dashoffset:0}}
@media (max-width:860px){.ouverture .cadre{grid-template-columns:1fr}.photo-seance{order:-1;margin-right:-.4rem}}

/* vous vous reconnaissez */
.reconnaitre{background:var(--sauge)}
.reconnaitre .cadre{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.reconnaitre ul{list-style:none;margin:0;padding:0}
.reconnaitre li{position:relative;font-family:"Newsreader",serif;font-size:clamp(1.25rem,1.1rem + .6vw,1.55rem);line-height:1.45;color:var(--olive);padding:0 0 1.3rem 2rem;margin-bottom:1.3rem;border-bottom:1px solid #CFD2BF}
.reconnaitre li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--terre-vive)}
.reconnaitre .apres{margin-top:1.4rem;font-size:1.12rem}
.fauteuils{margin-top:1.4rem;width:100%;max-width:340px;aspect-ratio:926/1086;object-fit:cover;border-radius:170px 170px 22px 22px}
@media (max-width:860px){.reconnaitre .cadre{grid-template-columns:1fr;gap:1rem}.fauteuils{display:none}}

/* approche */
.approche .intro{font-size:1.2rem;max-width:60ch}
.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:2.6rem;border-top:1px solid var(--trait)}
.deux > div{padding:2.2rem 0}
.deux > div + div{padding-left:clamp(1.5rem,4vw,3.5rem);border-left:1px solid var(--trait)}
.deux > div:first-child{padding-right:clamp(1.5rem,4vw,3.5rem)}
@media (max-width:760px){.deux{grid-template-columns:1fr}.deux > div + div{padding-left:0;border-left:0;border-top:1px solid var(--trait)}.deux > div:first-child{padding-right:0}}
.aussi{display:flex;gap:1.2rem;align-items:flex-start;margin-top:1.2rem;padding:1.6rem 1.8rem;background:var(--jute);border-radius:22px;max-width:56rem}
.aussi svg{flex:none;width:34px;height:34px;margin-top:.15rem}
.aussi p{margin:0}

/* déroulé */
.deroule{background:var(--page);padding-top:0}
.etapes{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);counter-reset:etape}
.etapes li{counter-increment:etape;position:relative;padding-top:4.2rem}
.etapes li::before{content:counter(etape);position:absolute;top:0;left:0;width:3rem;height:3rem;border-radius:50%;border:1.5px solid var(--terre-vive);display:grid;place-items:center;font-family:"Newsreader",serif;font-size:1.45rem;color:var(--terre)}
.etapes li::after{content:"";position:absolute;top:1.5rem;left:3.8rem;right:-1rem;height:1px;background:var(--trait)}
.etapes li:last-child::after{display:none}
.etapes h3{font-size:1.35rem}
.etapes p{margin:0}
@media (max-width:860px){.etapes{grid-template-columns:1fr}.etapes li::after{display:none}}

/* qui je suis */
.moi{background:var(--sauge)}
.moi .cadre{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}
.portrait{position:relative;isolation:isolate;margin:0;max-width:340px}
.portrait img{border-radius:50%;aspect-ratio:1;object-fit:cover;object-position:50% 50%;width:100%}
.portrait svg{position:absolute;inset:-8%;width:116%;height:116%;z-index:-1}
.portrait ellipse{fill:none}
@media (max-width:760px){.moi .cadre{grid-template-columns:1fr}.portrait{max-width:240px;margin:0 auto 1rem}}

/* infos */
.infos{background:var(--olive);color:#EEF0E4}
.infos h2{color:#fff}
.infos .cadre{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.infos dl{display:grid;grid-template-columns:auto 1fr;margin:0}
.infos dt,.infos dd{padding:.95rem 0;border-bottom:1px solid rgba(255,255,255,.16);margin:0}
.infos dt{color:#C9CDB5;padding-right:1.6rem;font-size:1rem;padding-top:1.05rem}
.infos a{color:#fff}
.infos .debut{margin-top:2rem;color:#fff;font-size:1.12rem}
.infos figure{margin:0}
.infos figure img{border-radius:24px;aspect-ratio:4/3;object-fit:cover;width:100%}
.infos figcaption{font-size:.95rem;color:#C9CDB5;margin-top:.7rem}
@media (max-width:860px){.infos .cadre{grid-template-columns:1fr}.infos figure{max-width:420px}}
@media (max-width:520px){.infos dl{grid-template-columns:1fr}.infos dt{border-bottom:0;padding-bottom:0}.infos dd{padding-top:.1rem}}

/* questions fréquentes */
.faq .cadre{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
.faq .cote p{font-size:1.08rem}
.urgence{margin-top:1.8rem;padding:1.2rem 1.4rem;border-radius:16px;background:var(--jute);font-size:1rem}
.faq details{border-bottom:1px solid var(--trait)}
.faq details:first-of-type{border-top:1px solid var(--trait)}
.faq summary{cursor:pointer;list-style:none;padding:1.2rem 3rem 1.2rem 0;position:relative;font-family:"Newsreader",serif;font-size:1.28rem;font-weight:500;color:var(--olive);line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.8rem;top:50%;width:.55rem;height:.55rem;border-right:1.8px solid var(--terre);border-bottom:1.8px solid var(--terre);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 1.1rem;margin:0}
@media (max-width:860px){.faq .cadre{grid-template-columns:1fr;gap:1rem}}

/* contact */
.contact{background:var(--jute);text-align:center}
.contact img{width:min(230px,60vw);margin:0 auto 1.6rem}
.contact p{margin-inline:auto}
.contact .actions{justify-content:center;margin-top:1.6rem}

/* pied */
.pied{padding:2.6rem 0 3rem;font-size:.98rem;color:var(--gris);border-top:1px solid var(--trait)}
.pied .cadre{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem 2rem;align-items:end}
.pied p{margin:0}
.devise{font-family:"Newsreader",serif;font-style:italic;font-size:1.35rem;color:var(--olive);margin-bottom:.3rem!important}
.nw{white-space:nowrap}
/* respiration : mouvements lents, seulement si la personne n'a pas demandé à réduire les animations */
@media (prefers-reduced-motion:no-preference){
  .js .ouverture h1 .nom,.js .ouverture h1 .role,.js .accroche,.js .ouverture .actions,.js .lieu{opacity:0;transform:translateY(14px);animation:monte 1.4s cubic-bezier(.2,.6,.2,1) forwards}
  .js .ouverture h1 .nom{animation-delay:.15s}
  .js .ouverture h1 .role{animation-delay:.55s}
  .js .accroche{animation-delay:.95s}
  .js .ouverture .actions{animation-delay:1.35s}
  .js .lieu{animation-delay:1.65s}
  .js .photo-seance img{opacity:0;transform:scale(1.035);animation:eclaire 2.2s .2s cubic-bezier(.2,.6,.2,1) forwards}
  .anneau{animation:respire 9s 2.6s ease-in-out infinite}
  .portrait svg{animation:tourne 60s linear infinite}
  .js .vient{opacity:0;transform:translateY(18px);transition:opacity 1.2s cubic-bezier(.2,.6,.2,1),transform 1.2s cubic-bezier(.2,.6,.2,1)}
  .js .vient.la{opacity:1;transform:none}
}
@keyframes monte{to{opacity:1;transform:none}}
@keyframes eclaire{to{opacity:1;transform:none}}
@keyframes respire{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.035) rotate(3deg)}}
@keyframes tourne{to{transform:rotate(360deg)}}

/* pages dédiées */
.fil{font-size:.95rem;color:var(--gris);margin:0 0 1.2rem}
.fil a{color:var(--gris)}
.page-tete{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem);background:var(--sauge)}
.page-tete h1{font-size:clamp(2.2rem,1.4rem + 2.8vw,3.4rem);line-height:1.1;max-width:22ch}
.page-tete .chapo{font-size:clamp(1.15rem,1.05rem + .4vw,1.32rem);margin:1.2rem 0 0;max-width:58ch}
.page-corps{padding:clamp(3rem,7vw,5rem) 0}
.page-corps .cadre > *{max-width:780px}
.page-corps h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.1rem);margin:2.4rem 0 .7rem}
.page-corps h2:first-child{margin-top:0}
.page-corps ul{padding-left:1.2rem;margin:0 0 1.2rem}
.page-corps li{margin-bottom:.5rem}
.page-corps li::marker{color:var(--terre-vive)}
.encart{background:var(--jute);border-radius:22px;padding:1.6rem 1.8rem;margin:2.2rem 0}
.encart p:last-child{margin-bottom:0}
.page-corps details{border-bottom:1px solid var(--trait)}
.page-corps details:first-of-type{border-top:1px solid var(--trait)}
.page-corps summary{cursor:pointer;list-style:none;padding:1.1rem 2.5rem 1.1rem 0;position:relative;font-family:"Newsreader",serif;font-size:1.22rem;font-weight:500;color:var(--olive)}
.page-corps summary::-webkit-details-marker{display:none}
.page-corps summary::after{content:"";position:absolute;right:.7rem;top:50%;width:.5rem;height:.5rem;border-right:1.8px solid var(--terre);border-bottom:1.8px solid var(--terre);transform:translateY(-70%) rotate(45deg)}
.page-corps details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.page-corps details p{margin:0;padding-bottom:1rem}
.autres{border-top:1px solid var(--trait);margin-top:3rem;padding-top:1.5rem}
.autres ul{list-style:none;padding:0}
.autres a{font-family:"Newsreader",serif;font-size:1.2rem;color:var(--olive)}

/* thèmes sur l'accueil */
.themes{padding-top:0}
.themes ul{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,3.5rem)}
.themes li{border-top:1px solid var(--trait)}
.themes a{display:block;padding:1.3rem 0 1.4rem;text-decoration:none;color:var(--encre)}
.themes a strong{display:block;font-family:"Newsreader",serif;font-weight:500;font-size:1.35rem;color:var(--olive);margin-bottom:.25rem}
.themes a:hover strong{color:var(--terre)}
.themes a span{color:var(--gris);font-size:1.02rem}
@media (max-width:760px){.themes ul{grid-template-columns:1fr}}

/* accès */
.acces{margin-top:2rem;padding:1.4rem;border:1px solid rgba(255,255,255,.22);border-radius:20px;display:grid;grid-template-columns:150px 1fr;gap:1.4rem;align-items:start}
.acces img{width:100%;border-radius:14px;aspect-ratio:3/4;object-fit:cover}
@media (max-width:520px){.acces{grid-template-columns:1fr}.acces img{max-width:220px;aspect-ratio:4/3}}
.acces h3{color:#fff;font-size:1.3rem}
.acces p{margin:0 0 .6rem}
.acces p:last-child{margin:0}
.liens-profils{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:.6rem!important}

.plus{margin:.9rem 0 0}
.plus a{color:var(--terre);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
.plus a::after{content:" \2192"}
.plus a:hover{color:var(--terre-vive)}
.approche > .cadre > .plus{margin:0 0 1.5rem}
.aussi a{color:var(--terre);font-weight:700}
