/* Real photographs: proportionate crops, restrained framing, original lighting. */
.venue-night-panorama .night-backdrop img{object-position:50% 56%;filter:brightness(.88) saturate(.88);transform:scale(1);animation:club-panorama-drift 20s ease-in-out infinite alternate}
.venue-night-panorama .night-shade{background:linear-gradient(90deg,rgba(8,8,8,.65),rgba(8,8,8,.12) 38%,rgba(8,8,8,.42) 51%,rgba(8,8,8,.91) 74%,rgba(8,8,8,.97)),linear-gradient(0deg,rgba(8,8,8,.38),transparent 50%,rgba(8,8,8,.18))}
@keyframes club-panorama-drift{from{transform:scale(1)}to{transform:scale(1.025)}}
.concept-photo img[src*="guinguette-apero-parvis"]{object-position:52% 53%;filter:saturate(.9)}
.concept-photo img[src*="club-amis-fete"]{object-position:60% 45%;filter:saturate(.82)}
.taste-photo img[src*="restaurant-assiettes-service"]{object-position:50% 47%;filter:saturate(.95)}
.venue-page-photo img[src*="guinguette-dejeuner"]{object-position:51% 48%;filter:saturate(.92)}
.weekly-photo img[src*="club-dj-public"]{object-position:52% 43%;filter:saturate(.8)}
.story-photo-pair .story-photo-inset img[src*="restaurant-moment-famille"]{object-position:50% 42%;filter:saturate(.92)}
.event-memory-photo img[src*="entreprise-reception"]{object-position:50% 57%}
.event-memory-photo img[src*="anniversaire-groupe"]{object-position:50% 42%}
.event-hero-guests>img[src*="entreprise-prise-parole"]{aspect-ratio:2048/1363;filter:saturate(.9)}
.journey-step img[src*="guinguette-tables-parasols"],.journey-step img[src*="guinguette-salons-exterieurs"]{object-position:50% 48%;filter:saturate(.9)}
.journey-step img[src*="evenement-piste-danse"]{object-position:50% 55%;filter:saturate(.82)}
.journey-step img[src*="evenement.webp"]{object-position:50% 46%;filter:saturate(.9)}
.venue-slide img[src*="guinguette-vivante"]{object-position:56% 54%;filter:saturate(.9) brightness(.95)}
.concept-photo img[src*="guinguette-vivante"]{object-position:56% 50%;filter:saturate(.9)}
.venue-page-photo img[src*="guinguette-vivante"]{object-position:64% 52%;filter:saturate(.92)}
.venue-page-photo img[src*="restaurant-service-burger"]{object-position:50% 63%;filter:saturate(.95)}
.taste-photo img[src*="restaurant-service-burger"]{object-position:50% 69%;filter:saturate(.95)}
.restaurant-pair img[src*="guinguette-grande-tablee"]{object-position:53% 50%;filter:saturate(.95)}
.restaurant-pair img[src*="restaurant-nachos-partage"]{object-position:50% 49%;filter:saturate(.95)}
.groups-image img[src*="entreprise-invites"]{width:100%;height:auto;aspect-ratio:2048/1363;object-fit:contain;filter:saturate(.86)}
.journey-step img[src*="guinguette-vivante"]{object-position:58% 53%;filter:saturate(.9)}
.journey-step img[src*="restaurant-assiettes-service"]{object-position:50% 58%;filter:saturate(.95)}
.journey-step img[src*="restaurant-service-burger"]{object-position:50% 70%;filter:saturate(.95)}
.wide-photo img[src*="anniversaire-bougies"]{object-position:50% 42%;filter:saturate(.9)}

/* Keep the whole group in view and the caption below their faces. */
.event-hero-guests{align-self:center;min-height:0;padding:12px;border:1px solid var(--line);background:var(--surface)}
.event-hero-guests>img{position:static;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:2048/1363;object-fit:contain;filter:saturate(.86)}
.event-hero-guests:after{display:none}
.event-hero-guests .event-hero-caption{position:static;text-align:left;padding:22px 14px 14px;font-size:clamp(2rem,3.4vw,3.2rem)}

