/* ═══════════════════════════════════════════════════
   MEDIOMA — Charte Graphique Premium v7.0
   Direction : Victor (ex Apple, LVMH, Chanel, Hermès)
   Design : Marie | UX : Lucas | Dev : Thomas
   Palette : Noir Absolu · Or 22 carats · Ivoire
═══════════════════════════════════════════════════ */

/* ── PRÉCHARGEMENT POLICES ── */

/* ── TOKENS ── */
:root {
  /* ── ALEXANDRE & MARIE — Identité Spirituelle Premium v9 ── */
  --void:       #181628;    /* bleu nuit cosmique — équilibré */
  --deep:       #1e1a35;    /* sections alternées */
  --obsidian:   #251f3e;    /* cartes, éléments */
  --gold:       #d4a84b;    /* or 22 carats — lumière divine */
  --gold-rgb:   212,168,75; /* valeur RVB de --gold — usage : rgba(var(--gold-rgb),.x) */
  --gold-lt:    #f0cc72;    /* or clair — highlights */
  --gold-dim:   #8a6830;    /* or sombre */
  --gold-glow:  rgba(var(--gold-rgb),.3);
  --amethyst:   #7a5aaa;    /* violet améthyste — doux */
  --amethyst-d: #4a306e;    /* améthyste sombre */
  --cosmic:     #221944;    /* violet cosmique profond */
  --ivory:      #f2ead8;    /* ivoire chaud */
  --iv70:       rgba(242,234,216,.96);
  --iv50:       rgba(242,234,216,.85);
  --iv30:       rgba(242,234,216,.70);
  --iv15:       rgba(242,234,216,.50);
  --iv08:       rgba(242,234,216,.30);
  --border:     rgba(var(--gold-rgb),.2);
  --border-md:  rgba(var(--gold-rgb),.38);
  --border-am:  rgba(122,90,170,.15);
  --ease:       cubic-bezier(.4,0,.2,1);
  --dur:        .55s;
  --serif:      'Cormorant',Georgia,serif;
  --sans:       'Jost',system-ui,sans-serif;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--void);color:var(--ivory);
  font-family:var(--sans);font-size:1rem;font-weight:300;
  line-height:1.65;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;background:none;border:none;font:inherit;}

/* ── ACCESSIBILITÉ ── */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--void);padding:.5rem 1rem;font-size:.8rem;font-weight:500;z-index:9999;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible{outline:1px solid var(--gold);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ── NAVIGATION ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem 4rem;
  background:rgba(5,5,7,0);
  transition:background var(--dur) var(--ease), padding var(--dur) var(--ease), border-color var(--dur) var(--ease);
  border-bottom:1px solid rgba(var(--gold-rgb),0);
}
.nav.scrolled{
  backdrop-filter:blur(24px) saturate(1.5);
  background:rgba(28,26,46,.96);
  padding:1rem 4rem;
  border-bottom-color:var(--border);
}
.nav-logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;}
.nav-logo-icon{width:34px;height:34px;flex-shrink:0;}
.nav-logo-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);display:block;line-height:1.1;}
.nav-logo-sub{font-size:.74rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-dim);display:block;margin-top:.15rem;}
.nav-links{display:flex;align-items:center;list-style:none;gap:0;}
.nav-links>li{position:relative;}
.nav-links>li>a{
  display:block;font-size:.76rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--iv70);padding:.75rem 1.2rem;
  transition:color var(--dur) var(--ease);position:relative;
}
.nav-links>li>a::after{
  content:'';position:absolute;bottom:.3rem;left:1.1rem;right:1.1rem;
  height:.5px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--gold-lt);}
.nav-links>li>a:hover::after,.nav-links>li>a.active::after{transform:scaleX(1);}

