/* Mobile navigation is closed until the menu button is used. */
@media (max-width: 1100px) {
  .mobile-nav { display: none; }
  .mobile-nav.open { display: flex; }
}

/* Brand contrast, multilingual navigation and a restrained cartographic motif. */
.language-switch{display:flex;align-items:center;gap:6px;margin-right:18px;font-size:12px;letter-spacing:.08em}
.language-switch a{color:#858884;padding:8px 5px;border-bottom:1px solid transparent}
.language-switch a:hover,.language-switch a.active{color:#d3aa55;border-color:#d3aa55}
.brand{overflow:hidden;height:108px;display:flex;align-items:center;justify-content:center}
.brand img{transform:scale(2.05);transform-origin:center}
.brand-stage{position:relative;isolation:isolate;overflow:hidden;background:#111315!important;border:1px solid #d3aa5566;box-shadow:inset 0 0 0 12px #111315,inset 0 0 0 13px #d3aa5533}
.brand-stage:before,.brand-atlas:before{content:"";position:absolute;inset:-35%;z-index:-1;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 48px,#d3aa5515 49px 50px);transform:rotate(-14deg)}
.brand-stage:after{content:"";position:absolute;inset:34px;border:1px solid #d3aa5538;pointer-events:none}
.brand-stage img{position:relative;z-index:2;width:min(80%,560px)!important;filter:drop-shadow(0 12px 25px #0008)}
.brand-stage .brand-coordinates{position:absolute;left:50px;top:48px;color:#d3aa55;font-size:11px;letter-spacing:.18em}
.brand-stage small{position:absolute;right:50px;bottom:45px;color:#777c79;font-size:11px;letter-spacing:.22em}
.brand-atlas{position:relative;isolation:isolate;overflow:hidden}
.brand-atlas span{position:absolute;right:38px;bottom:30px;color:#d3aa5580;letter-spacing:.18em;font-size:11px}
.micro-mark{color:#d3aa55;font-size:24px}
.process li b{color:#d3aa55;font-weight:400}
.listing-photo{padding:0!important;overflow:hidden}
.listing-photo img{width:100%;height:100%;object-fit:cover}
.demo-listing-card{outline:1px solid #d3aa5570;outline-offset:-1px}
.demo-listing-card .listing-brand span{background:#111315;color:#d3aa55;border:1px solid #d3aa55}
.demo-property-page{padding:40px clamp(24px,7vw,110px) 110px;background:var(--paper)}
.demo-back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:25px}
.demo-notice{display:inline-block;background:var(--ink);color:var(--gold);padding:8px 13px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.demo-gallery{display:grid;grid-template-columns:1.45fr 1fr;gap:10px;margin:26px 0 62px}
.demo-gallery-item{border:0;padding:0;background:#ddd;overflow:hidden;cursor:zoom-in;min-height:260px}
.demo-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.demo-gallery-item:hover img{transform:scale(1.025)}
.demo-gallery-main{grid-row:span 2;min-height:535px}
.demo-property-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:8vw;align-items:start}
.demo-property-layout h1{font:clamp(48px,6vw,88px)/.96 Georgia,serif;letter-spacing:-.055em;margin:20px 0}
.demo-address{color:var(--muted);font-size:18px}
.demo-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:36px 0}
.demo-facts div{padding:20px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.demo-facts div:last-child{border-right:0}
.demo-facts small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.demo-facts b{font:20px Georgia,serif;margin-top:5px}
.demo-property-layout section{padding:34px 0;border-bottom:1px solid var(--line)}
.demo-features{display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style:none;padding:0;margin:20px 0 0}
.demo-features li{display:flex;gap:12px;font-size:16px}
.demo-features li span{color:var(--gold);font-weight:700}
.demo-description{color:var(--muted);font-size:17px;line-height:1.8;max-width:800px}
.demo-enquiry{position:sticky;top:25px;background:var(--ink);color:#fff;padding:30px}
.demo-enquiry img{width:100%;height:255px;object-fit:cover;object-position:center 20%;margin-bottom:25px}
.demo-enquiry h2{font:36px/1.05 Georgia,serif;margin:18px 0}
.demo-enquiry>p:not(.eyebrow){color:#b8bab8}
.demo-phone{display:block;color:var(--gold);margin-top:20px;font-size:14px}
.demo-lightbox{position:fixed;inset:0;z-index:50;background:#000e;padding:4vw;display:flex;align-items:center;justify-content:center}
.demo-lightbox[hidden]{display:none}
.demo-lightbox img{max-width:95vw;max-height:90vh}
.demo-lightbox button{position:absolute;right:25px;top:15px;color:#fff;background:transparent;font-size:44px;border:0;cursor:pointer}
@media(max-width:1240px){.language-switch{margin-left:auto}.nav-cta{display:none}}
@media(max-width:1100px){.language-switch{margin-left:auto;margin-right:18px}.brand-stage .brand-coordinates{left:34px;top:35px}.brand-stage small{right:34px;bottom:34px}}
@media(max-width:650px){.language-switch{display:none}.brand{height:86px}.brand img{transform:scale(1.85)}.brand-stage:after{inset:20px}.brand-stage .brand-coordinates{left:30px;top:28px}.brand-stage small{right:30px;bottom:28px}}
@media(max-width:900px){.demo-property-layout{grid-template-columns:1fr}.demo-enquiry{position:static}.demo-gallery{grid-template-columns:1fr 1fr}.demo-gallery-main{grid-column:1/-1;grid-row:auto;min-height:390px}.demo-facts{grid-template-columns:1fr 1fr}.demo-facts div:nth-child(2){border-right:0}.demo-features{grid-template-columns:1fr}}
@media(max-width:560px){.demo-property-page{padding:28px 20px 70px}.demo-gallery{grid-template-columns:1fr}.demo-gallery-main{min-height:280px}.demo-gallery-item{min-height:230px}.demo-property-layout h1{font-size:46px}.demo-enquiry{padding:24px}}

/* Completed transactions, portfolio filtering and readable biography rhythm. */
.about-copy h2{margin-bottom:clamp(32px,4vw,54px)}
.completed-listing-card[hidden]{display:none}
.completed-listing-card .listing-brand span,.completed-status{background:#111315;color:#d3aa55;border:1px solid #d3aa55}
.portfolio-filters{display:grid;gap:12px;margin:0 0 38px}
.portfolio-filters>div{display:flex;flex-wrap:wrap;gap:8px}
.portfolio-filters button{border:1px solid #c9c3b7;background:transparent;color:#383936;padding:9px 14px;font:700 12px/1 Arial,sans-serif;letter-spacing:.04em;cursor:pointer}
.portfolio-filters button:hover,.portfolio-filters button.active{background:#111315;border-color:#111315;color:#fff}
.portfolio-empty{padding:30px;border:1px solid #d8d1c4;color:#6d6b66}
.demo-notice.completed-status{margin:0}
