.su-shell{display:flex;justify-content:center;min-height:100vh}
.su-card{width:min(560px,100%);min-height:340px;align-content:center}
.su-progress{margin:0 0 2px;padding-bottom:14px;border-bottom:1px solid rgba(216,184,107,.18)}
.su-step{display:grid;gap:18px;animation:suIn .55s cubic-bezier(.2,.8,.2,1)}
.su-step[hidden]{display:none}
.su-title{margin:0;font-family:'Cinzel',serif;font-size:clamp(1.5rem,4.5vw,2.2rem);line-height:1.2;background:linear-gradient(100deg,#8c7038,#e0c48c 45%,#fff3d2 50%,#e0c48c 55%,#8c7038);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:suTitleShine 5s linear infinite}
.su-sub{margin:-8px 0 0;color:rgba(232,238,232,.75)}
.su-step .eyebrow{margin:0}
.su-interlude{text-align:center;justify-items:center;padding:24px 0}
.su-lore{margin:0;font-family:'Cormorant Garamond','Cormorant',serif;font-size:clamp(1.35rem,4vw,1.9rem);line-height:1.4;color:#f3e3bd}
.su-lore strong{color:#e0c48c}
.su-bar{width:min(320px,80%);height:6px;border-radius:99px;background:rgba(216,184,107,.15);overflow:hidden}
.su-bar span{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#8c7038,#e0c48c,#fff3d2,#e0c48c);transform-origin:left;animation:suLoad 2.6s ease-in-out forwards;box-shadow:0 0 12px rgba(224,196,140,.7)}
.su-next{position:relative;overflow:hidden;transition:filter .35s,opacity .35s,transform .2s}
.su-next:disabled{filter:grayscale(1) brightness(.75);opacity:.6;cursor:not-allowed}
.su-next:disabled .cta-spark{display:none}
.su-next:not(:disabled){animation:suPop .45s ease-out}
.su-next:not(:disabled)::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,245,215,.55) 50%,transparent 70%);transform:translateX(-120%);animation:suShine 2.4s ease-in-out infinite;pointer-events:none}
.su-next:not(:disabled):hover{transform:translateY(-1px)}
@keyframes suIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes suLoad{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes suShine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes suPop{0%{transform:scale(.97)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes suTitleShine{to{background-position:-250% 0}}
@media (prefers-reduced-motion:reduce){.su-step,.su-title,.su-next,.su-next::after,.su-bar span{animation:none!important}}
/* One calm gold title, centred; no frame on phones. */
.su-step{text-align:center}
.su-step label{text-align:left}
.su-title{background:none;-webkit-background-clip:initial;background-clip:initial;color:#e0c48c;animation:none;font-variant:normal;text-transform:none}
@media (max-width:640px){.su-shell{padding:0 18px}.su-card{border:0!important;background:none!important;box-shadow:none!important;padding:24px 0!important;min-height:0}}

.flow-back { justify-self:start; min-height:44px; padding:6px 4px; border:0; background:transparent; color:var(--mist); font:600 .8rem/1 Arial,sans-serif; letter-spacing:0; cursor:pointer; text-align:left; }
.flow-back:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.wj-page #su-back { display:none; }
.signup-owl-companion{display:flex;align-items:center;gap:18px;margin:0 0 24px;text-align:left}.signup-owl-companion img{width:70px;height:100px;object-fit:contain}.signup-owl-companion p{margin:0;color:var(--mist);font:16px/1.5 Georgia,serif}.signup-owl-companion strong{display:block;color:var(--gold);font:12px/1.6 Arial,sans-serif;margin-bottom:6px}
