*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cyan:#00E5FF;--cyan-dim:#00B8CC;--cyan-dark:#007A8A;
  --green:#4AE54A;--green-dim:#2DB82D;--yellow:#FFD700;
  --navy:#0A1628;--navy-mid:#0E1F3A;--navy-light:#152845;
  --dark-green:#0D2210;--muted:#6A8AAA;--cream:#E8F4F8;--white:#FFFFFF;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--navy);color:var(--cream);overflow-x:hidden}

body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1px 1px at 10% 15%,rgba(255,255,255,0.8) 0%,transparent 100%),
    radial-gradient(1px 1px at 25% 45%,rgba(255,255,255,0.6) 0%,transparent 100%),
    radial-gradient(1px 1px at 40% 10%,rgba(255,255,255,0.9) 0%,transparent 100%),
    radial-gradient(1px 1px at 55% 30%,rgba(255,255,255,0.5) 0%,transparent 100%),
    radial-gradient(1px 1px at 70% 8%,rgba(255,255,255,0.7) 0%,transparent 100%),
    radial-gradient(1px 1px at 82% 22%,rgba(255,255,255,0.8) 0%,transparent 100%),
    radial-gradient(1px 1px at 92% 45%,rgba(255,255,255,0.6) 0%,transparent 100%),
    radial-gradient(1px 1px at 15% 70%,rgba(255,255,255,0.4) 0%,transparent 100%),
    radial-gradient(1px 1px at 60% 75%,rgba(255,255,255,0.5) 0%,transparent 100%),
    radial-gradient(1px 1px at 88% 80%,rgba(255,255,255,0.7) 0%,transparent 100%),
    radial-gradient(1px 1px at 5% 90%,rgba(255,255,255,0.5) 0%,transparent 100%),
    radial-gradient(1px 1px at 48% 58%,rgba(255,255,255,0.4) 0%,transparent 100%);
}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  padding:1rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(10,22,40,0.93);
  border-bottom:1px solid rgba(0,229,255,0.15);
  backdrop-filter:blur(8px);
}
.nav-logo{font-family:'Bangers',cursive;font-size:1.5rem;letter-spacing:0.12em;color:var(--cyan);text-decoration:none;text-shadow:0 0 20px rgba(0,229,255,0.4)}
.nav-links{display:flex;gap:1.8rem;list-style:none}
.nav-links a{font-family:'Space Mono',monospace;font-size:0.67rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s}
.nav-links a:hover{color:var(--cyan)}
.nav-cta{font-family:'Space Mono',monospace;font-size:0.67rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--navy);background:var(--cyan);padding:0.6rem 1.4rem;text-decoration:none;border:2px solid var(--cyan);transition:all 0.2s}
.nav-cta:hover{background:transparent;color:var(--cyan)}

