@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/figtree.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 700;font-display:swap;src:url(../fonts/fraunces-italique.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/fraunces.woff2) format('woff2')}
img{height:auto}
[hidden]{display:none!important}

/* Principe : la page est complète sans JavaScript ; la classe .js (ajoutée tout en haut) active seulement les animations. */
:root{
  --creme:#FBF3EA; --creme-2:#F5E6D6; --peche:#F4B496; --peche-clair:#F9D5C2;
  --rouille:#A14A1D; --brun:#603520; --cacao:#2B1810;
  --olive:#7D8350; --sauge:#BFC39C; --lilas:#B4A7EC; --blanc:#FFFFFF; --erreur:#B3261E;
  --texte:#2B1810; --texte-doux:#6B4A3A;
  --serif:"Fraunces", Georgia, serif; --sans:"Figtree", system-ui, sans-serif;
  --r:28px; --gouttiere:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--creme);color:var(--texte);font-family:var(--sans);font-size:clamp(16px,1.05vw,18px);line-height:1.65;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
::selection{background:var(--rouille);color:var(--creme)}
.wrap{width:min(1320px,100% - 2*var(--gouttiere));margin-inline:auto}
.etiquette{display:inline-flex;align-items:center;gap:.6em;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rouille)}
.etiquette::before{content:"";width:28px;height:1.5px;background:currentColor}
.cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;opacity:0}
:focus-visible{outline:2.5px solid var(--rouille);outline-offset:3px}

body::after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:200;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

.progression{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--rouille),var(--peche));z-index:150}
.curseur{display:none}
.js .curseur{display:block;position:fixed;top:0;left:0;width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid var(--rouille);border-radius:50%;pointer-events:none;z-index:300;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s;mix-blend-mode:multiply}
.js .curseur.actif{width:74px;height:74px;margin:-37px 0 0 -37px;background:rgba(244,180,150,.45);border-color:transparent}
.point{display:none}
.js .point{display:block;position:fixed;top:0;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--rouille);pointer-events:none;z-index:301}
@media (pointer:coarse){.js .curseur,.js .point{display:none}}

