.nav-property-menu { position: relative; }
.nav-property-menu > summary { cursor: pointer; color: var(--navy); font-size: .92rem; font-weight: 700; white-space: nowrap; }
.nav-property-menu > ul { position: absolute; top: calc(100% + 12px); left: 0; min-width: 240px; display: grid; margin: 0; list-style: none; padding: 10px; border: 1px solid #dce7ed; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px #14394d24; z-index: 30; }
.nav-property-menu > ul a { display: block; padding: 12px; border-radius: 8px; }
.nav-property-menu > ul a:hover { background: #eef6fa; }
.nav-property-menu > summary:focus-visible, .search-autocomplete input:focus-visible { outline: 3px solid #2f7194; outline-offset: 4px; }
.search-autocomplete { grid-column: 1 / -1; position: relative; }
.search-autocomplete > p { margin: 4px 0 8px; color: #3c5969; font-size: .9rem; line-height: 1.45; }
.search-autocomplete input { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid #a9c2cf; border-radius: 10px; background: #fff; color: var(--navy); font: inherit; }
.search-autocomplete input[aria-invalid="true"] { border-color: #a02b20; }
.search-suggestions:not([hidden]) { display: grid; position: absolute; inset: auto 0 auto; background: #fff; border: 1px solid #a9c2cf; border-radius: 10px; box-shadow: 0 10px 26px #14394d24; max-height: 300px; overflow-y: auto; z-index: 25; }
.search-suggestions [role="option"] { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 16px; cursor: pointer; }
.search-suggestions [role="option"] + [role="option"] { border-top: 1px solid #e5edf1; }
.search-suggestions [role="option"][aria-selected="true"], .search-suggestions [role="option"]:hover { background: #e7f2f8; }
.search-suggestions [role="option"] span { font-size: .85rem; color: #3c5969; }
#search-suggestion-status:empty { display: none; }
.services-hub { padding-block: 0 48px; }
.services-hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.services-hub-grid .service { display: flex; flex-direction: column; gap: 10px; }
.services-hub-grid .service p { margin: 0; }
.service-hub-actions { display: grid; justify-items: start; gap: 14px; margin-top: auto; padding-top: 16px; }
.service-hub-actions ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.magazine-resources { margin-block: 36px; padding: 26px; background: #f1f7fa; border-radius: 16px; }
.magazine-resources > p { max-width: 72ch; margin: 8px 0; }
.magazine-resources ul { display: grid; gap: 14px; margin: 18px 0 0; padding-left: 20px; }
.magazine-source-language { font-size: .875rem; color: #3c5969; }
.office-map-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.office-map { height: 320px; margin-top: 16px; }
#office-map-status:empty { display: none; }
@media (min-width: 801px) {
  .home-opening .hero { min-height: 420px; }
  .home-opening .hero-photo { width: 100%; max-width: none; mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 22%, #000 58%), linear-gradient(180deg,#000 88%,transparent); }
  .home-opening .hero-photo img { width: 100%; object-fit: cover; object-position: center; }
}
@media (max-width: 1000px) {
  .services-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .nav-property-menu > summary { padding: 11px 10px; }
  .nav-property-menu > ul { position: static; min-width: 0; box-shadow: none; margin-top: 5px; }
}
@media (max-width: 600px) {
  .services-hub-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .magazine-resources { padding: 20px; }
  .search-suggestions [role="option"] { padding: 12px; }
}
