/*
================================================================
OGBC — STYLE MASTER PROPRE
Version consolidée : 14.09.2026
----------------------------------------------------------------
Contient uniquement :
1. Base commune / header / footer / pages encore génériques
2. Home actuelle : .og-home-final
3. Club validé : .club-final
4. Équipes validées : .teams-final
5. Inscriptions validées + formulaire Infomaniak
----------------------------------------------------------------
Supprimé :
- home-cinematic
- locked-*
- anciens correctifs de hotspots
- anciennes variantes de Home
================================================================
*/


:root{--bg:#050506;--panel:#0a0a0c;--gold:#c7a35a;--white:#f5f3ee;--muted:#aaa69e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}.dot{display:inline-block;margin-left:.14em}.kicker{color:var(--gold);font-size:12px;letter-spacing:.26em;font-weight:700}
.site-header{position:sticky;top:0;z-index:50;height:82px;background:rgba(5,5,6,.97);display:flex;align-items:center;gap:28px;padding:0 32px;border-bottom:1px solid #1b1b1d}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.04em;line-height:1.05}.brand img{width:58px;height:58px;object-fit:contain}
.desktop-nav{display:flex;gap:24px;margin-left:auto}.desktop-nav a{font-size:11px;letter-spacing:.15em;text-decoration:none}.desktop-nav a:hover{color:var(--gold)}
.socials{display:flex;gap:10px}.socials a{font-size:11px;text-decoration:none;border:1px solid #2d2d30;padding:7px 8px}
.join{border:1px solid var(--gold);padding:12px 16px;text-decoration:none;font-size:10px;letter-spacing:.15em}.menu-btn{display:none;background:none;border:0;color:white;font-size:28px}.mobile-nav{display:none}
.hero-carousel{position:relative;height:calc(100vh - 82px);min-height:650px;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}.hero-slide.active{opacity:1}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.28) 52%,rgba(0,0,0,.16)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}
.hero-copy{position:absolute;z-index:2;left:7vw;bottom:12vh;max-width:780px}.hero-copy h1,.hero-copy h2{font-size:clamp(60px,8.5vw,138px);line-height:.82;letter-spacing:-.05em;margin:12px 0 24px;text-transform:uppercase}.hero-copy h2{font-size:clamp(48px,6.5vw,100px)}.hero-copy .motto{font-size:18px;letter-spacing:.22em}.hero-copy .motto b{color:var(--gold)}
.hero-cta{display:flex;gap:12px;margin-top:28px}.hero-cta a{border:1px solid var(--gold);padding:14px 20px;text-decoration:none;font-size:11px;letter-spacing:.16em}.hero-cta a:first-child{background:var(--gold);color:#080808}.hero-cta .ghost{background:transparent;color:white}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(0,0,0,.25);border:0;color:#fff;font-size:42px;width:58px;height:58px;cursor:pointer}.carousel-arrow.prev{left:16px}.carousel-arrow.next{right:16px}.carousel-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px}.carousel-dots button{width:9px;height:9px;border-radius:50%;border:0;background:white;opacity:.4}.carousel-dots button.active{background:var(--gold);opacity:1}
.visual-menu{display:grid;border-top:1px solid #1a1a1c;border-bottom:1px solid #1a1a1c}.visual-menu.four{grid-template-columns:repeat(4,1fr)}.menu-card{position:relative;height:310px;background-size:cover;background-position:center;text-decoration:none;overflow:hidden;border-right:1px solid rgba(255,255,255,.08)}.menu-card:last-child{border-right:0}.menu-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.06) 72%)}.menu-card span,.menu-card strong{position:absolute;left:24px;z-index:2}.menu-card span{bottom:70px;color:var(--gold);font-size:11px;letter-spacing:.2em}.menu-card strong{bottom:28px;font-size:22px;max-width:82%;line-height:1}.menu-card:hover{filter:brightness(1.08)}
.split{display:grid;grid-template-columns:58% 42%;min-height:620px}.split-image{background-size:cover;background-position:center}.split-copy{padding:76px 6vw;display:flex;flex-direction:column;justify-content:center}.split-copy h2{font-size:clamp(52px,6vw,94px);line-height:.84;margin:18px 0 24px;letter-spacing:-.04em}.split-copy p{max-width:580px;color:#c8c4bc;line-height:1.65}.text-link{margin-top:18px;text-decoration:none;letter-spacing:.15em;font-size:11px}
.gallery3{display:grid;grid-template-columns:repeat(3,1fr);height:420px}.gallery3 div{background-size:cover;background-position:center}
.page-hero{height:58vh;min-height:480px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:0 6vw 60px}.page-hero>div:last-child{position:relative;z-index:2}.page-hero h1{font-size:clamp(60px,8vw,118px);line-height:.84;margin:10px 0;letter-spacing:-.05em}
.content-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#171719}.content-grid article{background:#070708;padding:50px 34px;min-height:260px}.content-grid h2{font-size:30px}.content-grid p{color:#bdb8af;line-height:1.6}
.quote-band{padding:70px 7vw;background:#0b0b0d}.quote-band blockquote{font-size:clamp(28px,4vw,62px);line-height:1.05;margin:0;max-width:1100px}
.teams-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#19191b}.teams-grid article{background:#09090a}.teams-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.teams-grid article div{padding:22px}.teams-grid span{color:var(--gold);font-size:10px;letter-spacing:.2em}.teams-grid h2{font-size:36px;margin:8px 0}.teams-grid p{color:#b9b4ac;line-height:1.5}
.signup{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;padding:80px 7vw}.signup h2{font-size:58px;margin-top:0}.signup p{color:#c3beb5;line-height:1.65}.big-btn{display:inline-block;margin-top:20px;border:1px solid var(--gold);padding:16px 22px;text-decoration:none}.checklist{border-left:1px solid #222;padding-left:38px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#19191b}.news-grid article{background:#080809}.news-grid img{width:100%;height:300px;object-fit:cover}.news-grid article div{padding:28px}.news-grid span{color:var(--gold);font-size:10px;letter-spacing:.18em}.news-grid h2{font-size:32px}.news-grid p{color:#bdb9b1;line-height:1.55}
.partners-intro,.partner-note{padding:60px 7vw}.partners-intro p,.partner-note p{max-width:850px;color:#c4c0b7;font-size:20px;line-height:1.6}.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#1a1a1c}.partners-grid a{background:#080809;min-height:250px;padding:38px;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end}.partners-grid strong{font-size:28px;line-height:1}.partners-grid span{margin-top:12px;color:var(--gold);font-size:11px;letter-spacing:.15em}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:60px;padding:80px 7vw}.contact-grid h2{font-size:42px}.contact-grid p,.contact-grid a{color:#c8c4bc;line-height:1.7;text-decoration:none}.contact-logo{display:flex;align-items:center;justify-content:center}.contact-logo img{width:220px;max-width:100%}
.site-footer{padding:48px 5vw 28px;border-top:1px solid #1f1f21;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;align-items:center}.footer-brand{display:flex;align-items:center;gap:18px;font-weight:800;letter-spacing:.12em}.footer-brand img{width:64px}.footer-links,.footer-social{display:flex;flex-direction:column;gap:8px}.footer-links a,.footer-social a{text-decoration:none;color:#bbb6ad;font-size:11px;letter-spacing:.12em}.footer-copy{grid-column:1/-1;color:#777;font-size:9px;letter-spacing:.18em;margin-top:18px}
@media(max-width:1050px){.desktop-nav{gap:13px}.desktop-nav a{font-size:9px}.visual-menu.four{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:repeat(2,1fr)}.teams-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.site-header{height:72px;padding:0 14px}.brand span,.desktop-nav,.socials,.join{display:none}.menu-btn{display:block;margin-left:auto}.mobile-nav{position:fixed;top:72px;left:0;right:0;z-index:49;background:#050506;padding:18px;display:none;flex-direction:column;gap:14px}.mobile-nav.open{display:flex}.mobile-nav a{text-decoration:none;font-size:12px;letter-spacing:.14em}.hero-carousel{height:78vh;min-height:560px}.hero-copy{left:24px;right:24px;bottom:70px}.hero-copy h1{font-size:58px}.hero-copy h2{font-size:44px}.hero-copy .motto{font-size:13px}.carousel-arrow{display:none}.visual-menu.four{grid-template-columns:1fr 1fr}.menu-card{height:230px}.split{grid-template-columns:1fr}.split-image{min-height:380px}.split-copy{padding:56px 24px}.gallery3{grid-template-columns:1fr;height:auto}.gallery3 div{height:280px}.page-hero{min-height:420px;height:52vh;padding:0 24px 42px}.page-hero h1{font-size:54px}.content-grid,.teams-grid,.news-grid,.partners-grid{grid-template-columns:1fr}.signup,.contact-grid{grid-template-columns:1fr;padding:56px 24px}.checklist{border-left:0;padding-left:0}.site-footer{grid-template-columns:1fr}}

/* ============================================================
   HOME ACTUELLE
   ============================================================ */
/* ============================================================
   OG HOME FINAL — EXACT VISUAL LOGIC
   ============================================================ */

.og-home-final{
  background:#020203;
  color:#fff;
}

/* The stage is always a 2:1 composition.
   On a 16:9 desktop, this fills almost exactly the available viewport.
*/
.og-stage-wrap{
  height:calc(100svh - 82px);
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#020203;
  overflow:hidden;
}

.og-stage{
  width:min(100vw, calc((100svh - 82px) * 2));
  aspect-ratio:2 / 1;
  display:grid;
  grid-template-columns:64% 36%;
  grid-template-rows:36% 36% 28%;
  gap:2px;
  background:#18181a;
  overflow:hidden;
}

/* HERO */
.og-carousel{
  grid-column:1;
  grid-row:1 / 3;
  position:relative;
  overflow:hidden;
  background:#000;
}

.og-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .65s ease;
}

.og-slide.active{opacity:1}

.og-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#000;
}

.og-arrow{
  position:absolute;
  top:50%;
  z-index:10;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border:0;
  background:rgba(0,0,0,.22);
  color:#fff;
  font-size:40px;
  cursor:pointer;
}

.og-prev{left:14px}
.og-next{right:14px}

.og-dots{
  position:absolute;
  z-index:10;
  bottom:17px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
}

.og-dots button{
  width:9px;
  height:9px;
  border:0;
  border-radius:50%;
  padding:0;
  background:#fff;
  opacity:.35;
}

.og-dots button.active{
  background:#c7a35a;
  opacity:1;
}

/* TILES */
.og-tile{
  position:relative;
  display:block;
  overflow:hidden;
  background:#000;
  min-width:0;
  min-height:0;
}

.og-tile img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#000;
  transition:filter .25s ease, transform .25s ease;
}

.og-tile:hover img{
  filter:brightness(1.04);
  transform:scale(1.004);
}

.og-story{grid-column:2;grid-row:1}
.og-teams{grid-column:2;grid-row:2}

/* bottom row = 3 equal blocks */
.og-register,
.og-news,
.og-partners{
  grid-row:3;
}

.og-register{
  grid-column:1 / 3;
  width:33.333333%;
  justify-self:start;
}

.og-news{
  grid-column:1 / 3;
  width:33.333333%;
  justify-self:center;
}

.og-partners{
  grid-column:1 / 3;
  width:33.333333%;
  justify-self:end;
}

/* partners tile overlay */
.og-partners-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:7% 8%;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42) 48%,rgba(0,0,0,.08));
  pointer-events:none;
}

.og-partners-overlay span{
  color:#c7a35a;
  font-size:10px;
  letter-spacing:.18em;
  font-weight:700;
}

.og-partners-overlay strong{
  margin-top:6px;
  font-size:clamp(21px,2.05vw,42px);
  line-height:.92;
  letter-spacing:-.04em;
}

.og-partners-overlay small{
  margin-top:16px;
  padding:8px 12px;
  border:1px solid #c7a35a;
  color:#fff;
  font-size:8px;
  letter-spacing:.13em;
}

/* FULL-WIDTH CONTENT */
.og-full-section{
  width:100%;
  background:#020203;
  border-top:1px solid #18181a;
  padding:0;
}

.og-full-section a{
  display:block;
  width:100%;
  text-decoration:none;
}

.og-full-section img{
  display:block;
  width:100%;
  height:auto;
}

/* CONTACT */
.og-contact-section{
  position:relative;
  min-height:78vh;
  overflow:hidden;
  border-top:1px solid #18181a;
  background:#000;
}

.og-contact-section>img{
  width:100%;
  height:100%;
  min-height:78vh;
  object-fit:cover;
  display:block;
  filter:brightness(.72);
}

.og-contact-copy{
  position:absolute;
  left:7vw;
  bottom:10vh;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.og-contact-copy span,
.og-partners-final-copy span{
  color:#c7a35a;
  font-size:12px;
  letter-spacing:.22em;
  font-weight:700;
}

.og-contact-copy strong,
.og-partners-final-copy strong{
  margin-top:8px;
  font-size:clamp(58px,8vw,90px);
  line-height:.84;
  letter-spacing:-.05em;
}

.og-contact-copy a,
.og-partners-final-copy a{
  margin-top:24px;
  border:1px solid #c7a35a;
  padding:13px 18px;
  color:#fff;
  text-decoration:none;
  font-size:10px;
  letter-spacing:.14em;
}

/* PARTNERS LAST */
.og-partners-final{
  min-height:80vh;
  display:grid;
  grid-template-columns:38% 62%;
  align-items:center;
  background:#020203;
  border-top:1px solid #18181a;
}

.og-partners-final-copy{
  padding:7vw 5vw;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.og-partners-final img{
  display:block;
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
}

/* TABLET */
@media(max-width:1000px){
  .og-stage-wrap{
    min-height:560px;
  }
}

/* MOBILE */
@media(max-width:760px){

  .og-stage-wrap{
    height:auto;
    min-height:0;
    display:block;
  }

  .og-stage{
    width:100%;
    aspect-ratio:auto;
    display:flex;
    flex-direction:column;
    gap:2px;
  }

  .og-carousel{
    width:100%;
    height:68svh;
    min-height:480px;
    flex:none;
    order:1;
  }

  .og-arrow{display:none}

  .og-story{order:2}
  .og-teams{order:3}
  .og-register{order:4}
  .og-news{order:5}
  .og-partners{order:6}

  .og-tile,
  .og-register,
  .og-news,
  .og-partners{
    width:100% !important;
    height:auto;
    min-height:0;
    justify-self:auto;
  }

  .og-tile img{
    width:100%;
    height:auto;
    object-fit:contain;
  }

  .og-partners-overlay{
    padding:7% 8%;
  }

  .og-partners-overlay strong{
    font-size:34px;
  }

  .og-contact-section{
    min-height:65svh;
  }

  .og-contact-section>img{
    min-height:65svh;
  }

  .og-contact-copy{
    left:24px;
    right:24px;
    bottom:48px;
  }

  .og-contact-copy strong,
  .og-partners-final-copy strong{
    font-size:56px;
  }

  .og-partners-final{
    grid-template-columns:1fr;
    min-height:0;
  }

  .og-partners-final-copy{
    padding:60px 24px 40px;
  }

  .og-partners-final img{
    padding:0 18px 50px;
    max-height:none;
  }
}

/* ============================================================
   CLUB VALIDÉ
   ============================================================ */
/* =========================================================
   CLUB — VERSION VALIDÉE OG
   ========================================================= */
.club-final{background:#030304;color:#f5f3ee}
.club-panel{
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(330px,34%) 1fr;
  border-bottom:1px solid #8f6b22;
  overflow:hidden;
}
.club-copy{
  padding:clamp(46px,5vw,82px) clamp(28px,4vw,68px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#030304;
  position:relative;
  z-index:2;
}
.club-label{
  margin:0 0 28px;
  color:#d4a63c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.28em;
}
.club-label:before{
  content:"";
  display:inline-block;
  width:36px;
  height:3px;
  margin:0 14px 3px 0;
  background:#d4a63c;
}
.club-copy h1,.club-copy h2{
  margin:0;
  font-size:clamp(48px,5.6vw,92px);
  line-height:.88;
  letter-spacing:-.055em;
  text-transform:uppercase;
  font-weight:900;
}
.club-copy h1 em,.club-copy h2 em{
  color:#d4a63c;
  font-style:normal;
}
.wild-title{font-style:italic}
.latin{
  margin:34px 0 0;
  font-size:clamp(13px,1.25vw,20px);
  letter-spacing:.30em;
}
.roman{
  margin:12px 0 0;
  color:#d4a63c;
  font-weight:800;
  letter-spacing:.28em;
}
.club-media{
  min-height:620px;
  background-size:cover;
  background-position:center;
}
.hero-media{background-image:url('../images/club-hero.jpg')}
.comite-media{background-image:url('../images/club-comite.jpg')}
.coachs-media{background-image:url('../images/club-coachs.jpg')}
.arbitres-media{background-image:url('../images/club-arbitres.jpg')}

.people{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-top:58px;
}
.people>div{
  padding:0 22px;
  border-left:1px solid #9c7529;
}
.people>div:first-child{padding-left:0;border-left:0}
.people strong{
  display:block;
  font-size:clamp(15px,1.4vw,22px);
  letter-spacing:.05em;
}
.people span{
  display:block;
  margin-top:7px;
  color:#d4a63c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.people.five{gap:0}
.people.five>div{padding:0 13px}
.people.two>div{padding-right:36px}

.club-final-quote{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
  padding:52px 5vw;
  background:#030304;
}
.club-final-quote span{height:1px;background:#b88725}
.club-final-quote blockquote{
  margin:0;
  max-width:900px;
  text-align:center;
  font-size:clamp(12px,1.35vw,18px);
  letter-spacing:.22em;
  line-height:1.6;
}

@media(max-width:900px){
  .club-panel{
    grid-template-columns:1fr;
    min-height:0;
  }
  .club-copy{
    padding:52px 24px 42px;
  }
  .club-copy h1,.club-copy h2{
    font-size:clamp(46px,13vw,76px);
  }
  .club-media{
    min-height:58vw;
    order:2;
  }
  .people{
    margin-top:38px;
    row-gap:22px;
  }
  .people.five>div{
    width:33.333%;
    padding:0 12px;
  }
  .club-final-quote{
    grid-template-columns:1fr;
    gap:20px;
    padding:44px 24px;
  }
}
@media(max-width:560px){
  .club-label{margin-bottom:20px}
  .latin{letter-spacing:.18em;line-height:1.6}
  .club-media{min-height:78vw}
  .people>div,.people.five>div{
    width:50%;
    padding:0 10px 0 0;
    border-left:0;
  }
  .committee-people>div{width:100%;margin-bottom:16px}
}

/* ============================================================
   ÉQUIPES VALIDÉES
   ============================================================ */
/* ÉQUIPES — VERSION VALIDÉE */
.teams-final{background:#030304;color:#f5f2eb}
.teams-hero,.movement{display:grid;grid-template-columns:39% 61%;min-height:590px;border-bottom:1px solid #a57925;overflow:hidden}
.teams-copy,.movement-copy{padding:clamp(44px,5vw,78px) clamp(26px,4vw,64px);display:flex;flex-direction:column;justify-content:center;background:#030304;z-index:2}
.teams-label{margin:0 0 20px;color:#d5a43b;font-size:11px;font-weight:900;letter-spacing:.26em}
.teams-label:before{content:"";display:inline-block;width:34px;height:3px;background:#d5a43b;margin:0 14px 3px 0}
.teams-copy h1,.movement-copy h2{margin:0;font-size:clamp(54px,6vw,100px);line-height:.86;letter-spacing:-.055em;text-transform:uppercase;font-weight:950}
.teams-copy h1 em,.movement-copy h2 em{color:#d5a43b;font-style:normal}
.teams-tagline{margin:22px 0 0;font-size:clamp(14px,1.55vw,23px);letter-spacing:.28em}
.teams-lead,.movement-intro{margin:24px 0 0;max-width:600px;color:#c2bdb4;font-size:16px;line-height:1.6}
.teams-script{margin:28px 0 0;font-size:clamp(28px,3vw,48px);font-style:italic;letter-spacing:.02em}
.teams-media{min-height:590px;background-size:cover;background-position:center}
.hero-team-media{background-image:url('../images/equipes-hero.jpg')}
.mini-media{background-image:url('../images/mini-basket.jpg')}
.jeunesse-media{background-image:url('../images/jeunesse.jpg')}
.age{margin:24px 0 0;font-size:clamp(22px,2.2vw,35px);letter-spacing:.27em;font-weight:800}
.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0 18px}
.schedule article{border:1px solid #c28d25;padding:15px 12px;min-height:108px;display:flex;flex-direction:column}
.schedule strong{color:#d5a43b;font-size:12px;letter-spacing:.15em}
.schedule b{margin-top:7px;font-size:14px}
.schedule span{margin-top:6px;color:#c8c2b8;font-size:12px;line-height:1.25}
.teams-cta{display:flex;justify-content:space-between;align-items:center;width:205px;margin-top:4px;border:1px solid #d5a43b;padding:15px 17px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.15em}
.teams-cta:hover{background:#d5a43b;color:#050506}
.teams-bottom{display:flex;justify-content:center;gap:18px;padding:48px 20px;background:#050506;font-size:clamp(15px,2vw,27px);letter-spacing:.18em}
.teams-bottom span{color:#d5a43b}
@media(max-width:950px){
 .teams-hero,.movement{grid-template-columns:1fr;min-height:0}
 .teams-copy,.movement-copy{padding:52px 25px 42px}
 .teams-media{min-height:58vw;order:2}
}
@media(max-width:600px){
 .teams-copy h1,.movement-copy h2{font-size:clamp(50px,16vw,72px)}
 .schedule{grid-template-columns:1fr}
 .schedule article{min-height:0}
 .teams-media{min-height:78vw}
 .teams-bottom{flex-direction:column;text-align:center;gap:8px}
}

/* ============================================================
   INSCRIPTIONS VALIDÉES + INFOMANIAK
   ============================================================ */
/* ============================================================
   INSCRIPTIONS — VERSION VALIDÉE
   ============================================================ */

.registration-final{background:#030304;color:#f5f2eb}

.registration-hero-final,
.registration-movement{
  display:grid;
  grid-template-columns:42% 58%;
  min-height:590px;
  border-bottom:1px solid #a57925;
  overflow:hidden;
}

.registration-hero-copy,
.registration-movement-copy{
  padding:clamp(44px,5vw,78px) clamp(26px,4vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#030304;
  position:relative;
  z-index:2;
}

.reg-label{
  margin:0 0 20px;
  color:#d5a43b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.26em;
}
.reg-label:before{
  content:"";
  display:inline-block;
  width:34px;
  height:3px;
  margin:0 14px 3px 0;
  background:#d5a43b;
}

.registration-hero-copy h1,
.registration-movement-copy h2,
.registration-form-copy h2{
  margin:0;
  font-size:clamp(56px,6vw,100px);
  line-height:.86;
  letter-spacing:-.055em;
  text-transform:uppercase;
  font-weight:950;
}
.registration-hero-copy h1 span,
.registration-movement-copy h2 span,
.registration-form-copy h2 span{
  color:#d5a43b;
}

.reg-tagline{
  margin:22px 0 0;
  font-size:clamp(16px,1.8vw,27px);
  line-height:1.45;
  letter-spacing:.24em;
}
.reg-lead,.reg-intro{
  margin:24px 0 0;
  max-width:610px;
  color:#c3beb5;
  font-size:16px;
  line-height:1.65;
}
.reg-script{
  margin:28px 0 0;
  font-size:clamp(27px,3vw,47px);
  font-style:italic;
}

.reg-media{
  min-height:590px;
  background-size:cover;
  background-position:center;
}
.reg-hero-media{background-image:url('../images/inscriptions-hero.jpg')}
.reg-mini-media{background-image:url('../images/inscriptions-mini.jpg')}
.reg-jeunesse-media{background-image:url('../images/inscriptions-jeunesse.jpg')}

.reg-age{
  margin:24px 0 0;
  font-size:clamp(22px,2.2vw,35px);
  font-weight:800;
  letter-spacing:.27em;
}

.reg-facts{
  display:grid;
  grid-template-columns:1fr 1.7fr;
  max-width:540px;
  margin-top:26px;
  border-top:1px solid #2a2a2d;
  border-bottom:1px solid #2a2a2d;
}
.reg-facts>div{
  padding:15px 18px 15px 0;
}
.reg-facts>div+div{
  padding-left:18px;
  border-left:1px solid #76591e;
}
.reg-facts strong{
  display:block;
  color:#d5a43b;
  font-size:10px;
  letter-spacing:.16em;
}
.reg-facts span{
  display:block;
  margin-top:5px;
  color:#e1ddd5;
  font-size:13px;
}

.reg-schedule{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:26px 0 18px;
}
.reg-schedule article{
  min-height:105px;
  padding:14px 12px;
  border:1px solid #c28d25;
  display:flex;
  flex-direction:column;
}
.reg-schedule strong{
  color:#d5a43b;
  font-size:11px;
  letter-spacing:.15em;
}
.reg-schedule b{
  margin-top:7px;
  font-size:14px;
}
.reg-schedule span{
  margin-top:6px;
  color:#c8c2b8;
  font-size:12px;
}

.reg-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(100%,260px);
  padding:15px 17px;
  border:1px solid #d5a43b;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.reg-cta:hover{background:#d5a43b;color:#050506}

.registration-form-section{
  display:grid;
  grid-template-columns:38% 62%;
  max-width:1500px;
  margin:0 auto;
  padding:90px 52px 105px;
  gap:72px;
  border-bottom:1px solid #a57925;
}
.registration-form-copy{
  align-self:start;
  position:sticky;
  top:120px;
}
.registration-form-copy>p:last-child{
  max-width:480px;
  color:#bdb7ad;
  font-size:17px;
  line-height:1.7;
}

.registration-form-wrap{
  max-width:800px;
  width:100%;
}
.og-registration-form{
  display:grid;
  gap:18px;
}
.og-registration-form label{
  display:grid;
  gap:8px;
}
.og-registration-form label>span{
  color:#d5a43b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.og-registration-form input,
.og-registration-form select,
.og-registration-form textarea{
  width:100%;
  border:1px solid #323235;
  border-radius:0;
  background:#09090a;
  color:#f5f2eb;
  padding:15px 14px;
  font:inherit;
  outline:none;
}
.og-registration-form textarea{resize:vertical}
.og-registration-form input:focus,
.og-registration-form select:focus,
.og-registration-form textarea:focus{
  border-color:#d5a43b;
}

.reg-submit{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:8px;
  width:100%;
  border:1px solid #d5a43b;
  background:#d5a43b;
  color:#050506;
  padding:17px 18px;
  font:inherit;
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  cursor:pointer;
}
.reg-submit:hover{background:transparent;color:#fff}

.reg-form-note{
  margin:18px 0 0;
  color:#77736d;
  font-size:11px;
  line-height:1.55;
}
.reg-form-note strong{color:#aaa49a}

.registration-end{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  padding:48px 5vw;
  background:#050506;
}
.registration-end span{height:1px;background:#b88725}
.registration-end strong{
  font-size:clamp(18px,2vw,30px);
  letter-spacing:.22em;
}

@media(max-width:950px){
  .registration-hero-final,
  .registration-movement{
    grid-template-columns:1fr;
    min-height:0;
  }
  .registration-hero-copy,
  .registration-movement-copy{
    padding:52px 25px 42px;
  }
  .reg-media{
    min-height:60vw;
    order:2;
  }
  .registration-form-section{
    grid-template-columns:1fr;
    gap:42px;
    padding:70px 28px 80px;
  }
  .registration-form-copy{position:static}
}

@media(max-width:620px){
  .registration-hero-copy h1,
  .registration-movement-copy h2,
  .registration-form-copy h2{
    font-size:clamp(50px,16vw,72px);
  }
  .reg-schedule,.form-row,.reg-facts{grid-template-columns:1fr}
  .reg-facts>div+div{
    padding-left:0;
    border-left:0;
    border-top:1px solid #2a2a2d;
  }
  .reg-schedule article{min-height:0}
  .reg-media{min-height:82vw}
  .registration-form-section{padding-left:20px;padding-right:20px}
  .registration-end{
    grid-template-columns:1fr;
    text-align:center;
  }
}


/* Formulaire Infomaniak — sécurité / retours */
.form-hp{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.reg-form-status{
  min-height:24px;
  margin-top:16px;
  padding:0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.5;
}
.reg-form-status.success{color:#d5a43b}
.reg-form-status.error{color:#ff8f8f}
.reg-submit:disabled{opacity:.55;cursor:wait}


/* ============================================================
   PARTENAIRES + CONTACT — VERSION VALIDÉE
   ============================================================ */
.partners-page-final,.contact-page-final{background:#030304;color:#f4f1ea}
.partners-hero-final,.contact-hero-final{
  min-height:560px;display:grid;grid-template-columns:44% 56%;
  border-bottom:1px solid #9f7728;overflow:hidden
}
.partners-hero-copy,.contact-hero-copy{
  padding:clamp(50px,6vw,92px);display:flex;flex-direction:column;justify-content:center
}
.og-kicker{color:#d5a43b;font-size:11px;font-weight:900;letter-spacing:.28em;margin:0 0 20px}
.og-kicker:before{content:"";display:inline-block;width:34px;height:3px;background:#d5a43b;margin:0 14px 3px 0}
.partners-hero-copy h1,.contact-hero-copy h1{
  margin:0;font-size:clamp(58px,6.7vw,108px);line-height:1.00;letter-spacing:-.055em;font-weight:950
}
.partners-hero-copy h1 span,.contact-hero-copy h1 span{color:#d5a43b}
.partners-lead,.contact-hero-copy>p:last-child{
  margin:28px 0 0;max-width:590px;color:#c5c0b7;font-size:16px;line-height:1.65
}
.partners-hero-media,.contact-hero-media{background-size:cover;background-position:center;min-height:560px}
.partners-hero-media{background-image:linear-gradient(90deg,#030304 0%,transparent 25%),url('../images/partenaires-hero.jpg')}
.contact-hero-media{background-image:url('../images/contact-hero.jpg');background-size:cover;background-position:center}

.partners-intro-final{
  max-width:1450px;margin:auto;padding:72px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:60px;
  border-bottom:1px solid #242426
}
.partners-intro-final p{max-width:620px;margin:0;color:#d2cec6;font-size:18px;line-height:1.7}
.partners-intro-final strong{color:#d5a43b;letter-spacing:.18em;line-height:1.6}

.partners-grid-final{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #9f7728}
.partner-card-final{
  min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:28px;padding:50px;border-right:1px solid #2b2b2d;background:#070708
}
.partner-card-final:last-child{border-right:0}
.partner-card-final img{display:block;max-width:min(70%,360px);max-height:145px;object-fit:contain}
.partner-card-final p{margin:0;color:#c9c4ba;font-size:13px;letter-spacing:.1em}
.ball-card-final{background:#0a0a0b}
.ball-logo-final{filter:invert(1)}
.partners-thanks-final{
  min-height:330px;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42)),url('../images/partenaires-crowd.jpg') center/cover;
  display:flex;align-items:center;justify-content:center;text-align:center
}
.partners-thanks-final p{margin:0;color:#d5a43b;font-size:clamp(35px,5vw,74px);font-weight:950;letter-spacing:-.04em}
.partners-thanks-final strong{display:block;font-size:clamp(24px,3.5vw,54px);letter-spacing:.04em}

.contact-core-final{
  max-width:1450px;margin:auto;display:grid;grid-template-columns:38% 62%;padding:80px 6vw 95px;gap:70px;
  border-bottom:1px solid #9f7728
}
.contact-details-final{padding-right:55px;border-right:1px solid #2b2b2d}
.contact-line-final{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #202022;color:#fff;text-decoration:none}
.contact-line-final b{color:#d5a43b;font-size:10px;letter-spacing:.15em}
.contact-line-final span{font-size:15px;line-height:1.5}
.contact-social-final{margin-top:48px}
.contact-social-links{display:flex;gap:12px}
.contact-social-links a{
  width:46px;height:46px;border:1px solid #d5a43b;display:grid;place-items:center;color:#fff;text-decoration:none;font-weight:900
}
.contact-form-final form{display:grid;gap:18px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form-final label{display:grid;gap:8px}
.contact-form-final label>span{color:#d5a43b;font-size:10px;font-weight:900;letter-spacing:.15em}
.contact-form-final input,.contact-form-final select,.contact-form-final textarea{
  width:100%;box-sizing:border-box;background:#09090a;border:1px solid #343436;color:#f5f2eb;padding:15px;font:inherit;border-radius:0
}
.contact-form-final textarea{resize:vertical}
.contact-form-final input:focus,.contact-form-final select:focus,.contact-form-final textarea:focus{outline:none;border-color:#d5a43b}
.contact-submit-final{
  margin-top:4px;padding:17px 18px;border:1px solid #d5a43b;background:transparent;color:#fff;
  display:flex;justify-content:space-between;font:inherit;font-size:11px;font-weight:900;letter-spacing:.15em;cursor:pointer
}
.contact-submit-final:hover{background:#d5a43b;color:#050506}
.contact-submit-final:disabled{opacity:.55;cursor:wait}

.contact-location-final{display:grid;grid-template-columns:62% 38%;min-height:330px}
.contact-location-visual{
  min-height:330px;display:flex;align-items:flex-end;padding:42px 6vw;box-sizing:border-box;
  background:
    linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.7)),
    repeating-linear-gradient(25deg,#151516 0,#151516 2px,#0b0b0c 2px,#0b0b0c 42px);
}
.contact-location-visual span{color:#777;letter-spacing:.32em;font-size:12px}
.contact-location-copy{padding:55px;display:flex;flex-direction:column;justify-content:center;background:#070708}
.contact-location-copy h2{margin:0;font-size:clamp(32px,3vw,52px);line-height:1.10
}
.contact-location-copy>p:last-child{color:#bbb5ac}

@media(max-width:900px){
 .partners-hero-final,.contact-hero-final,.contact-core-final,.contact-location-final{grid-template-columns:1fr}
 .partners-hero-copy,.contact-hero-copy{padding:55px 25px 42px}
 .partners-hero-media,.contact-hero-media{min-height:62vw}
 .partners-intro-final{grid-template-columns:1fr;padding:55px 25px}
 .contact-core-final{padding:60px 25px;gap:45px}
 .contact-details-final{padding-right:0;border-right:0}
 .contact-location-copy{padding:45px 25px}
}
@media(max-width:600px){
 .partners-grid-final{grid-template-columns:1fr}
 .partner-card-final{border-right:0;border-bottom:1px solid #2b2b2d;min-height:260px}
 .contact-form-row{grid-template-columns:1fr}
 .contact-line-final{grid-template-columns:72px 1fr}
 .partners-hero-copy h1,.contact-hero-copy h1{font-size:clamp(54px,17vw,76px)}
}


/* Carte réelle — Crêts-de-Champel */
.contact-map-wrap{
  padding:0 !important;
  background:#111 !important;
  min-height:330px;
  overflow:hidden;
}
.contact-map{
  display:block;
  width:100%;
  height:100%;
  min-height:330px;
  border:0;
  filter:grayscale(1) contrast(1.08) brightness(.82);
}
@media(max-width:900px){
  .contact-map,.contact-map-wrap{min-height:420px}
}

/* =========================================================
   OG HOME — MIXTAPE SCROLL
   Une phrase, six ruptures monumentales, zéro photo.
   ========================================================= */
.og-breath{
  width:100%;
  min-height:88svh;
  display:flex;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  padding:5vh 4vw;
  border:0;
}
.og-breath div{
  margin:0;
  max-width:none;
  white-space:nowrap;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',Arial,sans-serif;
  font-size:clamp(120px,18vw,350px);
  font-weight:900;
  line-height:.72;
  letter-spacing:-.065em;
  text-transform:uppercase;
}

/* DUNK! — blanc cassé / noir */
.og-breath-dunk{
  background:#F2EFE8;
  color:#090909;
  align-items:center;
  justify-content:flex-start;
}
.og-breath-dunk div{transform:translateX(-1.5vw)}

/* BABY. — unique explosion Barbie */
.og-breath-baby{
  background:#FF2A8A;
  color:#F2EFE8;
  align-items:center;
  justify-content:flex-end;
  text-align:right;
}
.og-breath-baby div{transform:translateX(1.5vw)}

/* DUNK! — bleu nuit / blanc cassé */
.og-breath-dunk2{
  background:#111A2A;
  color:#F2EFE8;
  align-items:center;
  justify-content:flex-start;
}
.og-breath-dunk2 div{transform:translateX(-1.5vw)}

/* WELCOME — béton sombre / blanc cassé */
.og-breath-welcome{
  background:#777A7C;
  color:#F2EFE8;
  align-items:center;
  justify-content:center;
}
.og-breath-welcome div{
  font-size:clamp(105px,16vw,310px);
  transform:scaleX(1.03);
}

/* TO THE — blanc cassé / noir */
.og-breath-tothe{
  background:#F2EFE8;
  color:#090909;
  align-items:center;
  justify-content:center;
}
.og-breath-tothe div{
  font-size:clamp(115px,17vw,330px);
}

/* MIXTAPE. — final noir / blanc cassé, volontairement hors cadre */
.og-breath-mixtape{
  min-height:96svh;
  background:#050505;
  color:#F2EFE8;
  align-items:center;
  justify-content:center;
}
.og-breath-mixtape div{
  font-size:clamp(135px,20vw,390px);
  transform:scaleX(1.08);
}

/* HOME MOSAIC — partenaires : cadre et titre remis à sa place */
.og-stage .og-partners{
  box-sizing:border-box;
  border:1px solid rgba(199,163,90,.95);
}
.og-stage .og-partners-overlay{padding:6% 7%}
.og-stage .og-partners-overlay strong{
  font-size:clamp(17px,1.35vw,27px) !important;
  line-height:.94 !important;
  letter-spacing:-.025em;
}

@media(max-width:760px){
  .og-breath{min-height:72svh;padding:4vh 5vw}
  .og-breath div{font-size:clamp(78px,25vw,180px);line-height:.76}
  .og-breath-welcome div{font-size:clamp(68px,20vw,150px)}
  .og-breath-tothe div{font-size:clamp(72px,22vw,160px)}
  .og-breath-mixtape{min-height:80svh}
  .og-breath-mixtape div{font-size:clamp(82px,24vw,175px)}
}

/* Ponctuation optique — le point respire sans se détacher du mot */
.og-breath .og-dot{
  display:inline-block;
  margin-left:.075em;
  letter-spacing:0;
}
.og-breath-mixtape .og-dot{
  margin-left:.085em;
}

/* =========================================================
   OG — HEADER MINIMAL + MENU HAMBURGER
   ========================================================= */
.og-min-header{
  height:82px;
  padding:0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(2,2,3,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  z-index:1200;
}
.og-min-header .og-logo-only{
  display:flex;
  align-items:center;
  width:auto;
}
.og-min-header .og-logo-only img{
  display:block;
  width:auto;
  height:56px;
}
.og-menu-toggle{
  width:58px;
  height:58px;
  padding:14px 10px;
  border:0;
  background:transparent;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  position:relative;
  z-index:1400;
}
.og-menu-toggle span{
  display:block;
  width:38px;
  height:3px;
  margin-left:auto;
  background:#F2EFE8;
  transition:transform .35s ease, opacity .2s ease, width .35s ease;
  transform-origin:center;
}
.og-menu-toggle span:nth-child(2){width:29px}
.og-menu-open .og-menu-toggle span:nth-child(1){transform:translateY(11px) rotate(45deg)}
.og-menu-open .og-menu-toggle span:nth-child(2){opacity:0;width:0}
.og-menu-open .og-menu-toggle span:nth-child(3){transform:translateY(-11px) rotate(-45deg)}

.og-menu-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  opacity:0;
  visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
  z-index:1250;
}
.og-menu-panel{
  position:fixed;
  top:0;
  right:0;
  width:min(620px,44vw);
  height:100svh;
  box-sizing:border-box;
  padding:120px 54px 42px;
  background:#050505;
  color:#F2EFE8;
  transform:translateX(102%);
  transition:transform .45s cubic-bezier(.2,.75,.2,1);
  z-index:1300;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow-y:auto;
}
.og-menu-open{overflow:hidden}
.og-menu-open .og-menu-backdrop{opacity:1;visibility:visible}
.og-menu-open .og-menu-panel{transform:translateX(0)}

.og-menu-nav{
  display:flex;
  flex-direction:column;
}
.og-menu-nav a{
  display:block;
  padding:7px 0 9px;
  color:#F2EFE8;
  text-decoration:none;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',Arial,sans-serif;
  font-size:clamp(40px,4.4vw,72px);
  font-weight:900;
  line-height:.92;
  letter-spacing:-.04em;
  border-bottom:1px solid rgba(242,239,232,.16);
  transition:padding-left .22s ease, color .22s ease;
}
.og-menu-nav a:hover{
  padding-left:14px;
  color:#FF2A8A;
}
.og-menu-bottom{
  margin-top:36px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.og-menu-join{
  color:#050505;
  background:#F2EFE8;
  padding:13px 17px;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
  letter-spacing:.04em;
}
.og-menu-social{
  display:flex;
  gap:14px;
}
.og-menu-social a{
  color:#F2EFE8;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-decoration:none;
}

@media(max-width:900px){
  .og-min-header{height:72px;padding:0 16px}
  .og-min-header .og-logo-only img{height:48px}
  .og-menu-toggle{width:52px;height:52px}
  .og-menu-panel{
    width:100%;
    padding:105px 24px 30px;
  }
  .og-menu-nav a{
    font-size:clamp(40px,12vw,68px);
    padding:6px 0 8px;
  }
}


/* =========================================================
   OG HOME — SCROLL FINAL WEB + MOBILE
   Carrousel et mosaïque supprimés. Une narration unique.
   ========================================================= */
.og-scroll-home{
  background:#050505;
}
.og-scroll-home .og-breath{
  min-height:88svh;
}
.og-scroll-home .og-scroll-image{
  width:100%;
  min-height:100svh;
  background:#050505;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.og-scroll-home .og-scroll-image a{
  width:100%;
  height:100svh;
  display:block;
}
.og-scroll-home .og-scroll-image img{
  width:100%;
  height:100svh;
  object-fit:cover;
  display:block;
}
.og-scroll-home .og-under-bridge img{
  object-position:center center;
}
.og-scroll-home .og-breath-mixtape{
  min-height:100svh;
}

/* Les anciens éléments de Home ne doivent jamais réapparaître. */
.og-scroll-home .og-stage-wrap,
.og-scroll-home .og-stage,
.og-scroll-home .og-carousel,
.og-scroll-home .og-contact-section,
.og-scroll-home .og-partners-final{
  display:none !important;
}

/* Footer : navigation interne retirée, pages accessibles via hamburger. */
.site-footer{
  align-items:center;
}

@media(max-width:760px){
  .og-scroll-home .og-breath{
    min-height:78svh;
  }
  .og-scroll-home .og-scroll-image,
  .og-scroll-home .og-scroll-image a,
  .og-scroll-home .og-scroll-image img{
    min-height:0;
    height:72svh;
  }
  .og-scroll-home .og-scroll-image img{
    object-fit:cover;
  }
  .og-scroll-home .og-breath-mixtape{
    min-height:100svh;
  }
}


/* =========================================================
   OG HOME — OPENING DUNK
   Coup de boule d'entrée : or OG plein écran / noir.
   ========================================================= */
.og-scroll-home .og-breath-dunk{
  background:#D6A62A;
  color:#050505;
}


/* =========================================================
   OG — DERNIÈRE PASSE PRODUCTION
   ========================================================= */

/* Desktop : les 3 premières images de la narration restent entières.
   Plus de découpe à gauche. */
@media (min-width:761px){
  .og-scroll-home .og-preserve-image{
    background:#050505;
  }
  .og-scroll-home .og-preserve-image img{
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* Invitation paysage — smartphone portrait uniquement */
.og-rotate-hint{display:none}
@media (max-width:760px) and (orientation:portrait){
  .og-rotate-hint{
    position:fixed;
    inset:0;
    z-index:2000;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:28px;
    box-sizing:border-box;
    background:#D6A62A;
    color:#050505;
    text-align:center;
    animation:ogHintOut .7s ease 3.2s forwards;
    pointer-events:none;
  }
  .og-rotate-hint .og-phone-icon{
    font-size:86px;
    line-height:1;
    animation:ogRotatePhone 1.2s ease-in-out infinite alternate;
  }
  .og-rotate-hint strong{
    font-family:Impact,Haettenschweiler,'Arial Narrow Bold',Arial,sans-serif;
    font-size:clamp(42px,13vw,74px);
    line-height:.88;
    letter-spacing:-.04em;
  }
  .og-rotate-hint span{
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
  }
}
@keyframes ogRotatePhone{
  from{transform:rotate(0deg)}
  to{transform:rotate(90deg)}
}
@keyframes ogHintOut{
  to{opacity:0;visibility:hidden}
}


/* CLUB — comité : Mattia / Sacha / Corto sur une seule ligne */
.club-final .committee-people{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  width:100% !important;
  gap:0 !important;
}
.club-final .committee-people > div{
  min-width:0 !important;
  width:auto !important;
  box-sizing:border-box;
}
.club-final .committee-people strong,
.club-final .committee-people span{
  white-space:nowrap;
}


/* HAMBURGER — réseaux sociaux en pictogrammes */
.og-menu-social{
  align-items:center;
}
.og-menu-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  color:#F2EFE8;
  transition:color .2s ease, transform .2s ease;
}
.og-menu-social a:hover{
  color:#FF2A8A;
  transform:translateY(-2px);
}
.og-social-icon{
  width:25px;
  height:25px;
  display:block;
}
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.og-legal-footer{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 22px;padding:18px 24px 4px;border-top:1px solid rgba(242,239,232,.12);color:rgba(242,239,232,.62);font-size:10px;font-weight:700;letter-spacing:.09em}
.og-legal-footer a{color:inherit;text-decoration:none}.og-legal-footer a:hover{color:#FF2A8A}.og-footer-social{display:inline-flex;gap:12px}.og-footer-social a{display:inline-flex;width:21px;height:21px}.og-footer-social svg{width:21px;height:21px}
.og-legal-page{min-height:70vh;padding:150px max(7vw,30px) 90px;background:#050505;color:#F2EFE8}.og-legal-kicker{color:#777777;font-size:11px;font-weight:900;letter-spacing:.16em}.og-legal-page h1{margin:18px 0 70px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',Arial,sans-serif;font-size:clamp(72px,10vw,170px);line-height:.78;letter-spacing:-.05em}.og-legal-page h1 em{color:#D6A62A;font-style:normal}.og-legal-page section{max-width:900px;padding:28px 0;border-top:1px solid rgba(242,239,232,.16)}.og-legal-page h2{font-size:15px;letter-spacing:.12em}.og-legal-page p{max-width:780px;color:rgba(242,239,232,.76);line-height:1.65}
@media(max-width:760px){.og-legal-footer{display:none!important}.og-legal-page{padding:115px 22px 60px}}


/* FOOTER V5 — une seule identité, aucun doublon */
.og-legal-footer{display:none !important}
.og-footer-tiktok{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  color:inherit;
}
.og-footer-tiktok svg{
  width:22px;
  height:22px;
  display:block;
}
.og-footer-legal-links{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-left:22px;
font-size: 11px;
}
}
.og-footer-legal-links a{
  color:inherit;
  text-decoration:none;
}
.og-footer-legal-links a:hover{color:#777777}

@media(max-width:760px){
  /* Mobile validé : liens juridiques restent discrets et n'altèrent pas la composition */
  .og-footer-legal-links{display:none !important}
}


/* FOOTER V6 — Instagram + TikTok strictement sur la même ligne */
@media (min-width:761px){
  .site-footer .footer-social,
  .site-footer .socials,
  .site-footer .social-links,
  .site-footer .footer-right,
  .site-footer .og-footer-social{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
  }

  .site-footer .footer-social a,
  .site-footer .socials a,
  .site-footer .social-links a,
  .site-footer .footer-right a,
  .site-footer .og-footer-social a,
  .site-footer .og-footer-tiktok{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    vertical-align:middle !important;
  }

  .site-footer .og-footer-tiktok{
    transform:none !important;
  }
}