/* HERO */
#hero{
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:7rem 2rem 4rem;
  position:relative;overflow:hidden;
}
.hero-beam{position:absolute;top:0;left:50%;transform:translateX(-50%);width:500px;height:75vh;background:linear-gradient(to bottom,rgba(74,229,74,0.07) 0%,transparent 100%);clip-path:polygon(33% 0%,67% 0%,88% 100%,12% 100%);pointer-events:none;animation:beamPulse 4s ease-in-out infinite}
@keyframes beamPulse{0%,100%{opacity:0.5}50%{opacity:1}}
.hero-glow{position:absolute;top:15%;left:50%;transform:translateX(-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(0,229,255,0.06) 0%,transparent 70%);pointer-events:none}
.hero-content{position:relative;z-index:2}
.hero-asso{font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--muted);margin-bottom:0.4rem}
.hero-presente{font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--green-dim);margin-bottom:1.2rem}
h1{font-family:'Bangers',cursive;font-size:clamp(5rem,16vw,13rem);line-height:0.85;color:var(--white);letter-spacing:0.04em;text-shadow:4px 4px 0 rgba(0,0,0,0.5),0 0 60px rgba(0,229,255,0.12);margin-bottom:0.3rem}
.hero-vol{display:inline-block;background:var(--cyan);color:var(--navy);font-family:'Bangers',cursive;font-size:clamp(1.8rem,4.5vw,3rem);letter-spacing:0.12em;padding:0.1em 0.8em;margin-bottom:2rem}
.hero-bands{display:flex;flex-wrap:wrap;justify-content:center;gap:0.4rem 1.2rem;margin-bottom:2.2rem;max-width:650px;margin-left:auto;margin-right:auto}
.bh{font-family:'Bangers',cursive;font-size:1.9rem;letter-spacing:0.08em;color:var(--cyan);text-shadow:0 0 15px rgba(0,229,255,0.45)}
.bh.mid{font-size:1.5rem;color:var(--white)}
.bh.sm{font-family:'Space Mono',monospace;font-size:0.7rem;color:rgba(232,244,248,0.7);letter-spacing:0.15em;text-transform:uppercase;align-self:center;font-weight:700}
.hero-date-main{font-family:'Bangers',cursive;font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:0.1em;color:var(--cyan);text-shadow:0 0 20px rgba(0,229,255,0.35);margin-bottom:0.3rem}
.hero-date-sub{font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.8rem}
.hero-ctas{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.hero-price{font-family:'Bangers',cursive;font-size:2.2rem;color:var(--yellow);letter-spacing:0.05em}
.btn-main{font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--navy);background:var(--cyan);padding:1rem 2.5rem;text-decoration:none;border:2px solid var(--cyan);transition:all 0.2s;display:inline-block;box-shadow:0 0 20px rgba(0,229,255,0.25)}
.btn-main:hover{background:transparent;color:var(--cyan);box-shadow:0 0 30px rgba(0,229,255,0.5)}
.btn-ghost{font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--cyan);padding:1rem 2rem;text-decoration:none;border:1px solid rgba(0,229,255,0.35);transition:all 0.2s;display:inline-block}
.btn-ghost:hover{border-color:var(--cyan);background:rgba(0,229,255,0.08)}
.scroll-down{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.2em;color:var(--muted)}
.sd-bar{width:1px;height:40px;background:linear-gradient(to bottom,var(--cyan),transparent);animation:sdAnim 2s ease-in-out infinite}
@keyframes sdAnim{0%,100%{opacity:0;height:20px}50%{opacity:1;height:50px}}

/* SHARED */
section{padding:6rem 2.5rem;position:relative;z-index:1}
.max-w{max-width:1100px;margin-left:auto;margin-right:auto}
.sec-label{font-family:'Space Mono',monospace;font-size:0.63rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--cyan);margin-bottom:2.5rem;display:flex;align-items:center;gap:0.8rem}
.sec-label::before{content:'★';font-size:0.55rem}
h2{font-family:'Bangers',cursive;font-size:clamp(2.5rem,6vw,4.5rem);line-height:0.9;letter-spacing:0.05em;color:var(--white)}
h2 .c{color:var(--cyan)}

/* VISION */
#vision{background:var(--navy-mid)}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.vl p{font-size:0.95rem;line-height:1.9;color:rgba(232,244,248,0.7);margin-top:1rem}
.axes{margin-top:2rem}
.axe{padding:1.8rem 0 1.8rem 1.5rem;border-bottom:1px solid rgba(0,229,255,0.1);position:relative}
.axe:first-child{border-top:1px solid rgba(0,229,255,0.1)}
.axe::before{content:'';position:absolute;left:0;top:2.2rem;width:3px;height:3px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
.axe-t{font-family:'Bangers',cursive;font-size:1.3rem;letter-spacing:0.08em;color:var(--cyan);margin-bottom:0.5rem}
.axe-d{font-size:0.86rem;color:var(--muted);line-height:1.8}

.vr{background:var(--navy-light);border:1px solid rgba(0,229,255,0.18);padding:2.5rem}
.vr-label{font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green-dim);margin-bottom:1rem}
.vr-q{font-family:'Bangers',cursive;font-size:1.8rem;line-height:1.1;letter-spacing:0.05em;color:var(--white);margin-bottom:1rem}
.vr-body{font-size:0.88rem;line-height:1.9;color:var(--muted);font-style:italic;margin-bottom:1.5rem}
/* KEY STATS */
.key-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,229,255,0.1);border:1px solid rgba(0,229,255,0.1);margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,229,255,0.15)}
.ks{text-align:center;padding:1.2rem 0.5rem}
.ks-n{font-family:'Bangers',cursive;font-size:2.8rem;display:block;letter-spacing:0.05em;line-height:1}
.ks-l{font-family:'Space Mono',monospace;font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-top:0.3rem;display:block;line-height:1.5}

