/* Écran d'entrée : même univers que le hero de la présentation BDR. */

body{background:var(--white)}
.entree{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;padding:clamp(22px,4vh,40px) clamp(22px,5.2vw,84px)}

.fond{position:absolute;inset:0;z-index:0;pointer-events:none}
.halo{position:absolute;inset:0 0 auto 0;height:120%}
.ha{background:radial-gradient(ellipse 62% 52% at 50% 28%,rgba(167,139,250,.34) 0%,rgba(167,139,250,.11) 35%,transparent 70%);animation:breath 12s ease-in-out infinite}
.hb{background:radial-gradient(ellipse 48% 40% at 14% 62%,rgba(167,139,250,.22) 0%,transparent 60%);animation:breath 14s ease-in-out infinite 2s}
.hc{background:radial-gradient(ellipse 45% 38% at 86% 66%,rgba(167,139,250,.22) 0%,transparent 60%);animation:breath 15s ease-in-out infinite 3s}
.particules i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:var(--iris);box-shadow:0 0 12px rgba(167,139,250,.85);animation:floaty var(--d,11s) ease-in-out infinite var(--de,0s)}

.marque{position:relative;z-index:2;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;perspective:600px}
.marque .wordmark{font:700 1.5rem/1 var(--font);letter-spacing:-.02em}

.contenu{position:relative;z-index:1;flex:1;width:100%;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(16px,3vw,56px);padding-block:clamp(20px,4vh,48px)}
.gauche{display:flex;flex-direction:column;align-items:flex-start;animation:monte .9s var(--ease-out) both}
h1{margin-top:clamp(16px,3vh,26px);font-size:clamp(2.6rem,min(5.6vw,10.4vh),5.2rem);font-weight:700;line-height:1;letter-spacing:-.04em;text-wrap:balance}
.intro{margin-top:clamp(14px,2.6vh,22px);max-width:27em;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:rgba(51,51,51,.92)}

.code-form{margin-top:clamp(22px,4.4vh,40px);width:100%;max-width:460px}
.code-form label{display:block;margin-bottom:10px;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite)}
.champ{display:flex;gap:10px;padding:6px;border-radius:var(--radius-pill);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(167,139,250,.4);box-shadow:0 22px 50px -26px rgba(80,60,180,.45),0 2px 8px rgba(80,60,180,.06);transition:border-color .3s,box-shadow .3s}
.champ:focus-within{border-color:var(--iris-text);box-shadow:0 22px 50px -22px rgba(80,60,180,.55),0 0 0 4px rgba(167,139,250,.22)}
.champ input{flex:1;min-width:0;height:48px;padding:0 18px;border:0;outline:0;background:transparent;font-size:19px;font-weight:500;letter-spacing:.02em;color:var(--ink)}
.champ input::placeholder{color:var(--mid)}
.champ .btn{height:48px;flex:none}
.erreur{margin-top:14px;padding-left:18px;border-left:3px solid var(--ink);font-size:16px;font-weight:500;color:var(--ink)}

.art{position:relative;justify-self:center;width:min(100%,60vh,520px);aspect-ratio:1;perspective:1100px;animation:monte 1.4s var(--ease-out) .1s both}
.art-disc{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.5) 0%,rgba(167,139,250,.16) 42%,transparent 68%);filter:blur(10px);animation:breath 9s ease-in-out infinite}
.art-ring{position:absolute;border-radius:50%;border:1px solid rgba(124,58,237,.2);animation:orbit 34s linear infinite}
.art-ring.r1{inset:2%}
.art-ring.r2{inset:15%;border-style:dashed;border-color:rgba(124,58,237,.18);animation-duration:52s;animation-direction:reverse}
.art-ring i{position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--iris);box-shadow:0 0 16px 4px rgba(167,139,250,.85)}
.art-ring.r2 i{width:7px;height:7px;top:-3.5px;margin-left:-3.5px;background:var(--iris-text)}
.art-b{position:absolute;inset:-6%;width:112%;height:112%;max-width:none;object-fit:contain;filter:drop-shadow(0 46px 56px rgba(80,50,190,.38)) drop-shadow(0 8px 14px rgba(20,10,60,.18));animation:bfloat 8s ease-in-out infinite}

.pied{position:relative;z-index:1;text-align:center;font-size:14px;color:var(--mid)}

@media (max-width:900px){
  .contenu{grid-template-columns:1fr;gap:8px;padding-top:12px}
  .gauche{align-items:flex-start}
  .art{order:-1;width:min(52%,230px);margin-top:4px;justify-self:start}
  h1{font-size:clamp(2.4rem,11vw,3.4rem)}
}
@media (max-width:480px){
  .champ{flex-direction:column;border-radius:28px;padding:8px}
  .champ input{height:50px;text-align:center;background:#fff;border:1px solid var(--line-2);border-radius:9999px}
  .champ .btn{width:100%;height:50px}
  .badge{font-size:11px;padding:8px 14px}
}
