/* Extracted from pages/home.php — v170 */
/* V28 · one modern login surface on desktop and mobile. Login/2FA JavaScript stays untouched. */
.ah-hero-inner.has-auth-card{
  width:min(1240px,calc(100% - 56px));
  padding-top:calc(var(--header-offset) + 18px);
  padding-bottom:52px;
}
.ah-hero-inner.has-auth-card .ah-hero-layout{
  grid-template-columns:minmax(0,1fr) minmax(390px,430px);
  gap:clamp(64px,7vw,118px);
}
.ah-hero-inner.has-auth-card .ah-hero-copy-main h1{
  max-width:720px;
  margin-top:13px;
  font-size:clamp(62px,6.45vw,102px);
  line-height:.89;
  letter-spacing:-.072em;
}
.ah-hero-inner.has-auth-card .ah-hero-copy-main .ah-hero-desc{
  max-width:590px!important;
  margin-top:24px;
  color:rgba(255,255,255,.74);
  font-size:clamp(17px,1.35vw,20px);
  line-height:1.5;
}
.ah-hero-inner.has-auth-card .ah-hero-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
}
.ah-hero-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:25px;
}

.ah-hero-downloads{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
.ah-store-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(22,24,30,.74);
  color:#fff;
  text-decoration:none!important;
  box-shadow:0 18px 42px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.ah-store-btn:hover{
  transform:translateY(-2px);
  background:rgba(27,30,38,.88);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 22px 48px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.07);
}
.ah-store-btn-icon{
  display:flex;
  width:39px;
  height:39px;
  flex:0 0 39px;
  align-items:center;
  justify-content:center;
  color:#2f7dff;
}
.ah-store-btn-icon svg{display:block;width:39px;height:39px;border-radius:10px;}
.ah-store-btn-icon-light{
  border-radius:11px;
  background:#fff;
  color:#2f7dff;
  box-shadow:0 1px 0 rgba(0,0,0,.08) inset;
  overflow:hidden;
}
.ah-store-btn-icon-light img{
  display:block;
  width:26px;
  height:26px;
  object-fit:contain;
}
.ah-store-btn-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  line-height:1;
}
.ah-store-btn-copy small{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:650;
  letter-spacing:-.01em;
}
.ah-store-btn-copy strong{
  display:block;
  color:#fff;
  font-size:18px;
  font-weight:790;
  letter-spacing:-.03em;
}
.ah-store-btn-mobile .ah-store-btn-copy strong,
.ah-store-btn-mobile .ah-store-btn-copy small{white-space:nowrap;}
.ah-hero-chips span{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.66);
  font-size:11.5px;
  font-weight:650;
  letter-spacing:.005em;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.ah-hero-auth-card{
  width:100%;
  padding:30px;
  overflow:visible;
  border:1px solid rgba(255,255,255,.115);
  border-radius:34px;
  background:
    radial-gradient(160% 90% at 100% 0%,rgba(33,132,255,.14),rgba(33,132,255,0) 42%),
    linear-gradient(145deg,rgba(23,26,33,.78),rgba(8,10,15,.70));
  -webkit-backdrop-filter:blur(32px) saturate(145%);
  backdrop-filter:blur(32px) saturate(145%);
  box-shadow:
    0 42px 100px rgba(0,0,0,.42),
    0 8px 28px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.ah-hero-auth-card::before{
  border-radius:inherit;
  background:
    linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,0) 24%),
    radial-gradient(circle at 84% 8%,rgba(76,163,255,.13),transparent 33%);
}
.ah-hero-auth-card::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:0;
  pointer-events:none;
  border-radius:33px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018);
}
.ah-auth-intro{position:relative;z-index:2;}
.ah-auth-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.50);
  font-size:10px;
  line-height:1;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.ah-auth-kicker span{
  width:7px;height:7px;
  background:#30d158;
  box-shadow:0 0 0 4px rgba(48,209,88,.08),0 0 18px rgba(48,209,88,.36);
}
.ah-auth-intro h2{
  max-width:330px;
  margin:12px 0 0;
  color:#fff;
  font-size:35px;
  line-height:.98;
  font-weight:790;
  letter-spacing:-.052em;
}
.ah-auth-intro p{
  max-width:345px;
  margin:13px 0 0;
  color:rgba(255,255,255,.52);
  font-size:13px;
  line-height:1.5;
  letter-spacing:-.01em;
}
.ah-hero-auth-card #loginForm{margin-top:24px;}
.ah-hero-auth-card #loginForm .text-sm.font-semibold{
  display:block!important;
  margin:0 0 8px 2px!important;
  color:rgba(255,255,255,.54)!important;
  font-size:11px!important;
  line-height:1.2;
  font-weight:650!important;
}
.ah-hero-auth-card #loginForm .mb-3{margin-bottom:14px;}
.ah-hero-auth-card #loginForm input[name="login"],
.ah-hero-auth-card #loginForm input[name="password"]{
  min-height:57px!important;
  padding:0 17px!important;
  border:1px solid rgba(255,255,255,.105)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.065)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:560!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.ah-hero-auth-card #loginForm input[name="login"]::placeholder,