/* DATES */
#dates{background:var(--dark-green);border-top:1px solid rgba(74,229,74,0.18)}
.dgrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(74,229,74,0.12);
  border:1px solid rgba(74,229,74,0.12);
  margin-top:3rem;
}
.dc{background:var(--dark-green);padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background 0.3s}
.dc:hover{background:#112d16}
.dc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}
.dc:hover::after{transform:scaleX(1)}
.dc-bg{position:absolute;right:0.8rem;bottom:-0.5rem;font-family:'Bangers',cursive;font-size:8rem;line-height:1;color:rgba(74,229,74,0.05);pointer-events:none}
.dc-wd{font-family:'Space Mono',monospace;font-size:0.63rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green-dim);margin-bottom:0.8rem}
.dc-num{font-family:'Bangers',cursive;font-size:4.5rem;line-height:1;color:var(--white);margin-bottom:0.4rem}
.dc-info{font-size:0.86rem;color:var(--muted);line-height:1.8}
.dc-info strong{color:rgba(232,244,248,0.9);display:block;font-size:0.9rem;margin-bottom:0.2rem}
.dc-info .venue{
  display:inline-block;
  font-family:'Space Mono',monospace;font-size:0.62rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--cyan);margin-top:0.5rem;
  border:1px solid rgba(0,229,255,0.25);
  padding:0.25rem 0.6rem;
}

/* WORKSHOPS */
#workshops{background:var(--navy-mid);border-top:1px solid rgba(0,229,255,0.08)}
.wshop-intro{font-size:0.95rem;line-height:1.9;color:rgba(232,244,248,0.7);margin-top:1rem;max-width:600px}
.wshop-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-top:3.5rem}
.wshop-left{}
.wshop-cards{display:flex;flex-direction:column;gap:0}
.wk{display:flex;gap:1.5rem;padding:1.8rem 0;border-bottom:1px solid rgba(0,229,255,0.08)}
.wk:first-child{border-top:1px solid rgba(0,229,255,0.08)}
.wk-ico{font-size:1.3rem;width:2rem;flex-shrink:0;margin-top:0.1rem}
.wk-t{font-family:'Space Mono',monospace;font-size:0.76rem;font-weight:700;color:var(--white);margin-bottom:0.3rem;letter-spacing:0.05em}
.wk-d{font-size:0.84rem;color:var(--muted);line-height:1.7}
.wk-inter{
  font-family:'Space Mono',monospace;font-size:0.6rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--cyan-dark);margin-top:0.4rem;
}

.wshop-right{background:var(--navy);border:1px solid rgba(0,229,255,0.18);padding:2.5rem}
.wr-label{font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green-dim);margin-bottom:1rem}
.wr-title{font-family:'Bangers',cursive;font-size:1.8rem;line-height:1.1;letter-spacing:0.05em;color:var(--cyan);margin-bottom:1rem}
.wr-body{font-size:0.88rem;line-height:1.9;color:var(--muted)}
.week-timeline{margin-top:1.8rem;display:flex;flex-direction:column;gap:0}
.wt-item{display:flex;gap:1rem;padding:0.9rem 0;border-bottom:1px solid rgba(0,229,255,0.08);align-items:flex-start}
.wt-item:first-child{border-top:1px solid rgba(0,229,255,0.08)}
.wt-day{font-family:'Bangers',cursive;font-size:1.1rem;letter-spacing:0.06em;color:var(--cyan);min-width:4rem;flex-shrink:0}
.wt-info{font-size:0.8rem;color:var(--muted);line-height:1.6}
.wt-info strong{color:var(--cream);display:block;margin-bottom:0.15rem}

/* Workshop detail grid (jazz + cuivres) */
.wk-detail-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0.9rem;
  margin-top:1rem;
}
.wk-detail{display:flex;gap:0.7rem;align-items:flex-start}
.wk-detail-ico{font-size:1rem;flex-shrink:0;margin-top:0.05rem}
.wk-detail strong{
  display:block;font-family:'Space Mono',monospace;font-size:0.7rem;
  letter-spacing:0.04em;color:var(--cream);margin-bottom:0.15rem;
}
.wk-detail div div{font-size:0.78rem;color:var(--muted);line-height:1.6}

/* Bouton inscription / contact atelier */
.wk-cta{
  display:inline-flex;align-items:center;gap:0.5rem;
  margin-top:1rem;
  font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--green);border:1px solid rgba(74,229,74,0.35);
  padding:0.55rem 1rem;cursor:pointer;background:transparent;
  transition:all 0.2s;text-decoration:none;
}
.wk-cta:hover{background:rgba(74,229,74,0.08);border-color:var(--green)}

