/* ─────────────────────────────────────────────────────────
   Adrian Kill — Bartender Magician — Cocktails & Illusions
   Refonte 22/05/2026 v3 : Charte néo-club Y2K — itération retour Maurice
   Palette Pantone : 381 C (vert) / 2665 C (violet) / 212 C (magenta)
                     1495 C (orange) / 7442 C (purple)
   Fond noir + bleu nuit (pas violet) + accents néon + gradients saturés.
   Aucun blanc pur (charte sans blanc, nuances lavande à la place).
   Photos en noir et blanc style découpé papier.
   Grain renforcé sur gradients et fonds.
   Logo hero réduit (max 120px) — placé en haut.
   Backup thème Bleu Corporate : styles.css.bak-corporate-2026-05-22
   Backup thème Cabaret Nocturne : styles.css.bak-cabaret-2026-05-04-2123
   ───────────────────────────────────────────────────────── */

/* Dx Lactose Free Personal Use — extraite du PDF charte 22/05 (subset 51 glyphes ASCII) */
@font-face {
  font-family: 'Dx Lactose';
  src: url('fonts/dx-lactose.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500;1,9..144,600&family=Manrope:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  /* ── Palette canonique v3 — fond noir+bleu nuit, pas violet ── */
  --noir-pur:        #000000;
  --noir-profond:    #050810;          /* noir légèrement teinté bleu nuit */
  --noir-card:       #0E1226;          /* fond carte — bleu nuit profond */
  --noir-lift:       #14193A;          /* hover — bleu nuit lifted */
  --bleu-nuit:       #0D1240;          /* fond gradient hero */
  --bleu-nuit-deep:  #1A1A4F;          /* accent bleu pour gradients */
  --bleu-electric:   #2B1E72;          /* bleu électrique secondaire */

  /* ── Couleurs Pantone charte (sans blanc) ── */
  --vert-fluo:       #C5E86C;          /* Pantone 381 C */
  --violet:          #5C45A0;          /* Pantone 2665 C */
  --violet-vif:      #A431F2;          /* Pantone 7442 C */
  --magenta:         #EC008C;          /* Pantone 212 C */
  --magenta-clair:   #FF3DAA;
  --orange:          #FF8200;          /* Pantone 1495 C */
  --orange-clair:    #FFA340;

  /* ── Pas de blanc : nuances teintées lavande pour textes — ajustées WCAG AA 22/05 ── */
  --texte-clair:     #E0DAE8;          /* lavande très claire (ratio 14.6:1 sur noir-profond — AAA) */
  --texte-medium:    #B8AECC;          /* secondaire violet désaturé (ratio 9.5:1 — AAA) */
  --texte-muet:      #A89FC0;          /* muet éclairci pour WCAG AA (ratio 8:1 sur noir-profond — AAA) */
  --violet-text:     #C46FFA;          /* version éclaircie de violet-vif pour USAGE TEXTE SOLIDE (ratio 6.7:1 — AA) */

  /* Gradients signature avec touches de bleu */
  --grad-magenta-violet:   linear-gradient(135deg, #EC008C 0%, #A431F2 100%);
  --grad-violet-bleu:      linear-gradient(135deg, #A431F2 0%, #2B1E72 100%);
  --grad-orange-magenta:   linear-gradient(135deg, #FF8200 0%, #EC008C 100%);
  --grad-vert-violet:      linear-gradient(135deg, #C5E86C 0%, #A431F2 100%);
  --grad-magenta-bleu:     linear-gradient(135deg, #EC008C 0%, #1A1A4F 100%);
  --grad-hero:             radial-gradient(ellipse at top center, rgba(43, 30, 114, .55) 0%, rgba(13, 18, 64, .85) 35%, #050810 75%);
  --grad-section-bleu:     linear-gradient(180deg, #050810 0%, #0D1240 50%, #050810 100%);

  /* SVG grain noise (textile) — utilisable en background sur gradients */
  --grain-svg: url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

  /* Mapping rétrocompat — --or éclairci pour AA texte */
  --noir:        var(--noir-profond);
  --noir-2:      var(--noir-card);
  --noir-3:      var(--noir-lift);
  --or:          var(--magenta-clair);    /* accents texte (labels/eyebrows) — ratio 6.2:1 AA */
  --or-clair:    #FF5FBC;                  /* version encore plus claire */
  --or-profond:  var(--violet-text);       /* version éclaircie AA */
  --cuivre:      var(--orange);
  --rouge:       var(--magenta);
  --rouge-vif:   var(--magenta-clair);
  --ivoire:      var(--texte-clair);
  --ivoire-2:    var(--texte-medium);
  --fume:        var(--texte-muet);
  --ombre:       rgba(0, 0, 0, .65);
  --glow-or:     rgba(236, 0, 140, .40);

  /* Typographie — Dx Lactose en priorité, Anton fallback pour glyphes manquants (W, w, accents) */
  --titre: 'Dx Lactose', 'Anton', 'Bebas Neue', 'Arial Narrow', 'Arial Black', sans-serif;
  --serif: 'Fraunces', 'Playfair Display', Georgia, serif;
  --sans:  'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:  'JetBrains Mono', ui-monospace, monospace;

  --wrap: min(1340px, calc(100% - 56px));

  /* Legacy compat */
  --bg: var(--noir-profond);
  --bg-dark: var(--noir-card);
  --bg-dark-2: var(--noir-lift);
  --ink: var(--texte-clair);
  --ink-2: var(--texte-medium);
  --muted: rgba(224, 218, 232, .58);
  --muted-2: rgba(184, 174, 204, .50);
  --line: rgba(236, 0, 140, .22);
  --line-dark: rgba(236, 0, 140, .40);
  --blue: var(--bleu-electric);
  --blue-2: var(--violet-vif);
  --blue-bright: var(--magenta);
  --gold: var(--orange);
  --accent-grad: var(--grad-magenta-violet);
  --radius: 4px;
  --radius-sm: 2px;
  --font-serif: var(--serif);
  --font-sans: var(--sans);
}

/* ── Titres signature v4 : Dx Lactose grunge condensé + gradient vertical + distressed ── */
h1, h2, .hero-h1, .titre-signature {
  font-family: var(--titre) !important;
  letter-spacing: -0.01em;
  text-transform: none;
  /* Gradient vertical signature affiche (rose vif en haut → violet profond en bas) */
  background: linear-gradient(180deg, #FF3DAA 0%, #EC008C 35%, #A431F2 80%, #5C45A0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  line-height: 0.82;
  font-weight: 400;
  font-style: normal !important;
  /* Effet distressed (drop shadows multiples) */
  filter: drop-shadow(0 4px 0 rgba(236, 0, 140, .12)) drop-shadow(0 0 50px rgba(164, 49, 242, .3));
}
h1 em, h2 em, h3 em {
  font-style: normal !important;
  font-family: inherit;
  background: inherit;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Hero H1 plus gros + visuel signature */
.hero-h1, h1.hero-h1 {
  font-size: clamp(4rem, 12vw, 9rem) !important;
  line-height: 0.82 !important;
}

/* Variations chromatiques alternées */
section:nth-of-type(2n) h2 { background: var(--grad-orange-magenta); -webkit-background-clip: text; background-clip: text; }
section:nth-of-type(3n) h2 { background: var(--grad-vert-violet); -webkit-background-clip: text; background-clip: text; }
section:nth-of-type(5n) h2 { background: var(--grad-violet-bleu); -webkit-background-clip: text; background-clip: text; }

/* ── Hero v4 : fond noir-bleu nuit + formes signature SVG + grain renforcé ── */
.hero {
  background:
    /* Étoile 8 branches magenta */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 5 L60 38 L93 38 L66 58 L77 90 L50 70 L23 90 L34 58 L7 38 L40 38 Z' fill='%23EC008C'/%3E%3C/svg%3E") no-repeat 88% 12%/55px,
    /* Étoile orange */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 5 L60 38 L93 38 L66 58 L77 90 L50 70 L23 90 L34 58 L7 38 L40 38 Z' fill='%23FF8200'/%3E%3C/svg%3E") no-repeat 5% 72%/65px,
    /* Fleur violet */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 C 65 10, 75 25, 60 35 C 80 30, 90 50, 75 60 C 90 70, 75 90, 60 75 C 65 90, 40 95, 35 75 C 20 85, 10 65, 25 55 C 5 50, 15 25, 35 35 C 30 15, 45 5, 50 10 Z' fill='%235C45A0'/%3E%3C/svg%3E") no-repeat 92% 65%/100px,
    /* Fleur vert fluo */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 C 65 10, 75 25, 60 35 C 80 30, 90 50, 75 60 C 90 70, 75 90, 60 75 C 65 90, 40 95, 35 75 C 20 85, 10 65, 25 55 C 5 50, 15 25, 35 35 C 30 15, 45 5, 50 10 Z' fill='%23C5E86C'/%3E%3C/svg%3E") no-repeat 8% 20%/80px,
    var(--grad-hero) !important;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--grain-svg);
  opacity: 0.18;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 1;
}
.hero-content { position: relative; z-index: 2; }

.hero-logo {
  max-width: 120px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto 32px !important;
  display: block;
  opacity: 0.95;
  filter: drop-shadow(0 0 20px rgba(164, 49, 242, .35));
}

/* ── Photos Adrian : noir et blanc style découpé papier (renforcé v4) ── */
.split-visual img,
img[src*="adrien"],
img[src*="portrait"],
img[src*="captation"],
img[src*="equipe-france"] {
  filter: grayscale(100%) contrast(1.5) brightness(1.05);
  transition: filter .6s ease;
  /* Effet papier découpé : drop-shadow blanc subtil + halo magenta */
  filter: grayscale(100%) contrast(1.55) brightness(1.05)
          drop-shadow(0 0 1px rgba(255, 255, 255, .3))
          drop-shadow(8px 8px 0 rgba(236, 0, 140, .15));
}
.split-visual img:hover,
img[src*="adrien"]:hover {
  filter: grayscale(100%) contrast(1.7) brightness(1.1)
          drop-shadow(0 0 30px rgba(236, 0, 140, .5))
          drop-shadow(8px 8px 0 rgba(164, 49, 242, .25));
}

/* Grain renforcé sur le body */
body::before { opacity: 0.10 !important; }

/* Grain sur sections principales */
section.section-bio,
section.section-services,
section.section-dark,
section.alt {
  position: relative;
}
section.section-bio::after,
section.section-services::after,
section.section-dark::after,
section.alt::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--grain-svg);
  opacity: 0.08;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 1;
}
section.section-bio > *,
section.section-services > *,
section.section-dark > *,
section.alt > * { position: relative; z-index: 2; }

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background: var(--noir);
  color: var(--ivoire);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.7;
  font-size: 17px;
  font-feature-settings: "ss01","liga","kern";
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}

/* Grain noir texture */
body::before{
  content:'';
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' /%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

/* Structure */
.wrap{width:var(--wrap);margin:0 auto;position:relative;z-index:2}
main{position:relative;z-index:2}
section{padding: clamp(90px, 11vw, 160px) 0;position:relative;z-index:2}

/* Typographie display */
h1,h2,h3,h4,.display{
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ivoire);
}
h1{font-size: clamp(3rem, 8vw, 7.5rem);font-weight: 400}
h2{font-size: clamp(2.2rem, 4.5vw, 4rem);font-weight: 400}
h3{font-size: clamp(1.4rem, 2vw, 1.9rem);font-weight: 500}
h4{font-size: 1rem;font-weight:500}

h2 em, h1 em, h3 em{
  font-style: italic;
  color: var(--or);
  font-weight: 500;
  font-variation-settings: "opsz" 144;
}

p{
  color: rgba(245, 240, 250, .72);
  font-weight: 300;
  line-height: 1.75;
  max-width: 64ch;
}

a{color:inherit;text-decoration:none;transition: all .4s cubic-bezier(.2,.7,.3,1)}
img{display:block;max-width:100%;height:auto}

/* Labels mono art-déco */
.label, .eyebrow{
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--or);
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.label::before, .eyebrow::before{
  content:'';
  width: 42px;
  height: 1px;
  background: var(--or);
}
.eyebrow::after{content:none !important}
.eyebrow.center, .label.center{justify-content: center}
.eyebrow.center::after, .label.center::after{
  content:'';
  width: 42px;
  height: 1px;
  background: var(--or);
  display:inline-block;
}
.eyebrow.on-dark{color: var(--or-clair)}
.eyebrow.on-dark::before, .eyebrow.on-dark::after{background: var(--or-clair)}

/* ═══ Navigation ═══ */
.nav{
  position: fixed;
  top:0;left:0;right:0;
  z-index: 100;
  padding: 18px 0;
  background: rgba(10, 10, 10, .82);
  backdrop-filter: blur(24px) saturate(180%);
  border-bottom: 1px solid rgba(236, 0, 140, .12);
  transition: padding .3s, background .3s, box-shadow .3s;
}
.nav.scrolled{
  padding: 12px 0;
  background: rgba(21, 19, 26, .96);
  box-shadow: 0 4px 20px rgba(0, 0, 0, .55);
}
.nav-inner{display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;color:var(--ivoire)}
.brand img{max-height: 48px;width: auto}
.menu{display:flex;gap:38px;align-items:center}
.menu a{
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245, 240, 250, .7);
  padding: 4px 0;
  position: relative;
}
.menu a:hover{color: var(--or-clair)}
.menu a.active{color: var(--or-clair)}
.menu a.active::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:1px;
  background: var(--or);
}
.nav-cta{
  padding: 11px 24px !important;
  border: 1px solid var(--or);
  color: var(--or) !important;
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: all .4s !important;
}
.nav-cta:hover{
  background: var(--or);
  color: var(--noir) !important;
  box-shadow: 0 10px 30px rgba(236, 0, 140, .25);
}
.burger{
  display:none;
  background:none;
  border:1px solid rgba(236, 0, 140, .3);
  padding:10px;
  cursor:pointer;
}
.burger span{display:block;width:22px;height:1px;background:var(--or);margin:5px 0;transition:.3s}

/* ═══ Hero ═══ */
.hero{
  min-height: 100vh;
  padding: 170px 0 90px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

/* Vignette radiale */
.hero::before{
  content:'';
  position: absolute;
  top:50%;left:50%;
  transform: translate(-50%,-50%);
  width: 1200px;height: 1200px;
  background: radial-gradient(circle at center, rgba(236, 0, 140, .07) 0%, transparent 60%);
  z-index: 0;
}

/* Rayons art-déco rotatifs */
.hero::after{
  content:'';
  position: absolute;
  top:50%;left:50%;
  width: 1500px;height: 1500px;
  z-index: 0;
  opacity: .08;
  background-image: conic-gradient(
    from 0deg,
    transparent 0deg, var(--or) 1deg, transparent 2deg,
    transparent 29deg, var(--or) 30deg, transparent 31deg,
    transparent 59deg, var(--or) 60deg, transparent 61deg,
    transparent 89deg, var(--or) 90deg, transparent 91deg,
    transparent 119deg, var(--or) 120deg, transparent 121deg,
    transparent 149deg, var(--or) 150deg, transparent 151deg,
    transparent 179deg, var(--or) 180deg, transparent 181deg,
    transparent 209deg, var(--or) 210deg, transparent 211deg,
    transparent 239deg, var(--or) 240deg, transparent 241deg,
    transparent 269deg, var(--or) 270deg, transparent 271deg,
    transparent 299deg, var(--or) 300deg, transparent 301deg,
    transparent 329deg, var(--or) 330deg, transparent 331deg,
    transparent 360deg
  );
  animation: rotate-slow 140s linear infinite;
  transform: translate(-50%,-50%);
}
@keyframes rotate-slow{
  to{transform: translate(-50%,-50%) rotate(360deg)}
}

.hero-content{
  text-align:center;
  position:relative;
  z-index:3;
  max-width: 1100px;
  margin: 0 auto;
}

.hero-eyebrow{
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 42px;
  opacity: 0;
  animation: fade-up 1s .25s cubic-bezier(.2,.7,.3,1) forwards;
}
.hero-eyebrow::before, .hero-eyebrow::after{content: '❖';margin: 0 18px;font-size: .85em;opacity: .6}

.hero-logo{
  max-width: 420px;
  width: 68%;
  margin: 0 auto 50px;
  opacity: 0;
  animation: fade-up 1.1s .45s cubic-bezier(.2,.7,.3,1) forwards;
  filter: drop-shadow(0 14px 50px rgba(236, 0, 140, .18));
}

.hero-h1{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-variation-settings: "opsz" 144;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  color: var(--or-clair);
  letter-spacing: .01em;
  margin-bottom: 60px;
  opacity: 0;
  animation: fade-up 1.1s .6s cubic-bezier(.2,.7,.3,1) forwards;
}

.palmares{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 920px;
  margin: 0 auto 55px;
  padding: 55px 20px;
  border-top: 1px solid rgba(236, 0, 140, .2);
  border-bottom: 1px solid rgba(236, 0, 140, .2);
  position: relative;
}
.palmares::before, .palmares::after{
  content: '❖';
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  color: var(--or);
  font-size: .85rem;
  background: var(--noir);
  padding: 0 14px;
}
.palmares::before{top:-9px}
.palmares::after{bottom:-9px}

.palmares-item{
  text-align:center;
  opacity: 0;
  animation: fade-up 1s cubic-bezier(.2,.7,.3,1) forwards;
}
.palmares-item:nth-child(1){animation-delay: .85s}
.palmares-item:nth-child(2){animation-delay: 1s}
.palmares-item:nth-child(3){animation-delay: 1.15s}

/* Palmarès TV — Incroyable Talent (étoile + badge M6) */
.palmares-item-tv{position:relative}
.palmares-tv-star{
  width: 56px;
  height: 56px;
  margin: 0 auto 8px;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(245, 158, 11, .35));
  animation: tv-pulse 3.5s ease-in-out infinite;
}
@keyframes tv-pulse{
  0%, 100% { transform: scale(1); filter: drop-shadow(0 4px 12px rgba(245, 158, 11, .35)); }
  50% { transform: scale(1.06); filter: drop-shadow(0 6px 18px rgba(245, 158, 11, .55)); }
}
.palmares-tv-badge{
  display: inline-block;
  margin-top: 10px;
  padding: 4px 12px;
  background: linear-gradient(135deg, var(--jaune-clair), var(--jaune));
  color: var(--bleu-nuit);
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(245, 158, 11, .25);
}

.palmares-num{
  font-family: var(--serif);
  font-style: italic;
  font-size: 2.4rem;
  font-weight: 500;
  color: var(--or);
  margin-bottom: 10px;
  line-height: 1;
  font-variation-settings: "opsz" 144;
}
.palmares-title{
  font-family: var(--serif);
  font-size: 1.08rem;
  color: var(--ivoire);
  margin-bottom: 4px;
  font-weight: 500;
}
.palmares-sub{
  font-family: var(--mono);
  font-size: .66rem;
  color: var(--fume);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.slogan{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-variation-settings: "opsz" 144;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  color: var(--or-clair);
  margin: 55px auto 18px;
  max-width: 760px;
  line-height: 1.4;
  opacity: 0;
  animation: fade-up 1.1s 1.3s cubic-bezier(.2,.7,.3,1) forwards;
}
.slogan-sub{
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--fume);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  margin-bottom: 55px;
  opacity: 0;
  animation: fade-up 1s 1.45s cubic-bezier(.2,.7,.3,1) forwards;
}

.hero-actions{
  display:flex;
  gap: 20px;
  justify-content:center;
  opacity: 0;
  animation: fade-up 1s 1.6s cubic-bezier(.2,.7,.3,1) forwards;
}

@keyframes fade-up{
  from{opacity:0;transform: translateY(30px)}
  to{opacity:1;transform: translateY(0)}
}

/* ═══ Buttons ═══ */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 17px 34px;
  font-family: var(--mono);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  transition: all .4s cubic-bezier(.2,.7,.3,1);
  position: relative;
  background: transparent;
}

.btn-primary, .btn-or{
  background: var(--or);
  color: var(--noir);
}
.btn-primary:hover, .btn-or:hover{
  background: var(--or-clair);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(236, 0, 140, .3);
}

.btn-outline, .btn-outline-light, .btn-ghost{
  color: var(--ivoire);
  border: 1px solid rgba(236, 0, 140, .3);
}
.btn-outline:hover, .btn-outline-light:hover, .btn-ghost:hover{
  border-color: var(--or);
  color: var(--or-clair);
  background: rgba(236, 0, 140, .05);
}

.btn-arrow::after{
  content: '→';
  font-family: var(--serif);
  font-size: 1.1em;
  transition: transform .4s;
}
.btn-arrow:hover::after{transform: translateX(5px)}

.link{
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--or);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .4s, color .4s;
}
.link:hover{gap: 16px; color: var(--or-clair)}
.link::after{content: '→'}

/* ═══ Section bio ═══ */
.section-bio, .section-dark{
  background: var(--noir-2);
  position: relative;
}
.section-dark h2, .section-dark h3{color: var(--ivoire)}
.section-dark p{color: rgba(245, 240, 250, .7)}

.split{
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: 90px;
  align-items: center;
}
.split-visual{position: relative}
.split-visual img{
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  filter: grayscale(.2) contrast(1.05);
  position: relative;
  z-index: 2;
}
.split-visual::before{
  content:'';
  position:absolute;
  top: -18px;left: -18px;
  width: 100%;height: 100%;
  border: 1px solid var(--or);
  z-index: 1;
}
.split-visual::after{
  content: attr(data-sig);
  position:absolute;
  bottom: -30px; right: -10px;
  font-family: var(--serif);
  font-style: italic;
  color: var(--or);
  font-size: 1.3rem;
  z-index: 3;
  font-variation-settings: "opsz" 144;
  background: var(--noir-2);
  padding: 4px 12px;
}

.split-content h2{margin-bottom: 36px}
.split-content h2 em{color: var(--or)}
.split-content p + p{margin-top: 22px}
.split-content .btn{margin-top: 36px}

/* ═══ Section services ═══ */
.section-services{background: var(--noir)}

.section-head{
  text-align: center;
  max-width: 780px;
  margin: 0 auto 80px;
}
.section-head .label, .section-head .eyebrow{justify-content: center;margin-bottom: 26px}
.section-head h2{margin-bottom: 24px}
.section-head p{margin: 0 auto}

.services-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  border-top: 1px solid rgba(236, 0, 140, .16);
  border-left: 1px solid rgba(236, 0, 140, .16);
}
.service{
  background: var(--noir);
  padding: 55px 38px;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  border-right: 1px solid rgba(236, 0, 140, .16);
  border-bottom: 1px solid rgba(236, 0, 140, .16);
  transition: background .5s cubic-bezier(.2,.7,.3,1);
}
.service::before{
  content:'';
  position:absolute;
  top:0;left:0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--or), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.service:hover{background: var(--noir-2)}
.service:hover::before{transform: scaleX(1)}

.service-num{
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--or);
  margin-bottom: 28px;
  font-variation-settings: "opsz" 144;
  letter-spacing: 0.06em;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.service-num::after{
  content:'';
  width: 36px;
  height: 1px;
  background: var(--or);
  opacity: .5;
}

.service-icon{
  width: 72px;
  height: 72px;
  margin-bottom: 30px;
  color: var(--or);
}
.service-icon svg{width:100%;height:100%}

.service h3{
  font-size: 1.6rem;
  margin-bottom: 18px;
  transition: color .4s;
  color: var(--ivoire);
}
.service:hover h3{color: var(--or-clair)}
.service p{
  font-size: .94rem;
  color: rgba(245, 240, 250, .62);
  margin-bottom: 32px;
  flex: 1;
}
.service .link{margin-top: auto}

/* ═══ Reviews (section ivoire) ═══ */
.section-reviews{
  background: var(--ivoire);
  color: var(--noir);
}
.section-reviews .label, .section-reviews .eyebrow{color: var(--cuivre)}
.section-reviews .label::before, .section-reviews .label::after,
.section-reviews .eyebrow::before, .section-reviews .eyebrow::after{background: var(--cuivre)}
.section-reviews h2{color: var(--noir-2)}
.section-reviews h2 em{color: var(--cuivre)}
.section-reviews p{color: rgba(245, 240, 250, .7)}

.reviews-wrap{
  max-width: 980px;
  margin: 0 auto;
  padding: 20px;
  position: relative;
}
.reviews-ornament{
  font-family: var(--serif);
  font-style: italic;
  font-size: 5rem;
  color: var(--cuivre);
  opacity: .2;
  line-height: 1;
  text-align: center;
  margin-bottom: -10px;
  font-variation-settings: "opsz" 144;
}
.reviews-track{
  position: relative;
  min-height: 260px;
}
.review{
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .7s ease;
  text-align: center;
  padding: 20px;
}
.review.active{opacity: 1}
.review-stars{
  color: var(--or-profond);
  font-size: 1.15rem;
  letter-spacing: 0.45em;
  margin-bottom: 28px;
}
.review-text{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-variation-settings: "opsz" 144;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  line-height: 1.55;
  color: var(--noir-2);
  margin: 0 auto 28px;
  max-width: 800px;
}
.review-author{
  font-family: var(--mono);
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cuivre);
}
.reviews-nav{
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 40px;
}
.reviews-dot{
  width: 36px; height: 2px;
  background: rgba(139,26,26,.22);
  border:none;
  padding:0;
  cursor:pointer;
  transition: background .4s, width .4s;
}
.reviews-dot.active{background: var(--cuivre); width: 54px}
.reviews-link{
  text-align:center;
  margin-top: 32px;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fume);
}
.reviews-link a{color: var(--cuivre);text-decoration: underline;text-underline-offset: 4px}

