/* Blaime Event — style événementiel (mobile d'abord) */
:root{
  --noir:#0F0D0B;
  --noir-2:#1A1714;
  --ivoire:#F7F2EA;
  --blanc:#FFFFFF;
  --gris:#5B544B;
  --gris-clair:#CFC6B8;
  --trait:#E4DACB;
  --or:#C9A14A;
  --or-clair:#E3C27A;
  --or-texte:#7A5C22;
  --marge:20px;
  --titre:'Bricolage Grotesque','Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivoire);color:var(--noir);font-family:'Manrope',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--titre);font-weight:800;letter-spacing:-0.035em;line-height:0.98}
p{margin:0}
.wrap{max-width:1320px;margin:0 auto;padding-left:var(--marge);padding-right:var(--marge)}
.section{padding-top:72px;padding-bottom:72px}
.surtitre{font-size:14px;font-weight:700;color:var(--or-texte);letter-spacing:0.02em}
.sombre{background:var(--noir);color:var(--ivoire)}
.sombre .surtitre,.hero .surtitre,.bandeau-page .surtitre{color:var(--or-clair)}
.texte-gris{color:var(--gris)}
.sombre .texte-gris{color:var(--gris-clair)}
.or{color:var(--or)}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;background:var(--noir);color:var(--ivoire);text-decoration:none;font-weight:700;font-size:15px;border:1.5px solid var(--noir);transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-or{background:var(--or);border-color:var(--or);color:var(--noir)}
.btn-or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.btn-contour{background:transparent;color:var(--ivoire);border-color:rgba(247,242,234,.7)}
.btn-contour:hover{background:var(--ivoire);color:var(--noir)}
.btn-noir-contour{background:transparent;color:var(--noir);border-color:var(--noir)}
.btn-noir-contour:hover{background:var(--noir);color:var(--or)}
.boutons{display:flex;flex-direction:column;gap:12px}
.boutons .btn{width:100%}

/* En-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(247,242,234,.97);border-bottom:1px solid var(--trait);backdrop-filter:blur(8px)}
.entete .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding-top:8px;padding-bottom:4px}
.logo img{height:50px;width:auto}
.entete .btn{min-height:44px;padding:0 18px;font-size:14px}
.menu{grid-column:1 / -1;grid-row:2;display:flex;justify-content:space-between;gap:8px;font-size:15px;font-weight:600}
.menu a{text-decoration:none;min-height:42px;display:inline-flex;align-items:center;color:var(--gris)}
.menu a[aria-current="page"]{color:var(--noir);box-shadow:inset 0 -2px 0 var(--or)}

/* Hero plein écran */
.hero{position:relative;min-height:calc(100svh - 106px);display:flex;align-items:flex-end;overflow:hidden;color:var(--ivoire);background:var(--noir)}
.hero-fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zoom 14s ease-out both}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,11,.2) 0%,rgba(15,13,11,.62) 38%,rgba(15,13,11,.94) 100%)}
.hero-contenu{position:relative;z-index:1;width:100%;padding-top:120px;padding-bottom:44px;display:flex;flex-direction:column;gap:18px}
.hero h1{font-size:clamp(46px,13vw,128px);max-width:11ch}
.hero h1 .or{display:block}
.hero p.intro{font-size:17px;max-width:520px;color:#EDE5D8}
@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}

/* Bandeau défilant */
.defile{background:var(--or);color:var(--noir);overflow:hidden;white-space:nowrap;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}
.defile-piste{display:inline-flex;animation:defile 32s linear infinite;padding:16px 0}
.defile span{font-family:var(--titre);font-weight:800;font-size:clamp(22px,4vw,34px);letter-spacing:-0.02em;padding:0 22px}
.defile span.sep{padding:0;opacity:.55}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Titres de section */
.tete{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.tete h2{font-size:clamp(38px,9vw,88px)}
.tete p{max-width:560px}

/* Cartes univers */
.univers{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(-1 * var(--marge));padding-right:var(--marge);padding-bottom:6px;scrollbar-width:none}
.univers::-webkit-scrollbar{display:none}
.carte{position:relative;flex:0 0 82%;aspect-ratio:3/4;overflow:hidden;border-radius:18px;scroll-snap-align:start;text-decoration:none;color:var(--ivoire);background:var(--noir-2)}
.carte img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.carte:hover img{transform:scale(1.06)}
.carte::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,11,0) 35%,rgba(15,13,11,.88) 100%)}
.carte-texte{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:24px;display:flex;flex-direction:column;gap:8px}
.carte .num{font-family:var(--titre);font-weight:800;font-size:15px;color:var(--or-clair)}
.carte h3{font-size:clamp(30px,7vw,44px)}
.carte .voir{font-weight:700;font-size:15px}

