/* ==========================================================================
   FASNY Gala 2027 · couche « RELIEF » v2 (29/09/2026)
   Soirée parisienne, sobre et profonde : bleu nuit, ivoire, champagne, laiton,
   framboise profond en accent. Cadres photo « galerie d'art » (plaque décalée).
   - Ne touche JAMAIS au bandeau d'accueil (.hero) ni à l'en-tête : tout est
     limité aux .section, au pied de page et aux cartes.
   - Pour revenir en arrière : vider ce fichier (aucune republication).
   ========================================================================== */

:root {
  --r-night-1: #10152D;
  --r-night-2: #1A1733;
  --r-night-3: #24142E;
  --r-plate: #171B36;       /* plaque bleu nuit derrière les photos */
  --r-ivory: #FBF7F1;
  --r-ivory-2: #F3EBE1;
  --r-gold: #C4A062;
  --r-gold-2: #E4C992;
  --r-foil: linear-gradient(180deg, #FBEBC4 0%, #E3BD73 38%, #B08240 55%, #E9CB8C 78%, #FFF1CF 100%);
  --r-shadow-sm: 0 1px 2px rgba(16,21,45,.06), 0 10px 24px -14px rgba(16,21,45,.28);
  --r-shadow: 0 2px 4px rgba(16,21,45,.05), 0 22px 44px -22px rgba(16,21,45,.38), 0 50px 90px -50px rgba(16,21,45,.45);
  --r-shadow-hover: 0 4px 10px rgba(16,21,45,.07), 0 34px 60px -26px rgba(16,21,45,.48), 0 0 0 1px rgba(196,160,98,.5);
  --r-lights: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='52'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23FFF6DD'/%3E%3Cstop offset='.22' stop-color='%23FFD48A' stop-opacity='.9'/%3E%3Cstop offset='.55' stop-color='%23FFB35C' stop-opacity='.22'/%3E%3Cstop offset='1' stop-color='%23FFB35C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M0 6Q80 34 160 6' fill='none' stroke='%23000' stroke-opacity='.45' stroke-width='1.1'/%3E%3Cg%3E%3Ccircle cx='40' cy='21' r='12' fill='url(%23g)'/%3E%3Ccircle cx='40' cy='21' r='2.2' fill='%23FFF7E2'/%3E%3Ccircle cx='80' cy='25' r='12' fill='url(%23g)'/%3E%3Ccircle cx='80' cy='25' r='2.2' fill='%23FFF7E2'/%3E%3Ccircle cx='120' cy='21' r='12' fill='url(%23g)'/%3E%3Ccircle cx='120' cy='21' r='2.2' fill='%23FFF7E2'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Palette plus sobre dans les sections (le bandeau d'accueil n'est pas une .section) ---------- */
.section, .site-footer, .bio-modal {
  --rose: #A83A64;          /* rose ancien, pour les mots manuscrits */
  --raspberry: #8E1446;     /* framboise profond */
  --rose-soft: #E4C992;     /* devient champagne sur fond sombre */
  --blush: #F3EBE1;         /* ivoire champagne au lieu du rose poudré */
  --blush-2: #EADFD2;
  --gold: #C4A062;
  --line-soft: rgba(196,160,98,.5);
}

/* Les aquarelles roses disparaissent : plus classe, plus net */
.section .deco[class*="-wash"], .section .intro-blossom { display: none !important; }
.page-hero .ph-wash { opacity: .28 !important; filter: grayscale(.6) sepia(.35); }

/* ---------- Typo ---------- */
.section .s-title { text-shadow: 0 1px 0 rgba(255,255,255,.8), 0 14px 34px rgba(16,21,45,.10); }
.section .eyebrow::before, .section .s-head--center .eyebrow::after { background: linear-gradient(90deg, transparent, var(--r-gold)); opacity: 1; }
.section .s-head--center .eyebrow::after { background: linear-gradient(90deg, var(--r-gold), transparent); }
/* mots manuscrits sur fond sombre : dorure éclairée à la bougie */
.band-navy .accent, .program-accent, .tier--hl .tier-ribbon, .edition--current .ed-flag, .section.gallery .gallery-accent, .footer-script {
  color: transparent !important; background: var(--r-foil); -webkit-background-clip: text; background-clip: text;
  filter: drop-shadow(0 0 14px rgba(228,201,146,.28));
}
/* une seule touche de néon, discrète, en bas de page (clin d'œil à l'enseigne) */
.footer-signature {
  color: #F6C9D9 !important;
  text-shadow: 0 0 2px rgba(255,255,255,.8), 0 0 10px rgba(255,90,150,.55), 0 0 26px rgba(255,60,130,.35);
}

/* ---------- Boutons : laque bordeaux, filet laiton ---------- */
.section .btn:not(.btn--outline):not(.btn--ghost):not(.btn--text):not(.btn--light):not(.btn--outline-light):not(.btn--disabled),
.site-footer .btn:not(.btn--outline):not(.btn--ghost):not(.btn--text):not(.btn--light):not(.btn--outline-light):not(.btn--disabled) {
  background-image: linear-gradient(180deg, #A92057 0%, #8E1446 50%, #6C0E35 100%);
  border-color: rgba(228,201,146,.7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -3px 8px rgba(40,0,20,.35), 0 12px 24px -12px rgba(60,10,35,.7);
}
.section .btn:not(.btn--outline):not(.btn--ghost):not(.btn--text):not(.btn--light):not(.btn--outline-light):not(.btn--disabled):hover,
.site-footer .btn:not(.btn--outline):not(.btn--ghost):not(.btn--text):not(.btn--light):not(.btn--outline-light):not(.btn--disabled):hover {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -3px 8px rgba(40,0,20,.35), 0 16px 30px -12px rgba(60,10,35,.75), 0 0 0 1px rgba(228,201,146,.9), 0 0 22px rgba(228,201,146,.35);
  transform: translateY(-2px);
}
.section .btn--outline, .section .btn--ghost {
  border-color: rgba(196,160,98,.75); color: var(--navy);
  background-image: linear-gradient(180deg, #fff, var(--r-ivory));
  box-shadow: inset 0 1px 0 #fff, var(--r-shadow-sm);
}
.section .btn--outline:hover, .section .btn--ghost:hover {
  background-image: linear-gradient(180deg, #1D2447, #10152D); color: #fff; border-color: rgba(228,201,146,.8);
  box-shadow: 0 14px 26px -12px rgba(16,21,45,.7), 0 0 0 1px rgba(228,201,146,.5);
}
.band-navy .btn--outline-light, .section.gallery .btn--outline-light { border-color: rgba(228,201,146,.6); }

/* ---------- Champs en creux ---------- */
.section .field input, .section .field textarea, .section .field select {
  border-color: rgba(196,160,98,.5); background: linear-gradient(180deg, #FFFDFA, #fff); box-shadow: inset 0 2px 5px rgba(16,21,45,.07);
}
.section .field input:focus, .section .field textarea:focus, .section .field select:focus {
  border-color: var(--navy); box-shadow: inset 0 2px 5px rgba(16,21,45,.05), 0 0 0 3px rgba(196,160,98,.28);
}

/* ---------- Sections claires : ivoire, lumière rasante, feuilles superposées ---------- */
.section.intro, .section.funds, .section.honoree-teaser, .section.people-teaser, .section.voices,
.section.archive, .section.sponsors-teaser, .section.faq, .section.impact, .section.fund {
  background-color: var(--r-ivory);
  background-image:
    radial-gradient(70% 60% at 85% -10%, rgba(255,255,255,.9), transparent 70%),
    radial-gradient(60% 70% at -10% 110%, rgba(196,160,98,.10), transparent 70%);
  box-shadow: inset 0 28px 36px -36px rgba(16,21,45,.35);
}
.section.funds, .section.people-teaser, .section.archive, .section.faq { background-color: #F7F1E9; }

/* ---------- Bandes de nuit ---------- */
.band-navy {
  background-color: var(--r-night-1);
  background-image:
    radial-gradient(40% 55% at 15% 25%, rgba(255,196,120,.09), transparent 70%),
    radial-gradient(45% 60% at 88% 90%, rgba(142,20,70,.28), transparent 72%),
    linear-gradient(180deg, var(--r-night-1) 0%, var(--r-night-2) 55%, var(--r-night-3) 100%);
  box-shadow: inset 0 40px 60px -40px rgba(0,0,0,.6), inset 0 -40px 60px -40px rgba(0,0,0,.5);
}
.band-navy > .edge--top { color: var(--r-night-1); }
.band-navy > .edge--bottom { color: var(--r-night-3); }
.band-navy .eyebrow, .section.gallery .eyebrow { color: var(--r-gold-2); }
.band-navy::after, .site-footer::after, .section.gallery::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 52px; z-index: 1; pointer-events: none;
  background: var(--r-lights) repeat-x 0 0 / 160px 52px;
  animation: r-twinkle 4.2s ease-in-out infinite alternate;
}
@keyframes r-twinkle { from { opacity: .72; } to { opacity: 1; } }
@media (max-width: 599px) { .band-navy::after, .site-footer::after, .section.gallery::after { background-size: 120px 39px; height: 39px; } }

/* Chiffres clés : tuiles de verre, chiffres dorés */
.stats .stat {
  padding: 28px 14px 24px; border-radius: 4px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
  border: 1px solid rgba(228,201,146,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 44px -26px rgba(0,0,0,.75);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.stats .stat + .stat::before { display: none; }
.stats .stat-value { background: var(--r-foil); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 0 rgba(0,0,0,.35)) drop-shadow(0 0 14px rgba(228,201,146,.22)); }
.stats .stat-rule { background: linear-gradient(90deg, transparent, var(--r-gold-2), transparent); width: 44px; }
.stats .stat-label { color: #EDE3DA; }

/* La soirée : programme sur cartes de verre */
.program .timeline::before { background: linear-gradient(to bottom, rgba(228,201,146,.05), rgba(228,201,146,.55), rgba(228,201,146,.05)); }
.program .tl-item { padding: 10px 0; }
.program .tl-content {
  padding: 16px 20px; border-radius: 4px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
  border: 1px solid rgba(228,201,146,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 22px 40px -26px rgba(0,0,0,.8);
  transition: transform .35s var(--ease), border-color .35s;
}
.program .tl-item:hover .tl-content { transform: translateX(4px); border-color: rgba(228,201,146,.4); }
.program .tl-icon { border-color: rgba(228,201,146,.6); background: radial-gradient(circle at 35% 30%, #262B4F, #10152D 72%); color: var(--r-gold-2); box-shadow: 0 0 0 5px rgba(228,201,146,.06), 0 12px 26px -8px rgba(0,0,0,.7); }
.program .tl-item:hover .tl-icon { background: radial-gradient(circle at 35% 30%, #F3DDA9, #B8904E 75%); color: #10152D; border-color: #F3DDA9; box-shadow: 0 0 22px rgba(228,201,146,.45); }
.program .tl-time { color: var(--r-gold-2); }
.program .dress { border-color: rgba(228,201,146,.55); background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,0)); box-shadow: 0 18px 40px -20px rgba(0,0,0,.7); }

/* ---------- Auvent de café : rayures bleu nuit / ivoire, liseré laiton ---------- */
.program + .auction > .edge--top, .faq + .contact > .edge--top, .program:has(+ .auction) > .edge--bottom { display: none; }
.auction::before, .contact::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 58px; z-index: 3; pointer-events: none;
  background:
    linear-gradient(var(--r-gold), var(--r-gold)) top / 100% 3px no-repeat,
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,0) 45%, rgba(255,255,255,.10) 70%, rgba(0,0,0,.12) 100%),
    repeating-linear-gradient(90deg, #1C2246 0 44px, #F4EDE3 44px 88px);
  -webkit-mask: linear-gradient(#000 0 0) top / 100% 36px no-repeat, radial-gradient(circle 22px at 50% 0, #000 97%, #0000) 0 36px / 44px 22px repeat-x;
          mask: linear-gradient(#000 0 0) top / 100% 36px no-repeat, radial-gradient(circle 22px at 50% 0, #000 97%, #0000) 0 36px / 44px 22px repeat-x;
  filter: drop-shadow(0 10px 10px rgba(16,21,45,.28));
}
.auction, .contact { padding-top: calc(var(--section-y) + 30px); }
.auction::after, .contact::after { content: ""; position: absolute; left: 0; right: 0; top: 50px; height: 60px; pointer-events: none; z-index: 0; background: linear-gradient(180deg, rgba(16,21,45,.12), transparent); }
.auction { background-color: var(--r-ivory-2); background-image: radial-gradient(50% 60% at 80% 30%, rgba(255,214,150,.22), transparent 70%); }

/* ---------- Save the date : carton ivoire sur velours champagne, lumière de bougie ---------- */
.std {
  background-color: #E6D8C7;
  background-image:
    radial-gradient(40% 60% at 50% 50%, rgba(255,236,200,.85), transparent 72%),
    radial-gradient(35% 50% at 8% 15%, rgba(16,21,45,.10), transparent 70%),
    radial-gradient(35% 50% at 94% 88%, rgba(142,20,70,.10), transparent 70%),
    linear-gradient(180deg, #EDE2D4, #DCCAB5);
  box-shadow: inset 0 40px 60px -40px rgba(16,21,45,.35), inset 0 -40px 60px -40px rgba(16,21,45,.3);
}
.std .std-card {
  background: linear-gradient(180deg, #FFFDF9, var(--r-ivory-2));
  box-shadow: 0 0 0 1px rgba(196,160,98,.6), 0 3px 8px rgba(16,21,45,.12), 0 50px 90px -34px rgba(16,21,45,.55);
}
.std .std-card::before { border-color: rgba(196,160,98,.75); }
.std .std-card::after { border-color: rgba(196,160,98,.25); }
.std .std-orn { color: var(--r-gold); }

/* ---------- Objectif, impact, domaines ---------- */
.fund .fund-card { background: linear-gradient(135deg, #FFFDF9 0%, var(--r-ivory-2) 100%); box-shadow: var(--r-shadow), 0 0 0 1px rgba(196,160,98,.4); }
.fund .fund-card::before { border-color: rgba(196,160,98,.55); }
.fund .fund-goal-num { background: linear-gradient(180deg, #1D2447, #0A0E22); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fund .gauge-track { background: #fff; box-shadow: inset 0 2px 4px rgba(16,21,45,.15); }
.fund .gauge-fill { background: linear-gradient(90deg, #8E1446, #C4A062); }

.impact .impact-card { background: linear-gradient(180deg, #FFFDF9, var(--r-ivory-2)); box-shadow: var(--r-shadow), 0 0 0 1px rgba(196,160,98,.35); }
.impact .impact-card::before { border-color: rgba(196,160,98,.55); }
.impact .impact-amount { color: var(--navy); }
.impact .chip span { background: linear-gradient(180deg, #fff, var(--r-ivory)); border-color: rgba(196,160,98,.55); box-shadow: var(--r-shadow-sm); }
.impact .chip input:checked + span { background: linear-gradient(180deg, #1D2447, #10152D); border-color: rgba(228,201,146,.8); color: #F3DDA9; box-shadow: 0 12px 24px -10px rgba(16,21,45,.7); }

.funds .fund-item { background: linear-gradient(180deg, #FFFDFA, var(--r-ivory)); border: 1px solid rgba(196,160,98,.35); box-shadow: var(--r-shadow-sm); }
.funds .fund-item::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; z-index: 1; background: linear-gradient(90deg, #10152D, #C4A062, #10152D); }
.funds .fund-item:hover { transform: perspective(900px) rotateX(3deg) translateY(-10px); box-shadow: var(--r-shadow-hover); }
.funds .fund-item::after { background: linear-gradient(90deg, #10152D, #C4A062); }
.funds .fund-num { -webkit-text-stroke: 1px rgba(196,160,98,.8); }
.funds .fund-icon { color: var(--navy); }
.funds .fund-icon::before { background: none; inset: 0; border: 1px solid rgba(196,160,98,.65); border-radius: 50%; opacity: 1; box-shadow: inset 0 0 0 5px rgba(196,160,98,.08); }

/* ---------- Billets ---------- */
.tickets {
  background-color: var(--r-ivory-2);
  background-image: radial-gradient(45% 55% at 50% 58%, rgba(255,214,150,.35), transparent 72%), linear-gradient(180deg, var(--r-ivory), var(--r-ivory-2));
}
.tickets .tier { filter: drop-shadow(0 24px 30px rgba(16,21,45,.20)) drop-shadow(0 2px 3px rgba(16,21,45,.08)); }
.tickets .tier:not(.tier--hl) { background: linear-gradient(180deg, #FFFDFA, var(--r-ivory)); }
.tickets .tier-inner { border-color: rgba(196,160,98,.7); }
.tickets .tier-inner::before { border-color: rgba(196,160,98,.3); }
.tickets .tier--hl { background: linear-gradient(165deg, #1F2548 0%, #141A36 50%, #24142E 100%); filter: drop-shadow(0 32px 40px rgba(16,21,45,.5)); }
.tickets .tier--hl .tier-inner { border-color: rgba(228,201,146,.7); }
.tickets .tier--hl .tier-price { background: var(--r-foil); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tickets .status-pill { background: linear-gradient(180deg, #fff, var(--r-ivory)); border: 1px solid rgba(196,160,98,.45); box-shadow: var(--r-shadow-sm); }

/* ---------- Enchères ---------- */
.auction .cat { background: linear-gradient(180deg, #fff, var(--r-ivory)); border-color: rgba(196,160,98,.45); box-shadow: var(--r-shadow-sm); }
.auction .cat:hover { box-shadow: var(--r-shadow-hover); transform: translateY(-5px); }
.auction .cat-icon { color: var(--navy); }
.auction .paddle-svg { filter: drop-shadow(0 26px 22px rgba(16,21,45,.3)); }

/* ---------- CADRES PHOTO « galerie d'art » : rectangle net, filet champagne, plaque bleu nuit décalée ---------- */
.intro .collage-main, .people-teaser .person-arch, .portrait-arch, .modal-photo > picture, .modal-photo > .monogram {
  border-radius: 2px !important;
  box-shadow: 0 0 0 1px rgba(196,160,98,.7), 16px 16px 0 0 var(--r-plate), 16px 16px 0 1px rgba(196,160,98,.45), 0 40px 60px -30px rgba(16,21,45,.55);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.intro .collage-main::after, .people-teaser .person-arch::after, .portrait-arch::after { inset: 12px; border: 1px solid rgba(255,255,255,.45); border-radius: 0; }
.people-teaser .person-arch, .portrait-arch { box-shadow: 0 0 0 1px rgba(196,160,98,.7), 12px 12px 0 0 var(--r-plate), 12px 12px 0 1px rgba(196,160,98,.45), 0 30px 46px -24px rgba(16,21,45,.55); }
.people-teaser button.person-btn:hover .person-arch {
  transform: translate(-4px, -4px);
  box-shadow: 0 0 0 1px rgba(228,201,146,.9), 16px 16px 0 0 var(--r-plate), 16px 16px 0 1px rgba(196,160,98,.6), 0 40px 56px -24px rgba(16,21,45,.6);
}
.intro .collage-main:hover { transform: translate(-4px, -4px); box-shadow: 0 0 0 1px rgba(228,201,146,.9), 22px 22px 0 0 var(--r-plate), 22px 22px 0 1px rgba(196,160,98,.6), 0 48px 70px -30px rgba(16,21,45,.6); }
.intro .polaroid { box-shadow: 0 2px 4px rgba(0,0,0,.10), 0 34px 50px -18px rgba(16,21,45,.55); }
.intro .polaroid-cap { color: var(--navy); }
.intro .collage-stamp, .honoree-teaser .hon-stamp { box-shadow: 0 10px 22px -8px rgba(16,21,45,.4); }
/* Lauréat : passe-partout ivoire + plaque */
.honoree-teaser .hon-frame { background: #FFFDF9; box-shadow: 0 0 0 1px rgba(196,160,98,.6), 0 40px 60px -30px rgba(16,21,45,.5); }
.honoree-teaser .hon-frame::after { inset: 18px -18px -18px 18px; border: 0; background: var(--r-plate); box-shadow: 0 0 0 1px rgba(196,160,98,.45); }
/* Frise : vignettes carrées */
.archive .ed-media { border-radius: 2px; border: 4px solid #FFFDF9; box-shadow: 0 0 0 1px rgba(196,160,98,.55), 8px 8px 0 0 var(--r-plate), 0 18px 30px -16px rgba(16,21,45,.5); }
.archive .edition--current .ed-media { border-color: #262B4F; }

/* ---------- Témoignages ---------- */
.voices .quote {
  background: linear-gradient(180deg, #FFFDFA, var(--r-ivory));
  border: 1px solid rgba(196,160,98,.45); border-radius: 2px;
  box-shadow: var(--r-shadow);
  padding: clamp(26px, 4vw, 44px) clamp(20px, 4vw, 48px);
}

/* ---------- Galerie : velours de nuit ---------- */
.section.gallery {
  background-color: var(--r-night-1);
  background-image:
    radial-gradient(50% 60% at 50% 45%, rgba(142,20,70,.22), transparent 72%),
    radial-gradient(35% 45% at 5% 90%, rgba(255,196,120,.08), transparent 70%),
    linear-gradient(180deg, var(--r-night-1) 0%, var(--r-night-2) 50%, var(--r-night-3) 100%);
  color: #E6D8D1;
  box-shadow: inset 0 40px 60px -40px rgba(0,0,0,.6), inset 0 -40px 60px -40px rgba(0,0,0,.5);
}
.section.gallery .s-title { color: #fff; text-shadow: 0 2px 20px rgba(0,0,0,.4); }
.section.gallery .tile { box-shadow: 0 0 0 1px rgba(228,201,146,.5), 0 34px 56px -26px rgba(0,0,0,.85); transition: transform .4s var(--ease), box-shadow .4s; }
.section.gallery .tile:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px rgba(228,201,146,.95), 0 40px 64px -26px rgba(0,0,0,.9), 0 0 30px rgba(228,201,146,.18); }
@media (max-width: 899px) { .section.gallery .gallery-car .tile-cap { background: #1A1733; color: #F1E4DE; } }

/* ---------- Frise, partenaires ---------- */
.archive .edition { background: linear-gradient(180deg, #FFFDFA, var(--r-ivory)); box-shadow: var(--r-shadow); border-color: rgba(196,160,98,.45); }
.archive .edition--current { background: linear-gradient(165deg, #1F2548 0%, #141A36 50%, #24142E 100%) !important; box-shadow: 0 30px 60px -25px rgba(16,21,45,.6), 0 0 0 1px rgba(228,201,146,.55); }

.sponsors-teaser .logo a, .sponsors-teaser .logo-box, .logo-grid .logo a, .logo-grid .logo-box { box-shadow: var(--r-shadow-sm); border: 1px solid rgba(196,160,98,.28); }
.sponsors-teaser .logo:hover a, .sponsors-teaser .logo:hover .logo-box { box-shadow: var(--r-shadow-hover); }
.sponsors-teaser .tier-legend li { background: linear-gradient(180deg, #fff, var(--r-ivory)); border-color: rgba(196,160,98,.5); box-shadow: var(--r-shadow-sm); }

/* ---------- FAQ en cartes ---------- */
.faq .faq-item {
  background: linear-gradient(180deg, #FFFDFA, var(--r-ivory));
  border: 1px solid rgba(196,160,98,.35) !important; border-radius: 3px;
  margin-bottom: 12px; padding-inline: clamp(12px, 2vw, 20px);
  box-shadow: var(--r-shadow-sm); transition: box-shadow .3s, transform .3s;
}
.faq .faq-item:hover { transform: translateY(-2px); box-shadow: var(--r-shadow-hover); }
.faq .faq-item[open] { box-shadow: var(--r-shadow), inset 3px 0 0 var(--navy); }
.faq .faq-ask { box-shadow: var(--r-shadow); border-color: rgba(196,160,98,.45); }

/* ---------- Contact ---------- */
.contact { background-color: var(--r-ivory-2); background-image: radial-gradient(50% 60% at 80% 40%, rgba(255,214,150,.25), transparent 70%); }
.contact .contact-form { background: linear-gradient(180deg, #FFFDFA, var(--r-ivory)); box-shadow: 0 0 0 1px rgba(196,160,98,.5), var(--r-shadow); }
.contact .contact-form::before { border-color: rgba(196,160,98,.55); }

/* ---------- Pied de page ---------- */
.site-footer {
  background-color: var(--r-night-1);
  background-image:
    radial-gradient(50% 70% at 50% 30%, rgba(142,20,70,.22), transparent 70%),
    linear-gradient(180deg, var(--r-night-1) 0%, var(--r-night-2) 60%, #0C1024 100%);
}
.site-footer > .edge { color: var(--r-night-1); }
.site-footer .footer-h { color: var(--r-gold-2); }
.site-footer .social { border-color: rgba(228,201,146,.45); }
.site-footer .footer-legal { border-top-color: rgba(228,201,146,.18); }

/* ---------- Accessibilité / impression ---------- */
@media (prefers-reduced-motion: reduce) { .band-navy::after, .site-footer::after, .section.gallery::after { animation: none !important; } }
@media print { .band-navy::after, .site-footer::after, .section.gallery::after, .auction::before, .contact::before { display: none; } }

/* ---------- Personnes : plus de prénom manuscrit (doublon du nom, trop « girly »), de l'air sous la photo ---------- */
.people-teaser .person-script, .chair-script, .modal-script { display: none; }
.people-teaser .person-photo { margin-bottom: 34px; }             /* dégage la plaque décalée de 12 px */
.people-teaser .person-name { letter-spacing: .01em; }
.people-teaser .person-role, .chair .person-role { letter-spacing: .18em; color: #86652B; font-weight: 500; }
.chair-side .portrait { margin-bottom: 22px; }

/* ==========================================================================
   Coprésidents : terrasse new-yorkaise au crépuscule (maquette de l'oncle, 29/09)
   Décor : assets/img/deco/nyc-dusk.svg (généré par tools/make-nyc-dusk.cjs)
   ========================================================================== */
.section.people-teaser {
  background: #141633 url("../img/deco/nyc-dusk.svg") center bottom / cover no-repeat;
  color: #EDE3DA;
  box-shadow: inset 0 40px 60px -40px rgba(0,0,0,.6), inset 0 -30px 50px -30px rgba(0,0,0,.6);
  padding-block: clamp(72px, 9vw, 130px) clamp(84px, 10vw, 150px);
}
.section.people-teaser .s-title { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.5); }
.section.people-teaser .eyebrow { color: #F1DDB0; letter-spacing: .32em; }
.section.people-teaser .s-head--center .eyebrow::before { width: clamp(50px, 11vw, 150px); background: linear-gradient(90deg, transparent, #E4C992); }
.section.people-teaser .s-head--center .eyebrow::after { width: clamp(50px, 11vw, 150px); background: linear-gradient(90deg, #E4C992, transparent); }
.section.people-teaser .prose p { color: rgba(247,238,228,.86); text-shadow: 0 1px 10px rgba(0,0,0,.5); }

/* photos plus grandes, double filet cuivre-or, lumière chaude */
.section.people-teaser .person-photo { width: min(330px, 92%); padding-top: 0; margin-bottom: 26px; }
.section.people-teaser .person-arch {
  border-radius: 0 !important; background: #1A1530;
  box-shadow: 0 0 0 1px #E8C08E, 0 0 0 6px rgba(14,11,26,.55), 0 0 0 7px rgba(232,192,142,.6), 0 44px 70px -24px rgba(0,0,0,.85), 0 0 46px rgba(255,190,130,.16);
}
.section.people-teaser .person-arch::after { inset: 10px; border: 1px solid rgba(232,192,142,.5); }
.section.people-teaser button.person-btn:hover .person-arch {
  transform: translateY(-6px);
  box-shadow: 0 0 0 1px #F3D6A6, 0 0 0 6px rgba(14,11,26,.55), 0 0 0 7px rgba(243,214,166,.85), 0 54px 80px -24px rgba(0,0,0,.9), 0 0 60px rgba(255,190,130,.28);
}
.section.people-teaser .person-name { color: #fff; font-size: clamp(1.3rem, 1.05rem + .6vw, 1.62rem); text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.section.people-teaser .person-role { color: #E4C992; letter-spacing: .22em; }
.section.people-teaser .person-more { color: rgba(247,238,228,.75); border-bottom-color: rgba(228,201,146,.35); }
.section.people-teaser button.person-btn:hover .person-more { color: #F3D6A6; border-color: #F3D6A6; }

/* bouton « Meet the committee » en version claire */
.section.people-teaser .btn--outline, .section.people-teaser .btn--ghost {
  background-image: none; background-color: rgba(14,11,26,.35); color: #fff; border-color: rgba(228,201,146,.7);
  box-shadow: 0 12px 24px -14px rgba(0,0,0,.7); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.section.people-teaser .btn--outline:hover, .section.people-teaser .btn--ghost:hover { background-image: linear-gradient(180deg, #F3DDA9, #C9A15A); color: #10152D; border-color: #F3DDA9; }
/* carrousel mobile */
.section.people-teaser .car-dot::before { background: rgba(255,255,255,.35); }
.section.people-teaser .car-dot[aria-current="true"]::before { background: #E4C992; }
.section.people-teaser .car-btn { background: rgba(14,11,26,.4); color: #fff; border-color: rgba(228,201,146,.5); }

/* Plus de liseré intérieur sur les photos (29/09) */
.intro .collage-main::after, .people-teaser .person-arch::after, .section.people-teaser .person-arch::after, .portrait-arch::after { display: none; }

/* La fenêtre de biographie (fond clair) est rangée dans la section de nuit : on lui rend un texte net et foncé */
.section.people-teaser .bio-modal, .bio-modal { color: var(--ink); }
.section.people-teaser .bio-modal .prose p, .section.people-teaser .bio-modal p { color: var(--ink); text-shadow: none; }
.section.people-teaser .bio-modal .person-role, .bio-modal .person-role { color: #86652B; text-shadow: none; }
.section.people-teaser .bio-modal .modal-name { color: var(--navy); text-shadow: none; }

/* Coprésidents : photo de toit-terrasse fournie par l'oncle (29/09), voile sombre pour la lisibilité */
.section.people-teaser {
  background-color: #1A1226;
  background-image:
    linear-gradient(180deg, rgba(12,10,26,.78) 0%, rgba(12,10,26,.45) 30%, rgba(12,10,26,.30) 55%, rgba(12,10,26,.62) 82%, rgba(12,10,26,.85) 100%),
    url("../img/deco/nyc-rooftop.jpg");
  background-image:
    linear-gradient(180deg, rgba(12,10,26,.78) 0%, rgba(12,10,26,.45) 30%, rgba(12,10,26,.30) 55%, rgba(12,10,26,.62) 82%, rgba(12,10,26,.85) 100%),
    image-set(url("../img/deco/nyc-rooftop.webp") type("image/webp"), url("../img/deco/nyc-rooftop.jpg") type("image/jpeg"));
  background-size: cover; background-position: center 62%; background-repeat: no-repeat;
}

/* ==========================================================================
   Bandes de nuit : raccord parfait avec les bords déchirés (30/09)
   Le haut de la bande = exactement la couleur du bord du haut, le bas = celle du bord du bas.
   ========================================================================== */
.band-navy {
  box-shadow: none;
  background-image:
    radial-gradient(38% 45% at 18% 55%, rgba(255,196,120,.07), transparent 70%),
    radial-gradient(40% 45% at 84% 55%, rgba(142,20,70,.22), transparent 72%),
    linear-gradient(180deg, var(--r-night-1) 0%, var(--r-night-1) 8%, var(--r-night-2) 55%, var(--r-night-3) 92%, var(--r-night-3) 100%);
}
.band-navy > .edge--top { color: var(--r-night-1); }
.band-navy > .edge--bottom { color: var(--r-night-3); }
.band-navy::after { top: 6px; }

/* Chiffres clés : contenu centré verticalement, dessins Paris / New York fondus sur les bords */
.section.stats { padding-block: clamp(96px, 9vw, 130px); display: flex; align-items: center; }
.section.stats > .container { width: 100%; }
.stats .stats-sky {
  bottom: 0; top: auto; height: 88%; width: auto; max-width: 34vw; opacity: .3;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 70%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 22%, #000 80%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 70%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 22%, #000 80%, transparent 100%);
  -webkit-mask-composite: source-in; mask-composite: intersect;
  object-fit: contain; object-position: bottom;
}
.stats .stats-sky--l { left: 0; }
.stats .stats-sky--r {
  right: 0;
  -webkit-mask-image: linear-gradient(270deg, transparent 0%, #000 18%, #000 70%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 22%, #000 80%, transparent 100%);
          mask-image: linear-gradient(270deg, transparent 0%, #000 18%, #000 70%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 22%, #000 80%, transparent 100%);
}
@media (max-width: 1199px) { .stats .stats-sky { opacity: .16; } }
/* les dessins s'arrêtent avant les chiffres (ils occupent seulement la marge de côté) */
@media (min-width: 1400px) {
  .stats .stats-sky { width: calc((100vw - 1200px) / 2 + 10px); max-width: none; height: 86%; }
  .stats .stats-sky--l { object-position: left bottom; }
  .stats .stats-sky--r { object-position: right bottom; }
}
@media (max-width: 1399px) { .stats .stats-sky { opacity: .12; } }

/* ==========================================================================
   Bulle de traduction (bas gauche) · 30/09/2026
   ========================================================================== */
.lgb { position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 60; font-family: var(--f-sans); }
@media (max-width: 899px) { .lgb { left: 12px; bottom: calc(84px + env(safe-area-inset-bottom)); } }
.lgb-btn {
  display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 14px 0 12px; border-radius: 999px; cursor: pointer;
  color: #F3E7D3; font: 500 .74rem/1 var(--f-sans); letter-spacing: .14em;
  background: linear-gradient(180deg, rgba(29,36,71,.92), rgba(16,21,45,.94));
  border: 1px solid rgba(228,201,146,.55);
  box-shadow: 0 10px 24px -10px rgba(10,12,30,.65), inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  opacity: .9; transition: opacity .25s, transform .25s, box-shadow .25s;
}
.lgb-btn:hover, .lgb.is-open .lgb-btn { opacity: 1; transform: translateY(-1px); box-shadow: 0 14px 30px -10px rgba(10,12,30,.7), 0 0 0 3px rgba(228,201,146,.18); }
.lgb-btn svg { fill: none; stroke: #E4C992; stroke-width: 1.5; stroke-linecap: round; }
.lgb-code { min-width: 1.4em; text-align: center; }
.lgb-menu {
  position: absolute; left: 0; bottom: calc(100% + 10px); width: 220px; padding: 14px 10px 10px; border-radius: 14px;
  background: linear-gradient(180deg, #FFFDFA, #F7F1E9); border: 1px solid rgba(196,160,98,.45);
  box-shadow: 0 2px 6px rgba(16,21,45,.08), 0 30px 60px -20px rgba(16,21,45,.45);
  transform-origin: 20px 100%; animation: lgb-in .22s var(--ease);
}
@keyframes lgb-in { from { opacity: 0; transform: translateY(6px) scale(.97); } to { opacity: 1; transform: none; } }
.lgb-head { margin: 0 8px 8px; font: 500 .66rem/1 var(--f-sans); letter-spacing: .24em; text-transform: uppercase; color: #86652B; }
.lgb-menu ul { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.lgb-item {
  display: block; width: 100%; padding: 9px 10px; border: 0; border-radius: 8px; background: none; cursor: pointer; text-align: left;
  font: 400 .92rem/1.2 var(--f-sans); color: var(--navy); text-decoration: none; transition: background .15s, color .15s;
}
.lgb-item[dir="rtl"] { text-align: right; }
.lgb-item:hover, .lgb-item:focus-visible { background: rgba(196,160,98,.16); color: var(--navy); outline: none; }
.lgb-item.is-current { background: #10152D; color: #F3DDA9; }
.lgb-note { margin: 10px 8px 2px; font-size: .7rem; line-height: 1.35; color: var(--muted); }
@media print { .lgb, .gpop { display: none !important; } }
/* On cache la barre et les infobulles ajoutées par Google Traduction */
.goog-te-banner-frame, iframe.skiptranslate, #goog-gt-tt, .goog-te-balloon-frame, .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display: none !important; }
html.is-translated body, body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
#gt-host { display: none !important; }

/* ==========================================================================
   Fenêtre d'accueil (popup) · réglée dans l'admin › Infos générales
   ========================================================================== */
.gpop { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 16px; }
.gpop[hidden] { display: none; }
.gpop-backdrop { position: absolute; inset: 0; background: rgba(12,14,32,.62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .35s; }
.gpop-card {
  position: relative; width: min(560px, 100%); max-height: calc(100vh - 32px); overflow: auto; border-radius: 4px;
  background: linear-gradient(180deg, #FFFDFA, #F7F1E9); color: var(--ink);
  box-shadow: 0 0 0 1px rgba(196,160,98,.6), 0 50px 100px -30px rgba(0,0,0,.7);
  opacity: 0; transform: translateY(16px) scale(.98); transition: opacity .35s var(--ease), transform .45s var(--ease);
}
.gpop-card::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(196,160,98,.4); pointer-events: none; z-index: 1; }
.gpop.is-on .gpop-backdrop { opacity: 1; }
.gpop.is-on .gpop-card { opacity: 1; transform: none; }
.gpop-card--img { width: min(860px, 100%); display: grid; }
@media (min-width: 760px) { .gpop-card--img { grid-template-columns: 1fr 1.1fr; } }
.gpop-media { position: relative; min-height: 220px; background: #10152D; }
.gpop-media picture, .gpop-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 759px) { .gpop-media { height: 220px; } }
.gpop-body { position: relative; z-index: 2; padding: clamp(28px, 5vw, 48px); display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.gpop-title { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem); color: var(--navy); text-wrap: balance; }
.gpop-text { color: var(--ink); font-size: 1.02rem; }
.gpop-text p { margin: 0 0 .7em; } .gpop-text p:last-child { margin: 0; }
.gpop-cta {
  align-self: flex-start; margin-top: 6px;
  background-image: linear-gradient(180deg, #A92057 0%, #8E1446 50%, #6C0E35 100%); border-color: rgba(228,201,146,.7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 24px -12px rgba(60,10,35,.7);
}
.gpop-close {
  position: absolute; top: 14px; right: 14px; z-index: 3; width: 40px; height: 40px; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; background: rgba(255,253,250,.92); border: 1px solid rgba(196,160,98,.55); color: var(--navy);
  box-shadow: 0 6px 16px -8px rgba(16,21,45,.5);
}
.gpop-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.gpop-close:hover { background: #10152D; color: #F3DDA9; }
html.gpop-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .gpop-card, .gpop-backdrop, .lgb-menu { transition: none; animation: none; } }
/* Traduction automatique : menus plus longs → on évite les retours à la ligne */
html.is-translated .nav-link, html.translated-ltr .nav-link, html.translated-rtl .nav-link { white-space: nowrap; letter-spacing: .06em; font-size: .7rem; }
html.is-translated .btn, html.translated-ltr .btn { white-space: nowrap; }

/* Partenaires : niveau (Diamond, Gold…) lisible, en petite étiquette sous le logo (30/09) */
.logo:has(.logo-tag) a, .logo:has(.logo-tag) .logo-box { padding-bottom: 0; height: 100%; box-sizing: border-box; }
.logo .logo-tag {
  bottom: 10px; z-index: 2; padding: 3px 9px; border-radius: 99px; line-height: 1.2;
  font: 500 .6rem/1.2 var(--f-sans); letter-spacing: .18em; color: #6E5220;
  background: #F6EEDF; border: 1px solid rgba(196,160,98,.55);
}
.logo:has(.logo-tag) picture { display: block; height: calc(100% - 26px); }
.logo:has(.logo-tag) img { padding-bottom: 0 !important; position: relative; z-index: 0; }
.logo .logo-tag { z-index: 5; }

/* ==========================================================================
   « Classe gala » · 30/09/2026 soir
   Le rose décoratif devient bronze doré partout (sauf bandeau d'accueil et menu du haut).
   Un seul levier : la variable --rose dans les sections, le pied de page et les en-têtes de pages.
   ========================================================================== */
.section, .site-footer, .bio-modal, .page-hero, .mbar { --rose: #9C7536; --r-bronze: linear-gradient(180deg, #6E5220 0%, #A9844A 45%, #7A5A26 100%); }

/* Mots manuscrits sur fond clair : bronze patiné au lieu de rose */
.section .accent, .section .signature, .section .std-script, .section .fund-accent, .section .sponsors-accent,
.section .hon-accent, .section .contact-script, .section .tba-script, .page-hero .page-script, .chair-script {
  color: transparent !important; background: var(--r-bronze); -webkit-background-clip: text; background-clip: text;
  text-shadow: none !important; filter: none;
}
/* …mais les fonds sombres gardent leur dorure claire */
.band-navy .accent, .program-accent, .section.gallery .gallery-accent, .section.people-teaser .accent { background: var(--r-foil); -webkit-background-clip: text; background-clip: text; }

/* Surtitres : or bronze discret (le bordeaux reste pour les boutons et les liens) */
.section:not(.band-navy):not(.gallery):not(.people-teaser) .eyebrow, .page-hero .eyebrow { color: #86652B; }

/* Ornement de gala sous les grands titres centrés : filet doré et losange */
.section .s-head--center .s-title::after, .page-hero .page-title::after {
  content: ""; display: block; width: 132px; height: 10px; margin: .55em auto 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 10'%3E%3Cpath d='M0 5h56M76 5h56' stroke='%23C4A062' stroke-width='1'/%3E%3Cpath d='M66 1l4 4-4 4-4-4z' fill='none' stroke='%23C4A062' stroke-width='1'/%3E%3Ccircle cx='66' cy='5' r='1.2' fill='%23C4A062'/%3E%3C/svg%3E") center / contain no-repeat;
}
.band-navy .s-head--center .s-title::after, .section.gallery .s-head--center .s-title::after, .section.people-teaser .s-head--center .s-title::after { filter: brightness(1.25); }

/* Détails : points de carrousel, plus de la FAQ, guillemets */
.section:not(.band-navy):not(.gallery):not(.people-teaser) .car-dot[aria-current="true"]::before { background: #10152D; }
.section .faq-plus::before, .section .faq-plus::after { background: #10152D; }
.section .quote-mark { opacity: .7; }

/* Pied de page : la signature « à bientôt » en dorure, plus de néon */
.site-footer .footer-signature {
  color: transparent !important; background: var(--r-foil); -webkit-background-clip: text; background-clip: text;
  text-shadow: none !important; filter: drop-shadow(0 0 18px rgba(228,201,146,.25));
}
.site-footer .fs-img, .stats .stats-sky { filter: grayscale(1) sepia(.35) brightness(1.1); }

/* En-têtes des pages intérieures : champagne, skylines à l'encre, sans pétales ni aquarelle rose */
.page-hero {
  background:
    radial-gradient(60% 70% at 50% 0%, rgba(255,255,255,.85), transparent 70%),
    linear-gradient(180deg, #FBF7F1 0%, #F1E8DC 100%);
  box-shadow: inset 0 -30px 40px -40px rgba(16,21,45,.35);
}
.page-hero .petals, .page-hero .ph-wash { display: none !important; }
.page-hero .phs { filter: grayscale(1) sepia(.2) contrast(1.05); opacity: .7; }

/* Barre de boutons sur téléphone : laque bordeaux au lieu du rose vif */
.mbar .mbar-btn--main { background: linear-gradient(180deg, #A92057 0%, #8E1446 50%, #6C0E35 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
/* Tampons « 2027 · Paris · New York » : encre bronze */
.section .stamp, .page-hero .stamp { color: #8A6A30 !important; }
.section .stamp text, .page-hero .stamp text, .section .stamp .st-text, .section .stamp .st-num { fill: #8A6A30 !important; }

/* Dessins Paris / New York : plus de rectangle autour, ils se fondent dans la nuit */
.stats .stats-sky, .site-footer .fs-img { mix-blend-mode: lighten; }

/* Mots manuscrits dorés : de la marge pour que les boucles ne soient pas coupées */
.section .accent, .section .signature, .section .std-script, .section .fund-accent, .section .sponsors-accent,
.section .hon-accent, .section .contact-script, .section .tba-script, .page-hero .page-script,
.band-navy .accent, .program-accent, .section.gallery .gallery-accent, .footer-signature, .footer-script, .tier--hl .tier-ribbon {
  padding-inline: .3em; margin-inline: -.3em; padding-block: .08em .12em; overflow: visible;
}
.section .signature, .section .contact-script { display: inline-block; }

/* ==========================================================================
   Lignes de relief entre les sections · 30/09 (remplace les dents de scie)
   Collines douces, pleines, exactement de la couleur de la bande qu'elles prolongent.
   ========================================================================== */
:root { --edge-h: clamp(22px, 3vw, 44px); }
.section > .edge, .site-footer > .edge {
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V27C70 21 140 15 230 16S390 27 500 25 680 11 800 11 990 25 1110 24 1300 12 1370 13 1420 18 1440 20V40Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V27C70 21 140 15 230 16S390 27 500 25 680 11 800 11 990 25 1110 24 1300 12 1370 13 1420 18 1440 20V40Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
}
.section > .edge path, .site-footer > .edge path { display: none; }
/* couleurs exactes : le haut de chaque bande et son bas */
.band-navy > .edge--top, .site-footer > .edge { color: var(--r-night-1) !important; }
.band-navy > .edge--bottom { color: var(--r-night-3) !important; }
.site-footer { background-color: var(--r-night-1); }
.stats::before, .program::before { display: none; }

/* ==========================================================================
   Fenêtre d'accueil v2 · « soirée de gala » (01/10) : carton de nuit, dorures, compte à rebours
   ========================================================================== */
.gpop-backdrop { background: radial-gradient(60% 60% at 50% 45%, rgba(20,16,40,.55), rgba(8,8,20,.82)); }
.gpop-card {
  width: min(600px, 100%); border-radius: 6px; text-align: center; color: #EDE3DA;
  background:
    var(--r-lights) repeat-x 0 0 / 160px 52px,
    radial-gradient(70% 55% at 50% 0%, rgba(255,205,140,.16), transparent 70%),
    radial-gradient(60% 50% at 50% 110%, rgba(142,20,70,.35), transparent 70%),
    linear-gradient(180deg, #1A1E3E 0%, #131733 55%, #1E1330 100%);
  box-shadow: 0 0 0 1px rgba(228,201,146,.7), 0 0 0 7px rgba(16,21,45,.9), 0 0 0 8px rgba(228,201,146,.35), 0 60px 120px -30px rgba(0,0,0,.85), 0 0 90px rgba(228,201,146,.12);
}
.gpop-card::before { inset: 12px; border: 1px solid rgba(228,201,146,.28); border-radius: 3px; }
.gpop-card--img { width: min(900px, 100%); text-align: left; }
.gpop-card--img .gpop-body { text-align: center; }
.gpop-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, rgba(19,23,51,.9)); }
@media (max-width: 759px) { .gpop-media::after { background: linear-gradient(180deg, transparent 55%, rgba(26,30,62,.95)); } }
.gpop-body { padding: clamp(54px, 7vw, 70px) clamp(24px, 6vw, 56px) clamp(34px, 5vw, 48px); align-items: center; gap: 12px; }
.gpop-eyebrow {
  margin: 0; font: 500 .7rem/1 var(--f-sans); letter-spacing: .34em; text-transform: uppercase; color: #E4C992;
  display: inline-flex; align-items: center; gap: 12px;
}
.gpop-eyebrow::before, .gpop-eyebrow::after { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, transparent, #E4C992); }
.gpop-eyebrow::after { background: linear-gradient(90deg, #E4C992, transparent); }
.gpop-title { color: #fff; font-size: clamp(1.9rem, 1.3rem + 2.4vw, 2.8rem); line-height: 1.1; text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.gpop-orn { width: 132px; height: 10px; margin: 2px auto 4px; filter: brightness(1.3);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 10'%3E%3Cpath d='M0 5h56M76 5h56' stroke='%23C4A062' stroke-width='1'/%3E%3Cpath d='M66 1l4 4-4 4-4-4z' fill='none' stroke='%23C4A062' stroke-width='1'/%3E%3Ccircle cx='66' cy='5' r='1.2' fill='%23C4A062'/%3E%3C/svg%3E") center / contain no-repeat; }
.gpop-text { color: rgba(237,227,218,.88); font-size: 1.02rem; max-width: 44ch; margin-inline: auto; }
.gpop-text strong { color: #F3DDA9; }
.gpop-cd-wrap { width: 100%; margin-top: 10px; }
.gpop-cd-title { margin: 0 0 12px; font: italic 500 1.15rem/1.2 var(--f-serif); color: #E4C992; }
.gpop-cd { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(6px, 1.6vw, 12px); max-width: 420px; margin: 0 auto; }
.gpop-cd-unit {
  padding: 14px 4px 10px; border-radius: 4px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  border: 1px solid rgba(228,201,146,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 30px -18px rgba(0,0,0,.8);
}
.gpop-cd-num { display: block; font: 500 clamp(1.9rem, 1.4rem + 2vw, 2.7rem)/1 var(--f-serif); font-variant-numeric: tabular-nums lining-nums;
  color: transparent; background: var(--r-foil); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 0 12px rgba(228,201,146,.25)); }
.gpop-cd-lab { display: block; margin-top: 7px; font: 500 .58rem/1 var(--f-sans); letter-spacing: .22em; text-transform: uppercase; color: rgba(237,227,218,.7); }
.gpop-when { margin: 12px 0 0; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(237,227,218,.75); }
.gpop-cta { align-self: center; margin-top: 16px; }
.gpop-close { top: 18px; right: 18px; background: rgba(16,21,45,.7); color: #F3DDA9; border-color: rgba(228,201,146,.55); box-shadow: none; }
.gpop-close:hover { background: #F3DDA9; color: #10152D; }
.gpop.is-on .gpop-card { animation: gpop-glow 3.5s ease-in-out .6s infinite alternate; }
@keyframes gpop-glow { to { box-shadow: 0 0 0 1px rgba(243,221,169,.9), 0 0 0 7px rgba(16,21,45,.9), 0 0 0 8px rgba(228,201,146,.5), 0 60px 120px -30px rgba(0,0,0,.85), 0 0 110px rgba(228,201,146,.2); } }
@media (prefers-reduced-motion: reduce) { .gpop.is-on .gpop-card { animation: none; } }

/* ==========================================================================
   01/10 · demandes de l'oncle
   ========================================================================== */
/* Logo du gala dans un rond, en haut à gauche */
.brand-mark--logo { padding: 0; overflow: hidden; background: #5c0416; border: 1px solid rgba(196,160,98,.8); box-shadow: 0 0 0 3px rgba(196,160,98,.15), 0 6px 14px -6px rgba(110,14,38,.6); }
.brand-mark--logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 1024px) { .brand-mark--logo { width: 50px; height: 50px; } }

/* Petite fenêtre persistante : visites + tables (bas à droite) */
.lvb {
  position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 59;
  display: flex; align-items: center; gap: 12px; padding: 9px 38px 9px 16px; border-radius: 14px;
  color: #F3E7D3; font-family: var(--f-sans);
  background: linear-gradient(180deg, rgba(29,36,71,.94), rgba(16,21,45,.96));
  border: 1px solid rgba(228,201,146,.55);
  box-shadow: 0 14px 30px -12px rgba(10,12,30,.7), inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
@media (max-width: 899px) { .lvb { right: 12px; bottom: calc(84px + env(safe-area-inset-bottom)); padding: 7px 34px 7px 12px; } }
.lvb-row { display: flex; flex-direction: column; align-items: center; line-height: 1; text-decoration: none; color: inherit; }
.lvb-row[hidden] { display: none; }
.lvb-row--link:hover .lvb-lab { color: #F3DDA9; }
.lvb-num { font: 500 1.35rem/1 var(--f-serif); font-variant-numeric: lining-nums tabular-nums; color: transparent; background: var(--r-foil); -webkit-background-clip: text; background-clip: text; }
.lvb-lab { margin-top: 4px; font: 500 .58rem/1 var(--f-sans); letter-spacing: .18em; text-transform: uppercase; color: rgba(237,227,218,.8); white-space: nowrap; }
.lvb-sep { width: 1px; align-self: stretch; background: linear-gradient(transparent, rgba(228,201,146,.5), transparent); }
.lvb-sep:has(+ .lvb-row[hidden]) { display: none; }
.lvb-toggle { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 50%; border: 0; background: rgba(255,255,255,.06); color: #E4C992; cursor: pointer; display: grid; place-items: center; }
.lvb-toggle svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.lvb.is-mini { padding: 0; width: 42px; height: 42px; border-radius: 50%; cursor: pointer; justify-content: center; }
.lvb.is-mini > :not(.lvb-toggle) { display: none; }
.lvb.is-mini .lvb-toggle { position: static; width: 42px; height: 42px; background: none; }
.lvb.is-mini .lvb-toggle svg { display: none; }
.lvb.is-mini .lvb-toggle::before { content: "✦"; font-size: 1rem; }
@media print { .lvb { display: none !important; } }

/* Logos des partenaires en couleur */
.marquee .logo img, .logo-grid .logo img { filter: none !important; opacity: 1 !important; }

/* Frise des galas : défile horizontalement quand il y a beaucoup d'éditions */
@media (min-width: 900px) {
  .frise.frise--5 { justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 18px !important; }
  .frise.frise--5 .car-item { flex: 0 0 240px; scroll-snap-align: start; }
  .frise.frise--5::before { left: 0; right: 0; }
}
/* Photo de l'édition 2027 : la robe rose, bien cadrée */
.archive .edition--current .ed-media img { object-fit: cover; object-position: 50% 20%; }
/* Compteur un peu plus grand sur ordinateur (01/10) */
@media (min-width: 900px) {
  .lvb { padding: 12px 42px 12px 20px; gap: 16px; right: 20px; bottom: 20px; }
  .lvb-num { font-size: 1.65rem; }
  .lvb-lab { font-size: .64rem; margin-top: 5px; }
}
/* Image de fond choisie dans l'admin (section coprésidents) */
.section.people-teaser[data-bg] {
  background-image:
    linear-gradient(180deg, rgba(12,10,26,.78) 0%, rgba(12,10,26,.45) 30%, rgba(12,10,26,.30) 55%, rgba(12,10,26,.62) 82%, rgba(12,10,26,.85) 100%),
    var(--sec-bg);
  background-size: cover; background-position: center 62%;
}
/* Logo rond un peu plus grand (01/10) */
.brand-mark--logo { width: 46px; height: 46px; }
@media (min-width: 1024px) { .brand-mark--logo { width: 58px; height: 58px; } }
