:root{
  --ahpag-black:#020203;
  --ahpag-ink:#07050b;
  --ahpag-card:#0d0914;
  --ahpag-card-2:#151020;
  --ahpag-purple:#9b4dff;
  --ahpag-purple-2:#6f22db;
  --ahpag-purple-3:#c58aff;
  --ahpag-text:#ffffff;
  --ahpag-muted:rgba(255,255,255,.74);
  --ahpag-faint:rgba(255,255,255,.52);
  --ahpag-line:rgba(198,156,255,.26);
  --ahpag-line-soft:rgba(255,255,255,.10);
  --ahpag-danger:#ff5c7a;
  --ahpag-ok:#55ef9a;
}

.ahpag-body{
  margin:0!important;
  min-height:100vh;
  background:#020203;
}

.ahpag,
.ahpag *{
  box-sizing:border-box;
}

.ahpag{
  width:100%;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,3vw,42px);
  color:var(--ahpag-text);
  font-family:Inter,Poppins,Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(960px 520px at 78% 8%,rgba(155,77,255,.27),transparent 68%),
    radial-gradient(720px 420px at 8% 12%,rgba(198,156,255,.11),transparent 72%),
    linear-gradient(180deg,#020203 0%,#08050e 48%,#020203 100%);
  position:relative;
  overflow:hidden;
}

.ahpag:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(155,77,255,.10),transparent),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 74px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.026) 0 1px,transparent 1px 74px);
  opacity:.38;
  -webkit-mask-image:radial-gradient(circle at 50% 20%,#000 0%,transparent 74%);
  mask-image:radial-gradient(circle at 50% 20%,#000 0%,transparent 74%);
}

.ahpag:after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(940px,84vw);
  height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(155,77,255,.95),rgba(255,255,255,.68),rgba(155,77,255,.95),transparent);
  box-shadow:0 0 34px rgba(155,77,255,.72);
  pointer-events:none;
}

.ahpag-ui-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  overflow:auto;
  background:#020203;
  overscroll-behavior:contain;
}

.ahpag-ui-overlay .ahpag{
  min-height:100svh;
}

.ahpag-shell{
  position:relative;
  z-index:2;
  width:min(1240px,100%);
  min-height:min(720px,calc(100svh - 72px));
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px);
  gap:20px;
  align-items:stretch;
}

.ahpag-story,
.ahpag-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--ahpag-line);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.ahpag-story{
  min-height:620px;
  padding:clamp(28px,4vw,54px);
  border-radius:34px;
  background:
    radial-gradient(520px 320px at 86% 0%,rgba(155,77,255,.18),transparent 70%),
    linear-gradient(135deg,rgba(255,255,255,.080),rgba(255,255,255,.028));
  box-shadow:0 34px 110px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.ahpag-story:before{
  content:"";
  position:absolute;
  right:-140px;
  top:-150px;
  width:420px;
  height:420px;
  border-radius:999px;
  border:1px solid rgba(198,156,255,.20);
  box-shadow:0 0 0 44px rgba(155,77,255,.035),0 0 84px rgba(155,77,255,.22);
  pointer-events:none;
}

.ahpag-story:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:82px;
  background:linear-gradient(0deg,rgba(155,77,255,.10),transparent);
  pointer-events:none;
}

.ahpag-logo-wrap{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:100%;
  margin:0 0 22px;
  padding:10px 0;
}

.ahpag-logo{
  display:block;
  width:min(335px,72vw);
  height:auto;
  max-height:88px;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(155,77,255,.30));
}

.ahpag-brandmark{
  position:relative;
  z-index:2;
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  margin:0 0 22px;
  border-radius:22px;
  background:linear-gradient(135deg,var(--ahpag-purple),#2a0c46);
  color:#fff;
  font-size:22px;
  font-weight:950;
  letter-spacing:-.07em;
  box-shadow:0 0 34px rgba(155,77,255,.40);
}

.ahpag-eyebrow{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:100%;
  margin:0 0 14px;
  padding:8px 12px;
  border-radius:999px;
  color:var(--ahpag-purple-3);
  background:rgba(155,77,255,.12);
  border:1px solid rgba(198,156,255,.22);
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-shadow:0 0 22px rgba(155,77,255,.48);
}

.ahpag-story h1{
  position:relative;
  z-index:2;
  max-width:740px;
  margin:0;
  color:#fff;
  font-size:clamp(39px,4.25vw,60px);
  line-height:1.01;
  letter-spacing:-.058em;
  font-weight:950;
  text-wrap:balance;
}

.ahpag-intro{
  position:relative;
  z-index:2;
  max-width:660px;
  margin:20px 0 0;
  color:rgba(255,255,255,.82);
  font-size:clamp(15px,1.35vw,17px);
  line-height:1.68;
  font-weight:650;
}

.ahpag-support-strip{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px 0 0;
  max-width:760px;
}

.ahpag-support-strip span{
  min-height:108px;
  display:grid;
  align-content:center;
  gap:8px;
  padding:18px;
  border-radius:22px;
  color:#fff;
  border:1px solid rgba(198,156,255,.20);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 16px 34px rgba(0,0,0,.22);
}

.ahpag-support-strip span strong{
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.02em;
}

.ahpag-support-strip span small{
  display:block;
  color:rgba(255,255,255,.66);
  font-size:12px;
  line-height:1.42;
  font-weight:700;
}

.ahpag-review-strip{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:18px 0 0;
  padding:9px;
  border-radius:999px;
  border:1px solid rgba(198,156,255,.20);
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.ahpag-review-kicker,
.ahpag-stars,
.ahpag-review-score,
.ahpag-review-count{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:950;
}

.ahpag-review-kicker{
  padding:0 11px;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.075);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ahpag-stars{
  padding:0 12px;
  color:#fff;
  background:linear-gradient(135deg,var(--ahpag-purple),#32124f);
  box-shadow:0 14px 28px rgba(155,77,255,.28);
}

.ahpag-review-score{
  padding:0 10px;
  color:#fff;
  background:rgba(0,0,0,.22);
}

.ahpag-review-count{
  padding:0 10px;
  color:rgba(255,255,255,.74);
}

.ahpag-media-banner{
  position:relative;
  z-index:2;
  width:min(560px,100%);
  min-height:156px;
  margin:22px 0 0;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(198,156,255,.22);
  background:rgba(255,255,255,.06);
}

.ahpag-media-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.ahpag-media-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,2,3,.68),rgba(2,2,3,.12));
}