.ah-hero-auth-card #loginForm input[name="password"]::placeholder{
  color:rgba(255,255,255,.27)!important;
}
.ah-hero-auth-card #loginForm input[name="login"]:focus,
.ah-hero-auth-card #loginForm input[name="password"]:focus{
  border-color:rgba(74,168,255,.62)!important;
  background:rgba(255,255,255,.085)!important;
  box-shadow:0 0 0 4px rgba(10,132,255,.11),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.ah-hero-auth-card #loginSubmitBtn{
  min-height:57px!important;
  margin-top:2px;
  border-radius:18px!important;
  background:linear-gradient(180deg,#1b91ff 0%,#0878ea 100%)!important;
  font-size:15px!important;
  font-weight:720!important;
  letter-spacing:-.01em;
  box-shadow:0 16px 34px rgba(0,113,227,.27),inset 0 1px 0 rgba(255,255,255,.23)!important;
  transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,filter .2s ease!important;
}
.ah-hero-auth-card #loginSubmitBtn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 42px rgba(0,113,227,.34),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.ah-hero-auth-card #loginError{
  padding:12px 14px!important;
  border-radius:16px!important;
  font-size:12px!important;
  line-height:1.42!important;
}

/* Legal documents are part of the form on every viewport. */
.ah-hero-auth-card #loginLegalText:not(.hidden){
  display:block!important;
}
.ah-login-legal{
  position:relative;
  z-index:2;
  margin-top:17px!important;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.075);
  color:rgba(255,255,255,.35)!important;
  text-align:left!important;
}
.ah-login-legal-copy{
  display:block;
  font-size:10.5px;
  line-height:1.4;
}
.ah-login-legal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.ah-hero-auth-card .ah-login-legal-actions a{
  display:inline-flex;
  min-height:31px;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.67)!important;
  font-size:10.5px;
  line-height:1;
  font-weight:650;
  text-decoration:none!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.ah-hero-auth-card .ah-login-legal-actions a:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.085);
  color:#fff!important;
}

/* Bring the exact /login 2FA surface into the same visual language. */
.ah-hero-auth-card #twoFactorBlock>div{
  padding:18px!important;
  border:1px solid rgba(255,255,255,.095)!important;
  border-radius:21px!important;
  background:rgba(4,7,12,.42)!important;
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}
.ah-hero-auth-card [data-two-factor-method]{
  border-color:rgba(255,255,255,.09)!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.ah-hero-auth-card [data-two-factor-method]:hover{
  transform:translateY(-1px);
  border-color:rgba(74,168,255,.24)!important;
  background:rgba(74,168,255,.09)!important;
}
.ah-hero-auth-card .two-factor-otp-input{
  border-color:rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.065)!important;
  color:#fff!important;
}

@media(max-width:900px) and (min-width:768px){
  .ah-hero-inner.has-auth-card{width:min(100% - 38px,1080px);}
  .ah-hero-inner.has-auth-card .ah-hero-layout{grid-template-columns:minmax(0,1fr) minmax(350px,390px);gap:38px;}
  .ah-hero-inner.has-auth-card .ah-hero-copy-main h1{font-size:clamp(54px,7vw,70px);}
  .ah-hero-auth-card{padding:25px;border-radius:30px;}
}