/* ═══ Section corporate ═══ */
.section-corporate{
  background: var(--noir-2);
  border-top: 1px solid rgba(236, 0, 140, .08);
}
.corporate-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  border-top: 1px solid rgba(236, 0, 140, .14);
  border-left: 1px solid rgba(236, 0, 140, .14);
}
.corporate-item{
  background: var(--noir-2);
  padding: 46px 34px 42px;
  border-right: 1px solid rgba(236, 0, 140, .14);
  border-bottom: 1px solid rgba(236, 0, 140, .14);
  transition: background .4s;
}
.corporate-item:hover{background: var(--noir-3)}
.corporate-icon{
  width: 42px; height: 42px;
  color: var(--or);
  margin-bottom: 24px;
  opacity: .85;
}
.corporate-item h3{
  font-size: 1.2rem;
  margin-bottom: 14px;
  color: var(--ivoire);
  font-weight: 500;
}
.corporate-item p{
  font-size: .88rem;
  color: rgba(245, 240, 250, .6);
  margin-bottom: 20px;
  line-height: 1.7;
}
.corporate-item .link{font-size: .68rem}

/* ═══ CTA final ═══ */
.section-cta, .cta-final{
  background: var(--noir);
  padding: 130px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.section-cta::before{
  content:'❖ ❖ ❖';
  display: block;
  font-size: .9rem;
  color: var(--or);
  letter-spacing: 1rem;
  margin-bottom: 36px;
  opacity: .6;
}
.section-cta h2{
  font-style: italic;
  font-variation-settings: "opsz" 144;
  max-width: 820px;
  margin: 0 auto 26px;
  color: var(--ivoire);
}
.section-cta p{
  margin: 0 auto 50px;
  color: rgba(245, 240, 250, .7);
}

/* ═══ Footer ═══ */
footer, .footer{
  background: var(--noir-2);
  padding: 80px 0 40px;
  border-top: 1px solid rgba(236, 0, 140, .12);
  color: rgba(245, 240, 250, .6);
  font-size: .88rem;
  position: relative;
  z-index: 2;
}
.footer-grid{
  display: grid;
  grid-template-columns: 2.5fr 1fr 1fr 1fr;
  gap: 50px;
  margin-bottom: 60px;
}
footer h4, .footer h4{
  font-family: var(--mono);
  font-size: .7rem;
  color: var(--or);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 22px;
  font-weight: 600;
}
footer ul, .footer ul{list-style: none}
footer li, .footer li{margin-bottom: 8px}
footer a, .footer a{
  color: rgba(245, 240, 250, .65);
  font-size: .88rem;
  font-weight: 300;
  transition: color .3s;
}
footer a:hover, .footer a:hover{color: var(--or-clair)}
.footer-brand img{max-height: 64px; margin-bottom: 22px}
.footer-brand p{
  font-size: .86rem;
  color: rgba(245, 240, 250, .55);
  line-height: 1.75;
  margin-bottom: 22px;
}
.socials{display:flex;gap:12px;margin-top: 22px}
.socials a{
  width: 40px; height: 40px;
  border: 1px solid rgba(236, 0, 140, .3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--or);
  transition: all .4s;
  padding: 0;
}
.socials a:hover{
  background: var(--or);
  color: var(--noir);
  border-color: var(--or);
  transform: translateY(-2px);
}
.footer-bottom{
  padding-top: 30px;
  border-top: 1px solid rgba(236, 0, 140, .1);
  display: flex;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: 0.1em;
  color: var(--fume);
}
.footer-bottom a{color: var(--fume)}

/* ═══ Legacy compat (prestations-grid / prestation-card pour les autres pages) ═══ */
.prestations-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2px;
  background: rgba(236, 0, 140, .14);
  border: 1px solid rgba(236, 0, 140, .14);
}
.prestation-card{
  background: var(--noir);
  padding: 50px 38px;
  transition: background .4s, transform .4s;
  position: relative;
  overflow: hidden;
  color: var(--ivoire);
  min-height: 340px;
  display: flex;
  flex-direction: column;
}
.prestation-card:hover{background: var(--noir-2); transform: translateY(-4px)}
.prestation-card::before{
  content:'';
  position: absolute;
  top:0;left:0;right:0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--or), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s;
}
.prestation-card:hover::before{transform: scaleX(1)}
.prestation-card h3{
  color: var(--ivoire);
  margin-bottom: 16px;
  font-size: 1.5rem;
}
.prestation-card p{
  color: rgba(245, 240, 250, .62);
  font-size: .93rem;
  margin-bottom: 22px;
  flex: 1;
}
.prestation-card .link{margin-top: auto}
.prestation-icon{
  width: 56px; height: 56px;
  color: var(--or);
  margin-bottom: 24px;
}
.prestation-icon svg{width:100%;height:100%}

