/* The split auth layout and form styling come from Inspinia, without portal overrides. */
body{font-family:Sora,Arial,sans-serif}
.estate-auth-visual{color:#fff;min-height:100vh}
.estate-auth-brand{color:#fff;text-decoration:none;font-size:24px;font-weight:600}.estate-auth-brand span{display:block;font-size:12px;margin-top:6px}
.estate-auth-message{margin:40px 0}.estate-auth-message h2{color:#fff;font-size:clamp(36px,4.5vw,68px);line-height:1.12;font-weight:600}.estate-auth-message p{color:#fff}.estate-auth-eyebrow{font-size:11px;letter-spacing:.12em}.estate-auth-visual-footer{font-size:12px}
[data-login-page] [hidden]{display:none!important}
.estate-footer-modal{position:fixed;inset:0;width:500px;max-width:calc(100% - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:0;border:0;margin:8px auto;background:#fff;color:inherit;overflow:auto}.estate-footer-modal::backdrop{background:rgba(0,0,0,.7)}.estate-footer-modal-close{position:absolute;top:20px;right:20px}.estate-footer-modal [data-footer-modal-body]{overflow-wrap:anywhere}.estate-footer-modal [data-footer-modal-body] h3{margin-top:20px}body:has(.estate-footer-modal[open]){overflow:hidden}
@media(min-width:576px){.estate-footer-modal{margin:28px auto;height:calc(100dvh - 56px);max-height:calc(100dvh - 56px)}}
@media(max-width:767px){.auth-box .card-body{padding:30px 24px}.auth-box>.row{margin:0}}

.auth-legal-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.auth-legal-links .btn{font-size:12px}.auth-box .auth-box-form:has([data-register-form]:not([hidden]))>.card-body{padding-top:24px;padding-bottom:24px}.auth-box-form:has([data-register-form]:not([hidden])) .auth-brand{margin-bottom:18px}.auth-box-form [data-register-form]{margin-top:16px!important}.auth-box-form [data-register-form] .mb-3{margin-bottom:12px!important}.auth-box-form [data-register-form]>p{margin-top:16px!important;margin-bottom:12px}.auth-box-form:has([data-register-form]:not([hidden])) [data-login-status]{font-size:11px;margin-bottom:12px}@media(max-height:700px){.auth-box .auth-box-form:has([data-register-form]:not([hidden]))>.card-body{padding-top:16px;padding-bottom:16px}.auth-box-form:has([data-register-form]:not([hidden])) .auth-brand{margin-bottom:12px}.auth-box-form [data-register-form] .mb-3{margin-bottom:8px!important}.auth-box-form [data-register-form]{margin-top:12px!important}.auth-box-form [data-register-form]>p{margin-top:12px!important;margin-bottom:8px}}

@media(min-width:768px){.auth-box .auth-box-form{width:425px;min-width:425px;max-width:425px}}@media(max-width:767px){.auth-box .auth-box-form{width:100%;min-width:0;max-width:100%}}

.site-brand-logo{display:block;position:relative;width:310px;max-width:100%;aspect-ratio:4.2;overflow:hidden;flex-shrink:0}.site-brand-logo img{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:auto}.auth-brand .site-brand-logo{margin-inline:auto}

.estate-register-unavailable{width:500px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:24px;border:0;border-radius:5px;background:#fff;color:#111;overflow:auto}.estate-register-unavailable::backdrop{background:#0007}.estate-register-unavailable .btn-outline-dark{border:1px solid #111;color:#111;background:transparent;border-radius:5px;font:600 14px/20px Sora,Arial,sans-serif;padding:8px 16px}.estate-register-unavailable .btn-outline-dark:hover,.estate-register-unavailable .btn-outline-dark:focus-visible{background:#111;color:#fff}

.register-password-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:calc(100% - 4px);margin-inline:2px;height:5px;background:transparent;overflow:hidden;border-radius:2px}.register-password-meter>span{display:block;height:100%;background:#11111118;border-radius:2px;transition:background-color .15s ease}.register-password-meter[data-strength="1"]>span.is-lit{background:#dc3545}.register-password-meter[data-strength="2"]>span.is-lit{background:#e5b300}.register-password-meter[data-strength="3"]>span.is-lit,.register-password-meter[data-strength="4"]>span.is-lit{background:#23874d}
[data-register-form] .form-check:has(#estate-register-terms){display:flex;align-items:flex-start;gap:10px;padding-left:0}[data-register-form] #estate-register-terms{float:none;flex:0 0 24px;width:24px;height:24px;margin:0;accent-color:#111}

.estate-auth-message>p:last-child{font-size:27px;line-height:1.25;font-weight:400}@media(max-width:580px){.estate-auth-message>p:last-child{font-size:22.5px}}

/* Shared subtle brand background for the sign-in and registration form. */
.auth-box-form>.card-body{position:relative;isolation:isolate;overflow:hidden}
.auth-box-form>.card-body::before{content:"";position:absolute;right:-30px;bottom:35px;width:min(440px,95%);aspect-ratio:1.38;background:url("?asset=brand-mark") center/contain no-repeat;opacity:.035;pointer-events:none;z-index:-1}

.estate-notice-toast{position:fixed;right:20px;bottom:20px;z-index:11000;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 40px);padding:14px 18px;background:#111;color:#fff;border-radius:5px;box-shadow:0 4px 20px #0003;font-size:14px;line-height:1.5}
.estate-notice-toast button{flex-shrink:0;border:0;background:transparent;color:inherit;font-size:24px;line-height:1;padding:0 2px;cursor:pointer}
.estate-notice-toast button:focus-visible{outline:2px solid #fff;outline-offset:3px}

.form-check-input:checked{background-color:#111;border-color:#111}.form-check-input:focus{border-color:#111;box-shadow:0 0 0 .15rem #1112}