@media(max-width:767px){
  .ah-hero{min-height:100svh;align-items:flex-start;overflow:hidden;}
  .ah-hero-inner.has-auth-card{
    width:calc(100% - 28px);
    padding:72px 0 max(42px,calc(env(safe-area-inset-bottom,0px) + 30px));
  }
  .ah-hero-inner.has-auth-card .ah-hero-layout{
    display:flex;
    flex-direction:column;
    gap:34px;
  }
  .ah-hero-inner.has-auth-card .ah-hero-auth-card{
    order:1;
    width:100%;
    padding:23px 20px 20px;
    border-radius:28px;
    background:
      radial-gradient(150% 90% at 100% 0%,rgba(33,132,255,.13),rgba(33,132,255,0) 44%),
      linear-gradient(145deg,rgba(22,25,32,.82),rgba(7,10,15,.75));
    -webkit-backdrop-filter:blur(24px) saturate(135%);
    backdrop-filter:blur(24px) saturate(135%);
    box-shadow:0 28px 72px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.10);
  }
  .ah-hero-inner.has-auth-card .ah-hero-copy-main{order:2;padding:0 3px;}
  .ah-auth-kicker{font-size:9.5px;}
  .ah-auth-intro h2{max-width:280px;margin-top:10px;font-size:30px;line-height:1;}
  .ah-auth-intro p{max-width:330px;margin-top:10px;font-size:12px;line-height:1.45;}
  .ah-hero-auth-card #loginForm{margin-top:20px;}
  .ah-hero-auth-card #loginForm .text-sm.font-semibold{display:block!important;font-size:10.5px!important;margin-bottom:7px!important;}
  .ah-hero-auth-card #loginForm input[name="login"],
  .ah-hero-auth-card #loginForm input[name="password"]{
    min-height:54px!important;
    border-radius:17px!important;
    font-size:16px!important; /* prevent iOS focus zoom */
  }
  .ah-hero-auth-card #loginSubmitBtn{min-height:54px!important;border-radius:17px!important;font-size:14.5px!important;}
  .ah-login-legal{display:block!important;margin-top:15px!important;padding-top:14px;}
  .ah-login-legal-copy{font-size:10px;}
  .ah-login-legal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  .ah-hero-auth-card .ah-login-legal-actions a{min-height:36px;padding:0 8px;text-align:center;font-size:9.8px;line-height:1.15;}
  .ah-hero-inner.has-auth-card .ah-hero-copy-main .ah-hero-kicker{font-size:11px;}
  .ah-hero-inner.has-auth-card .ah-hero-copy-main h1{
    max-width:390px;
    margin-top:11px;
    font-size:clamp(45px,13vw,59px);
    line-height:.91;
  }
  .ah-hero-inner.has-auth-card .ah-hero-copy-main .ah-hero-desc{
    max-width:350px!important;
    margin-top:17px!important;
    font-size:14.5px!important;
    line-height:1.45!important;
  }
  .ah-hero-chips{margin-top:18px;gap:6px;}
  .ah-hero-chips span{min-height:29px;padding:0 10px;font-size:10.5px;}
  .ah-hero-auth-card:has(#twoFactorBlock:not(.hidden)){
    padding-left:16px;
    padding-right:16px;
  }
  .ah-hero-auth-card #twoFactorBlock>div{padding:15px!important;border-radius:19px!important;}
  .ah-hero-auth-card #twoFactorMethods{grid-template-columns:1fr!important;}
  .ah-hero-auth-card .two-factor-otp-input{width:39px!important;height:47px!important;border-radius:13px!important;}
}
@media(max-width:390px){
  .ah-hero-inner.has-auth-card{width:calc(100% - 22px);padding-top:66px;}
  .ah-hero-inner.has-auth-card .ah-hero-layout{gap:29px;}
  .ah-hero-inner.has-auth-card .ah-hero-auth-card{padding:21px 17px 18px;border-radius:26px;}
  .ah-auth-intro h2{font-size:28px;}
  .ah-hero-inner.has-auth-card .ah-hero-copy-main h1{font-size:44px;}
  .ah-login-legal-actions{grid-template-columns:1fr;}
  .ah-hero-auth-card .ah-login-legal-actions a{min-height:34px;font-size:10px;}
}

@media(max-height:720px) and (max-width:767px){
  .ah-hero{min-height:100svh;}
  .ah-hero-inner.has-auth-card{padding-top:44px;padding-bottom:28px;}
  .ah-hero-auth-card{padding-top:20px!important;padding-bottom:17px!important;}
  .ah-auth-intro p{display:block!important;}
  .ah-hero-inner.has-auth-card .ah-hero-copy-main h1{font-size:42px;}
  .ah-hero-inner.has-auth-card .ah-hero-copy-main .ah-hero-desc{font-size:13.5px!important;}
}

