.rencontres{padding:76px max(5%,calc((100% - 1320px)/2)) 72px;background:#faf6f3;color:#302238;overflow:hidden}
.rencontres-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end;margin-bottom:28px}
.rencontres-heading h2{margin:14px 0 0;font:400 clamp(32px,3.6vw,50px)/1.12 Georgia,serif;color:#260d34;letter-spacing:-.025em}
.rencontres-heading .eyebrow{margin:0;color:#765627;letter-spacing:.19em}
.rencontres-intro{max-width:410px;color:#665a69;font-size:16px;line-height:1.7;margin:0 0 3px}
.rencontres-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #d6c6bd;padding-top:18px;margin-bottom:18px}
.rencontres-toolbar p{margin:0;font-size:12px;line-height:1.5;color:#665a69;letter-spacing:.025em}
.rencontres-controls{display:flex;gap:8px;flex-shrink:0}
.rencontres-controls button,.rencontre-dialog-bottom button{width:44px;height:44px;border:1px solid #9c7b99;background:transparent;color:#54206e;cursor:pointer;font:24px/1 Arial,sans-serif;border-radius:50%;transition:background .18s,color .18s}
.rencontres-controls button:hover{background:#260d34;color:#fff}
.rencontres-controls button:disabled{opacity:.35;cursor:default;background:transparent;color:#54206e}
.rencontres-bandeau{list-style:none;margin:0;padding:0 0 14px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,190px);grid-auto-columns:240px;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#906c92 #e7dfe6}
.rencontre-item{margin:0;min-width:0;scroll-snap-align:start}
.rencontre-photo{display:block;position:relative;height:100%;overflow:hidden;background:#260d34;border:1px solid #c6a16a33;text-decoration:none!important;isolation:isolate}
.rencontre-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);transition:filter .3s,transform .4s}
.rencontre-photo::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(27,8,38,.9));pointer-events:none}
.rencontre-photo:hover img,.rencontre-photo:focus-visible img{filter:grayscale(0);transform:scale(1.025)}
.rencontre-caption{position:absolute;left:14px;right:10px;bottom:12px;color:#fff;z-index:1;font:600 12px/1.35 Arial,sans-serif;letter-spacing:.025em;text-shadow:0 1px 5px #15051a}
.rencontre-photo:focus-visible,.rencontres button:focus-visible,.rencontres-bandeau:focus-visible,.rencontre-dialog button:focus-visible{outline:3px solid #e50078;outline-offset:3px}
.rencontre-dialog{box-sizing:border-box;border:1px solid #c6a16a66;padding:0;background:#260d34;color:#fff;max-width:min(960px,94vw);width:fit-content;max-height:94dvh;overflow:auto;box-shadow:0 24px 100px #0007}
.rencontre-dialog::backdrop{background:rgba(15,5,22,.88);backdrop-filter:blur(5px)}
.rencontre-dialog-image{padding:42px 28px 0;display:flex;align-items:center;justify-content:center;min-height:180px}
.rencontre-dialog-image img{display:block;max-width:100%;width:auto;height:auto;max-height:72dvh;object-fit:contain}
.rencontre-close{position:absolute;right:4px;top:2px;width:42px;height:38px;border:0;background:transparent;color:#fff;font:30px/1 Arial,sans-serif;cursor:pointer}
.rencontre-dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 24px 20px}
.rencontre-dialog-bottom p{margin:0;text-align:center;font:14px/1.5 Arial,sans-serif;color:#fff}
.rencontre-dialog-bottom button{color:#fff;border-color:#b99eae;flex-shrink:0}
@media(max-width:800px){.rencontres{padding:54px 24px}.rencontres-heading{grid-template-columns:1fr;gap:18px}.rencontres-intro{max-width:600px}.rencontres-bandeau{grid-auto-columns:210px;grid-template-rows:repeat(2,170px)}}
@media(max-width:480px){.rencontres{padding:48px 20px}.rencontres-heading h2{font-size:34px}.rencontres-intro{font-size:15px}.rencontres-bandeau{grid-auto-columns:180px;grid-template-rows:repeat(2,150px);gap:8px}.rencontres-toolbar{align-items:flex-start}.rencontres-toolbar p{max-width:190px}.rencontre-dialog-image{padding:42px 12px 0}.rencontre-dialog-bottom{padding:15px 12px}.rencontre-caption{font-size:11px;left:11px;bottom:11px}}
@media(prefers-reduced-motion:reduce){.rencontre-photo img,.rencontres-controls button{transition:none}.rencontre-photo:hover img{transform:none}}