/* Navigation : fond visible par défaut ; transparente en haut de page seulement quand le JS gère le défilement */
.nav{position:fixed;inset:env(safe-area-inset-top,0px) 0 auto 0;z-index:100;transition:background .4s,padding .4s,box-shadow .4s;padding:12px 0;background:rgba(251,243,234,.9);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 rgba(43,24,16,.08)}
.js .nav:not(.compacte){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:22px 0}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:baseline;gap:.5em;text-decoration:none}
.logo b{font-family:var(--serif);font-weight:500;font-size:1.55rem;letter-spacing:-.02em;font-variation-settings:"SOFT" 100,"WONK" 1}
.logo span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-doux)}
.liens{display:flex;align-items:center;gap:6px;list-style:none}
.liens a{position:relative;display:block;padding:10px 14px;text-decoration:none;font-weight:500;font-size:.95rem;border-radius:99px;transition:background .3s}
.liens a:not(.btn):hover{background:rgba(161,74,29,.08)}
.liens a.courant:not(.btn)::after{content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--rouille)}
.burger{display:none;width:46px;height:46px;border-radius:50%;background:var(--cacao);position:relative;cursor:pointer;flex:none}
.burger i{position:absolute;left:14px;right:14px;height:1.5px;background:var(--creme);transition:transform .4s var(--ease),top .4s var(--ease)}
.burger i:first-of-type{top:19px}.burger i:last-of-type{top:26px}
.nav:has(#menu:checked) .burger i:first-of-type{top:22.5px;transform:rotate(45deg)}
.nav:has(#menu:checked) .burger i:last-of-type{top:22.5px;transform:rotate(-45deg)}
.nav:has(#menu:focus-visible) .burger{outline:2.5px solid var(--rouille);outline-offset:3px}

.btn{display:inline-flex;align-items:center;gap:.7em;padding:16px 26px;border-radius:99px;background:var(--rouille);color:var(--creme)!important;font-weight:600;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s}
.btn::before{content:"";position:absolute;inset:0;background:var(--cacao);border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn:hover{box-shadow:0 14px 30px -12px rgba(161,74,29,.55)}
.btn svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(4px) rotate(-45deg)}
.btn.petit{padding:11px 20px;font-size:.92rem}
.btn.clair{background:var(--creme);color:var(--cacao)!important}
.btn.clair::before{background:var(--peche)}
.lien-fleche{display:inline-flex;align-items:center;gap:.5em;font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}

/* Sortie rapide : un vrai lien, qui fonctionne même sans JS */
.sortie{position:fixed;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:120;display:flex;align-items:center;gap:8px;padding:10px 16px 10px 12px;border-radius:99px;background:var(--cacao);color:var(--creme);font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);transition:transform .3s var(--ease)}
.sortie:hover{transform:translateY(-2px)}
.sortie.leve{transform:translateY(-86px)}
.sortie svg{width:18px;height:18px}
.sortie small{font-weight:400;opacity:.7;margin-left:4px}


/* ACCUEIL */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:130px 0 80px;overflow:hidden}
.halo{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;pointer-events:none;will-change:transform}
.halo.h1{width:52vw;height:52vw;max-width:760px;max-height:760px;background:var(--peche);top:-12%;right:-10%;animation:derive1 18s ease-in-out infinite alternate}
.halo.h2{width:30vw;height:30vw;background:var(--lilas);opacity:.35;bottom:-8%;left:30%;animation:derive2 22s ease-in-out infinite alternate}
.halo.h3{width:26vw;height:26vw;background:var(--sauge);opacity:.5;top:20%;left:-8%;animation:derive1 26s ease-in-out infinite alternate-reverse}
@keyframes derive1{to{translate:-6vw 8vh;scale:1.15}}
@keyframes derive2{to{translate:8vw -6vh;scale:.85}}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(30px,5vw,90px);align-items:center}
.hero .wrap>div{min-width:0}
.hero h1{font-family:var(--serif);font-weight:350;font-size:clamp(2.5rem,5.6vw,5.6rem);line-height:1.02;letter-spacing:-.03em;margin:22px 0 28px;font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 144}
.hero h1 .ligne{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ligne>span{display:block;transition:transform 1.1s var(--ease)}
.js .hero h1 .ligne>span{transform:translateY(110%)}
.js.charge .hero h1 .ligne>span{transform:none}
.hero h1 .ligne:nth-child(2)>span{transition-delay:.12s}
.hero h1 .ligne:nth-child(3)>span{transition-delay:.24s}
.rotatif{position:relative;display:block;height:1.08em;color:var(--rouille);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}
.rotatif em{position:absolute;left:0;top:0;white-space:nowrap;font-style:italic;transform:translateY(105%);opacity:0;transition:transform .9s var(--ease),opacity .6s}
.rotatif em.on{transform:none;opacity:1}
.rotatif em.off{transform:translateY(-105%);opacity:0}
.rotatif em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.09em;background:var(--peche);z-index:-1;transform-origin:0 50%;transition:transform .8s .5s var(--ease);transform:scaleX(0)}
.rotatif em.on::after{transform:scaleX(1)}
.intro{max-width:34em;font-size:1.12em;color:var(--texte-doux)}
.intro strong{color:var(--texte);font-weight:600}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:34px}
.puces{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.puces span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:rgba(255,255,255,.55);border:1px solid rgba(96,53,32,.12);font-size:.86rem;font-weight:500}
.puces span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--olive)}
.fondu{transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .fondu{opacity:0;transform:translateY(24px)}
.js.charge .fondu{opacity:1;transform:none}
.js.charge .fondu.d1{transition-delay:.45s}.js.charge .fondu.d2{transition-delay:.6s}.js.charge .fondu.d3{transition-delay:.75s}.js.charge .fondu.d4{transition-delay:.9s}

/* Portrait : les branches passent DERRIÈRE la photo, jamais sur le visage */
.portrait-zone{position:relative;aspect-ratio:4/5;width:100%;max-width:520px;justify-self:center;isolation:isolate}
.portrait-fond{position:absolute;inset:6% -4% -4% 6%;background:var(--rouille);border-radius:58% 42% 38% 62% / 52% 38% 62% 48%;animation:morph 14s ease-in-out infinite alternate-reverse;opacity:.9;z-index:1}
.portrait{position:absolute;inset:0;overflow:hidden;border-radius:62% 38% 46% 54% / 48% 56% 44% 52%;animation:morph 12s ease-in-out infinite alternate;box-shadow:0 40px 80px -40px rgba(43,24,16,.5);transition:clip-path 1.6s .2s var(--ease);z-index:2}
.js .portrait{clip-path:circle(0% at 50% 50%)}
.js.charge .portrait{clip-path:circle(75% at 50% 50%)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.8s .2s var(--ease)}
.js .portrait img{transform:scale(1.15)}
.js.charge .portrait img{transform:scale(1.02)}
@keyframes morph{
  0%{border-radius:62% 38% 46% 54% / 48% 56% 44% 52%}
  33%{border-radius:44% 56% 60% 40% / 58% 42% 58% 42%}
  66%{border-radius:54% 46% 38% 62% / 40% 60% 40% 60%}
  100%{border-radius:40% 60% 54% 46% / 56% 44% 56% 44%}}
.sceau{position:absolute;left:-7%;bottom:2%;width:clamp(120px,12vw,168px);aspect-ratio:1;max-width:100%;border-radius:50%;background:var(--creme);display:grid;place-items:center;box-shadow:0 18px 40px -18px rgba(43,24,16,.45);z-index:3}
.sceau svg{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
.sceau text{font-family:var(--sans);font-size:10.6px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;fill:var(--brun)}
.sceau .coeur{width:38%;height:38%;border-radius:50%;background:var(--peche);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.4vw,1.35rem);color:var(--rouille);font-variation-settings:"SOFT" 100,"WONK" 1}
.feuille{position:absolute;pointer-events:none;will-change:transform;z-index:0}
.feuille img{width:100%;animation:balance 7s ease-in-out infinite alternate;transform-origin:10% 90%}
@keyframes balance{from{rotate:-4deg}to{rotate:5deg}}
.portrait-zone .f1{width:46%;right:-24%;top:-12%}
.portrait-zone .f2{width:34%;left:-22%;bottom:22%}
.portrait-zone .f2 img{animation-duration:9s;transform:scale(-1,-1)}
.defiler{position:absolute;left:50%;bottom:26px;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.defiler i{width:1.5px;height:44px;background:linear-gradient(var(--rouille) 50%,transparent 50%);background-size:100% 200%;animation:goutte 2s ease-in-out infinite}
@keyframes goutte{from{background-position:0 100%}to{background-position:0 -100%}}

/* Bandeau : défile en CSS (deux copies identiques), le JS ne fait qu'accélérer avec le défilement */
.bandeau{background:var(--rouille);color:var(--creme);padding:26px 0;overflow:hidden;position:relative;z-index:2;transform:rotate(-1.2deg) scale(1.04);margin:18px 0}
.piste{display:flex;width:max-content;animation:defile 38s linear infinite}
.bandeau span{display:flex;align-items:center;gap:36px;padding-right:36px;font-family:var(--serif);font-size:clamp(1.6rem,3.2vw,2.8rem);font-style:italic;font-weight:350;white-space:nowrap;font-variation-settings:"SOFT" 100,"WONK" 1}
.bandeau svg{width:.7em;height:.7em;flex:none;fill:var(--peche)}
@keyframes defile{to{transform:translateX(-50%)}}

section{position:relative}
.bloc{padding:clamp(90px,12vw,170px) 0}
.titre{font-family:var(--serif);font-weight:350;font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:1.04;letter-spacing:-.025em;text-wrap:balance;font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 144}
.titre em{font-style:italic;color:var(--rouille);font-variation-settings:"SOFT" 100,"WONK" 1}
[data-rev]{transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js [data-rev]:not(.vu){opacity:0;transform:translateY(40px)}

/* Qui suis-je */
.qui .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,7vw,120px);align-items:start}
.qui .wrap>div{min-width:0}
.qui .colle{position:sticky;top:110px}
.qui .titre{margin:20px 0 34px}
.photo-bureau{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%;clip-path:inset(0 0 0 0 round 28px);transition:clip-path 1.4s var(--ease)}
.js .photo-bureau:not(.vu){clip-path:inset(30% 30% 30% 30% round 28px)}
.photo-bureau img{width:100%;height:118%;object-fit:cover;will-change:transform}
.bio p{font-size:1.14em;margin-bottom:1.5em;color:var(--texte-doux)}
.bio p:first-child{font-family:var(--serif);font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.45;color:var(--texte);font-weight:380;font-variation-settings:"SOFT" 100,"opsz" 36}
.bio mark{background:linear-gradient(transparent 58%,var(--peche-clair) 58%) no-repeat 0 0/100% 100%;color:inherit;transition:background-size 1.4s var(--ease)}
.js .bio mark:not(.vu){background-size:0% 100%}
.signature{display:flex;align-items:center;gap:18px;margin-top:40px;padding:22px 24px;border-radius:20px;background:var(--creme-2)}
.signature img{width:118px;border-radius:8px;background:var(--blanc);padding:6px}
.signature div{font-size:.92rem;line-height:1.4}
.signature b{display:block;font-size:1rem}

/* Parcours : grille par défaut ; défilement horizontal seulement quand le JS l'active (.horiz) */
.parcours{background:var(--creme-2)}
.parcours .collant{padding-block:clamp(90px,12vw,170px)}
.parcours .entete{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:clamp(30px,5vh,60px)}
.parcours .entete p{max-width:26em;color:var(--texte-doux)}
.rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;width:min(1320px,100% - 2*var(--gouttiere));margin-inline:auto}
.etape{position:relative;padding:34px 32px 36px;border-radius:var(--r);background:var(--creme);border:1px solid rgba(96,53,32,.1);transition:transform .5s var(--ease),box-shadow .5s,background .5s;min-width:0}
.etape:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 30px 60px -30px rgba(43,24,16,.35);background:var(--blanc)}
.etape .lieu{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.8rem);line-height:1;letter-spacing:-.03em;color:var(--rouille);font-variation-settings:"SOFT" 100,"WONK" 1;font-weight:400;font-style:italic;overflow-wrap:anywhere}
.etape h3{font-size:1.08rem;margin:20px 0 10px;line-height:1.3}
.etape p{font-size:.97rem;color:var(--texte-doux)}
.etape .badge{position:absolute;top:24px;right:24px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:99px;background:var(--sauge);color:var(--cacao)}
.etape .badge.vif{background:var(--peche);animation:pouls 2.4s ease-in-out infinite}
@keyframes pouls{0%,100%{box-shadow:0 0 0 0 rgba(244,180,150,.7)}50%{box-shadow:0 0 0 8px rgba(244,180,150,0)}}
.etape.fin{background:var(--cacao);color:var(--creme);border:0}
.etape.fin .lieu{color:var(--peche)}
.etape.fin p{color:rgba(251,243,234,.75)}
.ligne-temps{display:none;position:relative;height:2px;background:rgba(96,53,32,.15);margin-top:clamp(30px,5vh,56px);border-radius:2px}
.ligne-temps i{position:absolute;inset:0;background:var(--rouille);transform-origin:0 50%;transform:scaleX(0);border-radius:2px}
.ligne-temps b{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--rouille);box-shadow:0 0 0 6px rgba(161,74,29,.18);left:0}
.parcours.horiz .collant{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-block:0}
.parcours.horiz .rail{display:flex;gap:28px;width:max-content;margin:0;padding-left:max(var(--gouttiere),calc((100vw - 1320px)/2));padding-right:var(--gouttiere);will-change:transform}
.parcours.horiz .etape{width:clamp(290px,28vw,400px);flex:none}
.parcours.horiz .ligne-temps{display:block}

