/* Modo Houses Popup */
.mhp[hidden] { display: none; }
.mhp { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.mhp__backdrop { position: absolute; inset: 0; background: rgba(26, 29, 32, .72); opacity: 0; transition: opacity .3s ease; }
.mhp__panel { position: relative; width: 100%; max-width: 480px; background: #363935; color: #f2ede4; padding: 40px 32px 28px; border-top: 6px solid #ffb760; opacity: 0; transform: translateY(16px); transition: opacity .3s ease, transform .3s ease; outline: none; max-height: 100%; overflow-y: auto; }
.mhp.is-open .mhp__backdrop { opacity: 1; }
.mhp.is-open .mhp__panel { opacity: 1; transform: none; }
.mhp__close { position: absolute; top: 8px; right: 10px; width: 44px; height: 44px; border: 0; background: transparent; color: #f2ede4; font-size: 30px; line-height: 1; cursor: pointer; transition: opacity .2s; }
.mhp__close:hover, .mhp__close:focus-visible { opacity: .65; }
.mhp__close:focus-visible, .mhp__input:focus-visible, .mhp__btn:focus-visible { outline: 3px solid #ffb760; outline-offset: 2px; }
.mhp__eyebrow { margin: 0 0 12px; font-family: var(--fu, "Space Grotesk", system-ui, sans-serif); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #d4c5a9; }
.mhp__title { margin: 0 0 14px; font-family: var(--fd, "DM Serif Display", Georgia, serif); font-weight: 400; font-size: clamp(28px, 6vw, 38px); line-height: 1.08; color: #fff; }
.mhp__text { margin: 0 0 24px; font-size: 16px; line-height: 1.6; color: #e6dfd0; }
.mhp__form { margin: 0; }
.mhp__label { display: block; margin: 0 0 6px; font-family: var(--fu, "Space Grotesk", system-ui, sans-serif); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #d4c5a9; }
.mhp__input { display: block; width: 100%; height: 52px; padding: 0 14px; border: 1px solid rgba(242, 237, 228, .45); border-radius: 0; background: rgba(255, 255, 255, .07); color: #fff; font-size: 16px; transition: border-color .2s, background .2s; }
.mhp__input::placeholder { color: rgba(242, 237, 228, .68); }
.mhp__input:hover { border-color: rgba(242, 237, 228, .7); }
.mhp__input:focus { border-color: #ffb760; background: rgba(255, 255, 255, .12); }
.mhp__input[aria-invalid="true"] { border-color: #ff9d8a; }
.mhp__btn { display: block; width: 100%; height: 52px; margin-top: 12px; border: 0; border-radius: 0; background: #ffb760; color: #1a1d20; font-family: var(--fu, "Space Grotesk", system-ui, sans-serif); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .2s, opacity .2s; }
.mhp__btn:hover { background: #ffc986; }
.mhp__btn.is-loading { opacity: .7; cursor: progress; }
.mhp__btn:disabled { opacity: .55; cursor: not-allowed; }
.mhp__msg { min-height: 22px; margin: 12px 0 0; font-size: 14px; color: #e6dfd0; }
.mhp__msg.is-error { color: #ffb4a6; }
.mhp__msg.is-ok { color: #fff; font-weight: 600; }
.mhp__privacy { margin: 8px 0 0; font-size: 12px; color: #cfc8b6; }
.mhp__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.mhp-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
	.mhp__backdrop, .mhp__panel { transition: none; }
}
