/* ===== VARIABLES — BLEU CANARD / VIOLET ===== */
:root {
  --nuit: #0A1628;
  --nuit2: #0D2035;
  --bleu-profond: #0E2A4A;
  --bleu-canard: #1A5276;
  --bleu-moyen: #2E86C1;
  --bleu-clair: #5DADE2;
  --bleu-pale: #AED6F1;
  --violet: #7D3C98;
  --violet-clair: #A569BD;
  --violet-pale: #D7BDE2;
  --or: #F4B76B;
  --or-clair: #DFB07A;
  --creme: #F4E4C8;
  --creme-pale: rgba(244,228,200,0.92);
  --creme-mute: rgba(244,228,200,0.65);
  --creme-faint: rgba(244,228,200,0.12);
  --teal: #148F77;
  --teal-clair: #1ABC9C;
  --serif: 'Cormorant Garamond',Georgia,serif;
  --sans: 'Montserrat',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--serif);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;background:var(--nuit);color:var(--creme-pale);
  background:
    radial-gradient(ellipse at 15% 10%,rgba(46,134,193,0.35) 0%,transparent 50%),
    radial-gradient(ellipse at 85% 90%,rgba(125,60,152,0.3) 0%,transparent 55%),
    linear-gradient(160deg,#0A1628 0%,#0D2035 40%,#0E2A4A 100%);
  background-attachment:fixed;
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(1.5px 1.5px at 8% 12%,rgba(93,173,226,.6),transparent),
    radial-gradient(1px 1px at 85% 8%,rgba(244,183,107,.5),transparent),
    radial-gradient(1px 1px at 45% 6%,rgba(93,173,226,.5),transparent),
    radial-gradient(1.2px 1.2px at 92% 35%,rgba(125,60,152,.55),transparent),
    radial-gradient(1px 1px at 15% 55%,rgba(244,183,107,.4),transparent),
    radial-gradient(1px 1px at 70% 20%,rgba(93,173,226,.45),transparent),
    radial-gradient(1px 1px at 55% 75%,rgba(125,60,152,.4),transparent),
    radial-gradient(1px 1px at 22% 80%,rgba(244,228,200,.35),transparent);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* CURSEUR */
*{cursor:none!important}
#cdot{position:fixed;pointer-events:none;z-index:99999;width:9px;height:9px;border-radius:50%;background:var(--bleu-clair);box-shadow:0 0 8px rgba(93,173,226,.9);transform:translate(-50%,-50%);left:-30px;top:-30px}
#cring{position:fixed;pointer-events:none;z-index:99998;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(93,173,226,.35);transform:translate(-50%,-50%);left:-30px;top:-30px;transition:left .1s,top .1s,width .3s,height .3s}
#cring.big{width:48px;height:48px;border-color:rgba(93,173,226,.6)}

/* AMBIANTS */
.orb{position:fixed;pointer-events:none;z-index:0;border-radius:50%;filter:blur(70px);animation:orbD var(--dur,20s) ease-in-out infinite alternate var(--delay,0s)}
@keyframes orbD{0%{opacity:.35;transform:translate(0,0) scale(1)}50%{opacity:.6;transform:translate(var(--tx,40px),var(--ty,-30px)) scale(1.12)}100%{opacity:.25;transform:translate(var(--tx2,-20px),var(--ty2,20px)) scale(.92)}}
.bgring{position:fixed;pointer-events:none;z-index:0;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:bgp var(--dur,18s) ease-in-out infinite var(--delay,0s)}
@keyframes bgp{0%,100%{opacity:.2;transform:translate(-50%,-50%) scale(1)}50%{opacity:.45;transform:translate(-50%,-50%) scale(1.04)}}
.ptcl{position:fixed;pointer-events:none;z-index:1;border-radius:50%;opacity:0;animation:pfl var(--dur,12s) ease-in-out infinite var(--delay,0s)}
@keyframes pfl{0%{opacity:0;transform:translateY(0) scale(.5)}15%{opacity:.6}85%{opacity:.3}100%{opacity:0;transform:translateY(-100vh) scale(1.2)}}
.sstr{position:fixed;pointer-events:none;z-index:0;width:2px;height:2px;border-radius:50%;background:rgba(93,173,226,.9);box-shadow:0 0 6px 2px rgba(93,173,226,.5);opacity:0;animation:sht var(--dur,3s) linear var(--delay,0s) infinite}
@keyframes sht{0%{opacity:0;transform:rotate(var(--a,35deg)) scaleX(1)}5%{opacity:1}80%{opacity:.5}100%{opacity:0;transform:rotate(var(--a,35deg)) translate(var(--tx,180px),var(--ty,180px)) scaleX(7)}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(10,22,40,0.92);padding:1rem 2.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(93,173,226,0.15);backdrop-filter:blur(14px)}
.nav-logo{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--creme);font-weight:400}
.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav-links a{font-family:var(--sans);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--creme-mute);font-weight:300;transition:color .25s,transform .25s;border-bottom:1px solid transparent;padding-bottom:2px}
.nav-links a:hover,.nav-links a.active{color:var(--bleu-clair);border-bottom-color:var(--bleu-clair);transform:translateY(-1px)}
.nav-links a.nav-rdv{background:linear-gradient(135deg,var(--bleu-canard),var(--violet));color:var(--creme)!important;padding:.55rem 1.2rem;border-radius:30px;border:none!important}
.nav-links a.nav-rdv:hover{box-shadow:0 4px 16px rgba(93,173,226,.3);transform:translateY(-2px)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--creme-mute);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{display:none;position:fixed;top:58px;left:0;right:0;z-index:190;background:rgba(10,22,40,0.97);padding:1.5rem 2rem;border-bottom:1px solid rgba(93,173,226,0.12);flex-direction:column}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--creme-mute);padding:1rem 0;border-bottom:1px solid rgba(93,173,226,0.08)}
.mobile-menu a.nav-rdv{margin-top:.8rem;text-align:center;background:linear-gradient(135deg,var(--bleu-canard),var(--violet));color:var(--creme)!important;padding:.8rem;border-radius:30px;border:none!important}
@media(max-width:900px){.nav-links{display:none}.hamburger{display:flex}}
@media(max-width:600px){nav{padding:.9rem 1.2rem}}
.page{padding-top:58px}

