  /* Fullscreen background hero (reuse signup look) */
  .signup-hero{
    min-height: 100vh;
    min-height: 100svh;
    /* background: url('{% static "images/signup.png" %}') center/cover no-repeat fixed; */ 
	 /* Above is set per template to avoid flash of unstyled bg */
    position: relative;
  }
  /* Dim overlay for contrast */
  .signup-hero::before{
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.40), rgba(0,0,0,.35));
  }
  /* Glass panel matches feed glass/modal vibe */
  .glass-panel{
    position: relative; /* above overlay */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: 0 12px 30px rgba(0,0,0,.25);
    border-radius: var(--radius-cta, 16px);
    color: var(--fg-on-surface, #fff);
  }
  .glass-panel .form-label, .glass-panel h1, .glass-panel p{ color:#fff; }
  .glass-panel p.text-muted{ color: rgba(255,255,255,.8)!important; }
  

  /* Curved inputs to match tokens */
  .form-curved .form-control, .form-curved .form-select{
    border-radius: var(--radius-cta,16px);
    background:#fff; border:1px solid rgba(0,0,0,.12);
  }
  .form-curved .form-control:focus, .form-curved .form-select:focus{
    border-color: var(--accent, #23263C);
    box-shadow: 0 0 0 .2rem rgba(35,38,60,.15);
    outline:0;
  }

  /* Button sizing consistent with CTA look */
  .glass-panel .btn.btn-primary{
    min-height: var(--tap,44px);
    border-radius: 24px; /* per latest CTA radius */
    font-weight: 700;
  }

    /* Animation helpers for AJAX success flow */
	.glass-panel.is-sliding-up{ transition: transform .6s var(--ease, cubic-bezier(.2,.8,.2,1)), opacity .6s var(--ease, cubic-bezier(.2,.8,.2,1)); transform: translateY(-120%); opacity: 0; }
	.signup-hero.bg-lightened::before{ transition: opacity .8s ease; opacity: 0; }
	.success-stage{ display: none; color:#fff; }
	.success-stage.is-visible{ display:block; animation: fadeInUp .5s ease both; }
	@keyframes fadeInUp{ from{ opacity:0; transform: translateY(12px);} to{ opacity:1; transform:none;} }
  