/* Page "bientôt disponible" (bientot-disponible.php) : mise en page dédiée, distincte du
   reste du site (typographie Manrope), utilisée uniquement pendant le verrou pré-lancement. */

.campaign{
  position:relative; min-height:100vh; overflow:hidden;
  display:flex; flex-direction:column;
  font-family:'Manrope', sans-serif;
}

.campaign-photo{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 900px 600px at 80% 15%, rgba(200,168,107,0.16), transparent 60%),
    radial-gradient(ellipse 700px 500px at 10% 90%, rgba(200,168,107,0.09), transparent 55%),
    var(--noir);
}
.veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(5,5,5,0.2) 0%, rgba(5,5,5,0.55) 60%, rgba(5,5,5,0.9) 100%);
}
.noise{
  position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.campaign header{
  position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between;
  padding:28px 40px; gap:16px;
}
.campaign header img{ height:30px; width:auto; object-fit:contain; }
.campaign header span{ font-size:12px; letter-spacing:0.18em; color:var(--gris); text-transform:uppercase; }

.campaign-copy{
  position:relative; z-index:3; flex:1; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; max-width:640px; margin:0 auto; padding:40px 24px 80px;
}

.logo-stage{ display:flex; align-items:center; gap:18px; margin-bottom:36px; }
.logo-stage i{ display:block; width:1px; height:34px; background:linear-gradient(180deg, transparent, var(--or), transparent); font-style:normal; }
.logo-stage img{ height:56px; width:auto; object-fit:contain; }

.kicker{
  display:flex; align-items:center; gap:10px; justify-content:center;
  font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--or-clair);
  margin-bottom:26px; font-weight:600;
}
.kicker span{ width:6px; height:6px; border-radius:50%; background:var(--or); flex-shrink:0; }

.campaign-copy h1{
  font-size:clamp(34px,5.2vw,58px); font-weight:800; line-height:1.12; letter-spacing:-0.01em;
  color:var(--blanc); margin-bottom:22px;
}
.campaign-copy h1 .accent{ color:var(--or); }

.campaign-copy .intro{
  color:var(--gris); font-size:16px; line-height:1.7; max-width:460px; margin:0 auto 36px;
}

.launch-line{
  display:inline-flex; align-items:center; gap:12px; padding:10px 20px; margin-bottom:20px;
  border:1px solid var(--line); background:rgba(200,168,107,0.05);
}
.launch-line span{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gris); }
.launch-line b{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--or-clair); font-weight:600; }

.countdown{
  display:inline-flex; align-items:center; gap:2px; margin-bottom:40px; padding:22px 26px;
  background:linear-gradient(180deg, rgba(255,255,255,0.03), transparent), var(--noir-2);
  border:1px solid var(--line); box-shadow:0 0 60px -20px rgba(200,168,107,0.35);
}
.countdown .cd-unit{ display:flex; flex-direction:column; align-items:center; min-width:66px; }
.countdown .cd-value{
  position:relative; font-family:'JetBrains Mono',monospace; font-weight:700;
  font-size:clamp(28px,4.4vw,42px); line-height:1; color:var(--or-clair);
  text-shadow:0 0 22px rgba(200,168,107,0.55);
  font-variant-numeric:tabular-nums;
}
.countdown .cd-value.tick{ animation:cd-pulse .5s ease; }
.countdown .cd-label{
  font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gris); margin-top:10px;
}
.countdown .cd-sep{
  font-family:'JetBrains Mono',monospace; font-weight:700; font-size:clamp(24px,3.6vw,34px);
  color:var(--or); opacity:0.5; padding-bottom:22px; animation:cd-blink 1.4s steps(1) infinite;
}
@keyframes cd-pulse{ 0%{ transform:scale(1.22); opacity:0.5; } 100%{ transform:scale(1); opacity:1; } }
@keyframes cd-blink{ 0%, 45%{ opacity:0.55; } 50%, 95%{ opacity:0.1; } 100%{ opacity:0.55; } }

#waitlistForm{ width:100%; max-width:440px; margin:0 auto; }
#waitlistForm label{
  display:block; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gris);
  margin-bottom:12px; font-weight:600;
}
#waitlistForm > div{ display:flex; gap:0; border:1px solid var(--line); background:var(--anthracite); }
#waitlistForm input[type="email"]{
  flex:1; min-width:0; background:transparent; border:none; color:var(--blanc);
  padding:16px 18px; font-family:inherit; font-size:14px;
}
#waitlistForm input[type="email"]:focus{ outline:none; }
#waitlistForm button{
  position:relative; overflow:hidden; display:flex; align-items:center; gap:8px; white-space:nowrap;
  background:linear-gradient(135deg,var(--or-clair),var(--or)); color:var(--noir); border:none;
  padding:0 22px; font-family:inherit; font-size:12px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; cursor:pointer;
}
#waitlistForm button span{ transition:transform .3s ease; }
#waitlistForm button:hover span{ transform:translateX(4px); }
#status{ display:block; margin-top:14px; font-size:12px; color:var(--gris); }

.proof{ display:flex; gap:28px; flex-wrap:wrap; justify-content:center; margin-top:48px; }
.proof span{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--gris); letter-spacing:0.04em; }
.proof span b{ color:var(--or); font-family:'JetBrains Mono',monospace; font-weight:600; }

.side-note{
  position:fixed; right:18px; top:50%; z-index:3; transform:translateY(-50%) rotate(90deg); transform-origin:right center;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gris); white-space:nowrap;
}

@media (max-width:750px){
  .campaign header{ padding:22px 20px; }
  .side-note{ display:none; }
  #waitlistForm > div{ flex-direction:column; }
  #waitlistForm button{ padding:15px; justify-content:center; }
  .countdown{ gap:0; padding:16px 14px; }
  .countdown .cd-unit{ min-width:48px; }
  .countdown .cd-sep{ padding-bottom:16px; }
}