/* Section title legacy */
.section-title{text-align:center;max-width: 780px;margin: 0 auto 70px}
.section-title h2{margin-bottom: 22px}
.section-title p{margin: 0 auto}

/* Hero legacy (autres pages) */
.hero-tagline{
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 36px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.hero-tagline::before, .hero-tagline::after{content:'❖';color:var(--or);opacity:.6}
.hero-lead{
  font-size: clamp(1.05rem, 1.35vw, 1.24rem);
  color: rgba(245, 240, 250, .82);
  line-height: 1.65;
  max-width: 720px;
  margin: 26px auto 0;
}
.hero h1{color: var(--ivoire)}
.hero h1 .accent{
  font-style: italic;
  color: var(--or);
  font-variation-settings: "opsz" 144;
}

.badges{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 860px;
  margin: 50px auto 0;
  padding-top: 45px;
  border-top: 1px solid rgba(236, 0, 140, .18);
}
.badge{text-align: center;padding: 0 10px}
.badge-icon{
  width: 42px;height: 42px;
  margin: 0 auto 14px;
  color: var(--or);
  display: flex;align-items: center;justify-content: center;
}
.badge-icon svg{width:100%;height:100%}
.badge-title{
  font-family: var(--serif);
  font-size: 1rem;
  color: var(--ivoire);
  margin-bottom: 4px;
  font-weight: 500;
}
.badge-sub{
  font-family: var(--mono);
  font-size: .66rem;
  color: var(--fume);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Quote / service-body */
.quote{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(1.3rem, 1.9vw, 1.8rem);
  line-height: 1.5;
  color: var(--ivoire);
  margin-bottom: 30px;
  position: relative;
  padding-left: 28px;
}
.quote::before{
  content:'"';
  position: absolute;
  left: -10px; top: -24px;
  font-size: 5rem;
  color: var(--or);
  opacity: .35;
  font-family: var(--serif);
  line-height: 1;
}

.service-body{
  color: rgba(245, 240, 250, .82) !important;
  line-height: 1.85;
}
.service-body p{color: rgba(245, 240, 250, .78)}
.service-body ul{list-style: none; padding: 0; margin: 30px 0}
.service-body li{
  padding: 14px 0 14px 30px;
  border-bottom: 1px solid rgba(236, 0, 140, .1);
  position: relative;
  color: rgba(245, 240, 250, .78);
}
.service-body li::before{
  content: '❖';
  position: absolute;
  left: 0; top: 14px;
  color: var(--or);
  font-size: .8em;
}
.service-body strong{color: var(--or-clair); font-weight: 500}
.service-body em{color: var(--or); font-style: italic}

/* Mobile menu legacy */
.mobile-menu{
  position: fixed;
  inset: 0;
  background: rgba(21, 19, 26, .98);
  backdrop-filter: blur(20px);
  z-index: 101;
  opacity: 0;
  visibility: hidden;
  transition: all .3s;
}
.mobile-menu.open{opacity: 1; visibility: visible}
.mobile-menu-inner{
  padding: 80px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.mobile-menu a{
  font-family: var(--serif);
  font-size: 1.8rem;
  color: var(--ivoire);
  padding: 10px 0;
  border-bottom: 1px solid rgba(236, 0, 140, .12);
}

/* Utilitaires */
.text-center{text-align:center}
.mt-40{margin-top: 40px}

/* ═══ Videos grid (page videos) ═══ */
.video-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  width: 100%;
  margin: 0 auto;
}
.video-card{
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--noir-2);
  overflow: hidden;
  border: 1px solid rgba(236, 0, 140, .14);
  transition: border-color .4s, box-shadow .4s;
}
.video-card:hover{
  border-color: var(--or);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .65), 0 0 0 1px rgba(236, 0, 140, .15);
}
.video-card iframe, .video-card video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.video-card .video-overlay-hint{
  position: absolute;
  top: 18px; right: 18px;
  background: rgba(21, 19, 26, .92);
  border: 1px solid rgba(236, 0, 140, .3);
  color: var(--or-clair);
  padding: 8px 14px;
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  z-index: 3;
  backdrop-filter: blur(8px);
  pointer-events: none;
  opacity: 0;
  transition: opacity .4s;
}
.video-card:hover .video-overlay-hint{opacity: 1}