/* Mega dropdown */
.mega-drop{
  position:absolute;top:calc(100% + 1px);left:50%;
  transform:translateX(-50%) translateY(10px);
  min-width:620px;
  background:rgba(28,22,46,.98);
  backdrop-filter:blur(30px);
  border:.5px solid var(--border);
  border-top:1px solid var(--gold);
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:.5px;background-color:var(--border);
  opacity:0;pointer-events:none;
  visibility:hidden;
  transition:opacity .4s var(--ease),transform .4s var(--ease),visibility .4s var(--ease);
  z-index:600;
}
.nav-links>li:hover .mega-drop{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0);visibility:visible;}
.mega-item{
  background:rgba(28,26,46,.99);
  padding:1.5rem 1.3rem;
  display:flex;align-items:center;gap:.9rem;
  text-decoration:none;
  transition:background .4s var(--ease);
  position:relative;overflow:hidden;
}
.mega-item::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:.5px;background:linear-gradient(to right,transparent,var(--gold),transparent);
  transform:scaleX(0);transition:transform .4s var(--ease);
}
.mega-item:hover{background:rgba(44,40,72,.95);}
.mega-item:hover::after{transform:scaleX(1);}
.mega-drop .mega-item:last-child:nth-child(3n+1){grid-column:span 3;}
.mega-icon-wrap{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.mega-icon-wrap img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 6px var(--gold-glow));transition:filter .4s var(--ease);}
.mega-item:hover .mega-icon-wrap img{filter:drop-shadow(0 0 14px rgba(var(--gold-rgb),.45));}
.mega-name{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--gold-lt);display:block;margin-bottom:.2rem;}
.mega-desc{font-size:.75rem;font-weight:300;color:var(--iv50);letter-spacing:.03em;line-height:1.5;}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;padding:.5rem;z-index:600;}
.hamburger span{display:block;width:22px;height:1px;background:var(--gold);transition:all .4s var(--ease);}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* Mobile full-screen nav */
.mobile-nav{display:none;position:fixed;inset:0;background:rgba(26,24,44,.98);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:0;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:var(--serif);font-size:clamp(1.6rem,4.5vw,2.4rem);font-weight:600;color:var(--iv70);padding:.75rem 0;letter-spacing:.1em;text-align:center;transition:color .4s var(--ease);}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--gold);}
.mobile-nav-sep{display:block;width:28px;height:.5px;background:var(--border);margin:.8rem auto;}

@media(max-width:900px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .nav{padding:1.2rem 1.5rem;}
  .nav.scrolled{padding:1rem 1.5rem;}
}

/* ── HERO ── */
.hero{
  min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:var(--void);
}
.hero-cosmic{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 50% 40% at 50% 45%, rgba(var(--gold-rgb),.22) 0%, transparent 50%),
    radial-gradient(ellipse 60% 50% at 25% 20%, rgba(122,90,170,.38) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 75% 80%, rgba(var(--gold-rgb),.28) 0%, transparent 50%),
    radial-gradient(ellipse 80% 70% at 60% 30%, rgba(92,61,138,.35) 0%, transparent 60%),
    radial-gradient(ellipse 100% 100% at 50% 50%, #2a2644 0%, #1c1a2e 100%);
}
.stars-canvas{position:absolute;inset:0;pointer-events:none;}

.hero-content{
  position:relative;z-index:2;
  text-align:center;padding:2rem 1.5rem;
  display:flex;flex-direction:column;align-items:center;
  max-width:960px;width:100%;
}
.hero-eyebrow{
  font-size:.9rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(240,210,120,.95);margin-bottom:3rem;
  text-shadow:0 0 20px rgba(var(--gold-rgb),.4);
  opacity:0;animation:reveal .9s var(--ease) .2s forwards;
}
.hero-title{
  font-family:var(--serif);
  font-size:clamp(4rem,11vw,9rem);
  font-weight:700;line-height:.85;letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(110deg,
    #9a7225 0%,#c9a84c 12%,#f0d070 26%,
    #fff8e0 40%,#ffffff 50%,#fff8e0 60%,
    #e8cc80 74%,#c9a84c 88%,#9a7225 100%
  );
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:.15em;
  opacity:0;
  animation:reveal 1.1s var(--ease) .5s forwards,titleBrilliance 4s ease-in-out 1.8s infinite;
  animation-fill-mode:forwards;
}
.hero-name{
  font-family:var(--serif);font-size:clamp(2.2rem,5vw,4rem);
  font-weight:600;font-style:italic;letter-spacing:.08em;
  background:linear-gradient(110deg,
    #d4a84b 0%,#f0cc72 22%,
    #fff8e0 40%,#ffffff 50%,#fff8e0 60%,
    #f0cc72 78%,#d4a84b 100%
  );
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:.3em;opacity:0;
  animation:reveal .8s var(--ease) .9s forwards,nameBrilliance 4s ease-in-out 2.4s infinite;
  text-shadow:0 0 40px rgba(var(--gold-rgb),.3),0 2px 20px rgba(0,0,0,.25);
}
.hero-role{
  font-size:clamp(.72rem,1.4vw,.9rem);font-weight:300;
  letter-spacing:.28em;text-transform:uppercase;color:var(--iv70);
  margin-bottom:0;opacity:0;animation:reveal .8s var(--ease) 1.1s forwards;
}
.hero-divider{
  width:1px;height:70px;
  background:linear-gradient(to bottom,var(--gold-dim),transparent);
  margin:2.5rem auto;opacity:0;animation:reveal .8s var(--ease) 1.3s forwards;
}
.hero-promise{
  font-family:var(--serif);font-size:clamp(.9rem,1.6vw,1.1rem);font-style:italic;
  color:rgba(240,210,120,.95);letter-spacing:.15em;
  margin-bottom:3.5rem;opacity:0;animation:reveal .8s var(--ease) 1.5s forwards;
}
.hero-pills{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;
  margin-bottom:4rem;opacity:0;animation:reveal .8s var(--ease) 1.7s forwards;
}
.hero-pill{
  font-size:.78rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(240,210,120,.92);border:.5px solid rgba(var(--gold-rgb),.55);
  padding:.5em 1.4em;background:rgba(var(--gold-rgb),.1);
}
.hero-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:1rem;
  font-size:.78rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold);
  padding:1.3em 4em;min-height:44px;min-width:200px;
  position:relative;overflow:hidden;
  transition:color var(--dur) var(--ease);
  opacity:0;animation:reveal .8s var(--ease) 1.9s forwards;
}
.hero-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,var(--gold),var(--amethyst));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.hero-cta:hover::before{transform:scaleX(1);}
.hero-cta:hover{color:var(--void);}
.hero-cta span{position:relative;z-index:1;}