/* ===== ANNEAUX ===== */
.rings-wrap{position:relative;width:220px;height:220px;margin:0 auto 2.5rem;animation:floatAnim 6s ease-in-out infinite}
@keyframes floatAnim{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.ri{position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.ri1{width:248px;height:248px;border:1px solid rgba(93,173,226,0.28);animation:spCW 22s linear infinite}
.ri1::before{content:'';position:absolute;top:-5px;left:50%;margin-left:-5px;width:11px;height:11px;border-radius:50%;background:var(--creme);box-shadow:0 0 12px rgba(93,173,226,1),0 0 24px rgba(93,173,226,.6),0 0 40px rgba(93,173,226,.3)}
.ri1::after{content:'';position:absolute;bottom:-4px;left:50%;margin-left:-4px;width:8px;height:8px;border-radius:50%;background:rgba(244,228,200,.65);box-shadow:0 0 8px rgba(125,60,152,.7)}
.ri2{width:234px;height:234px;border:2px solid transparent;border-top-color:rgba(93,173,226,0.7);border-right-color:rgba(93,173,226,0.2);animation:spCW 12s linear infinite}
.ri3{width:222px;height:222px;border:1px dashed rgba(125,60,152,0.3);animation:spCW 28s linear infinite reverse}
.ri3::before{content:'';position:absolute;right:-5px;top:50%;margin-top:-4px;width:8px;height:8px;border-radius:50%;background:var(--creme);box-shadow:0 0 8px rgba(244,228,200,.9),0 0 16px rgba(125,60,152,.5)}
.ri-glow{position:absolute;inset:-36px;border-radius:50%;background:radial-gradient(circle,rgba(93,173,226,0.1) 0%,transparent 70%);animation:glowP 5s ease-in-out infinite}
@keyframes spCW{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes glowP{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.ri-glow{top:50%;left:50%}
.photo-circle{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:2.5px solid rgba(93,173,226,0.45);box-shadow:0 0 0 5px rgba(10,22,40,0.8),0 0 40px rgba(93,173,226,0.18)}
.photo-circle img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

/* ORBIT DECO */
.od-wrap{display:flex;justify-content:center;align-items:center;height:64px;position:relative;pointer-events:none;margin:1.5rem 0}
.od{position:absolute;border-radius:50%;top:50%;left:50%}
.od1{width:58px;height:58px;border:1px solid rgba(93,173,226,.22);transform:translate(-50%,-50%);animation:spCW 14s linear infinite}
.od1::before{content:'';position:absolute;top:-5px;left:50%;margin-left:-5px;width:9px;height:9px;border-radius:50%;background:var(--bleu-clair);box-shadow:0 0 10px rgba(93,173,226,.9),0 0 20px rgba(93,173,226,.5)}
.od2{width:38px;height:38px;border:2px solid transparent;border-top-color:rgba(125,60,152,.55);transform:translate(-50%,-50%);animation:spCW 8s linear infinite}
.od3{width:20px;height:20px;border:1px dashed rgba(244,228,200,.22);transform:translate(-50%,-50%);animation:spCW 20s linear infinite reverse}
.od3::before{content:'';position:absolute;right:-4px;top:50%;margin-top:-3px;width:7px;height:7px;border-radius:50%;background:rgba(244,228,200,.75);box-shadow:0 0 7px rgba(125,60,152,.55)}

@keyframes fadeUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8rem 2rem 5rem;text-align:center;position:relative;overflow:hidden}
.hero-tag{font-family:var(--sans);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:1rem;animation:fadeUp 1s .1s ease both}
.hero-name{font-family:var(--serif);font-weight:300;font-size:clamp(3rem,11vw,5.5rem);line-height:.92;color:var(--creme);margin-bottom:.5rem;animation:fadeUp 1s .2s ease both}
.hero-name em{font-style:italic;font-weight:400;display:block;font-size:.65em;color:var(--bleu-pale)}
.hero-rule{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--or),transparent);margin:1.4rem auto;animation:fadeUp 1s .3s ease both}
.hero-titre{font-family:var(--sans);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--or-clair);margin-bottom:2rem;line-height:2.2;animation:fadeUp 1s .4s ease both}
.hero-accroche{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,3.5vw,1.6rem);color:var(--creme-mute);max-width:500px;line-height:1.55;margin-bottom:2.5rem;animation:fadeUp 1s .5s ease both}
.hero-accroche strong{color:var(--creme);font-style:normal;font-weight:400}