.event-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,42px)}
.event-memory{min-width:0}
.event-memory-photo{overflow:hidden}
.event-memory-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:saturate(.88);transition:transform 800ms ease}
.event-memory-photo img[src*="anniversaire-bougies"]{object-position:50% 40%}
.event-memory-photo img[src*="animation-casino-royal"]{object-position:50% 67%}
.event-memory-copy{padding-top:22px;border-top:1px solid var(--line);margin-top:18px}
.event-memory h3{font-size:clamp(1.9rem,2.8vw,3rem);margin-bottom:16px}
.event-memory p{font-size:1rem;line-height:1.8;margin-bottom:22px;color:var(--muted)}
.event-memory .text-link{font-size:.9375rem}
.event-memory-grid.is-solo{grid-template-columns:1fr}
.is-solo .event-memory{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(28px,5vw,80px)}
.is-solo .event-memory-copy{padding-top:28px;margin-top:0}
.is-solo .event-memory-photo img{aspect-ratio:4/3}
.is-solo .event-memory-photo img[src*="casino-royal-participants"]{aspect-ratio:3/4;max-height:620px;object-fit:contain;object-position:center;filter:saturate(.87)}
.is-solo .event-memory h3{font-size:clamp(2.8rem,4vw,4.6rem);color:var(--gold)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .event-memory:hover .event-memory-photo img{transform:scale(1.025)}
}
.venue-slide img[src*="ambiance-club-danse"]{object-position:50% 38%;filter:saturate(.78) brightness(.85)}
.night-backdrop img[src*="ambiance-club-foule"]{object-position:50% 38%;filter:brightness(.61) saturate(.72)}
.weekly-photo img[src*="ambiance-plein-air"]{object-position:50% 35%;filter:saturate(.84)}
.weekly-photo img[src*="ambiance-club-danse"]{object-position:50% 35%;filter:saturate(.8)}
.story-photo img[src*="ambiance-club-portrait"]{object-position:53% 45%;filter:saturate(.8)}
.journey-step img[src*="ambiance-club-danse"]{object-position:50% 40%}
.wide-photo img[src*="ambiance-club-amis"]{object-position:50% 45%;filter:saturate(.8)}

.club-moments{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,3vw,48px);padding-bottom:clamp(30px,4vw,64px)}
.club-moments figure{margin:0;min-width:0}
.club-moments figure:nth-child(2){padding-top:54px}
.club-moments img{width:100%;height:clamp(260px,28vw,420px);object-fit:cover;object-position:50% 40%;filter:saturate(.78)}
.club-moments figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:18px 0;font-size:.875rem;line-height:1.6;letter-spacing:.045em}
.club-moments figcaption span:first-child{color:var(--gold)}
.club-moments figcaption span:last-child{color:var(--muted);font-size:.75rem}

.thursday-with-photo>.wrap{grid-template-columns:1.25fr .75fr;gap:clamp(30px,7vw,110px);align-items:center}
.thursday-with-photo .thursday-copy{min-width:0}
.thursday-with-photo .eyebrow{display:block;margin-bottom:22px}
.thursday-with-photo h2{font-size:clamp(3.4rem,5.6vw,6.2rem);margin-bottom:28px}
.thursday-with-photo p{max-width:530px;margin-bottom:28px}
.thursday-photo{margin:0;position:relative;max-width:430px;justify-self:end;width:100%;border:1px solid var(--line);padding:12px;background:var(--bg)}
.thursday-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 38%;filter:saturate(.83)}
.thursday-photo figcaption{font-size:.875rem;line-height:1.6;letter-spacing:.05em;padding:15px 5px 4px;color:var(--gold)}

.story-photo-pair{position:relative;overflow:visible;padding:0 0 110px}
.story-photo-pair .story-photo-main{width:90%;overflow:hidden}
.story-photo-pair .story-photo-main img{width:100%;height:500px}
.story-photo-pair .story-photo-inset{position:absolute;bottom:0;right:0;width:68%;margin:0;padding:10px;background:var(--bg);border:1px solid var(--line)}
.story-photo-pair .story-photo-inset img{height:auto;aspect-ratio:3/2;width:100%;object-fit:cover;object-position:center;filter:saturate(.76)}
.story-photo-inset figcaption{font-size:.875rem;line-height:1.6;padding:10px 3px 0;color:var(--gold)}