.hero-scroll{
  position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  opacity:0;animation:reveal .8s var(--ease) 2.2s forwards;
}
.hero-scroll-line{
  width:1px;height:55px;
  background:linear-gradient(to bottom,rgba(var(--gold-rgb),.5),transparent);
  animation:scroll-anim 2s var(--ease) infinite;
}
@keyframes scroll-anim{0%,100%{transform:scaleY(1);opacity:.4;}50%{transform:scaleY(1.25);opacity:.9;}}
@keyframes reveal{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes titleBrilliance{
  0%,100%{filter:drop-shadow(0 0 6px rgba(255,245,180,.15));}
  50%{filter:drop-shadow(0 0 28px rgba(255,245,180,.55)) drop-shadow(0 0 55px rgba(var(--gold-rgb),.22));}
}
@keyframes nameBrilliance{
  0%,100%{filter:drop-shadow(0 0 4px rgba(255,230,130,.1));}
  50%{filter:drop-shadow(0 0 20px rgba(255,230,130,.45)) drop-shadow(0 0 42px rgba(var(--gold-rgb),.18));}
}

/* ── COMPTEURS ── */
.counters{
  background:linear-gradient(to right,rgba(36,32,64,.9),rgba(44,40,72,.85),rgba(36,32,64,.9));
  border-top:.5px solid var(--border);
  border-bottom:.5px solid var(--border-am);
}
.counters-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
@media(max-width:600px){.counters-inner{grid-template-columns:repeat(2,1fr);}}
.counter-cell{
  padding:4rem 1.5rem;text-align:center;
  border-right:.5px solid var(--border);
  position:relative;
}
.counter-cell:last-child{border-right:none;}
.counter-num{
  font-family:var(--serif);font-size:4rem;font-weight:700;
  color:var(--gold-lt);line-height:1;display:block;margin-bottom:.5rem;
  text-shadow:0 0 30px rgba(var(--gold-rgb),.3);
}
.counter-lbl{
  font-size:.78rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--iv70);
}

/* ── SÉPARATEUR ORNEMENTAL ── */
.orn{
  display:flex;align-items:center;gap:1.5rem;
  padding:4.5rem 3rem;
  opacity:.85;
}
.orn::before,.orn::after{
  content:'';flex:1;height:.5px;
  background:linear-gradient(to right,transparent,rgba(122,90,170,.22),rgba(var(--gold-rgb),.2),rgba(122,90,170,.22),transparent);
}
.orn-txt{font-family:var(--serif);font-size:.85rem;color:rgba(var(--gold-rgb),.3);letter-spacing:.8em;white-space:nowrap;}