/* V29 — cleaner Apple-style account sheet. Authentication logic is unchanged. */
.ah-hero-inner.has-auth-card .ah-hero-layout{
  grid-template-columns:minmax(0,1fr) minmax(360px,408px);
  gap:clamp(54px,7vw,116px);
}
.ah-hero-auth-card{
  width:100%;
  padding:27px 27px 22px;
  border:1px solid rgba(255,255,255,.105);
  border-radius:29px;
  overflow:hidden;
  background:rgba(13,15,20,.68);
  -webkit-backdrop-filter:blur(34px) saturate(145%);
  backdrop-filter:blur(34px) saturate(145%);
  box-shadow:0 34px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);
}
.ah-hero-auth-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(80% 42% at 100% 0%,rgba(38,132,255,.11),transparent 72%),linear-gradient(135deg,rgba(255,255,255,.045),transparent 25%);
}
.ah-hero-auth-card::after{display:none!important;}
.ah-auth-intro{position:relative;z-index:2;}
.ah-auth-brandline{display:flex;align-items:center;gap:11px;}
.ah-auth-brand-icon{display:flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.075);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden;}
.ah-auth-brand-icon img{display:block;width:25px;height:25px;object-fit:contain;}
.ah-auth-brand-copy{display:flex;min-width:0;flex-direction:column;gap:2px;}
.ah-auth-brand-copy b{color:#fff;font-size:13px;line-height:1.1;font-weight:720;letter-spacing:-.01em;}
.ah-auth-brand-copy small{color:rgba(255,255,255,.42);font-size:10px;line-height:1.2;font-weight:560;}
.ah-auth-intro h2{max-width:330px;margin:20px 0 0;color:#fff;font-size:31px;line-height:1.02;font-weight:760;letter-spacing:-.045em;}
.ah-auth-intro p{max-width:335px;margin:10px 0 0;color:rgba(255,255,255,.47);font-size:12.5px;line-height:1.46;letter-spacing:-.005em;}
.ah-hero-auth-card #loginForm{position:relative;z-index:2;margin-top:22px;}
.ah-hero-auth-card #loginForm .mb-3{margin-bottom:12px;}
.ah-hero-auth-card #loginForm .text-sm.font-semibold{display:block!important;margin:0 0 7px 2px!important;color:rgba(255,255,255,.44)!important;font-size:10px!important;line-height:1.2!important;font-weight:620!important;letter-spacing:.012em;}
.ah-hero-auth-card #loginForm input[name="login"],
.ah-hero-auth-card #loginForm input[name="password"]{
  min-height:55px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.095)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.052)!important;
  color:#f5f5f7!important;
  font-size:15px!important;
  font-weight:520!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.ah-hero-auth-card #loginForm input[name="login"]::placeholder,
.ah-hero-auth-card #loginForm input[name="password"]::placeholder{color:rgba(255,255,255,.25)!important;font-weight:480!important;}
.ah-hero-auth-card #loginForm input[name="login"]:focus,
.ah-hero-auth-card #loginForm input[name="password"]:focus{
  border-color:rgba(10,132,255,.64)!important;
  background:rgba(255,255,255,.068)!important;
  box-shadow:0 0 0 3px rgba(10,132,255,.105)!important;
}
.ah-hero-auth-card #loginSubmitBtn{
  min-height:53px!important;
  margin-top:3px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0071e3!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:680!important;
  letter-spacing:-.006em!important;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.ah-hero-auth-card #loginSubmitBtn:hover{background:#0077ed!important;transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(0,113,227,.18)!important;}
.ah-hero-auth-card #loginError{margin:0 0 11px!important;padding:10px 12px!important;border:1px solid rgba(255,69,58,.18)!important;border-radius:13px!important;background:rgba(255,69,58,.09)!important;color:#ffb4b0!important;font-size:11.5px!important;line-height:1.42!important;}
/* Recovery is never visible until login JS explicitly removes .hidden after bad_password. */
.ah-hero-auth-card #recoverSlot:empty{display:none!important;}
.ah-hero-auth-card #recoverSlot:not(:empty){display:block!important;margin:-1px 0 13px 2px!important;}
.ah-hero-auth-card #recoverSlot .ah-recovery-link{
  display:inline-flex!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#64b5ff!important;
  font-size:11.5px!important;
  font-weight:620!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.ah-hero-auth-card #recoverSlot .ah-recovery-link:hover{text-decoration:underline!important;transform:none!important;}
