:root{ --gold:#9A7132; }
*{box-sizing:border-box}
html,body{height:100%}
body{ margin:0; background:#000; color:#fff;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
}
.container{width:min(1200px,92%); margin:0 auto}

/* NAV fixe */
.nav{ position:fixed; inset:0 0 auto 0; height:72px; display:flex; align-items:center;
  background:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  backdrop-filter:saturate(140%) blur(2px); z-index:10;
}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.logo{height:28px; width:auto; object-fit:contain;}
.links{display:flex; gap:28px}
.links a{color:#fff; opacity:.85; text-decoration:none; font-weight:500; transition:opacity .15s ease}
.links a:hover{opacity:1}

/* HERO plein écran */
.hero{position:relative; min-height:100vh; overflow:hidden;}
.hero .bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero .shadow{position:absolute; inset:auto 0 0 0; height:40vh;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.9) 100%);
}

/* spacers */
.spacer{height:12vh}

/* FOOTER CTA */
.footer-cta{
  position:relative; overflow:hidden; min-height:100vh; display:flex; align-items:center;
  opacity:1; transform:none;
  transition:opacity .6s ease-out, transform .6s ease-out;
}
.footer-cta.is-visible{opacity:1; transform:none}
.footer-cta::before{
  content:""; position:absolute; left:0; right:0; top:0; height:180px; z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,1) 0%,
                                     rgba(0,0,0,0.25) 65%,
                                     rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.footer-cta .bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter: brightness(1.12) contrast(1.08) saturate(1.10);
}
.footer-cta .overlay{position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.65) 100%)}
.footer-cta .inner{
  position:relative; z-index:2; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:16px;
  padding:56px 24px;
}
/* Titre plus élégant */
.footer-cta h2{
  color: #f2f1ee;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(26px, 5.6vw, 62px);
  line-height: 1.12;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* Gold "outline" with zero-stroke to avoid artifacts */
  text-shadow:
    /* micro outline (cardinal) */
    0.45px 0   #9a7132,
   -0.45px 0   #9a7132,
    0    0.45px #9a7132,
    0   -0.45px #9a7132,
    /* micro diagonals for continuity */
    0.32px 0.32px #9a7132,
   -0.32px 0.32px #9a7132,
    0.32px -0.32px #9a7132,
   -0.32px -0.32px #9a7132,
    /* soft glow */
    0 0 6px rgba(154,113,50,0.22),
    0 1px 0 rgba(0,0,0,0.45);
}
/* Socials */
.footer-cta .social-row{display:flex; gap:88px; margin-top: 58px}
.footer-cta .icon{display:inline-flex; padding:8px; border-radius:12px; transition:transform .15s ease, opacity .2s ease}
.footer-cta .icon:hover{transform:translateY(-1px); opacity:1}

/* Mentions légales TOUJOURS collées en bas */
.footer-cta .legal{
  position:absolute;
  bottom: -10px;   /* overshoot to ensure visually at the very bottom */
  left: 0;         /* flush left */
  right: auto;
  margin: 0;
  text-align: left;
  font-size: 12px;
  color: rgba(255,255,255,0.84);
  line-height: 1.1;
}

/* Bouton pilule moins rond, texte plus fin, anneau métallique + reflet */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:44px; padding:0 22px; border-radius:12px;
  background:rgba(6,6,6,0.9); color:#fff; text-decoration:none;
  font-weight:500; letter-spacing:.01em;
  border:1px solid rgba(255,255,255,0.18);
  box-shadow:0 10px 28px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(255,255,255,0.06);
  position:relative; overflow:hidden;
  transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
/* anneau métallique conique */
.btn::before{
  content:""; position:absolute; inset:-1px; border-radius:12px; padding:1px;
  background:conic-gradient(from 0deg,
    rgba(255,255,255,0.35), rgba(154,113,50,0.45), rgba(49,1,3,0.40), rgba(255,255,255,0.35));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none; opacity:.55;
}
/* reflet survol */
.btn::after{
  content:""; position:absolute; left:-20%; top:-120%; width:50%; height:300%;
  background:linear-gradient(120deg, rgba(255,255,255,.0) 0%, rgba(255,255,255,.18) 50%, rgba(255,255,255,0) 100%);
  transform:rotate(25deg);
  opacity:0; transition:opacity .25s ease, transform .25s ease;
}
.btn:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,0.28);
  box-shadow:0 14px 32px rgba(0,0,0,0.55), 0 0 0 3px rgba(255,255,255,0.05);
  background:rgba(10,10,10,0.95);
}
.btn:hover::after{opacity:.9; transform:rotate(25deg) translateX(50%)}