/* ── LAYOUT SECTIONS ── */
.section{
  position:relative;
  border-top:.5px solid rgba(212,168,75,.08);
}
.section-void{
  background:
    radial-gradient(ellipse 45% 35% at 88% 8%,  rgba(212,168,75,.07) 0%, transparent 60%),
    radial-gradient(ellipse 38% 28% at 8%  90%,  rgba(122,90,170,.09) 0%, transparent 60%),
    var(--void);
}
.section-deep{
  background:
    radial-gradient(ellipse 42% 32% at 12% 12%,  rgba(212,168,75,.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 30% at 88% 88%,  rgba(122,90,170,.1)  0%, transparent 60%),
    var(--deep);
}
.section-obsidian{
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%,   rgba(212,168,75,.06) 0%, transparent 55%),
    radial-gradient(ellipse 35% 25% at 20% 100%,  rgba(122,90,170,.08) 0%, transparent 55%),
    var(--obsidian);
}
.inner{max-width:1200px;margin:0 auto;padding:8rem 3rem;}
@media(max-width:768px){.inner{padding:5rem 1.5rem;}}

/* ── TYPOGRAPHIE SECTIONS ── */
.label{font-size:.78rem;font-weight:400;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-lt);display:block;margin-bottom:1.4rem;}
.heading{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.8rem);font-weight:600;line-height:1.05;color:var(--ivory);margin-bottom:.8rem;text-shadow:0 1px 20px rgba(0,0,0,.3);}
.heading em{color:var(--gold);font-style:italic;}
.rule{width:40px;height:.5px;background:var(--gold);margin-bottom:3rem;}
.rule-c{margin-left:auto;margin-right:auto;}
.prose{font-family:var(--serif);font-size:1.15rem;font-style:italic;font-weight:300;line-height:2.05;color:var(--iv70);margin-bottom:1.5rem;}
.prose strong{font-style:normal;color:var(--gold-lt);font-weight:400;}

/* ── GRILLE 2 COLONNES ── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start;}
.grid-2-balanced{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;}
@media(max-width:840px){.grid-2,.grid-2-balanced{grid-template-columns:1fr;gap:3.5rem;}}

/* ── ABOUT ── */
.about-profile{display:flex;align-items:center;gap:1.2rem;margin-bottom:2.5rem;}
.about-avatar{
  width:78px;height:78px;border-radius:50%;
  border:.5px solid var(--gold);
  background:radial-gradient(circle,var(--cosmic),var(--void));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 0 28px rgba(122,90,170,.18);
}
.about-initials{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--gold);}
.about-name{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--ivory);display:block;}
.about-job{font-size:.76rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);display:block;margin-top:.25rem;}
.about-img-wrap{position:relative;}
.about-img{
  width:100%;border-radius:1px;
  border:.5px solid var(--border-md);
  box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 60px rgba(var(--gold-rgb),.12);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.about-img:hover{transform:translateY(-8px);box-shadow:0 60px 120px rgba(0,0,0,.75),0 0 70px rgba(var(--gold-rgb),.14);}

/* ── CITATION SPIRITUELLE ── */
.quote{
  font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.45rem);
  font-style:italic;font-weight:300;color:var(--gold-lt);
  text-align:center;padding:2.5rem 3rem;
  border-top:.5px solid var(--border-md);border-bottom:.5px solid var(--border-md);
  margin:3rem 0;position:relative;
  background:linear-gradient(to right,transparent,rgba(122,90,170,0.75),rgba(var(--gold-rgb),.08),transparent);
}
.quote::before,.quote::after{
  content:'✦';position:absolute;left:50%;transform:translateX(-50%);
  background:var(--void);padding:0 1.2rem;
  color:var(--gold);font-size:.7rem;font-style:normal;
}
.quote::before{top:-.7rem;}.quote::after{bottom:-.7rem;}
.quote-deep::before,.quote-deep::after{background:var(--deep);}

