/* Accom by Emlen: branding, quiet utility controls and visible Google Map.
 * Kept separate from legacy stylesheet overrides for safe, reviewable changes. */
.site-header .brand, .site-footer .brand {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-heading); text-decoration:none; line-height:1;
}
.brand-mark { flex:0 0 34px; width:34px; height:34px; }
.brand-lockup { display:flex; align-items:flex-start; flex-direction:column; gap:3px; min-width:0; }
.brand-name { font-family:var(--font-heading); font-size:25px; line-height:.94; font-weight:800; letter-spacing:-.055em; color:#111d33; }
.brand-byline { display:block; margin:0; font-family:var(--font-body); font-size:10px; line-height:1.15; font-weight:700; letter-spacing:.14em; color:#111d33; text-transform:uppercase; }
.hero-topline .gallery-actions-right { gap:7px; }
.hero-topline .gallery-action, .hero-topline .gallery-action.compare-button {
  min-height:42px; min-width:0; padding:0 13px; gap:7px;
  font-family:var(--font-body); font-size:12px; font-weight:700;
}
.hero-topline .gallery-action svg { width:16px; height:16px; }
.hero-topline .gallery-action.compare-button[data-ready="true"] {
  border-color:rgba(237,32,36,.4); background:#fff0ed;
}
@media (min-width:1025px) {
  .page-layout > .desktop-cta { top:12px; }
  .desktop-cta .cta-card {
    display:flex; flex-direction:column;
    height:min(650px, calc(100dvh - 145px));
    max-height:calc(100dvh - 145px);
    min-height:0; overflow:clip;
  }
  .desktop-cta .cta-panel-top { flex:0 0 auto; min-height:0; padding:12px 16px 10px; }
  .desktop-cta .cta-kicker { margin-bottom:4px; font-size:9px; }
  .desktop-cta .cta-property-title h2 { font-size:26px; }
  .desktop-cta .cta-address { margin-top:4px; font-size:10px; line-height:1.35; }
  .desktop-cta .cta-first-visit { padding-top:5px; }
  .desktop-cta .cta-overview-metrics { padding-top:8px; }
  .desktop-cta .cta-preselect-hint { margin:5px 0 0; font-size:10px; line-height:1.3; }
  .desktop-cta .cta-buttons { gap:6px; margin-top:8px; }
  .desktop-cta .cta-buttons .cta-view-rooms,
  .desktop-cta .cta-buttons .cta-secondary-action {
    min-height:38px; padding:8px 12px; font-size:11px;
  }
  .desktop-cta .cta-selection { padding-top:6px; }
  .desktop-cta .cta-selection h3 { font-size:18px; line-height:1.15; }
  .desktop-cta .cta-selection .cta-price { margin-top:5px; }
  .desktop-cta .cta-selection .cta-tenancy,
  .desktop-cta .cta-selection .cta-total { margin-top:4px; }
  .desktop-cta .cta-panel-bottom {
    flex:1 1 auto; display:flex; flex-direction:column;
    min-height:0; margin:0 10px 10px; padding:9px 10px; overflow:hidden;
  }
  .desktop-cta .cta-quickfacts { flex:0 0 auto; gap:2px; padding:0; margin:0; }
  .desktop-cta .cta-quickfacts h3 { font-size:13px; margin:0 0 2px; }
  .desktop-cta .cta-benefit { min-height:30px; padding:0; gap:7px; }
  .desktop-cta .cta-benefit-icon { flex:0 0 26px; width:26px; height:26px; }
  .desktop-cta .cta-benefit-icon svg { width:16px; height:16px; }
  .desktop-cta .cta-benefit-copy strong { font-size:10.5px; line-height:1.2; }
  .desktop-cta .cta-benefit-copy > span { font-size:9px; line-height:1.2; }
  .desktop-cta .cta-footnote {
    flex:0 0 auto; order:1; margin:6px 0 5px; padding:0;
    color:#566478; text-align:left; font-size:9px; line-height:1.25;
  }
  .desktop-cta .cta-google-map-card {
    order:2; display:grid; flex:1 1 auto;
    grid-template-rows:minmax(143px,1fr) auto;
    min-height:176px; max-height:none; margin:0; overflow:hidden;
  }
  .desktop-cta .cta-google-map { min-height:143px; height:100%; }
  .desktop-cta .cta-google-map-caption { min-height:33px; padding:5px 7px; }
  .desktop-cta .cta-google-map-caption > a { min-height:27px; padding:5px 7px; font-size:9px; }
  /* A room is selected: prioritize price, tenancy and map over generic perks. */
  .cta-card:has(#cta-selected-details:not([hidden])) .cta-quickfacts { display:none; }
}
@media (min-width:1025px) and (max-height:850px) {
  .desktop-cta .cta-panel-top { padding:9px 14px 7px; }
  .desktop-cta .cta-property-title h2 { font-size:24px; }
  .desktop-cta .cta-address { font-size:9.5px; }
  .desktop-cta .cta-buttons .cta-view-rooms,
  .desktop-cta .cta-buttons .cta-secondary-action { min-height:36px; }
  .desktop-cta .cta-panel-bottom { padding:6px 9px; margin:0 8px 8px; }
  .desktop-cta .cta-benefit { min-height:28px; }
  .desktop-cta .cta-footnote { margin:4px 0; }
}
@media (max-width:1024px) {
  .brand-name { font-size:24px; }
  .brand-byline { font-size:9.5px; }
}
@media (max-width:768px) {
  .brand-name { font-size:22px; }
  .brand-byline { font-size:9px; }
  .hero-topline .gallery-action,
  .hero-topline .gallery-action.compare-button { min-height:44px; padding:0 12px; font-size:11px; }
}