.ahpag-proof-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px 0 0;
  max-width:760px;
}

.ahpag-proof-grid div{
  position:relative;
  min-height:96px;
  padding:20px 18px 18px;
  border-radius:22px;
  border:1px solid rgba(198,156,255,.22);
  background:
    radial-gradient(180px 110px at 92% 0%,rgba(155,77,255,.16),transparent 72%),
    linear-gradient(180deg,rgba(255,255,255,.078),rgba(255,255,255,.028));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.085),0 16px 36px rgba(0,0,0,.24);
  overflow:hidden;
}

.ahpag-proof-grid div:before{
  content:"";
  display:block;
  width:28px;
  height:4px;
  margin:0 0 15px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ahpag-purple),var(--ahpag-purple-3));
  box-shadow:0 0 18px rgba(155,77,255,.50);
}

.ahpag-proof-grid span{
  display:block;
  color:#fff;
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.035em;
}

.ahpag-proof-grid small{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.66);
  font-size:12.5px;
  line-height:1.42;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}

.ahpag-compliance-note{
  position:relative;
  z-index:2;
  max-width:695px;
  display:grid;
  gap:7px;
  margin:18px 0 0;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(198,156,255,.20);
  background:rgba(155,77,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.ahpag-compliance-note strong{
  color:#fff;
  font-size:15px;
  font-weight:950;
}

.ahpag-compliance-note span{
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.52;
  font-weight:650;
}

.ahpag-card{
  min-height:620px;
  padding:clamp(22px,3vw,34px);
  border-radius:34px;
  background:
    radial-gradient(360px 220px at 100% 0%,rgba(155,77,255,.18),transparent 70%),
    linear-gradient(180deg,rgba(15,10,24,.98),rgba(5,5,7,.97));
  color:#fff;
  box-shadow:0 34px 110px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
}

.ahpag-card:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-120px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(155,77,255,.14);
  filter:blur(4px);
  pointer-events:none;
}

.ahpag-card-head{
  position:relative;
  z-index:2;
  display:grid;
  gap:7px;
  margin:0 0 18px;
}

.ahpag-card-head>span{
  color:#fff;
  font-size:clamp(26px,2.7vw,36px);
  line-height:1;
  letter-spacing:-.050em;
  font-weight:950;
}

.ahpag-card-head>small{
  color:var(--ahpag-muted);
  font-size:14px;
  line-height:1.35;
  font-weight:750;
}

.ahpag-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}

.ahpag-card-badges span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(155,77,255,.12);
  border:1px solid rgba(198,156,255,.20);
  color:var(--ahpag-purple-3);
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ahpag-alert{
  position:relative;
  z-index:2;
  margin:0 0 14px;
  padding:13px 15px;
  border-radius:18px;
  background:rgba(255,92,122,.12);
  border:1px solid rgba(255,92,122,.28);
  color:#ffd9e1;
  font-size:13px;
  line-height:1.45;
  font-weight:800;
}

.ahpag-alert--ok{
  background:rgba(85,239,154,.10);
  border-color:rgba(85,239,154,.24);
  color:#d9ffe9;
}

.ahpag-tabs{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  margin:4px 0 18px;
}

