:root{--ink:#121322;--muted:#686879;--blue:#2f59ea;--cream:#f5f3ee;--line:#deddd8;--purple:#8c57ff;--coral:#ff718c}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}.signup-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid #ecebea}.signup-brand img{display:block;width:170px;height:52px;object-fit:contain}.signup-header p{margin:0;color:var(--muted)}.signup-header a{color:var(--ink);font-weight:700}.signup-shell{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.86fr)}.signup-intro{background:linear-gradient(145deg,#f5f3ee 0%,#f4f2f5 68%,#f7edf0 100%);padding:clamp(60px,9vh,110px) clamp(40px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 24px;text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:700;color:var(--blue)}.signup-intro h1{font-size:clamp(54px,5.4vw,86px);line-height:.96;letter-spacing:-.055em;margin:0;max-width:760px}.signup-intro h1 em{font-family:"DM Serif Display",serif;font-weight:400;color:var(--blue)}.intro-copy{max-width:620px;font-size:20px;line-height:1.6;color:#4e4e5c;margin:36px 0 32px}.included-list{display:flex;gap:10px;flex-wrap:wrap}.included-list span{background:rgba(255,255,255,.7);border:1px solid rgba(18,19,34,.1);border-radius:999px;padding:10px 15px;font-size:14px;font-weight:600}.signup-card{align-self:center;width:min(610px,calc(100% - 64px));margin:48px auto;padding:10px}.form-heading{margin-bottom:30px}.form-heading h2,.success-step h2{font-size:42px;letter-spacing:-.04em;margin:0 0 10px}.form-heading p,.success-step p{margin:0;color:var(--muted);font-size:17px;line-height:1.5}form{display:flex;flex-direction:column;gap:21px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:700}.field input{width:100%;height:56px;border:1px solid #c8c7c3;border-radius:3px;background:#fff;padding:0 16px;font:inherit;font-size:16px;font-weight:500;color:var(--ink);outline:none;transition:.2s}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,89,234,.12)}.password-field{position:relative}.password-field input{padding-right:64px}.password-field button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--blue);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.agreement{display:flex;gap:11px;align-items:flex-start;color:#555563;font-size:14px;line-height:1.45;cursor:pointer}.agreement input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue);flex:none}.agreement a{color:var(--ink);font-weight:700}.primary-button{min-height:58px;border:0;background:var(--blue);color:white;padding:0 20px;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font:inherit;font-weight:700;font-size:16px;cursor:pointer;box-shadow:6px 6px 0 #c6b8ff;transition:transform .15s,box-shadow .15s}.primary-button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #c6b8ff}.primary-button:disabled{opacity:.58;cursor:wait;transform:none}.form-message{min-height:0;margin:-8px 0 0;color:#b12643;font-size:14px;line-height:1.4}.form-message:empty{display:none}.back-button,.resend-button{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.back-button{margin-bottom:30px}.verification-heading strong{display:block;color:var(--ink);margin-top:4px}.code-input{font-size:28px!important;letter-spacing:.28em;font-variant-numeric:tabular-nums}.resend-button{align-self:center;margin-top:3px}.resend-button:disabled{color:#999;cursor:default}.success-step{text-align:center;padding:40px 0}.success-mark{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 25px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--purple),var(--coral));font-size:30px;font-weight:700}.success-step p{max-width:460px;margin:0 auto 30px}.success-step .primary-button{max-width:390px;margin:auto;text-align:left}[hidden]{display:none!important}@media(max-width:1050px){.signup-shell{grid-template-columns:1fr}.signup-intro{padding:60px clamp(24px,8vw,80px)}.signup-intro h1{font-size:clamp(50px,9vw,74px)}.signup-card{margin:55px auto 80px}}@media(max-width:620px){.signup-header{height:72px;padding:0 18px}.signup-brand img{width:132px;height:44px}.signup-header p{font-size:13px}.signup-shell{min-height:auto}.signup-intro{padding:50px 22px}.eyebrow{margin-bottom:18px}.signup-intro h1{font-size:47px}.intro-copy{font-size:17px;margin:26px 0}.included-list{display:none}.signup-card{width:100%;padding:44px 22px 70px;margin:0}.form-heading h2,.success-step h2{font-size:34px}.field-row{grid-template-columns:1fr;gap:21px}.primary-button{min-height:56px}}


/* Fixed single-screen desktop signup layout */
@media (min-width: 821px) {
  html, body { height: 100%; overflow: hidden; }
  .signup-header { height: 72px; padding-inline: clamp(24px, 4vw, 68px); }
  .signup-brand img { width: 154px; height: 46px; }
  .signup-shell { height: calc(100vh - 72px); min-height: 0; grid-template-columns: minmax(0, 1fr) minmax(440px, .86fr); }
  .signup-intro { padding: clamp(38px, 6vh, 72px) clamp(34px, 6vw, 96px); overflow: hidden; }
  .eyebrow { margin-bottom: 16px; font-size: 12px; }
  .signup-intro h1 { font-size: clamp(48px, 4.7vw, 72px); max-width: 680px; }
  .intro-copy { max-width: 580px; margin: 24px 0 22px; font-size: 17px; line-height: 1.5; }
  .included-list { gap: 8px; }
  .included-list span { padding: 8px 12px; font-size: 12px; }
  .signup-card { width: min(570px, calc(100% - 48px)); margin: 0 auto; padding: 0 8px; }
  .form-heading { margin-bottom: 18px; }
  .form-heading h2, .success-step h2 { margin-bottom: 6px; font-size: 34px; }
  .form-heading p, .success-step p { font-size: 15px; line-height: 1.4; }
  form { gap: 12px; }
  .field-row { gap: 12px; }
  .field { gap: 6px; font-size: 13px; }
  .field input { height: 46px; padding-inline: 14px; font-size: 15px; }
  .agreement { gap: 9px; font-size: 13px; line-height: 1.35; }
  .agreement input { width: 17px; height: 17px; margin-top: 0; }
  .primary-button { min-height: 50px; font-size: 15px; box-shadow: 5px 5px 0 #c6b8ff; }
  .back-button { margin-bottom: 20px; }
}

@media (max-height: 720px) and (min-width: 821px) {
  .signup-header { height: 62px; }
  .signup-brand img { height: 40px; }
  .signup-shell { height: calc(100vh - 62px); }
  .signup-intro h1 { font-size: clamp(44px, 4.2vw, 62px); }
  .intro-copy { margin: 18px 0; font-size: 15px; }
  .form-heading { margin-bottom: 12px; }
  .form-heading h2 { font-size: 30px; }
  form { gap: 9px; }
  .field { gap: 4px; }
  .field input { height: 41px; }
  .primary-button { min-height: 45px; }
}

