:root{
  --navy-dark:#060b24;
  --navy:#0b1440;
  --orange:#f2a93c;
  --orange-deep:#e0901f;
  --red:#ff5252;
  --white:#ffffff;
  --muted:#c7cff0;
  --error:#ff6b6b;
  --field-radius:4px;
}

#rat-popup-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  background:linear-gradient(160deg,var(--navy-dark) 0%,var(--navy) 55%,#0d1848 100%);
  overflow-y:auto;
}
#rat-popup-overlay.rat-open{display:block;}
body.rat-lock{overflow:hidden;}

.rat-streak{
  position:absolute;
  height:2px;
  border-radius:2px;
  filter:blur(0.5px);
  pointer-events:none;
  opacity:.8;
}
.rat-streak.orange{background:linear-gradient(90deg,transparent,var(--orange),transparent);}
.rat-streak.purple{background:linear-gradient(90deg,transparent,#8b5cf6,transparent);}

.rat-close{
  position:fixed;
  top:22px;
  right:26px;
  z-index:100000;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.06);
  color:var(--white);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease, transform .2s ease;
}
.rat-close:hover{background:rgba(255,255,255,.16); transform:rotate(90deg);}
.rat-close:focus-visible{outline:2px solid var(--orange); outline-offset:2px;}

.rat-inner{
  position:relative;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 24px;
}

.rat-card{
  position:relative;
  z-index:2;
  width:100%;
  max-width:520px;
  text-align:center;
}

.rat-card h2{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:700;
  color:var(--white);
  font-size:32px;
  line-height:1.25;
  margin:0 0 18px;
}
.rat-card h2 .rat-accent{color:var(--red);}

.rat-card .rat-sub{
  font-family:Georgia,serif;
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
  margin:0 0 26px;
}
.rat-card .rat-sub b{color:var(--red);}

.rat-form{text-align:left;}
.rat-field{margin-bottom:14px;}

.rat-field input[type="text"],
.rat-field input[type="email"],
.rat-field input[type="tel"],
.rat-field textarea{
  width:100%;
  padding:14px 16px;
  font-family:Georgia,serif;
  font-size:15px;
  color:#1a1a2e;
  background:var(--white);
  border:2px solid var(--white);
  border-radius:var(--field-radius);
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.rat-field textarea{resize:vertical;min-height:110px;}
.rat-field input:focus,
.rat-field textarea:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(242,169,60,.25);
}
.rat-field.rat-invalid input,
.rat-field.rat-invalid textarea{
  border-color:var(--error);
  box-shadow:0 0 0 3px rgba(255,107,107,.2);
}
.rat-error-msg{
  display:none;
  color:#ffb3b3;
  font-family:Arial,sans-serif;
  font-size:12.5px;
  margin-top:6px;
  padding-left:2px;
}
.rat-field.rat-invalid .rat-error-msg{display:block;}

/* intl-tel-input needs full width wrapper */
.iti{width:100%;display:block;}

.rat-captcha{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);
  border-radius:var(--field-radius);
  padding:12px 14px;
  margin-bottom:16px;
}
.rat-captcha span{
  color:var(--white);
  font-family:Georgia,serif;
  font-size:16px;
  white-space:nowrap;
}
.rat-captcha input{
  flex:1;
  padding:10px 12px;
  border-radius:var(--field-radius);
  border:2px solid var(--white);
  font-family:Georgia,serif;
  font-size:15px;
}
.rat-captcha button{
  background:none;border:none;color:var(--orange);
  cursor:pointer; font-family:Arial,sans-serif; font-size:12px;
  text-decoration:underline; white-space:nowrap;
}

/* honeypot — hidden from real users, catches bots */
.rat-hp{position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0;}

.rat-submit{
  width:100%;
  padding:16px 20px;
  background:var(--orange);
  border:none;
  border-radius:var(--field-radius);
  font-family:Georgia,serif;
  font-weight:700;
  font-size:17px;
  color:#241503;
  cursor:pointer;
  transition:background .2s ease, transform .1s ease;
}
.rat-submit:hover{background:var(--orange-deep);}
.rat-submit:active{transform:scale(.99);}
.rat-submit:disabled{opacity:.6;cursor:not-allowed;}

.rat-form-status{
  margin-top:14px;
  font-family:Arial,sans-serif;
  font-size:14px;
  text-align:center;
  display:none;
}
.rat-form-status.rat-show{display:block;}
.rat-form-status.ok{color:#9cf5a4;}
.rat-form-status.fail{color:#ffb3b3;}

@media (max-width:480px){
  .rat-card h2{font-size:26px;}
  .rat-inner{padding:80px 18px 40px;}
}

@media (prefers-reduced-motion: reduce){
  .rat-close{transition:none;}
}
