*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#09050e;
  --bg2:#0e0810;
  --text:#f5ede0;
  --muted:rgba(245,237,224,.5);
  --muted2:rgba(245,237,224,.25);
  --border:rgba(245,237,224,.07);
  --gold:#e8a030;
  --red:#e63946;
  --purple:#8338ec;
  --green:#06d6a0;
}
html{height:100%;scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ── Fond chaud : sunset / feu / tropical ── */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 55% at 50% -10%, rgba(200,80,30,.22), transparent 58%),
    radial-gradient(ellipse 50% 40% at 85% 20%,  rgba(232,160,48,.10), transparent 55%),
    radial-gradient(ellipse 40% 35% at 10% 80%,  rgba(131,56,236,.09), transparent 50%),
    radial-gradient(ellipse 60% 45% at 50% 110%, rgba(80,20,10,.35),  transparent 55%),
    linear-gradient(180deg, #09050e 0%, #0e080f 60%, #110810 100%);
}

/* ── Orbes flottants chauds ── */
.orb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}
.orb1{width:600px;height:600px;top:-200px;left:-150px;background:rgba(200,60,30,.09)}
.orb2{width:500px;height:500px;top:30%;right:-180px;background:rgba(232,160,48,.07)}
.orb3{width:400px;height:400px;bottom:-100px;left:30%;background:rgba(131,56,236,.07)}

/* ── Hero h1 : Syne display ── */
.hero-h1{font-family:'Syne',system-ui,sans-serif}
.nav-cta:hover{opacity:.88}

/* ── Hero ── */
.hero{
  position:relative;z-index:10;
  min-height:100vh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:90px 20px 60px;
  text-align:center;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(232,160,48,.7);margin-bottom:22px;
}
.hero-eyebrow::before,.hero-eyebrow::after{
  content:'';width:24px;height:1px;background:rgba(232,160,48,.35);
}
.hero-h1{
  font-size:clamp(52px,9vw,108px);
  font-weight:900;
  letter-spacing:-.05em;
  line-height:.94;
  margin-bottom:24px;
}
.hero-h1 .line1{
  display:block;
  background:linear-gradient(135deg,#ffffff 0%,rgba(245,237,224,.85) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-h1 .line2{
  display:block;
  background:linear-gradient(135deg,var(--gold) 0%,#f4c060 50%,#e8a030 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-h1 .line3{
  display:block;
  background:linear-gradient(135deg,rgba(245,237,224,.55) 0%,rgba(245,237,224,.3) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  font-size:.55em;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin-top:8px;
}
.hero-sub{
  font-size:clamp(14px,2vw,17px);color:var(--muted);line-height:1.7;
  max-width:560px;margin:0 auto 36px;font-weight:400;
}
.hero-sub strong{color:var(--text);font-weight:600}

/* ── Search bar (chaude) ── */
.search-wrap{width:100%;max-width:680px;margin:0 auto 28px;position:relative}
.search-box{
  display:flex;align-items:center;gap:0;
  position:relative;overflow:hidden;
  background:rgba(245,237,224,.06);
  border:1px solid rgba(232,160,48,.25);
  border-radius:16px;padding:6px 6px 6px 20px;
  transition:border-color .25s,box-shadow .25s;
}
.search-box:focus-within{
  border-color:rgba(232,160,48,.68);
  box-shadow:0 0 0 2px rgba(232,160,48,.14),0 0 28px rgba(232,160,48,.14),0 8px 40px rgba(0,0,0,.55);
}
.s-icon{font-size:16px;margin-right:12px;flex-shrink:0;opacity:.5}
#search-input{
  flex:1;background:none;border:none;outline:none;
  color:var(--text);font-family:'Inter',sans-serif;font-size:clamp(15px,2.2vw,18px);
  font-weight:400;caret-color:var(--gold);padding:11px 0;
}
#search-input::placeholder{color:var(--muted2);font-weight:300}
#search-btn{
  flex-shrink:0;padding:10px 22px;
  background:linear-gradient(135deg,#e8a030,#f0b340);color:#000;
  border:none;border-radius:12px;
  font-size:13px;font-weight:800;cursor:pointer;
  font-family:'Inter',sans-serif;
  transition:opacity .2s,box-shadow .2s,transform .15s;
  white-space:nowrap;position:relative;overflow:hidden;
}
#search-btn::before{
  content:'';position:absolute;inset:0;border-radius:12px;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.28),transparent 70%);
  transform:translateX(-100%);transition:transform .55s;
}
#search-btn:hover::before{transform:translateX(100%)}
#search-btn:hover{opacity:1;box-shadow:0 4px 22px rgba(232,160,48,.5);transform:scale(1.03)}

#suggestions{
  position:absolute;top:calc(100% + 6px);left:0;right:0;
  background:rgba(14,8,16,.97);border:1px solid rgba(232,160,48,.15);
  border-radius:14px;overflow:hidden;z-index:300;display:none;
  box-shadow:0 20px 60px rgba(0,0,0,.8);backdrop-filter:blur(20px);
}
.sugg-item{
  display:flex;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;
  border-top:1px solid rgba(255,255,255,.04);transition:background .1s;
}
.sugg-item:first-child{border-top:none}
.sugg-item:hover,.sugg-item.focused{background:rgba(232,160,48,.08)}
.si-em{font-size:17px;flex-shrink:0;width:24px;text-align:center}
.si-lbl{font-size:14px;font-weight:600;flex:1;text-align:left}
.si-cat{font-size:11px;color:var(--muted2);text-transform:uppercase;letter-spacing:.06em}

/* ── Hero CTAs V2 — WA premier, mobile-first ── */
.hero-ctas{
  display:flex;gap:12px;flex-wrap:wrap;justify-content:center;
  margin:28px auto 0;
}
.hero-ctas a{
  display:inline-flex;align-items:center;gap:8px;
  padding:16px 32px;border-radius:14px;
  font-size:16px;font-weight:800;text-decoration:none;
  transition:all .2s;letter-spacing:.01em;
}
.hc-primary{
  background:linear-gradient(135deg,#e8a030,#c87a10);color:#000;
  box-shadow:0 4px 24px rgba(232,160,48,.35);
}
.hc-primary:hover{opacity:.88;transform:translateY(-2px)}
.hc-secondary{
  background:rgba(245,237,224,.06);
  border:1px solid rgba(245,237,224,.18);
  color:rgba(245,237,224,.9);
}
.hc-secondary:hover{background:rgba(245,237,224,.1);transform:translateY(-1px)}
.hc-wa{
  background:rgba(37,211,102,.08);
  border:1px solid rgba(37,211,102,.25);
  color:#25d366;
}
.hc-wa:hover{background:rgba(37,211,102,.15);transform:translateY(-1px)}
/* Mobile : WA en pleine largeur en premier */
@media(max-width:600px){
  .hero-ctas{flex-direction:column;gap:10px;width:100%;max-width:340px;margin-left:auto;margin-right:auto}
  .hero-ctas a{padding:18px 24px;font-size:16px;justify-content:center;width:100%}
  .hc-wa-v2{order:-1}
  .hc-secondary{display:none}
}
/* Trust badge sous le bouton WA */
.wa-trust{font-size:11px;color:rgba(37,211,102,.6);text-align:center;margin-top:6px;letter-spacing:.03em}
/* Urgency counter */
.hero-urgency{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(230,57,70,.12);border:1px solid rgba(230,57,70,.25);
  color:#ff6b7a;font-size:12px;font-weight:700;
  padding:5px 12px;border-radius:99px;margin-bottom:16px;
  animation:urgPulse 2s ease-in-out infinite;
}
@keyframes urgPulse{0%,100%{opacity:1}50%{opacity:.7}}
.hero-urgency .dot{width:6px;height:6px;border-radius:50%;background:#ff6b7a;animation:dotBlink 1.2s infinite}

/* ── Quick links ── */
.quick-links{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
  padding-bottom:0;
  margin-top:24px;
}
.ql{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;
  background:rgba(245,237,224,.04);border:1px solid rgba(245,237,224,.09);
  border-radius:100px;color:var(--muted);font-size:13px;font-weight:500;
  text-decoration:none;transition:all .2s;white-space:nowrap;
}
.ql:hover{background:rgba(232,160,48,.1);border-color:rgba(232,160,48,.35);color:var(--text)}
.ql-hot{background:rgba(232,160,48,.08);border-color:rgba(232,160,48,.2);color:var(--gold);font-weight:600}
.ql-hot:hover{background:rgba(232,160,48,.16);border-color:rgba(232,160,48,.5)}

/* ── Sections communes ── */
section{position:relative;z-index:10;padding:104px 20px}
.container{max-width:1000px;margin:0 auto}
.sh{
  text-align:center;margin-bottom:64px;
}
.sh-eyebrow{
  font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(232,160,48,.75);margin-bottom:14px;
}
.sh h2{
  font-size:clamp(32px,5.5vw,54px);font-weight:900;letter-spacing:-.045em;
  color:var(--text);line-height:1.02;
}
.sh p{color:var(--muted);font-size:16px;margin-top:12px;line-height:1.7;max-width:520px;margin-left:auto;margin-right:auto}

/* ── Disciplines grid ── */
.disc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:12px;
}
.disc-card{
  position:relative;overflow:hidden;
  background:rgba(245,237,224,.03);
  border:1px solid rgba(245,237,224,.07);
  border-radius:14px;padding:20px 16px;
  text-decoration:none;color:var(--text);
  transition:transform .2s,border-color .2s,box-shadow .2s;
  display:block;
}
.disc-card::before{
  content:'';position:absolute;inset:0;border-radius:14px;
  background:var(--dc-glow,rgba(232,160,48,.1));opacity:0;transition:opacity .2s;
}
.disc-card:hover{
  transform:translateY(-3px);
  border-color:rgba(245,237,224,.15);
  box-shadow:0 8px 30px rgba(0,0,0,.4);
}
.disc-card:hover::before{opacity:1}
.dc-emoji{font-size:28px;display:block;margin-bottom:11px}
.dc-name{font-size:14px;font-weight:700;margin-bottom:4px;line-height:1.2}
.dc-sub{font-size:11px;color:var(--muted);line-height:1.4}
.dc-dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;
  margin-right:6px;vertical-align:middle;
}

/* ── 3 piliers disciplines ── */
.disc-feat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;margin-bottom:12px;
}
.disc-feat{
  position:relative;overflow:hidden;
  background:rgba(245,237,224,.022);
  border:1px solid rgba(245,237,224,.07);
  border-radius:20px;padding:30px 24px 24px;
  text-decoration:none;color:var(--text);
  display:flex;flex-direction:column;
  min-height:200px;
  transition:transform .28s cubic-bezier(.2,.8,.3,1),border-color .28s,box-shadow .28s;
}
.disc-feat::before{
  content:'';position:absolute;inset:0;border-radius:20px;
  background:var(--df-bg,rgba(232,160,48,.07));
  opacity:0;transition:opacity .28s;
}
.disc-feat:hover{
  transform:translateY(-5px);
  border-color:rgba(245,237,224,.14);
  box-shadow:0 24px 60px rgba(0,0,0,.48);
}
.disc-feat:hover::before{opacity:1}
.df-emoji{font-size:34px;display:block;margin-bottom:16px;line-height:1}
.df-name{
  font-size:clamp(16px,1.8vw,20px);font-weight:800;letter-spacing:-.02em;
  margin-bottom:8px;line-height:1.15;
}
.df-line{font-size:13px;color:var(--muted);line-height:1.6;flex:1}
.df-cta{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:18px;font-size:11px;font-weight:700;
  color:var(--df-color,rgba(245,237,224,.4));
  letter-spacing:.08em;text-transform:uppercase;
  transition:color .22s;
}
.disc-feat:hover .df-cta{color:var(--df-color,var(--gold))}

/* ── Pills disciplines secondaires ── */
.disc-pills{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
  padding:8px 0;
}
.disc-pill{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;
  background:rgba(245,237,224,.025);
  border:1px solid rgba(245,237,224,.07);
  border-radius:100px;
  text-decoration:none;color:var(--muted);
  font-size:13px;font-weight:500;
  transition:all .2s;white-space:nowrap;
}
.disc-pill:hover{
  background:rgba(245,237,224,.06);
  border-color:rgba(245,237,224,.18);
  color:var(--text);transform:translateY(-1px);
}
@media(max-width:680px){
  .disc-feat-grid{grid-template-columns:1fr;gap:10px}
  .disc-feat{min-height:auto;padding:22px 18px 20px}
}
@media(min-width:681px) and (max-width:940px){
  .disc-feat-grid{grid-template-columns:1fr 1fr;gap:12px}
}

/* ── Section BNF Outdoor ── */
.bnf-block{
  background:linear-gradient(135deg,rgba(131,56,236,.08),rgba(200,80,30,.06));
  border:1px solid rgba(131,56,236,.2);
  border-radius:20px;padding:40px 32px;
  display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;
}
.bnf-title{font-size:clamp(24px,3.5vw,36px);font-weight:800;letter-spacing:-.02em;margin-bottom:12px;line-height:1.1}
.bnf-title em{font-style:normal;color:#8338ec}
.bnf-desc{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:22px}
.bnf-slots{display:grid;gap:8px}
.bnf-slot{
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(131,56,236,.1);border:1px solid rgba(131,56,236,.2);
  border-radius:10px;padding:10px 14px;
}
.bnf-slot-jour{font-size:13px;font-weight:700;text-transform:capitalize}
.bnf-slot-h{font-size:12px;color:var(--muted)}
.bnf-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;background:rgba(131,56,236,.15);
  border:1px solid rgba(131,56,236,.4);border-radius:12px;
  color:#c77dff;font-weight:700;font-size:14px;text-decoration:none;transition:all .2s;
}
.bnf-cta:hover{background:rgba(131,56,236,.28);border-color:rgba(131,56,236,.6)}
@media(max-width:640px){.bnf-block{grid-template-columns:1fr;gap:24px}}

