/* ==========================================================================
   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; } }