/* BOUTONS */
.btn-primary{display:inline-block;padding:.95rem 2.5rem;background:linear-gradient(135deg,var(--bleu-canard),var(--violet));color:var(--creme);font-family:var(--sans);font-size:10px;letter-spacing:.25em;text-transform:uppercase;border-radius:50px;border:none;transition:all .35s ease;font-weight:400;box-shadow:0 4px 20px rgba(46,134,193,0.25)}
.btn-primary:hover{box-shadow:0 8px 30px rgba(93,173,226,.35);transform:translateY(-2px)}
.btn-outline{display:inline-block;padding:.8rem 2rem;background:transparent;color:var(--bleu-clair);font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;border-radius:50px;border:1.5px solid rgba(93,173,226,.4);transition:all .3s}
.btn-outline:hover{background:rgba(93,173,226,.08);border-color:var(--bleu-clair);transform:translateY(-2px)}

/* SECTIONS */
.section-dark{background:rgba(10,22,40,.6);padding:6rem 2rem;position:relative}
.section-darker{background:rgba(8,18,34,.8);padding:6rem 2rem;position:relative}
.section-glass{background:rgba(14,42,74,.3);padding:6rem 2rem;border-top:1px solid rgba(93,173,226,.1);border-bottom:1px solid rgba(93,173,226,.1)}