/* ── Event Cards — Eventbrite/Fever style ── */
.events-section{position:relative;z-index:10;padding:48px 0 40px}
.events-filter-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:28px;padding:0 20px}
.efil{padding:7px 16px;border-radius:100px;cursor:pointer;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(245,237,224,.08);color:var(--muted);background:rgba(245,237,224,.03);transition:all .2s;white-space:nowrap}
.efil:hover,.efil.on{background:rgba(232,160,48,.1);border-color:rgba(232,160,48,.35);color:var(--gold)}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 20px}
@media(max-width:900px){.events-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.events-grid{grid-template-columns:1fr}}
.ev-card{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(245,237,224,.07);background:rgba(14,8,16,.7);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.ev-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.55);border-color:rgba(232,160,48,.25)}
.ev-img{position:relative;height:200px;overflow:hidden;flex-shrink:0}
.ev-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ev-card:hover .ev-img img{transform:scale(1.06)}
.ev-img-fall{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px}
.ev-date-badge{position:absolute;top:12px;left:12px;background:rgba(9,5,14,.92);backdrop-filter:blur(10px);border-radius:10px;padding:7px 11px;text-align:center;border:1px solid rgba(232,160,48,.22);min-width:50px;z-index:2}
.ev-date-day{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.ev-date-num{font-size:24px;font-weight:900;color:#fff;line-height:1;margin:1px 0}
.ev-date-mon{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(245,237,224,.55)}
.ev-cat-pill{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;z-index:2;white-space:nowrap}
.ev-body{padding:16px 18px 0;flex:1;display:flex;flex-direction:column}
.ev-title{font-size:15px;font-weight:800;line-height:1.3;color:var(--text);margin-bottom:10px;letter-spacing:-.01em}
.ev-infos{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.ev-info{font-size:12px;color:var(--muted);display:flex;align-items:flex-start;gap:6px;line-height:1.35}
.ev-info-icon{flex-shrink:0;font-size:13px}
.ev-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;margin-top:auto;padding-bottom:2px}
.ev-cta{margin:14px 18px 18px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:800;text-align:center;letter-spacing:.01em;display:block;transition:opacity .2s,transform .15s}
.ev-cta:active{transform:scale(.97)}
.ev-cta-book{background:linear-gradient(135deg,#e8a030,#c87a10);color:#000;box-shadow:0 4px 18px rgba(232,160,48,.3)}
.ev-cta-book:hover{opacity:.88}
.ev-cta-soon{background:rgba(245,237,224,.06);border:1px solid rgba(245,237,224,.1);color:var(--muted)}
.ev-hidden{display:none!important}
@media(max-width:640px){
  .events-grid{grid-template-columns:1fr}
  .ev-img{height:220px}
}

/* ── Section communauté Instagram ── */
.insta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.insta-card{
  background:rgba(245,237,224,.03);border:1px solid rgba(245,237,224,.07);
  border-radius:14px;padding:20px;text-decoration:none;color:var(--text);
  transition:border-color .2s;
}
.insta-card:hover{border-color:rgba(232,160,48,.25)}
.insta-handle{font-size:15px;font-weight:700;color:var(--gold);margin-bottom:5px}
.insta-role{font-size:12px;color:var(--muted);line-height:1.5}

/* ── CTA final ── */
.cta-section{
  text-align:center;
  background:linear-gradient(180deg,rgba(232,160,48,.05) 0%,rgba(200,80,30,.04) 100%);
  border-top:1px solid rgba(232,160,48,.1);
  border-bottom:1px solid rgba(232,160,48,.1);
  padding:120px 20px;
}
.cta-section h2{font-size:clamp(34px,5.5vw,58px);font-weight:900;letter-spacing:-.05em;margin-bottom:16px;line-height:1.02}
.cta-section p{color:var(--muted);font-size:17px;margin-bottom:40px;line-height:1.7;max-width:540px;margin-left:auto;margin-right:auto}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn-primary{
  padding:14px 32px;background:var(--gold);color:#000;
  font-size:15px;font-weight:800;border-radius:12px;text-decoration:none;
  transition:opacity .2s;letter-spacing:.01em;
}
.btn-primary:hover{opacity:.88}
.btn-ghost{
  padding:14px 28px;
  background:rgba(245,237,224,.05);border:1px solid rgba(245,237,224,.15);
  color:var(--muted);font-size:15px;font-weight:600;border-radius:12px;
  text-decoration:none;transition:all .2s;
}
.btn-ghost:hover{border-color:rgba(245,237,224,.3);color:var(--text)}

/* ── Footer ── */
footer{
  position:relative;z-index:10;
  text-align:center;padding:32px 20px;
  border-top:1px solid var(--border);
  color:var(--muted2);font-size:12px;
}
footer a{color:var(--muted);text-decoration:none;margin:0 10px;transition:color .2s}
footer a:hover{color:var(--text)}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:12px}

/* ── Responsive ── */
@media(max-width:520px){
  .hero-h1{letter-spacing:-.03em}
  .hero-h1 .line3{font-size:.42em;letter-spacing:.015em}
  .quick-links{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-left:4px;padding-right:16px;-webkit-overflow-scrollbar-width:none;}
  .quick-links::-webkit-scrollbar{display:none}
  section{padding:72px 16px}
  .sh{margin-bottom:44px}
  .sh h2{font-size:30px;letter-spacing:-.03em}
  .cta-section{padding:80px 16px}
  .dpc-mood{font-size:8px}
  .disc-pcard{min-height:140px}
}
#wa-sticky{position:fixed;bottom:24px;right:24px;z-index:9999;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 4px 24px rgba(37,211,102,.55);text-decoration:none;transition:transform .2s,box-shadow .2s}
#wa-sticky:hover{transform:scale(1.12);box-shadow:0 6px 34px rgba(37,211,102,.75)}
@media(max-width:520px){#wa-sticky{bottom:16px;right:16px;width:52px;height:52px;font-size:24px}}

/* ═══════════════════════════════════════════════════
   3D PREMIUM — Hologramme · Depth · Nightlife Paris
   ═══════════════════════════════════════════════════ */

/* ── Canvas globe ── */
#holo-canvas{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-54%);
  pointer-events:none;
  z-index:2;
  opacity:.88;
  will-change:transform;
}
@media(max-width:640px){
  #holo-canvas{opacity:.6;transform:translate(-50%,-62%) scale(.68)}
}

/* ── Halos pulsants ── */
.holo-halo{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-54%);
  border-radius:50%;pointer-events:none;z-index:1;
  will-change:transform,opacity;
}
.halo-1{
  width:420px;height:420px;
  background:radial-gradient(ellipse,rgba(232,160,48,.14) 0%,rgba(232,160,48,.04) 40%,transparent 68%);
  animation:halo-breathe 6s ease-in-out infinite;
}
.halo-2{
  width:600px;height:600px;
  background:radial-gradient(ellipse,rgba(131,56,236,.08) 0%,rgba(131,56,236,.02) 45%,transparent 65%);
  animation:halo-breathe 8.5s ease-in-out infinite 2s;
}
@keyframes halo-breathe{
  0%,100%{opacity:.5;transform:translate(-50%,-54%) scale(1)}
  50%{opacity:.8;transform:translate(-50%,-54%) scale(1.07)}
}
@media(max-width:640px){
  .halo-1{width:220px;height:220px}
  .halo-2{width:340px;height:340px}
}

/* ── Orbes flottants animés ── */
@keyframes orb-drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(44px,-28px)}}
@keyframes orb-drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,42px)}}
@keyframes orb-drift3{0%,100%{transform:translate(0,0)}50%{transform:translate(24px,-46px)}}
.orb1{animation:orb-drift1 18s ease-in-out infinite}
.orb2{animation:orb-drift2 22s ease-in-out infinite}
.orb3{animation:orb-drift3 26s ease-in-out infinite}

/* ── Search : scanner lumineux ── */
.search-box::after{
  content:'';position:absolute;
  top:0;left:-55%;width:42%;height:100%;
  background:linear-gradient(90deg,transparent 0%,rgba(232,160,48,.32) 50%,transparent 100%);
  animation:search-scan 3.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes search-scan{0%{left:-55%}100%{left:155%}}
.search-box:focus-within{
  border-color:rgba(232,160,48,.8);
  box-shadow:0 0 0 3px rgba(232,160,48,.18),0 0 40px rgba(232,160,48,.22),0 8px 40px rgba(0,0,0,.55);
}
.search-box:focus-within::after{animation-duration:.7s}

/* Pulse discret search wrap */
@keyframes wrap-pulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 4px rgba(232,160,48,.12)}}
.search-wrap{animation:wrap-pulse 4.5s ease-in-out infinite 2.5s}

/* ── Hero : halo bas + profondeur ── */
.hero::after{
  content:'';position:absolute;
  bottom:-55px;left:50%;transform:translateX(-50%);
  width:min(740px,94vw);height:200px;
  background:radial-gradient(ellipse,rgba(232,160,48,.12) 0%,rgba(131,56,236,.05) 40%,transparent 68%);
  pointer-events:none;z-index:3;
}
/* ── Hero background — rotation photo plein-écran ── */
.hero-bg-wrap{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center 30%;
  opacity:0;transition:opacity 2.2s ease-in-out;
  will-change:opacity,transform;
  animation:hbg-ken 14s ease-in-out infinite alternate;
}
.hero-bg-slide.hbg-active{opacity:1}
@keyframes hbg-ken{
  0%{transform:scale(1.04) translateX(0)}
  100%{transform:scale(1.11) translateX(-1.5%)}
}
.hero-bg-wrap::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,
    rgba(9,5,14,.72) 0%,
    rgba(9,5,14,.42) 30%,
    rgba(9,5,14,.50) 60%,
    rgba(9,5,14,.94) 100%);
}
@media(max-width:640px){
  .hero-bg-wrap::after{background:linear-gradient(180deg,rgba(9,5,14,.82) 0%,rgba(9,5,14,.68) 50%,rgba(9,5,14,.93) 100%)}
}

/* ── Entrée hero — stagger fluide ── */
@keyframes hero-in{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-eyebrow{animation:hero-in .8s cubic-bezier(.2,.8,.3,1) both .2s;opacity:0}
.hero-h1 .line1{animation:hero-in .8s cubic-bezier(.2,.8,.3,1) both .35s;opacity:0}
.hero-h1 .line2{animation:hero-in .9s cubic-bezier(.18,.85,.3,1) both .5s;opacity:0}
.hero-h1 .line3{animation:hero-in .8s cubic-bezier(.2,.8,.3,1) both .65s;opacity:0}
.hero-sub{animation:hero-in .8s cubic-bezier(.2,.8,.3,1) both .75s;opacity:0}
.search-wrap{animation:hero-in .8s cubic-bezier(.2,.8,.3,1) both .9s;opacity:0}
.quick-links{animation:hero-in .8s cubic-bezier(.2,.8,.3,1) both 1.05s;opacity:0}

/* ── Disc cards — micro profondeur ── */
.disc-card{transform-origin:center bottom}
.disc-card:hover{
  transform:translateY(-5px) scale(1.02);
  box-shadow:0 14px 44px rgba(0,0,0,.55);
}

/* ── Reduce motion — désactivation propre ── */
@media(prefers-reduced-motion:reduce){
  .orb1,.orb2,.orb3,
  .halo-1,.halo-2,.halo-3,
  .search-wrap,
  .hero-eyebrow,
  .hero-h1 .line1,.hero-h1 .line2,.hero-h1 .line3,
  .hero-sub,.quick-links{animation:none!important;opacity:1!important;transform:none!important}
  .search-box::after,.hero::after{display:none}
  #holo-canvas{display:none}
}

/* ═══════════════════════════════════════════════════
   GALERIE PHOTOS 3D — Coverflow · Nightlife · Premium
   ═══════════════════════════════════════════════════ */

.gallery-filter-bar{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:32px;
}
.gfil{
  padding:6px 14px;border-radius:100px;cursor:pointer;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  border:1px solid rgba(245,237,224,.08);color:var(--muted);
  background:rgba(245,237,224,.03);transition:all .2s;
}
.gfil:hover,.gfil.on{
  background:rgba(232,160,48,.1);border-color:rgba(232,160,48,.35);color:var(--gold);
}
.gallery-stage{
  position:relative;
  perspective:1100px;
  height:400px;
  overflow:visible;
  cursor:grab;
  user-select:none;
}
.gallery-stage:active{cursor:grabbing}
.gallery-card{
  position:absolute;top:0;left:50%;
  width:260px;height:370px;
  border-radius:18px;overflow:hidden;
  transition:transform .55s cubic-bezier(.25,.46,.45,.94),opacity .55s,box-shadow .35s;
  will-change:transform,opacity;
  box-shadow:0 10px 40px rgba(0,0,0,.55);
}
.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.gallery-card-cap{
  position:absolute;bottom:0;left:0;right:0;
  padding:28px 14px 14px;
  background:linear-gradient(transparent,rgba(0,0,0,.82));
  transform:translateY(8px);opacity:0;
  transition:all .35s;pointer-events:none;
}
.gallery-card.cur .gallery-card-cap,
.gallery-card:hover .gallery-card-cap{opacity:1;transform:translateY(0)}
.gcc-title{font-size:14px;font-weight:700;color:#fff;line-height:1.2}
.gcc-disc{font-size:11px;color:rgba(232,160,48,.9);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}
/* Carte active — glow hologramme */
.gallery-card.cur{
  box-shadow:
    0 20px 60px rgba(0,0,0,.65),
    0 0 0 1px rgba(232,160,48,.4),
    0 0 40px rgba(232,160,48,.12),
    0 0 80px rgba(131,56,236,.08);
}
/* Nav */
.gallery-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.gallery-btn{
  width:42px;height:42px;border-radius:50%;
  background:rgba(245,237,224,.05);border:1px solid rgba(245,237,224,.1);
  color:var(--muted);font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;line-height:1;
}
.gallery-btn:hover{
  background:rgba(232,160,48,.1);border-color:rgba(232,160,48,.4);color:var(--gold);
}
.gallery-counter{
  font-size:13px;color:var(--muted2);min-width:52px;text-align:center;
  font-variant-numeric:tabular-nums;
}
@media(max-width:640px){
  .gallery-stage{height:320px;perspective:800px}
  .gallery-card{width:210px;height:300px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-card,.gallery-card-cap{transition:none!important}
}

/* ── Live strip ── */
.live-strip{
  position:relative;z-index:10;
  background:rgba(232,160,48,.03);
  border-top:1px solid rgba(232,160,48,.1);
  border-bottom:1px solid rgba(232,160,48,.1);
  padding:12px 20px;
}
.live-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.live-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:#e8a030;
  box-shadow:0 0 10px rgba(232,160,48,.9);
  animation:pulse-dot 1.8s ease-in-out infinite;
}
@keyframes pulse-dot{
  0%,100%{opacity:1;box-shadow:0 0 10px rgba(232,160,48,.9)}
  50%{opacity:.5;box-shadow:0 0 22px rgba(232,160,48,.5)}
}
.live-tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);flex-shrink:0}
.live-events{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center}
.live-pill{
  font-size:12px;color:rgba(245,237,224,.6);
  background:rgba(245,237,224,.04);border:1px solid rgba(245,237,224,.08);
  border-radius:20px;padding:4px 12px;white-space:nowrap;text-decoration:none;
  transition:all .2s;
}
.live-pill:hover{border-color:rgba(232,160,48,.4);color:var(--gold);background:rgba(232,160,48,.06)}
.live-sep{color:rgba(245,237,224,.18);font-size:11px;padding:0 2px}

/* ── Value pillars ── */
.value-row{
  position:relative;z-index:10;
  display:flex;justify-content:center;flex-wrap:wrap;
  background:rgba(245,237,224,.015);
  border-bottom:1px solid rgba(245,237,224,.05);
  padding:0 20px;
}
.vp{
  text-align:center;padding:20px 28px;flex:0 0 auto;
  border-right:1px solid rgba(245,237,224,.05);
}
.vp:last-child{border-right:none}
.vp-num{
  font-size:clamp(20px,2.8vw,26px);font-weight:900;letter-spacing:-.03em;
  background:linear-gradient(135deg,var(--gold),rgba(245,237,224,.9));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}
.vp-label{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.3;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:520px){.vp{padding:14px 14px;flex:1;min-width:70px}.vp-num{font-size:18px}}

/* ══════════════════════════════════════════════════
   PHOTOS HOLOGRAPHIQUES — FLOATING HERO AMBIENT
   ══════════════════════════════════════════════════ */

/* Conteneur — PAS de z-index ici (évite stacking context qui piège les enfants) */
.hero-photos{
  position:absolute;inset:0;
  pointer-events:none;
}
/* Canvas lignes holographiques */
#hp-lines-canvas{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:0;
}
/* Card flottante — propriétés CSS custom pour parallaxe */
.hp{
  position:absolute;border-radius:18px;overflow:hidden;
  opacity:0;
  transition:opacity .95s cubic-bezier(.25,.46,.45,.94);
  will-change:transform,opacity;
  --px:0px;--py:0px;
}
/* Profondeur : cartes devant ou derrière le texte du hero */
.hp.hp-front{z-index:1;pointer-events:auto;cursor:pointer}
.hp.hp-back{z-index:-1}
/* Inner — 3D tilt au hover, sans conflit avec l'animation float */
.hp-inner{
  width:100%;height:100%;position:relative;
  transform-style:preserve-3d;
  transition:transform .45s cubic-bezier(.25,.46,.45,.94);
}
.hp img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(.80) saturate(.88) contrast(1.07);
  transition:filter .5s;
}
/* Overlay holographique */
.hp::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(158deg,rgba(131,56,236,.22) 0%,transparent 45%,rgba(0,0,0,.38) 100%);
}
/* Bord glow gold premium */
.hp::before{
  content:'';position:absolute;inset:0;border-radius:18px;z-index:3;pointer-events:none;
  box-shadow:
    inset 0 0 0 1px rgba(232,160,48,.38),
    inset 0 0 18px rgba(232,160,48,.07),
    0 8px 32px rgba(0,0,0,.55),
    0 0 16px rgba(232,160,48,.07);
  transition:box-shadow .4s ease;
}
/* Label événement — révélé au hover et en mode spotlight */
.hp-label{
  position:absolute;bottom:0;left:0;right:0;z-index:4;
  padding:24px 10px 10px;
  background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,transparent 100%);
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;
  color:rgba(232,160,48,0);
  transform:translateY(5px);
  transition:color .4s ease,transform .4s ease;
  pointer-events:none;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* Hover front card — 3D tilt premium + glow révélé */
.hp.hp-front:hover .hp-inner{
  transform:perspective(620px) rotateY(-5deg) rotateX(2.5deg) scale(1.04);
}
.hp.hp-front:hover img{
  filter:brightness(.9) saturate(.95) contrast(1.1);
}
.hp.hp-front:hover::before{
  box-shadow:
    inset 0 0 0 2px rgba(232,160,48,.95),
    inset 0 0 32px rgba(232,160,48,.22),
    0 0 54px rgba(232,160,48,.3),
    0 16px 54px rgba(0,0,0,.78),
    0 3px 14px rgba(131,56,236,.32);
}
.hp.hp-front:hover .hp-label{
  color:rgba(232,160,48,.85);
  transform:translateY(0);
}
.hp.show{opacity:.72}
/* Spotlight : glow intense + label + filtre brightening */
.hp.spotlight{opacity:1!important;z-index:2!important}
.hp.spotlight::before{
  box-shadow:
    inset 0 0 0 2px rgba(232,160,48,.95),
    inset 0 0 28px rgba(232,160,48,.22),
    0 0 40px rgba(232,160,48,.32),
    0 12px 48px rgba(0,0,0,.72);
}
.hp.spotlight img{filter:brightness(.9) saturate(1.0) contrast(1.1)}
.hp.spotlight .hp-label{color:rgba(232,160,48,1);transform:translateY(0)}

