/* Reference-inspired mobile welcome; desktop keeps its established design. */
.welcome-purpose{display:none}
@media(max-width:899px){
 .welcome-page{display:flex;flex-direction:column;min-height:100svh;background:linear-gradient(#edf5ff,#fff);padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .welcome-story{flex:none;justify-content:flex-start;gap:0;padding:24px 26px 42px;background:linear-gradient(100deg,#034bbb88,#061a491c),url('worship-banner.png') center 42%/cover}
 .welcome-orbit{display:none}
 .welcome-story:after{content:'';position:absolute;bottom:-22px;left:-10%;width:120%;height:46px;border-radius:50% 55% 0 0;background:#edf5ff;box-shadow:0 -10px 0 #248aff55}
 .welcome-header{justify-content:flex-start;gap:14px}
 .welcome-brand{gap:12px;font-size:1.7rem;line-height:1.02;letter-spacing:-.5px}
 .welcome-brand img{width:64px;height:64px;filter:drop-shadow(0 4px 12px #00183e77)}
 .welcome-brand>span{border-left:1px solid #ffffff55;padding-left:14px}
 .welcome-brand-sub{font-size:1.35rem;font-weight:800;letter-spacing:-.5px;margin-top:4px}
 .welcome-hub{color:#2dc5ff}
 .welcome-ministry{font-size:9px;max-width:100px;letter-spacing:1.5px;text-align:left;line-height:1.7}
 .welcome-message{padding-top:22px}
 .scripture-card{padding-left:14px;border-left:3px solid #a3f400;max-width:310px}
 .scripture-card blockquote{font-size:1.05rem;line-height:1.4;margin:0 0 10px;text-shadow:0 1px 8px #0007}
 .scripture-card cite{font-size:10px;letter-spacing:2px;text-transform:uppercase}
 .welcome-access{position:relative;z-index:2;flex:none;margin:-9px 14px 0;padding:25px 22px 18px;border:1px solid #fff;border-radius:26px;background:#ffffffee;box-shadow:0 12px 36px #195fc610}
 .welcome-form-wrap{max-width:480px;margin:0 auto}
 .welcome-access h2{font-size:2rem;line-height:1.05;letter-spacing:-1.1px;margin:0 0 14px;font-weight:800}
 .welcome-team{color:#0768fa}
 .welcome-login .welcome-form-intro{display:block;margin:0 0 19px;font-size:14px;line-height:1.5;color:#52617d}
 .welcome-form{gap:14px;grid-template-columns:minmax(0,1fr)}
 .welcome-form .field{font-size:14px;line-height:18px;gap:7px;font-weight:700;color:#102c5c}
 .welcome-form .input{min-height:48px;height:48px;border:1px solid #cddcf0;border-radius:12px;background:#fcfdff;box-shadow:0 3px 12px #1259bd05;padding:11px 14px;font-size:16px;font-weight:400}
 .welcome-form .input:focus{border-color:#53a5ff;box-shadow:0 0 0 3px #0c75ff10}
 .welcome-form .welcome-submit{min-height:50px;height:50px;padding:12px 16px;margin-top:2px;border:0;border-radius:12px;background:linear-gradient(130deg,#075cd4,#03368f);box-shadow:0 6px 15px #064ac522;font-size:15px;justify-content:space-between}
 .welcome-submit>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#398ff5;color:white;font-size:20px}
 .welcome-switch{display:flex;justify-content:center;align-items:center;gap:0 8px;background:#edf5ff;border-radius:14px;padding:4px 8px;margin-top:18px;font-size:12px;line-height:1.4;color:#52617d}
 .welcome-switch button{font-size:13px;min-height:44px;color:#0561ee;padding:4px 0}
 .welcome-password-guide{font-size:12px;line-height:16px;margin:-6px 0 0}
 .welcome-purpose{display:block;margin:auto 24px 0;padding-top:18px;text-align:center;color:#637ba3}
 .welcome-purpose>div{display:flex;justify-content:center;gap:0;font-size:12px}
 .welcome-purpose>div span{padding:0 13px;border-right:1px solid #becbe1}.welcome-purpose>div span:last-child{border:0}
 .welcome-purpose p{margin-top:12px;font-size:9px;letter-spacing:4px;font-weight:700}
 .welcome-register .welcome-access{padding-top:20px}
}
@media(max-width:899px) and (max-height:740px){
 .welcome-story{padding:16px 22px 32px}.welcome-brand img{width:48px;height:48px}.welcome-brand{font-size:1.35rem}.welcome-brand-sub{font-size:1.15rem}
 .welcome-message{padding-top:14px}.scripture-card blockquote{font-size:.95rem;line-height:1.3;margin-bottom:6px}.scripture-card cite{font-size:9px;letter-spacing:1.2px}
 .welcome-access{padding:18px 18px 12px;border-radius:23px}
 .welcome-access h2{font-size:1.65rem;margin-bottom:12px}
 .welcome-login .welcome-form-intro{display:none}
 .welcome-form{gap:10px}.welcome-form .field{gap:5px}
 .welcome-form .input{height:44px;min-height:44px;padding:9px 12px}
 .welcome-form .welcome-submit{height:46px;min-height:46px}
 .welcome-switch{margin-top:10px;padding-block:0}
 .welcome-purpose{padding-top:12px}.welcome-purpose p{margin-top:8px}
 .welcome-register .welcome-message{display:none}
}
@media(max-width:899px) and (max-height:580px){
 .welcome-page{padding-bottom:6px}.welcome-story{padding:10px 18px 22px}.welcome-brand img{width:40px;height:40px}.welcome-brand{font-size:1.1rem}.welcome-brand-sub{font-size:1rem}
 .welcome-message{padding-top:8px}.scripture-card blockquote{font-size:.875rem;line-height:1.2;margin-bottom:4px}
 .welcome-access{margin-top:-5px;padding:12px 14px 8px;border-radius:20px}
 .welcome-access h2{font-size:1.4rem;margin-bottom:10px}.welcome-form{gap:6px}.welcome-form .field{line-height:16px;gap:4px}
 .welcome-switch{margin-top:6px;font-size:11px;gap:0 5px}.welcome-switch button{font-size:12px}
 .welcome-purpose{display:none}
}
@media(max-width:899px) and (max-height:460px) and (orientation:portrait){
 .welcome-story{padding-block:6px 16px}.welcome-message{padding-top:4px}.welcome-ministry{font-size:8px}
 .welcome-access{padding:8px 12px 4px}.welcome-access h2{font-size:1.1rem;margin-bottom:6px}
 .welcome-form{gap:4px}.welcome-form .welcome-submit{height:44px;min-height:44px}.welcome-switch{margin-top:3px}
 .welcome-register .welcome-access{padding-top:8px}.welcome-password-guide{margin:0;font-size:11px;line-height:14px}
}
@media(min-width:550px) and (max-width:899px) and (max-height:500px){
 .welcome-page{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);padding:0;align-items:stretch}
 .welcome-story{justify-content:center;padding:12px 18px}.welcome-story:after,.welcome-ministry{display:none}
 .welcome-header{justify-content:center}.welcome-register .welcome-message{display:block}.welcome-message{padding-top:14px}
 .welcome-access{margin:10px;padding:10px 14px;display:flex;justify-content:center;border-radius:20px}
 .welcome-access h2{font-size:1.2rem;margin-bottom:8px}
 .welcome-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
 .welcome-form .field:has([name="full_name"]),.welcome-password-guide,.welcome-submit{grid-column:1/-1}
 .welcome-password-guide{margin:0}.welcome-form .welcome-submit{height:44px;min-height:44px}
 .welcome-switch{margin-top:4px}.welcome-purpose{display:none}
}
@media(max-width:899px) and (max-height:580px){.welcome-register .welcome-access{padding-top:8px}}
@media(min-width:550px) and (max-width:899px) and (max-height:350px){.welcome-register .welcome-access{margin-block:4px;padding-block:4px}}