.section-label{font-family:var(--sans);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--bleu-clair);text-align:center;margin-bottom:1.2rem;opacity:0;letter-spacing:.6em;transition:opacity .8s,letter-spacing 1.2s cubic-bezier(.16,1,.3,1)}
.section-label.visible{opacity:1;letter-spacing:.42em}
.section-h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,6vw,3.5rem);line-height:1.1;color:var(--creme);text-align:center;max-width:680px;margin:0 auto 1.2rem}
.section-h2 em{font-style:italic;color:var(--bleu-clair)}
.section-sub{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--creme-mute);text-align:center;max-width:520px;margin:0 auto 3.5rem;line-height:1.65}
.rule{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--or),transparent);margin:.8rem auto 1.5rem;transition:width 1.2s cubic-bezier(.16,1,.3,1)}
.rule.visible{width:60px}

/* RESSENTIS — cartes avec photos */
.vrv-section{padding:2.5rem 2rem;border-bottom:1px solid rgba(93,173,226,.08);max-width:860px;margin:0 auto}
.vrv-bloc{display:flex;align-items:flex-start;gap:2rem}
.vrv-bloc.reverse{flex-direction:row-reverse}
.vrv-photo{flex-shrink:0;width:200px;height:240px;border-radius:14px;overflow:hidden;box-shadow:0 6px 25px rgba(0,0,0,.3);border:1px solid rgba(93,173,226,.2);transition:transform .7s ease}
.vrv-photo:hover{transform:scale(1.03)}
.vrv-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.vrv-texte{flex:1}
.vrv-num{font-family:var(--serif);font-style:italic;font-size:2.8rem;color:rgba(93,173,226,.18);line-height:1;margin-bottom:.3rem}
.vrv-titre{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--creme);margin-bottom:.8rem;line-height:1.2}
.vrv-texte-p{font-family:var(--serif);font-size:1.02rem;color:var(--creme-mute);line-height:1.82;margin-bottom:1rem}
.vrv-signes{display:flex;flex-wrap:wrap;gap:.5rem}
.vrv-signes span{font-family:var(--sans);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bleu-clair);background:rgba(93,173,226,.08);border:1px solid rgba(93,173,226,.2);border-radius:30px;padding:.3rem .85rem}
@media(max-width:640px){.vrv-bloc,.vrv-bloc.reverse{flex-direction:column;gap:1.2rem}.vrv-photo{width:100%;height:200px}}

/* PILLIERS */
.pilliers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:880px;margin:0 auto}
.pillier{text-align:center;padding:2.5rem 1.5rem;background:rgba(14,42,74,.4);border:1px solid rgba(93,173,226,.15);border-radius:20px;transition:all .4s;opacity:0;transform:translateY(18px)}
.pillier.visible{opacity:1;transform:translateY(0)}
.pillier:hover{background:rgba(46,134,193,.1);border-color:rgba(93,173,226,.35);transform:translateY(-4px)}
.pillier-num{font-family:var(--serif);font-style:italic;font-size:3.5rem;color:rgba(93,173,226,.2);line-height:1;margin-bottom:1rem}
.pillier-titre{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--creme);margin-bottom:.7rem;line-height:1.2}
.pillier-texte{font-family:var(--sans);font-size:12px;color:var(--creme-mute);line-height:1.7;font-weight:300}
@media(max-width:768px){.pilliers{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

/* OFFRES */
.offres-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;max-width:840px;margin:0 auto}
.offre-card{background:rgba(14,42,74,.35);border:1px solid rgba(93,173,226,.18);border-radius:20px;padding:2rem 1.8rem;transition:all .4s;opacity:0;transform:translateY(18px)}
.offre-card.visible{opacity:1;transform:translateY(0)}
.offre-card:hover{border-color:rgba(93,173,226,.45);background:rgba(46,134,193,.1);box-shadow:0 10px 35px rgba(46,134,193,.12);transform:translateY(-4px)}
.offre-tag{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:.6rem}
.offre-titre{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--creme);margin-bottom:.5rem;line-height:1.2}
.offre-desc{font-family:var(--serif);font-size:.98rem;color:var(--creme-mute);line-height:1.65;margin-bottom:1.5rem}
.offre-prix-row{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin-bottom:1.5rem}
.offre-prix{font-family:var(--serif);font-size:2.2rem;color:var(--creme);font-weight:400}
.offre-prix-label{font-family:var(--sans);font-size:10px;letter-spacing:.15em;color:var(--bleu-clair);text-transform:uppercase}
.offre-prix-alt{font-family:var(--serif);font-style:italic;font-size:.95rem;color:rgba(244,228,200,.4)}
.offre-gratuit{border:2px solid var(--or);background:rgba(244,183,107,.06);grid-column:1/-1;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.offre-gratuit .offre-titre{color:var(--or-clair)}
.offre-gratuit .offre-tag{color:var(--or-clair)}
.offre-gratuit-text{flex:1}
@media(max-width:680px){.offres-grid{grid-template-columns:1fr}.offre-gratuit{flex-direction:column;gap:1rem}}

/* CITATION */
.section-citation{background:linear-gradient(160deg,rgba(10,22,40,.95),rgba(14,42,74,.95));padding:5.5rem 2rem;text-align:center;border-top:1px solid rgba(93,173,226,.1);border-bottom:1px solid rgba(93,173,226,.1)}
.grande-citation{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,4.5vw,2.6rem);color:var(--creme);max-width:680px;margin:0 auto 1.2rem;line-height:1.45}
.grande-citation span{color:var(--bleu-clair)}
.citation-auteur{font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--or-clair)}

