:root{
  --bg:        #0a0806;
  --bg-2:      #14100b;
  --gold:      #c99a3a;
  --gold-2:    #e6c56f;
  --gold-3:    #f2dc94;
  --gold-deep: #a9791f;
  --white:     #ffffff;
  --muted:     #a49a8d;
  --line:      #3a2f1c;
  --line-soft: #2a2114;
  --field-bg:  rgba(255,255,255,.02);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);
  color:var(--white);
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}

/* warm ambient glow behind the model */
.glow{
  position:fixed;
  top:-10%;
  right:-5%;
  width:60vw;
  height:90vh;
  background:radial-gradient(circle at 60% 40%, rgba(201,154,58,.28), rgba(201,154,58,.08) 38%, transparent 66%);
  pointer-events:none;
  z-index:0;
}

.wrap{
  position:relative;
  z-index:1;
  max-width:1440px;
  margin:0 auto;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,46%);
  align-items:center;
  gap:2rem;
}

/* ---------------- LEFT ---------------- */
.left{
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(1rem,3vh,2rem) clamp(1.5rem,4vw,4.5rem) clamp(1rem,3vh,2rem) clamp(1.5rem,5vw,5.5rem);
  max-width:820px;
}

.logo{
  display:block;
  width:clamp(88px,7.5vw,116px);
  height:auto;
  margin-bottom:clamp(.7rem,1.6vh,1.2rem);
}

.eyebrow{
  color:var(--gold);
  font-weight:800;
  letter-spacing:.16em;
  font-size:clamp(.78rem,1.4vw,1rem);
  margin-bottom:clamp(.5rem,1vh,.85rem);
}

.headline{
  font-weight:900;
  text-transform:uppercase;
  line-height:.98;
  letter-spacing:-.01em;
  font-size:clamp(1.7rem, 2.2vw + 1.5vh, 3.25rem);
  display:flex;flex-direction:column;gap:.02em;
  margin-bottom:clamp(.8rem,1.8vh,1.3rem);
  text-shadow:0 2px 24px rgba(0,0,0,.4);
}
.headline .w{color:var(--white)}
.headline .g{
  background:linear-gradient(92deg,var(--gold-3),var(--gold) 55%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--gold);
}

.sub{
  color:var(--muted);
  font-size:clamp(.95rem, .7vw + .6vh, 1.12rem);
  font-weight:500;
  line-height:1.45;
  max-width:32em;
  margin-bottom:clamp(1rem,2.2vh,1.6rem);
}
.sub strong{color:var(--gold-2);font-weight:800}

/* ---------------- FORM ---------------- */
.form{max-width:560px}
.field{position:relative;margin-bottom:clamp(.5rem,1.1vh,.8rem)}
.field-ico{
  position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);
  width:22px;height:22px;color:var(--gold);pointer-events:none;
}
.field-ico svg{width:100%;height:100%}
.field input{
  width:100%;
  height:clamp(48px,6vh,58px);
  background:var(--field-bg);
  border:1.5px solid var(--line);
  border-radius:12px;
  color:var(--white);
  font-family:inherit;
  font-size:1.05rem;
  padding:0 1.2rem 0 3.2rem;
  transition:border-color .18s, box-shadow .18s, background .18s;
}
.field input::placeholder{color:#8a8175}
.field input:focus{
  outline:none;
  border-color:var(--gold);
  background:rgba(201,154,58,.06);
  box-shadow:0 0 0 3px rgba(201,154,58,.14);
}
.field input.invalid{border-color:#c0533a;box-shadow:0 0 0 3px rgba(192,83,58,.16)}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.cta{
  width:100%;
  height:clamp(52px,6.4vh,62px);
  margin-top:clamp(.35rem,1vh,.6rem);
  border:none;border-radius:12px;cursor:pointer;
  background:linear-gradient(180deg,var(--gold-3),var(--gold) 46%,var(--gold-deep));
  color:#1a1206;
  font-family:inherit;font-weight:800;
  font-size:clamp(1rem,1.6vw,1.22rem);letter-spacing:.01em;
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  box-shadow:0 12px 34px rgba(201,154,58,.28), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .12s, box-shadow .18s, filter .18s;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(201,154,58,.42), inset 0 1px 0 rgba(255,255,255,.4)}
.cta:active{transform:translateY(0)}
.cta:disabled{filter:saturate(.4) brightness(.9);cursor:not-allowed;transform:none}
.cta-ico{width:26px;height:26px;flex:none}

.secure{
  display:flex;align-items:center;gap:.5rem;
  color:var(--muted);font-size:.88rem;font-weight:500;
  margin-top:clamp(.6rem,1.4vh,1rem);
}
.secure svg{width:17px;height:17px;color:var(--gold);flex:none}

.form-msg{margin-top:.9rem;font-size:.95rem;font-weight:600;min-height:1.2em}
.form-msg.ok{color:var(--gold-2)}
.form-msg.err{color:#e07a5f}

/* ---------------- RIGHT (hero) ---------------- */
.right{
  position:relative;height:100vh;display:flex;align-items:flex-end;justify-content:flex-end;
}
.hero-img{
  height:100%;width:auto;max-width:none;object-fit:contain;object-position:bottom right;
  filter:drop-shadow(-30px 0 60px rgba(0,0,0,.5));
}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1024px){
  .wrap{grid-template-columns:1fr;min-height:auto}
  .right{height:auto;order:-1;justify-content:center;margin-top:2rem}
  .hero-img{height:auto;width:min(92%,520px)}
  .left{min-height:auto;justify-content:flex-start;padding:3vh 1.4rem 5vh;margin:0 auto;text-align:left}
  .logo{margin-left:0}
  .glow{width:100vw;height:60vh;top:-15%}
}
@media (max-width:560px){
  .field input{height:56px;font-size:1rem}
  .cta{height:60px}
  .headline{font-size:clamp(1.9rem,8.5vw,2.6rem)}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}