/* Positions : 2 gauche + 2 droite — 4 cartes max, ne couvre jamais le centre */
.hp-1{width:162px;height:228px;left:2%;top:12%}
.hp-2{width:148px;height:208px;left:0.5%;top:50%}
.hp-3{display:none}
.hp-4{width:162px;height:228px;right:2%;top:9%}
.hp-5{width:148px;height:208px;right:0.5%;top:48%}
.hp-6{display:none}

/* Animations float — translate intègre les CSS vars parallaxe */
@keyframes hpf1{
  0%,100%{transform:translate(var(--px),calc(var(--py) + 0px)) rotate(-1deg)}
  50%{transform:translate(var(--px),calc(var(--py) - 14px)) rotate(.4deg)}}
@keyframes hpf2{
  0%,100%{transform:translate(var(--px),calc(var(--py) + 0px)) rotate(.8deg)}
  50%{transform:translate(var(--px),calc(var(--py) - 10px)) rotate(-1.2deg)}}
@keyframes hpf4{
  0%,100%{transform:translate(var(--px),calc(var(--py) + 0px)) rotate(1.2deg)}
  50%{transform:translate(var(--px),calc(var(--py) - 12px)) rotate(-.5deg)}}
@keyframes hpf5{
  0%,100%{transform:translate(var(--px),calc(var(--py) + 0px)) rotate(-1deg)}
  50%{transform:translate(var(--px),calc(var(--py) - 9px)) rotate(1.4deg)}}
.hp-1{animation:hpf1  9s ease-in-out infinite}
.hp-2{animation:hpf2 12s ease-in-out infinite .8s}
.hp-4{animation:hpf4 10.5s ease-in-out infinite .3s}
.hp-5{animation:hpf5 13s ease-in-out infinite 1.8s}

/* Mobile — 2 cartes max, canvas désactivé */
@media(max-width:640px){
  .hp-2,.hp-5{display:none}
  .hp{border-radius:11px}
  .hp-1{width:76px;height:107px;left:0;top:16%}
  .hp-4{width:76px;height:107px;right:0;top:13%}
  .hp.show{opacity:.5}
  #hp-lines-canvas{display:none}
}
@media(max-width:400px){
  .hp-1,.hp-4{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hp,.hp img{animation:none!important;transition:opacity .3s!important}
  .hp-2,.hp-5{display:none}
  #hp-lines-canvas{display:none}
}

/* Scroll reveal */
.sr{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.8,.3,1),transform .6s cubic-bezier(.2,.8,.3,1)}
.sr.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.sr{opacity:1;transform:none;transition:none}}
/* Social counter */
.social-counter{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:rgba(245,237,224,.55);
  margin-top:8px;
}
.sc-dot{width:6px;height:6px;border-radius:50%;background:#25d366;animation:scBlink 2s ease-in-out infinite}
@keyframes scBlink{0%,100%{opacity:1}50%{opacity:.4}}
/* WA texte responsive */
.wa-short{display:none}
@media(max-width:380px){.wa-long{display:none}.wa-short{display:inline}}

/* Social proof mini grid responsive */
@media(max-width:680px){
  .spn-reviews-grid{grid-template-columns:1fr!important}
}
@media(min-width:681px) and (max-width:900px){
  .spn-reviews-grid{grid-template-columns:1fr 1fr!important}
}

/* ── 3 Univers ── */
.univers-section{padding:48px 20px 40px;max-width:1000px;margin:0 auto}
.univers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.univers-card{
  position:relative;overflow:hidden;
  border-radius:18px;padding:32px 24px 28px;
  border:1px solid rgba(245,237,224,.07);
  background:rgba(245,237,224,.03);
  display:flex;flex-direction:column;gap:10px;
  text-decoration:none;color:inherit;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.univers-card::before{
  content:'';position:absolute;inset:0;
  opacity:0;transition:opacity .3s;
  background:var(--uc-glow);
}
.univers-card:hover{transform:translateY(-4px);border-color:var(--uc-color);box-shadow:0 16px 48px rgba(0,0,0,.35)}
.univers-card:hover::before{opacity:1}
.uc-emoji{font-size:32px;line-height:1}
.uc-title{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text);margin-top:4px}
.uc-subs{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.uc-sub{font-size:13px;color:var(--muted);padding-left:12px;position:relative}
.uc-sub::before{content:'·';position:absolute;left:2px;color:var(--uc-color);opacity:.7}
.uc-cta{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:auto;padding-top:14px;
  font-size:13px;font-weight:700;color:var(--uc-color);
  letter-spacing:.01em;text-transform:uppercase;
}
.uc-corporate{--uc-color:#3b82f6;--uc-glow:radial-gradient(ellipse at 0% 0%,rgba(59,130,246,.08),transparent 60%)}
.uc-danse{--uc-color:#e63946;--uc-glow:radial-gradient(ellipse at 0% 0%,rgba(230,57,70,.08),transparent 60%)}
.uc-outdoor{--uc-color:#22c55e;--uc-glow:radial-gradient(ellipse at 0% 0%,rgba(34,197,94,.08),transparent 60%)}
.uc-badge{
  position:absolute;top:14px;right:14px;
  font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;
  background:rgba(59,130,246,.15);color:#3b82f6;border:1px solid rgba(59,130,246,.3);
}
@media(max-width:640px){
  .univers-grid{grid-template-columns:1fr}
  .univers-card{padding:24px 20px 20px}
}
@media(min-width:641px) and (max-width:900px){
  .univers-grid{grid-template-columns:1fr 1fr}
  .univers-card:last-child{grid-column:span 2}
}

/* ── Birthday banner ── */
.birthday-banner{
  margin:0 20px 8px;border-radius:16px;
  background:linear-gradient(135deg,rgba(230,57,70,.12),rgba(131,56,236,.12));
  border:1px solid rgba(230,57,70,.25);
  padding:20px 24px;display:flex;align-items:center;gap:16px;
  text-decoration:none;color:inherit;
  transition:transform .2s,box-shadow .2s;
  max-width:960px;margin-left:auto;margin-right:auto;
}
.birthday-banner:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(230,57,70,.15)}
.bb-emoji{font-size:36px;flex-shrink:0}
.bb-content{flex:1}
.bb-title{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.bb-sub{font-size:13px;color:var(--muted);margin-top:4px}
.bb-cta{
  flex-shrink:0;padding:10px 18px;border-radius:24px;
  background:linear-gradient(135deg,#e63946,#8338ec);
  color:#fff;font-size:13px;font-weight:700;letter-spacing:.01em;
  white-space:nowrap;
}
@media(max-width:540px){
  .birthday-banner{flex-wrap:wrap;gap:12px}
  .bb-cta{width:100%;text-align:center}
}

/* ── Cours d'essai band ── */
.essai-band{
  position:relative;z-index:10;
  background:linear-gradient(135deg,rgba(232,160,48,.07),rgba(230,57,70,.05));
  border-top:1px solid rgba(232,160,48,.12);
  border-bottom:1px solid rgba(232,160,48,.1);
  padding:28px 20px;
}
.essai-inner{
  max-width:900px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.essai-left{flex:1;min-width:220px}
.essai-chip{
  display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  color:var(--gold);background:rgba(232,160,48,.12);border:1px solid rgba(232,160,48,.25);
  padding:3px 10px;border-radius:20px;margin-bottom:10px;
}
.essai-h{font-size:clamp(22px,3.5vw,32px);font-weight:900;letter-spacing:-.03em;line-height:1.1}
.essai-h strong{color:var(--gold)}
.essai-p{font-size:13px;color:var(--muted);margin-top:6px}
.essai-right{display:flex;gap:12px;flex-wrap:wrap;align-items:center;flex-shrink:0}
.essai-btn-gold{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:13px;
  background:linear-gradient(135deg,#e8a030,#c87a10);color:#000;
  font-size:15px;font-weight:800;text-decoration:none;
  box-shadow:0 4px 24px rgba(232,160,48,.35);
  transition:opacity .2s,transform .15s;letter-spacing:.01em;white-space:nowrap;
}
.essai-btn-gold:hover{opacity:.88;transform:translateY(-2px)}
.essai-btn-wa{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:13px;
  background:rgba(245,237,224,.06);border:1px solid rgba(245,237,224,.15);
  color:var(--text);font-size:14px;font-weight:700;text-decoration:none;
  transition:all .2s;white-space:nowrap;
}
.essai-btn-wa:hover{background:rgba(245,237,224,.1);border-color:rgba(245,237,224,.3)}
@media(max-width:600px){.essai-right{width:100%}.essai-btn-gold,.essai-btn-wa{flex:1;justify-content:center}}

/* ── Planning semaine ── */
.semaine-section{padding:48px 0 40px;position:relative;z-index:10}
.semaine-scroll{
  display:flex;gap:10px;overflow-x:auto;padding:4px 20px 12px;
  scrollbar-width:none;
  max-width:1000px;margin:0 auto;
}
.semaine-scroll::-webkit-scrollbar{display:none}
.jour-card{
  flex:0 0 auto;min-width:140px;max-width:160px;
  background:rgba(245,237,224,.03);border:1px solid rgba(245,237,224,.07);
  border-radius:14px;padding:14px;
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .2s,box-shadow .2s;
}
.jour-card.today{
  background:rgba(232,160,48,.06);
  border-color:rgba(232,160,48,.35);
  box-shadow:0 0 20px rgba(232,160,48,.1);
}
.jour-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.today .jour-label{color:var(--gold)}
.jour-label:not(.today .jour-label){color:var(--muted)}
.jour-today-badge{
  display:inline-block;font-size:9px;font-weight:700;
  background:var(--gold);color:#000;padding:1px 7px;border-radius:10px;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;
}
.jour-sessions{display:flex;flex-direction:column;gap:4px;flex:1}
.sess{
  font-size:11px;line-height:1.3;
  padding:4px 6px;border-radius:6px;
}
.sess-cours{background:rgba(232,160,48,.08);color:var(--text)}
.sess-social{background:rgba(6,214,160,.07);color:#06d6a0;font-weight:600}
.sess-pratique{background:rgba(245,237,224,.04);color:var(--muted)}
.sess-time{font-weight:700;color:var(--gold);font-size:10px}
.jour-cta{
  display:block;text-align:center;padding:7px;border-radius:8px;
  background:rgba(232,160,48,.12);border:1px solid rgba(232,160,48,.25);
  color:var(--gold);font-size:11px;font-weight:700;text-decoration:none;
  transition:all .2s;
}
.jour-card.today .jour-cta{background:rgba(232,160,48,.2);border-color:rgba(232,160,48,.5)}
.jour-cta:hover{background:rgba(232,160,48,.25);border-color:rgba(232,160,48,.6)}
.semaine-lieu{
  text-align:center;margin-top:14px;
  font-size:12px;color:var(--muted);
}
.semaine-lieu a{color:var(--gold);text-decoration:none}
@media(max-width:640px){
  .jour-card{min-width:120px}
}

/* ── Preuves sociales ── */
.proof-section{position:relative;z-index:10;padding:48px 0 40px}
.proof-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(245,237,224,.05);border:1px solid rgba(245,237,224,.07);
  border-radius:16px;overflow:hidden;margin-bottom:40px;
}
.proof-metric{
  padding:32px 24px;text-align:center;background:rgba(9,5,14,.5);
}
.pm-num{
  font-size:clamp(36px,5.5vw,64px);font-weight:900;letter-spacing:-.05em;
  background:linear-gradient(135deg,var(--gold),rgba(245,237,224,.9));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}
.pm-label{font-size:11px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}
.proof-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:32px}
.review-card{
  background:rgba(245,237,224,.03);border:1px solid rgba(245,237,224,.07);
  border-radius:14px;padding:20px;
}
.rc-stars{font-size:14px;margin-bottom:8px;letter-spacing:2px}
.rc-text{font-size:13px;color:rgba(245,237,224,.7);line-height:1.6;font-style:italic}
.rc-author{font-size:11px;color:var(--muted);margin-top:10px;font-weight:600}
.rc-disc{font-size:10px;color:var(--muted2);text-transform:uppercase;letter-spacing:.06em}
.proof-cta{text-align:center}
.proof-cta a{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:10px;
  border:1px solid rgba(232,160,48,.3);
  color:var(--gold);font-size:13px;font-weight:700;text-decoration:none;
  background:rgba(232,160,48,.06);transition:all .2s;
}
.proof-cta a:hover{background:rgba(232,160,48,.12);border-color:rgba(232,160,48,.55)}
.proof-insta{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:32px;
}
.insta-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:24px;border:1px solid rgba(245,237,224,.08);
  color:var(--muted);font-size:12px;font-weight:600;text-decoration:none;
  transition:all .2s;background:rgba(245,237,224,.03);
}
.insta-pill:hover{border-color:rgba(232,160,48,.3);color:var(--text);background:rgba(232,160,48,.06)}
@media(max-width:640px){
  .proof-metrics{grid-template-columns:repeat(2,1fr)}
  .proof-reviews{grid-template-columns:1fr}
}

/* ── Announcement bar urgence ── */
#announce-bar{
  position:fixed;top:0;left:0;right:0;z-index:10000;
  background:linear-gradient(90deg,#c41c26,#e63946,#c41c26);
  color:#fff;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:8px 16px;text-align:center;letter-spacing:.01em;
  animation:announceIn .5s ease;
}
@keyframes announceIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
#announce-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
#announce-bar .ab-close{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  cursor:pointer;opacity:.6;font-size:18px;line-height:1;padding:4px;
}
#announce-bar .ab-close:hover{opacity:1}
body.has-announce{padding-top:36px}
@media(max-width:640px){#announce-bar{font-size:11px;padding:7px 36px 7px 12px}}

/* ── Social proof strip ── */
.spn-proof-strip{
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
  padding:14px 20px;background:rgba(245,237,224,.03);
  border-top:1px solid rgba(245,237,224,.06);border-bottom:1px solid rgba(245,237,224,.06);
  font-size:13px;color:rgba(245,237,224,.7);
}
.spn-proof-strip .ps-item{display:flex;align-items:center;gap:6px;font-weight:600}
.spn-proof-strip .ps-item span{color:var(--gold)}
@media(max-width:520px){.spn-proof-strip{gap:14px;font-size:12px}}

/* ── WA hero button ── */
.hc-wa-v2{
  background:linear-gradient(135deg,#1da851,#25d366);
  color:#fff!important;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  font-weight:800!important;
  border:none!important;
}
.hc-wa-v2:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 28px rgba(37,211,102,.55)}

/* ── Sticky booking strip ── */
#sticky-book{
  position:fixed;bottom:0;left:0;right:0;z-index:9990;
  background:rgba(9,5,14,.97);border-top:1px solid rgba(232,160,48,.25);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:10px 16px;transform:translateY(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
#sticky-book.visible{transform:translateY(0)}
#sticky-book .sb-text{font-size:13px;color:rgba(245,237,224,.6);flex:1;text-align:left}
#sticky-book .sb-cta{
  flex-shrink:0;padding:10px 20px;border-radius:10px;
  font-size:13px;font-weight:800;text-decoration:none;
  background:linear-gradient(135deg,#e8a030,#c87a10);color:#000;
  white-space:nowrap;
}
#sticky-book .sb-wa{
  flex-shrink:0;padding:10px 16px;border-radius:10px;
  font-size:13px;font-weight:700;text-decoration:none;
  background:rgba(37,211,102,.12);color:#25d366;
  border:1px solid rgba(37,211,102,.25);white-space:nowrap;
}
@media(max-width:640px){#sticky-book{display:none}}

/* ── WA sticky pulse ── */
#wa-sticky::before{
  content:'';position:absolute;inset:-6px;border-radius:50%;
  background:rgba(37,211,102,.25);animation:waPulse 2.2s ease-out infinite;
}
@keyframes waPulse{
  0%{transform:scale(1);opacity:.6}
  70%{transform:scale(1.5);opacity:0}
  100%{transform:scale(1.5);opacity:0}
}

/* ── Exit intent modal ── */
#exit-modal{
  position:fixed;inset:0;z-index:99999;display:none;
  align-items:center;justify-content:center;
  background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
}
#exit-modal.open{display:flex}
.em-box{
  background:#14121e;border:1px solid rgba(232,160,48,.25);
  border-radius:20px;padding:36px 32px;max-width:460px;width:90%;
  text-align:center;animation:emIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes emIn{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}
.em-emoji{font-size:3rem;margin-bottom:12px}
.em-title{font-size:1.4rem;font-weight:800;color:var(--text);margin-bottom:8px;line-height:1.2}
.em-sub{font-size:.9rem;color:rgba(245,237,224,.55);margin-bottom:24px;line-height:1.5}
.em-ctas{display:flex;flex-direction:column;gap:10px}
.em-wa{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px;border-radius:12px;font-size:15px;font-weight:800;
  background:linear-gradient(135deg,#1da851,#25d366);color:#fff;
  text-decoration:none;transition:opacity .2s;
}
.em-wa:hover{opacity:.9}
.em-dismiss{
  font-size:13px;color:rgba(245,237,224,.3);cursor:pointer;
  background:none;border:none;padding:4px;margin-top:4px;
}
.em-dismiss:hover{color:rgba(245,237,224,.6)}
/* ── Guide rapide — 4 actions pour nouveaux visiteurs ── */
.action-guide{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  max-width:900px;
  margin:20px auto 0;
  padding:0 20px;
}
.ag-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:6px;padding:18px 12px;border-radius:16px;
  text-decoration:none;color:var(--text);
  border:1px solid rgba(245,237,224,.08);
  background:rgba(245,237,224,.03);
  transition:all .22s;
}
.ag-card:hover{transform:translateY(-3px);border-color:rgba(245,237,224,.18);background:rgba(245,237,224,.06)}
.ag-emoji{font-size:28px;display:block;line-height:1;margin-bottom:2px}
.ag-label{font-size:14px;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.ag-sub{font-size:11px;color:var(--muted);line-height:1.4}
.ag-soirees{border-color:rgba(232,160,48,.2);background:rgba(232,160,48,.05)}
.ag-soirees:hover{border-color:rgba(232,160,48,.45);background:rgba(232,160,48,.12)}
.ag-cours{border-color:rgba(230,57,70,.2);background:rgba(230,57,70,.05)}
.ag-cours:hover{border-color:rgba(230,57,70,.45);background:rgba(230,57,70,.1)}
.ag-wa{border-color:rgba(37,211,102,.2);background:rgba(37,211,102,.04)}
.ag-wa:hover{border-color:rgba(37,211,102,.45);background:rgba(37,211,102,.1)}
.ag-wa .ag-label{color:#25d366}
.ag-agenda{border-color:rgba(59,130,246,.2);background:rgba(59,130,246,.04)}
.ag-agenda:hover{border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.1)}
@media(max-width:680px){
  .action-guide{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px}
  .ag-card{padding:14px 10px}
  .ag-emoji{font-size:24px}
  .ag-label{font-size:13px}
}

/* ════════════════════════════════════════════════════
   PORTAIL 6 UNIVERS — Design immersif
   ════════════════════════════════════════════════════ */

.portal-section{position:relative;z-index:10;padding:0 20px 56px}
.portal-intro{text-align:center;margin-bottom:36px}
.portal-intro h2{font-size:clamp(26px,4vw,38px);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:8px}
.portal-intro p{font-size:14px;color:var(--muted);line-height:1.6}

/* Grid : 2 cols desktop, 1 col mobile */
.portal-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  max-width:1000px;margin:0 auto;
}
/* Primary cards (J'apprends + Je sors) : row 1, plus hautes */
.portal-card.portal-primary{
  grid-column:span 1;
  min-height:400px;
}
.portal-card{
  position:relative;overflow:hidden;
  border-radius:22px;min-height:300px;
  display:flex;flex-direction:column;justify-content:flex-end;
  text-decoration:none;color:#fff;
  transition:transform .3s cubic-bezier(.18,.85,.3,1),box-shadow .3s;
  will-change:transform;
}
.portal-card:hover{transform:translateY(-10px) scale(1.01);box-shadow:0 36px 80px rgba(0,0,0,.65),0 0 0 1.5px rgba(255,255,255,.12)}

/* Couche fond dégradé par univers */
.pc-bg{position:absolute;inset:0;border-radius:22px;transition:opacity .3s}
.pc-apprends .pc-bg{background:linear-gradient(150deg,rgba(200,40,20,.72) 0%,rgba(230,57,70,.55) 40%,rgba(180,60,10,.45) 100%)}
.pc-sors    .pc-bg{background:linear-gradient(150deg,rgba(180,80,10,.72) 0%,rgba(232,160,48,.55) 40%,rgba(140,20,20,.45) 100%)}
.pc-corp    .pc-bg{background:linear-gradient(150deg,rgba(20,50,170,.72) 0%,rgba(59,130,246,.52) 50%,rgba(10,30,100,.45) 100%)}
.pc-comm    .pc-bg{background:linear-gradient(150deg,rgba(15,100,50,.72) 0%,rgba(37,211,102,.45) 50%,rgba(200,30,30,.4) 100%)}
.pc-bnf     .pc-bg{background:linear-gradient(150deg,rgba(5,70,50,.78) 0%,rgba(6,214,160,.5) 50%,rgba(80,20,150,.42) 100%)}
.pc-disc    .pc-bg{background:linear-gradient(150deg,rgba(180,30,40,.55) 0%,rgba(100,40,200,.5) 45%,rgba(200,120,10,.48) 100%)}

/* Couche bruit pour profondeur */
.pc-noise{
  position:absolute;inset:0;border-radius:22px;
  opacity:.55;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
}

/* Bord interne premium */
.portal-card::before{
  content:'';position:absolute;inset:0;border-radius:22px;z-index:4;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.15);
  transition:box-shadow .3s;
}
.portal-card:hover::before{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.25)}

/* Grand emoji flottant */
.pc-emoji{
  position:absolute;top:20px;right:22px;z-index:2;
  font-size:72px;line-height:1;
  opacity:.18;transform:rotate(8deg);
  transition:opacity .35s,transform .35s;
  pointer-events:none;filter:drop-shadow(0 4px 20px rgba(0,0,0,.3));
}
.portal-primary .pc-emoji{font-size:96px;top:18px;right:20px}
.portal-card:hover .pc-emoji{opacity:.28;transform:rotate(3deg) scale(1.06)}

/* Pills en haut à gauche */
.pc-pills{
  position:absolute;top:20px;left:20px;z-index:3;
  display:flex;flex-direction:column;gap:5px;
}
.pc-pill{
  display:inline-block;font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.88);width:fit-content;
  backdrop-filter:blur(10px);
}

/* Disciplines micro-pills (dans pc-apprends + pc-disc) */
.pc-micro-row{
  position:absolute;bottom:108px;left:20px;right:20px;z-index:3;
  display:flex;flex-wrap:wrap;gap:5px;
}
.portal-primary .pc-micro-row{bottom:130px}
.pc-micro-pill{
  font-size:10px;font-weight:600;
  padding:3px 9px;border-radius:12px;
  background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.8);
  backdrop-filter:blur(8px);white-space:nowrap;
}

/* Bande contenu bas */
.pc-content{
  position:relative;z-index:3;
  padding:22px 22px 24px;
  background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.48) 55%,transparent 100%);
  border-radius:0 0 22px 22px;
}
.portal-primary .pc-content{padding:28px 26px 28px}
.pc-eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:6px}
.pc-title{font-size:clamp(20px,2.5vw,26px);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:6px}
.portal-primary .pc-title{font-size:clamp(24px,3vw,32px)}
.pc-desc{font-size:12px;opacity:.65;line-height:1.5;margin-bottom:16px;max-width:300px}
.portal-primary .pc-desc{font-size:13px;margin-bottom:20px}

