.two-city-promotion{padding-top:24px;padding-bottom:52px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.two-city-promotion h2{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:10px 0 14px;color:#172d4a}.two-city-promotion p{line-height:1.6}.promotion-city-links{display:grid;grid-template-columns:1fr 1fr;gap:14px}.promotion-city-links a{padding:25px 22px;background:#172d4a;color:white;border-radius:16px;text-decoration:none;display:grid;gap:14px;transition:transform .2s}.promotion-city-links a:hover{transform:translateY(-3px)}.promotion-city-links a:focus-visible{outline:3px solid #bd6a39;outline-offset:4px}.promotion-city-links strong{font-size:28px}.promotion-city-links span{font-size:13px;line-height:1.6}.promotion-reference{font-size:12px;color:#5d6873;margin:0 0 12px;line-height:1.6}.promotion-reference s{white-space:nowrap}.promotion-detail{padding:22px;border:1px solid #d8c6a9;background:#fff9ef;border-radius:14px;margin:24px 0}.promotion-detail h2{font-size:26px;color:#172d4a}.promotion-detail p{line-height:1.65}.property-tag{max-width:calc(100% - 70px)}@media(max-width:720px){.two-city-promotion{grid-template-columns:1fr;gap:18px;padding-bottom:32px}.promotion-city-links a{padding:22px 16px}.promotion-city-links strong{font-size:25px}}
.homes-section #load-more[hidden]{display:none!important}

/* Main-city menus: each suburb stays under its metro. */
.city-filter-wrap.metro-dropdowns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:1;min-width:0;overflow:visible}
.metro-filter{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid #dce3e9;border-radius:12px;background:#fff;min-width:0;color:#17334b}
.metro-filter>span{font-size:13px;font-weight:700;letter-spacing:.02em}
.metro-filter select{width:100%;min-width:0;min-height:44px;padding:8px 24px 8px 0;border:0;background:transparent;color:#17334b;font:inherit;font-size:14px;cursor:pointer;text-overflow:ellipsis}
.metro-filter.active{border-color:#235b77;background:#f2f7fa;box-shadow:0 0 0 1px #235b77}
.metro-filter:focus-within{outline:2px solid #235b77;outline-offset:3px}
.filter-bar:has(.metro-dropdowns){align-items:center;gap:16px}
@media(max-width:900px){.city-filter-wrap.metro-dropdowns{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar:has(.metro-dropdowns){align-items:stretch}.filter-bar:has(.metro-dropdowns)>.filter-toggle{align-self:flex-end}}
@media(max-width:600px){.filter-bar:has(.metro-dropdowns){display:flex;flex-direction:column}.city-filter-wrap.metro-dropdowns{width:100%;gap:8px}.metro-filter{padding:10px}.metro-filter>span{font-size:12px}.metro-filter select{font-size:13px}.filter-bar:has(.metro-dropdowns)>.filter-toggle{align-self:flex-start}}

.metro-heading{display:block;text-align:left;font:inherit;font-size:14px;font-weight:800;letter-spacing:.01em;color:#17334b;background:transparent;border:0;padding:4px 0;cursor:pointer;min-height:36px}
.metro-heading:hover{text-decoration:underline;text-underline-offset:4px}.metro-heading:focus-visible{outline:2px solid #287595;outline-offset:4px;border-radius:3px}
#application-dialog{border:0;border-radius:24px;box-shadow:0 30px 100px #0d294c66;background:linear-gradient(145deg,#edf6fc 0,#fff 28%);max-width:760px;width:calc(100% - 28px);padding:36px}
#application-dialog::backdrop{background:#102c48b8;backdrop-filter:blur(5px)}
#application-dialog #application-heading{font-size:clamp(32px,6vw,44px);line-height:1.1;margin:8px 0 16px;color:#12334c}
#application-dialog .application-intro{line-height:1.65;color:#516575}
#application-dialog .application-contact-form{background:white;padding:24px;border:1px solid #dbe6ef;border-radius:18px;box-shadow:0 10px 28px #12334c0c;margin-top:24px}
#application-dialog .application-selection,#application-dialog .application-fields{gap:18px}
#application-dialog .application-contact-form label:not(.application-consent){font-weight:750;font-size:14px;color:#163b55;display:flex;flex-direction:column;gap:9px}
#application-dialog input:not([type=checkbox]),#application-dialog select{min-height:50px;border:1px solid #bacddc;border-radius:10px;padding:12px;background:#f9fcff;font:inherit;color:#18354d;width:100%}
#application-dialog input:focus,#application-dialog select:focus{outline:3px solid #2b81af33;border-color:#267ca7;background:#fff}
#application-dialog .application-request{width:100%;min-height:54px;border-radius:12px;font-size:16px;box-shadow:0 6px 18px #17618c30}
#application-dialog .application-refund{margin:14px 0 0;padding:14px 16px;background:#e8f6ec;border:1px solid #b6dfc4;border-radius:12px;color:#23643d;font-size:13px;line-height:1.6}
#application-dialog .application-refund strong{display:block;font-size:14px}
@media(max-width:600px){#application-dialog{padding:26px 16px;border-radius:18px}#application-dialog .application-contact-form{padding:16px}#application-dialog .application-selection,#application-dialog .application-fields{grid-template-columns:1fr}}