/* Responsive */
@media (max-width:1024px){
  .footer-cta h2{
  color: #f2f1ee;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(26px, 5.6vw, 62px);
  line-height: 1.12;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* Gold "outline" with zero-stroke to avoid artifacts */
  text-shadow:
    /* micro outline (cardinal) */
    0.45px 0   #9a7132,
   -0.45px 0   #9a7132,
    0    0.45px #9a7132,
    0   -0.45px #9a7132,
    /* micro diagonals for continuity */
    0.32px 0.32px #9a7132,
   -0.32px 0.32px #9a7132,
    0.32px -0.32px #9a7132,
   -0.32px -0.32px #9a7132,
    /* soft glow */
    0 0 6px rgba(154,113,50,0.22),
    0 1px 0 rgba(0,0,0,0.45);
}
}
@media (max-width:640px){
  .links{gap:18px}
  .footer-cta h2{
  color: #f2f1ee;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(26px, 5.6vw, 62px);
  line-height: 1.12;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* Gold "outline" with zero-stroke to avoid artifacts */
  text-shadow:
    /* micro outline (cardinal) */
    0.45px 0   #9a7132,
   -0.45px 0   #9a7132,
    0    0.45px #9a7132,
    0   -0.45px #9a7132,
    /* micro diagonals for continuity */
    0.32px 0.32px #9a7132,
   -0.32px 0.32px #9a7132,
    0.32px -0.32px #9a7132,
   -0.32px -0.32px #9a7132,
    /* soft glow */
    0 0 6px rgba(154,113,50,0.22),
    0 1px 0 rgba(0,0,0,0.45);
}
}

/* v11 consolidate previous tweaks */