.ahpag-tab{
  min-height:44px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(255,255,255,.68);
  cursor:pointer;
  font-size:14px;
  line-height:1;
  font-weight:950;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.ahpag-tab:hover{transform:translateY(-1px);}

.ahpag-tab.is-active{
  background:linear-gradient(135deg,var(--ahpag-purple),#451074);
  color:#fff;
  box-shadow:0 14px 30px rgba(155,77,255,.30);
}

.ahpag-panels{
  position:relative;
  z-index:2;
  flex:1;
}

.ahpag-panel{display:none;}
.ahpag-panel.is-active{display:block;}

.ahpag-form{
  display:grid;
  gap:12px;
}

.ahpag-field{
  display:grid;
  gap:8px;
  margin:0;
}

.ahpag-field>span:first-child,
.ahpag-reset-intro strong{
  color:var(--ahpag-purple-3);
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ahpag-field input{
  width:100%;
  min-height:50px;
  padding:0 15px;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.065);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  outline:none;
  font-size:15px;
  font-weight:700;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.ahpag-field input:focus{
  border-color:rgba(198,156,255,.72);
  background:rgba(255,255,255,.085);
  box-shadow:0 0 0 4px rgba(155,77,255,.13),inset 0 1px 0 rgba(255,255,255,.08);
}

.ahpag-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.ahpag-password{
  position:relative;
  display:block;
}

.ahpag-password__input{padding-right:76px!important;}

.ahpag-password__toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-height:34px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:rgba(155,77,255,.17);
  color:#fff;
  cursor:pointer;
  font-size:12px;
  line-height:1;
  font-weight:950;
}

.ahpag-terms{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:22px;
  background:
    radial-gradient(260px 130px at 100% 0%,rgba(155,77,255,.12),transparent 72%),
    rgba(255,255,255,.045);
  border:1px solid rgba(198,156,255,.18);
  overflow:visible!important;
}

.ahpag-terms__head{
  color:#fff;
  font-size:14px;
  line-height:1;
  font-weight:950;
}

.ahpag-terms__body{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0;
  color:rgba(255,255,255,.72);
  font-size:12.5px;
  line-height:1.55;
  font-weight:600;
}

.ahpag-terms__body p{margin:0 0 8px;}
.ahpag-terms__body p:last-child{margin-bottom:0;}

.ahpag-check{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border-radius:18px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.82);
  font-size:12.5px;
  line-height:1.45;
  font-weight:750;
  cursor:pointer;
}

.ahpag-check input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--ahpag-purple);
}

.ahpag-btn{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--ahpag-purple),#4a1493);
  color:#fff;
  box-shadow:0 18px 36px rgba(155,77,255,.30),inset 0 1px 0 rgba(255,255,255,.20);
  cursor:pointer;
  font-size:15px;
  line-height:1;
  font-weight:950;
  transition:transform .18s ease,box-shadow .18s ease;
}

.ahpag-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 48px rgba(155,77,255,.42),inset 0 1px 0 rgba(255,255,255,.28);
}

.ahpag-small{
  margin:0;
  color:var(--ahpag-muted);
  font-size:13px;
  line-height:1.45;
  font-weight:700;
  text-align:center;
}

.ahpag-small a{
  color:var(--ahpag-purple-3);
  font-weight:950;
  text-decoration:underline;
  text-underline-offset:3px;
}

.ahpag-reset-intro{
  display:grid;
  gap:8px;
  margin:0 0 4px;
  padding:16px;
  border-radius:20px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(198,156,255,.16);
}

.ahpag-reset-intro span,
.ahpag-reset-view p{
  color:var(--ahpag-muted);
  font-size:14px;
  line-height:1.55;
  font-weight:650;
}

.ahpag-reset-view{
  position:relative;
  z-index:2;
}

.ahpag-reset-view h2{
  margin:0 0 10px;
  color:#fff;
  font-size:34px;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}

.ahpag-reset-view p{margin:0 0 18px;}

@media (max-width:1100px){
  .ahpag{
    align-items:flex-start;
    padding:18px;
  }
  .ahpag-shell{
    grid-template-columns:1fr;
    min-height:0;
  }
  .ahpag-story,
  .ahpag-card{
    min-height:auto;
  }
  .ahpag-story{
    padding:34px;
  }
}

@media (max-width:740px){
  .ahpag{padding:12px;}
  .ahpag-story,
  .ahpag-card{border-radius:26px;}
  .ahpag-story{padding:26px 20px;}
  .ahpag-logo{width:min(260px,78vw);}
  .ahpag-story h1{font-size:38px;line-height:1.02;letter-spacing:-.045em;}
  .ahpag-intro{font-size:15px;}
  .ahpag-support-strip{grid-template-columns:1fr;}
  .ahpag-support-strip span{min-height:auto;}
  .ahpag-proof-grid{grid-template-columns:1fr;}
  .ahpag-proof-grid div{min-height:88px;}
  .ahpag-review-strip{border-radius:24px;}
  .ahpag-card{padding:20px;}
  .ahpag-tabs{
    grid-template-columns:1fr;
    border-radius:22px;
  }
  .ahpag-card-head>span{font-size:31px;}
}

@media (max-height:760px) and (min-width:1101px){
  .ahpag{align-items:flex-start;}
  .ahpag-shell{min-height:0;}
  .ahpag-story,
  .ahpag-card{min-height:0;}
  .ahpag-story h1{font-size:48px;}
  .ahpag-support-strip span{min-height:92px;}
  .ahpag-proof-grid div{min-height:88px;}
}