/* CTA Button */
.pc-cta{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 20px;border-radius:11px;font-size:13px;font-weight:800;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);
  color:#fff;backdrop-filter:blur(14px);
  transition:background .2s,border-color .2s,transform .2s;
  width:fit-content;cursor:pointer;letter-spacing:.01em;
}
.portal-primary .pc-cta{padding:12px 26px;font-size:14px}
.portal-card:hover .pc-cta{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.42);transform:translateX(4px)}

/* Couleur accent CTA par univers */
.pc-apprends .pc-cta{background:rgba(230,57,70,.38);border-color:rgba(230,57,70,.65)}
.pc-apprends:hover .pc-cta{background:rgba(230,57,70,.58)}
.pc-sors .pc-cta{background:rgba(232,160,48,.3);border-color:rgba(232,160,48,.6)}
.pc-sors:hover .pc-cta{background:rgba(232,160,48,.52)}
.pc-corp .pc-cta{background:rgba(59,130,246,.32);border-color:rgba(59,130,246,.6)}
.pc-corp:hover .pc-cta{background:rgba(59,130,246,.52)}
.pc-comm .pc-cta{background:rgba(37,211,102,.28);border-color:rgba(37,211,102,.55)}
.pc-comm:hover .pc-cta{background:rgba(37,211,102,.45)}
.pc-bnf .pc-cta{background:rgba(6,214,160,.28);border-color:rgba(6,214,160,.55)}
.pc-bnf:hover .pc-cta{background:rgba(6,214,160,.45)}
.pc-disc .pc-cta{background:rgba(232,160,48,.28);border-color:rgba(232,160,48,.55)}
.pc-disc:hover .pc-cta{background:rgba(232,160,48,.45)}

/* Responsive */
@media(max-width:680px){
  .portal-grid{grid-template-columns:1fr;gap:10px}
  .portal-card,.portal-card.portal-primary{min-height:240px}
  .pc-emoji{font-size:52px}
  .portal-primary .pc-emoji{font-size:68px}
  .pc-content,.portal-primary .pc-content{padding:18px 18px 20px}
  .pc-micro-row,.portal-primary .pc-micro-row{bottom:96px}
}
@media(min-width:681px) and (max-width:900px){
  .portal-card{min-height:260px}
  .portal-card.portal-primary{min-height:340px}
}
@media(prefers-reduced-motion:reduce){
  .portal-card,.pc-emoji,.pc-cta{transition:none!important;transform:none!important}
}

/* ════════════════════════════════════════════════════
   NOUVELLES SECTIONS PREMIUM v2
   ════════════════════════════════════════════════════ */

/* ── Pourquoi SPN ── */
.why-spn{position:relative;z-index:10;padding:72px 20px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:960px;margin:0 auto}
.why-card{
  background:rgba(245,237,224,.025);border:1px solid rgba(245,237,224,.07);
  border-radius:18px;padding:28px 22px;
  transition:transform .28s cubic-bezier(.2,.8,.3,1),border-color .28s,box-shadow .28s;
}
.why-card:hover{transform:translateY(-8px) scale(1.01);border-color:rgba(232,160,48,.35);box-shadow:0 28px 70px rgba(0,0,0,.55),0 0 0 1px rgba(232,160,48,.12)}
.why-icon{font-size:30px;margin-bottom:12px;display:block}
.why-title{font-size:15px;font-weight:800;letter-spacing:-.01em;margin-bottom:7px;color:var(--text)}
.why-desc{font-size:13px;color:var(--muted);line-height:1.65}
.why-badge{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:2px 9px;border-radius:20px;margin-top:10px;
}
@media(max-width:680px){.why-grid{grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:420px){.why-grid{grid-template-columns:1fr}}

/* ── Disciplines premium cards ── */
.disc-premium-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:14px;max-width:1000px;margin:0 auto;
}
.disc-pcard{
  position:relative;overflow:hidden;
  background:rgba(245,237,224,.025);border:1px solid rgba(245,237,224,.07);
  border-radius:20px;padding:26px 22px 22px;
  text-decoration:none;color:var(--text);
  display:flex;flex-direction:column;gap:5px;
  transition:transform .28s cubic-bezier(.2,.8,.3,1),border-color .28s,box-shadow .28s;
  min-height:190px;
}
.disc-pcard::before{
  content:'';position:absolute;inset:0;border-radius:20px;
  background:var(--dpc-glow,rgba(232,160,48,.1));opacity:0;transition:opacity .3s;
}
.disc-pcard:hover{transform:translateY(-7px) scale(1.02);border-color:var(--dpc-color,rgba(232,160,48,.4));box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px var(--dpc-color,rgba(232,160,48,.15))}
.disc-pcard:hover::before{opacity:1}
.dpc-emoji{font-size:30px;line-height:1;margin-bottom:6px}
.dpc-name{font-size:16px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.dpc-sub{font-size:12px;color:var(--muted);line-height:1.45;flex:1}
.dpc-cta{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:auto;padding-top:12px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--dpc-color,rgba(245,237,224,.4));
  border-top:1px solid rgba(245,237,224,.05);
  transition:color .22s;
}
.disc-pcard:hover .dpc-cta{color:var(--dpc-color,var(--gold))}
/* ── Discipline identity: accent bar + mood tag ── */
.disc-pcard::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--dpc-color,#e8a030);border-radius:18px 18px 0 0;opacity:.28;transition:opacity .3s ease}
.disc-pcard:hover::after{opacity:.85}
.dpc-mood{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dpc-color,var(--gold));opacity:.6;margin-bottom:3px;transition:opacity .2s}
.disc-pcard:hover .dpc-mood{opacity:1}
@media(max-width:580px){.disc-premium-grid{grid-template-columns:repeat(2,1fr);gap:10px}.disc-pcard{padding:18px 14px 16px;min-height:auto}}

/* ── BNF Outdoor premium ── */
.bnf-premium{
  position:relative;z-index:10;overflow:hidden;
  background:
    radial-gradient(ellipse 100% 60% at 50% -5%,rgba(6,214,160,.07),transparent 55%),
    radial-gradient(ellipse 60% 50% at 90% 90%,rgba(34,197,94,.05),transparent 50%),
    radial-gradient(ellipse 50% 40% at 5% 80%,rgba(6,214,160,.04),transparent 45%),
    linear-gradient(180deg,rgba(6,214,160,.03) 0%,rgba(9,5,14,0) 100%);
  border-top:1px solid rgba(6,214,160,.15);
  border-bottom:1px solid rgba(6,214,160,.12);
  padding:80px 20px;
}
.bnf-premium::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(131,56,236,.07),transparent 70%);
  pointer-events:none;
}
.bnf-prem-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.bnf-prem-title{font-size:clamp(28px,4.5vw,44px);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:14px}
.bnf-prem-title em{font-style:normal;background:linear-gradient(135deg,#22c55e,#06d6a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.bnf-prem-desc{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:22px}
.bnf-prem-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.bnf-fact{
  display:flex;align-items:center;gap:7px;
  font-size:12px;font-weight:600;
  background:rgba(6,214,160,.07);border:1px solid rgba(6,214,160,.2);
  border-radius:9px;padding:6px 13px;color:rgba(6,214,160,.9);
}
.bnf-prem-ctas{display:flex;gap:12px;flex-wrap:wrap}
.bnf-cta-main{
  display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:12px;
  background:rgba(6,214,160,.12);border:1px solid rgba(6,214,160,.35);
  color:#06d6a0;font-size:14px;font-weight:800;text-decoration:none;transition:all .2s;
}
.bnf-cta-main:hover{background:rgba(6,214,160,.22);border-color:rgba(6,214,160,.6)}
.bnf-cta-sec{
  display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;
  background:rgba(245,237,224,.05);border:1px solid rgba(245,237,224,.12);
  color:rgba(245,237,224,.7);font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;
}
.bnf-cta-sec:hover{background:rgba(245,237,224,.09);border-color:rgba(245,237,224,.25)}
.bnf-prem-visual{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bnf-vis-card{
  background:rgba(131,56,236,.08);border:1px solid rgba(131,56,236,.18);
  border-radius:14px;padding:18px 14px;text-align:center;
}
.bnf-vis-num{font-size:26px;font-weight:900;color:#06d6a0;letter-spacing:-.03em}
.bnf-vis-label{font-size:10px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}
.bnf-vis-card.bnf-vis-full{grid-column:span 2;background:rgba(6,214,160,.06);border-color:rgba(6,214,160,.18)}
.bnf-vis-card.bnf-vis-full .bnf-vis-num{color:#06d6a0}
@media(max-width:700px){.bnf-prem-inner{grid-template-columns:1fr;gap:32px}.bnf-prem-visual{display:none}}

/* ── Corporate premium ── */
.corp-premium{position:relative;z-index:10;padding:80px 20px;background:rgba(59,130,246,.02);border-top:1px solid rgba(59,130,246,.1)}
.corp-premium::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.55) 30%,rgba(147,197,253,.75) 50%,rgba(59,130,246,.55) 70%,transparent);pointer-events:none}
.corp-kpi-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.15);
  border-radius:16px;overflow:hidden;margin-bottom:36px;
}
.corp-kpi{padding:20px;text-align:center;background:rgba(9,5,14,.6)}
.corp-kpi-num{font-size:clamp(20px,3vw,30px);font-weight:900;letter-spacing:-.04em;color:#60a5fa}
.corp-kpi-label{font-size:10px;color:rgba(96,165,250,.55);margin-top:4px;text-transform:uppercase;letter-spacing:.08em}
.corp-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:32px}
.corp-offer{
  background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.14);
  border-radius:16px;padding:22px 18px;
  transition:transform .22s,border-color .22s;
}
.corp-offer:hover{transform:translateY(-3px);border-color:rgba(59,130,246,.3)}
.corp-offer-icon{font-size:26px;margin-bottom:10px;display:block}
.corp-offer-name{font-size:14px;font-weight:800;color:var(--text);margin-bottom:7px;letter-spacing:-.01em}
.corp-offer-desc{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:10px}
.corp-offer-price{font-size:12px;font-weight:700;color:#60a5fa;letter-spacing:.02em}
.corp-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.corp-cta-main{
  display:inline-flex;align-items:center;gap:8px;padding:14px 32px;
  background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.4);border-radius:13px;
  color:#60a5fa;font-size:15px;font-weight:800;text-decoration:none;transition:all .2s;
}
.corp-cta-main:hover{background:rgba(59,130,246,.28);border-color:rgba(59,130,246,.65)}
.corp-cta-sec{
  display:inline-flex;align-items:center;gap:8px;padding:14px 24px;
  background:rgba(245,237,224,.04);border:1px solid rgba(245,237,224,.12);border-radius:13px;
  color:rgba(245,237,224,.65);font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;
}
.corp-cta-sec:hover{background:rgba(245,237,224,.08);border-color:rgba(245,237,224,.22)}
@media(max-width:680px){.corp-kpi-row{grid-template-columns:repeat(2,1fr)}.corp-offers{grid-template-columns:1fr}}
@media(min-width:681px) and (max-width:900px){.corp-offers{grid-template-columns:1fr 1fr}.corp-offer:last-child{grid-column:span 2}}