/* Badge numérotation vidéo */
.video-card::before{
  content: attr(data-num);
  position: absolute;
  top: 18px; left: 22px;
  font-family: var(--serif);
  font-style: italic;
  color: var(--or);
  font-size: 1.4rem;
  font-variation-settings: "opsz" 144;
  z-index: 2;
  text-shadow: 0 4px 20px rgba(0, 0, 0, .55);
  pointer-events: none;
}

/* ═══ Mobile ═══ */
@media (max-width: 960px){
  .menu, .nav-cta{display: none}
  .burger{display: block}
  .hero-logo{max-width: 280px; width: 75%}
  .palmares{grid-template-columns: 1fr; gap: 34px; padding: 40px 20px}
  .split{grid-template-columns: 1fr; gap: 50px}
  .footer-grid{grid-template-columns: 1fr 1fr; gap: 40px}
  .hero-actions{flex-direction: column; align-items: stretch; padding: 0 40px}
  .footer-bottom{flex-direction: column; gap: 10px}
  .services-grid{grid-template-columns: 1fr}
  .corporate-grid{grid-template-columns: 1fr 1fr}
}
@media (max-width: 560px){
  .corporate-grid{grid-template-columns: 1fr}
  section{padding: 80px 0}
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  .hero::after{animation: none}
}