/* ── GRILLE SERVICES ── */
.services-wrap{margin-top:5rem;}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:.5px;background:var(--border);border:.5px solid var(--border);
}
@media(max-width:840px){.services-grid{grid-template-columns:1fr;}}
.scard{
  background:rgba(28,26,46,.9);padding:3.5rem 2.8rem;
  position:relative;overflow:hidden;
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
  cursor:default;
}
/* Icône en fond — Victor : 10% visible au hover 18% */
.scard-bg{
  position:absolute;
  bottom:0;right:0;
  width:55%;height:55%;
  object-fit:contain;object-position:bottom right;
  opacity:.07;pointer-events:none;
  filter:brightness(1.4) grayscale(10%);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  max-width:180px;max-height:180px;
}
.scard::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:.5px;
  background:linear-gradient(to right,var(--gold),var(--amethyst),transparent);
  transition:width var(--dur) var(--ease);
}
.scard:hover{background:linear-gradient(145deg,var(--obsidian),rgba(60,48,90,.8));transform:translateY(-3px);}
.scard:hover .scard-bg{opacity:.18;transform:scale(1.05);}
.scard:hover::after{width:100%;}
.scard-num{
  font-family:var(--serif);font-size:.85rem;color:var(--gold-lt);
  letter-spacing:.18em;margin-bottom:2rem;display:block;
  opacity:.9;
}
.scard-icon{width:50px;height:50px;object-fit:contain;margin-bottom:1.3rem;filter:drop-shadow(0 0 8px rgba(var(--gold-rgb),.28));transition:filter var(--dur) var(--ease);}
.scard:hover .scard-icon{filter:drop-shadow(0 0 16px rgba(var(--gold-rgb),.5));}
.scard-name{
  font-family:var(--serif);font-size:1.3rem;font-weight:600;
  color:var(--gold-lt);margin-bottom:1rem;line-height:1.2;
  transition:color var(--dur) var(--ease);opacity:1;
}
.scard:hover .scard-name{color:#fff;}
.scard-desc{
  font-size:1rem;font-weight:300;line-height:1.92;
  color:var(--ivory);opacity:.92;
}
.scard-full{grid-column:1/-1;}

/* ── PAGE HERO (sous-pages) ── */
.page-hero{
  min-height:54vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:9rem 2rem 4rem;
  position:relative;overflow:hidden;
  background:var(--void);
}
.page-hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%,rgba(var(--gold-rgb),.2) 0%,transparent 55%),
    radial-gradient(ellipse 70% 60% at 50% 100%,rgba(122,90,170,.2) 0%,transparent 65%),
    radial-gradient(ellipse 60% 40% at 30% 20%,rgba(var(--gold-rgb),.22) 0%,transparent 50%),
    linear-gradient(to bottom,#2a2644 0%,#1c1a2e 70%,#181630 100%);
}
/* .stars-canvas — voir règle commune ligne 171 */
.ph-icon{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:320px;max-width:65vw;height:auto;
  opacity:.18;pointer-events:none;z-index:0;
  filter:brightness(2.2) saturate(1.1);
  transition:opacity var(--dur) var(--ease);
}
.ph-eyebrow{
  font-size:.88rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(240,210,120,.98);margin-bottom:2rem;position:relative;z-index:2;
  text-shadow:0 0 20px rgba(var(--gold-rgb),.4);
}
.ph-title{
  font-family:var(--serif);font-size:clamp(3rem,8vw,6rem);
  font-weight:700;line-height:.9;color:#fff;
  position:relative;z-index:2;margin-bottom:.25em;
  text-shadow:0 2px 30px rgba(0,0,0,.3);
}
.ph-title em{color:var(--gold);font-style:italic;}
.ph-promise{
  font-family:var(--serif);font-size:clamp(1rem,1.9vw,1.2rem);
  font-style:italic;color:rgba(240,215,130,.95);
  letter-spacing:.1em;margin:1.4rem 0 0;position:relative;z-index:2;
  text-shadow:0 0 25px rgba(var(--gold-rgb),.35);
}
.ph-line{width:1px;height:42px;background:linear-gradient(to bottom,var(--gold-dim),transparent);margin:1.8rem auto 0;position:relative;z-index:2;}

/* ── STEPS ── */
.steps{display:flex;flex-direction:column;gap:2.8rem;}
.step{display:flex;gap:2rem;align-items:flex-start;}
.step-n{
  font-family:var(--serif);font-size:2.5rem;font-weight:700;
  color:rgba(var(--gold-rgb),.55);line-height:1;min-width:3rem;flex-shrink:0;
  text-shadow:0 0 20px rgba(var(--gold-rgb),.2);
}
.step-h{
  font-size:.82rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-lt);
  margin-bottom:.6rem;opacity:1;
}
.step-p{
  font-size:1rem;font-weight:300;line-height:1.88;
  color:var(--ivory);opacity:.9;
}

/* ── TAGS ── */
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;}
.tag{font-size:.82rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-lt);border:.5px solid rgba(var(--gold-rgb),.35);padding:.55em 1.3em;background:rgba(var(--gold-rgb),.08);transition:all var(--dur) var(--ease);cursor:default;display:inline-block;margin:2px;}
.tag:hover{background:rgba(var(--gold-rgb),.16);border-color:var(--gold);color:var(--gold-lt);}