@media(max-width:600px){
  .wk-detail-grid{grid-template-columns:1fr}
}

/* AFTERMOVIE */
#aftermovie{background:var(--navy);border-top:1px solid rgba(0,229,255,0.08)}
.aftermovie-intro{font-size:0.95rem;line-height:1.9;color:rgba(232,244,248,0.7);margin-top:1rem;max-width:720px}
.aftermovie-card{margin-top:3rem;background:var(--navy-light);border:1px solid rgba(0,229,255,0.12);padding:2rem;overflow:hidden;border-radius:1rem;box-shadow:0 0 40px rgba(0,0,0,0.12)}
.aftermovie-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}
.aftermovie-badge{font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--navy);background:var(--cyan);padding:0.55rem 1rem;border-radius:999px;display:inline-block}
.aftermovie-note{font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}
.aftermovie-video{position:relative;padding-top:42.55%;border-radius:1rem;overflow:hidden;background:#000;margin:3rem 0}
.aftermovie-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.aftermovie-caption{margin-top:1rem;font-size:0.84rem;color:var(--muted);line-height:1.7}

/* PROGRAMME */
#programme{background:var(--navy)}
.ph{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;flex-wrap:wrap;gap:1rem}
.ph-note{font-family:'Space Mono',monospace;font-size:0.68rem;color:var(--muted);letter-spacing:0.08em;text-align:right;max-width:200px;line-height:1.7}
.ggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.gc{border:1px solid rgba(0,229,255,0.12);background:var(--navy-mid);padding:2rem;position:relative;overflow:hidden;transition:border-color 0.3s,background 0.3s}
.gc:hover{border-color:rgba(0,229,255,0.4);background:var(--navy-light)}
.gc.tete{border-color:rgba(0,229,255,0.28);background:var(--navy-light)}
.gc.tete::before{content:'★ TÊTE D\'AFFICHE';position:absolute;top:0;right:0;font-family:'Space Mono',monospace;font-size:0.53rem;letter-spacing:0.12em;background:var(--cyan);color:var(--navy);padding:0.28rem 0.8rem}
.gc-beam{position:absolute;top:0;right:0;width:80px;height:100%;background:linear-gradient(to left,rgba(0,229,255,0.04),transparent);pointer-events:none}
.gc-tag{font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--cyan-dark);margin-bottom:0.7rem}
.gc-name{font-family:'Bangers',cursive;font-size:2.2rem;letter-spacing:0.06em;color:var(--white);margin-bottom:0.5rem;line-height:1}
.gc.tete .gc-name{font-size:2.8rem;color:var(--cyan);text-shadow:0 0 20px rgba(0,229,255,0.28)}
.gc-desc{font-size:0.84rem;color:var(--muted);line-height:1.7}
.gc-video-btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  margin-top:1rem;
  font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--cyan);border:1px solid rgba(0,229,255,0.35);
  padding:0.5rem 1rem;cursor:pointer;background:transparent;
  transition:all 0.2s;
}
.gc-video-btn:hover{background:rgba(0,229,255,0.08);border-color:var(--cyan)}
.gc-video-btn .play-ico{font-size:0.8rem}
.amt-sect{margin-top:1.8rem}
.amt-label{font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green-dim);margin-bottom:1rem;display:flex;align-items:center;gap:0.8rem}
.amt-label::after{content:'';flex:1;height:1px;background:rgba(74,229,74,0.18)}
.amt-row{display:flex;flex-wrap:wrap;gap:0.6rem}
.amt-tag{font-family:'Space Mono',monospace;font-size:0.63rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--green-dim);border:1px solid rgba(74,229,74,0.22);padding:0.4rem 0.9rem}

/* VIDEO MODAL */
#video-modal {
  display:none;position:fixed;inset:0;z-index:1000;
  background:rgba(5,12,24,0.92);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;padding:1.5rem;
}
#video-modal.open{display:flex}
.modal-inner{
  position:relative;width:100%;max-width:820px;
  background:var(--navy-mid);border:1px solid rgba(0,229,255,0.25);
}
.modal-close{
  position:absolute;top:-2.5rem;right:0;
  font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.2em;
  color:var(--muted);background:transparent;border:none;cursor:pointer;
  display:flex;align-items:center;gap:0.4rem;
}
.modal-close:hover{color:var(--cyan)}
.modal-title{
  padding:1rem 1.2rem 0.6rem;
  font-family:'Bangers',cursive;font-size:1.6rem;letter-spacing:0.06em;color:var(--cyan);
}
.modal-video{position:relative;padding-top:56.25%}
.modal-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