.ah-login-legal{margin-top:16px!important;padding-top:14px!important;border-top:1px solid rgba(255,255,255,.06)!important;color:rgba(255,255,255,.32)!important;}
.ah-login-legal-copy{font-size:9.8px!important;line-height:1.4!important;}
.ah-login-legal-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:9px!important;}
.ah-hero-auth-card .ah-login-legal-actions a{min-height:29px!important;padding:0 10px!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:999px!important;background:rgba(255,255,255,.035)!important;color:rgba(255,255,255,.56)!important;font-size:9.7px!important;line-height:1!important;font-weight:600!important;}
.ah-hero-auth-card .ah-login-legal-actions a:hover{border-color:rgba(255,255,255,.13)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;transform:none!important;}
.ah-hero-auth-card #twoFactorBlock>div{border-radius:18px!important;background:rgba(255,255,255,.035)!important;}

@media(max-width:900px) and (min-width:768px){
  .ah-hero-inner.has-auth-card .ah-hero-layout{grid-template-columns:minmax(0,1fr) minmax(340px,382px);gap:42px;}
  .ah-hero-auth-card{padding:24px 23px 20px;}
}
@media(max-width:767px){
  .ah-hero-inner.has-auth-card{width:calc(100% - 24px);padding-top:67px;}
  .ah-hero-inner.has-auth-card .ah-hero-layout{gap:24px;}
  .ah-hero-inner.has-auth-card .ah-hero-auth-card{width:100%;padding:21px 18px 18px;border-radius:24px;background:rgba(13,15,20,.72);-webkit-backdrop-filter:blur(25px) saturate(138%);backdrop-filter:blur(25px) saturate(138%);}
  .ah-auth-brand-icon{width:36px;height:36px;flex-basis:36px;border-radius:11px;}
  .ah-auth-brand-icon img{width:23px;height:23px;}
  .ah-auth-intro h2{max-width:310px;margin-top:17px;font-size:28px;}
  .ah-auth-intro p{max-width:330px;margin-top:9px;font-size:12px;}
  .ah-hero-auth-card #loginForm{margin-top:18px;}
  .ah-hero-auth-card #loginForm .text-sm.font-semibold{display:block!important;font-size:9.8px!important;margin-bottom:6px!important;}
  .ah-hero-auth-card #loginForm input[name="login"],
  .ah-hero-auth-card #loginForm input[name="password"]{min-height:52px!important;border-radius:14px!important;font-size:16px!important;}
  .ah-hero-auth-card #loginSubmitBtn{min-height:51px!important;font-size:14px!important;}
  .ah-login-legal{display:block!important;margin-top:14px!important;padding-top:13px!important;}
  .ah-login-legal-actions{display:flex!important;grid-template-columns:none!important;}
  .ah-hero-auth-card .ah-login-legal-actions a{min-height:30px!important;padding:0 9px!important;font-size:9.4px!important;}
  .ah-hero-downloads{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px;}
  .ah-store-btn{width:100%;min-height:58px;padding:9px 15px;border-radius:16px;}
  .ah-store-btn-icon{width:36px;height:36px;flex-basis:36px;}
  .ah-store-btn-icon svg{width:36px;height:36px;}
  .ah-store-btn-copy small{font-size:11px;}
  .ah-store-btn-copy strong{font-size:16px;}
}
@media(max-width:390px){
  .ah-hero-inner.has-auth-card{width:calc(100% - 20px);padding-top:44px;}
  .ah-hero-inner.has-auth-card .ah-hero-auth-card{padding:19px 15px 16px;border-radius:22px;}
  .ah-auth-intro h2{font-size:26px;}
  .ah-login-legal-actions{gap:5px!important;}
  .ah-hero-auth-card .ah-login-legal-actions a{padding:0 8px!important;font-size:9.1px!important;}
  .ah-store-btn{min-height:56px;padding-left:14px;padding-right:14px;}
  .ah-store-btn-copy small{font-size:10.5px;}
  .ah-store-btn-copy strong{font-size:15.5px;}
}

/* V34: keep the primary auth button label pure white on every browser/state. */
.ah-hero-auth-card #loginSubmitBtn,
.ah-hero-auth-card #loginSubmitBtn:hover,
.ah-hero-auth-card #loginSubmitBtn:active,
.ah-hero-auth-card #loginSubmitBtn:focus,
.ah-hero-auth-card #loginSubmitBtn:disabled{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 0 rgba(0,0,0,.06)!important;
}