/* ── CHAKRAS LIST ── */
.chakra-list{border:.5px solid var(--border);background:var(--border);display:flex;flex-direction:column;gap:.5px;margin-top:2rem;}
.chakra-row{background:var(--void);display:flex;align-items:center;gap:2rem;padding:1.8rem 2.5rem;transition:background var(--dur) var(--ease);}
.chakra-row:hover{background:var(--obsidian);}
.chakra-orb{width:44px;height:44px;border-radius:50%;flex-shrink:0;animation:orb-p 3s ease-in-out infinite;}
@keyframes orb-p{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
.chakra-num{font-family:var(--serif);font-size:.78rem;color:var(--gold-dim);letter-spacing:.18em;min-width:1.8rem;}
.chakra-mantra{font-size:.72rem;font-weight:300;letter-spacing:.22em;color:rgba(var(--gold-rgb),.6);margin-top:.3rem;font-style:italic;}
.chakra-name{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--gold-lt);margin-bottom:.3rem;}
.chakra-zone{font-size:.76rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
.chakra-desc{font-size:1rem;font-weight:300;line-height:1.8;color:var(--ivory);opacity:.85;}

/* ── LEVELS (méditation) ── */
.levels{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;}
.level{border:.5px solid var(--border);padding:2rem 2.2rem;background:rgba(36,32,64,.8);border-left:1px solid var(--gold);transition:background var(--dur) var(--ease);}
.level:hover{background:var(--obsidian);}
.level-name{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--gold-lt);margin-bottom:.5rem;}
.level-desc{font-size:1rem;font-weight:300;line-height:1.82;color:var(--ivory);opacity:.85;}

/* ── CROSS LINKS ── */
.cross{background:rgba(36,32,64,.9);border-top:.5px solid var(--border);padding:5rem 3rem;}
.cross-inner{max-width:1200px;margin:0 auto;}
.cross-title{
  font-family:var(--serif);font-size:.88rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold-lt);
  text-align:center;margin-bottom:3rem;
  opacity:.9;
}
.cross-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5px;border:.5px solid var(--border);background:var(--border);}
@media(max-width:640px){.cross-grid{grid-template-columns:1fr;}}
.cross-card{background:rgba(28,26,46,.9);padding:2rem;display:flex;align-items:center;gap:1.2rem;text-decoration:none;transition:background var(--dur) var(--ease);position:relative;overflow:hidden;}
.cross-card::after{content:'→';position:absolute;right:1.5rem;color:var(--gold-dim);font-size:.7rem;opacity:0;transform:translateX(-10px);transition:all .4s var(--ease);}
.cross-card:hover{background:linear-gradient(135deg,rgba(44,40,72,.95),rgba(60,48,90,.7));}
.cross-card:hover::after{opacity:1;transform:translateX(0);}
.cross-icon{width:46px;height:46px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 6px var(--gold-glow));}
.cross-name{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--gold-lt);display:block;margin-bottom:.2rem;}
.cross-sub{font-size:.82rem;color:var(--iv70);}

/* ── CTA BLOCK ── */
.cta{background:linear-gradient(to bottom,var(--deep),rgba(36,32,64,.9));border-top:.5px solid var(--border-am);text-align:center;padding:7rem 3rem;}
.cta-p{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--iv70);margin-bottom:3rem;}

/* ── BOUTON ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:1rem;
  font-size:.78rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold);padding:1.3em 4em;
  min-height:44px;min-width:200px;
  position:relative;overflow:hidden;transition:color var(--dur) var(--ease);
}
.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--gold),var(--amethyst));transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease);}
.btn:hover::before{transform:scaleX(1);}
.btn:hover{color:var(--void);}
.btn span{position:relative;z-index:1;}
.btn--outline{background:transparent;border-color:var(--gold);color:var(--gold);}
.btn--outline::before{background:linear-gradient(to right,var(--gold),var(--amethyst));}
.btn--outline:hover{color:var(--void);}

/* ── CONTACT ── */
.c-box{max-width:580px;margin:0 auto;border:.5px solid var(--border-md);padding:5.5rem 4rem;position:relative;background:linear-gradient(145deg,var(--deep),rgba(44,40,72,.8));}
.c-box::before,.c-box::after{content:'';position:absolute;width:22px;height:22px;border-color:var(--gold);border-style:solid;}
.c-box::before{top:-1px;left:-1px;border-width:1px 0 0 1px;}
.c-box::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0;}
.c-rdv{font-size:.74rem;font-weight:300;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:3.5rem;text-align:center;display:block;}
.c-phone{display:block;font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.5rem);font-weight:600;color:var(--ivory);letter-spacing:.04em;margin-bottom:.9rem;text-align:center;transition:color var(--dur) var(--ease);}
.c-phone:hover{color:var(--gold-lt);}
.c-email{display:block;font-size:.86rem;font-weight:300;color:var(--gold);letter-spacing:.08em;margin-bottom:1.5rem;text-align:center;transition:color var(--dur) var(--ease);}
.c-email:hover{color:var(--gold-lt);}
.c-sep{width:24px;height:.5px;background:var(--border);margin:2.2rem auto;}
.c-addr{font-size:.76rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--iv50);text-align:center;margin-bottom:2.5rem;}
.socials{display:flex;justify-content:center;gap:2.5rem;}
.soc{font-size:.76rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--gold-rgb),.65);transition:color var(--dur) var(--ease);}
.soc:hover{color:var(--gold-dim);}