/* Manifeste */
.manifeste{background:var(--cacao);color:var(--creme);overflow:hidden}
.manifeste .etiquette{color:var(--peche)}
.manifeste blockquote{font-family:var(--serif);font-weight:330;font-size:clamp(1.9rem,4.1vw,4rem);line-height:1.16;letter-spacing:-.02em;margin-top:30px;font-variation-settings:"SOFT" 100,"opsz" 144}
.manifeste blockquote .m{opacity:.16;transition:opacity .35s,color .35s}
.manifeste blockquote .m.lu{opacity:1}
.manifeste blockquote .m.cle.lu{color:var(--peche);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}
.valeurs{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(50px,7vw,90px)}
.valeur{padding:18px 30px;border-radius:99px;border:1.5px solid rgba(244,180,150,.5);font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,2rem);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1;transition:background .4s,color .4s,transform .5s var(--ease)}
.valeur:hover{background:var(--peche);color:var(--cacao);transform:rotate(-3deg) scale(1.06)}
.manifeste .note{margin-top:30px;color:rgba(251,243,234,.6);max-width:36em}
.manifeste .feuille{right:-4%;bottom:-6%;width:clamp(200px,26vw,380px);opacity:.25}

/* Motifs : cases à cocher et filtres en CSS pur (fonctionnent sans JS) */
.motifs{background:var(--peche);overflow:clip}
.motifs .wrap{counter-reset:choix}
.motifs .haut{margin-bottom:44px}
.motifs .haut p{max-width:30em;color:var(--brun);margin-top:18px}
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;border:0}
.filtre{position:relative;padding:10px 18px;border-radius:99px;font-weight:600;font-size:.9rem;border:1.5px solid rgba(96,53,32,.25);cursor:pointer;transition:all .3s var(--ease)}
.filtre:hover{border-color:var(--brun)}
.filtre:has(input:checked){background:var(--cacao);color:var(--creme);border-color:var(--cacao)}
.filtre:has(input:focus-visible){outline:2.5px solid var(--cacao);outline-offset:3px}
.nuage{display:flex;flex-wrap:wrap;gap:12px}
.motif{position:relative;display:inline-flex;align-items:center;gap:12px;padding:15px 22px 15px 18px;border-radius:20px;background:rgba(251,243,234,.72);border:1.5px solid transparent;font-size:1rem;line-height:1.35;max-width:100%;cursor:pointer;transition:transform .45s var(--ease),opacity .45s,background .3s,border-color .3s,filter .45s}
.motif:hover{background:var(--creme);transform:translateY(-3px)}
.motif input:checked{counter-increment:choix}
.motif .coche{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(96,53,32,.35);display:grid;place-items:center;transition:all .3s var(--ease)}
.motif .coche svg{width:13px;height:13px;stroke:var(--creme);stroke-width:3;fill:none;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .4s .05s var(--ease)}
.motif:has(input:checked){background:var(--creme);border-color:var(--rouille)}
.motif:has(input:checked) .coche{background:var(--rouille);border-color:var(--rouille);transform:scale(1.1)}
.motif:has(input:checked) .coche svg{stroke-dashoffset:0}
.motif:has(input:focus-visible){outline:2.5px solid var(--cacao);outline-offset:3px}
.motif .theme{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);display:block;margin-bottom:2px}
.motif>span:last-child{min-width:0}
.motifs:has(#f-sexualite:checked) .motif:not([data-t="sexualite"]),
.motifs:has(#f-identite:checked) .motif:not([data-t="identite"]),
.motifs:has(#f-relations:checked) .motif:not([data-t="relations"]),
.motifs:has(#f-bienetre:checked) .motif:not([data-t="bienetre"]),
.motifs:has(#f-realites:checked) .motif:not([data-t="realites"]){position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;overflow:hidden;clip-path:inset(50%);visibility:hidden;pointer-events:none}
.plateau{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom,0px));margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 14px 14px 26px;border-radius:99px;background:var(--cacao);color:var(--creme);box-shadow:0 20px 50px -20px rgba(43,24,16,.6);transform:translateY(140%);opacity:0;pointer-events:none;transition:transform .6s var(--ease),opacity .4s;z-index:5}
.motifs:has(.motif input:checked) .plateau{transform:none;opacity:1;pointer-events:auto}
.plateau .compte{font-family:var(--serif);font-size:1.25rem;font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}
.plateau .compte b{display:inline-block;min-width:1.2em;text-align:center;color:var(--peche);font-style:normal}
.plateau .compte b::after{content:counter(choix)}
.motifs .etc{margin-top:26px;font-style:italic;color:var(--brun)}

/* Services */
.etapes-rdv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:50px 0 70px;counter-reset:n}
.rdv{position:relative;padding:28px 0 0;border-top:1.5px solid rgba(96,53,32,.2)}
.rdv::before{counter-increment:n;content:"0" counter(n);font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--rouille);display:block;margin-bottom:10px}
.rdv::after{content:"";position:absolute;top:-1.5px;left:0;height:1.5px;width:100%;background:var(--rouille);transition:width 1.4s var(--ease)}
.js .rdv:not(.vu)::after{width:0}
.rdv:nth-child(2)::after{transition-delay:.25s}.rdv:nth-child(3)::after{transition-delay:.5s}
.rdv h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.2;margin-bottom:8px;font-variation-settings:"SOFT" 100}
.rdv p{color:var(--texte-doux);font-size:.97rem}
.cartes{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:22px;align-items:stretch;perspective:1200px}
.carte{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;position:relative;padding:36px 32px;border-radius:var(--r);background:var(--creme-2);overflow:hidden;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s var(--ease),box-shadow .5s,opacity 1s var(--ease);display:flex;flex-direction:column;min-width:0}
.carte::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.65),transparent 45%);opacity:0;transition:opacity .4s;pointer-events:none}
.carte:hover::before{opacity:1}
.carte:hover{box-shadow:0 40px 70px -40px rgba(43,24,16,.45)}
.carte .tag{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:99px;background:rgba(96,53,32,.08);margin-bottom:26px}
.carte h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.2vw,2.1rem);line-height:1.1;letter-spacing:-.02em;font-variation-settings:"SOFT" 100}
.prix{display:flex;align-items:baseline;gap:10px;margin:22px 0 20px;padding-bottom:22px;border-bottom:1px solid rgba(96,53,32,.15)}
.prix b{font-family:var(--serif);font-size:clamp(3rem,4.4vw,4.2rem);font-weight:400;line-height:1;letter-spacing:-.04em;font-variation-settings:"SOFT" 100,"WONK" 1}
.prix span{color:var(--texte-doux);font-weight:500}
.carte p{color:var(--texte-doux);font-size:.98rem}
.carte ul{list-style:none;margin:22px 0 28px;display:grid;gap:10px}
.carte li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;font-weight:500}
.carte li svg{flex:none;width:20px;height:20px;margin-top:2px}
.carte .btn{margin-top:auto;align-self:flex-start}
.carte.vedette{background:var(--rouille);color:var(--creme)}
.carte.vedette .tag{background:rgba(251,243,234,.16)}
.carte.vedette p{color:rgba(251,243,234,.82)}
.carte.vedette .prix{border-color:rgba(251,243,234,.22)}
.carte.vedette .prix span{color:rgba(251,243,234,.8)}
.carte.vedette::before{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.18),transparent 45%)}
.carte.gratuit{background:var(--sauge)}
.carte.avenir{background:transparent;border:1.5px dashed rgba(96,53,32,.3)}
.carte.avenir .prix b{font-style:italic;color:var(--rouille)}
.solidaire{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin-top:28px;padding:30px 36px;border-radius:var(--r);background:var(--creme-2)}
.solidaire img{width:84px;transform:rotate(-30deg)}
.solidaire h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;font-variation-settings:"SOFT" 100;margin-bottom:4px}
.solidaire p{color:var(--texte-doux)}

