/* Mare Visuals — Presence shared visual UI, 22 October 2026.
   ONE official wordmark source, consistent header alignment and return control.
   Not applied to Listing Upgrade order funnel or unrelated sale sites. */
/* Shared variable Montserrat used by every Presence wordmark.
   Project Presence previously lacked a local @font-face definition, so its
   PROJECT and PRESENCE weights could collapse to the same fallback weight. */
@font-face{font-family:MareMontserrat;src:url('/assets/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:MareMontserrat;src:url('/assets/montserrat-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}

.mv-presence-header{--mv-presence-gutter:clamp(23px,4.45vw,78px);height:88px!important;min-height:88px!important;padding:0 var(--mv-presence-gutter)!important;display:flex;align-items:center;box-sizing:border-box}
.mv-presence-header .mv-presence-identity{display:inline-flex!important;align-items:center;gap:20px;flex:0 0 auto;min-width:0;position:relative}
.mv-presence-header .mv-presence-home{position:relative!important;display:flex!important;align-items:center!important;width:108px!important;min-width:108px!important;max-width:108px!important;height:43px!important;min-height:43px!important;flex:0 0 108px!important;overflow:visible!important;padding:0!important;margin:0!important;text-decoration:none!important;line-height:1!important}
.mv-presence-header .mv-presence-mark{position:relative!important;display:block!important;overflow:hidden!important;width:108px!important;height:43px!important;min-width:108px!important;max-width:108px!important;flex:0 0 108px!important;padding:0!important;margin:0!important}
.mv-presence-header .mv-presence-home .mv-presence-mark img{position:absolute!important;display:block!important;width:180px!important;height:180px!important;min-width:0!important;max-width:none!important;left:-37px!important;top:-76px!important;object-fit:fill!important;opacity:1!important;margin:0!important;transform:none!important;mix-blend-mode:normal!important;filter:none!important}
/* The same transparent white logo serves both light and dark headers. */
.header.mv-presence-header .mv-presence-home .mv-presence-mark img,
.site-header.mv-presence-header.is-scrolled:not(.mv-product-header) .mv-presence-home .mv-presence-mark img,
.site-header.mv-presence-header.menu-open:not(.mv-product-header) .mv-presence-home .mv-presence-mark img{filter:brightness(0)!important}
.mv-presence-header .mv-presence-name{display:inline-flex;align-items:center;gap:.45em;min-height:31px;padding-left:20px;border-left:1px solid currentColor;line-height:1.3;font-family:MareMontserrat,'Montserrat','Helvetica Neue',Arial,sans-serif;font-weight:520;font-size:11px;letter-spacing:.16em;text-decoration:none!important;color:inherit;white-space:nowrap;opacity:.95;transition:opacity .25s}
.mv-presence-header .mv-presence-name span{font-weight:320;letter-spacing:.18em}
.mv-presence-header .mv-presence-name:hover{opacity:.7}
/* Product header has its own centered layout, but the brand needs to start at the same edge. */
.site-header.mv-presence-header .header-inner{height:100%!important;min-height:0!important;max-width:none!important;width:100%;padding:0!important;margin:0!important;gap:clamp(15px,2vw,26px)}
.site-header.mv-presence-header .mv-presence-home .brand-image{visibility:visible!important}
.site-header.mv-presence-header .mv-presence-identity .brand-fallback{display:none!important}
.site-header.mv-presence-header .mv-presence-identity .logo-on-dark,.site-header.mv-presence-header .mv-presence-identity .logo-on-light{display:none!important}
.mv-presence-header .mv-presence-identity .mv-presence-name{flex:0 0 auto}
/* Harmonized circle and chevron from Product Presence (SVG, no font glyphs). */
.mv-presence-back-to-top{position:fixed!important;z-index:90!important;right:25px!important;bottom:calc(25px + env(safe-area-inset-bottom,0px))!important;width:42px!important;height:42px!important;padding:0!important;border:1px solid rgba(38,44,40,.25)!important;border-radius:50%!important;background:#eeeee9!important;color:#1a201a!important;display:grid!important;place-items:center!important;text-decoration:none!important;box-shadow:0 6px 25px rgba(0,0,0,.08)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(12px)!important;transition:opacity .25s,transform .25s,visibility .25s!important;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.mv-presence-back-to-top.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
.mv-presence-back-to-top svg{display:block!important;width:18px!important;height:18px!important;stroke:currentColor!important;fill:none!important;flex:none!important;transform:none!important}
.mv-presence-back-to-top:hover{background:#e0e2db!important}
.mv-presence-back-to-top:focus-visible{outline:2px solid #5c735e!important;outline-offset:4px!important}
body.pp-viewer-open .mv-presence-back-to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.mv-presence-footer-mark{position:relative!important;display:block!important;width:130px!important;height:49px!important;min-width:130px!important;overflow:hidden!important;flex:0 0 130px!important}
.mv-presence-footer-mark img,.footer-logo .mv-presence-footer-mark img{position:absolute!important;display:block!important;width:220px!important;height:220px!important;max-width:none!important;left:-45px!important;top:-93px!important;filter:none!important;object-fit:fill!important;margin:0!important}
.footer .footer-brand:has(.mv-presence-footer-mark){height:49px!important;min-height:49px!important;width:130px!important;flex:0 0 130px!important;line-height:0!important}
.footer .footer-logo:has(.mv-presence-footer-mark){height:49px!important;min-height:49px!important;width:130px!important;overflow:visible!important}
.mv-presence-footer-links{display:flex;align-items:center;gap:24px;padding-bottom:24px;font-size:11px;color:#c5cdc3}
.mv-presence-footer-links a{text-decoration:none;border-bottom:1px solid rgba(245,244,239,.25);padding-bottom:5px}
.mv-presence-footer-links a:hover{border-color:currentColor}
@media(max-width:1120px){.mv-presence-header .mv-presence-identity{gap:13px}.mv-presence-header .mv-presence-name{padding-left:13px;font-size:10px;letter-spacing:.11em}.mv-presence-header .mv-presence-name span{letter-spacing:.11em}}
@media(max-width:800px){.mv-presence-header{height:74px!important;min-height:74px!important}.site-header.mv-presence-header .mobile-nav{top:74px}.header.mv-presence-header nav{top:74px}.site-header.mv-presence-header .nav-links{top:74px}}
@media(max-width:640px){.mv-presence-header .mv-presence-identity{gap:8px}.mv-presence-header .mv-presence-home{width:87px!important;min-width:87px!important;max-width:87px!important;height:35px!important;min-height:35px!important;flex:0 0 87px!important}.mv-presence-header .mv-presence-mark{width:87px!important;min-width:87px!important;max-width:87px!important;height:35px!important;flex:0 0 87px!important}.mv-presence-header .mv-presence-home .mv-presence-mark img{width:145px!important;height:145px!important;left:-30px!important;top:-61px!important}.mv-presence-header .mv-presence-name{padding-left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:27px;font-size:9px;line-height:1.5;letter-spacing:.12em}.mv-presence-header .mv-presence-name span{letter-spacing:.12em}.mv-presence-back-to-top{right:16px!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important}.mv-presence-footer-links{flex-wrap:wrap;gap:14px}}
@media(max-width:390px){.mv-presence-header{--mv-presence-gutter:18px}.mv-presence-header .mv-presence-identity{gap:6px}.mv-presence-header .mv-presence-name{padding-left:8px;font-size:8px;letter-spacing:.1em}.mv-presence-header .mv-presence-name span{letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.mv-presence-back-to-top,.mv-presence-header .mv-presence-name{transition:none!important;transform:none!important}}

/* Accessible menu glyph contrast on Project Presence hero and its light scrolled state. */
.site-header.mv-presence-header .menu-toggle{color:inherit!important}


/* 2026-10-24 — Project/Property Presence: one-line identity on mobile, as Product Presence. */
@media (max-width: 640px) {
  .site-header.mv-presence-header:not(.mv-product-header) .mv-presence-name,
  .header.mv-presence-header .mv-presence-name {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .42em !important;
    white-space: nowrap !important;
    min-height: 27px;
    line-height: 1.3;
    flex-wrap: nowrap !important;
  }
  .site-header.mv-presence-header:not(.mv-product-header) .mv-presence-name span,
  .header.mv-presence-header .mv-presence-name span {
    display: inline !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 390px) {
  .site-header.mv-presence-header:not(.mv-product-header) .mv-presence-name,
  .header.mv-presence-header .mv-presence-name {
    letter-spacing: .07em;
    font-size: 8px;
  }
  .site-header.mv-presence-header:not(.mv-product-header) .mv-presence-name span,
  .header.mv-presence-header .mv-presence-name span {letter-spacing:.07em}
}


/* Space budget for language switch and menu on compact phones. */
@media (max-width: 640px) {
  .header.mv-presence-header,
  .site-header.mv-presence-header:not(.mv-product-header) { gap: 7px !important; }
  .header.mv-presence-header .pp-language { margin: 0 0 0 auto !important; }
  .header.mv-presence-header .mv-presence-identity,
  .site-header.mv-presence-header:not(.mv-product-header) .mv-presence-identity { gap: 6px !important; }
  .site-header.mv-presence-header:not(.mv-product-header) .header-actions { gap: 10px !important; margin-left: auto !important; }
}
@media (max-width: 360px) {
  /* Keep a labelled, keyboard-accessible hamburger instead of squashing the identity. */
  .header.mv-presence-header .mobile-toggle { font-size: 0 !important; line-height: 1; min-width: 22px; white-space: nowrap; }
  .header.mv-presence-header .mobile-toggle span { font-size: 18px !important; line-height: 1; }
  .header.mv-presence-header .pp-language { gap: 2px !important; font-size: 9px !important; }
  .header.mv-presence-header .pp-language a { padding: 4px 1px !important; }
  .header.mv-presence-header .pp-language a:not(:last-child)::after { margin-left: 4px !important; }
}
