/* Mare Visuals — hierarchical footer (Powerhouse) · 2026-10-24 v2
   Dedicated mv-site-footer namespace prevents collisions with old .footer styles.
   No architectural tagline in the bottom bar. */
footer.mv-site-footer {
  position:relative; isolation:isolate;
  display:block; width:100%; min-width:0; height:auto;
  margin:0; padding:0; overflow:visible;
  color:#f3f4f0; background:#151a17;
  font-family:"Montserrat Local","Montserrat",Arial,sans-serif;
  font-size:12px; line-height:1.7; font-weight:400;
  border:0; text-align:left; letter-spacing:normal;
}
footer.mv-site-footer *,footer.mv-site-footer *::before,footer.mv-site-footer *::after { box-sizing:border-box; }
footer.mv-site-footer .mv-site-footer__inner { width:min(1440px,calc(100% - 2 * clamp(22px,6vw,72px))); margin:0 auto; padding:0; }
footer.mv-site-footer .mv-site-footer__upper {
  display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,1.72fr);
  gap:clamp(30px,6vw,115px); align-items:start; padding:63px 0 57px;
}
footer.mv-site-footer .mv-site-footer__brand { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
footer.mv-site-footer .mv-site-footer__logo {
  display:inline-flex; flex:none; width:145px; height:auto; max-width:100%;
  padding:0; margin:0; overflow:visible; line-height:normal;
  text-decoration:none; background:none; border:0; transform:none;
}
footer.mv-site-footer .mv-site-footer__logo img {
  display:block; position:static; width:145px; height:auto; max-width:100%; min-width:0;
  margin:0; padding:0; object-fit:contain; object-position:left center;
  opacity:1; transform:none; clip-path:none; filter:none;
}
footer.mv-site-footer .mv-site-footer__tagline {
  margin:0; padding:0; font-size:10px; line-height:1.7; font-weight:400;
  letter-spacing:.14em; text-transform:uppercase; color:#b5c5bc;
}
footer.mv-site-footer nav.mv-site-footer__navigation {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:clamp(14px,2.2vw,37px);
  row-gap:15px; align-items:start; margin:8px 0 0; padding:0; width:100%;
}
footer.mv-site-footer .mv-site-footer__column { display:flex; flex-direction:column; align-items:flex-start; gap:19px; min-width:0; }
footer.mv-site-footer a {
  width:auto; height:auto; margin:0; padding:0; border:0; background:none;
  font:inherit; text-decoration:none; color:#f0f2ed;
  transition:color .2s ease,opacity .2s ease;
}
footer.mv-site-footer a:hover { color:#c7d1c7; }
footer.mv-site-footer a:focus-visible { outline:2px solid #fff; outline-offset:5px; border-radius:2px; }
footer.mv-site-footer nav.mv-site-footer__navigation a { display:inline-block; line-height:1.55; font-size:12px; font-weight:500; }
footer.mv-site-footer .mv-site-footer__lower {
  border-top:1px solid rgba(235,240,235,.23);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:24px 0 29px; min-width:0;
}
footer.mv-site-footer .mv-site-footer__legal { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
footer.mv-site-footer .mv-site-footer__legal,
footer.mv-site-footer .mv-site-footer__contacts { font-size:10.5px; line-height:1.6; }
footer.mv-site-footer .mv-site-footer__legal a { font-weight:600; }
footer.mv-site-footer .mv-site-footer__contacts {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px 21px;
}
@media (max-width:900px) {
  footer.mv-site-footer .mv-site-footer__upper { grid-template-columns:1fr; gap:30px; padding:45px 0 37px; }
  footer.mv-site-footer nav.mv-site-footer__navigation { margin-top:0; }
  footer.mv-site-footer .mv-site-footer__lower { align-items:flex-start; }
  footer.mv-site-footer .mv-site-footer__contacts { max-width:55%; }
}
@media (max-width:600px) {
  footer.mv-site-footer .mv-site-footer__inner { width:calc(100% - 44px); }
  footer.mv-site-footer .mv-site-footer__upper { padding:37px 0 34px; gap:29px; }
  footer.mv-site-footer .mv-site-footer__logo,
  footer.mv-site-footer .mv-site-footer__logo img { width:131px; }
  footer.mv-site-footer .mv-site-footer__tagline { font-size:9px; }
  footer.mv-site-footer nav.mv-site-footer__navigation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 18px; }
  footer.mv-site-footer .mv-site-footer__column { gap:13px; }
  footer.mv-site-footer nav.mv-site-footer__navigation a { font-size:11.5px; }
  footer.mv-site-footer .mv-site-footer__lower { flex-direction:column; gap:18px; padding:20px 0 25px; }
  footer.mv-site-footer .mv-site-footer__contacts { justify-content:flex-start; max-width:100%; gap:10px 18px; }
}
@media (max-width:340px) {
  footer.mv-site-footer .mv-site-footer__inner { width:calc(100% - 36px); }
  footer.mv-site-footer nav.mv-site-footer__navigation { gap:22px 12px; }
  footer.mv-site-footer nav.mv-site-footer__navigation a { font-size:11px; }
}
@media (prefers-reduced-motion: reduce){ footer.mv-site-footer a { transition:none; } }

/* v2 — descriptive grouping, typography and logo clearance. */
footer.mv-site-footer .mv-site-footer__upper {
  grid-template-columns: minmax(230px,.86fr) minmax(0,2.35fr);
  gap:clamp(32px,5.3vw,95px);
}
footer.mv-site-footer .mv-site-footer__brand { gap:0; }
footer.mv-site-footer .mv-site-footer__tagline {
  margin-top:23px; font-size:clamp(8.8px,.68vw,10px);
  letter-spacing:.10em; white-space:nowrap;
}
footer.mv-site-footer nav.mv-site-footer__navigation {
  grid-template-columns:minmax(0,1.32fr) repeat(3,minmax(0,1fr));
  gap:clamp(13px,2vw,34px); margin-top:8px;
}
footer.mv-site-footer .mv-site-footer__group {
  min-width:0; display:flex; flex-direction:column; align-items:flex-start;
}
footer.mv-site-footer nav.mv-site-footer__navigation a.mv-site-footer__main {
  font-size:12px; font-weight:550; line-height:1.55;
  letter-spacing:0; white-space:normal;
}
footer.mv-site-footer .mv-site-footer__subnav {
  display:flex; flex-direction:column; align-items:flex-start;
  gap:10px; margin:17px 0 0 12px; padding:0 0 0 13px;
  border-left:1px solid rgba(229,237,229,.3);
}
footer.mv-site-footer nav.mv-site-footer__navigation .mv-site-footer__subnav a {
  font-size:11px; line-height:1.55; font-weight:400;
  color:#bac7be; letter-spacing:0;
}
footer.mv-site-footer nav.mv-site-footer__navigation .mv-site-footer__subnav a:hover { color:#fff; }
footer.mv-site-footer nav.mv-site-footer__navigation a[aria-current="page"] { color:#fff; }
@media (max-width: 1050px) {
  footer.mv-site-footer .mv-site-footer__upper {
    grid-template-columns:1fr; gap:35px;
  }
  footer.mv-site-footer nav.mv-site-footer__navigation {
    grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:0;
  }
}
@media (max-width:600px) {
  footer.mv-site-footer .mv-site-footer__upper { gap:32px; }
  footer.mv-site-footer .mv-site-footer__tagline { margin-top:19px; font-size:9px; letter-spacing:.095em; }
  footer.mv-site-footer nav.mv-site-footer__navigation {
    grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px;
  }
  footer.mv-site-footer nav.mv-site-footer__navigation a.mv-site-footer__main { font-size:11.5px; }
  footer.mv-site-footer .mv-site-footer__subnav { margin:12px 0 0 0; padding-left:11px; gap:9px; }
  footer.mv-site-footer nav.mv-site-footer__navigation .mv-site-footer__subnav a { font-size:11px; }
}
@media (max-width:340px) {
  footer.mv-site-footer .mv-site-footer__tagline { font-size:8.6px; letter-spacing:.06em; }
  footer.mv-site-footer nav.mv-site-footer__navigation { gap:23px 14px; }
  footer.mv-site-footer nav.mv-site-footer__navigation a.mv-site-footer__main { font-size:11px; }
}

/* v3 — keep the full copyright and Mare Group affiliation on one line. */
footer.mv-site-footer .mv-site-footer__legal {
  display:inline-flex; flex-direction:row; align-items:baseline;
  flex-wrap:nowrap; gap:8px; white-space:nowrap;
  min-width:0; flex-shrink:0;
}
footer.mv-site-footer .mv-site-footer__legal-divider {color:rgba(235,240,235,.45)}
footer.mv-site-footer .mv-site-footer__legal strong {font-weight:600;}
footer.mv-site-footer .mv-site-footer__lower {flex-wrap:nowrap;}
footer.mv-site-footer .mv-site-footer__contacts {min-width:0;}
/* On small screens the legal notice remains ONE line; the contact group sits below
   so full labels retain their size, with no clipped text or horizontal scrolling. */
@media (max-width:600px) {
  footer.mv-site-footer .mv-site-footer__legal {gap:6px; font-size:clamp(8.5px,2.75vw,10.5px);}
  footer.mv-site-footer .mv-site-footer__lower {flex-direction:column; align-items:flex-start; gap:14px;}
  footer.mv-site-footer .mv-site-footer__contacts {width:100%; max-width:100%;}
}

/* v4 — copyright, rights notice, and Mare Group appear inline. */
@media (max-width: 1100px) and (min-width: 601px) {
  footer.mv-site-footer .mv-site-footer__lower { flex-direction:column; align-items:flex-start; gap:14px; }
  footer.mv-site-footer .mv-site-footer__contacts { max-width:100%; justify-content:flex-start; }
}
@media (max-width:600px) {
  footer.mv-site-footer .mv-site-footer__legal {
    font-size:clamp(7.8px,2.25vw,9px);
    letter-spacing:-.025em; gap:4px;
  }
}

/* v5 — mobile navigation in a single vertical column.
   Property Presence's children are nested underneath it.
   Project, Product and Stay continue BELOW, never in the adjacent column.
   Tablet and desktop retain the previous four-column navigation. */
@media (max-width:600px) {
  footer.mv-site-footer nav.mv-site-footer__navigation {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    column-gap:0;
    row-gap:23px;
    justify-items:start;
    align-items:start;
  }
  footer.mv-site-footer .mv-site-footer__group {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
  }
  footer.mv-site-footer .mv-site-footer__subnav {
    margin-top:12px;
  }
}