/* V35 · /login signature carried over to the home auth surface. */
.ah-login-handwritten{
  position:absolute;
  top:29px;
  right:31px;
  z-index:4;
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#60a5fa;
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  font-size:15px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:.01em;
  transform:rotate(-4deg);
  text-shadow:0 0 18px rgba(59,130,246,.20);
  user-select:none;
  pointer-events:none;
  animation:ahLoginHandIn .9s cubic-bezier(.2,.8,.2,1) both .16s;
}
.ah-login-handwritten span{
  display:block;
  max-width:138px;
  text-align:center;
}
.ah-login-handwritten-heart{
  width:25px;
  height:25px;
  margin-top:-8px;
  flex:0 0 auto;
  filter:drop-shadow(0 0 8px rgba(59,130,246,.20));
  animation:ahLoginHeartBeat 2.8s ease-in-out infinite;
}
.ah-login-handwritten-heart path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@keyframes ahLoginHandIn{
  from{opacity:0;transform:translate3d(9px,-6px,0) rotate(-7deg) scale(.94);}
  to{opacity:1;transform:translate3d(0,0,0) rotate(-4deg) scale(1);}
}
@keyframes ahLoginHeartBeat{
  0%,74%,100%{transform:scale(1);}
  80%{transform:scale(1.12);}
  86%{transform:scale(.97);}
  92%{transform:scale(1.08);}
}
@media(max-width:767px){
  .ah-login-handwritten{
    top:17px;
    right:17px;
    gap:7px;
    font-size:12.5px;
    transform:rotate(-4deg);
  }
  .ah-login-handwritten span{max-width:112px;}
  .ah-login-handwritten-heart{
    width:21px;
    height:21px;
    margin-top:-6px;
  }
  /* Keep a clean safety gap between the brand on the left and signature on the right. */
  .ah-hero-auth-card .ah-auth-brandline{padding-right:132px;}
}
@media(max-width:390px){
  .ah-login-handwritten{
    top:16px;
    right:14px;
    font-size:11.5px;
    gap:6px;
  }
  .ah-login-handwritten span{max-width:100px;}
  .ah-login-handwritten-heart{width:19px;height:19px;}
  .ah-hero-auth-card .ah-auth-brandline{padding-right:116px;}
}

/* V36 · desktop hero content centered vertically in the first screen. */
@media(min-width:768px){
  .ah-hero{align-items:center;}
  .ah-hero-inner.has-auth-card{min-height:calc(100svh - 92px);display:flex;align-items:center;}
  .ah-hero-inner.has-auth-card .ah-hero-layout{width:100%;align-items:center;}
}

@media(prefers-reduced-motion:reduce){
  .ah-login-handwritten,
  .ah-login-handwritten-heart{animation:none!important;}
}