/* ── Newsletter ── */
.newsletter-section{
  position:relative;z-index:10;
  background:linear-gradient(135deg,rgba(232,160,48,.06),rgba(200,80,30,.04));
  border-top:1px solid rgba(232,160,48,.1);border-bottom:1px solid rgba(232,160,48,.08);
  padding:72px 20px;text-align:center;
}
.nl-title{font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:-.04em;margin-bottom:12px;line-height:1.05}
.nl-sub{font-size:15px;color:var(--muted);line-height:1.7;max-width:480px;margin:0 auto 30px}
.nl-form{display:flex;gap:10px;max-width:460px;margin:0 auto;justify-content:center;flex-wrap:wrap}
.nl-input{
  flex:1;min-width:200px;padding:12px 18px;
  background:rgba(245,237,224,.06);border:1px solid rgba(232,160,48,.25);
  border-radius:12px;color:var(--text);font-family:'Inter',sans-serif;font-size:14px;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.nl-input:focus{border-color:rgba(232,160,48,.7);box-shadow:0 0 0 2px rgba(232,160,48,.12)}
.nl-input::placeholder{color:var(--muted2)}
.nl-btn{
  padding:12px 24px;background:linear-gradient(135deg,#e8a030,#c87a10);
  color:#000;font-size:14px;font-weight:800;border:none;border-radius:12px;
  cursor:pointer;font-family:'Inter',sans-serif;transition:opacity .2s,transform .15s;
  white-space:nowrap;
}
.nl-btn:hover{opacity:.88;transform:translateY(-1px)}
.nl-perks{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.nl-perk{font-size:12px;color:rgba(245,237,224,.4);display:flex;align-items:center;gap:5px}
.nl-perk::before{content:'✓';color:rgba(232,160,48,.7);font-weight:700}
#nl-success{display:none;color:#06d6a0;font-size:14px;font-weight:700;margin-top:16px;animation:hero-in .5s ease}
@media(max-width:480px){.nl-form{flex-direction:column}.nl-input,.nl-btn{width:100%}}

/* ── 8 Disciplines Badges Strip — above the fold ── */
.disc-badges-strip{
  position:relative;z-index:10;
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
  padding:20px 24px;
  background:rgba(9,5,14,.96);
  border-bottom:1px solid rgba(245,237,224,.07);
}
.db-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 18px;border-radius:100px;
  font-size:13px;font-weight:700;
  text-decoration:none;
  border:1.5px solid rgba(245,237,224,.1);
  background:rgba(245,237,224,.04);
  color:rgba(245,237,224,.75);
  transition:all .2s;white-space:nowrap;
  letter-spacing:.01em;
}
.db-badge:hover{transform:translateY(-2px)}
.db-salsa{border-color:rgba(230,57,70,.35);color:#ff8a94}
.db-salsa:hover{background:rgba(230,57,70,.1);border-color:rgba(230,57,70,.65)}
.db-bachata{border-color:rgba(231,111,81,.35);color:#f4a070}
.db-bachata:hover{background:rgba(231,111,81,.1);border-color:rgba(231,111,81,.65)}
.db-kiz{border-color:rgba(131,56,236,.35);color:#c77dff}
.db-kiz:hover{background:rgba(131,56,236,.1);border-color:rgba(131,56,236,.65)}
.db-fitness{border-color:rgba(6,214,160,.35);color:#06d6a0}
.db-fitness:hover{background:rgba(6,214,160,.1);border-color:rgba(6,214,160,.65)}
.db-bnf{border-color:rgba(34,197,94,.35);color:#4ade80}
.db-bnf:hover{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.65)}
.db-comm{border-color:rgba(37,211,102,.35);color:#25d366}
.db-comm:hover{background:rgba(37,211,102,.1);border-color:rgba(37,211,102,.65)}
.db-corp{border-color:rgba(59,130,246,.35);color:#60a5fa}
.db-corp:hover{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.65)}
@media(max-width:680px){
  .disc-badges-strip{gap:8px;padding:16px 12px}
  .db-badge{font-size:12px;padding:8px 14px}
}
@media(max-width:420px){
  .disc-badges-strip{gap:6px;padding:12px 8px}
  .db-badge{font-size:11px;padding:7px 12px}
}

/* ── Portal card — photo background ── */
.pc-photo{
  position:absolute;inset:0;border-radius:22px;
  background-size:cover;background-position:center;
}
/* pc-fitness */
.pc-fitness .pc-bg{background:linear-gradient(150deg,rgba(0,90,70,.82) 0%,rgba(6,214,160,.55) 45%,rgba(0,60,40,.55) 100%)}
.pc-fitness .pc-cta{background:rgba(6,214,160,.28);border-color:rgba(6,214,160,.55)}
.pc-fitness:hover .pc-cta{background:rgba(6,214,160,.48)}
/* pc-sono */
.pc-sono .pc-bg{background:linear-gradient(150deg,rgba(40,10,120,.82) 0%,rgba(131,56,236,.55) 45%,rgba(160,80,5,.5) 100%)}
.pc-sono .pc-cta{background:rgba(131,56,236,.28);border-color:rgba(131,56,236,.55)}
.pc-sono:hover .pc-cta{background:rgba(131,56,236,.48)}

/* ══════════════════════════════════════════════════
   TÉMOIGNAGES PREMIUM — Preuves sociales enrichies
   ══════════════════════════════════════════════════ */
.testi-section{position:relative;z-index:10;padding:80px 20px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:0 auto}
.testi-card{
  background:rgba(245,237,224,.025);border:1px solid rgba(245,237,224,.08);
  border-radius:20px;padding:28px 22px;
  display:flex;flex-direction:column;gap:12px;
  position:relative;overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.testi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--tc-color,rgba(232,160,48,.7));border-radius:20px 20px 0 0;opacity:.5;transition:opacity .25s}
.testi-card:hover{border-color:rgba(245,237,224,.16);box-shadow:0 16px 44px rgba(0,0,0,.38);transform:translateY(-4px)}
.testi-card:hover::before{opacity:1}
.testi-stars{font-size:14px;letter-spacing:2px;color:#f59e0b;line-height:1}
.testi-quote{font-size:14px;color:rgba(245,237,224,.72);line-height:1.72;font-style:italic;flex:1}
.testi-foot{border-top:1px solid rgba(245,237,224,.06);padding-top:12px;display:flex;align-items:center;gap:10px}
.testi-avatar{
  width:38px;height:38px;border-radius:50%;
  background:var(--tc-bg,rgba(232,160,48,.18));
  border:1.5px solid var(--tc-color,rgba(232,160,48,.4));
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:900;color:rgba(245,237,224,.9);
  flex-shrink:0;
}
.testi-info{flex:1;min-width:0}
.testi-name{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.testi-meta{font-size:10px;color:rgba(245,237,224,.38);text-transform:uppercase;letter-spacing:.07em;margin-top:2px}
.testi-verified{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:rgba(37,211,102,.08);color:rgba(37,211,102,.7);border:1px solid rgba(37,211,102,.18);white-space:nowrap}
@media(max-width:700px){.testi-grid{grid-template-columns:1fr}}
@media(min-width:701px) and (max-width:960px){.testi-grid{grid-template-columns:1fr 1fr}}

/* ══════════════════════════════════════════════════
   LOCATION SONO — Section homepage premium
   ══════════════════════════════════════════════════ */
.sono-homepage{
  position:relative;z-index:10;padding:80px 20px;
  background:linear-gradient(150deg,rgba(50,15,130,.06),rgba(131,56,236,.04),rgba(9,5,14,0) 70%);
  border-top:1px solid rgba(131,56,236,.2);border-bottom:1px solid rgba(131,56,236,.12);
  overflow:hidden;
}
.sono-homepage::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(131,56,236,.6) 25%,rgba(232,160,48,.7) 50%,rgba(131,56,236,.6) 75%,transparent);pointer-events:none}
.sono-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.sono-pack-price{font-size:clamp(48px,7vw,80px);font-weight:900;letter-spacing:-.06em;line-height:1;background:linear-gradient(135deg,#e8a030 0%,#f0b340 40%,#c77dff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sono-pack-unit{font-size:14px;color:var(--muted);font-weight:500;margin-top:6px;letter-spacing:.01em}
.sono-equip{display:flex;flex-direction:column;gap:9px;margin:22px 0 26px}
.sono-equip-item{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(245,237,224,.72)}
.sono-equip-check{width:18px;height:18px;border-radius:50%;background:rgba(131,56,236,.2);border:1px solid rgba(131,56,236,.4);display:flex;align-items:center;justify-content:center;font-size:9px;color:#c77dff;flex-shrink:0;font-weight:800}
.sono-ctas{display:flex;gap:12px;flex-wrap:wrap}
.sono-cta-main{
  display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:13px;
  background:rgba(131,56,236,.15);border:1px solid rgba(131,56,236,.4);
  color:#c77dff;font-size:14px;font-weight:800;text-decoration:none;
  transition:all .2s;letter-spacing:.01em;
}
.sono-cta-main:hover{background:rgba(131,56,236,.28);border-color:rgba(131,56,236,.7);transform:translateY(-2px)}
.sono-cta-wa{
  display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:13px;
  background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.25);
  color:#25d366;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;
}
.sono-cta-wa:hover{background:rgba(37,211,102,.16)}
.sono-visual{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sono-vis-card{background:rgba(131,56,236,.07);border:1px solid rgba(131,56,236,.16);border-radius:14px;padding:20px 14px;text-align:center}
.sono-vis-num{font-size:26px;font-weight:900;color:#c77dff;letter-spacing:-.03em}
.sono-vis-label{font-size:10px;color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.06em;line-height:1.4}
.sono-vis-full{grid-column:span 2;background:rgba(232,160,48,.06);border-color:rgba(232,160,48,.2)}
.sono-vis-full .sono-vis-num{color:var(--gold);font-size:22px}
@media(max-width:700px){.sono-inner{grid-template-columns:1fr;gap:32px}.sono-visual{display:none}}

/* ══════════════════════════════════════════════════
   CORPORATE — Trust logos + témoignage
   ══════════════════════════════════════════════════ */
.corp-trust{text-align:center;margin-bottom:28px}
.corp-trust-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(96,165,250,.4);margin-bottom:16px}
.corp-trust-logos{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:center}
.corp-trust-logo{
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(200,151,58,.7);padding:7px 18px;border:1px solid rgba(200,151,58,.25);
  border-radius:9px;transition:all .2s;
}
.corp-trust-logo:hover{color:rgba(200,151,58,1);border-color:rgba(200,151,58,.55);transform:translateY(-1px)}
.corp-testi-block{
  max-width:680px;margin:0 auto 32px;text-align:center;
  background:rgba(59,130,246,.04);border:1px solid rgba(59,130,246,.14);
  border-radius:18px;padding:26px 30px;position:relative;
}
.corp-testi-block::before{content:'"';position:absolute;top:-12px;left:24px;font-size:72px;color:rgba(59,130,246,.18);font-family:Georgia,serif;line-height:1}
.corp-testi-quote{font-size:14px;color:rgba(245,237,224,.65);line-height:1.72;font-style:italic;margin-bottom:14px}
.corp-testi-name{font-size:12px;font-weight:800;color:rgba(96,165,250,.8)}
.corp-testi-role{font-size:10px;color:rgba(245,237,224,.32);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM UPGRADE V2 — SPN 2026
   Level: Apple · Nike · Airbnb · Fever · Red Bull Events
   Règle: 0 impact SEO · 0 suppression de contenu
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. HERO : TYPOGRAPHIE PREMIUM — lisible, pas overflow ── */
.hero-h1{
  font-family:'Syne',system-ui,sans-serif;
  font-size:clamp(44px,6.5vw,84px);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:.93;
  margin-bottom:28px;
}
.hero-h1 .line1{
  background:linear-gradient(135deg,#ffffff 0%,rgba(245,237,224,.92) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero-h1 .line2{
  background:linear-gradient(135deg,#ffd060 0%,#e8a030 30%,#ff8c42 65%,#f0c040 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* ── Fond hero moins sombre = photos plus visibles ── */
.hero-bg-wrap::after{
  background:linear-gradient(180deg,
    rgba(9,5,14,.60) 0%,
    rgba(9,5,14,.20) 32%,
    rgba(9,5,14,.28) 62%,
    rgba(9,5,14,.96) 100%)!important;
}
@media(max-width:640px){
  .hero-bg-wrap::after{
    background:linear-gradient(180deg,
      rgba(9,5,14,.75) 0%,
      rgba(9,5,14,.55) 48%,
      rgba(9,5,14,.94) 100%)!important;
  }
}

/* ── Hero mobile : hiérarchie simplifiée ── */
@media(max-width:640px){
  .hero-h1{font-size:clamp(30px,8.5vw,46px);letter-spacing:-.025em;line-height:.97}
  .hero{padding:82px 16px 52px}
  .hc-secondary{display:none!important}
  .ql:nth-child(n+4){display:none}
}

/* ── Urgency badge : plus visible ── */
.hero-urgency{
  background:rgba(230,57,70,.15)!important;
  border-color:rgba(230,57,70,.45)!important;
  box-shadow:0 0 20px rgba(230,57,70,.18);
  font-size:13px;
}

/* ── Hero sous-titre plus lisible ── */
.hero-sub{font-size:clamp(15px,2.2vw,19px);color:rgba(245,237,224,.72)}

/* ── 2. SECTION HEADERS : SYNE + DOT ANIMÉ ── */
.sh h2{
  font-family:'Syne',system-ui,sans-serif;
  letter-spacing:-.052em;
}
.sh-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
}
.sh-eyebrow::before{
  content:'';display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:#e8a030;flex-shrink:0;
  box-shadow:0 0 8px rgba(232,160,48,.9);
  animation:eyebrow-pulse 2.4s ease-in-out infinite;
}
@keyframes eyebrow-pulse{
  0%,100%{opacity:1;box-shadow:0 0 8px rgba(232,160,48,.9)}
  50%{opacity:.45;box-shadow:0 0 18px rgba(232,160,48,.5)}
}

/* ── 3. METRICS CHIFFRES CLÉS ── */
.pm-num{
  font-family:'Syne',system-ui,sans-serif;
  font-size:clamp(44px,6.5vw,74px);
}
.proof-metric{transition:background .2s}
.proof-metric:hover{background:rgba(232,160,48,.04)}

/* ── 4. CTA SECTION : PLUS IMPACTANTE ── */
.cta-section{
  background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(232,160,48,.07),rgba(131,56,236,.04),transparent 70%)!important;
  border-top-color:rgba(232,160,48,.18)!important;
  border-bottom-color:rgba(232,160,48,.12)!important;
}
.cta-section h2{font-family:'Syne',system-ui,sans-serif;letter-spacing:-.055em}

/* ── 5. CARDS : GLASSMORPHISM PREMIUM ── */
.disc-feat,.portal-card,.ev-card,.review-card,.univers-card,.ag-card,.jour-card{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.disc-feat:hover{
  transform:translateY(-9px) scale(1.01);
  box-shadow:0 28px 70px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.07);
}
.ev-card:hover{
  box-shadow:0 28px 64px rgba(0,0,0,.56),0 0 0 1.5px rgba(232,160,48,.22);
}
.review-card{transition:border-color .22s,box-shadow .22s}
.review-card:hover{
  border-color:rgba(232,160,48,.22);
  box-shadow:0 8px 36px rgba(0,0,0,.32);
}

/* ── 6. SECTIONS : FOND AMBIANT DISTINCT ── */
.proof-section{background:rgba(245,237,224,.01)}
.testi-section{background:rgba(131,56,236,.02)}
.corp-premium{background:rgba(59,130,246,.02)}
.sono-homepage{background:rgba(6,214,160,.015)}
.bnf-premium{
  background:linear-gradient(135deg,
    rgba(5,50,35,.35) 0%,
    rgba(6,214,160,.04) 50%,
    rgba(80,20,150,.12) 100%);
}

/* Section divider subtle */
.sr+.sr{position:relative}
.sr+.sr::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:48px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,160,48,.3),transparent);
  pointer-events:none;
}

/* ── 7. PORTAL UNIVERS : PLUS IMMERSIFS ── */
.portal-card{
  min-height:360px;
  cursor:pointer;
}
.portal-card.portal-primary{min-height:440px}
.pc-content{position:relative;z-index:5}

/* ── 8. ESSAI BAND : PREMIUM ── */
.essai-band{
  background:linear-gradient(135deg,
    rgba(232,160,48,.06) 0%,
    rgba(230,57,70,.04) 60%,
    rgba(131,56,236,.03) 100%)!important;
  border-top:1px solid rgba(232,160,48,.15)!important;
  border-bottom:1px solid rgba(232,160,48,.1)!important;
  box-shadow:0 8px 40px rgba(0,0,0,.2);
}
.essai-btn-gold{
  box-shadow:0 6px 28px rgba(232,160,48,.4);
}

/* ── 9. LIVE STRIP : PLUS PREMIUM ── */
.live-strip{
  background:rgba(232,160,48,.04)!important;
  border-top:1px solid rgba(232,160,48,.14)!important;
  border-bottom:1px solid rgba(232,160,48,.14)!important;
}

/* ── 10. NEWSLETTER : CARD PREMIUM ── */
.newsletter-section{
  background:linear-gradient(135deg,rgba(232,160,48,.04) 0%,rgba(131,56,236,.03) 100%);
  border-radius:24px;margin-left:20px;margin-right:20px;
  border:1px solid rgba(232,160,48,.1);
  box-shadow:0 0 0 1px rgba(131,56,236,.06) inset;
}

/* ── 11. MOBILE FIRST : TOUCH TARGETS ── */
@media(max-width:640px){
  .ql{padding:10px 18px;font-size:13px}
  .live-pill{padding:7px 16px;font-size:13px}
  .jour-cta{padding:11px;font-size:12px;min-height:40px;display:flex;align-items:center;justify-content:center}
  .essai-band{padding:24px 16px}
  .essai-h{font-size:clamp(20px,6vw,28px)}
  /* Spacing plus généreux sur mobile */
  section{padding:72px 16px}
}

/* ── 12. SCROLL DEPTH SIGNAL : VISUEL DYNAMIQUE ── */
/* Indicateur de scroll dans le hero */
.hero-scroll-hint{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(245,237,224,.28);font-weight:600;
  animation:scroll-hint 2s ease-in-out infinite;
  pointer-events:none;
}
.hero-scroll-hint::after{
  content:'';display:block;
  width:1px;height:40px;
  background:linear-gradient(to bottom,rgba(245,237,224,.3),transparent);
  animation:scroll-hint-line 2s ease-in-out infinite;
}
@keyframes scroll-hint{
  0%,100%{opacity:.5;transform:translateX(-50%) translateY(0)}
  50%{opacity:.9;transform:translateX(-50%) translateY(5px)}
}
@keyframes scroll-hint-line{
  0%{height:40px;opacity:.4}
  50%{height:55px;opacity:.7}
  100%{height:40px;opacity:.4}
}
@media(max-width:640px){.hero-scroll-hint{bottom:72px}}

/* ── 13. VALUE PILLARS : FOND PREMIUM ── */
.value-row{
  background:linear-gradient(90deg,
    rgba(232,160,48,.015) 0%,
    rgba(245,237,224,.02) 50%,
    rgba(232,160,48,.015) 100%)!important;
}
.vp-num{
  font-family:'Syne',system-ui,sans-serif;
}

/* ── 14. WA STICKY : PREMIUM PULSE ── */
#wa-sticky{
  box-shadow:0 4px 24px rgba(37,211,102,.5),0 0 0 3px rgba(37,211,102,.1)!important;
}

/* ── 15. BODY : min-height 100dvh + font smoothing ── */
@supports(min-height:100dvh){
  .hero{min-height:100dvh}
}
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* ─────────────────────────────────────────────────────
   PHASE 2 — WAOUH BLOCKS
   ───────────────────────────────────────────────────── */

/* ── Hero Proof Bar — stats immédiatement visibles ── */
.hero-proof-bar{
  display:flex;align-items:stretch;justify-content:center;
  flex-wrap:nowrap;gap:0;
  background:rgba(9,5,14,.55);
  border:1px solid rgba(245,237,224,.12);
  border-radius:18px;
  padding:0;
  margin:0 auto 24px;
  max-width:640px;width:100%;
  backdrop-filter:blur(16px);
  overflow:hidden;
}
.hpb-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:14px 16px;
  flex:1;gap:3px;
  transition:background .18s;
}
.hpb-item:hover{background:rgba(245,237,224,.04)}
.hpb-num{
  font-size:20px;font-weight:900;letter-spacing:-.04em;
  color:#fff;line-height:1;
  font-family:'Syne',system-ui,sans-serif;
}
.hpb-lbl{
  font-size:10px;color:rgba(245,237,224,.5);
  letter-spacing:.03em;text-align:center;line-height:1.3;
  white-space:nowrap;
}
.hpb-sep{width:1px;background:rgba(245,237,224,.08);flex-shrink:0;align-self:stretch}
@media(max-width:560px){
  .hero-proof-bar{flex-wrap:wrap;border-radius:14px}
  .hpb-item{padding:10px 14px;flex:0 0 45%}
  .hpb-sep{display:none}
  .hpb-num{font-size:17px}
}

/* ── Cette semaine à Paris ── */
.cette-semaine-section{
  position:relative;z-index:10;
  padding:56px 20px 48px;
  background:linear-gradient(180deg,rgba(232,160,48,.02) 0%,transparent 100%);
  border-bottom:1px solid rgba(232,160,48,.07);
}
.cs-header{text-align:center;margin-bottom:32px}
.cs-title{
  font-family:'Syne',system-ui,sans-serif;
  font-size:clamp(26px,4vw,44px);font-weight:900;
  letter-spacing:-.04em;margin-top:8px;
  background:linear-gradient(135deg,var(--text),rgba(245,237,224,.7));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.cs-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  max-width:1000px;margin:0 auto;
}
.cs-day-card{
  background:rgba(245,237,224,.025);
  border:1px solid rgba(245,237,224,.07);
  border-radius:16px;
  padding:16px 14px 14px;
  display:flex;flex-direction:column;gap:8px;
  transition:transform .22s,border-color .22s,box-shadow .22s;
}
.cs-day-card:hover{
  transform:translateY(-4px);
  border-color:rgba(232,160,48,.2);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.cs-today{
  background:rgba(232,160,48,.04);
  border-color:rgba(232,160,48,.18);
  box-shadow:0 0 0 1px rgba(232,160,48,.07) inset;
}
.cs-day-header{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:8px;
  border-bottom:1px solid rgba(245,237,224,.05);
}
.cs-today-badge{font-size:11px;font-weight:800;color:var(--gold)}
.cs-day-label{font-size:12px;font-weight:700;text-transform:capitalize;color:rgba(245,237,224,.6)}
.cs-date-label{font-size:10px;color:var(--muted2)}
.cs-event-item{
  display:flex;align-items:flex-start;gap:8px;
  background:rgba(245,237,224,.025);
  border:1px solid rgba(245,237,224,.06);
  border-left:2px solid var(--item-color,rgba(232,160,48,.5));
  border-radius:9px;
  padding:9px 10px;
  text-decoration:none;color:var(--text);
  transition:background .15s,transform .15s;
  min-height:50px;
}
.cs-event-item:hover{background:rgba(245,237,224,.05);transform:translateX(2px)}
.cs-ei-emoji{font-size:15px;flex-shrink:0;margin-top:1px}
.cs-ei-body{flex:1;min-width:0}
.cs-ei-title{
  font-size:11px;font-weight:600;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.cs-ei-time{font-size:10px;color:var(--muted);margin-top:2px}
.cs-ei-arrow{font-size:11px;color:var(--muted2);flex-shrink:0;align-self:center}
.cs-empty{
  font-size:11px;color:var(--muted2);
  text-align:center;padding:10px 0;
  border:1px dashed rgba(245,237,224,.06);
  border-radius:8px;
}
.cs-empty a{color:rgba(232,160,48,.6);text-decoration:none}
.cs-footer{text-align:center;margin-top:28px}
.cs-cta-main{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 36px;
  background:rgba(232,160,48,.07);
  border:1px solid rgba(232,160,48,.22);
  border-radius:14px;
  color:var(--gold);font-size:15px;font-weight:700;
  text-decoration:none;
  transition:all .2s;
  letter-spacing:.01em;
}
.cs-cta-main:hover{background:rgba(232,160,48,.14);border-color:rgba(232,160,48,.45);transform:translateY(-2px)}
@media(max-width:960px){.cs-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .cs-grid{
    display:flex;
    overflow-x:auto;
    gap:10px;
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
    -ms-overflow-style:none;scrollbar-width:none;
    margin:0 -20px;
    padding-left:20px;padding-right:20px;
  }
  .cs-grid::-webkit-scrollbar{display:none}
  .cs-day-card{flex:0 0 180px;scroll-snap-align:start}
}

/* ── Community Wall — photos réelles SPN ── */
.community-wall-section{
  position:relative;z-index:10;
  padding:0 0 56px;
}
.cw-header{
  text-align:center;
  padding:72px 20px 36px;
}
.cw-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(232,160,48,.7);margin-bottom:14px;
}
.cw-title{
  font-family:'Syne',system-ui,sans-serif;
  font-size:clamp(32px,5vw,52px);font-weight:800;
  letter-spacing:-.04em;
  color:var(--text);margin-bottom:12px;
}
.cw-sub{
  font-size:15px;color:var(--muted);letter-spacing:.02em;
}
.community-wall{
  columns:4;column-gap:5px;
  padding:0 5px;
}
.cw-item{
  break-inside:avoid;
  margin-bottom:5px;
  position:relative;
  border-radius:10px;overflow:hidden;
  cursor:pointer;
}
.cw-item img{
  width:100%;display:block;
  filter:brightness(.82) saturate(.92);
  transition:filter .4s,transform .5s;
}
.cw-item:hover img{
  filter:brightness(1) saturate(1.1);
  transform:scale(1.03);
}
.cw-overlay{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.3) 55%,transparent 100%);
  padding:40px 12px 12px;
  display:flex;flex-direction:column;gap:3px;
  opacity:0;transition:opacity .3s;
}
.cw-item:hover .cw-overlay{opacity:1}
.cw-disc{
  font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.cw-evt{
  font-size:11px;font-weight:600;color:rgba(255,255,255,.85);line-height:1.3;
}
.cw-footer{
  text-align:center;padding:40px 20px 0;
}
.cw-join-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,#1da851,#25d366);
  color:#fff;font-size:16px;font-weight:800;
  padding:16px 34px;border-radius:50px;text-decoration:none;
  box-shadow:0 6px 30px rgba(37,211,102,.35);
  transition:transform .2s,box-shadow .2s;
}
.cw-join-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 40px rgba(37,211,102,.5);
}
.cw-footer-note{
  font-size:12px;color:var(--muted);margin-top:12px;
}
@media(max-width:900px){
  .community-wall{columns:3}
}
@media(max-width:640px){
  .community-wall{columns:2;column-gap:4px;padding:0 4px}
  .cw-item{margin-bottom:4px}
  .cw-overlay{opacity:1}
  .cw-header{padding:52px 20px 28px}
}

/* ── Carte interactive Paris ── */
.carte-section{
  position:relative;z-index:10;
  padding:72px 20px;
}
.carte-wrap{
  display:grid;grid-template-columns:1fr 320px;
  gap:20px;align-items:start;
  max-width:980px;margin:0 auto;
}
#map-paris{
  height:380px;border-radius:18px;overflow:hidden;
  border:1px solid rgba(245,237,224,.1);
  background:rgba(245,237,224,.03);
}
.carte-infos{
  background:rgba(245,237,224,.025);
  border:1px solid rgba(245,237,224,.07);
  border-radius:18px;padding:24px;
  display:flex;flex-direction:column;gap:18px;
}
.ci-item{display:flex;gap:12px;align-items:flex-start}
.ci-icon{font-size:20px;flex-shrink:0;line-height:1}
.ci-body strong{font-size:13px;font-weight:700;display:block;margin-bottom:3px;color:var(--text)}
.ci-body span{font-size:12px;color:var(--muted);line-height:1.6;display:block}
.carte-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border-radius:12px;
  background:rgba(232,160,48,.07);border:1px solid rgba(232,160,48,.2);
  color:var(--gold);font-size:13px;font-weight:700;text-decoration:none;
  transition:all .2s;margin-top:4px;
}
.carte-cta:hover{background:rgba(232,160,48,.14);border-color:rgba(232,160,48,.4)}
@media(max-width:700px){
  .carte-wrap{grid-template-columns:1fr}
  #map-paris{height:260px}
}

/* ═══════════════════════════════════════════════════════════
   PREMIUM V3 — Less is more · Apple / Airbnb / Hyrox
   ═══════════════════════════════════════════════════════════ */

/* ── Masquer les éléments parasites ── */
.disc-badges-strip{display:none!important}
.spn-proof-strip{display:none!important}
.quick-links{display:none!important}
.wa-trust{display:none!important}
.social-counter{display:none!important}
.hero-scroll-hint{display:none!important}
.hero-eyebrow{display:none!important}
.hero-photos{display:none!important}
.hero-h1 .line3{display:none!important}
.pc-pills{display:none!important}
.pc-micro-row{display:none!important}
.pc-emoji{display:none!important}
.birthday-banner{display:none!important}

/* ── Hero — air maximal ── */
.hero{padding:120px 20px 120px}
@media(max-width:640px){.hero{padding:100px 16px 80px}}

/* ── Cette semaine — plus d'air ── */
.cette-semaine-section{padding:120px 20px!important}
@media(max-width:640px){.cette-semaine-section{padding:80px 16px!important}}

/* ── Portal — cards plus aérées ── */
.portal-section{padding:120px 20px 100px!important}
.portal-card{min-height:320px!important}
.pc-content{padding:28px!important}
.pc-title{font-size:clamp(18px,2.2vw,24px)!important;font-weight:800!important;margin-bottom:10px!important}
.pc-desc{font-size:13px!important;line-height:1.65!important;color:rgba(245,237,224,.55)!important}
.pc-cta{font-size:13px!important;margin-top:18px!important}

/* ── Community Wall + ancien strip ── */
.community-wall-section{display:none!important}

/* ── Premium Wall — 3 photos éditoriales ── */
.premium-wall{
  position:relative;z-index:10;
  padding:120px 0 100px;
}
.pw-inner{
  max-width:1200px;margin:0 auto;padding:0 40px;
}
.pw-head{
  text-align:center;margin-bottom:64px;
}
.pw-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(245,237,224,.35);margin-bottom:16px;
}
.pw-title{
  font-family:'Syne',system-ui,sans-serif;
  font-size:clamp(32px,5vw,64px);font-weight:800;letter-spacing:-.04em;
  color:var(--text);margin:0;
  word-break:break-word;overflow-wrap:break-word;
}
.pw-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:10px;
  height:540px;
}
.pw-photo{
  position:relative;display:block;
  border-radius:16px;overflow:hidden;
  text-decoration:none;
}
.pw-photo img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.72);
  transition:filter .55s,transform .65s;
  display:block;
}
.pw-photo:hover img{
  filter:brightness(.9);
  transform:scale(1.04);
}
.pw-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:80px 22px 22px;
  background:linear-gradient(0deg,rgba(0,0,0,.75) 0%,transparent 100%);
  font-size:16px;font-weight:700;color:#fff;letter-spacing:-.01em;
  display:block;
}
.pw-stats{
  display:flex;align-items:center;justify-content:center;
  gap:0;margin:56px 0 48px;
  border-top:1px solid rgba(245,237,224,.06);
  border-bottom:1px solid rgba(245,237,224,.06);
  padding:40px 0;
}
.pw-stat{
  text-align:center;flex:1;
}
.pw-stat-num{
  display:block;
  font-family:'Syne',system-ui,sans-serif;
  font-size:clamp(28px,3.5vw,44px);font-weight:800;letter-spacing:-.04em;
  color:var(--text);margin-bottom:6px;
}
.pw-stat-lbl{
  font-size:12px;font-weight:500;color:rgba(245,237,224,.4);
  letter-spacing:.03em;text-transform:uppercase;
}
.pw-stat-sep{
  width:1px;height:48px;
  background:rgba(245,237,224,.08);
  flex-shrink:0;
}
.pw-cta-row{
  text-align:center;
}
.pw-join{
  display:inline-block;
  padding:16px 44px;border-radius:50px;
  border:1.5px solid rgba(245,237,224,.22);
  color:var(--text);font-size:15px;font-weight:600;
  text-decoration:none;letter-spacing:.01em;
  transition:background .25s,border-color .25s;
}
.pw-join:hover{
  background:rgba(245,237,224,.07);
  border-color:rgba(245,237,224,.45);
}
@media(max-width:960px){
  .pw-grid{grid-template-columns:1fr 1fr;height:auto}
  .pw-photo{height:260px}
  .pw-photo:nth-child(3){grid-column:1/-1;height:220px}
}
@media(max-width:640px){
  .pw-inner{padding:0 16px}
  .pw-grid{grid-template-columns:1fr;height:auto}
  .pw-photo,.pw-photo:nth-child(3){height:220px;grid-column:auto}
  .pw-stats{flex-direction:column;gap:32px;padding:32px 0}
  .pw-stat-sep{width:48px;height:1px}
  .pw-head{margin-bottom:40px}
  .premium-wall{padding:80px 0 60px}
}

