/* Athena XP Partners — modal and form.
   Everything is namespaced under .ath-xp so nothing here can reach the page
   around it, and nothing on the page can repaint it. */

.ath-xp, .ath-xp *, .ath-xp *::before, .ath-xp *::after { box-sizing: border-box; }

.ath-xp{
  --x-ink:#0B0B0C;
  --x-gold:#FFC04A;
  --x-line:#DAD8D0;
  --x-grey:#6C6C75;
  --x-body:#3A3A42;
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.ath-xp[hidden]{ display:none; }

.ath-xp-veil{ position:absolute; inset:0; background:rgba(11,11,12,.74); }

.ath-xp-box{
  position:relative; z-index:1;
  width:100%; max-width:660px;
  background:#fff; color:var(--x-ink);
  border-radius:3px;
  padding:34px 34px 30px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  max-height:calc(100vh - 48px);
  overflow-y:auto;
}

.ath-xp-x{
  position:absolute; top:8px; right:10px;
  width:38px; height:38px; padding:0;
  border:0; background:transparent; cursor:pointer;
  font-size:26px; line-height:1; color:var(--x-grey);
}
.ath-xp-x:hover{ color:var(--x-ink); }
.ath-xp-x:focus-visible{ outline:2px solid var(--x-ink); outline-offset:2px; }

.ath-xp-kick{
  margin:0; font-family:Roboto,system-ui,sans-serif;
  font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--x-grey);
}
/* Breakdance sets a font AND a colour on h1 to h6 outright, and naming the
   element beats a plain class, so both are restated here. */
.ath-xp h2.ath-xp-h{ font-family:inherit; }
.ath-xp .ath-xp-h{
  margin:8px 0 0; font-size:26px; font-weight:600;
  line-height:1.2; letter-spacing:-.02em; color:var(--x-ink);
}
.ath-xp .ath-xp-p{
  margin:8px 0 0; font-family:Roboto,system-ui,sans-serif;
  font-size:15px; font-weight:400; line-height:1.6; color:var(--x-body);
}

.ath-xp-form{ margin-top:20px; }

/* Off screen rather than display:none, because some bots skip anything the
   browser is not rendering. */
.ath-xp-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.ath-xp-set{ border:0; padding:0; margin:0; min-width:0; }
.ath-xp-set[hidden]{ display:none; }
.ath-xp-legend{
  font-family:Roboto,system-ui,sans-serif;
  font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--x-grey); padding:16px 0 0; margin:18px 0 12px;
  border-top:1px solid var(--x-line); width:100%;
}

.ath-xp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.ath-xp-f{ display:block; margin-bottom:14px; }
.ath-xp-full{ grid-column:1 / -1; }
.ath-xp-f > span{
  display:block; margin-bottom:6px;
  font-family:Roboto,system-ui,sans-serif;
  font-size:12.5px; font-weight:500; letter-spacing:.04em; color:var(--x-ink);
}
.ath-xp-f > span i{ font-style:normal; font-weight:400; color:#8A8A93; }

.ath-xp .ath-xp-f input,
.ath-xp .ath-xp-f select{
  width:100%; margin:0;
  padding:12px 13px;
  font-family:Roboto,system-ui,sans-serif; font-size:15px; line-height:1.3;
  color:var(--x-ink); background:#fff;
  border:1px solid var(--x-line); border-radius:2px;
  outline:none; box-shadow:none;
}
.ath-xp .ath-xp-f input:focus,
.ath-xp .ath-xp-f select:focus{ border-color:var(--x-ink); box-shadow:0 0 0 3px rgba(255,192,74,.35); }
.ath-xp .ath-xp-f input[aria-invalid="true"],
.ath-xp .ath-xp-f select[aria-invalid="true"]{ border-color:#B3261E; }

.ath-xp-msg{
  margin:2px 0 0; font-family:Roboto,system-ui,sans-serif;
  font-size:13.5px; line-height:1.5; color:#B3261E;
}
.ath-xp-msg:empty{ display:none; }

.ath-xp-sub{
  width:100%; margin-top:16px;
  padding:15px 24px;
  font-family:inherit; font-size:15px; font-weight:600; line-height:1;
  color:#fff; background:var(--x-ink);
  border:2px solid var(--x-ink); border-radius:2px;
  cursor:pointer;
  transition:background-color .16s ease, color .16s ease;
}
.ath-xp-sub:hover,
.ath-xp-sub:focus-visible{ background:transparent; color:var(--x-ink); }
.ath-xp-sub:focus-visible{ outline:2px solid var(--x-gold); outline-offset:3px; }
.ath-xp-sub[disabled]{ opacity:.6; cursor:default; }

/* -------------------------------------------------------- THANK YOU */
.ath-xp-done{ text-align:center; padding:14px 0 6px; }
.ath-xp-done[hidden]{ display:none; }
.ath-xp-owl{ width:52px; height:52px; fill:var(--x-gold); display:inline-block; }
.ath-xp-done .ath-xp-h{ margin-top:14px; }
.ath-xp-dl{
  display:inline-flex; align-items:center; gap:9px;
  margin-top:22px; padding:15px 26px;
  background:var(--x-gold); color:var(--x-ink) !important;
  border:2px solid var(--x-gold); border-radius:2px;
  font-size:15px; font-weight:600; line-height:1; text-decoration:none !important;
  transition:background-color .16s ease;
}
.ath-xp-dl:hover,
.ath-xp-dl:focus-visible{ background:transparent; }
.ath-xp-dl:focus-visible{ outline:2px solid var(--x-ink); outline-offset:3px; }
.ath-xp-dl svg{ width:16px; height:16px; flex:0 0 auto; fill:currentColor; }

@media (max-width:600px){
  .ath-xp{ padding:16px; }
  .ath-xp-box{ padding:28px 22px 26px; }
  .ath-xp-grid{ grid-template-columns:1fr; }
  .ath-xp .ath-xp-h{ font-size:23px; }
}

@media (prefers-reduced-motion:reduce){
  .ath-xp-sub, .ath-xp-dl{ transition:none; }
}
