/* Shared public headers and readable, touch-friendly consent controls. */
.mgi-public-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;min-width:0;width:auto;position:relative;isolation:isolate}
.mgi-public-header>strong,.mgi-public-header-brand{min-width:0;overflow-wrap:anywhere}.mgi-public-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0;margin:0;padding:0;background:none;border:0}.mgi-public-header-actions form{margin:0;padding:0;background:none;border:0;box-shadow:none}.mgi-public-header-actions a,.mgi-public-header-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:10px;white-space:normal;text-align:center;text-decoration:none;max-width:100%}
.pm-site .mgi-public-header{border:1px solid #d5dfda;box-shadow:0 8px 26px #163f3b0a;gap:18px}.pm-site .mgi-public-header>strong{font-size:20px;color:var(--pm-text,#182f32);flex:1 1 220px}.pm-site .mgi-public-header-actions a,.pm-site .mgi-public-header-actions button{background:var(--pm-primary,#163f3b);color:white;border:1px solid transparent;font:650 14px/1.4 system-ui}
.public-sms-consent{grid-column:1/-1;min-width:0;margin:2px 0 20px;padding:18px;background:#f0f5f8;border:1px solid #d4dfe7;border-radius:12px;color:#233d50}.public-sms-consent p,.public-sms-notice{font-size:14px;line-height:1.65;overflow-wrap:anywhere}.public-sms-notice a{color:inherit;text-decoration:underline;text-underline-offset:3px}.public-sms-consent .public-sms-opt-out{display:flex!important;align-items:center;gap:12px;cursor:pointer;font-weight:700;min-height:44px;margin:12px 0 0}.public-sms-opt-out input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin:0;padding:0;accent-color:#163f3b}.public-sms-consent p:last-child{margin-bottom:0}.mgi-public-footer>.public-sms-notice,.pm-site-footer>.public-sms-notice{flex-basis:100%;max-width:100%;margin:12px 0;color:inherit}
body.customer-facing-page .portal-welcome,body.pm-site .portal-welcome,body.customer-landing-flow .portal-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:250px;padding:40px!important;border-radius:22px;background:linear-gradient(90deg,#102f35f5 0%,#102f35e8 40%,#102f3555 75%,#102f351a),url('portal-welcome-home.webp') center 54%/cover!important;color:#fff!important}.portal-welcome h1,.portal-welcome h2,.portal-welcome p,.portal-welcome .portal-kicker,.portal-welcome a{color:#fff!important}.portal-welcome h1,.portal-welcome h2{max-width:760px;text-shadow:0 2px 14px #0005}.portal-welcome p{max-width:650px;line-height:1.7}.portal-welcome .portal-access-links{position:relative;display:flex;flex-wrap:wrap;gap:14px}.portal-welcome a{background:#123e42d9;padding:10px 16px;border-radius:8px;border:1px solid #ffffff66}
@media(max-width:650px){.mgi-public-header{align-items:flex-start!important;gap:14px!important}.mgi-public-header-actions{justify-content:flex-start!important;width:100%}.mgi-public-header-actions>*{max-width:100%}body.customer-facing-page .portal-welcome,body.pm-site .portal-welcome,body.customer-landing-flow .portal-welcome{padding:28px 22px!important;min-height:240px;background:linear-gradient(90deg,#102f35ef,#102f35b0),url('portal-welcome-home.webp') 65% center/cover!important}.public-sms-consent{padding:14px}}
@media print{.mgi-public-header,.public-sms-consent,.mgi-public-footer,.pm-site-footer{display:none!important}body.customer-facing-page .portal-welcome,body.pm-site .portal-welcome,body.customer-landing-flow .portal-welcome{background:white!important;color:black!important}.portal-welcome h1,.portal-welcome p{color:black!important}}
body.customer-facing-page .portal-welcome :is(h1,h2,p,.portal-kicker,a),body.pm-site .portal-welcome :is(h1,h2,p,.portal-kicker,a){color:#fff!important}

/* Solid high-contrast welcome actions override inherited white text. */
body.customer-facing-page .portal-welcome.portal-welcome :is(a,button,input[type=submit]),body.pm-site .portal-welcome.portal-welcome :is(a,button,input[type=submit]),body.customer-landing-flow .portal-welcome.portal-welcome :is(a,button,input[type=submit]){display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;background:#fff!important;color:#123e42!important;border:2px solid #fff!important;border-radius:10px;font-weight:750;text-decoration:none!important;text-shadow:none;box-shadow:0 4px 14px #0003;white-space:normal;text-align:center}
body.customer-facing-page .portal-welcome.portal-welcome :is(a,button,input[type=submit]):hover,body.pm-site .portal-welcome.portal-welcome :is(a,button,input[type=submit]):hover{background:#d9f1ed!important;color:#102f35!important;border-color:#d9f1ed!important}
body .portal-welcome :is(a,button,input[type=submit]):focus-visible{outline:3px solid #ffcf75!important;outline-offset:4px}
body .portal-welcome :is(a,button) :is(span,strong,svg){color:inherit!important}
.rental-owner-details{display:grid;gap:6px;padding:16px 18px;margin:16px 0;border:1px solid #ccded9;border-left:4px solid #286657;border-radius:10px;background:#edf6f2;color:#193d35;overflow-wrap:anywhere}.rental-owner-details>span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rental-owner-details>strong{font-size:17px;line-height:1.5}

/* Photo backdrop for owner and tenant sign-in story panels. */
body.customer-facing-page .portal-access .portal-access-story{background:linear-gradient(90deg,rgba(10,30,38,.94),rgba(10,30,38,.8) 65%,rgba(10,30,38,.48)),url('portal-welcome-home.webp') 65% center/cover!important;color:#fff!important;border-color:#466674!important;overflow:hidden;min-height:440px}
body.customer-facing-page .portal-access .portal-access-story :is(h1,h2,h3,p,small,.portal-kicker){color:#fff!important;text-shadow:0 2px 8px #0007}
body.customer-facing-page .portal-access .portal-access-story .portal-access-links a{background:#fff!important;color:#123e42!important;border:1px solid #fff!important;text-shadow:none}
body.customer-facing-page .portal-access .portal-access-story .portal-access-links a:hover{background:#e0f1ed!important}
body.customer-facing-page .portal-access .portal-access-story .portal-access-links a:focus-visible{outline:3px solid #ffd16a;outline-offset:4px}
@media(max-width:760px){body.customer-facing-page .portal-access .portal-access-story{min-height:320px;background-position:65% center!important}}
