/* Institut Le Grand Large, d'après Celune : cases bord à bord à angles vifs, boutons en pilule (100 px), Josefin Sans
   fine pour les titres, Be Vietnam Pro pour le texte, prune #862E63 du logo pour l'action.
   Les règles du premier écran (menu, héros, en-têtes, barre du bas) sont dans src/styles/critique.css (en ligne) ;
   ce fichier reprend à l'identique les jetons, la base et .btn pour la page de connexion de l'admin, qui le charge seul. */
:root{
  --prune:#862E63;--prune-f:#6F2652;--encre:#2B2729;--papier:#F7F4F2;--papier-2:#EFEAE7;--blanc:#FFFFFF;--gris:#625E60;--gris-logo:#757875;
  --filet:rgba(43,39,41,.14);--filet-clair:rgba(255,255,255,.22);--r:100px;
  --titres:'Josefin Sans',system-ui,sans-serif;--texte:'Be Vietnam Pro',system-ui,sans-serif;
  --marge:32px;
  --paper:#F7F4F2;--paper-2:#EFEAE7;--cream:#FFFFFF;--wine:#862E63;--green-ink:#2B2729;--ink:#2B2729;--muted:#625E60;--display:var(--titres);--ui:var(--texte);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--texte);color:var(--encre);background:var(--blanc);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,picture,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--prune);outline-offset:3px}
[data-cle]{white-space:pre-line}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px 1px;border:1px solid var(--prune);border-radius:var(--r);background:var(--prune);color:var(--blanc);font-family:var(--texte);font-size:16px;line-height:22px;font-weight:500;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){.btn:hover{background:var(--blanc);border-color:var(--encre);color:var(--encre)}}

