/* Allisto v1.0.3 — focused visual polish for signup only. */
.signup-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 1%,rgba(23,76,255,.21),transparent 27%),
    radial-gradient(circle at 91% 10%,rgba(245,39,120,.17),transparent 25%),
    radial-gradient(circle at 52% 100%,rgba(122,40,239,.11),transparent 32%),
    linear-gradient(160deg,#071226 0%,#080c18 48%,#05070d 100%);
}
.signup-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,black,transparent 75%);
}
.signup-page .account-shell{width:min(1180px,calc(100% - 32px));padding-top:22px}
.signup-page .account-header{margin-bottom:18px}
.signup-page .account-brand{max-width:min(100%,290px)}
.signup-page .account-brand-logo{width:clamp(180px,20vw,232px)!important}
.signup-page .account-header-links a,.signup-page .customer-language-control select{min-height:42px;display:inline-flex;align-items:center}

.signup-page .signup-hero{
  grid-template-columns:minmax(0,1fr) 132px;
  gap:24px 34px;
  min-height:0;
  padding:clamp(27px,4.4vw,46px)!important;
  border-radius:30px;
  box-shadow:0 30px 90px rgba(0,0,0,.34)!important;
}
.signup-page .signup-hero h1{
  max-width:850px;
  font-size:clamp(43px,5.5vw,70px);
  line-height:.94;
  text-wrap:balance;
}
.signup-page .signup-hero .account-intro{max-width:820px;margin-bottom:0;font-size:clamp(16px,1.8vw,19px)}
.signup-page .signup-lexie{align-self:center;justify-self:end;width:112px!important;height:112px!important}
.signup-page .signup-step-strip{gap:9px;margin-top:7px}
.signup-page .signup-step-strip span{
  position:relative;
  min-height:45px;
  padding:11px 13px 11px 39px;
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.74);
}
.signup-page .signup-step-strip span::before{
  content:"";
  position:absolute;
  left:13px;
  width:14px;
  height:14px;
  border:2px solid rgba(255,255,255,.35);
  border-radius:50%;
}
.signup-page .signup-step-strip span.active{border-color:rgba(255,173,10,.45);background:rgba(255,173,10,.10);color:#fff}
.signup-page .signup-step-strip span.active::before{border-color:#ffad0a;background:#ffad0a;box-shadow:inset 0 0 0 3px #111a32}

.signup-page .signup-form-layout{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.signup-page .signup-plan-card,.signup-page .signup-details-card{height:auto!important;min-height:0!important}
.signup-page .signup-plan-card{padding:clamp(24px,3.4vw,38px)}
.signup-page .dashboard-section-head{align-items:end}
.signup-page .signup-plan-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.signup-page .signup-plan-choice{
  grid-template-columns:32px minmax(0,1fr);
  grid-template-rows:auto auto auto minmax(66px,1fr) auto auto;
  align-content:start;
  column-gap:11px;
  row-gap:7px;
  min-height:310px;
  padding:21px;
  overflow:visible;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f7f9ff);
}
.signup-page .signup-plan-choice:hover{transform:translateY(-3px);border-color:rgba(23,76,255,.38)}
.signup-page .signup-plan-choice.selected,
.signup-page .signup-plan-choice:has(input:checked){
  border-color:#174cff;
  background:linear-gradient(145deg,#fff,#f2f5ff 58%,#fff5ec);
  box-shadow:0 0 0 4px rgba(23,76,255,.12),0 18px 42px rgba(4,20,45,.14);
}
.signup-page .signup-plan-check{grid-column:1;grid-row:1;width:30px;height:30px;align-self:start}
.signup-page .signup-plan-choice.selected .signup-plan-check,
.signup-page .signup-plan-choice:has(input:checked) .signup-plan-check{border-color:#174cff;background:#174cff;color:#fff}
.signup-page .signup-plan-name{grid-column:2;grid-row:1;align-self:center;font-size:20px}
.signup-page .signup-plan-price{grid-column:1/-1;grid-row:2;justify-items:start;align-self:start;margin-top:7px}
.signup-page .signup-plan-price strong{font-size:38px;letter-spacing:-.055em}
.signup-page .signup-plan-price small{font-size:11px}
.signup-page .signup-plan-savings{grid-column:1/-1;grid-row:3;color:#176b3a}
.signup-page .signup-plan-description{grid-column:1/-1;grid-row:4;font-size:13px;line-height:1.52}
.signup-page .signup-plan-detail{grid-column:1/-1;grid-row:5;padding-top:9px;border-top:1px solid rgba(17,17,20,.09);font-size:11px}
.signup-page .signup-plan-button-copy{
  grid-column:1/-1;
  grid-row:6;
  align-self:end;
  justify-self:stretch;
  min-width:0;
  padding:11px 12px;
  border-radius:12px;
  font-size:12px;
}
.signup-page .signup-plan-choice.selected .signup-plan-button-copy,
.signup-page .signup-plan-choice:has(input:checked) .signup-plan-button-copy{background:linear-gradient(135deg,#ffb30d,#ff7a00);color:#09152b}
.signup-page .best-value-label{top:-12px;right:15px;left:auto;transform:none;padding:6px 10px;background:#07172f;color:#fff}
.signup-page .signup-plan-reassurance{margin-top:17px;padding:14px 16px;border-color:rgba(255,158,11,.32);background:#fff7dc;color:#4c3a00}

.signup-page .signup-details-card{padding:clamp(25px,3.6vw,40px)}
.signup-page .signup-details-card>.account-intro{max-width:780px}
.signup-page .signup-essential-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}
.signup-page .signup-essential-fields .field{grid-column:auto!important;margin-top:10px}
.signup-page .signup-password-wrap input{padding-right:76px}
.signup-page .signup-optional-details{margin-top:17px;background:rgba(255,255,255,.76)}
.signup-page .check-row{margin-top:17px}
.signup-page .signup-legal-copy{max-width:900px}
.signup-page .signup-submit-button{max-width:520px;margin-top:11px}
.signup-page .delivery-note{max-width:760px}
.signup-page .footer-note{margin-top:28px;color:#aeb6c6}

.signup-page .field input,.signup-page .signup-password-toggle,.signup-page .signup-optional-details,.signup-page .signup-plan-choice{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}
.signup-page .signup-plan-choice:focus-within{outline:3px solid rgba(126,157,255,.48);outline-offset:3px}
.signup-page .field input:focus{border-color:#174cff;box-shadow:0 0 0 4px rgba(23,76,255,.15)}
.signup-page .signup-password-toggle:focus-visible,.signup-page .signup-optional-details>summary:focus-visible{outline:3px solid rgba(23,76,255,.34);outline-offset:2px}

@media(max-width:940px){
  .signup-page .signup-plan-choices{grid-template-columns:1fr}
  .signup-page .signup-plan-choice{
    grid-template-columns:32px minmax(0,1fr) auto;
    grid-template-rows:auto auto auto auto;
    min-height:0;
  }
  .signup-page .signup-plan-check{grid-row:1/5}
  .signup-page .signup-plan-name{grid-column:2;grid-row:1}
  .signup-page .signup-plan-price{grid-column:3;grid-row:1/3;justify-items:end;margin-top:0}
  .signup-page .signup-plan-price strong{font-size:28px}
  .signup-page .signup-plan-savings,.signup-page .signup-plan-description,.signup-page .signup-plan-detail{grid-column:2}
  .signup-page .signup-plan-savings{grid-row:2}
  .signup-page .signup-plan-description{grid-row:3;min-height:0}
  .signup-page .signup-plan-detail{grid-row:4;border-top:0;padding-top:0}
  .signup-page .signup-plan-button-copy{grid-column:3;grid-row:3/5;align-self:end;justify-self:end;min-width:132px}
  .signup-page .signup-essential-fields{grid-template-columns:1fr 1fr}
  .signup-page .signup-password-field{grid-column:1/-1!important}
}

@media(max-width:700px){
  .signup-page .account-shell{width:min(100% - 16px,680px);padding-top:10px}
  .signup-page .account-header{display:grid!important;grid-template-columns:1fr!important;gap:10px;margin-bottom:14px}
  .signup-page .account-brand{max-width:min(76vw,245px)}
  .signup-page .account-brand-logo{width:min(100%,220px)!important}
  .signup-page .account-header-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}
  .signup-page .account-header-links>*{width:100%;min-width:0}
  .signup-page .account-header-links a,.signup-page .customer-language-control select{justify-content:center;min-height:40px;padding:8px 8px;font-size:11px;text-align:center}
  .signup-page .signup-hero{grid-template-columns:1fr!important;padding:24px 18px!important;border-radius:24px}
  .signup-page .signup-hero h1{font-size:clamp(38px,12.5vw,52px)}
  .signup-page .signup-lexie{justify-self:center!important;width:98px!important;height:98px!important}
  .signup-page .signup-step-strip{grid-template-columns:1fr}
  .signup-page .signup-plan-card,.signup-page .signup-details-card{padding:22px 17px;border-radius:23px}
  .signup-page .dashboard-section-head{display:grid;gap:8px}
  .signup-page .setup-summary{justify-self:start}
  .signup-page .signup-plan-choices{gap:12px;margin-top:18px}
  .signup-page .signup-plan-choice{
    grid-template-columns:28px minmax(0,1fr);
    grid-template-rows:auto auto auto auto auto auto;
    gap:5px 10px;
    padding:17px;
  }
  .signup-page .signup-plan-check{grid-column:1;grid-row:1/7;width:26px;height:26px}
  .signup-page .signup-plan-name{grid-column:2;grid-row:1;font-size:17px}
  .signup-page .signup-plan-price{grid-column:2;grid-row:2;justify-items:start}
  .signup-page .signup-plan-price strong{font-size:27px}
  .signup-page .signup-plan-savings{grid-column:2;grid-row:3}
  .signup-page .signup-plan-description{grid-column:2;grid-row:4;font-size:12px}
  .signup-page .signup-plan-detail{grid-column:2;grid-row:5}
  .signup-page .signup-plan-button-copy{grid-column:2;grid-row:6;justify-self:start;min-width:0;padding:9px 11px}
  .signup-page .best-value-label{top:-9px;right:12px;font-size:9px}
  .signup-page .signup-essential-fields{grid-template-columns:1fr}
  .signup-page .signup-password-field{grid-column:auto!important}
  .signup-page .signup-submit-button{max-width:none}
}

@media(max-width:420px){
  .signup-page .account-brand{max-width:min(72vw,220px)}
  .signup-page .account-header-links{grid-template-columns:1fr 1fr}
  .signup-page .account-header-links .customer-language-control{grid-column:1/-1}
  .signup-page .signup-hero h1{font-size:39px}
  .signup-page .signup-plan-card,.signup-page .signup-details-card{padding-inline:15px}
  .signup-page .signup-plan-choice{padding:15px 13px}
}

@media(prefers-reduced-motion:reduce){
  .signup-page .signup-plan-choice,.signup-page .field input,.signup-page .signup-password-toggle{transition:none}
  .signup-page .signup-plan-choice:hover{transform:none}
}