/* Contact */
.contact{background:var(--creme-2)}
.contact .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:start}
.contact .wrap>div{min-width:0}
.contact .titre{margin:20px 0 26px}
.contact .gauche>p{color:var(--texte-doux);font-size:1.06em}
.coordonnees{list-style:none;margin:36px 0;display:grid;gap:2px}
.coordonnees li>a,.coordonnees li>div{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(96,53,32,.14);text-decoration:none;transition:padding .4s var(--ease)}
.coordonnees li>a:hover{padding-left:10px}
.coordonnees .ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--creme);display:grid;place-items:center}
.coordonnees .ic svg{width:20px;height:20px;stroke:var(--rouille);fill:none;stroke-width:1.7}
.coordonnees small{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texte-doux)}
.coordonnees span{font-weight:600;overflow-wrap:anywhere}
.coordonnees li>a>div,.coordonnees li>div>div{min-width:0}
.avis{display:flex;gap:14px;padding:18px 20px;border-radius:18px;background:var(--peche-clair);font-size:.93rem}
.avis svg{flex:none;width:22px;height:22px;stroke:var(--rouille);fill:none;stroke-width:1.8;margin-top:2px}

.formulaire{position:relative;padding:clamp(24px,4vw,48px);border-radius:32px;background:var(--creme);box-shadow:0 50px 100px -60px rgba(43,24,16,.45)}
.pas{display:none;gap:6px;margin-bottom:34px}
.js .pas{display:flex}
.pas button{flex:1;text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--texte-doux);padding-top:12px;position:relative}
.pas button::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:4px;background:rgba(96,53,32,.12)}
.pas button::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:4px;background:var(--rouille);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.pas button.fait::after,.pas button.ici::after{transform:scaleX(1)}
.pas button.ici{color:var(--rouille)}
.pas button:disabled{cursor:default}
/* Sans JS : toutes les étapes du formulaire sont affichées l'une sous l'autre */
.ecran{margin-bottom:34px}
.ecran[data-e="4"]{display:none}
.js .ecran{display:none;margin-bottom:0}
.js .ecran.ici{display:block;animation:entre .6s var(--ease)}
@keyframes entre{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
.ecran h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;margin-bottom:26px;letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"SOFT" 100}
.champ{position:relative;margin-bottom:18px}
.champ input,.champ textarea{width:100%;font:inherit;font-size:1.02rem;color:var(--texte);padding:26px 18px 10px;border-radius:16px;border:1.5px solid rgba(96,53,32,.18);background:var(--blanc);outline:none;transition:border-color .3s,box-shadow .3s;resize:vertical}
.champ textarea{min-height:150px}
.champ label{position:absolute;left:19px;top:18px;right:12px;color:var(--texte-doux);pointer-events:none;transition:all .25s var(--ease);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.champ input:focus,.champ textarea:focus{border-color:var(--rouille);box-shadow:0 0 0 4px rgba(161,74,29,.12)}
.champ input:focus+label,.champ input:not(:placeholder-shown)+label,.champ textarea:focus+label,.champ textarea:not(:placeholder-shown)+label{top:8px;font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--rouille)}
.champ.erreur input,.champ.erreur textarea{border-color:var(--erreur);animation:secoue .4s}
.champ .msg,.groupe .msg{display:none;font-size:.82rem;color:var(--erreur);margin-top:6px;padding-left:4px}
.champ.erreur .msg,.groupe.erreur .msg{display:block}
@keyframes secoue{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.groupe{margin-bottom:24px;border:0}
.groupe legend{font-weight:600;margin-bottom:10px;font-size:.95rem}
.groupe legend small{font-weight:400;color:var(--texte-doux)}
.options{display:flex;flex-wrap:wrap;gap:10px}
.option{position:relative;padding:12px 18px;border-radius:14px;border:1.5px solid rgba(96,53,32,.18);background:var(--blanc);font-size:.95rem;cursor:pointer;transition:all .25s var(--ease);line-height:1.25}
.option>span{display:flex;flex-direction:column;align-items:flex-start}
.option small{font-size:.78rem;color:var(--texte-doux)}
.option:hover{border-color:var(--rouille)}
.option:has(input:checked){background:var(--cacao);border-color:var(--cacao);color:var(--creme)}
.option:has(input:checked) small{color:rgba(251,243,234,.7)}
.option:has(input:focus-visible){outline:2.5px solid var(--rouille);outline-offset:3px}
.groupe.erreur .options{animation:secoue .4s}
.choisis{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.choisis span{font-size:.82rem;padding:6px 12px;border-radius:99px;background:var(--peche-clair);color:var(--brun);font-weight:500}
.nav-form{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:16px}
.retour{font-weight:600;color:var(--texte-doux);padding:10px 4px;visibility:hidden}
.retour:hover{color:var(--rouille)}
.recap{display:grid;gap:2px;margin-bottom:10px}
.recap div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid rgba(96,53,32,.12);font-size:.95rem}
.recap dt{color:var(--texte-doux)}
.recap dd{font-weight:500;white-space:pre-line;min-width:0;overflow-wrap:anywhere}
.merci{text-align:center;padding:30px 0 10px}
.merci svg{width:96px;height:96px;margin:0 auto 24px}
.merci circle{fill:none;stroke:var(--rouille);stroke-width:3;stroke-dasharray:280;stroke-dashoffset:280;animation:trace 1s .1s var(--ease) forwards}
.merci path{fill:none;stroke:var(--rouille);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:trace .6s .9s var(--ease) forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.merci p{color:var(--texte-doux);max-width:28em;margin:0 auto 12px}

footer{background:var(--cacao);color:var(--creme);padding:clamp(70px,9vw,120px) 0 90px;overflow:hidden}
.pied-haut{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(251,243,234,.14)}
.pied-haut>div{min-width:0}
.pied-haut h4{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--peche);margin-bottom:16px;font-weight:600}
.pied-haut p,.pied-haut a{color:rgba(251,243,234,.78);text-decoration:none;font-size:.95rem;line-height:1.9;overflow-wrap:anywhere}
.pied-haut a:hover{color:var(--peche)}
.pied-haut .appel{font-family:var(--serif);font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.15;font-weight:350;color:var(--creme);margin-bottom:24px;font-variation-settings:"SOFT" 100}
.pied-haut .appel em{color:var(--peche);font-variation-settings:"SOFT" 100,"WONK" 1}
.pied-haut .btn{line-height:1.4}
.opsq{display:flex;align-items:center;gap:14px;margin-top:8px}
.opsq img{width:120px;background:var(--blanc);border-radius:8px;padding:6px}
.urgence{margin-top:20px;font-size:.85rem!important;line-height:1.6!important;padding:14px 16px;border-radius:14px;background:rgba(251,243,234,.06)}
.geant{font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,15.5vw,15rem);line-height:.85;letter-spacing:-.05em;margin:50px 0 30px;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(244,180,150,.5);font-variation-settings:"SOFT" 100,"WONK" 1;font-style:italic;user-select:none}
.geant span{display:inline-block;transition:color .5s,-webkit-text-stroke-color .5s,transform .6s var(--ease)}
.geant span:hover{color:var(--peche);-webkit-text-stroke-color:var(--peche);transform:translateY(-6%) rotate(-4deg)}
.pied-bas{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem;color:rgba(251,243,234,.5)}