/* ── LIVRE D'OR ── */
.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.5px;border:.5px solid var(--border);background:var(--border);margin-top:4rem;}
.tcard{background:rgba(28,26,46,.9);padding:3rem 2.5rem;position:relative;overflow:hidden;transition:background var(--dur) var(--ease);}
.tcard::before{content:'\201C';position:absolute;top:.5rem;left:1.2rem;font-family:var(--serif);font-size:5rem;font-weight:700;color:rgba(var(--gold-rgb),.08);line-height:1;}
.tcard:hover{background:rgba(44,40,72,.95);}
.t-stars{display:flex;gap:.2rem;margin-bottom:1.2rem;}
.t-star{color:var(--gold);font-size:.75rem;}
.t-text{font-family:var(--serif);font-style:italic;font-size:1.12rem;font-weight:300;line-height:1.95;color:var(--ivory);margin-bottom:1.8rem;}
.t-foot{display:flex;align-items:center;gap:.9rem;}
.t-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dim),var(--gold));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.95rem;font-weight:600;color:var(--void);flex-shrink:0;}
.t-name{font-size:.88rem;font-weight:500;color:var(--gold-lt);letter-spacing:.05em;}
.t-date{font-size:.75rem;font-weight:300;color:var(--iv30);letter-spacing:.1em;margin-top:.1rem;}

/* Formulaire livre d'or */
.form-wrap{max-width:680px;margin:5rem auto 0;border:.5px solid var(--border);padding:4rem 3.5rem;background:linear-gradient(145deg,var(--deep),rgba(44,40,72,.7));position:relative;}
.form-wrap::before,.form-wrap::after{content:'';position:absolute;width:20px;height:20px;border-color:var(--gold);border-style:solid;}
.form-wrap::before{top:-1px;left:-1px;border-width:1px 0 0 1px;}
.form-wrap::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0;}
.form-title{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--ivory);text-align:center;margin-bottom:.4rem;}
.form-sub{font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--iv50);text-align:center;margin-bottom:3rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
@media(max-width:580px){.form-row{grid-template-columns:1fr;}}
.form-group{margin-bottom:1.5rem;}
.form-label{display:block;font-size:.76rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;}
.form-input,.form-textarea,.form-select{
  width:100%;background:rgba(255,255,255,.05);border:.5px solid var(--border);
  color:var(--ivory);font-family:var(--sans);font-size:1rem;font-weight:300;
  padding:.9rem 1.1rem;outline:none;transition:border-color var(--dur) var(--ease);resize:none;
  appearance:none;-webkit-appearance:none;
}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--gold);}
.form-textarea{height:130px;}
.stars-input{display:flex;gap:.4rem;margin-bottom:.3rem;}
.star-btn{font-size:1.3rem;color:rgba(var(--gold-rgb),.2);transition:color .2s;padding:0;}
.star-btn.active,.star-btn:hover{color:var(--gold);}
.form-note{font-size:.78rem;font-weight:300;color:var(--iv50);margin-top:.4rem;font-style:italic;}
.form-submit{display:block;width:100%;font-size:.78rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:1.2em 2em;min-height:44px;position:relative;overflow:hidden;transition:color var(--dur) var(--ease);margin-top:2rem;background:none;}
.form-submit::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease);}
.form-submit:hover::before{transform:scaleX(1);}
.form-submit:hover{color:var(--void);}
.form-submit span{position:relative;z-index:1;}
.form-confirm{display:none;text-align:center;padding:2rem;font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--gold-lt);border:.5px solid var(--border);background:rgba(var(--gold-rgb),.04);margin-top:1.5rem;}