/* ─────────────────────────────────────────────────────────
   THEME DARK — appliqué via <body class="theme-dark">
   Pour Accueil + Galerie (mise en valeur visuelle hero/photos)
   Garde accents bleu cocktail + jaune étoile, fond noir profond
   ───────────────────────────────────────────────────────── */
body.theme-dark{
  background: var(--noir-profond);
  color: var(--blanc-creme);
}
body.theme-dark p{color: rgba(245, 238, 222, .8)}
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4{color: var(--blanc-creme)}
body.theme-dark .label,
body.theme-dark .eyebrow{color: var(--bleu-clair)}
body.theme-dark .label::before,
body.theme-dark .eyebrow::before,
body.theme-dark .eyebrow.center::after{background: var(--bleu-clair)}

/* Nav sombre */
body.theme-dark .nav{
  background: rgba(8, 6, 4, .82);
  border-bottom: 1px solid rgba(236, 0, 140, .18);
}
body.theme-dark .nav.scrolled{
  background: rgba(8, 6, 4, .96);
  box-shadow: 0 4px 20px rgba(0,0,0,.5);
}
body.theme-dark .menu a{color: rgba(245, 238, 222, .75)}
body.theme-dark .menu a:hover,
body.theme-dark .menu a.active{color: var(--jaune)}
body.theme-dark .menu a.active::after{background: var(--jaune)}
body.theme-dark .nav-cta{
  border: 1px solid var(--jaune);
  color: var(--jaune) !important;
}
body.theme-dark .nav-cta:hover{
  background: var(--jaune);
  color: var(--noir-profond) !important;
}
body.theme-dark .brand{color: var(--blanc-creme)}
body.theme-dark .burger{border-color: rgba(245,238,222,.3)}
body.theme-dark .burger span{background: var(--jaune)}