@media (max-width:980px){
  .liens{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:10px;background:var(--creme);clip-path:circle(0% at calc(100% - 40px) 40px);visibility:hidden;transition:clip-path .8s var(--ease),visibility 0s .8s;z-index:-1}
  .liens a{font-family:var(--serif);font-size:2.2rem;font-weight:400}
  .liens a.btn{font-family:var(--sans);font-size:1rem;margin-top:16px}
  .nav:has(#menu:checked) .liens{clip-path:circle(150% at calc(100% - 40px) 40px);visibility:visible;transition:clip-path .8s var(--ease),visibility 0s}
  .burger{display:block}
  .hero{padding-top:110px}
  .hero .wrap{grid-template-columns:1fr}
  .portrait-zone{order:-1;width:72%;max-width:320px;justify-self:center}
  .qui .wrap,.contact .wrap{grid-template-columns:1fr}
  .qui .colle{position:relative;top:0}
  .cartes,.etapes-rdv,.pied-haut{grid-template-columns:1fr}
  .defiler{display:none}
  .parcours .entete{flex-direction:column;align-items:start}
  .filtres{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--gouttiere));padding:4px var(--gouttiere) 8px;scrollbar-width:none}
  .filtres::-webkit-scrollbar{display:none}
  .filtre{flex:none}
}
@media (max-width:560px){
  .plateau{flex-direction:column;border-radius:24px;padding:18px;text-align:center}
  .recap div{grid-template-columns:1fr;gap:2px}
  .sortie small{display:none}
  .sortie{font-size:.8rem;padding:8px 14px 8px 10px}
  .sortie.leve{transform:translateY(-150px)}
  .solidaire{grid-template-columns:1fr;padding:26px 24px}
  .sceau{left:-10%}
  .pas button{font-size:0;letter-spacing:0}
  .pas button.ici{font-size:.7rem;letter-spacing:.06em;flex:2.4}
  .motif{padding:14px 16px}
  .etape{padding:30px 24px}
}
@media (max-width:480px){.logo span{display:none}.logo b{font-size:1.35rem}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .hero h1 .ligne>span,.js .fondu,.js [data-rev]:not(.vu){transform:none;opacity:1}
  .js .portrait,.js .photo-bureau:not(.vu){clip-path:none}
  .piste{animation:none}
}

