/* Meporavi Table Room — custom styles, all selectors use mpv- prefix */
:root { --mpv-ink:#142a27; --mpv-evergreen:#1e5148; --mpv-cream:#f5efdf; --mpv-paper:#fffdf7; --mpv-apricot:#e89a68; --mpv-cobalt:#1649a7; --mpv-mist:#d9e5dc; --mpv-line:rgba(20,42,39,.16); --mpv-shadow:0 14px 40px rgba(20,42,39,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--mpv-cream); color:var(--mpv-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:var(--mpv-evergreen); text-underline-offset:3px; }
a:hover { color:var(--mpv-cobalt); }
.mpv-skip { position:absolute; left:-999px; top:0; z-index:100; background:var(--mpv-paper); padding:.7rem 1rem; border:2px solid var(--mpv-cobalt); }
.mpv-skip:focus { left:1rem; top:1rem; }
.mpv-site-header { background:rgba(255,253,247,.96); border-bottom:1px solid var(--mpv-line); position:sticky; top:0; z-index:50; backdrop-filter:blur(12px); }
.mpv-brand { color:var(--mpv-ink); font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; letter-spacing:-.035em; text-decoration:none; display:flex; align-items:center; gap:.65rem; }
.mpv-brand:hover { color:var(--mpv-ink); }
.mpv-mark { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50% 50% 45% 45%; background:var(--mpv-cobalt); color:#fff; font-size:1rem; box-shadow:inset 0 0 0 4px #f2bd90; }
.mpv-nav-link { color:var(--mpv-ink)!important; font-size:.91rem; font-weight:700; letter-spacing:.01em; }
.mpv-nav-link:hover,.mpv-nav-link:focus { color:var(--mpv-cobalt)!important; }
.mpv-btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:0; border:2px solid var(--mpv-ink); padding:.62rem 1rem; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease,color .18s ease; }
.mpv-btn:hover,.mpv-btn:focus { transform:translateY(-2px); }
.mpv-btn-primary { background:var(--mpv-cobalt); color:#fff; border-color:var(--mpv-cobalt); }
.mpv-btn-primary:hover,.mpv-btn-primary:focus { background:var(--mpv-evergreen); color:#fff; border-color:var(--mpv-evergreen); }
.mpv-btn-quiet { background:transparent; color:var(--mpv-ink); }
.mpv-btn-quiet:hover,.mpv-btn-quiet:focus { background:var(--mpv-ink); color:var(--mpv-paper); }
.mpv-kicker { color:var(--mpv-evergreen); font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.mpv-display { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.5rem,5.2vw,5.45rem); line-height:.94; letter-spacing:-.065em; max-width:12ch; }
.mpv-title { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.9vw,3.75rem); line-height:.98; letter-spacing:-.05em; }
.mpv-lede { color:#3d5650; font-size:clamp(1rem,1.4vw,1.18rem); max-width:55ch; }
.mpv-section { padding:6.25rem 0; }
.mpv-section-tight { padding:4.25rem 0; }
.mpv-hero { position:relative; overflow:hidden; min-height:660px; display:flex; align-items:center; background:var(--mpv-cream); isolation:isolate; }
.mpv-map-lines { position:absolute; inset:0; z-index:-1; opacity:.66; background-image:radial-gradient(circle at 7% 16%, transparent 0 68px, #bcd2c4 69px 70px,transparent 72px),radial-gradient(circle at 93% 20%,transparent 0 85px,#f0c5a1 86px 87px,transparent 89px),linear-gradient(113deg,transparent 0 46%,rgba(22,73,167,.16) 46.2% 46.6%,transparent 46.8% 100%); }
.mpv-hero-grid { position:absolute; inset:0; z-index:-1; opacity:.3; background-image:linear-gradient(rgba(30,81,72,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(30,81,72,.16) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to right,#000 0%,#000 55%,transparent 100%); }
.mpv-hero-photo { width:100%; height:560px; object-fit:cover; border:12px solid var(--mpv-paper); box-shadow:var(--mpv-shadow); }
.mpv-compass { position:absolute; width:130px; height:130px; right:18px; bottom:18px; border-radius:50%; background:var(--mpv-apricot); border:12px solid var(--mpv-paper); color:var(--mpv-ink); display:grid; place-items:center; font-family:Georgia,serif; font-size:1.8rem; box-shadow:var(--mpv-shadow); }
.mpv-rhythm { border-block:1px solid var(--mpv-line); background:var(--mpv-paper); overflow:hidden; }
.mpv-rhythm-inner { display:flex; align-items:center; gap:1.25rem; white-space:nowrap; min-height:66px; animation:mpv-slide 28s linear infinite; font-weight:800; color:var(--mpv-evergreen); }
.mpv-rhythm-dot { width:10px; height:10px; display:inline-block; background:var(--mpv-apricot); border-radius:50%; flex:0 0 auto; }
@keyframes mpv-slide { from{transform:translateX(0)} to{transform:translateX(-25%)} }
.mpv-tilt-card { background:var(--mpv-paper); border:1px solid var(--mpv-line); padding:1.1rem; box-shadow:var(--mpv-shadow); transform:rotate(-1.8deg); }
.mpv-tilt-card img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.mpv-note { border-left:4px solid var(--mpv-apricot); background:#fff8ed; padding:1.15rem 1.25rem; }
.mpv-card { height:100%; background:var(--mpv-paper); border:1px solid var(--mpv-line); padding:1.65rem; transition:transform .18s ease,box-shadow .18s ease; }
.mpv-card:hover { transform:translateY(-4px); box-shadow:var(--mpv-shadow); }
.mpv-card-icon { color:var(--mpv-cobalt); font-size:1.5rem; }
.mpv-component-card { background:var(--mpv-evergreen); color:#fff; padding:1.1rem; height:100%; }
.mpv-component-card img { aspect-ratio:4/3; width:100%; object-fit:cover; margin-bottom:1rem; }
.mpv-photo-band { position:relative; min-height:460px; color:#fff; display:grid; align-items:end; overflow:hidden; }
.mpv-photo-band img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.mpv-photo-band::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,31,29,.82),rgba(10,31,29,.2)); }
.mpv-photo-copy { padding:clamp(2rem,6vw,5rem); max-width:52rem; }
.mpv-photo-copy .mpv-kicker { color:#f8ca9e; }
.mpv-photo-copy .mpv-lede { color:#f8f2e7; }
.mpv-tab-panel { border:1px solid var(--mpv-line); background:var(--mpv-paper); padding:1.5rem; }
.mpv-tabs .nav-link { min-height:44px; border-radius:0; border:1px solid var(--mpv-line); color:var(--mpv-ink); font-weight:800; margin-right:.4rem; }
.mpv-tabs .nav-link.active { background:var(--mpv-cobalt); color:#fff; border-color:var(--mpv-cobalt); }
.mpv-filter { border:1px solid var(--mpv-line); background:var(--mpv-paper); padding:1.25rem; }
.mpv-filter-btn { min-height:44px; background:transparent; border:1px solid var(--mpv-ink); padding:.45rem .8rem; color:var(--mpv-ink); font-weight:800; }
.mpv-filter-btn.is-active { background:var(--mpv-evergreen); border-color:var(--mpv-evergreen); color:#fff; }
.mpv-filter-card { background:var(--mpv-paper); border-top:4px solid var(--mpv-apricot); padding:1.2rem; height:100%; }
.mpv-check { display:flex; align-items:flex-start; gap:.75rem; border-bottom:1px solid var(--mpv-line); padding:.8rem 0; }
.mpv-check input[type="checkbox"] { appearance:auto; -webkit-appearance:checkbox; width:24px; height:24px; min-width:24px; min-height:24px; flex:0 0 24px; margin-top:.1rem; accent-color:var(--mpv-cobalt); }
.mpv-check label { cursor:pointer; font-weight:650; }
.mpv-accordion .accordion-item { background:var(--mpv-paper); border:1px solid var(--mpv-line); margin-bottom:.65rem; }
.mpv-accordion .accordion-button { min-height:56px; background:var(--mpv-paper); color:var(--mpv-ink); font-weight:800; box-shadow:none; }
.mpv-accordion .accordion-button:not(.collapsed) { background:#eaf1eb; color:var(--mpv-evergreen); }
.mpv-quote-free { border-top:1px solid var(--mpv-line); border-bottom:1px solid var(--mpv-line); padding:1.25rem 0; color:#4d615d; }
.mpv-form { background:var(--mpv-paper); border:1px solid var(--mpv-line); padding:clamp(1.25rem,4vw,2.5rem); }
.mpv-form-control,.mpv-form-select { min-height:46px; border-radius:0; border:1px solid #71827d; background:#fffefa; }
.mpv-form-control:focus,.mpv-form-select:focus { border-color:var(--mpv-cobalt); box-shadow:0 0 0 .22rem rgba(22,73,167,.15); }
textarea.mpv-form-control { min-height:120px; }
.mpv-form .form-check-input { width:1.5rem; height:1.5rem; min-width:1.5rem; min-height:1.5rem; margin-top:.1rem; accent-color:var(--mpv-cobalt); }
.mpv-status { display:none; background:#e4f0e6; color:var(--mpv-evergreen); padding:.75rem 1rem; font-weight:700; }
.mpv-status.is-visible { display:block; }
.mpv-map-board { background:var(--mpv-cobalt); color:#fff; padding:2rem; position:relative; overflow:hidden; }
.mpv-map-board:after { content:""; position:absolute; width:250px; height:250px; border:1px solid rgba(255,255,255,.4); border-radius:44% 56% 60% 40%; right:20px; top:-120px; }
.mpv-step { position:relative; padding-left:3.7rem; min-height:64px; }
.mpv-step-num { position:absolute; left:0; top:0; width:2.5rem; height:2.5rem; display:grid; place-items:center; border:2px solid var(--mpv-apricot); border-radius:50%; font-weight:900; color:var(--mpv-apricot); }
.mpv-page-hero { background:var(--mpv-evergreen); color:#fff; padding:5rem 0; }
.mpv-page-hero .mpv-kicker { color:#f7c391; }
.mpv-prose { max-width:75ch; }
.mpv-prose h2 { font-family:Georgia,serif; font-size:2rem; margin-top:2.3rem; }
.mpv-site-footer { background:var(--mpv-ink); color:#e9eee8; padding:3.5rem 0 1.5rem; }
.mpv-site-footer a { color:#e9eee8; }
.mpv-contact-note { background:rgba(255,255,255,.08); border-left:3px solid var(--mpv-apricot); padding:.85rem 1rem; }
.mpv-footer-mark { color:var(--mpv-apricot); }
.mpv-not-found { min-height:65vh; display:grid; place-items:center; background:linear-gradient(135deg,var(--mpv-cream),#dfeae2); }
.mpv-404-num { font-family:Georgia,serif; font-size:clamp(7rem,24vw,16rem); letter-spacing:-.12em; line-height:.7; color:var(--mpv-cobalt); }
@media (max-width:991.98px) { .mpv-hero { min-height:auto; padding:5rem 0; } .mpv-hero-photo { height:440px; } .mpv-section { padding:4.75rem 0; } .mpv-rhythm-inner { animation:none; white-space:normal; flex-wrap:wrap; padding:.7rem 0; } }
@media (max-width:767.98px) { .mpv-display { max-width:14ch; } .mpv-hero-photo { height:350px; border-width:8px; } .mpv-compass { width:86px; height:86px; border-width:7px; font-size:1.3rem; right:12px; bottom:12px; } .mpv-section { padding:3.75rem 0; } .mpv-section-tight { padding:3rem 0; } .mpv-photo-band { min-height:480px; } .mpv-rhythm-inner { animation:none; white-space:normal; flex-wrap:wrap; padding:.7rem 0; } }
@media (max-width:420px) { .mpv-brand { font-size:1.06rem; } .mpv-display { font-size:2.7rem; } .mpv-title { font-size:2.2rem; } .mpv-nav-link { font-size:1rem; } }
/* Narrow-screen grid uses a 24px horizontal gutter, so Bootstrap rows remain within their containers. */
@media (max-width:767.98px) {
  main .row.g-5 { --bs-gutter-x:1.5rem; }
}


/* Contact cleanup: compact real email links replace service-note blocks. */
.mpv-email{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;font-size:.84rem;font-weight:700;white-space:nowrap}
.mpv-email:hover,.mpv-email:focus{text-decoration:underline;text-underline-offset:3px}
.footer-contact{margin:18px 0 0;font-size:.88rem;line-height:1.45}.footer-contact .mpv-email{min-height:auto;margin-left:4px}
@media(max-width:991.98px){.mpv-email{margin:10px 0 4px}}


/* Structured footer: brand, legal links and contact share one deliberate layout. */
.mpv-footer-rebuilt{background:#142a27;color:#f5efdf;margin-top:0}
.mpv-footer-rebuilt .fr-inner{width:min(1180px,calc(100% - 3rem));margin:auto;padding:32px 0 22px}
.mpv-footer-rebuilt .fr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.mpv-footer-rebuilt .fr-identity strong{display:block;color:#f5efdf;font-size:1rem;line-height:1.2;letter-spacing:.015em}
.mpv-footer-rebuilt .fr-identity span{display:block;margin-top:6px;color:#c9d8d0;font-size:.88rem}
.mpv-footer-rebuilt .fr-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px 18px}
.mpv-footer-rebuilt .fr-links a{color:#f5efdf;text-decoration:none;font-size:.84rem;line-height:1.35}
.mpv-footer-rebuilt .fr-links a:hover,.mpv-footer-rebuilt .fr-links a:focus{color:#f5efdf;text-decoration:underline;text-underline-offset:3px}
.mpv-footer-rebuilt .fr-email{font-weight:700;white-space:nowrap}
.mpv-footer-rebuilt .fr-meta{border-top:1px solid rgba(245,239,223,.25);margin-top:22px;padding-top:16px;display:flex;justify-content:space-between;gap:18px;color:#c9d8d0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:767.98px){.mpv-footer-rebuilt .fr-inner{width:min(100% - 32px,1180px);padding:28px 0 20px}.mpv-footer-rebuilt .fr-row{grid-template-columns:1fr;gap:18px}.mpv-footer-rebuilt .fr-links{justify-content:flex-start;gap:10px 16px}.mpv-footer-rebuilt .fr-email{flex-basis:100%}.mpv-footer-rebuilt .fr-meta{display:grid;grid-template-columns:1fr;gap:7px;font-size:.66rem}}

/* Release QA: Contact is a local form anchor; readable ink is explicit on all light cards. */
.contact-email{margin:0 0 18px;color:inherit;font-size:.88rem;line-height:1.5}.contact-email a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* Release QA: clear contrast for numbered steps and the blue map board. */
.mpv-map-board .mpv-step-num{color:#fff;border-color:#fff}
.mpv-map-board .mpv-kicker{color:#fff7e7}
.mpv-step-num{color:#8f3f1f;border-color:#8f3f1f}

.mpv-section-tight .contact-email-context{margin:18px 0 0;color:var(--mpv-ink);font-size:.92rem}.mpv-section-tight .contact-email-context a{color:var(--mpv-evergreen)}

.mpv-section-tight .contact-email-context{margin:18px 0 0;color:var(--mpv-ink);font-size:.92rem}.mpv-section-tight .contact-email-context a{color:var(--mpv-evergreen)}

/* Contact navigation lands at the working form, below the sticky header. */
#mpv-draft-form{scroll-margin-top:92px}