@media(max-width:600px){
  .modal-close{top:-2.2rem;font-size:0.6rem}
  .modal-title{font-size:1.3rem;padding:0.9rem 1rem 0.5rem}
}

/* EARLY BIRD BANNER */
.eb-banner {
  background:linear-gradient(135deg,rgba(255,215,0,0.12) 0%,rgba(0,229,255,0.08) 100%);
  border:1px solid rgba(255,215,0,0.5);
  padding:1.2rem 1.8rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
  margin-bottom:2rem;
  position:relative;overflow:hidden;
}
.eb-banner::before{
  content:'⚡ OFFRE LIMITÉE';
  position:absolute;top:0;left:0;
  font-family:'Space Mono',monospace;font-size:0.52rem;letter-spacing:0.18em;
  background:var(--yellow);color:var(--navy);padding:0.2rem 0.7rem;
}
.eb-left{margin-top:0.6rem}
.eb-label{font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:0.3rem}
.eb-title{font-family:'Bangers',cursive;font-size:2rem;letter-spacing:0.06em;color:var(--white);line-height:1}
.eb-desc{font-size:0.82rem;color:rgba(232,244,248,0.65);margin-top:0.3rem;line-height:1.6}
.eb-right{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.eb-price-block{text-align:center}
.eb-old{font-family:'Space Mono',monospace;font-size:0.75rem;color:var(--muted);text-decoration:line-through}
.eb-price{font-family:'Bangers',cursive;font-size:3rem;color:var(--yellow);line-height:1;letter-spacing:0.05em}
.eb-per{font-family:'Space Mono',monospace;font-size:0.58rem;color:var(--muted);letter-spacing:0.1em}
.eb-deadline{
  font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--yellow);border:1px dashed rgba(255,215,0,0.4);padding:0.3rem 0.7rem;
  white-space:nowrap;
}
.eb-btn{
  font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--navy);background:var(--yellow);padding:0.85rem 1.8rem;
  text-decoration:none;border:2px solid var(--yellow);transition:all 0.2s;white-space:nowrap;
  display:inline-block;
}
.eb-btn:hover{background:transparent;color:var(--yellow)}



/* BILLETTERIE */
#billetterie{background:var(--navy-light)}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.bc{border:1px solid rgba(0,229,255,0.14);background:var(--navy);padding:2rem 1.8rem;position:relative;transition:border-color 0.3s}
.bc:hover{border-color:rgba(0,229,255,0.38)}
.bc.feat{border-color:var(--cyan);background:var(--navy-mid)}
.bc.feat::before{content:'CONSEILLÉ';font-family:'Space Mono',monospace;font-size:0.53rem;letter-spacing:0.15em;position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--cyan);color:var(--navy);padding:0.25rem 1rem;white-space:nowrap}
.bc-type{font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.bc-price{font-family:'Bangers',cursive;font-size:3.8rem;line-height:1;color:var(--white);margin-bottom:0.3rem;letter-spacing:0.05em}
.bc-price .cur{font-size:2rem;vertical-align:top;margin-top:0.3em}
.bc-price.free{color:var(--green)}
.bc-lbl{font-size:0.8rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.6}
.bc-feats{list-style:none;display:flex;flex-direction:column;gap:0.5rem;margin-bottom:2rem}
.bc-feats li{font-size:0.8rem;color:rgba(232,244,248,0.6);display:flex;gap:0.6rem;align-items:flex-start}
.bc-feats li::before{content:'✓';color:var(--cyan);flex-shrink:0}
.bc-btn{display:block;width:100%;font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;padding:0.85rem;text-align:center;text-decoration:none;border:1px solid rgba(0,229,255,0.35);color:var(--cyan);background:transparent;cursor:pointer;transition:all 0.2s}
.bc-btn:hover,.bc.feat .bc-btn{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}

/* INFOS */
#infos{background:var(--navy)}
.igrid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.ib{border:1px solid rgba(0,229,255,0.1);background:var(--navy-mid);padding:2rem}
.ib-ico{font-size:1.5rem;margin-bottom:1rem}
.ib-t{font-family:'Bangers',cursive;font-size:1.4rem;letter-spacing:0.06em;color:var(--cyan);margin-bottom:0.8rem}
.ib-c{font-size:0.86rem;line-height:1.9;color:var(--muted)}
.ib-c strong{color:var(--cream);display:block}
.ib-c a{color:var(--cyan);text-decoration:none}
.ib-c a:hover{text-decoration:underline}

/* OBJECTIFS */
#objectifs{background:var(--dark-green);border-top:1px solid rgba(74,229,74,0.18)}
.obj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.obj-card{border:1px solid rgba(74,229,74,0.15);background:rgba(13,34,16,0.8);padding:1.8rem}
.obj-num{font-family:'Bangers',cursive;font-size:3rem;color:var(--green);display:block;line-height:1;margin-bottom:0.5rem;letter-spacing:0.05em}
.obj-title{font-family:'Space Mono',monospace;font-size:0.68rem;font-weight:700;color:var(--white);letter-spacing:0.08em;margin-bottom:0.5rem;text-transform:uppercase}
.obj-desc{font-size:0.82rem;color:var(--muted);line-height:1.7}

/* EQUIPE */
#equipe{background:var(--navy-mid);border-top:1px solid rgba(0,229,255,0.08)}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.eq-card{border:1px solid rgba(0,229,255,0.1);background:var(--navy);padding:1.5rem}
.eq-role{font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--cyan-dark);margin-bottom:0.5rem}
.eq-name{font-family:'Bangers',cursive;font-size:1.4rem;letter-spacing:0.06em;color:var(--white)}
.eq-card.bene{border-color:rgba(74,229,74,0.2);grid-column:span 3;text-align:center;padding:1.2rem}
.eq-card.bene .eq-name{color:var(--green);font-size:1.1rem}