@media(max-width:960px){
 .event-memory-grid{grid-template-columns:1fr 1fr}
 .event-memory-grid:not(.is-solo) .event-memory:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
 .event-memory-grid:not(.is-solo) .event-memory:last-child .event-memory-copy{margin-top:0}
 .thursday-with-photo>.wrap{grid-template-columns:1.1fr .9fr;gap:30px}
 .thursday-with-photo h2{font-size:clamp(2.6rem,5.4vw,4.5rem)}
 .story-photo-pair .story-photo-main img{height:440px}
 .story-photo-pair .story-photo-inset{width:82%}
}
@media(max-width:640px){
 .venue-night-panorama{min-height:0;padding-block:26px 60px;background:var(--bg)}
 .venue-night-panorama .night-backdrop{inset:0 0 auto;height:360px}
 .venue-night-panorama .night-backdrop img{object-position:50% 54%;filter:brightness(.96) saturate(.9);animation:none;transform:none}
 .venue-night-panorama .night-shade{background:linear-gradient(180deg,rgba(8,8,8,.08),rgba(8,8,8,.18) 150px,rgba(8,8,8,.78) 270px,var(--bg) 360px)}
 .venue-night-panorama .night-head{padding-top:185px}
 .venue-night-panorama .night-head .eyebrow{margin-bottom:19px}
 .venue-night-panorama .night-head h2{font-size:clamp(4.4rem,20vw,7rem)}
 .venue-slide img[src*="guinguette-vivante"]{object-position:65% center}
 .venue-page-photo img[src*="restaurant-service-burger"]{object-position:50% 69%}
 .restaurant-pair img[src*="guinguette-grande-tablee"]{height:auto;aspect-ratio:3/2}
 .event-memory-grid{grid-template-columns:1fr;gap:36px}
 .is-solo .event-memory,.event-memory-grid:not(.is-solo) .event-memory:last-child{display:block}
 .event-memory-grid:not(.is-solo) .event-memory:last-child .event-memory-copy{margin-top:18px}
 .event-hero-guests .event-hero-caption{padding:18px 8px 10px}
 .event-hero-guests .event-hero-caption small{font-size:.75rem}
 .is-solo .event-memory-copy{margin-top:18px}
 .venue-slide img[src*="ambiance-club-danse"]{object-position:59% center}
 .night-backdrop img[src*="ambiance-club-foule"]{object-position:45% center}
 .club-moments{grid-template-columns:1fr;gap:28px;padding-bottom:30px}
 .club-moments figure:nth-child(2){padding-top:0}
 .club-moments img{height:auto;aspect-ratio:3/2}
 .club-moments figcaption{padding-block:14px}
 .thursday-with-photo>.wrap{grid-template-columns:1fr;gap:32px}
 .thursday-with-photo h2{font-size:clamp(2.8rem,11vw,4rem)}
 .thursday-photo{max-width:420px;justify-self:center}
 .story-photo-pair{padding-bottom:88px}
 .story-photo-pair .story-photo-main img{height:360px}
 .story-photo-pair .story-photo-inset{width:76%}
}
@media(prefers-reduced-motion:reduce){.venue-night-panorama .night-backdrop img{animation:none!important;transform:none}}
@media(prefers-reduced-motion:reduce){.event-memory-photo img{transition:none}}