/* BOUTONS ET LIENS (un seul gabarit : pilule de 48 px). Sur fond prune : bouton blanc, qui se vide au survol. */
.btn.btn-clair{background:var(--blanc);border-color:var(--blanc);color:var(--prune)}
@media (hover:hover){.btn.btn-clair:hover{background:transparent;border-color:var(--blanc);color:var(--blanc)}}
.btn.btn-filaire{min-height:48px;padding:0 26px 1px;background:transparent;border-color:var(--encre);color:var(--encre)}
@media (hover:hover){.btn.btn-filaire:hover{background:var(--encre);border-color:var(--encre);color:var(--blanc)}}
.lien{display:inline-block;color:var(--prune);font-weight:500;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 8px)/100% 1px no-repeat;padding:8px 0 10px;margin:-8px 0 -10px;transition:color .25s}
.lien-clair{color:var(--blanc)}
@media (hover:hover){.lien:hover{color:var(--encre)}.lien-clair:hover{color:#F0C4DD}}

/* SECTIONS */
.prest,.bilans,.avis,.faq-wrap,.intro,.tarifs,.duo,.encart-lien,.mot,.citation,.parcours{padding:112px var(--marge)}
.sec-tete{max-width:760px;margin:0 auto 56px;text-align:center}
.title{font-family:var(--titres);font-weight:300;font-size:48px;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.lead{margin-top:18px;font-size:18px;line-height:1.6;color:var(--gris);text-wrap:pretty}
.h3,.bilan h3{font-family:var(--titres);font-weight:400;font-size:30px;line-height:1.15;letter-spacing:-.01em}
.etiquette{display:inline-block;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--prune)}
.a-completer{margin-top:16px;padding-left:14px;border-left:2px solid var(--prune);font-size:14px;color:var(--gris)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* NOS PRESTATIONS (Celune « Where to begin ») */
.prest-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none}
.carte{display:flex;flex-direction:column;height:100%;min-height:300px;padding:32px;background:var(--papier);transition:background-color .3s}
.vignette{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden;margin-bottom:40px}
.vignette picture,.vignette img{width:100%;height:100%}
.vignette img{object-fit:cover}
.carte-nom{font-family:var(--titres);font-size:28px;line-height:1.15;letter-spacing:-.01em}
.carte-texte{margin-top:10px;font-size:16px;line-height:1.55;color:var(--gris)}
.carte-bas{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:32px;font-size:15px}
.carte-bas .prix{font-weight:500;color:var(--prune)}
.voir{display:inline-flex;align-items:center;gap:8px}
.voir svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.carte-prune{background:var(--prune);color:var(--blanc)}
.carte-prune .carte-texte{color:rgba(255,255,255,.88)}
.carte-prune .vignette{display:none}
@media (hover:hover){.carte:hover{background:var(--papier-2)}.carte-prune:hover{background:var(--prune-f)}}
.prest-hommes{max-width:760px;margin:40px auto 0;text-align:center;font-size:16px;color:var(--gris)}

/* BILANS OFFERTS (Celune « Skin concerns ») et duos des pages intérieures */
.bilans{padding-top:0}
.bilans-grille,.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.duo{max-width:1376px;margin:0 auto}
.bilan{display:flex;flex-direction:column;gap:16px;padding:48px;background:var(--papier)}
.bilan p{font-size:16px;line-height:1.6;color:var(--gris);max-width:520px}
.faits{list-style:none;border-top:1px solid var(--filet)}
.faits li{padding:12px 0;border-bottom:1px solid var(--filet);font-size:16px}
.bilan-bas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:auto;padding-top:16px}

/* AVIS (Celune « Patient stories ») */
.avis{background:var(--papier)}
.avis-carte{display:grid;grid-template-columns:2fr 1fr;background:var(--blanc)}
.avis-cite{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:64px}
.guillemets{width:32px;height:24px;fill:var(--prune)}
.avis-cite blockquote p{font-family:var(--titres);font-weight:300;font-size:34px;line-height:1.28;letter-spacing:-.01em;text-wrap:pretty}
.avis-cite figcaption,.avis-court figcaption,.citation figcaption{font-size:15px;color:var(--gris)}
.avis-photo{aspect-ratio:4/5;overflow:hidden}
.avis-photo picture,.avis-photo img{width:100%;height:100%}
.avis-photo img{object-fit:cover}
.avis-bas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.avis-notes,.avis .avis-court{padding:40px;background:var(--blanc)}
.avis-notes{display:flex;flex-direction:column;justify-content:center;gap:20px}
.avis-notes p{display:flex;align-items:baseline;gap:14px;font-size:16px}
.chiffre{font-family:var(--titres);font-weight:300;font-size:56px;line-height:1;color:var(--prune)}
.avis-notes a{border-bottom:1px solid var(--filet)}
.avis-court{display:flex;flex-direction:column;gap:16px}
.avis-court blockquote p{font-size:17px;line-height:1.6}
.avis-lien{margin-top:40px;text-align:center}

/* LISA (Celune « Clinic / Our team ») */
.lisa-cases{display:grid;grid-template-columns:2fr 1fr}
.lisa-photo{overflow:hidden;min-height:560px}
.lisa-photo picture,.lisa-photo img{width:100%;height:100%}
.lisa-photo img{object-fit:cover}
.lisa-prune{display:flex;flex-direction:column;gap:18px;padding:56px 48px;background:var(--prune);color:var(--blanc)}
.lisa-id{display:flex;align-items:center;gap:20px;margin-bottom:8px}
.lisa-portrait{flex:none;width:88px;height:88px;border-radius:50%;overflow:hidden}
.lisa-portrait picture,.lisa-portrait img{width:100%;height:100%}
.lisa-portrait img{object-fit:cover}
.lisa-prune .kicker{color:#F0C4DD;margin-bottom:6px}
.lisa-prune h2{font-family:var(--titres);font-weight:300;font-size:40px;line-height:1.1;letter-spacing:-.02em}
.lisa-prune p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.9)}
.lisa-prune blockquote p{font-family:var(--titres);font-size:22px;line-height:1.35;color:var(--blanc)}
.lisa-prune .btn{align-self:flex-start;margin-top:8px}
.parcours{padding-top:72px}
.parcours h3{font-size:13px;line-height:18px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--prune);margin-bottom:24px}
.parcours ol{display:grid;grid-template-columns:repeat(6,1fr);gap:0 24px;list-style:none}
.parcours li{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--filet);font-size:15px;line-height:1.5}
.parcours .date{font-family:var(--titres);font-size:24px;line-height:1.1;color:var(--prune)}

