/* pt502u · homogénéisation responsive : accueil, contact, infrastructure */
:root{--menu-h:84px;--rythme:clamp(72px,9vw,130px);--titre-section:clamp(2.4rem,5.6vw,5.5rem);--carte-m:clamp(8px,.9vw,13px);--gout-base:clamp(16px,4vw,48px)}
@media (max-width:900px){:root{--menu-h:88px}}
html{scroll-padding-top:0!important;overflow-x:clip}
body{overflow-x:clip}
main section,section[id],[id]{scroll-margin-top:var(--menu-h)}
/* blocs-cartes (sombres, en retrait) : texte aligné sur la même gouttière que les sections pleine largeur */
.relie,.departements,.connect,.service--accueil,.tete-page,.couloir,.iv2-residence,.appel{--gouttiere:max(8px,calc(var(--gout-base) - var(--carte-m)))}
/* même rythme vertical pour les sections de contenu */
main .section:not(.relie):not(.departements),.service--accueil,.tete-page{padding-top:var(--rythme)!important;padding-bottom:var(--rythme)!important}
/* même échelle de titres de section */
main .section > * h2:first-of-type,main .section > h2,.service--accueil h2:first-of-type,.couloir h2:first-of-type,.tete-page h1,.tete-page h2{font-size:var(--titre-section)!important}
/* scènes sticky plein écran : conservées à top:0, leur contenu est déjà décalé sous le menu (padding var(--barre)) ; vérifié */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