/* v4 : petits utilitaires (aucun style en ligne, pour la politique de sécurité du site) */
.mt16{margin-top:16px}.mt22{margin-top:22px}.c-brun{color:var(--brun)}.max14{max-width:14em}
.evitement{position:fixed;left:16px;top:-80px;z-index:500;padding:12px 18px;border-radius:12px;background:var(--cacao);color:var(--creme);font-weight:600}
.evitement:focus{top:16px}
.aide{font-size:.86rem;line-height:1.5;color:var(--texte-doux);margin:-6px 0 8px;padding-left:4px}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consentement{margin-top:22px}
.consentement label{display:flex;gap:12px;align-items:flex-start;font-size:.93rem;line-height:1.5;cursor:pointer}
.consentement input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--rouille)}
.consentement a{color:var(--rouille);text-underline-offset:3px}
.consentement .msg{display:none;font-size:.82rem;color:var(--erreur);margin:6px 0 0 32px}
.consentement.erreur .msg{display:block}
.envoi-erreur{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--creme-2);color:var(--brun);font-size:.93rem;line-height:1.5}
.envoi-erreur a{color:var(--rouille);overflow-wrap:anywhere}
.merci h3:focus{outline:none}
.pied-bas a{color:inherit;text-underline-offset:3px}

/* v4 : pages secondaires (confidentialité, remerciement, erreur, 404) */
.page-simple{min-height:100vh;display:flex;flex-direction:column;background:var(--creme)}
.tete-simple{padding:24px 0}
.tete-simple .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.tete-simple .retour-site{font-weight:600;color:var(--rouille);text-underline-offset:3px;margin-right:150px}
.contenu-simple{flex:1;width:min(720px,100% - 40px);margin:0 auto;padding:30px 0 90px}
.contenu-simple h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,6vw,3.6rem);line-height:1.05;letter-spacing:-.025em;margin-bottom:18px;font-variation-settings:"SOFT" 100}
.contenu-simple h2{font-family:var(--serif);font-weight:400;font-size:1.55rem;line-height:1.2;margin:42px 0 12px;font-variation-settings:"SOFT" 100}
.contenu-simple p,.contenu-simple li{line-height:1.65;margin-bottom:12px}
.contenu-simple ul{padding-left:1.25em;list-style:disc}
.contenu-simple a{color:var(--rouille);overflow-wrap:anywhere;text-underline-offset:3px}
.contenu-simple .date{color:var(--texte-doux);font-size:.95rem}
.contenu-simple mark{background:var(--peche-clair);padding:1px 5px;border-radius:5px;font-weight:600}
.contenu-simple .btn{margin-top:18px;color:var(--creme)}
.pied-simple{padding:26px 0 96px;font-size:.88rem;color:var(--creme)}
.pied-simple .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pied-simple a{color:inherit;text-underline-offset:3px}
@media (max-width:560px){.tete-simple .retour-site{margin-right:0}}
@media (min-width:360px) and (max-width:560px){.nav-form .btn{white-space:nowrap;padding-left:20px;padding-right:20px}}