/* V40 · living home sections: feed, weather and cinematic depth. */
.ah-feed-showcase{
  min-height:880px;
  padding:110px 5vw 90px;
  background:#030407;
  color:#fff;
  overflow:hidden;
}
.ah-feed-showcase::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 75% 42%,rgba(10,132,255,.16),transparent 33%),radial-gradient(circle at 22% 76%,rgba(94,92,230,.09),transparent 30%),linear-gradient(180deg,#000 0%,#05070b 28%,#030407 75%,#000 100%);}
.ah-feed-ambient{position:absolute;z-index:0;width:620px;height:620px;right:-160px;top:130px;border-radius:50%;background:rgba(10,132,255,.08);filter:blur(110px);}
.ah-feed-copy{position:relative;z-index:3;width:min(1120px,90vw);margin:0 auto;text-align:center;}
.ah-feed-copy p{margin-left:auto;margin-right:auto;}
.ah-feed-stage{position:relative;z-index:2;width:min(980px,92vw);height:520px;margin:54px auto 0;perspective:1300px;will-change:transform;}
.ah-feed-card{position:absolute;border:1px solid rgba(255,255,255,.10);background:rgba(18,20,26,.80);-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%);box-shadow:0 36px 100px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.065);color:#fff;}
.ah-feed-card-main{left:50%;top:0;width:min(510px,58vw);transform:translateX(-50%) rotateX(1.5deg);border-radius:30px;padding:19px;}
.ah-feed-card-head{display:flex;align-items:center;gap:11px;}
.ah-feed-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden;background:#222;}
.ah-feed-avatar img{display:block;width:100%;height:100%;object-fit:cover;}
.ah-feed-author{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px;}
.ah-feed-author b{font-size:13.5px;font-weight:730;}.ah-feed-author small{color:rgba(255,255,255,.42);font-size:10.5px;}
.ah-feed-more{color:rgba(255,255,255,.42);letter-spacing:2px;}
.ah-feed-card p{margin:15px 0 16px;color:rgba(255,255,255,.83);font-size:14px;line-height:1.45;text-align:left;}
.ah-feed-photo{height:245px;overflow:hidden;border-radius:20px;background:#111;}
.ah-feed-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.82) saturate(.88);transition:transform 1.4s cubic-bezier(.16,1,.3,1);}
.ah-feed-showcase.is-visible .ah-feed-photo img{transform:scale(1.045);}
.ah-feed-actions{display:flex;gap:18px;margin-top:15px;color:rgba(255,255,255,.66);font-size:12px;}.ah-feed-actions span:last-child{margin-left:auto;}.ah-feed-actions b{color:#fff;font-weight:650;}
.ah-feed-card-float{width:280px;border-radius:23px;padding:16px;}
.ah-feed-card-one{left:1.5%;top:110px;transform:rotate(-6deg) translateZ(-40px);}
.ah-feed-card-two{right:0;top:210px;transform:rotate(5deg) translateZ(-30px);}
.ah-feed-mini-meta{display:flex;justify-content:space-between;color:rgba(255,255,255,.43);font-size:10px;}
.ah-feed-live{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.45);font-size:10px;}.ah-feed-live i,.ah-weather-live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 4px rgba(48,209,88,.08),0 0 14px rgba(48,209,88,.35);animation:ahLivePulse 1.8s ease-in-out infinite;}
@keyframes ahLivePulse{50%{opacity:.45;transform:scale(.76)}}

