:root{--encre:#003b4c;--bouton:rgba(10,65,74,.91);--texte-bouton:#fff;--rayon:999px;--largeur-bouton:19.1vw;--hauteur-bouton:3.8vw}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Georgia,'Times New Roman',serif;color:var(--encre)}header{min-height:24px;background:white;display:flex;justify-content:flex-end;align-items:center;padding:3px 20px}header nav{display:flex;gap:17px;flex-wrap:wrap;justify-content:flex-end}header a,header button{font:inherit;font-size:12px;color:#74818a;text-decoration:none;border:0;padding:0;background:none;cursor:pointer}header [aria-current]{color:#334853}.accueil{position:relative;isolation:isolate;min-height:calc(100svh - 24px);background:#d4cfb4;display:flex;align-items:center;overflow:hidden}video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.composition{width:100%;display:grid;grid-template-columns:1fr var(--largeur-bouton);align-items:center;padding:clamp(45px,9.2vh,110px) 6.7vw;gap:7vw}.identite h1{font-size:clamp(38px,3.85vw,76px);font-weight:500;line-height:1.02;margin:0 0 1.9vw}.identite p{font-size:clamp(16px,1.52vw,26px);line-height:1.38;margin:0}.menu{display:flex;flex-direction:column;gap:clamp(24px,3.05vw,58px)}.menu button{width:100%;min-height:max(44px,var(--hauteur-bouton));padding:9px 12px;border:0;border-radius:var(--rayon);background:var(--bouton);color:var(--texte-bouton);font:600 clamp(14px,1.31vw,22px)/1.3 Georgia,'Times New Roman',serif;cursor:pointer;transition:background .18s,transform .18s}.menu button:hover{background:#003b4c;transform:translateY(-2px)}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #003b4c}dialog{border:0;border-radius:20px;max-width:min(90vw,450px);padding:30px;color:var(--encre);background:#fff}dialog::backdrop{background:#001b2e80}dialog h2{margin-top:0}dialog p{font-size:17px;line-height:1.5}dialog button{background:var(--bouton);color:white;border:0;border-radius:30px;padding:14px 22px;font:inherit;cursor:pointer}.pause{position:absolute;bottom:12px;right:14px;background:#164650b3;color:white;border:1px solid #ffffff80;border-radius:50%;width:44px;height:44px;cursor:pointer}
@media(min-width:1600px){.composition{max-width:2000px;margin:auto}}
@media(max-width:1050px){:root{--largeur-bouton:26vw}.composition{gap:5vw;padding-inline:6vw}.menu{gap:25px}.identite h1{font-size:44px}.identite p{font-size:17px}.desktop-break{display:none}.identite{max-width:440px}}
@media(max-width:620px){header{padding:9px 14px;min-height:36px}header nav{gap:13px}header a,header button{font-size:12px}.accueil{min-height:calc(100svh - 36px)}.composition{grid-template-columns:1fr;gap:36px;padding:45px 25px 64px}.identite{max-width:none;text-align:center}.identite h1{font-size:46px;margin-bottom:20px}.identite p{font-size:17px;max-width:330px;margin:auto}.menu{width:min(100%,340px);margin:auto;gap:17px}.menu button{min-height:48px;font-size:16px}video{object-position:42% center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
/* Le libellé long conserve la même hauteur que les autres boutons. */
.menu button{font-weight:400}.menu button:nth-child(5){font-size:clamp(13px,1.12vw,19px)}
@media(max-width:620px){.menu button:nth-child(5){font-size:14px}}
/* Titres sur ordinateur et tablette, numéros conservés sur téléphone. */
header .nav-number{display:none}
header .nav-title{display:inline}
@media(min-width:651px){header a,header button{font-size:14px}header{padding-block:7px}}
@media(max-width:650px){header .nav-title{display:inline}header{padding:10px 14px}header nav{justify-content:center;gap:5px 15px;width:100%}header a,header button{font-size:14px;line-height:1.4;padding:8px 0;white-space:nowrap}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .menu button,.conditions-seance,dialog button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
 .menu button:hover,.conditions-seance:hover,dialog button:hover{transform:translateY(-5px);box-shadow:0 12px 22px #001b2933}
}
/* Halo translucide des boutons de l’accueil. */
.accueil .menu button{border:1px solid rgba(255,255,255,.18);box-shadow:0 0 14px 3px rgba(255,255,255,.16)}
@media(hover:hover) and (pointer:fine){.accueil .menu button:hover{background:#265e66;box-shadow:0 0 20px 4px rgba(255,255,255,.28)}}
.accueil .menu button:focus-visible{background:#265e66;box-shadow:0 0 20px 4px rgba(255,255,255,.28)}
