:root{color:#1a3158;background:#f2f7ff}
body{background:radial-gradient(circle at 10% 8%,#d9eeff 0,transparent 31%),radial-gradient(circle at 91% 93%,#e1eaff 0,transparent 34%),#f4f8ff;color:#1a3158}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#bd651c}
.shell{max-width:1400px;padding:0 5%}
header{height:92px}
.brand{color:#1c3c70}.brandmark{width:39px;height:39px;border-radius:12px;background:#1a5ed2;color:#fff;font-size:32px;box-shadow:0 7px 18px #1c58ae28}.number{color:#2467bc}.church{color:#476487;font-size:14px;font-weight:600}
main{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:680px;border:1px solid #dce7f7;border-radius:30px;box-shadow:0 26px 82px #18468418}
.intro{isolation:isolate;padding:66px clamp(34px,5vw,70px);background:radial-gradient(circle at 84% 13%,#80c5ff70,transparent 34%),linear-gradient(147deg,#103988 0%,#1b5ec2 57%,#3f96e7 100%)}
.intro::before,.intro::after{content:'';position:absolute;z-index:-1;border:1px solid #ffffff2d;border-radius:50%}.intro::before{width:420px;height:420px;top:-280px;right:-160px;box-shadow:0 0 0 42px #ffffff08,0 0 0 84px #ffffff06}.intro::after{width:320px;height:320px;bottom:-245px;left:-150px;box-shadow:0 0 0 40px #ffffff08,0 0 0 80px #ffffff05}
.eyebrow{color:#d8ebff;font-size:12px;letter-spacing:1.8px}
.intro h1{max-width:560px;margin:28px 0 23px;color:#fff;font-size:clamp(42px,4.3vw,62px);font-weight:700;line-height:1.11;letter-spacing:-2.8px}.intro h1 em{color:#bfe4ff}
.intro p{color:#e3f0ff;font-size:19px;line-height:1.58}
.orbit{width:235px;height:235px;margin:33px auto 27px;border-color:#ffffff60}.orbit:before{border-color:#ffffff24}.orbit span{color:#fff;font-size:70px}.orbit i{background:#b7e6ff;box-shadow:0 0 0 10px #ffffff18}.orbit b{color:#e4f1ff}.aside-foot{color:#dcecff;font-size:13px}
.panel{padding:42px clamp(28px,5vw,64px) 24px;background:#fff}
#progress,#screen,#error{width:100%;max-width:530px;margin-left:auto;margin-right:auto}
#screen{justify-content:center}
.badge{color:#235da8;font-size:12px;letter-spacing:1.25px}
h2{color:#183a6b;font-size:clamp(30px,3vw,39px);font-weight:700;line-height:1.14;letter-spacing:-1.4px}
.lead{color:#506c8d;font-size:16px;line-height:1.6}
.welcome-icon,.success-icon{border-radius:18px;background:#e8f3ff;color:#1a5ed2;box-shadow:inset 0 0 0 1px #d6e7fc}
.primary{min-height:55px;border-radius:13px;background:#1a5ed2;color:#fff;box-shadow:0 11px 25px #1a5ed227}.primary:hover{background:#104eae}
.summary,.success .message{border:1px solid #dceaf9;border-radius:14px;background:#f2f8ff;color:#315779}
.subnote,.privacy,.return-note,.action-consent,.history-note{color:#607895}
.stepmeta{color:#516c8f;font-size:13px}.track{height:6px;background:#e8f0fb}.track span{background:#2b76d8}
label.field,legend{color:#24456f;font-size:14px}
input[type=text],input[type=email],input[type=tel],textarea{border-color:#cbdcf0;background:#fbfdff;color:#1a3158}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,textarea:focus{border-color:#2d70d2;background:#fff}
input::placeholder,textarea::placeholder{color:#7489a5}
.choice{border-color:#d6e3f3;border-radius:13px;background:#fff;color:#1c3b68;transition:border-color .18s,background .18s,transform .18s}.choice:hover{border-color:#91bced;background:#f9fcff;transform:translateY(-1px)}.choice[aria-pressed=true]{border-color:#3479d8;background:#eaf4ff;box-shadow:inset 0 0 0 1px #3479d8}.choice .tick{color:#1756b2}.choice small{color:#5d7595}
.back,.textbutton{color:#245ca9}.check{color:#344f72}.check input{accent-color:#1a5ed2}
.follow-up{border-color:#d9e7f7;background:#f6faff}.follow-up .check small,.follow-up label.field small{color:#5e7797}
.history-tip,.return-note{border:1px solid #dceafa;background:#f1f7ff;color:#345d91}.history-tip strong{color:#234d83}.return-badge{color:#255eaa}
.success-icon{background:#dceeff}.success-icon:after{border-color:#97c4f4}.success .message{font-size:15px}.third-visit{background:radial-gradient(circle at 50% 20%,#e8f5ff 0,#f4f9ff 53%,#fff 80%)}.third-visit .home-icon{background:#d6eaff;box-shadow:0 0 0 12px #ecf5ff,0 16px 38px #2a65ae22}.home-message{color:#4d6b8d}.home-message strong{color:#183a6b}.confetti i{background:#5ba4ed}.confetti i:nth-child(3n){background:#f2bd64}.confetti i:nth-child(3n+1){background:#1c5fc3}.later-visit .success-icon{color:#1a5ed2}
@keyframes soft-glow{0%,100%{box-shadow:0 0 0 0 #82bdf000}50%{box-shadow:0 0 0 14px #82bdf030}}
.mode{background:#fff3db;color:#795416}.error{background:#fff1ed;color:#923c2b}
footer{color:#6b829c;border-color:#e7eef7}footer span{color:#7a8ea8}
@media(max-width:850px){
  .shell{padding:0 16px}header{height:72px}.brand{font-size:21px}.brandmark{width:34px;height:34px;font-size:28px}.number{font-size:12px}.church{max-width:148px;font-size:12px}
  main{max-width:600px;min-height:0;margin:0 auto 28px;display:block;border-radius:24px;overflow:hidden}
  .intro{display:block;min-height:118px;padding:24px 29px 34px}.intro .eyebrow,.intro p,.intro .orbit,.intro .aside-foot{display:none}.intro h1{margin:0;max-width:280px;font-size:27px;line-height:1.17;letter-spacing:-1.2px}
  .panel{position:relative;min-height:510px;margin-top:-14px;padding:30px 28px 23px;border-radius:22px 22px 0 0}
  #screen{min-height:0}h2{font-size:clamp(29px,7.6vw,35px)}.lead{font-size:16px}
  footer{margin-top:27px}
}
@media(max-width:430px){.shell{padding:0 10px}.panel{padding:27px 21px 21px}.intro{padding:22px 23px 33px}.choices.two{grid-template-columns:1fr 1fr}.choices.two .choice{min-height:64px;padding:12px 10px;font-size:14px}.return-choices{grid-template-columns:1fr}.third-visit{margin:-4px;padding:22px 14px}.third-visit h2{font-size:27px}}
@media(max-width:350px){.choices.two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.choice{transition:none}.choice:hover{transform:none}}