/* OFFRIR (Celune « The journal ») et fin des pages intérieures */
.offrir{display:grid;grid-template-columns:repeat(3,1fr)}
.offrir-prune,.fin-prune{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:56px 48px;background:var(--prune);color:var(--blanc)}
.offrir-prune h2,.fin-prune h2{font-family:var(--titres);font-weight:300;font-size:40px;line-height:1.1;letter-spacing:-.02em}
.offrir-prune p,.fin-prune p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.9)}
.offrir-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px}
.offrir-photo{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;color:var(--blanc)}
.offrir-photo>span:first-child,.offrir-photo picture,.offrir-photo img{display:block;width:100%;height:100%}
.offrir-photo img{object-fit:cover}
.offrir-legende{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:120px 32px 32px;background:linear-gradient(0deg,rgba(24,20,22,.82),rgba(24,20,22,0));font-family:var(--titres);font-size:24px;line-height:1.2}
.offrir-legende .prix{flex:none;font-family:var(--texte);font-size:16px;font-weight:500}
.fin{display:grid;grid-template-columns:1fr 1fr}
.fin-prune{padding:72px var(--marge) 72px max(var(--marge),calc((100vw - 1376px)/2))}
.fin-photo{overflow:hidden;min-height:460px}
.fin-photo picture,.fin-photo img{width:100%;height:100%}
.fin-photo img{object-fit:cover}

/* QUESTIONS : un seul ouvert, ouverture et fermeture qui glissent (app.js) */
.faq{max-width:860px;margin:0 auto;border-top:1px solid var(--filet)}
.faq details{border-bottom:1px solid var(--filet)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--titres);font-size:22px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--prune),var(--prune)) center/14px 1.5px no-repeat,linear-gradient(var(--prune),var(--prune)) center/1.5px 14px no-repeat;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.faq details[open]:not(.ferme) summary::after{transform:rotate(45deg)}
.faq details>div{overflow:hidden}
.faq details p{padding:0 48px 24px 0;font-size:16px;line-height:1.65;color:var(--gris)}
.faq-lien{margin-top:32px;text-align:center}
.faq-wrap{background:var(--blanc)}

/* VENIR À L'INSTITUT */
.venir{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding:112px var(--marge);max-width:1440px;margin:0 auto}
.venir-txt>p:first-of-type,.venir-txt .title+p{margin-top:20px;font-size:17px;line-height:1.6;color:var(--gris)}
.adresse{margin-top:28px;font-family:var(--titres);font-size:26px;line-height:1.25}
.venir-liens{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.venir h3{margin-top:48px;margin-bottom:12px;font-size:13px;line-height:18px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--prune)}
.horaires{list-style:none;border-top:1px solid var(--filet)}
.horaires li{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--filet);font-size:16px}
.horaires li.off{color:var(--gris)}
.horaires small,.hrs small{color:var(--gris);font-size:14px}
.note-info{margin-top:14px;font-size:15px;color:var(--gris)}
.venir-photo .fx-img{aspect-ratio:4/3;overflow:hidden}
.venir-photo picture,.venir-photo img{width:100%;height:100%}
.venir-photo img{object-fit:cover}
.venir-photo .avis-court{margin-top:8px;padding:32px;background:var(--papier)}

/* FORMULAIRE */
.demande{display:grid;grid-template-columns:5fr 7fr;gap:64px;padding:112px var(--marge);background:var(--papier)}
.demande-txt p+p{margin-top:16px}
.demande-txt .lead+p{margin-top:28px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;align-content:start}
.form .large{grid-column:1/-1}
.form label,.champ-titre,.form legend{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}
.form label small{font-weight:400;color:var(--gris)}
.form label>span{display:block}
.form input:not([type=radio]),.form textarea,.choix summary{width:100%;min-height:52px;padding:14px 16px;font:inherit;font-size:16px;font-weight:400;color:var(--encre);background:var(--blanc);border:1px solid var(--filet);border-radius:0;transition:border-color .2s}
.form textarea{resize:vertical;min-height:120px}
.form input:not([type=radio]):focus,.form textarea:focus,.choix summary:focus-visible{outline:0;border-color:var(--prune)}
.form input::placeholder,.form textarea::placeholder{color:#8A8587}
.form fieldset{border:0}
.form legend{margin-bottom:8px}
.segments{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.segments label{position:relative;display:block}
.segments input{position:absolute;opacity:0;inset:0}
.form .segments label>span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--filet);border-radius:var(--r);background:var(--blanc);font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.form .segments input:checked+span{background:var(--prune);border-color:var(--prune);color:var(--blanc)}
.segments input:focus-visible+span{outline:2px solid var(--prune);outline-offset:3px}
.champ-titre{margin-bottom:8px}
.choix{position:relative}
.choix summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}
.choix summary::-webkit-details-marker{display:none}
.choix summary svg{width:18px;height:18px;fill:none;stroke:var(--prune);stroke-width:1.6;transition:transform .25s}
.choix[open] summary svg{transform:rotate(180deg)}
.choix ul{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);list-style:none;max-height:none;background:var(--blanc);border:1px solid var(--filet)}
.choix li label{flex-direction:row;align-items:center;gap:0;padding:12px 16px;font-size:16px;font-weight:400;cursor:pointer}
.choix li input{position:absolute;opacity:0}
.choix li label:hover,.choix li input:checked+span{color:var(--prune)}
.choix li input:focus-visible+span{outline:2px solid var(--prune);outline-offset:2px}
.form .btn{justify-self:start;margin-top:4px}
.form-aide{font-size:14px;color:var(--gris)}
.form-aide a{text-decoration:underline}
.form-retour{font-size:15px;color:var(--prune)}
.form-retour:empty{display:none}
.merci{padding:40px;background:var(--blanc);font-family:var(--titres);font-size:24px;line-height:1.35}