/* Winter Thursdays and entertainment for private groups. */
.venue-hero-identity .venue-slide:first-child{left:37%;transform:scale(1.025)}
.venue-hero-identity .venue-slide:first-child.is-active{transform:scale(1)}
.venue-hero-identity .venue-slide img[src*="enseigne-accueil"]{object-position:50% 37%;filter:brightness(1) saturate(.85)}
.venue-hero-identity .venue-shade{background:linear-gradient(90deg,rgba(8,8,8,.95),rgba(8,8,8,.75) 34%,rgba(8,8,8,.14) 62%,rgba(8,8,8,.08)),linear-gradient(0deg,rgba(8,8,8,.92),transparent 65%)}
.karaoke-photos{min-width:0}
.karaoke-companion{width:78%;margin:28px 0 0 auto}
.karaoke-companion img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:saturate(.9)}
.karaoke-companion figcaption{color:var(--gold);font-size:.85rem;padding-top:14px;line-height:1.6}
.concert-section{scroll-margin-top:120px}
.program-live-link{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding-block:38px;border-block:1px solid var(--line);margin-bottom:65px}
.program-live-link h2{font-size:clamp(2.6rem,4vw,4.2rem)}
.program-live-link p{max-width:600px;line-height:1.8;font-size:1rem;margin-bottom:0}
.program-live-link .actions{justify-content:flex-end}
.concert-photo{margin:0}
.concert-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;filter:saturate(.85)}
.concert-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;border-bottom:1px solid var(--line);padding:20px 0;font-size:.75rem;letter-spacing:.08em;color:var(--gold)}
.event-memory-grid.is-four,.event-memory-grid.is-themes{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:50px}
.event-memory-grid.is-themes .event-memory-photo img[src*="casino-royal-participants"]{object-fit:contain;background:#080808}
.celebration-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);padding-bottom:40px}
.celebration-pair figure{margin:0;min-width:0}
.celebration-pair img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:saturate(.85)}
.celebration-pair figcaption{padding-block:18px;border-bottom:1px solid var(--line);color:var(--gold);font-size:.8rem;letter-spacing:.08em}
.restaurant-pair img[src*="restaurant-burger-lumieres"]{object-position:50% 57%;filter:saturate(.9)}
.karaoke-section{background:#0b0b0a;border-block:1px solid var(--line);scroll-margin-top:120px}
.karaoke-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(35px,5vw,80px);align-items:center}
.karaoke-photo,.entertainment-photo{margin:0;min-width:0}
.karaoke-photo img,.entertainment-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:saturate(.85)}
.karaoke-photo figcaption,.entertainment-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;border-bottom:1px solid var(--line);padding:18px 0;font-size:.7rem;line-height:1.6;letter-spacing:.1em;color:var(--gold)}
.karaoke-copy{min-width:0}
.karaoke-copy h2{font-size:clamp(3rem,5vw,5.7rem);line-height:1.02;margin-bottom:28px}
.karaoke-copy p{font-size:1rem;line-height:1.85}
.karaoke-copy .karaoke-practical{font-size:.85rem;margin-top:18px}
.karaoke-group-link{display:block;border-top:1px solid var(--line);margin-top:28px;padding-top:20px;color:var(--gold);line-height:1.7}
.karaoke-group-link span{display:block;font-size:.85rem;color:var(--muted)}
.karaoke-group-link strong{font-weight:500}
.event-entertainment{scroll-margin-top:120px}
.entertainment-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,75px);align-items:center}
.entertainment-options{min-width:0}
.entertainment-option{display:grid;grid-template-columns:32px 1fr;gap:20px;padding-block:24px;border-top:1px solid var(--line)}
.entertainment-option:last-child{border-bottom:1px solid var(--line)}
.entertainment-option>span{font-size:.8rem;color:var(--gold);padding-top:6px;letter-spacing:.05em}
.entertainment-option h3{font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.1;margin-bottom:10px}
.entertainment-option p{font-size:.95rem;line-height:1.8;margin:0}
.entertainment-booking{display:flex;gap:24px 50px;align-items:center;justify-content:space-between;margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.entertainment-booking p{font-size:.9rem;max-width:660px;line-height:1.8;margin:0}
.entertainment-booking .button{flex-shrink:0}
.weekly-seasonal .weekly-photo{height:auto;aspect-ratio:3/2}
.weekly-card-weekend{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.weekly-seasonal .weekly-card-weekend .weekly-photo{height:100%;min-height:320px;aspect-ratio:auto}
.weekly-card-weekend .weekly-photo img{min-height:320px}
.weekly-seasonal .weekly-photo img[src*="karaoke"]{object-position:50% 44%;filter:saturate(.85)}
@media(max-width:960px){
 .program-live-link{grid-template-columns:1fr;gap:20px}
 .program-live-link .actions{justify-content:flex-start}
 .venue-hero-identity .venue-backdrop{height:450px}
 .venue-hero-identity .venue-slide:first-child{left:0}
 .venue-hero-identity .venue-slide img[src*="enseigne-accueil"]{object-fit:contain;object-position:center top}
 .venue-hero-identity .venue-shade{background:linear-gradient(180deg,rgba(8,8,8,.06),rgba(8,8,8,.12) 150px,rgba(8,8,8,.82) 350px,#080808 450px)}
 .venue-hero-identity .venue-hero-inner{padding-top:clamp(245px,40vw,365px)}
 .event-memory-grid.is-four .event-memory:last-child,.event-memory-grid.is-themes .event-memory:last-child{grid-column:auto;display:block}
 .event-memory-grid.is-four .event-memory:last-child .event-memory-copy,.event-memory-grid.is-themes .event-memory:last-child .event-memory-copy{margin-top:18px}
 .karaoke-layout,.entertainment-layout{grid-template-columns:1fr;gap:36px}
 .karaoke-copy h2{font-size:clamp(3.4rem,7vw,5rem)}
 .entertainment-booking{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
 .venue-hero-identity .venue-backdrop{height:330px}
 .venue-hero-identity .venue-hero-inner{padding-top:clamp(200px,43vw,265px)}
 .venue-hero-identity .venue-shade{background:linear-gradient(180deg,rgba(8,8,8,.04),rgba(8,8,8,.1) 110px,rgba(8,8,8,.88) 270px,#080808 330px)}
 .event-memory-grid.is-four,.event-memory-grid.is-themes,.celebration-pair{grid-template-columns:1fr}
 .karaoke-companion{width:90%;margin-top:24px}
 .concert-photo figcaption{font-size:.65rem;line-height:1.6}
 .karaoke-copy h2{font-size:clamp(3rem,12vw,4rem)}
 .karaoke-photo figcaption,.entertainment-photo figcaption{font-size:.65rem;letter-spacing:.07em}
 .karaoke-copy .actions{align-items:flex-start;gap:20px}
 .entertainment-option{grid-template-columns:25px 1fr;gap:15px;padding-block:22px}
 .weekly-card-weekend{display:block}
 .weekly-seasonal .weekly-card-weekend .weekly-photo{height:auto;min-height:0;aspect-ratio:3/2}
 .weekly-card-weekend .weekly-photo img{min-height:0}
}
@media(prefers-reduced-motion:reduce){.venue-hero-identity .venue-slide:first-child{transform:none}}
