.client-shell{width:min(1160px,92vw);margin:auto;padding:90px 0 120px}.portal-login{width:min(650px,100%);margin:auto;text-align:center}.portal-login h1,.portal-top h1,.contract-paper h1{font-weight:400;font-size:clamp(3rem,6vw,5rem);line-height:1}.portal-login form{margin:35px auto;width:min(500px,100%)}.portal-login label,.signature>label:not(.consent){display:block;font:9px Montserrat,sans-serif;letter-spacing:.15em;margin:10px 0}.portal-login input,.signature>input{width:100%;height:50px;border:1px solid #cbc7be;background:#f8f5ef;padding:0 12px;font-size:16px}.portal-login button,.portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid #5d5a54;background:#5d5a54;color:#fff;padding:0 24px;margin-top:14px;text-decoration:none;font:9px Montserrat,sans-serif;letter-spacing:.14em}.portal-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:40px}.quiet{border:0;background:none;font:9px Montserrat,sans-serif;letter-spacing:.13em;padding:12px}.portal-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.portal-card{background:#f8f5ef;border:1px solid #cbc7be;padding:30px}.portal-card h2{font-weight:400;font-size:30px}.portal-card dl div{display:flex;justify-content:space-between;border-top:1px solid #d5d0c7;padding:13px 0}.portal-card dt{font:8px Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase}.portal-card dd{margin:0}.disabled{pointer-events:none;opacity:.35}.contract-paper{background:#f8f5ef;border:1px solid #cbc7be;padding:55px;max-width:900px;margin:auto}.contract-paper h2{font-weight:400;font-size:30px;margin-top:35px}.contract-paper p,.contract-paper li{line-height:1.6}.signature{border-top:1px solid #cbc7be;margin-top:40px;padding-top:30px}.consent{display:flex;gap:12px;margin-bottom:20px}@media(max-width:850px){.portal-grid{grid-template-columns:1fr}}@media(max-width:600px){.client-shell{width:100%;padding:50px 16px}.portal-login{text-align:left}.portal-login button,.portal-button{width:100%}.contract-paper{padding:30px 20px}.portal-card{padding:24px 20px}}
.portal-button-secondary{display:flex;margin-top:9px}
.signed-actions .portal-button{width:auto}
@media(max-width:600px){.signed-actions .portal-button{width:100%}}

.payment-card .payment-amount{font:15px Montserrat,sans-serif;letter-spacing:0;margin:18px 0}
.payment-qr-area{display:grid;place-items:center;min-height:205px;max-width:250px;margin:16px auto;background:#f2efe8;border:1px solid #ddd7ce;padding:14px;text-align:center}
.payment-qr-area img{width:min(100%,205px);height:auto;aspect-ratio:1;object-fit:contain}
.payment-qr-area p{font:12px Montserrat,sans-serif;line-height:1.6;color:#7e7972}
.payment-card .payment-instruction{font-size:13px;line-height:1.6;color:#736e68}
.payment-card .portal-button{cursor:pointer;width:100%}
.payment-card .portal-button:disabled{cursor:not-allowed;opacity:.55}
.payment-card .portal-button-secondary[hidden], .payment-qr-area img[hidden]{display:none!important}
.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:850px){.portal-grid{grid-template-columns:1fr}}

.session-discount-note{font:12px Montserrat,sans-serif;line-height:1.5;color:#746b5d;border-top:1px solid #d5d0c7;padding-top:14px}