.ah-weather-home{min-height:820px;padding:110px 5vw;background:#07111f;color:#fff;overflow:hidden;}
.ah-weather-sky{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(circle at 72% 22%,rgba(61,169,255,.24),transparent 26%),linear-gradient(150deg,#07111f 0%,#0b2544 47%,#102f52 70%,#06101d 100%);}
.ah-weather-sky::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000 0%,transparent 18%,transparent 78%,#000 100%);opacity:.55;}
.ah-weather-orb{position:absolute;right:12%;top:14%;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff7d0 0%,#ffd76a 18%,#ffad31 48%,rgba(255,151,36,.18) 70%,transparent 72%);filter:drop-shadow(0 0 50px rgba(255,188,74,.18));will-change:transform;}
.ah-weather-cloud{position:absolute;width:330px;height:95px;border-radius:999px;background:rgba(255,255,255,.075);filter:blur(10px);will-change:transform;}
.ah-weather-cloud::before,.ah-weather-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit;}.ah-weather-cloud::before{width:120px;height:120px;left:58px;top:-48px;}.ah-weather-cloud::after{width:150px;height:150px;right:46px;top:-68px;}
.cloud-a{right:4%;top:34%;opacity:.58}.cloud-b{left:-7%;top:58%;opacity:.28;transform:scale(.78)}
.ah-weather-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,500px);align-items:center;gap:clamp(60px,8vw,130px);width:min(1180px,90vw);margin:0 auto;}
.ah-weather-copy h2{max-width:650px}.ah-weather-copy p{max-width:570px;color:rgba(255,255,255,.70);}
.ah-weather-cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.ah-weather-cities button{min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.60);font-size:11px;font-weight:650;cursor:pointer;transition:.2s ease}.ah-weather-cities button:hover,.ah-weather-cities button.is-active{border-color:rgba(255,255,255,.20);background:rgba(255,255,255,.12);color:#fff;}
.ah-weather-card{position:relative;padding:26px;border:1px solid rgba(255,255,255,.13);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));-webkit-backdrop-filter:blur(32px) saturate(135%);backdrop-filter:blur(32px) saturate(135%);box-shadow:0 40px 100px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10);will-change:transform;}
.ah-weather-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 82% 5%,rgba(255,209,99,.13),transparent 30%);}
.ah-weather-card-top{position:relative;display:flex;align-items:center;justify-content:space-between}.ah-weather-city{font-size:16px;font-weight:720}.ah-weather-live{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.48);font-size:9px;font-weight:800;letter-spacing:.08em;}
.ah-weather-now{position:relative;display:flex;align-items:center;gap:18px;margin-top:32px}.ah-weather-now strong{font-size:clamp(72px,7vw,104px);line-height:.85;font-weight:720;letter-spacing:-.07em}.ah-weather-symbol{display:grid;width:68px;height:68px;place-items:center;font-size:48px;line-height:1;}
.ah-weather-state{position:relative;margin-top:20px;color:rgba(255,255,255,.68);font-size:13px;}
.ah-weather-metrics{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}.ah-weather-metrics div{padding:13px 12px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.045)}.ah-weather-metrics small{display:block;color:rgba(255,255,255,.40);font-size:9.5px}.ah-weather-metrics b{display:block;margin-top:5px;font-size:13px;font-weight:690;}
.ah-weather-days{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;border-top:1px solid rgba(255,255,255,.08);padding-top:16px}.ah-weather-days span{display:flex;flex-direction:column;gap:5px;text-align:center}.ah-weather-days small{color:rgba(255,255,255,.39);font-size:9.5px}.ah-weather-days b{font-size:12px;font-weight:670;}
.ah-weather-card.is-loading{opacity:.72}.ah-weather-card.is-error .ah-weather-live i{background:#ff9f0a;box-shadow:0 0 0 4px rgba(255,159,10,.08);}

/* Smooth visual hand-off between the large home scenes. */
.ah-comms,.ah-feed-showcase,.ah-share,.ah-weather-home,.ah-services,.ah-final{isolation:isolate;}
.ah-feed-showcase::after,.ah-weather-home::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:-1px;height:150px;pointer-events:none;background:linear-gradient(180deg,transparent,#000 98%);}
.ah-feed-showcase{margin-top:-1px}.ah-weather-home{margin-top:-1px}.ah-weather-home::before{content:"";position:absolute;z-index:2;left:0;right:0;top:-1px;height:150px;pointer-events:none;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.64) 24%,transparent 100%);}
[data-ah-depth]{transform:translate3d(0,var(--ah-depth-y,0px),0);}
.ah-feed-card,.ah-weather-card{transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .3s ease,background .3s ease;}
.ah-feed-card:hover,.ah-weather-card:hover{border-color:rgba(255,255,255,.19);}
.ah20-head-pill span.is-typing{color:#5ac8fa!important}.ah20-head-pill span.is-typing::after{content:"";display:inline-block;width:14px;height:4px;margin-left:5px;vertical-align:middle;background:radial-gradient(circle,#5ac8fa 1.5px,transparent 2px) 0 50%/5px 5px repeat-x;animation:ahTypingDots .9s linear infinite;}
@keyframes ahTypingDots{to{background-position:5px 50%}}

@media(max-width:767px){
  .ah-feed-showcase{min-height:810px;padding:74px 0 64px}.ah-feed-copy{width:calc(100% - 32px)}.ah-feed-stage{width:100%;height:500px;margin-top:35px;overflow:hidden}.ah-feed-card-main{width:calc(100% - 52px);padding:15px;border-radius:25px}.ah-feed-photo{height:220px}.ah-feed-card-one{left:-105px;top:295px;transform:rotate(-7deg) scale(.84)}.ah-feed-card-two{right:-118px;top:350px;transform:rotate(7deg) scale(.82)}
  .ah-weather-home{min-height:900px;padding:82px 16px 70px}.ah-weather-shell{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:36px}.ah-weather-copy{text-align:center}.ah-weather-copy p{margin-left:auto;margin-right:auto}.ah-weather-cities{justify-content:center}.ah-weather-copy .ah-actions{justify-content:center}.ah-weather-card{padding:22px 19px;border-radius:27px}.ah-weather-orb{right:-35px;top:11%;width:160px;height:160px}.cloud-a{right:-100px;top:29%}.cloud-b{left:-150px;top:65%}.ah-weather-now strong{font-size:80px}.ah-weather-symbol{width:58px;height:58px;font-size:42px}.ah-weather-metrics div{padding:12px 8px}
}
@media(max-width:390px){.ah-feed-card-main{width:calc(100% - 34px)}.ah-feed-photo{height:205px}.ah-weather-now strong{font-size:72px}.ah-weather-card{padding-left:16px;padding-right:16px}.ah-weather-metrics b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ah-feed-photo img,.ah-weather-live i,.ah-feed-live i,.ah20-head-pill span.is-typing::after{animation:none!important;transition:none!important}[data-ah-depth]{transform:none!important}}