/* PAGES INTÉRIEURES */
.intro{max-width:860px;margin:0 auto;text-align:center}
.intro p+p{margin-top:16px}
.intro p:not(.lead){font-size:16px;color:var(--gris)}
.intro .title+p.fx:not(.lead){margin-top:18px}
.tarifs{background:var(--papier)}
.tarifs-corps{max-width:900px;margin:0 auto}
.tarifs-groupe+.tarifs-groupe{margin-top:64px}
.tarifs-groupe h3{font-family:var(--titres);font-weight:400;font-size:30px;line-height:1.15;scroll-margin-top:24px}
.groupe-desc{margin-top:10px;font-size:16px;color:var(--gris)}
.lignes-prix{list-style:none;margin-top:24px;border-top:1px solid var(--filet)}
.lignes-prix li{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--filet)}
.lignes-prix b{font-weight:500;font-size:17px}
.lignes-prix b a{border-bottom:1px solid var(--filet)}
.lignes-prix small{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:var(--gris)}
.lignes-prix small .etiquette{margin-right:10px}
.lignes-prix .prix{flex:none;font-size:17px;font-weight:500;color:var(--prune);white-space:nowrap}
.citation{max-width:960px;margin:0 auto;text-align:center}
.citation blockquote p{font-family:var(--titres);font-weight:300;font-size:32px;line-height:1.3;letter-spacing:-.01em;text-wrap:balance}
.citation figcaption{margin-top:20px}
.duo .citation{padding:48px;background:var(--papier);display:flex;flex-direction:column;justify-content:center}
.duo .citation blockquote p{font-size:26px}
.encart-lien{padding-top:0;max-width:1376px;margin:0 auto}
.encart{display:flex;flex-direction:column;gap:10px;padding:48px;background:var(--papier);transition:background-color .3s}
.encart-titre{font-family:var(--titres);font-size:30px;line-height:1.15}
.encart .voir{margin-top:12px;color:var(--prune);font-weight:500}
@media (hover:hover){.encart:hover{background:var(--papier-2)}}
.mot{display:grid;grid-template-columns:120px 1fr;gap:40px;max-width:960px;margin:0 auto}
.mot-portrait{width:120px;height:120px;border-radius:50%;overflow:hidden}
.mot-portrait picture,.mot-portrait img{width:100%;height:100%}
.mot-portrait img{object-fit:cover}
.mot p:not(.lead){margin-top:16px;font-size:16px;color:var(--gris)}
.signature{font-family:var(--titres);font-size:24px;color:var(--prune)!important}
.bref{list-style:none;border-top:1px solid var(--filet)}
.bref li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--filet);font-size:16px}
.bref a{font-weight:500}
.bref span{color:var(--prune);text-align:right}
.page{max-width:820px;margin:0 auto;padding:160px var(--marge) 96px}
.page h1{font-family:var(--titres);font-weight:300;font-size:48px;line-height:1.12;letter-spacing:-.02em}
.page .lead{margin-bottom:24px}
.page h2{margin-top:40px;font-family:var(--titres);font-weight:400;font-size:26px;line-height:1.2}
.page p{margin-top:12px;font-size:16px;line-height:1.7}
.page p a{text-decoration:underline}
.form-simple{grid-template-columns:1fr;max-width:520px;margin-top:32px}