/* Cocktail signature */
.signature{position:relative;overflow:hidden}
.signature .annee{position:absolute;right:-10px;top:10px;font-family:var(--titre);font-weight:800;font-size:clamp(120px,32vw,420px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,161,74,.35);pointer-events:none;user-select:none}
.signature .wrap{position:relative;display:flex;flex-direction:column;gap:36px}
.signature-texte{display:flex;flex-direction:column;gap:18px}
.signature h2{font-size:clamp(44px,11vw,104px)}
.signature .accroche{font-size:19px;font-weight:600;color:#F1E9DC;line-height:1.5}
.signature p{color:var(--gris-clair)}
.video-cadre{position:relative;width:100%;max-width:360px;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(201,161,74,.6),0 30px 80px rgba(201,161,74,.18)}
.video-cadre video{width:100%;aspect-ratio:720/1068;object-fit:cover;background:#000}
.badge{position:absolute;left:16px;bottom:16px;background:var(--or);color:var(--noir);font-weight:800;font-size:13px;padding:8px 14px;border-radius:999px}
.son{position:absolute;left:50%;top:16px;transform:translateX(-50%);min-height:46px;padding:0 20px;border:0;border-radius:999px;background:var(--ivoire);color:var(--noir);font:700 15px 'Manrope',sans-serif;cursor:pointer;white-space:nowrap}
.son[hidden]{display:none}

/* Bande photos défilante */
.bande-photos{overflow:hidden}
.bande-piste{display:flex;gap:14px;width:max-content;animation:defile 45s linear infinite}
.bande-piste:hover{animation-play-state:paused}
.bande-piste img{height:260px;width:auto;border-radius:14px;object-fit:cover}

/* Étapes */
.etapes{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--trait)}
.etape{display:grid;grid-template-columns:64px 1fr;gap:4px 16px;padding:22px 0;border-bottom:1px solid var(--trait)}
.etape .n{grid-row:span 2;font-family:var(--titre);font-weight:800;font-size:44px;line-height:1;color:var(--or)}
.etape h3{font-size:24px;letter-spacing:-0.02em;line-height:1.15}

/* Bloc final doré */
.final{background:var(--or);color:var(--noir);text-align:center}
.final .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}
.final h2{font-size:clamp(42px,11vw,110px);max-width:12ch}
.final p{max-width:520px;font-size:17px}
.final .boutons{width:100%;max-width:380px}

