/* Shared compact navigation. Keep one primary action; secondary destinations live in Menu. */
@media (max-width: 640px) {
  body header, body.home-editorial header, body header.solid { padding: 0; }
  body header .nav, body.home-editorial header .nav {
    width: 100%; max-width: none; height: 72px; margin: 0; padding: 10px 16px;
    gap: 10px; border-radius: 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.13);
    background: rgba(9,9,12,.95); box-shadow: none;
  }
  body header .brand { display:flex; flex:1 1 auto; min-width:0; gap:8px; }
  body header .brand .wordmark {
    display:block; max-width:85px; white-space:normal; font:600 13px/1.2 var(--sans);
    letter-spacing:-.025em; color:#f5f5f7;
  }
  body header .brand picture { display:block; flex:0 0 auto; }
  body header .brand .logo { display:block; width:24px; height:auto; }
  body header .nav-links, body header .nav-right .btn-events,
  body header .nav > .btn-call, body header .nav > .btn-events { display:none; }
  body header .nav-right { display:flex; flex:0 0 auto; margin:0; gap:0; }
  body header .header-search-shortcut {
    display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center;
    min-height:44px; margin:0; padding:10px 13px; border-radius:12px;
    white-space:nowrap; font:700 12px/1.2 var(--sans); letter-spacing:0;
    background:#ead19b; color:#211b12; border:1px solid #f2ddb3; box-shadow:none;
  }
  body header .navtoggle { display:block; width:44px; height:44px; border-radius:12px; flex:0 0 44px; }
  body .mmenu-panel {
    width:100%; max-width:440px; height:100%; height:100dvh; padding:20px 20px calc(24px + env(safe-area-inset-bottom));
    background:rgba(16,16,21,.97); border-left:1px solid rgba(255,255,255,.14);
  }
  body .mmenu-head { flex:0 0 auto; padding:0 0 18px; }
  body .mmenu-head .mtitle { font:600 15px/1.3 var(--sans); letter-spacing:0; text-transform:none; color:#f5f5f7; }
  body .mmenu-head .mclose { width:44px; height:44px; flex:0 0 44px; }
  body .mmenu-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
  body .mmenu-links a { min-width:0; min-height:52px; padding:12px; gap:8px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.035); }
  body .mmenu-links a .ix { display:none; }
  body .mmenu-links a .lb { font:500 14px/1.3 var(--sans); overflow-wrap:anywhere; }
  body .mmenu-links a .ar { font-size:13px; }
  body .mmenu-links .mobile-search-listings { grid-column:1/-1; min-height:54px; color:#211b12; background:#ead19b; border-color:#ead19b; }
  body .mmenu-links .mobile-search-listings .ar { color:inherit; }
  body .mmenu-foot { margin-top:24px; }
  body .callbar { padding:10px 16px calc(10px + env(safe-area-inset-bottom)); gap:10px; background:rgba(9,9,12,.96); }
  body .callbar .btn { min-height:48px; min-width:0; border-radius:12px; padding:10px 12px; gap:8px; font-size:12px; }
  body .callbar .ic { width:26px; height:26px; }
  body.home-editorial #about { scroll-margin-top:92px; }
  body.home-editorial .meet .row { gap:32px; }
  body.home-editorial .meet h2 { font-size:clamp(27px,7.5vw,36px); line-height:1.16; }
  body.home-editorial .meet p { font-size:15px; line-height:1.8; }
}
@media (max-width:380px) {
  body header .brand picture { display:none; }
  body header .nav, body.home-editorial header .nav { padding-inline:12px; gap:8px; }
  body header .brand .wordmark { font-size:12px; max-width:74px; }
  body header .header-search-shortcut { padding-inline:11px; }
}
/* Explicit image geometry works before decoding and never depends on :has support. */
body.home-editorial .meet .agent-portrait { width:100%; max-width:560px; margin:0; aspect-ratio:auto; }
body.home-editorial .meet .agent-portrait .cut { overflow:hidden; border-radius:16px; }
body.home-editorial .meet .agent-portrait picture { display:block; width:100%; }
body.home-editorial .meet .agent-portrait .img,
body main.prose > figure img[src*="john-restrepo-stamford-ct-real-estate-agent-headshot"] {
  display:block; position:static; width:100%; height:auto; aspect-ratio:3 / 2;
  object-fit:contain; object-position:center; transform:none; filter:none;
}
body.home-editorial .agent-photo-caption { padding:18px 0 0; }
@media (max-width:640px) {
  body.home-editorial .hero--avon > .wrap { padding-top:164px; padding-bottom:24px; }
  body.home-editorial .hero--avon .hero-location { font-size:clamp(48px,14vw,72px); line-height:1; }
  body.home-editorial .hero--avon .hero-promise { margin-top:12px; font-size:clamp(28px,7.6vw,38px); line-height:1.15; }
  body.home-editorial .hero--avon .sub { font-size:14px; line-height:1.7; }
  body.home-editorial .hero--avon .funfacts { margin-top:18px; }
}
@media (max-width:380px) {
  body .mmenu-panel { padding-inline:16px; }
  body .mmenu-links a { padding:10px; min-height:48px; }
  body .mmenu-links a .lb { font-size:12px; overflow-wrap:normal; }
  body .mmenu-links a:not(.mobile-search-listings) .ar { display:none; }
}
/* Selected editorial wordmark; original symbol remains its own untouched image. */
body header .brand { flex:0 0 auto; gap:10px; }
body header .brand .wordmark { display:block; max-width:none; width:120px; line-height:0; }
body header .brand .brand-wordmark { display:block; width:100%; height:auto; }
body header .header-search-shortcut { gap:7px; }
body header .header-search-shortcut svg { flex:0 0 16px; }
@media(max-width:640px) {
  body header .nav, body.home-editorial header .nav { gap:8px; padding-inline:12px; }
  body header .brand { flex:1 1 auto; gap:8px; }
  body header .brand picture { display:block; flex:0 0 auto; }
  body header .brand .logo { width:28px; height:auto; flex:0 0 28px; }
  body header .brand .wordmark { width:112px; flex:0 0 112px; max-width:none; }
  body header .header-search-shortcut { min-width:80px; min-height:44px; padding:10px; font-size:12px; border-radius:10px; }
  body header .navtoggle { border-radius:10px; }
}
@media(max-width:359px) {
  body header .brand .logo { width:25px; flex-basis:25px; }
  body header .brand .wordmark { width:104px; flex-basis:104px; }
  body header .brand { gap:7px; }
  body header .header-search-shortcut { min-width:76px; padding-inline:8px; gap:5px; }
}