/* ── FOOTER ── */
footer{background:linear-gradient(to bottom,rgba(36,32,64,.95),rgba(28,26,46,.98));border-top:.5px solid var(--border-am);}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:4rem;padding:5rem 3rem;}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem;padding:3rem 1.5rem;}}
@media(max-width:480px){.footer-inner{grid-template-columns:1fr;}}
.footer-brand-name{font-family:var(--serif);font-size:1.1rem;letter-spacing:.3em;color:var(--gold);display:block;margin-bottom:1rem;}
.footer-brand-desc{font-size:.86rem;font-weight:300;color:var(--iv70);line-height:1.85;}
.footer-col-title{font-size:.74rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1.4rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.footer-links a{font-size:.86rem;font-weight:300;color:var(--iv50);transition:color .3s;}
.footer-links a:hover{color:var(--gold-dim);}
.footer-bottom{border-top:.5px solid var(--border);text-align:center;padding:1.8rem 3rem;font-size:.74rem;font-weight:300;letter-spacing:.1em;color:var(--iv30);}
.footer-bottom a{color:rgba(var(--gold-rgb),.55);transition:color .3s;}
.footer-bottom a:hover{color:var(--gold-dim);}

/* ── BACK TO TOP ── */
.btt{position:fixed;bottom:5.5rem;right:2rem;width:44px;height:44px;border-radius:50%;background:rgba(var(--gold-rgb),.08);border:.5px solid var(--gold);color:var(--gold);font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:all var(--dur) var(--ease);z-index:200;text-decoration:none;}
.btt.show{opacity:1;pointer-events:all;}
.btt:hover{transform:translateY(-4px);background:var(--amethyst);border-color:var(--amethyst);}

/* ── MOBILE BOTTOM NAV ── */
.mob-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(5,5,7,.97);backdrop-filter:blur(24px);border-top:.5px solid var(--border);z-index:998;}
.mob-nav ul{display:flex;list-style:none;}
.mob-nav li{flex:1;}
.mob-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.65rem .2rem;font-size:.75rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--iv30);text-decoration:none;transition:color .4s;}
.mob-nav a .mi{font-size:1.1rem;}
.mob-nav a.act,.mob-nav a:hover{color:var(--gold);}
@media(max-width:900px){.mob-nav{display:block;}body{padding-bottom:62px;}}
@media(min-width:901px){.mob-nav{display:none!important;}}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(26px);transition:opacity .95s var(--ease),transform .95s var(--ease);}
.rv.on{opacity:1;transform:translateY(0);}
.rv-delay-1{transition-delay:.1s;}
.rv-delay-2{transition-delay:.2s;}
.rv-delay-3{transition-delay:.3s;}

/* ── BREADCRUMB ── */
.breadcrumb{
  text-align:center;padding:5rem 2rem 0;
  font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--iv70);
}
.breadcrumb a{color:var(--gold-dim);text-decoration:none;transition:color .3s;}
.breadcrumb a:hover{color:var(--gold);}

/* ── NOTICE ── */
.notice{
  background:rgba(var(--gold-rgb),.15);
  border-left:3px solid var(--gold);
  border-top:.5px solid var(--border-md);
  border-right:.5px solid var(--border);
  border-bottom:.5px solid var(--border);
  padding:1.8rem 2.2rem;
  margin-top:2.5rem;
  font-size:1rem;
  font-weight:400;
  line-height:1.85;
  color:var(--iv70);
  position:relative;
}
.notice::before{
  content:'';
  position:absolute;
  top:0;left:0;bottom:0;
  width:3px;
  background:linear-gradient(to bottom,var(--gold),var(--amethyst));
}

/* ── CHAKRA ANIMATIONS ── */
@keyframes chakra-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

/* Mega-drop touch mobile */
@media(max-width:900px){
  .nav-links>li.open .mega-drop{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(0);}
}
/* ── FAQ VISIBLE ── */
.faq-list{margin-top:2rem;}
.faq-item{padding:1.5rem 0;border-bottom:.5px solid var(--border);}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--gold-lt);margin-bottom:.8rem;}
.faq-a{font-size:1rem;font-weight:300;line-height:1.9;color:var(--ivory);opacity:.88;}

/* ── RDV EN LIGNE ── */
.rdv-block{border:.5px solid var(--border-md);padding:2.5rem;text-align:center;background:rgba(var(--gold-rgb),.06);margin-top:2rem;}
.rdv-block h3{font-family:var(--serif);font-size:1.6rem;color:var(--ivory);margin-bottom:.8rem;}

/* ── ABOUT GRID ── */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
@media(max-width:768px){
  .about-grid { grid-template-columns: 1fr; gap: 2rem; }
}
/* ── FOV SPIN — Fleur de Vie hero ── */
@keyframes fov-spin{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}
.hero-fov{animation:fov-spin 120s linear infinite;transform-origin:center;}
