
/* KCMO mobile v326: app-inspired navigation and existing property-data filter. */
.mobile-app-dock,.mobile-primary-actions,.mobile-property-toolbar {display:none}
@media (max-width:680px){
 :root {--mobile-dock-size:70px}
 html {scroll-padding-top:80px}
 body {padding-bottom:calc(var(--mobile-dock-size) + env(safe-area-inset-bottom,0px))}
 .mobile-app-dock {position:fixed;z-index:195;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;min-height:var(--mobile-dock-size);padding:7px max(8px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-right,0px));background:#fffefa;border-top:1px solid #e9e4dc;box-shadow:0 -7px 26px #0b1e3717;transform:translateZ(0)}
 .mobile-app-dock a {min-height:54px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;border-radius:11px;color:#718095;font:750 10px/1.15 var(--sans);white-space:nowrap;text-align:center;transition:background .16s,color .16s}
 .mobile-app-dock a svg {width:20px;height:20px;flex:none}
 .mobile-app-dock a[aria-current="location"] {background:#eff0ec;color:#142746}
 .mobile-app-dock a[aria-current="location"] svg {stroke:#b2916a}
 .mobile-app-dock a:focus-visible,.mobile-property-filter:focus-visible,.mobile-primary-actions a:focus-visible {outline:3px solid #a78962;outline-offset:2px}
 body:has(.property-detail-shell.open) .mobile-app-dock,body:has(.property-gallery-lightbox.open) .mobile-app-dock,body:has(.is-open[aria-modal="true"]) .mobile-app-dock {visibility:hidden;pointer-events:none}
 body:has(.mobile-nav-menu.open) .mobile-app-dock {visibility:hidden;pointer-events:none}
 header.nav-wrap .menu {font-size:0!important;min-width:44px;min-height:44px!important;padding:0 9px!important;display:inline-flex;align-items:center;justify-content:center}
 header.nav-wrap .menu::before {content:'☰';font:700 21px/1 Arial,sans-serif;letter-spacing:0}
 header.nav-wrap .menu[aria-expanded="true"]::before {content:'×';font-size:25px}
 #top .hero-actions {display:none!important}
 #top .mobile-primary-actions {display:flex;flex-direction:column;gap:9px;margin:25px 0 0;max-width:330px}
 #top .mobile-primary-actions a {display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:13px 17px;border-radius:12px;font-size:13px;font-weight:800;letter-spacing:.015em}
 #top .mobile-primary-actions a span {font-size:18px;line-height:1}
 #top .mobile-main-action {color:#102343;background:#d1b99b;box-shadow:0 12px 26px #050d1f45}
 #top .mobile-alt-action {color:#fff;border:1px solid #e1e6ed6b;background:#ffffff12}
 #top .hero h1 {font-size:clamp(33px,8.7vw,43px)!important}
 #top .mobile-hero-tail {margin-top:28px}
 #properties .mobile-property-toolbar {display:block;max-width:100%;margin:22px 0 5px}
 #properties .mobile-property-tabs {display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 1px 9px}
 #properties .mobile-property-tabs::-webkit-scrollbar {display:none}
 #properties .mobile-property-filter {border:1px solid #e7dfd3;border-radius:30px;background:white;color:#4f5970;white-space:nowrap;padding:9px 12px;min-height:38px;font:750 12px/1 var(--sans);cursor:pointer}
 #properties .mobile-property-filter.is-selected {background:#142646;color:white;border-color:#142646;box-shadow:0 4px 12px #14264622}
 #properties .mobile-property-summary {display:flex;align-items:center;justify-content:space-between;gap:12px;color:#737c8b;font-size:11px;font-weight:650;margin:2px 0 11px}
 #properties .mobile-swipe-hint {white-space:nowrap}
 #properties .mobile-swipe-hint span {font-size:18px;color:#b69b7a;vertical-align:-1px}
 #properties #propertyCards>.card.mobile-filter-hidden {display:none!important}
 #properties .property-carousel {margin-top:0!important}
 #properties #propertyCards {padding-bottom:12px}
 #properties #propertyCards>.card {flex-basis:88%!important;scroll-snap-align:start}
 #properties #propertyCards .prop-img {position:relative;background:linear-gradient(125deg,#dfe3e8 0%,#cfd9df 55%,#e6e2dc 100%)}
 #properties #propertyCards .prop-img:has(img[src^="data:image/gif;base64,"])::after,
 #properties #propertyCards .prop-img:not(:has(img))::after {content:'PROPERTY PHOTOS COMING SOON';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#334866;font:800 10px/1.5 var(--sans);letter-spacing:.12em;text-align:center;padding:15px;background:linear-gradient(135deg,#e6e8e7,#d2d9dd)}
 #properties #propertyCards .prop-img .sample {z-index:3}
 #properties #propertyCards .card-body {min-height:0}
 #properties #propertyCards .price-row {gap:10px;align-items:start}
 #properties #propertyCards .price {font-size:23px}
 #properties #propertyCards .btn {display:flex;justify-content:center;align-items:center;width:100%;font-size:12px}
 #properties .property-detail-modal {border-radius:20px 20px 0 0}
 #properties .property-carousel-side {display:none!important}
 .property-detail-shell {align-items:flex-end!important;padding:0!important}
 .property-detail-shell .property-detail-modal {max-height:94dvh!important;width:100%!important;border-radius:18px 18px 0 0!important;overscroll-behavior:contain}
 .property-detail-shell .property-detail-close {width:44px;height:44px}
 .property-detail-shell .property-detail-keygrid {gap:8px}
 .property-detail-shell .property-detail-key {min-width:0}
 footer.footer {padding-bottom:35px}
}
@media (max-width:360px){.mobile-app-dock a{font-size:9px}.mobile-app-dock a svg{width:19px;height:19px}}
@media (prefers-reduced-motion: reduce){.mobile-app-dock a{transition:none}}


/* v327: a properly sized, three-stroke hamburger that fills its touch target.
   Only affects the existing mobile menu; desktop navigation stays unchanged. */
@media (max-width: 980px) {
  header.nav-wrap #mobileMenuBtn.menu {
    box-sizing: border-box;
    display: inline-flex;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border-radius: 11px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    flex-shrink: 0;
  }
  header.nav-wrap #mobileMenuBtn.menu::before,
  header.nav-wrap #mobileMenuBtn.menu::after {
    content: none !important;
    display: none !important;
  }
  header.nav-wrap #mobileMenuBtn .mobile-menu-lines {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 26px;
    height: 22px;
    padding: 1px 0;
    color: #fff;
  }
  header.nav-wrap #mobileMenuBtn .mobile-menu-lines > span {
    display: block;
    flex: 0 0 2.5px;
    width: 100%;
    border-radius: 4px;
    background-color: currentColor;
    transition: transform 180ms ease, opacity 180ms ease;
    transform-origin: center;
  }
  header.nav-wrap #mobileMenuBtn[aria-expanded="true"] .mobile-menu-lines > span:first-child {
    transform: translateY(8.75px) rotate(45deg);
  }
  header.nav-wrap #mobileMenuBtn[aria-expanded="true"] .mobile-menu-lines > span:nth-child(2) {
    opacity: 0;
  }
  header.nav-wrap #mobileMenuBtn[aria-expanded="true"] .mobile-menu-lines > span:last-child {
    transform: translateY(-8.75px) rotate(-45deg);
  }
}
@media (max-width: 680px) {
  /* The removed eyebrow frees space; keep the main title comfortably below the menu. */
  #top > section.hero { padding-top: 92px !important; }
}
@media (prefers-reduced-motion: reduce) {
  header.nav-wrap #mobileMenuBtn .mobile-menu-lines > span { transition: none; }
}