/* Hero sombre */
body.theme-dark .hero::before{
  background: radial-gradient(circle at center, rgba(236, 0, 140, .14) 0%, transparent 60%);
}
body.theme-dark .hero::after{opacity: .12}
body.theme-dark .hero-eyebrow{color: var(--jaune)}

/* Palmares sur fond sombre */
body.theme-dark .palmares{
  border-top: 1px solid rgba(236, 0, 140, .35);
  border-bottom: 1px solid rgba(236, 0, 140, .35);
}
body.theme-dark .palmares::before,
body.theme-dark .palmares::after{
  background: var(--noir-profond);
  color: var(--jaune);
}
body.theme-dark .palmares-num{color: var(--bleu-clair)}
body.theme-dark .palmares-title{color: var(--blanc-creme)}
body.theme-dark .palmares-sub{color: rgba(245, 238, 222, .65)}

/* Bio split sombre */
body.theme-dark .section-bio{background: linear-gradient(180deg, var(--noir-profond) 0%, var(--noir-card) 100%)}
body.theme-dark .split-content p{color: rgba(245, 238, 222, .78)}
body.theme-dark .split-visual::after{
  background: rgba(8, 6, 4, .4);
}

/* Sections — fond noir profond + nuances */
body.theme-dark .section-dark{background: var(--noir-card)}
body.theme-dark section.alt{background: var(--noir-card)}