/* Bandeau de page (onglets) */
.bandeau-page{position:relative;overflow:hidden;color:var(--ivoire);background:var(--noir);min-height:340px;display:flex;align-items:flex-end}
.bandeau-page img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;animation:zoom 14s ease-out both}
.bandeau-page::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,11,.1),rgba(15,13,11,.85))}
.bandeau-page .wrap{position:relative;z-index:1;width:100%;padding-top:90px;padding-bottom:40px;display:flex;flex-direction:column;gap:12px}
.bandeau-page h1{font-size:clamp(50px,14vw,140px)}
.bandeau-page p.intro{max-width:560px;color:#EDE5D8}

/* Prestations */
.presta{display:flex;flex-direction:column;gap:26px;padding-top:64px;padding-bottom:64px;border-bottom:1px solid var(--trait)}
.presta-photo{position:relative}
.presta-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px}
.presta-photo .gros-num{position:absolute;left:14px;top:-34px;font-family:var(--titre);font-weight:800;font-size:96px;line-height:1;color:var(--or)}
.presta-texte{display:flex;flex-direction:column;gap:16px}
.presta h2{font-size:clamp(40px,10vw,84px)}
.liste{list-style:none;margin:6px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.liste li{padding:8px 16px;border:1px solid var(--noir);border-radius:999px;font-weight:600;font-size:14px}

/* Galerie */
.galerie{columns:2;column-gap:10px}
.galerie button{display:block;width:100%;padding:0;margin:0 0 10px;border:0;background:none;cursor:zoom-in;break-inside:avoid;border-radius:12px;overflow:hidden}
.galerie img{width:100%;transition:transform .6s}
.galerie button:hover img{transform:scale(1.04)}
.visionneuse{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh}
.visionneuse::backdrop{background:rgba(15,13,11,.94)}
.visionneuse img{max-width:94vw;max-height:86vh;width:auto;border-radius:10px}
.visionneuse button{position:fixed;top:14px;right:14px;min-height:46px;padding:0 20px;border:0;border-radius:999px;background:var(--ivoire);font:700 15px 'Manrope',sans-serif;cursor:pointer}

/* Contact */
.contact-grille{display:flex;flex-direction:column;gap:14px}
.bloc-form{background:var(--or);color:var(--noir);border-radius:22px;padding:30px 24px;display:flex;flex-direction:column;gap:14px;text-decoration:none}
.bloc-form h2{font-size:clamp(34px,8vw,56px)}
.bloc-form .btn{align-self:stretch}
.tuiles{display:grid;grid-template-columns:1fr;gap:12px}
.tuile{background:var(--blanc);border:1px solid var(--trait);border-radius:18px;padding:20px 22px;text-decoration:none;display:flex;flex-direction:column;gap:2px;transition:border-color .2s}
.tuile:hover{border-color:var(--or)}
.tuile .t{font-size:14px;font-weight:700;color:var(--or-texte)}
.tuile .v{font-family:var(--titre);font-size:24px;font-weight:700;letter-spacing:-0.02em;overflow-wrap:anywhere}
.reseaux{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.reseaux .btn{min-height:48px;padding:0 22px}

/* Pied de page */
.pied{background:var(--noir);color:var(--ivoire);font-size:15px}
.pied .wrap{display:flex;flex-direction:column;gap:28px;padding-top:56px;padding-bottom:30px}
.pied-logo{background:var(--ivoire);border-radius:16px;padding:14px 18px;align-self:flex-start}
.pied-logo img{height:70px;width:auto}
.pied .col{display:flex;flex-direction:column;gap:2px}
.pied .col .t{font-size:14px;font-weight:700;color:var(--or-clair);margin-bottom:6px}
.pied a{text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.pied a:hover{color:var(--or-clair)}
.copyright{font-size:13px;color:var(--gris-clair)}

/* Apparition au défilement */
.js .apparait{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.js .apparait.vu{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
  .apparait{opacity:1;transform:none}
}

/* ——— Tablette et ordinateur ——— */
@media (min-width: 800px){
  :root{--marge:40px}
  .section{padding-top:120px;padding-bottom:120px}
  .entete .wrap{grid-template-columns:auto 1fr auto;gap:28px;padding-top:10px;padding-bottom:10px}
  .logo img{height:64px}
  .entete .btn{min-height:48px;padding:0 24px;font-size:15px}
  .menu{grid-row:1;grid-column:2;justify-content:center;gap:40px}
  .boutons{flex-direction:row;flex-wrap:wrap}
  .boutons .btn{width:auto}
  .hero{min-height:calc(100vh - 85px)}
  .hero-contenu{padding-bottom:80px;gap:24px}
  .hero p.intro{font-size:19px}
  .univers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;overflow:visible;margin-right:0;padding-right:0}
  .carte{aspect-ratio:3/4.2}
  .signature .wrap{flex-direction:row;align-items:center;gap:90px}
  .signature-texte{flex:1 1 480px}
  .video-cadre{flex:0 0 380px;margin:0}
  .bande-piste img{height:380px}
  .etapes{grid-template-columns:repeat(4,1fr);gap:28px;border-top:0}
  .etape{display:flex;flex-direction:column;gap:12px;border-bottom:0;border-top:2px solid var(--noir);padding-top:22px}
  .etape .n{font-size:64px}
  .final .boutons{max-width:none;justify-content:center}
  .bandeau-page{min-height:520px}
  .bandeau-page .wrap{padding-bottom:64px}
  .presta{flex-direction:row;align-items:center;gap:80px;padding-top:110px;padding-bottom:110px}
  .presta:nth-child(even){flex-direction:row-reverse}
  .presta-photo{flex:1 1 480px}
  .presta-photo img{height:640px;aspect-ratio:auto}
  .presta-photo .gros-num{font-size:150px;top:-60px;left:-20px}
  .presta-texte{flex:1 1 440px}
  .galerie{columns:3;column-gap:20px}
  .galerie button{margin-bottom:20px}
  .contact-grille{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}
  .bloc-form{padding:48px 44px;min-height:100%;justify-content:flex-end}
  .bloc-form .btn{align-self:flex-start}
  .pied .wrap{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:36px 48px;padding-top:72px}
  .pied .copyright{flex-basis:100%}
}

/* ——— Touche dorée renforcée ——— */
:root{
  --or-metal:linear-gradient(135deg,#F6E2A6 0%,#D9B464 30%,#B8903F 55%,#E9CB82 80%,#C9A14A 100%);
  --or-metal-fonce:linear-gradient(135deg,#C9A14A 0%,#9E7A30 50%,#7A5C22 100%);
}
.or{background:var(--or-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.clair-or{background:var(--or-metal-fonce);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-or{background:var(--or-metal);border:0;color:var(--noir);box-shadow:0 6px 22px rgba(201,161,74,.35)}
.btn-or:hover{background:var(--or-metal);filter:brightness(1.08)}
.btn{border-color:var(--noir)}
.btn:not(.btn-or):not(.btn-contour):not(.btn-noir-contour){box-shadow:inset 0 0 0 1.5px #C9A14A}
.btn-contour{border-color:var(--or);color:var(--or-clair)}
.btn-contour:hover{background:var(--or-metal);color:var(--noir);border-color:transparent}
.entete{border-bottom:0;box-shadow:0 2px 0 0 #C9A14A}
.menu a[aria-current="page"]{box-shadow:inset 0 -3px 0 #C9A14A}
.defile,.final{background:var(--or-metal)}
.surtitre{color:#8C6A2A}
.sombre .surtitre,.hero .surtitre,.bandeau-page .surtitre{color:#E9CB82}
.carte{box-shadow:0 0 0 1px rgba(201,161,74,.7)}
.carte:hover{box-shadow:0 0 0 2px #D9B464,0 20px 50px rgba(201,161,74,.3)}
.carte .num{background:var(--or-metal);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:18px}
.carte .voir{color:#E9CB82}
.sombre .tete h2{color:var(--ivoire)}
.etape .n,.presta-photo .gros-num{background:var(--or-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.etape{border-color:#C9A14A}
.liste li{border-color:#C9A14A;background:rgba(201,161,74,.08)}
.presta{border-bottom-color:#E2CFA4}
.presta-photo img,.galerie button{box-shadow:0 0 0 1px rgba(201,161,74,.6)}
.bandeau-page{border-bottom:3px solid #C9A14A}
.bloc-form{background:var(--or-metal)}
.tuile{border-color:#E2CFA4}
.tuile:hover{border-color:#C9A14A;box-shadow:0 10px 30px rgba(201,161,74,.18)}
.pied{border-top:3px solid #C9A14A}
.pied-logo{box-shadow:0 0 0 2px #C9A14A}
.bande-piste img{box-shadow:0 0 0 1px rgba(201,161,74,.6)}
@media (min-width: 800px){
  .etape{border-top-color:#C9A14A}
}

/* Avis Google */
.avis{text-align:center}
.avis .wrap{display:flex;flex-direction:column;align-items:center;gap:20px}
.avis h2{font-size:clamp(38px,9vw,84px);max-width:14ch}
.avis p.texte-gris{max-width:560px}
.avis .boutons{width:100%;max-width:380px}
@media (min-width: 800px){.avis .boutons{max-width:none;justify-content:center}}
.avis-cartes{display:grid;grid-template-columns:1fr;gap:16px;width:100%;max-width:1000px;margin:10px 0}
.avis-carte{margin:0;text-align:left;background:var(--noir-2);border-radius:20px;padding:28px 26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 0 0 1px rgba(201,161,74,.55)}
.etoiles{font-size:22px;letter-spacing:4px;background:var(--or-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.avis-carte blockquote{margin:0;font-family:var(--titre);font-weight:600;font-size:21px;line-height:1.4;letter-spacing:-0.01em;color:var(--ivoire)}
.avis-carte figcaption{display:flex;flex-direction:column;gap:2px;font-size:15px}
.avis-carte figcaption strong{color:#E9CB82}
.avis-carte figcaption span{color:var(--gris-clair);font-size:14px}
@media (min-width: 800px){.avis-cartes{grid-template-columns:1fr 1fr;gap:20px}.avis-carte{padding:36px}}

/* Deuxième cocktail : mise en page inversée */
.signature-inverse{background:var(--noir-2);border-top:1px solid rgba(201,161,74,.35)}
.signature-inverse .annee{right:auto;left:-10px;font-size:clamp(90px,22vw,300px)}
@media (min-width: 800px){.signature-inverse .wrap{flex-direction:row-reverse}}

/* Pages légales */
.bandeau-simple{min-height:0}
.bandeau-simple .wrap{padding-top:56px;padding-bottom:40px}
.bandeau-simple h1{font-size:clamp(40px,10vw,96px)}
.legal{max-width:860px;padding-top:48px;padding-bottom:80px;font-size:16px}
.legal h2{font-size:clamp(24px,5vw,34px);letter-spacing:-0.02em;margin:44px 0 12px;padding-top:20px;border-top:1px solid #E2CFA4}
.legal h3{font-size:19px;letter-spacing:-0.01em;margin:22px 0 8px}
.legal p,.legal ul{margin:0 0 12px;color:#3A342D}
.legal ul{padding-left:20px}
.legal li{margin-bottom:6px}
.legal a{color:var(--or-texte);font-weight:600}
.legal .maj{font-size:14px;color:var(--gris)}
.legal .intro-legal{font-size:18px}
.a-completer{background:#FFE9A8;color:#5A3E00;padding:1px 6px;border-radius:4px;font-weight:600}
.copyright a{color:inherit}
@media (min-width: 800px){.bandeau-simple .wrap{padding-top:90px;padding-bottom:60px}.legal{padding-top:72px;padding-bottom:120px}}

/* Bouton WhatsApp flottant */
.wa-flottant{position:fixed;right:16px;bottom:16px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #C9A14A,0 10px 28px rgba(0,0,0,.35);transition:transform .2s}
.wa-flottant:hover{transform:scale(1.07)}
@media (min-width: 800px){.wa-flottant{right:28px;bottom:28px;width:64px;height:64px}}

/* FAQ */
.faq-liste{border-top:2px solid #C9A14A}
.faq-q{border-bottom:1px solid #E2CFA4}
.faq-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;min-height:44px;font-family:var(--titre);font-weight:700;font-size:clamp(19px,4.6vw,24px);letter-spacing:-0.02em;line-height:1.25}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::after{content:"+";flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--or-metal);color:var(--noir);font-size:22px;font-weight:700;transition:transform .25s}
.faq-q[open] summary::after{transform:rotate(45deg)}
.faq-q p{padding:0 0 22px;max-width:760px;color:#3A342D}

/* Ancres sous l en-tête fixe */
[id]{scroll-margin-top:120px}
.lien-faq{max-width:560px}
@media (max-width: 420px){.menu{font-size:14px;gap:4px}}