/* À PROPOS */
.apropos-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:900px;margin:0 auto;align-items:center}
.apropos-photo-rings{position:relative;width:260px;height:260px;margin:0 auto}
.apr{position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.apr1{width:280px;height:280px;border:1px solid rgba(93,173,226,.25);animation:spCW 22s linear infinite}
.apr1::before{content:'';position:absolute;top:-5px;left:50%;margin-left:-5px;width:9px;height:9px;border-radius:50%;background:var(--bleu-clair);box-shadow:0 0 12px rgba(93,173,226,.9),0 0 24px rgba(93,173,226,.5)}
.apr2{width:268px;height:268px;border:2px solid transparent;border-top-color:rgba(125,60,152,.6);animation:spCW 13s linear infinite}
.apr3{width:256px;height:256px;border:1px dashed rgba(244,228,200,.18);animation:spCW 30s linear infinite reverse}
.apr3::before{content:'';position:absolute;right:-4px;top:50%;margin-top:-4px;width:7px;height:7px;border-radius:50%;background:var(--creme);box-shadow:0 0 8px rgba(244,228,200,.8)}
.apr-circle{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:2.5px solid rgba(93,173,226,.4);box-shadow:0 0 0 5px rgba(10,22,40,.8),0 0 30px rgba(93,173,226,.18)}
.apr-circle img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.apropos-label{font-family:var(--sans);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:1.2rem}
.apropos-titre{font-family:var(--serif);font-style:italic;font-size:clamp(1.8rem,4vw,2.5rem);color:var(--creme);line-height:1.15;margin-bottom:1.4rem}
.apropos-texte{font-family:var(--serif);font-size:1.08rem;color:var(--creme-mute);line-height:1.85;margin-bottom:1rem}
.apropos-signature{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--bleu-pale);padding:1.2rem 0;border-top:1px solid rgba(93,173,226,.18);border-bottom:1px solid rgba(93,173,226,.18);margin-top:1.5rem}
@media(max-width:768px){.apropos-grid{grid-template-columns:1fr;gap:2.5rem}.apropos-photo-rings{width:200px;height:200px}}