/* NAV links: thinner, color-only hover */
nav .nav-link{
  display:inline-block; padding: 8px 12px;
  color: rgba(255,255,255,0.92);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
nav .nav-link:hover, nav .nav-link:active{ color:#fff; }

/* Brand logo sizing/placement */
header .brand, nav .brand{ display:inline-flex; align-items:center; margin-left: 8px; }
.brand-logo{ height: 48px; width: auto; display:block; }
@media (max-width: 768px){
  /* Container plein écran pour la nav mobile */
  .nav .container{
    width: 100%;
    margin: 0;
    padding: 0 6px;
  }

  /* Logo légèrement réduit pour laisser de la place aux liens */
  .brand-logo{
    height: 24px;
  }

  .nav{
    height: 54px;
    padding: 0;
  }

  .nav-inner{
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
  }

  .nav .links{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 4px;
    flex: 1;
  }

  .nav-link{
    font-size: 9px;
    padding: 0;
    letter-spacing: 0;
    white-space: nowrap; /* chaque libellé reste sur UNE seule ligne */
  }

  /* Hero mobile : compromis texte + plein écran */
  .hero{
    min-height: 100vh;
  }

  .hero .bg{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 88%;  /* léger recentrage pour montrer plus de bas */
    transform: scale(0.95);    /* petit dézoom pour garder PRODUCTION lisible */
    transform-origin: center bottom;
  }

  .hero::after{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at center, rgba(0,0,0,0) 55%, rgba(0,0,0,0.75) 100%);
    mix-blend-mode: normal;
  }
}


@media (max-width: 640px){
  .social{ gap: 28px; margin-top: 36px; }
}
.social-btn{
  width:36px; height:36px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  color: rgba(255,255,255,0.94);
  background: rgba(18,18,18,0.45);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(2px);
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.social-btn svg{ width:18px; height:18px; }
.social-btn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,0.32); background: rgba(26,26,26,0.55); color:#fff; }

/* Metallic border-only CTA */
.btn-metal-border{
  position: relative; display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 22px; border-radius: 14px;
  color: #f1f1f1; background: #0e0e0e;
  border: 1px solid rgba(214,167,54,0.28);
  overflow: hidden;
  transition: filter 220ms ease, transform 120ms ease, border-color 220ms ease;
 font-weight: 400; }
.btn-metal-border::before{
  content:""; position:absolute; inset:0; border-radius: inherit; padding: 1px;
  background:
    linear-gradient(135deg, rgba(255,230,150,0.40), rgba(214,167,54,0.22) 35%, rgba(214,167,54,0) 62%),
    linear-gradient(315deg, rgba(255,235,170,0.32), rgba(214,167,54,0) 58%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
  transition: transform 220ms ease, opacity 220ms ease;
  opacity: .9;
}
.btn-metal-border:hover{
  border-color: rgba(214,167,54,0.48);
}
.btn-metal-border:hover::before{ transform: translateY(-1px); opacity: .98; }

/* Legal placement */
.site-root{ min-height: 100vh; display:flex; flex-direction:column; }
.main-content{ flex: 1 0 auto; }
#legal-container{ padding-left:32px; padding-bottom:24px; flex: 0 0 auto; }

/* v14 headline gold outline */
.footer-cta h2{
  color: #f2f1ee;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(26px, 5.6vw, 62px);
  line-height: 1.12;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* Gold "outline" with zero-stroke to avoid artifacts */
  text-shadow:
    /* micro outline (cardinal) */
    0.45px 0   #9a7132,
   -0.45px 0   #9a7132,
    0    0.45px #9a7132,
    0   -0.45px #9a7132,
    /* micro diagonals for continuity */
    0.32px 0.32px #9a7132,
   -0.32px 0.32px #9a7132,
    0.32px -0.32px #9a7132,
   -0.32px -0.32px #9a7132,
    /* soft glow */
    0 0 6px rgba(154,113,50,0.22),
    0 1px 0 rgba(0,0,0,0.45);
}

/* v14 nav */

/* v14 nav polish */
header.nav .nav-inner, .nav .nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 12px 28px;
}
nav .nav-link{
  color: rgba(255,255,255,0.72) !important;
  font-weight: 400 !important;
}
nav .nav-link:hover, nav .nav-link:active{ color:#ffffff !important; }
.nav .brand{ margin-left: 8px; }
nav.links{ margin-left: auto; gap: 18px; display:flex; align-items:center; }

/* v23: enforce spacing for the actual social container */
.footer-cta .social-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap: 88px !important;      /* fortement espacé */
  margin-top:  58px !important; /* descendu plus bas sous le bouton */
}
@media (max-width: 640px){
  .footer-cta .social-row{
    gap: 32px !important;
    margin-top:   44px !important;
  }
}

/* v33: disable hover effects on footer CTA */
.footer-cta .btn-metal-border{
  transition: none !important;
}
.footer-cta .btn-metal-border:hover,
.footer-cta .btn-metal-border:hover::before{
  border-color: inherit !important;
  filter: none !important;
  transform: none !important;
  opacity: inherit !important;
}

/* v34: HARD-OFF hover on footer CTA */
.footer-cta .btn-metal-border,
.footer-cta .btn-metal-border::before{
  transition: none !important;
}
.footer-cta .btn-metal-border:hover,
.footer-cta .btn-metal-border:active,
.footer-cta .btn-metal-border:focus{
  background: #0e0e0e !important;
  border-color: rgba(214,167,54,0.28) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}
.footer-cta .btn-metal-border:hover::before,
.footer-cta .btn-metal-border:active::before,
.footer-cta .btn-metal-border:focus::before{
  opacity: 0.9 !important;   /* exactly the same as normal */
  transform: none !important;
}

/* v35: kill generic .btn hover shine within the footer CTA only */
.footer-cta .btn::after{ content: none !important; }
.footer-cta .btn:hover{
  transform: none !important;
  border-color: inherit !important;
  box-shadow: none !important;
  background: #0e0e0e !important;
}


/* v36: Footer CTA Option 1 (A → A+ hover / press) — footer only */
.footer-cta .btn-metal-border{
  transition: border-color 140ms ease, box-shadow 100ms ease !important;
}
.footer-cta .btn-metal-border:hover{
  background: #0e0e0e !important;
  border-color: rgba(214,167,54,0.36) !important; /* +contraste hover */
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
.footer-cta .btn-metal-border:active{
  background: #0e0e0e !important;
  border-color: rgba(214,167,54,0.42) !important; /* appui */
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),
              inset 0 -1px 0 rgba(0,0,0,0.45) !important; /* micro-chanfrein */
  transform: none !important;
  filter: none !important;
}

/* Neutralise tout 'shine' global résiduel pour les boutons dans le footer */
.footer-cta .btn::after{ content:none !important; }
.footer-cta .btn:hover{
  background:#0e0e0e !important;
  border-color:inherit !important;
  box-shadow:none !important;
  transform:none !important;
}


/* Home: hero only, no scroll */
html, body.home-hero-only {
  height: 100%;
}
body.home-hero-only {
  margin: 0;
  overflow: hidden;
}
body.home-hero-only .hero {
  min-height: 100vh;
}