/* Cards services sombres */
body.theme-dark .service-card,
body.theme-dark .corporate-card{
  background: rgba(18, 13, 7, .85);
  border: 1px solid rgba(236, 0, 140, .25);
}
body.theme-dark .service-card:hover,
body.theme-dark .corporate-card:hover{
  border-color: var(--jaune);
  box-shadow: 0 14px 34px rgba(245, 158, 11, .18);
}
body.theme-dark .service-card h3,
body.theme-dark .corporate-card h3{color: var(--blanc-creme)}
body.theme-dark .service-card p,
body.theme-dark .corporate-card p{color: rgba(245, 238, 222, .75)}

/* Galerie sombre */
body.theme-dark .gallery-item{
  background: var(--noir-card);
  border: 1px solid rgba(236, 0, 140, .15);
}

/* Buttons sombres */
body.theme-dark .btn-outline{
  border: 1px solid var(--jaune);
  color: var(--jaune);
  background: transparent;
}
body.theme-dark .btn-outline:hover{
  background: var(--jaune);
  color: var(--noir-profond);
}
body.theme-dark .btn-primary{
  background: linear-gradient(135deg, var(--bleu) 0%, var(--bleu-cocktail) 100%);
  color: #fff;
  border: none;
}
body.theme-dark .btn-primary:hover{
  box-shadow: 0 14px 34px rgba(236, 0, 140, .45);
}