/* DÉROULEMENT */
.deroulement-bloc{background:rgba(14,42,74,.35);border:1px solid rgba(93,173,226,.15);border-radius:20px;padding:2.5rem;box-shadow:0 4px 25px rgba(0,0,0,.2)}
.deroulement-intro{font-family:var(--serif);font-size:1.1rem;color:var(--creme-mute);line-height:1.8;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(93,173,226,.1)}
.deroulement-intro strong{color:var(--creme);font-weight:400}
.deroulement-etapes{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}
.etape{display:flex;gap:1.5rem;align-items:flex-start}
.etape-num{font-family:var(--serif);font-style:italic;font-size:2.5rem;color:rgba(93,173,226,.2);line-height:1;flex-shrink:0;width:50px;text-align:right}
.etape-titre{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--creme);margin-bottom:.4rem;line-height:1.2}
.etape-texte p{font-family:var(--serif);font-size:1rem;color:var(--creme-mute);line-height:1.7}
.deroulement-cadre{display:flex;align-items:flex-start;gap:1rem;background:rgba(244,183,107,.07);border:1px solid rgba(244,183,107,.18);border-radius:12px;padding:1.2rem 1.5rem}
.deroulement-cadre p{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--creme-mute);line-height:1.6}
.deroulement-cadre strong{color:var(--or-clair);font-style:normal}
@media(max-width:600px){.deroulement-bloc{padding:1.5rem}.etape{gap:1rem}.etape-num{font-size:2rem;width:40px}}

/* ARTICLES */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:940px;margin:0 auto}
.article-card{background:rgba(14,42,74,.35);border:1px solid rgba(93,173,226,.15);border-radius:16px;overflow:hidden;transition:all .4s;opacity:0;transform:translateY(18px)}
.article-card.visible{opacity:1;transform:translateY(0)}
.article-card:hover{transform:translateY(-4px);border-color:rgba(93,173,226,.35);box-shadow:0 12px 35px rgba(46,134,193,.1)}
.article-card-top{background:rgba(10,22,40,.7);padding:2rem 1.5rem;min-height:140px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid rgba(93,173,226,.1)}
.article-card-cat{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:.6rem}
.article-card-titre{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--creme);line-height:1.25}
.article-card-body{padding:1.4rem 1.5rem}
.article-card-extrait{font-family:var(--serif);font-size:.98rem;color:var(--creme-mute);line-height:1.65;margin-bottom:1.2rem}
.article-card-lien{font-family:var(--sans);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bleu-clair);border-bottom:1px solid var(--bleu-clair);padding-bottom:2px;transition:color .25s}
@media(max-width:768px){.articles-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}}

/* ARTICLE SINGLE */
.article-hero{background:linear-gradient(160deg,var(--nuit),var(--bleu-profond));padding:8rem 2rem 5rem;text-align:center}
.article-cat{font-family:var(--sans);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:1rem}
.article-titre{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,6vw,3.2rem);color:var(--creme);line-height:1.15;max-width:680px;margin:0 auto 1rem}
.article-titre em{font-style:italic;color:var(--bleu-clair)}
.article-meta{font-family:var(--sans);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--or-clair)}
.article-body{background:rgba(10,22,40,.8);padding:4rem 2rem}
.article-content{max-width:680px;margin:0 auto}
.article-content h2{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--creme);margin:2.5rem 0 1rem}
.article-content p{font-family:var(--serif);font-size:1.1rem;color:var(--creme-mute);line-height:1.88;margin-bottom:1.4rem}
.article-content strong{font-weight:400;color:var(--creme)}
.article-content em{font-style:italic;color:var(--bleu-clair)}
.article-content blockquote{border-left:3px solid var(--bleu-moyen);padding:1rem 1.5rem;margin:2rem 0;background:rgba(46,134,193,.08);border-radius:0 12px 12px 0}
.article-content blockquote p{font-style:italic;color:var(--creme);margin-bottom:0}
.article-cta{background:rgba(14,42,74,.6);padding:4rem 2rem;text-align:center}
.article-cta-titre{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--creme);margin-bottom:1rem}
.article-cta-texte{font-family:var(--serif);font-size:1.05rem;color:var(--creme-mute);margin-bottom:2rem;max-width:480px;margin-left:auto;margin-right:auto}