/* PARTENAIRES */
#partenaires{background:var(--navy-mid);border-top:1px solid rgba(0,229,255,0.08)}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2.5rem}
.partner-card{border:1px solid rgba(0,229,255,0.15);background:var(--navy);padding:1.8rem;text-align:center;transition:all 0.3s;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;text-decoration:none;color:inherit;cursor:pointer}
.partner-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--cyan),transparent);transform:scaleX(0);transition:transform 0.3s}
.partner-card:hover{border-color:rgba(0,229,255,0.35);background:var(--navy-light)}
.partner-card:hover::before{transform:scaleX(1)}
.partner-logo{width:100%;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden}
.partner-logo img{max-width:100%;max-height:100%;object-fit:contain;opacity:0.85;transition:opacity 0.3s}
.partner-card:hover .partner-logo img{opacity:1}
.partner-name{font-family:'Bangers',cursive;font-size:1.2rem;letter-spacing:0.05em;color:var(--white);margin-bottom:0.5rem;line-height:1.2}
.partner-type{font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--cyan-dark)}

/* FOOTER */
footer{background:var(--dark-green);border-top:1px solid rgba(74,229,74,0.18);padding:3rem 2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.ft-logo{font-family:'Bangers',cursive;font-size:1.8rem;letter-spacing:0.1em;color:var(--white)}
.ft-logo span{color:var(--cyan)}
.ft-asso{font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--green-dim);margin-top:0.3rem}
.ft-links{display:flex;gap:1.5rem;list-style:none}
.ft-links a{font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;color:var(--muted);text-decoration:none;transition:color 0.2s}
.ft-links a:hover{color:var(--cyan)}
.ft-contact{font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;color:var(--cream)}
.ft-contact a{color:var(--cyan);text-decoration:none}
.ft-copy{font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;color:rgba(106,138,170,0.4);width:100%;border-top:1px solid rgba(0,229,255,0.07);padding-top:1.5rem;margin-top:0.5rem}

/* RESPONSIVE */
@media(max-width:1024px){
  .dgrid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  nav{padding:0.8rem 1.2rem}
  .nav-links{display:none}
  section{padding:4rem 1.2rem}
  .vgrid,.wshop-grid,.igrid{grid-template-columns:1fr;gap:2.5rem}
  .dgrid{grid-template-columns:1fr}
  .ggrid,.bgrid,.obj-grid,.eq-grid{grid-template-columns:1fr}
  .ph{flex-direction:column;align-items:flex-start}
  .eq-card.bene{grid-column:span 1}
  footer{flex-direction:column;align-items:flex-start}
  .dc-num{font-size:3rem}
  .dc-bg{font-size:5rem}
}