/* Rencontres physiques — galerie locale, défilement natif sans lecture automatique. */
#rencontres { padding:88px 28px 96px; background:#fff; color:#0b1220; overflow:hidden; }
#rencontres * { box-sizing:border-box; }
#rencontres .yp-head { max-width:690px; margin:0 auto 38px; text-align:center; }
#rencontres .company-eyebrow { margin:0 0 18px; }
#rencontres h2 { margin:0; font-size:clamp(34px,4.4vw,52px); line-height:1.04; font-weight:600; letter-spacing:-.035em; }
#rencontres .yp-head>p:last-child { margin:20px 0 0; font-size:17px; line-height:1.6; color:#66717d; text-wrap:balance; }
#rencontres .yp-gallery { max-width:1040px; margin:auto; }
#rencontres .yp-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:0 4px 16px; font-size:13px; color:#66717d; }
#rencontres .yp-controls { display:flex; gap:8px; }
#rencontres [hidden] { display:none!important; }
#rencontres button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #e3e7ec; border-radius:50%; color:#273444; background:#fff; cursor:pointer; transition:background .15s,color .15s; }
#rencontres button:hover:not(:disabled) { background:#edf5ff; color:#007aff; }
#rencontres button:disabled { opacity:.35; cursor:default; }
#rencontres button svg { width:20px; height:20px; }
#rencontres :is(button,.yp-track):focus-visible { outline:2px solid #007aff; outline-offset:4px; }
#rencontres .yp-track { display:flex; gap:18px; list-style:none; padding:2px 2px 16px; margin:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:2px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#c7d2df transparent; border-radius:18px; }
#rencontres .yp-slide { flex:0 0 calc((100% - 36px)/3); min-width:0; scroll-snap-align:start; }
#rencontres figure { margin:0; }
#rencontres img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:50% 44%; background:#eee9e2; border-radius:16px; }
@media(max-width:760px) {
 #rencontres { padding:58px 0 64px; }
 #rencontres .yp-head { padding:0 24px; margin-bottom:26px; }
 #rencontres .yp-head>p:last-child { font-size:16px; }
 #rencontres .yp-toolbar { padding:0 24px 14px; }
 #rencontres .yp-track { padding:2px 24px 16px; scroll-padding-inline:24px; border-radius:0; gap:14px; }
 #rencontres .yp-slide { flex-basis:78%; }
 #rencontres img { aspect-ratio:3/4; }
}
@media(prefers-reduced-motion:reduce) { #rencontres button { transition:none; } }
