/* V3.50: softer, more compact Giving Payroll first-contact screen.
   Original Giving Payroll identity and existing enrollment state machine remain intact. */
body.pay-intake-page{background:#f6f5f2}
.pay-intro{padding:38px 0 53px;background:linear-gradient(122deg,#273343 0%,#2d3544 66%,#243a44 100%)}
.pay-intro h1{font-size:clamp(48px,4.7vw,73px);line-height:1.03;margin:14px 0 16px}
.pay-intro p{font-size:15px;line-height:1.56}
.pay-intro-aside{padding-top:14px}
.pay-intro-aside strong{font-size:clamp(24px,2.5vw,31px);margin-top:10px}
.pay-frame{margin-top:-8px;padding-top:12px}
.pay-preview-slim{margin:12px 0 17px}
.pay-main-grid{grid-template-columns:minmax(0,1fr) minmax(255px,305px);gap:25px}
.pay-form{border:1px solid #e7e2db;border-radius:15px;padding:clamp(24px,3vw,39px);box-shadow:0 18px 45px rgba(32,51,58,.045)}
.pay-step h2{font-size:clamp(34px,3.25vw,49px);line-height:1.1;letter-spacing:-.04em;margin:4px 0 11px}
.pay-step .pay-sub{font-size:14px;line-height:1.55;margin-bottom:19px;max-width:700px}
.pay-service-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 22px}
.pay-service{padding:15px 13px;gap:8px;border-color:#d9e1dd;border-radius:10px;min-height:110px}
.pay-service input{width:17px;height:17px;margin-top:4px}
.pay-service:has(input:checked){background:#f0faf6;border-color:#5ea89a;box-shadow:inset 0 0 0 1px #69b7a5}
.pay-service span{gap:5px}
.pay-service strong{font:normal clamp(17px,1.75vw,22px)/1.15 Georgia,serif}
.pay-service small{font-size:11.5px;line-height:1.4}
.pay-lead-fields{padding-top:18px;margin:12px 0 3px}
.pay-lead-fields h3{font-size:clamp(26px,2.35vw,34px)}
.pay-lead-fields>p{margin-bottom:14px}
.pay-lead-fields .pay-field{margin-bottom:11px}
.pay-row{gap:12px}
.pay-field{margin-bottom:17px}
.pay-field label:not(.pay-consent),.pay-label{font-size:12px;margin-bottom:6px;color:#324850}
.pay-field input:not([type=checkbox]):not([type=file]),.pay-field select,.pay-field textarea{border-radius:9px;border-color:#cddad7;background:#fdfdfc;min-height:46px;padding:11px 13px;font-size:14px}
.pay-field input::placeholder,.pay-field textarea::placeholder{color:#82918f}
.pay-lead-fields .pay-lead-note{margin:0;color:#688086}
.pay-button,.pay-outline{border-radius:9px;letter-spacing:0;font-size:14px;min-height:49px}
.pay-save-action{font-size:14px!important;padding:12px 18px!important}
.pay-aside{border-radius:13px;padding:28px 24px;top:100px;background:#292f3e}
.pay-aside h2{font-size:clamp(27px,2.5vw,35px)}
.pay-aside p{font-size:13px}
.pay-flow-dialog{border-radius:17px;padding:clamp(23px,3vw,38px);max-width:740px;background:#fefefd}
.pay-flow-dialog h2{font-size:clamp(36px,4.1vw,56px);line-height:1.04;margin:15px 0 14px}
.pay-flow-dialog>p{max-width:650px;font-size:14px}
.pay-dialog-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.pay-dialog-actions>.pay-button,.pay-dialog-actions>.pay-outline{min-height:54px;padding:13px 16px;font-size:14px;line-height:1.25}
.pay-lead-next{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #d5e1de;border-bottom:1px solid #d5e1de;padding:17px 0;margin:16px 0}
.pay-lead-next span{font-size:13px;line-height:1.55;color:#48646d;padding-left:14px;border-left:2px solid #8dcbbd}
.pay-lead-next strong{font-weight:750;display:block;color:#253844;margin-bottom:5px}
.pay-lead-secondary{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:8px}
.pay-lead-secondary .pay-quiet-button{font-size:13px}
.pay-adp-existing{border:1px solid #c9ddd6;border-radius:12px;padding:19px 20px 4px;background:#f4f9f6;margin:3px 0 22px}
.pay-adp-existing[hidden],#pay-adp-fields[hidden]{display:none!important}
.pay-adp-top{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:15px}
.pay-adp-top h3{font:normal 25px/1.1 Georgia,serif;margin:0 0 6px;color:#293e45}
.pay-adp-top p{font-size:12px;line-height:1.5;color:#607981;margin:0;max-width:460px}
.pay-adp-choice{display:flex;align-items:center;gap:15px;flex:0 0 auto}
.pay-adp-choice label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#2a4d52;cursor:pointer}
.pay-adp-choice input{accent-color:#14877e}
.pay-adp-tip{color:#566d74;font-size:12px;line-height:1.5;margin:0 0 13px}
.pay-adp-id-row{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.pay-main-grid{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.pay-service-options{grid-template-columns:1fr}.pay-service{min-height:0;align-items:center}.pay-service span{gap:3px}}
@media(max-width:850px){.pay-main-grid{grid-template-columns:1fr}.pay-service-options{grid-template-columns:repeat(3,minmax(0,1fr))}.pay-intro{padding:30px 0 42px}.pay-intro-aside{display:none}.pay-aside{position:static}}
@media(max-width:640px){.pay-service-options{grid-template-columns:1fr}.pay-service{padding:13px;gap:11px}.pay-lead-next,.pay-dialog-actions{grid-template-columns:1fr}.pay-adp-top{align-items:flex-start;flex-direction:column}.pay-adp-id-row{grid-template-columns:1fr}.pay-flow-dialog h2{font-size:clamp(36px,9vw,47px)}.pay-lead-secondary{gap:4px 15px}.pay-lead-secondary .pay-quiet-button{padding:8px 0}.pay-form{padding:20px 17px}.pay-controls-right{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.pay-form,.pay-service{transition:none!important}}
/* Clip large background orbits and sticky-aside decoration on narrow viewports. */
html:has(body.pay-intake-page),body.pay-intake-page{overflow-x:clip}
.pay-frame,.pay-main-grid,.pay-aside{min-width:0}