/* PIED DE PAGE */
footer.site{background:var(--encre);color:rgba(255,255,255,.82)}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;max-width:1440px;margin:0 auto;padding:80px var(--marge) 56px;font-size:15px;line-height:1.6}
.foot-logo{width:72px;height:auto;margin-bottom:20px}
.foot p+p{margin-top:14px}
.foot h2{margin-bottom:16px;font-size:12px;line-height:18px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.foot a{transition:color .2s}
.hrs li{display:grid;grid-template-columns:96px 1fr;gap:12px}
.hrs small{color:rgba(255,255,255,.62)}
.bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;max-width:1440px;margin:0 auto;padding:24px var(--marge);border-top:1px solid var(--filet-clair);font-size:13px;color:rgba(255,255,255,.62)}
.bottom nav{display:flex;flex-wrap:wrap;gap:8px 24px}
@media (hover:hover){.foot a:hover,.bottom a:hover{color:var(--blanc)}}


/* Cibles tactiles : 44 px de haut pour les petits liens, sans changer la mise en page. */
.note a,.avis-notes a,.bottom nav a,.foot a{display:inline-block;padding:11px 0;margin:-11px 0}
.foot ul{gap:6px}

/* TABLETTE */
@media (max-width:1100px){
  .prest-grille{grid-template-columns:1fr 1fr}
  .parcours ol{grid-template-columns:repeat(3,1fr);gap:24px}
  .avis-bas{grid-template-columns:1fr 1fr}
  .avis-notes{grid-column:1/-1}
  .foot{grid-template-columns:1fr 1fr}
  .lisa-cases{grid-template-columns:1fr 1fr}
  .offrir{grid-template-columns:1fr 1fr}
  .offrir-prune{grid-column:1/-1}
}

/* TÉLÉPHONE */
@media (max-width:809px){
  :root{--marge:24px}
  .prest,.bilans,.avis,.faq-wrap,.intro,.tarifs,.duo,.encart-lien,.mot,.citation,.parcours,.venir,.demande{padding:72px var(--marge)}
  .bilans,.encart-lien{padding-top:0}
  .sec-tete{margin-bottom:36px}
  .title,.page h1{font-size:34px}
  .lead{font-size:17px}
  .prest-grille,.bilans-grille,.duo,.avis-carte,.avis-bas,.lisa-cases,.offrir,.fin,.venir,.demande,.form,.mot{grid-template-columns:1fr}
  .carte{min-height:0;padding:28px}
  .vignette{margin-bottom:28px}
  .bilan,.encart,.duo .citation{padding:32px 24px}
  .avis-cite{padding:40px 24px}
  .avis-cite blockquote p{font-size:26px}
  .avis-photo{aspect-ratio:4/3}
  .avis-notes,.avis .avis-court{padding:32px 24px}
  .lisa-photo{min-height:0;aspect-ratio:4/3}
  .lisa-prune,.offrir-prune,.fin-prune{padding:48px var(--marge)}
  .lisa-prune h2,.offrir-prune h2,.fin-prune h2{font-size:34px}
  .lisa-prune .btn,.offrir-actions .btn,.venir-liens .btn,.form .btn,.bilan-bas .btn{width:100%}
  .parcours ol{grid-template-columns:1fr 1fr}
  .offrir-photo{aspect-ratio:4/3}
  .offrir-legende{padding:80px 24px 24px;font-size:22px}
  .fin-photo{min-height:0;aspect-ratio:4/3}
  .venir{gap:40px}
  .horaires li{grid-template-columns:110px 1fr}
  .demande{gap:36px}
  .faq summary{font-size:20px}
  .faq details p{padding-right:0}
  .citation blockquote p{font-size:25px}
  .mot{gap:24px;text-align:left}
  .lignes-prix li{gap:16px}
  .page{padding-top:120px}
  .foot{grid-template-columns:1fr;gap:36px;padding:56px var(--marge) 40px}
  .bottom{flex-direction:column}
}
@media (max-width:359px){
  :root{--marge:20px}
  .title,.page h1{font-size:30px}
  .parcours ol{grid-template-columns:1fr}
  .horaires li{grid-template-columns:96px 1fr}
  .segments span{font-size:15px}
}
