/* CC-00681 — PROGAIN PREMIUM CLIENT INVITATION V1 */
:root{
  --pg-yellow:#FAEF23;
  --pg-gold:#f4c430;
  --pg-gold-soft:#ffe65b;
  --pg-ink:#070707;
  --pg-panel:#111113;
  --pg-line:rgba(250,239,35,.36);
  --pg-muted:#a7a7ad;
  --pg-white:#fff;
}
*{box-sizing:border-box}
html,body{min-height:100%;background:#030303}
body.pg-signup-page{
  margin:0;
  min-height:100dvh;
  color:var(--pg-white);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 50% -10%,rgba(250,239,35,.13),transparent 28%),
    radial-gradient(circle at 5% 72%,rgba(250,239,35,.08),transparent 24%),
    radial-gradient(circle at 95% 58%,rgba(250,239,35,.07),transparent 24%),
    linear-gradient(180deg,#050505 0%,#080808 46%,#030303 100%);
  overflow-x:hidden;
}
body.pg-signup-page:before,
body.pg-signup-page:after{
  content:"";
  position:fixed;
  z-index:0;
  pointer-events:none;
}
body.pg-signup-page:before{
  inset:-16vh -8vw auto auto;
  width:54vw;
  height:68vh;
  opacity:.5;
  background:
    linear-gradient(128deg,transparent 0 45%,rgba(250,239,35,.18) 45.3% 45.7%,transparent 46%),
    linear-gradient(98deg,transparent 0 67%,rgba(250,239,35,.09) 67.4% 67.8%,transparent 68%);
  transform:skewX(-8deg);
}
body.pg-signup-page:after{
  left:-15vw;
  bottom:-24vh;
  width:72vw;
  height:55vh;
  background:linear-gradient(148deg,transparent 38%,rgba(250,239,35,.09) 38.4% 39%,transparent 39.4%);
  opacity:.65;
}
.pg-invite-shell{
  position:relative;
  z-index:1;
  width:100%;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:42px 18px 58px;
  isolation:isolate;
}
.pg-ambient{
  position:absolute;
  pointer-events:none;
  filter:blur(1px);
  opacity:.7;
}
.pg-ambient-a{
  width:300px;height:300px;
  left:max(-90px,calc(50% - 520px));
  top:120px;
  border-left:1px solid rgba(250,239,35,.45);
  border-top:1px solid rgba(250,239,35,.16);
  transform:rotate(-14deg);
  box-shadow:-20px -20px 70px rgba(250,239,35,.035);
}
.pg-ambient-b{
  width:250px;height:380px;
  right:max(-90px,calc(50% - 520px));
  bottom:110px;
  border-right:1px solid rgba(250,239,35,.38);
  border-bottom:1px solid rgba(250,239,35,.13);
  transform:rotate(11deg);
}
.pg-invite-card{
  position:relative;
  width:min(100%,720px);
  padding:44px 48px 34px;
  overflow:hidden;
  border:1px solid rgba(250,239,35,.22);
  border-radius:34px;
  background:
    linear-gradient(180deg,rgba(18,18,19,.96),rgba(8,8,9,.98)),
    #090909;
  box-shadow:
    0 40px 120px rgba(0,0,0,.75),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 70px rgba(250,239,35,.055);
}
.pg-invite-card:before,
.pg-invite-card:after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.pg-invite-card:before{
  inset:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.025),transparent 24%),
    radial-gradient(circle at 50% 0,rgba(250,239,35,.08),transparent 27%);
}
.pg-invite-card:after{
  right:-120px;
  top:100px;
  width:360px;
  height:660px;
  border-left:1px solid rgba(250,239,35,.18);
  border-right:1px solid rgba(250,239,35,.12);
  transform:rotate(13deg);
  background:linear-gradient(90deg,transparent,rgba(250,239,35,.02),transparent);
}
.pg-top-rail{
  position:absolute;
  left:34px;right:34px;top:20px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--pg-yellow),transparent);
  opacity:.65;
  box-shadow:0 0 12px rgba(250,239,35,.55);
}
.pg-brand-block{
  position:relative;
  z-index:2;
  text-align:center;
  margin:4px auto 24px;
}
.pg-brand{
  display:block;
  width:min(82%,430px);
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 8px 28px rgba(0,0,0,.72));
}
.pg-brand-values{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin:14px 0 0;
  color:#c9c9cd;
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.pg-brand-values b{color:var(--pg-yellow);font-weight:900}
.pg-hero-copy{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:610px;
  margin:0 auto 26px;
}
.pg-gold-rule{
  width:88px;
  height:2px;
  margin:0 auto 18px;
  background:linear-gradient(90deg,transparent,var(--pg-yellow),transparent);
  box-shadow:0 0 12px rgba(250,239,35,.5);
}
.pg-eyebrow{
  margin:0 0 12px;
  color:var(--pg-yellow);
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.pg-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  line-height:.86;
  text-transform:uppercase;
  letter-spacing:-.04em;
  text-shadow:0 8px 28px rgba(0,0,0,.7);
}
.pg-title span{
  display:block;
  color:#f6f6f6;
  font-size:clamp(54px,9vw,88px);
  font-weight:500;
}
.pg-title strong{
  display:block;
  color:var(--pg-yellow);
  font-size:clamp(58px,9.4vw,92px);
  font-weight:600;
}
.pg-lead{
  margin:25px auto 7px;
  max-width:560px;
  color:#f2f2f3;
  font-size:clamp(21px,3vw,28px);
  line-height:1.24;
  font-weight:500;
}
.pg-lead strong{color:var(--pg-yellow)}
.pg-subtitle{
  max-width:540px;
  margin:0 auto;
  color:#9f9fa5;
  font-size:16px;
  line-height:1.55;
}
.pg-form-card{
  position:relative;
  z-index:2;
  margin:0 auto;
  padding:24px;
  border:1px solid var(--pg-line);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(18,18,20,.96),rgba(11,11,12,.98));
  box-shadow:
    0 20px 55px rgba(0,0,0,.48),
    0 0 28px rgba(250,239,35,.035),
    inset 0 1px 0 rgba(255,255,255,.025);
}
.pg-form{display:flex;flex-direction:column;gap:15px}
.pg-field label{
  display:block;
  margin:0 0 8px 4px;
  color:#ececee;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pg-field label span{color:var(--pg-yellow)}
.pg-field input{
  display:block;
  width:100%;
  height:60px;
  padding:0 18px;
  border:1px solid rgba(250,239,35,.34);
  border-radius:16px;
  outline:none;
  background:
    linear-gradient(180deg,rgba(35,35,38,.95),rgba(25,25,27,.98));
  color:#fff;
  font:inherit;
  font-size:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .16s,box-shadow .16s,background .16s,transform .16s;
}
.pg-field input::placeholder{color:#6f6f75}
.pg-field input:focus{
  border-color:rgba(250,239,35,.82);
  background:#202023;
  box-shadow:0 0 0 3px rgba(250,239,35,.09),0 0 26px rgba(250,239,35,.06);
}
.pg-required{
  margin:-1px 0 0;
  text-align:center;
  color:#77777d;
  font-size:12px;
}
.pg-error{
  margin:0;
  padding:11px 13px;
  border:1px solid rgba(239,68,68,.28);
  border-radius:12px;
  background:rgba(239,68,68,.09);
  color:#ffb4b4;
  font-size:13px;
  line-height:1.45;
}
.pg-error.hidden{display:none}
.pg-cta{
  width:100%;
  min-height:68px;
  margin-top:2px;
  padding:8px 20px;
  border:0;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  cursor:pointer;
  background:linear-gradient(180deg,#fff46f 0%,var(--pg-yellow) 48%,#d7bd08 100%);
  color:#080808;
  font:inherit;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.01em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    0 10px 30px rgba(250,239,35,.18),
    0 0 30px rgba(250,239,35,.14);
  transition:transform .15s,filter .15s,box-shadow .15s;
}
.pg-cta:hover{
  transform:translateY(-1px);
  filter:brightness(1.025);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 13px 34px rgba(250,239,35,.22),0 0 42px rgba(250,239,35,.18);
}
.pg-cta:active{transform:translateY(0)}
.pg-cta:disabled{opacity:.65;cursor:wait;transform:none}
.pg-cta-arrow{
  width:40px;height:40px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#070707;
  color:var(--pg-yellow);
  font-size:25px;
  line-height:1;
}
.pg-sent{text-align:center;padding:16px 8px 10px}
.pg-sent[hidden]{display:none}
.pg-success-icon{
  width:60px;height:60px;
  margin:0 auto 14px;
  display:grid;place-items:center;
  border:1px solid rgba(250,239,35,.42);
  border-radius:50%;
  background:rgba(250,239,35,.08);
  color:var(--pg-yellow);
  font-size:30px;
  font-weight:900;
  box-shadow:0 0 35px rgba(250,239,35,.09);
}
.pg-success-title{margin:0 0 7px;font-size:23px;font-weight:950}
.pg-success-sub{max-width:420px;margin:0 auto;color:var(--pg-muted);font-size:14px;line-height:1.55}
.pg-benefits{
  position:relative;
  z-index:2;
  margin:25px auto 0;
  padding:0 4px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.pg-benefit{
  min-height:95px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
  color:#e7e7e8;
}
.pg-benefit:not(:last-child){border-right:1px solid rgba(250,239,35,.22)}
.pg-benefit-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid rgba(250,239,35,.55);
  border-radius:50%;
  color:var(--pg-yellow);
  font-size:18px;
  box-shadow:0 0 18px rgba(250,239,35,.04);
}
.pg-benefit strong{
  font-size:11px;
  line-height:1.35;
  letter-spacing:.11em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .pg-invite-shell{padding:0}
  .pg-ambient{display:none}
  .pg-invite-card{
    width:100%;
    min-height:100dvh;
    padding:28px 18px 28px;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .pg-top-rail{left:18px;right:18px;top:12px}
  .pg-brand{width:min(80%,345px)}
  .pg-brand-values{gap:8px;font-size:9px;letter-spacing:.16em}
  .pg-hero-copy{margin-bottom:21px}
  .pg-title span{font-size:clamp(48px,15vw,72px)}
  .pg-title strong{font-size:clamp(52px,16vw,78px)}
  .pg-lead{margin-top:20px;font-size:20px}
  .pg-subtitle{font-size:14px}
  .pg-form-card{padding:18px 16px;border-radius:20px}
  .pg-field input{height:57px}
  .pg-cta{min-height:64px;font-size:18px}
  .pg-benefits{margin-top:20px}
}
@media(max-width:420px){
  .pg-invite-card{padding-left:14px;padding-right:14px}
  .pg-brand{width:min(86%,315px)}
  .pg-brand-values{font-size:8px}
  .pg-eyebrow{font-size:10px}
  .pg-title span{font-size:44px}
  .pg-title strong{font-size:50px}
  .pg-lead{font-size:18px}
  .pg-form-card{padding:16px 13px}
  .pg-field input{height:54px;font-size:15px}
  .pg-cta{min-height:61px;font-size:17px}
  .pg-cta-arrow{width:36px;height:36px}
  .pg-benefit strong{font-size:9px;letter-spacing:.08em}
  .pg-benefit-icon{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
  .pg-field input,.pg-cta{transition:none}
}

/* CC-00681 mobile overflow guard */
.pg-invite-card,.pg-brand-block,.pg-hero-copy,.pg-form-card,.pg-benefits{min-width:0;max-width:100%}
.pg-brand{max-width:100%}
@media(max-width:760px){
  .pg-invite-card{width:100vw;max-width:100vw}
  .pg-title span{font-size:clamp(40px,12.2vw,58px);letter-spacing:-.055em}
  .pg-title strong{font-size:clamp(48px,14vw,66px);letter-spacing:-.045em}
  .pg-lead,.pg-subtitle{max-width:100%}
}
@media(max-width:420px){
  .pg-title span{font-size:39px}
  .pg-title strong{font-size:48px}
  .pg-brand-values{gap:6px;font-size:7.5px;letter-spacing:.13em;white-space:nowrap}
  .pg-benefit strong{font-size:8.5px;letter-spacing:.06em}
}