/* CONTACT */
.contact-liens{display:flex;flex-direction:column;gap:.75rem;max-width:560px;margin:0 auto 2.5rem}
.contact-lien{display:flex;align-items:center;gap:1rem;padding:1rem 1.4rem;background:rgba(14,42,74,.4);border:1px solid rgba(93,173,226,.18);border-radius:14px;color:var(--creme);transition:all .3s;font-family:var(--sans);font-size:13px;font-weight:300;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.contact-lien:hover,.contact-lien:active{border-color:var(--bleu-clair);background:rgba(93,173,226,.08);transform:translateY(-1px)}
.contact-icone{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(93,173,226,.1);border-radius:50%;color:var(--bleu-clair)}
.contact-icone svg{width:15px;height:15px}
.contact-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--bleu-pale);margin-bottom:2px}
.contact-valeur{color:var(--creme);font-weight:300}

/* CTA OFFERT */
.section-cta{background:linear-gradient(135deg,rgba(46,134,193,.15),rgba(125,60,152,.1));border:1.5px solid rgba(93,173,226,.25);border-radius:20px;padding:3rem 2rem;text-align:center;margin:0 2rem 2rem;max-width:860px;margin-left:auto;margin-right:auto}
.cta-titre{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,5vw,2.5rem);color:var(--creme);margin-bottom:.8rem}
.cta-sous{font-family:var(--serif);font-size:1.05rem;color:var(--creme-mute);margin-bottom:2rem;line-height:1.65}

/* DISCLAIMER */
.disclaimer{background:rgba(10,22,40,.6);padding:2rem;text-align:center;border-top:1px solid rgba(93,173,226,.08)}
.disclaimer p{font-family:var(--serif);font-style:italic;font-size:.9rem;color:rgba(244,228,200,.35);max-width:600px;margin:0 auto;line-height:1.7}

/* PAGE HERO INTERNE */
.page-hero{background:linear-gradient(160deg,var(--nuit),var(--bleu-profond));padding:7rem 2rem 4rem;text-align:center}
.page-hero-tag{font-family:var(--sans);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:1rem}
.page-hero-titre{font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1;color:var(--creme);margin-bottom:.5rem}
.page-hero-titre em{font-style:italic;color:var(--bleu-clair)}
.page-hero-sub{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--creme-mute);max-width:500px;margin:.8rem auto 0;line-height:1.6}

/* RENDEZ-VOUS Calendly */
.calendly-wrap{background:rgba(14,42,74,.3);border-radius:16px;overflow:hidden;border:1px solid rgba(93,173,226,.15);max-width:860px;margin:0 auto}

/* FOOTER */
footer{background:var(--nuit);padding:3rem 2rem;text-align:center;border-top:1px solid rgba(93,173,226,.08)}
.footer-nom{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--creme);margin-bottom:.4rem}
.footer-titre{font-family:var(--sans);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:1.5rem}
.footer-liens{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem}
.footer-lien{font-family:var(--sans);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,228,200,.3);transition:color .25s}
.footer-lien:hover{color:var(--bleu-clair)}
.footer-copy{font-family:var(--serif);font-style:italic;font-size:.88rem;color:rgba(244,228,200,.2)}

/* ANIMATIONS */
.fade{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}
.fade.visible{opacity:1;transform:translateY(0)}
.reveal-up{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-up.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-35px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(35px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.s1{transition-delay:.08s!important}.s2{transition-delay:.16s!important}.s3{transition-delay:.24s!important}
.s4{transition-delay:.32s!important}.s5{transition-delay:.40s!important}

/* ===== PETITE BANNIÈRE VIDÉO ===== */
.video-banner {
  position: relative;
  width: 100%;
  height: 340px;
  overflow: hidden;
}
.video-banner video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  z-index: 0;
}
.video-banner-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(10,22,40,0.10) 0%,
    rgba(10,22,40,0.18) 60%,
    rgba(10,22,40,0.92) 100%
  );
}
.scroll-indicator {
  position: absolute;
  bottom: 1.2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  animation: sBounce 2.5s ease-in-out infinite;
}
.scroll-indicator span {
  font-family: var(--sans);
  font-size: 8px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(244,228,200,.4);
}
.scroll-indicator svg { width: 14px; height: 14px; color: rgba(244,228,200,.35); }
@keyframes sBounce {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(5px); }
}
@media(max-width:600px) { .video-banner { height: 220px; } }