/* ═══════════════════════════════════════════════════════════
   PREMIUM V4 — Plateforme de référence
   Fever · Resident Advisor · Airbnb · Spotify
   Règle : SEO intact. Design only.
   ═══════════════════════════════════════════════════════════ */

/* ── 1. Fond : clean dark, sans gradients nightclub ── */
body::before{
  background:
    radial-gradient(ellipse 60% 35% at 50% -2%, rgba(232,160,48,.05), transparent 50%),
    linear-gradient(180deg,#060410 0%,#09050e 60%,#0a0610 100%) !important;
}
.orb1,.orb2,.orb3{opacity:0!important;pointer-events:none!important}

/* ── 2. Hero : photo dominante, hiérarchie épurée ── */
.hero{padding:140px 20px 120px!important}
.hero::after{display:none!important}
.hero-bg-wrap::after{
  background:linear-gradient(180deg,
    rgba(6,4,16,.42) 0%,
    rgba(6,4,16,.06) 38%,
    rgba(6,4,16,.16) 62%,
    rgba(6,4,16,.96) 100%) !important;
}
.hero-h1{
  font-size:clamp(42px,6.5vw,90px)!important;
  letter-spacing:-.048em!important;
  line-height:.9!important;
  margin-bottom:36px!important;
}
/* Line 2 : blanc crème + subtil or — pas multicolore flyer */
.hero-h1 .line2{
  background:linear-gradient(135deg,rgba(245,237,224,.9) 0%,rgba(232,160,48,.65) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
/* Proof bar : pill minimaliste */
.hero-proof-bar{
  display:inline-flex!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:100px!important;
  padding:10px 22px!important;
  gap:20px!important;
  margin-bottom:32px!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.hpb-num{font-size:12px!important;font-weight:700!important;color:rgba(245,237,224,.8)!important;letter-spacing:.01em!important}
.hpb-lbl{font-size:11px!important;color:rgba(245,237,224,.3)!important}
.hpb-sep{width:1px!important;height:16px!important;background:rgba(245,237,224,.1)!important;flex-shrink:0!important}
.hero-sub{font-size:16px!important;color:rgba(245,237,224,.45)!important;font-weight:400!important;margin-bottom:32px!important}
/* Urgency : plus discret */
.hero-urgency{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:none!important;
  color:rgba(245,237,224,.45)!important;
  font-size:12px!important;
  font-weight:500!important;
}
/* CTAs : clean, plus spacieux */
.hero-ctas{gap:10px!important}
.hc-wa-v2{
  background:rgba(37,211,102,.09)!important;
  border:1.5px solid rgba(37,211,102,.22)!important;
  color:rgba(37,211,102,.88)!important;
  font-size:15px!important;font-weight:700!important;
  padding:15px 30px!important;border-radius:12px!important;
  box-shadow:none!important;
}
.hc-primary{
  background:rgba(232,160,48,.07)!important;
  border:1.5px solid rgba(232,160,48,.18)!important;
  color:rgba(232,160,48,.82)!important;
  font-size:15px!important;font-weight:600!important;
  padding:15px 28px!important;border-radius:12px!important;
  box-shadow:none!important;
}
.hc-secondary{display:none!important}
/* Search bar : épurée */
.search-box{
  background:rgba(255,255,255,.05)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
#search-btn{
  background:rgba(232,160,48,.12)!important;
  color:rgba(232,160,48,.85)!important;
  border-radius:8px!important;font-size:13px!important;
}
@media(max-width:640px){
  .hero{padding:100px 16px 90px!important}
  .hero-h1{font-size:clamp(34px,9vw,52px)!important;letter-spacing:-.03em!important;line-height:.95!important}
}

/* ── 3. Section headers : plus d'air + Syne ── */
.cette-semaine-section{padding:130px 20px 110px!important}
.cette-semaine-section h2,.portal-section .portal-intro h2,.sh h2{
  font-size:clamp(32px,4vw,54px)!important;
  letter-spacing:-.048em!important;
  line-height:1.0!important;
}
@media(max-width:640px){
  .cette-semaine-section{padding:80px 16px 70px!important}
}

/* ── 4. Portal V4 : 2×2 plateforme ── */
.portal-section{padding:130px 20px 110px!important}
.portal-section .portal-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  max-width:1060px!important;
  margin:0 auto!important;
}
.portal-section .portal-card{
  position:relative!important;
  min-height:290px!important;
  border-radius:18px!important;
  border:1px solid rgba(245,237,224,.06)!important;
  background:rgba(245,237,224,.02)!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transition:border-color .3s,transform .3s!important;
  text-decoration:none!important;
}
.portal-section .portal-card:hover{
  border-color:rgba(232,160,48,.16)!important;
  transform:translateY(-3px)!important;
}
/* Photo : texture de fond, très subtile */
.portal-section .portal-card .pc-photo{
  opacity:.2!important;
  filter:saturate(.45) brightness(.8)!important;
}
/* Supprimer tous les effets visuels parasites */
.portal-section .portal-card .pc-bg{
  background:none!important;box-shadow:none!important;animation:none!important;
}
.portal-section .portal-card .pc-noise{display:none!important}
/* Dégradé lisibilité */
.portal-section .portal-card::after{
  content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(0deg,rgba(6,4,16,.94) 0%,rgba(6,4,16,.2) 55%,transparent 100%);
  pointer-events:none;
}
/* Contenu positionné en bas */
.portal-section .portal-card .pc-content{
  position:absolute!important;
  bottom:0!important;left:0!important;right:0!important;top:auto!important;
  padding:0 28px 28px!important;
  z-index:5!important;background:none!important;
}
.portal-section .portal-card .pc-eyebrow{
  font-size:10px!important;letter-spacing:.14em!important;
  color:rgba(232,160,48,.5)!important;
  text-transform:uppercase!important;font-weight:700!important;
  margin-bottom:8px!important;display:block!important;
}
.portal-section .portal-card .pc-title{
  font-family:'Syne',system-ui,sans-serif!important;
  font-size:clamp(17px,1.8vw,22px)!important;
  font-weight:800!important;letter-spacing:-.025em!important;
  color:rgba(245,237,224,.92)!important;
  margin-bottom:6px!important;line-height:1.15!important;
}
.portal-section .portal-card .pc-desc{
  font-size:12px!important;
  color:rgba(245,237,224,.35)!important;
  line-height:1.65!important;margin-bottom:14px!important;
}
.portal-section .portal-card .pc-cta{
  display:inline-flex!important;align-items:center!important;gap:4px!important;
  font-size:11px!important;font-weight:700!important;
  color:rgba(232,160,48,.65)!important;
  letter-spacing:.07em!important;text-transform:uppercase!important;
  padding:0!important;background:none!important;border:none!important;border-radius:0!important;
}
/* Cartes sans photo : fond légèrement teinté */
.portal-section .pc-fitness,
.portal-section .pc-corp,
.portal-section .pc-sono{
  background:rgba(232,160,48,.025)!important;
}
@media(max-width:700px){
  .portal-section{padding:80px 16px 70px!important}
  .portal-section .portal-grid{grid-template-columns:1fr!important;gap:8px!important}
  .portal-section .portal-card{min-height:220px!important}
  .portal-section .portal-card .pc-content{padding:0 20px 22px!important}
}

/* ── 5. Cette semaine — couleurs atténuées ── */
.cs-today{
  border-color:rgba(232,160,48,.2)!important;
  background:rgba(232,160,48,.04)!important;
}
.cs-today .cs-day-num,.cs-today .cs-day-name{color:rgba(245,237,224,.85)!important}
.cs-event-item::before{background:rgba(232,160,48,.55)!important}
.cs-cta-main{
  background:rgba(232,160,48,.07)!important;
  border-color:rgba(232,160,48,.18)!important;
  color:rgba(232,160,48,.8)!important;
}

/* ── 6. Community wall stats : plus imposants ── */
.pw-stats{
  border-top:1px solid rgba(245,237,224,.05)!important;
  border-bottom:1px solid rgba(245,237,224,.05)!important;
  padding:56px 0!important;
}
.pw-stat-num{
  font-size:clamp(34px,4.5vw,54px)!important;
  letter-spacing:-.04em!important;
  color:rgba(245,237,224,.88)!important;
}
.pw-stat-lbl{font-size:11px!important;color:rgba(245,237,224,.28)!important;letter-spacing:.07em!important}
.pw-stat-sep{background:rgba(245,237,224,.06)!important}
.pw-join{
  border-color:rgba(245,237,224,.18)!important;
  color:rgba(245,237,224,.65)!important;
  font-size:14px!important;
}
.pw-join:hover{background:rgba(245,237,224,.06)!important;border-color:rgba(245,237,224,.38)!important}

/* ── 7. Carte : plus d'air ── */
.carte-section{padding:130px 20px 110px!important}
@media(max-width:640px){.carte-section{padding:80px 16px 70px!important}}

/* ═══════════════════════════════════════════════════════════
   PLATFORM V4.1 — 5 Piliers · Plateforme de référence
   ═══════════════════════════════════════════════════════════ */

/* ── Neutraliser effets visuels JS (canvas, halos, holo) ── */
#holo-canvas{display:none!important}
.holo-halo{display:none!important}
#hp-lines-canvas{display:none!important}

/* ── Fix stat "10 000+" cassé ── */
.pw-stat-num{white-space:nowrap!important}

/* ── 5 Piliers nav — Spotify pill style ── */
.disc-badges-strip{
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:48px 20px 0!important;
  position:relative;z-index:10;
}
.db-badge{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  padding:9px 18px!important;
  border-radius:100px!important;
  border:1px solid rgba(245,237,224,.1)!important;
  background:rgba(245,237,224,.04)!important;
  color:rgba(245,237,224,.55)!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;
  text-decoration:none!important;white-space:nowrap!important;
  transition:background .2s,border-color .2s,color .2s!important;
}
.db-badge:hover{
  background:rgba(245,237,224,.09)!important;
  border-color:rgba(245,237,224,.22)!important;
  color:rgba(245,237,224,.88)!important;
}
.db-badge.db-salsa:hover{border-color:rgba(230,57,70,.3)!important;color:rgba(230,57,70,.85)!important}
.db-badge.db-kiz:hover{border-color:rgba(131,56,236,.3)!important;color:rgba(131,56,236,.85)!important}
.db-badge.db-fitness:hover{border-color:rgba(6,214,160,.3)!important;color:rgba(6,214,160,.85)!important}
.db-badge.db-corp:hover{border-color:rgba(59,130,246,.3)!important;color:rgba(59,130,246,.85)!important}
.db-badge.db-comm:hover{border-color:rgba(232,160,48,.3)!important;color:rgba(232,160,48,.85)!important}
@media(max-width:640px){
  .disc-badges-strip{padding:36px 16px 0!important;gap:6px!important;justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  .disc-badges-strip::-webkit-scrollbar{display:none!important}
}

/* ── Portal V4.1 : liste verticale plateforme ── */
.portal-section{padding:120px 20px 100px!important}
.portal-section .portal-intro{max-width:700px!important;margin:0 auto 56px!important;text-align:center!important}
.portal-section .portal-grid{
  display:flex!important;flex-direction:column!important;
  gap:0!important;
  max-width:820px!important;margin:0 auto!important;
}
/* Card = ligne horizontale */
.portal-section .portal-card{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  min-height:0!important;height:auto!important;
  padding:0!important;
  border-radius:0!important;
  border:none!important;
  border-bottom:1px solid rgba(245,237,224,.06)!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  transition:background .2s!important;
  text-decoration:none!important;
}
.portal-section .portal-card:first-child{border-top:1px solid rgba(245,237,224,.06)!important}
.portal-section .portal-card:hover{
  background:rgba(245,237,224,.025)!important;
  transform:none!important;
  border-color:rgba(245,237,224,.06)!important;
}
/* Masquer les layers photo/bruit */
.portal-section .portal-card .pc-photo,
.portal-section .portal-card .pc-bg,
.portal-section .portal-card .pc-noise,
.portal-section .portal-card::after{display:none!important}
/* Numéro de pilier */
.portal-section .portal-card::before{
  content:counter(portal-item);counter-increment:portal-item;
  font-family:'Syne',system-ui,sans-serif;
  font-size:12px;font-weight:700;letter-spacing:.1em;
  color:rgba(245,237,224,.2);
  width:48px;flex-shrink:0;text-align:right;
  padding-right:24px;
}
.portal-section .portal-grid{counter-reset:portal-item!important}
/* Contenu : horizontal */
.portal-section .portal-card .pc-content{
  position:relative!important;
  bottom:auto!important;left:auto!important;right:auto!important;top:auto!important;
  padding:28px 0!important;
  background:none!important;
  display:flex!important;flex-direction:row!important;
  align-items:center!important;gap:24px!important;
  width:100%!important;
  flex:1!important;
}
.portal-section .portal-card .pc-eyebrow{display:none!important}
.portal-section .portal-card .pc-title{
  font-family:'Syne',system-ui,sans-serif!important;
  font-size:clamp(17px,1.9vw,22px)!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
  color:rgba(245,237,224,.75)!important;
  margin:0!important;flex:0 0 auto!important;min-width:220px!important;
  line-height:1.15!important;
  transition:color .2s!important;
}
.portal-section .portal-card:hover .pc-title{color:rgba(245,237,224,.95)!important}
.portal-section .portal-card .pc-desc{
  font-size:12px!important;
  color:rgba(245,237,224,.28)!important;
  line-height:1.55!important;
  margin:0!important;flex:1!important;
}
.portal-section .portal-card .pc-cta{
  flex-shrink:0!important;
  font-size:11px!important;font-weight:700!important;
  color:rgba(232,160,48,.55)!important;
  letter-spacing:.07em!important;text-transform:uppercase!important;
  padding:0!important;background:none!important;border:none!important;border-radius:0!important;
  display:block!important;white-space:nowrap!important;
  transition:color .2s!important;
}
.portal-section .portal-card:hover .pc-cta{color:rgba(232,160,48,.85)!important}
@media(max-width:700px){
  .portal-section .portal-card .pc-content{flex-direction:column!important;align-items:flex-start!important;gap:4px!important;padding:22px 0!important}
  .portal-section .portal-card .pc-title{min-width:0!important;font-size:17px!important}
  .portal-section .portal-card .pc-desc{display:none!important}
  .portal-section .portal-card .pc-cta{margin-top:6px!important}
  .portal-section .portal-card::before{width:28px!important;padding-right:16px!important}
}

/* ─────────────────────────────────────────────────────────
   PLATFORM V5 — Plateforme de référence · Hero clair
   ───────────────────────────────────────────────────────── */

/* Hero eyebrow — 5 piliers */
.hero-eyebrow{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  justify-content:center!important;
  margin-bottom:20px!important;
  padding:0!important;
}
.hero-eyebrow::before,.hero-eyebrow::after{display:none!important}
.he-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 14px;
  border-radius:100px;
  font-size:12px;font-weight:700;letter-spacing:.04em;
  background:rgba(245,237,224,.07);
  border:1px solid rgba(245,237,224,.15);
  color:rgba(245,237,224,.75);
}
.he-corp{border-color:rgba(96,165,250,.3)!important;color:rgba(96,165,250,.85)!important;background:rgba(96,165,250,.06)!important}

/* Line 2 — message plateforme */
.hero-h1 .line2{
  font-size:clamp(16px,1.8vw,22px)!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  color:rgba(245,237,224,.55)!important;
  display:block!important;
  margin-top:6px!important;
  text-transform:none!important;
}
/* Line 3 — mots-clés SEO, visuellement discrets */
.hero-h1 .line3{
  display:block!important;
  font-size:11px!important;
  font-weight:500!important;
  color:rgba(245,237,224,.22)!important;
  letter-spacing:.06em!important;
  margin-top:10px!important;
  text-transform:uppercase!important;
}

/* Disc-badges — piliers principaux plus visibles */
.db-pillar{
  font-weight:700!important;
  border-color:rgba(245,237,224,.2)!important;
  color:rgba(245,237,224,.7)!important;
  background:rgba(245,237,224,.06)!important;
}
.db-pillar.db-fitness{border-color:rgba(6,214,160,.3)!important;color:rgba(6,214,160,.8)!important;background:rgba(6,214,160,.06)!important}
.db-pillar.db-corp{border-color:rgba(96,165,250,.3)!important;color:rgba(96,165,250,.8)!important;background:rgba(96,165,250,.06)!important}
.db-pillar.db-sono{border-color:rgba(232,160,48,.3)!important;color:rgba(232,160,48,.8)!important;background:rgba(232,160,48,.06)!important}
/* CTA B2B hero */
.hc-b2b{background:rgba(96,165,250,.12)!important;border:1px solid rgba(96,165,250,.3)!important;color:rgba(96,165,250,.9)!important}
.hc-b2b:hover{background:rgba(96,165,250,.2)!important;border-color:rgba(96,165,250,.5)!important}

/* ─────────────────────────────────────────────────────────
   PLATFORM V7.2 — Titre court · Stats grandes · Search haut
   ───────────────────────────────────────────────────────── */

/* Search engine — remonté juste après le titre */
.hero-eyebrow{order:1!important}
.hero-h1{order:2!important}
.search-wrap{order:3!important;margin-top:28px!important;margin-bottom:0!important}
.hero-proof-bar{order:4!important;margin-top:28px!important}
.hero-sub{order:5!important}
.hero-urgency{order:6!important}
.hero-ctas{order:7!important}
.wa-trust{order:8!important}

/* Line3 — subtitle visible */
.hero-h1 .line3{
  font-size:clamp(12px,1.2vw,15px)!important;
  font-weight:600!important;
  color:rgba(245,237,224,.38)!important;
  letter-spacing:.08em!important;
  margin-top:14px!important;
  text-transform:none!important;
}

/* Proof bar — stats plus grandes sur mobile */
@media(max-width:640px){
  .hpb-num{font-size:22px!important;font-weight:800!important;color:rgba(245,237,224,.9)!important}
  .hpb-lbl{font-size:12px!important;color:rgba(245,237,224,.45)!important}
  .hpb-item{padding:14px 12px!important;flex:0 0 44%!important}
}
.db-sep{color:rgba(245,237,224,.15);font-size:18px;line-height:1;align-self:center;padding:0 4px}
.db-sub{
  font-size:11px!important;
  font-weight:500!important;
  opacity:.5!important;
  padding:6px 12px!important;
}
.db-sub:hover{opacity:.8!important}

/* ─────────────────────────────────────────────────────────
   PLATFORM V6 — Hero plateforme + Corp/Sono visibles
   ─────────────────────────────────────────────────────────
   (conservé — V7 ajoute ses overrides en dessous)
   ───────────────────────────────────────────────────────── */

/* Hero background — sombre pour laisser le texte parler */
.hero-bg-slide{filter:brightness(.22) saturate(.7)!important}
.hero-bg-wrap::after{
  background:linear-gradient(180deg,
    rgba(5,3,12,.75) 0%,
    rgba(5,3,12,.55) 40%,
    rgba(5,3,12,.78) 70%,
    rgba(5,3,12,.97) 100%) !important;
}

/* Corporate + Sono — bloc 2 colonnes */
.b2b-sono-strip{
  padding:80px 20px;
  background:linear-gradient(180deg,rgba(5,3,12,0) 0%,rgba(10,6,20,.6) 100%);
}
.bss-inner{
  max-width:960px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.bss-card{
  border:1px solid rgba(245,237,224,.08);
  border-radius:16px;
  padding:36px 32px;
  display:flex;
  flex-direction:column;
  gap:16px;
  background:rgba(245,237,224,.03);
  transition:border-color .25s,background .25s;
}
.bss-card:hover{border-color:rgba(245,237,224,.16);background:rgba(245,237,224,.05)}
.bss-corp{border-top:2px solid rgba(96,165,250,.4)!important}
.bss-sono{border-top:2px solid rgba(232,160,48,.4)!important}
.bss-icon{font-size:32px;line-height:1}
.bss-body{display:flex;flex-direction:column;gap:8px}
.bss-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,237,224,.3)}
.bss-title{font-family:'Syne',sans-serif;font-size:clamp(18px,2vw,24px);font-weight:800;color:#f5ede0;margin:0;line-height:1.15}
.bss-desc{font-size:13px;color:rgba(245,237,224,.45);line-height:1.6;margin:0}
.bss-cta{
  display:inline-flex;align-items:center;
  margin-top:8px;
  font-size:12px;font-weight:700;letter-spacing:.06em;
  text-decoration:none;
  padding:10px 20px;border-radius:100px;
  align-self:flex-start;
  transition:transform .2s,opacity .2s;
}
.bss-cta:hover{transform:translateX(3px);opacity:.85}
.bss-cta-corp{background:rgba(96,165,250,.15);border:1px solid rgba(96,165,250,.35);color:rgba(96,165,250,.9)}
.bss-cta-sono{background:rgba(232,160,48,.12);border:1px solid rgba(232,160,48,.3);color:rgba(232,160,48,.9)}
.bss-services{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.bss-services span{font-size:11px;padding:4px 10px;border-radius:20px;background:rgba(232,160,48,.08);border:1px solid rgba(232,160,48,.18);color:rgba(232,160,48,.7)}
.bss-services-corp span{background:rgba(96,165,250,.07)!important;border-color:rgba(96,165,250,.2)!important;color:rgba(96,165,250,.7)!important}
@media(max-width:640px){
  .bss-inner{grid-template-columns:1fr}
  .b2b-sono-strip{padding:56px 16px}
  .bss-card{padding:24px 20px}
}

/* ─────────────────────────────────────────────────────────
   PLATFORM V7 — Hiérarchie hero · Cards Fever · IDF
   ───────────────────────────────────────────────────────── */

/* Hero — brand name subtil, message plateforme dominant */
.hero-h1 .line1{
  font-size:clamp(11px,1.1vw,14px)!important;
  font-weight:700!important;
  color:rgba(245,237,224,.38)!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  display:block!important;
  margin-bottom:16px!important;
  line-height:1!important;
}
.hero-h1 .line2{
  font-size:clamp(36px,6.8vw,84px)!important;
  font-weight:800!important;
  color:#f5ede0!important;
  letter-spacing:-.04em!important;
  line-height:.88!important;
  display:block!important;
}
@media(max-width:640px){
  .hero-h1 .line1{font-size:11px!important;letter-spacing:.18em!important;margin-bottom:12px!important}
  .hero-h1 .line2{font-size:clamp(28px,8.5vw,48px)!important}
}

/* Event cards — Fever style : plus épuré */
.cs-day-card{
  border:1px solid rgba(245,237,224,.07)!important;
  background:rgba(245,237,224,.03)!important;
  border-radius:12px!important;
  padding:18px 16px!important;
}
.cs-day-card:hover{background:rgba(245,237,224,.06)!important;border-color:rgba(245,237,224,.14)!important}
.cs-today{border-color:rgba(232,160,48,.25)!important;background:rgba(232,160,48,.04)!important}
.cs-day-header{
  border-bottom:1px solid rgba(245,237,224,.06)!important;
  padding-bottom:10px!important;
  margin-bottom:10px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.cs-event-item{
  border-radius:8px!important;
  padding:10px 10px!important;
  gap:10px!important;
}
.cs-ei-emoji{font-size:14px!important}
.cs-ei-title{font-size:12px!important;font-weight:600!important;color:rgba(245,237,224,.8)!important}
.cs-ei-time{font-size:11px!important;color:rgba(245,237,224,.35)!important}
.cs-ei-arrow{color:rgba(245,237,224,.2)!important}

/* ═══ PREMIUM — COVERFLOW 3D ═══ */
.pe-section{padding:80px 0 100px;overflow:hidden;position:relative;z-index:1}
@media(max-width:640px){.pe-section{padding:60px 0 60px}}
.pe-header{text-align:center;padding:0 20px;margin-bottom:48px}
.pe-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,160,48,.6);margin-bottom:10px}
.pe-h2{font-size:clamp(24px,4vw,36px);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:8px;color:var(--text)}
.pe-accent{color:var(--gold)}
.pe-sub{font-size:14px;color:rgba(245,237,224,.42);line-height:1.5}
.pe-coverflow-stage{position:relative;display:flex;align-items:center;justify-content:center;height:560px}
.pe-track{position:relative;width:100%;height:500px;display:flex;align-items:center;justify-content:center}
.pe-card{position:absolute;top:0;left:50%;margin-left:-150px;width:300px;height:465px;border-radius:18px;overflow:visible;cursor:pointer;text-decoration:none;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s,filter .4s;will-change:transform;-webkit-box-reflect:below 5px linear-gradient(transparent 62%,rgba(9,5,14,.45))}
.pe-card-inner{position:absolute;inset:0;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.pe-card-bg{position:absolute;inset:0;background-size:cover;background-position:center top}
.pe-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.05) 100%)}
.pe-gloss{position:absolute;inset:0;pointer-events:none;transition:background .08s ease}
.pe-card-badge{position:absolute;top:14px;right:14px;z-index:3;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.pe-card-badge.hot{background:rgba(230,57,70,.95);color:#fff;animation:pe-pulse 2s ease-in-out infinite}
.pe-card-badge.warm{background:rgba(232,160,48,.95);color:#09050e}
.pe-card-badge.new{background:rgba(6,214,160,.9);color:#09050e}
.pe-card-badge.early{background:rgba(59,130,246,.9);color:#fff}
.pe-card-badge.default{background:rgba(245,237,224,.12);color:rgba(245,237,224,.7);backdrop-filter:blur(4px)}
@keyframes pe-pulse{0%,100%{box-shadow:0 0 0 0 rgba(230,57,70,.5)}50%{box-shadow:0 0 0 8px rgba(230,57,70,0)}}
.pe-spots{position:absolute;top:14px;left:14px;right:56px;z-index:3;background:rgba(9,5,14,.65);border-radius:8px;padding:6px 10px;backdrop-filter:blur(6px)}
.pe-spots-top{display:flex;align-items:baseline;gap:5px;margin-bottom:5px}
.pe-spots-num{font-size:15px;font-weight:800;color:#f5ede0}
.pe-spots-lbl{font-size:9px;color:rgba(245,237,224,.5);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.pe-spots-bar{height:3px;background:rgba(245,237,224,.1);border-radius:2px;overflow:hidden}
.pe-spots-fill{height:100%;background:linear-gradient(90deg,#06d6a0,#e8a030);border-radius:2px;transition:width .5s ease}
.pe-spots-fill.urgent{background:linear-gradient(90deg,#e8a030,#e63946)}
.pe-card-body{position:absolute;bottom:0;left:0;right:0;padding:22px 20px;z-index:2}
.pe-card-emoji{font-size:26px;margin-bottom:8px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.pe-card-title{font-size:19px;font-weight:800;line-height:1.15;letter-spacing:-.03em;color:#f5ede0;margin-bottom:3px}
.pe-card-subtitle{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(245,237,224,.4);margin-bottom:10px}
.pe-card-meta{font-size:11px;color:rgba(245,237,224,.5);margin-bottom:14px;display:flex;flex-direction:column;gap:3px}
.pe-price-tag{display:flex;align-items:baseline;gap:7px;margin-bottom:12px}
.pe-price-eb{font-size:14px;font-weight:800;color:#06d6a0;letter-spacing:-.01em}
.pe-price-normal{font-size:11px;font-weight:600;color:rgba(245,237,224,.35);text-decoration:line-through}
.pe-price-free{font-size:12px;font-weight:700;color:rgba(6,214,160,.8);letter-spacing:.04em;text-transform:uppercase}
.pe-countdown{position:absolute;bottom:14px;right:14px;z-index:3;font-size:10px;font-weight:900;letter-spacing:.08em;padding:5px 11px;border-radius:8px;background:rgba(9,5,14,.8);backdrop-filter:blur(8px);color:rgba(245,237,224,.6);white-space:nowrap;text-transform:uppercase}
.pe-countdown.hot{color:#e63946;border:1px solid rgba(230,57,70,.4)}
.pe-countdown.warm{color:#e8a030;border:1px solid rgba(232,160,48,.35)}
.pe-card-cta{display:block;width:100%;text-align:center;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;box-sizing:border-box;border:1.5px solid rgba(245,237,224,.2);background:rgba(245,237,224,.1);color:#f5ede0;backdrop-filter:blur(6px)}
.pe-card[data-active="1"] .pe-card-cta{background:rgba(245,237,224,.15);border-color:rgba(245,237,224,.3)}
.pe-card[data-active="1"]:hover .pe-card-cta{background:rgba(245,237,224,.25);border-color:rgba(245,237,224,.5)}
.pe-card-cta.cta-hot{background:linear-gradient(135deg,rgba(230,57,70,.9),rgba(180,30,50,.95));border-color:transparent;color:#fff;font-size:14px;padding:13px 14px}
.pe-card[data-active="1"]:hover .pe-card-cta.cta-hot{background:linear-gradient(135deg,rgba(230,57,70,1),rgba(200,40,60,1));box-shadow:0 4px 20px rgba(230,57,70,.5)}
.pe-card-cta.cta-primary{background:rgba(232,160,48,.15);border-color:rgba(232,160,48,.4);color:#e8a030}
.pe-card[data-active="1"]:hover .pe-card-cta.cta-primary{background:rgba(232,160,48,.25);border-color:rgba(232,160,48,.6);box-shadow:0 4px 16px rgba(232,160,48,.25)}
.pe-nav{position:absolute;z-index:20;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:rgba(245,237,224,.1);color:#f5ede0;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;backdrop-filter:blur(8px)}
.pe-nav:hover{background:rgba(245,237,224,.22)}
.pe-prev{left:16px}.pe-next{right:16px}
.pe-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.pe-dot{width:6px;height:6px;border-radius:50%;border:none;cursor:pointer;background:rgba(245,237,224,.2);transition:all .3s;padding:0}
.pe-dot.active{width:22px;border-radius:3px;background:var(--gold)}
@media(max-width:768px){
  .pe-coverflow-stage{height:auto;overflow:visible}
  .pe-track{position:static;height:auto;display:flex;gap:14px;overflow-x:auto;padding:10px 20px 28px;scroll-snap-type:x mandatory;scrollbar-width:none;justify-content:flex-start}
  .pe-track::-webkit-scrollbar{display:none}
  .pe-card{position:relative;flex-shrink:0;width:82vw;height:72vw;max-height:440px;transform:none!important;opacity:1!important;filter:none!important;-webkit-box-reflect:none;margin-left:0;top:auto;left:auto}
  .pe-card-inner{border-radius:14px}
  .pe-nav{display:none}
  .pe-dots{display:none}
}

/* ═══ RECURRING EVENTS — Tier 2 ═══ */
.re-section{padding:60px 0 50px;position:relative;z-index:1}
@media(max-width:640px){.re-section{padding:40px 0 36px}}
.re-header{text-align:center;padding:0 20px;margin-bottom:32px}
.re-h2{font-size:clamp(22px,3.5vw,32px);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:8px;color:var(--text)}
.re-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:1160px;margin:0 auto;padding:0 40px}
@media(max-width:900px){.re-grid{grid-template-columns:1fr;padding:0 20px}}
.re-card{
  display:flex;border-radius:14px;overflow:hidden;height:160px;
  background:rgba(255,255,255,.03);border:1px solid rgba(245,237,224,.07);
  text-decoration:none;transition:background .2s,border-color .2s,transform .15s;
  position:relative;
}
.re-card:hover{background:rgba(255,255,255,.06);border-color:rgba(245,237,224,.15);transform:translateY(-2px)}
@media(max-width:640px){.re-card{height:140px}}
.re-card-img{width:130px;flex-shrink:0;background-size:cover;background-position:center;position:relative}
@media(max-width:640px){.re-card-img{width:110px}}
.re-card-img-overlay{position:absolute;inset:0;background:linear-gradient(to right,transparent 50%,rgba(9,5,14,.85) 100%)}
.re-card-freq-badge{
  position:absolute;bottom:10px;left:8px;
  font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(9,5,14,.7);color:rgba(245,237,224,.7);
  padding:3px 7px;border-radius:20px;backdrop-filter:blur(4px);
}
.re-card-body{flex:1;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between}
.re-card-emoji{font-size:18px;margin-bottom:4px}
.re-card-title{font-size:15px;font-weight:800;color:#f5ede0;line-height:1.2;margin-bottom:2px}
.re-card-sub{font-size:11px;color:rgba(245,237,224,.45);margin-bottom:6px;line-height:1.4}
.re-card-meta{font-size:10px;color:rgba(245,237,224,.38);display:flex;flex-direction:column;gap:2px}
.re-card-cta{font-size:12px;font-weight:700;color:var(--gold);margin-top:8px;display:flex;align-items:center;gap:3px}
.re-card:hover .re-card-cta{color:#fbbf24}
