:root{
  --navy:#000080;
  --deep:#020617;
  --burgundy:#800020;
  --gold:#D4AF37;
  --line:rgba(255,255,255,.18);
  --glass:rgba(255,255,255,.10);
  --muted:#dbeafe;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  min-height:100vh;
  font-family:Poppins,Arial,sans-serif;
  color:white;
  background:
    linear-gradient(90deg,rgba(2,6,23,.82) 0%,rgba(2,6,23,.68) 40%,rgba(2,6,23,.35) 100%),
    linear-gradient(180deg,rgba(2,6,23,.04),rgba(2,6,23,.55)),
    url("../assets/images/embedded/e344845e24e1d05fc1cd.webp") center/cover no-repeat;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
.page{
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 470px;
}
.left{
  padding:22px 4vw;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.logo-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.logo{
  height:82px;
  width:auto;
  max-width:260px;
  object-fit:contain;
}
.back-home{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border:1px solid rgba(212,175,55,.55);
  color:#ffe28a;
  border-radius:999px;
  font-weight:800;
  background:rgba(2,6,23,.30);
  backdrop-filter:blur(10px);
  transition:.25s;
}
.back-home:hover{transform:translateY(-2px);background:rgba(212,175,55,.12)}
.hero-copy{
  max-width:720px;
  padding:28px 0 18px;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ffe28a;
  background:rgba(212,175,55,.12);
  border:1px solid rgba(212,175,55,.32);
  padding:9px 14px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  margin-bottom:22px;
}
h1{
  font-family:"Playfair Display",serif;
  font-size:clamp(40px,5vw,66px);
  line-height:1.03;
  letter-spacing:-1px;
  margin-bottom:12px;
}
h1 span{
  color:var(--gold);
  display:block;
}
.gold-line{
  width:84px;
  height:3px;
  background:var(--gold);
  margin:16px 0 24px;
}
.hero-copy p{
  font-size:19px;
  line-height:1.75;
  color:#eef5ff;
  max-width:620px;
  text-shadow:0 3px 14px rgba(0,0,0,.45);
}
.benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  max-width:780px;
  margin-top:18px;
}
.benefit{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:13px;
  backdrop-filter:blur(12px);
}
.benefit b{
  display:block;
  color:#ffe28a;
  margin-bottom:5px;
}
.benefit span{
  color:#dbeafe;
  font-size:13px;
  line-height:1.45;
}
.footer-note{
  color:#cbd5e1;
  font-size:13px;
  padding-bottom:2px;
}
.right{
  background:rgba(2,6,23,.72);
  border-left:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(22px);
  min-height:100vh;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.auth-card{
  width:100%;
  max-width:430px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:30px;
  padding:22px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.auth-header{
  text-align:center;
  margin-bottom:24px;
}
.auth-header h2{
  font-family:"Playfair Display",serif;
  font-size:32px;
  margin-bottom:8px;
}
.auth-header p{
  color:#dbeafe;
  font-size:14px;
  line-height:1.5;
}
.tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  background:rgba(2,6,23,.42);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:6px;
  margin-bottom:18px;
}
.tab{
  border:0;
  border-radius:12px;
  padding:12px;
  font-family:Poppins,Arial,sans-serif;
  font-weight:900;
  cursor:pointer;
  color:#dbeafe;
  background:transparent;
  transition:.25s;
}
.tab.active{
  background:linear-gradient(135deg,var(--gold),#fff0a3);
  color:#071633;
}
.role-select{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:18px;
}
.role{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:white;
  border-radius:16px;
  padding:14px 12px;
  cursor:pointer;
  font-family:Poppins,Arial,sans-serif;
  font-weight:800;
  transition:.25s;
}
.role.active{
  border-color:rgba(212,175,55,.80);
  background:rgba(212,175,55,.15);
  color:#ffe28a;
}
.form{
  display:grid;
  gap:10px;
}
.field label{
  display:block;
  font-size:12px;
  color:#dbeafe;
  font-weight:800;
  margin-bottom:7px;
}
.field input,
.field select{
  width:100%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(2,6,23,.50);
  color:white;
  border-radius:14px;
  padding:11px 14px;
  font-family:Poppins,Arial,sans-serif;
  outline:none;
}
.field input::placeholder{
  color:#94a3b8;
}
.field input:focus,
.field select:focus{
  border-color:rgba(212,175,55,.75);
  box-shadow:0 0 0 3px rgba(212,175,55,.12);
}
.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.form-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:#dbeafe;
}
.form-row a{
  color:#ffe28a;
  font-weight:800;
}
.check{
  display:flex;
  align-items:center;
  gap:8px;
}
.check input{
  accent-color:#D4AF37;
}
.btn{
  border:0;
  border-radius:14px;
  padding:12px 16px;
  font-family:Poppins,Arial,sans-serif;
  font-weight:900;
  cursor:pointer;
  transition:.25s;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,var(--burgundy),#bd0648);
  color:white;
  box-shadow:0 14px 32px rgba(128,0,32,.35);
  width:100%;
}
.btn-google{
  background:white;
  color:#0f172a;
  width:100%;
}
.divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:#cbd5e1;
  font-size:12px;
  margin:16px 0;
}
.divider:before,
.divider:after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.14);
}
.small-text{
  text-align:center;
  color:#cbd5e1;
  font-size:12px;
  line-height:1.55;
  margin-top:14px;
}
.small-text a{
  color:#ffe28a;
  font-weight:800;
}
.hidden{display:none}
.notice{
  background:rgba(212,175,55,.12);
  border:1px solid rgba(212,175,55,.28);
  color:#ffefb1;
  border-radius:16px;
  padding:13px 14px;
  font-size:12px;
  line-height:1.5;
  margin-bottom:16px;
}
@media(max-width:1050px){
  .page{
    grid-template-columns:1fr;
  }
  .right{
    min-height:auto;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .benefits{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .left{
    padding:24px;
  }
  .logo-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .logo{
    height:70px;
  }
  .right{
    padding:20px;
  }
  .auth-card{
    padding:22px;
  }
  .two{
    grid-template-columns:1fr;
  }
}

/* ===== LAFONTANT SIGNATURE FUSION · AUTH ===== */
:root{--navy:#020617;--deep:#020617;--blue:#2563eb;--sky:#38bdf8;--violet:#7c3aed;--gold:#d4af37;--gold2:#f7e7a8;--burgundy:#8b1538}
body{
 background-position:center;background-size:cover;background-attachment:fixed
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(147,197,253,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(147,197,253,.026) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(#000,transparent 72%)}
.page{grid-template-columns:minmax(0,1fr) 500px;position:relative;z-index:1}
.left{padding:25px 4.5vw 28px}.logo-row{align-items:center}.logo{height:105px;max-width:310px;filter:drop-shadow(0 15px 30px rgba(56,189,248,.16))}
.back-home{border-color:rgba(147,197,253,.35);color:#dbeafe;background:rgba(255,255,255,.055)}.back-home:hover{background:rgba(56,189,248,.13);border-color:#38bdf8}
.kicker{color:#bae6fd;background:rgba(56,189,248,.11);border-color:rgba(56,189,248,.27)}
h1{font-size:clamp(46px,5.4vw,76px);letter-spacing:-.04em;text-shadow:0 18px 55px rgba(0,0,0,.28)}h1 span{background:linear-gradient(90deg,#f7e7a8,#38bdf8,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.gold-line{background:linear-gradient(90deg,#38bdf8,#818cf8,#c084fc);width:110px;border-radius:99px}
.hero-copy p{color:#d8e6f8}.benefit{background:rgba(255,255,255,.075);border-color:rgba(147,197,253,.14);box-shadow:0 16px 40px rgba(2,6,23,.12);transition:.22s}.benefit:hover{transform:translateY(-5px);background:rgba(37,99,235,.17);border-color:rgba(56,189,248,.35)}.benefit b{color:#bae6fd}
.right{background:rgba(2,6,23,.66);border-left-color:rgba(147,197,253,.13);padding:26px;box-shadow:-30px 0 80px rgba(2,6,23,.22)}
.auth-card{max-width:448px;background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.065));border-color:rgba(147,197,253,.20);backdrop-filter:blur(28px);box-shadow:0 35px 90px rgba(0,0,0,.44),0 0 70px rgba(37,99,235,.10);padding:27px}
.auth-header:before{content:"T★";display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:18px;background:linear-gradient(135deg,#38bdf8,#7c3aed);font-weight:900;box-shadow:0 12px 30px rgba(56,189,248,.22)}.auth-header h2{font-size:35px}.auth-header p{color:#bed0e7}
.tabs{background:rgba(2,6,23,.55)}.tab.active{background:linear-gradient(135deg,#38bdf8,#818cf8);box-shadow:0 10px 26px rgba(56,189,248,.18)}
.role-select{grid-template-columns:repeat(3,1fr)}.role{padding:12px 7px;font-size:12px}.role.active{border-color:rgba(56,189,248,.65);background:linear-gradient(135deg,rgba(37,99,235,.28),rgba(124,58,237,.20));color:#dbeafe}
.notice{background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(124,58,237,.13));border-color:rgba(147,197,253,.20);color:#dbeafe}
.field input,.field select{background:rgba(2,6,23,.62);border-color:rgba(147,197,253,.16)}.field input:focus,.field select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.13)}
.check input{accent-color:#38bdf8}.form-row a,.small-text a{color:#7dd3fc}.btn-primary{background:linear-gradient(135deg,#8b1538,#bd2a5d);box-shadow:0 14px 34px rgba(139,21,56,.34)}.btn-google{background:linear-gradient(135deg,#fff,#eaf2ff)}.footer-note{color:#9fb1c9}
@media(max-width:1050px){.page{grid-template-columns:1fr}.left{min-height:680px}.right{background:rgba(2,6,23,.88)}}
@media(max-width:620px){.left{min-height:auto}.logo-row{align-items:center}.logo{height:90px;max-width:260px}.role-select{grid-template-columns:1fr}.auth-card{padding:21px}}

.auth-status{display:none;margin-top:12px;padding:11px 13px;border-radius:12px;font-size:13px;line-height:1.45;text-align:left}
.auth-status.show{display:block}.auth-status.info{color:#dbeafe;background:rgba(37,99,235,.16);border:1px solid rgba(96,165,250,.32)}
.auth-status.error{color:#fecaca;background:rgba(127,29,29,.24);border:1px solid rgba(248,113,113,.35)}
.auth-status.success{color:#bbf7d0;background:rgba(20,83,45,.25);border:1px solid rgba(74,222,128,.32)}
.btn[disabled]{opacity:.65;cursor:wait;transform:none!important}

/* Mobile login: prioritize the authentication form and remove promotional copy. */
@media(max-width:760px){
  .left{display:none!important}
  .page{display:block;min-height:100svh}
  .right{min-height:100svh;padding:16px;display:flex;align-items:flex-start;justify-content:center;border:0}
  .auth-card{width:100%;max-width:448px;margin:0 auto;padding:20px}
}

.legal-consent-check{font-size:12px;color:#dbeafe;line-height:1.45}
