/* 0.21: responsive composition correction. Loaded after the legacy stylesheet. */
.hero{background:#101722}.hero-copy{width:64%;max-width:760px}.hero-portrait{background:#081226}
@media(min-width:761px){
 .hero{min-height:360px}.hero-inner{padding:42px 0 68px}.hero h1{font-size:clamp(40px,4.1vw,61px)}
 .hero-portrait{width:35%;left:auto;right:0}.hero-portrait img{position:absolute;width:100%;height:145%;max-width:100%;left:0;top:-2%;object-fit:cover;object-position:center top;mask-image:linear-gradient(90deg,transparent,#000 18%)}
 .hero-portrait:after{background:linear-gradient(90deg,#10172270,transparent 30%)}
 .hero-landscape{right:25%;background-position:center 55%}.c21-mark{font-size:200px;top:30px;right:8px}
 .services .service{min-height:88px;flex-direction:row;text-align:left;padding:15px 18px;gap:12px}.services .service svg{width:32px;height:32px}.services .service span{font-size:13px}.services .service b{position:static;margin-left:auto}
 .about-photo img{object-position:center 30%}
}
.site-footer{padding-bottom:22px;gap:20px}.empty-listings{padding:26px 24px}.empty-listings h3{margin-bottom:12px}.empty-listings p{margin-bottom:12px}
@media(min-width:761px) and (max-width:1100px){.hero-copy{width:65%}.hero h1{font-size:42px}.header-inner{gap:15px}.site-header nav{gap:12px}.site-header .brand{font-size:23px}.site-header .button.small{padding:10px}.services{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 .header-inner{min-height:72px}.site-header .brand{font-size:28px}.site-header .brand small{font-size:12px;margin-top:4px}
 .site-header nav{top:100%;padding:10px 17px 16px;gap:0;box-shadow:0 12px 20px #10172218;max-height:calc(100dvh - 72px);overflow-y:auto}
 .site-header nav>a{font-size:15px;min-height:46px;display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.site-header nav>.button{margin-top:10px;border-bottom:0}
 .hero{min-height:0}.hero-landscape{display:none}.hero-portrait{inset:0;width:100%;height:100%;background:#081226}
 .hero-portrait img{position:absolute;width:100%;height:auto;max-width:100%;left:0;top:0;object-fit:contain;object-position:top;mask-image:none}
 .hero-portrait:after{background:linear-gradient(0deg,#101722 0%,#101722e6 22%,#10172270 42%,transparent 65%)}
 .c21-mark{font-size:190px;top:16px;right:0;color:#d5bb7017}
 .hero-inner{padding:clamp(245px,66vw,380px) 0 55px}.hero-copy{width:100%;max-width:none}
 .hero h1{font-size:clamp(31px,8.2vw,48px);letter-spacing:-.8px;line-height:1.08;margin-bottom:12px}
 .hero p:not(.eyebrow){max-width:280px;font-size:16px;line-height:1.45;margin-bottom:0}.hero .gold-line{margin:14px 0}.hero .button{display:none}
 .search-overlap{margin-top:-24px}.property-search{padding:15px;gap:4px}.home .property-search{gap:4px}.property-search>.search-intent{padding-bottom:8px}.search-intent span{padding:8px 12px}
 .property-search>label.search-field-icon{padding-top:6px;padding-bottom:6px}.property-search input,.property-search select{min-height:36px;padding:4px 0;font-size:16px}.property-search>.button{min-height:46px;padding:10px}.home .property-search>.button{margin-top:6px}
 .services{margin-top:20px;margin-bottom:28px}.service{min-height:92px}.service:last-child{min-height:75px}.service span{font-size:16px}
 .about-preview{grid-template-columns:42% minmax(0,1fr);gap:18px;align-items:center;padding-bottom:24px}.about-photo{height:155px}.about-photo img{transform:none;object-fit:cover;object-position:center 24%}.about-copy h2{font-size:25px;line-height:1.12;margin-bottom:10px}.about-copy .eyebrow{font-size:9px;letter-spacing:.7px;margin-bottom:8px}.about-copy p:not(.eyebrow){display:none}.about-copy .outline-button{padding:8px 10px;min-height:44px}
 .field-pair{grid-template-columns:1fr;gap:0}.service-form .field-pair{grid-template-columns:1fr;gap:0}.advanced-grid{gap:12px}.service-request{padding:22px 18px}
 .section-heading{gap:10px}.home .section-heading h2{font-size:27px}.section-heading a{white-space:normal;text-align:right;min-width:64px}.contact-strip{padding:24px 0}.contact-strip h2{font-size:28px}.site-footer{padding:24px 0 18px;gap:15px}.site-footer>p{display:none}
}
@media(max-width:360px){.hero h1{font-size:29px}.site-header .brand{font-size:25px}.about-preview{gap:12px}.about-copy h2{font-size:22px}.advanced-grid{grid-template-columns:1fr}}
@media(min-width:761px){
 .hero-landscape{right:0;background-position:center 57%}
 .hero-portrait{mask-image:linear-gradient(90deg,transparent,#000 20%)}
 .hero-portrait img{width:auto;max-width:none;height:135%;left:50%;transform:translateX(-50%);object-fit:contain;mask-image:none}
 .c21-mark{opacity:.35}
}
@media(max-width:760px){.c21-mark{opacity:.3}.about-photo img{transform:scale(1.45);transform-origin:50% 20%}}
@media(max-width:760px){.form-section,.listings-section{padding-bottom:36px}.catalogue-hero:before{left:-17px;right:-17px}}
/* 0.22: keep an empty catalogue compact without inventing property listings. */
@media(min-width:761px){.home .empty-listings{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;text-align:left;align-items:center;padding:24px}.home .empty-listings h3{font-size:26px;margin:0}.home .empty-listings p{grid-column:1;margin:0}.home .empty-listings .text-link{grid-column:2;grid-row:1 / 3;max-width:240px}}
@media(max-width:760px){.home .empty-listings{padding:22px 18px}.home .empty-listings h3{font-size:25px}.home .empty-listings p{font-size:14px;margin-bottom:12px}}
/* Keep navigation, notifications and menu within narrow tablet headers. */
@media(min-width:761px) and (max-width:1000px){.site-header .brand{margin-right:auto}.site-header .menu-toggle{display:block;background:none;border:0;color:var(--ink);font-size:27px;padding:8px;order:3}.site-header .aec-bell{order:2}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;background:#fffdf8;padding:18px 30px;max-height:calc(100dvh - 80px);overflow:auto;box-shadow:0 12px 20px #10172218}.site-header nav.open{display:flex}.site-header nav>a{padding:10px;min-height:44px}}