.lien-opsq{flex:none;display:block;border-radius:8px;transition:opacity .25s}
.lien-opsq:hover{opacity:.75}
.lien-opsq:focus-visible{outline:2px solid var(--rouille);outline-offset:3px}

/* v7 : les halos se fondent dans le fond avant la limite de la section d'accueil */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(140px,22vh,240px);background:linear-gradient(to bottom,rgba(251,243,234,0),rgba(251,243,234,.55) 55%,var(--creme) 92%);pointer-events:none}
.hero .wrap,.hero .defiler{z-index:1}

/* v9 : un thème choisi ne garde que ses motifs ; ceux qui reviennent apparaissent en douceur.
   Les motifs masqués restent cochés et comptés (d'où visibility plutôt que display:none). */
@keyframes motifEntre{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.motifs:has(#f-tout:checked) .motif,
.motifs:has(#f-sexualite:checked) .motif[data-t="sexualite"],
.motifs:has(#f-identite:checked) .motif[data-t="identite"],
.motifs:has(#f-relations:checked) .motif[data-t="relations"],
.motifs:has(#f-bienetre:checked) .motif[data-t="bienetre"],
.motifs:has(#f-realites:checked) .motif[data-t="realites"]{animation:motifEntre .45s var(--ease)}
@media (prefers-reduced-motion:reduce){.motif{animation:none!important}}

/* v10 : en mode étroit, le flou passe sur une couche à part. Un backdrop-filter sur .nav enfermait
   le panneau du menu (position fixed) dans la barre de 70 px une fois la page défilée. */
@media (max-width:980px){
  .nav,.js .nav:not(.compacte){backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav::before{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);pointer-events:none}
  .js .nav:not(.compacte)::before{display:none}
}

/* v12 : mention du créateur du site (mot-symbole Sito.Dramis en Instrument Sans) */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/instrument-sans-700.woff2) format('woff2')}
.credit{flex:1 0 100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 32px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(251,243,234,.14);font-size:.78rem;line-height:1.5;color:rgba(251,243,234,.72)}
.credit small{display:block;font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px}
.credit-mot{display:block;font-family:'Instrument Sans',var(--sans);font-weight:700;font-size:20px;line-height:1.1;letter-spacing:-.03em;color:#fff}
.credit p{margin:4px 0 0}
.credit-c{display:flex;flex-direction:column;gap:1px}
.credit a{color:inherit;text-decoration:none;white-space:nowrap;text-underline-offset:3px}
.credit a:hover{text-decoration:underline}
.credit a:focus-visible{outline:2px solid var(--peche);outline-offset:2px}

/* v14 : tarif « à partir de » et précision sur le présentiel */
.prix{flex-wrap:wrap}
.prix .a-partir{flex:0 0 100%;margin-bottom:-4px;font-size:.92rem}
.precision{display:block;margin-top:2px;font-size:.84rem;line-height:1.4;opacity:.8}