/* Slogan hero */
body.theme-dark .slogan{color: rgba(245, 238, 222, .92)}
body.theme-dark .slogan-sub{color: rgba(245, 238, 222, .6)}

/* Footer sombre */
body.theme-dark footer{background: #000000; border-top: 1px solid rgba(236, 0, 140, .15)}
body.theme-dark footer h4{color: var(--jaune)}
body.theme-dark footer a{color: rgba(245, 238, 222, .7)}
body.theme-dark footer a:hover{color: var(--jaune)}
body.theme-dark .footer-bottom{color: rgba(245, 238, 222, .5)}

/* Mobile menu sombre */
body.theme-dark .mobile-menu{background: rgba(8, 6, 4, .98)}
body.theme-dark .mobile-menu a{color: var(--blanc-creme); border-bottom: 1px solid rgba(236, 0, 140, .15)}
body.theme-dark .mobile-menu a:hover{color: var(--jaune)}

/* Theme color meta override (pour iOS Safari) */

/* Brand fix : sur theme clair, le logo PNG (texte blanc) est invisible
   On le masque et on affiche un texte stylé bleu à la place */
body:not(.theme-dark) .brand img {
  display: none;
}
body:not(.theme-dark) .brand::after {
  content: 'Adrian Kill';
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--bleu-nuit);
  letter-spacing: 0.02em;
  white-space: nowrap;
}
body:not(.theme-dark) .footer-brand img {
  filter: brightness(0.3) sepia(1) hue-rotate(190deg) saturate(8);
  /* Approxime le logo en bleu corporate sur fond clair footer */
}

/* Anti-cas hardcodé : forcer hero text foncé sur theme clair */
body:not(.theme-dark) .hero h1[style*="color"],
body:not(.theme-dark) .hero .hero-lead[style*="color"] {
  color: var(--bleu-nuit) !important;
}
body:not(.theme-dark) .hero p[style*="color"] {
  color: rgba(245, 240, 250, .78) !important;
}

/* Theme dark : remonter opacity du menu nav inactive (low priority audit) */
body.theme-dark .menu a {
  color: rgba(245, 238, 222, .92);
}

/* Brand fix complémentaire : prestations/contact/temoignages utilisent .brand-text au lieu d'<img>
   Masquer ce texte natif aussi pour que seul le pseudo ::after "Adrian Kill" reste visible */
body:not(.theme-dark) .brand .brand-text,
body:not(.theme-dark) .brand .sub {
  display: none;
}

/* ═══════════ Adrien — modifs 25/06 (base DA v4) — cache v10 ═══════════ */
:root{ --electric:#2b35ff; }
/* 1. Titre hero EN BLANC (override gradient magenta signature) */
.hero .hero-h1{
  background:none !important; -webkit-background-clip:initial !important;
  -webkit-text-fill-color:#fff !important; color:#fff !important;
  text-shadow:0 2px 24px rgba(0,0,0,.45);
}
/* 2. Menu onglet actif → bleu électrique + transition fluide */
.menu a{ transition: color .25s ease; }
body.theme-dark .menu a:hover, body.theme-dark .menu a.active,
.menu a:hover, .menu a.active{ color: var(--electric) !important; }
body.theme-dark .menu a.active::after, .menu a.active::after{ background: var(--electric) !important; }
/* 3. Cartes service : hover scale subtil + micro-bounce premium */
@keyframes svc-wiggle{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-5px) scale(1.03)}72%{transform:translateY(-2px) scale(1.024) rotate(-.4deg)}100%{transform:translateY(-4px) scale(1.03)}}
.services-grid > *{ transition: transform .3s ease, box-shadow .3s ease; will-change: transform; }
.services-grid > *:hover{ animation: svc-wiggle .55s ease both; box-shadow:0 18px 44px rgba(0,0,0,.5); }
/* 4. Boutons Type1 (fond blanc/texte marine) ↔ Type2 (dégradé/texte blanc) au hover */
.btn-primary{ transition: all .25s ease; }
.btn-primary:hover{ background:#fff !important; color:#0c1d45 !important; border-color:#fff !important; }
.btn-secondary,.btn-ghost,.btn-outline{ transition: all .25s ease; }
.btn-secondary:hover,.btn-ghost:hover,.btn-outline:hover{ background:linear-gradient(90deg,#3b46e0,#7b46c9,#e8902e) !important; color:#fff !important; border-color:transparent !important; }
/* 25/06 : retrait du logo hero redondant (le titre blanc "Adrian Kill" suffit, cf. mockup) */
.hero .hero-logo{ display:none !important; }
