/* Arif Manji · PSR Brokerage — site styles
   Palette: lake-slate ink, limestone, brass. Type: Fraunces (display) + Figtree (text). */

:root{
  --ink:#1B262C; --slate:#2B3940; --slate-2:#364750;
  --bone:#F4F0E8; --stone:#E7E1D5; --stone-2:#D9D2C3;
  --brass:#A98A4E; --brass-2:#D4BC87; --mist:#9AA7A4;
  --t-dark:#1B262C; --t-dark-2:#4E5B60; --t-light:#F0EAE0; --t-light-2:#B9C1BF;
  --line-dark:rgba(27,38,44,.16); --line-light:rgba(240,234,224,.18);
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:"Figtree","Helvetica Neue",Arial,sans-serif;
  --gut:clamp(20px,5vw,88px); --max:1560px;
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bone);color:var(--t-dark);font:400 1.0625rem/1.6 var(--sans);font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:-.015em;font-variation-settings:"opsz" 144,"SOFT" 30}
p{margin:0}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:8px}
.wrap{width:min(100% - 2*var(--gut),var(--max));margin-inline:auto}
.dark{background:var(--ink);color:var(--t-light)}
.stone{background:var(--stone)}
.sec{padding-block:clamp(72px,10vw,150px)}
.sec-tight{padding-block:clamp(48px,6vw,96px)}

/* type scale (Bringhurst-ish: 1.25 ratio off 17px) */
.d1{font-size:clamp(3.4rem,11.5vw,14rem);line-height:.9;letter-spacing:-.03em}
.h1{font-size:clamp(2.7rem,6vw,5.6rem)}
.h2{font-size:clamp(2.2rem,4.4vw,4rem)}
.h3{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.12}
.h4{font-size:1.25rem;line-height:1.25;font-variation-settings:"opsz" 36,"SOFT" 30}
.kicker{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.15rem;color:var(--brass);font-variation-settings:"opsz" 24,"SOFT" 50}
.dark .kicker{color:var(--brass-2)}
.lede{font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.5;max-width:34em;color:var(--t-dark-2)}
.dark .lede{color:var(--t-light-2)}
.small{font-size:.9rem;color:var(--t-dark-2)}
.dark .small{color:var(--t-light-2)}
.price{font-family:var(--serif);font-weight:400;font-variation-settings:"opsz" 72,"SOFT" 0;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(36px,4vw,64px)}
.sec-head .kicker{display:block;margin-bottom:.9rem}
.sec-head .lede{margin-top:1.1rem}
.sec-head .more{flex:none;padding-bottom:.4rem}
@media (max-width:760px){.sec-head{flex-direction:column;align-items:flex-start;gap:1.2rem}}

/* links + buttons */
.lnk{position:relative;font-weight:500;padding-bottom:3px;border-bottom:1px solid currentColor;transition:color .3s}
.lnk:hover{color:var(--brass)}
.dark .lnk:hover{color:var(--brass-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.1rem;padding:.75rem 1.5rem;border-radius:2px;font-weight:500;font-size:.98rem;letter-spacing:.005em;border:1px solid var(--ink);background:var(--ink);color:var(--bone);transition:background .35s var(--ease),color .35s,border-color .35s,transform .35s var(--ease)}
.btn:hover{background:var(--slate-2);border-color:var(--slate-2)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-ghost:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.dark .btn{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.dark .btn:hover{background:#fff;border-color:#fff}
.dark .btn-ghost{background:transparent;color:var(--t-light);border-color:rgba(240,234,224,.5)}
.dark .btn-ghost:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;color:var(--t-light);transition:background .4s,color .4s,box-shadow .4s;padding-block:1.1rem}
.hdr .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem}
.hdr.solid,.hdr.on-light{background:rgba(244,240,232,.92);color:var(--t-dark);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);box-shadow:0 1px 0 var(--line-dark);padding-block:.8rem}
.hdr.solid.dark-page,.hdr.on-dark{background:rgba(27,38,44,.9);color:var(--t-light);box-shadow:0 1px 0 var(--line-light)}
.brand{display:flex;align-items:center;gap:.9rem}
.brand .logo{height:20px;width:auto}
.brand .logo-dark{display:none}
.hdr.solid .brand .logo-light,.hdr.on-light .brand .logo-light{display:none}
.hdr.solid .brand .logo-dark,.hdr.on-light .brand .logo-dark{display:block}
.hdr.solid.dark-page .brand .logo-light,.hdr.on-dark .brand .logo-light{display:block}
.hdr.solid.dark-page .brand .logo-dark,.hdr.on-dark .brand .logo-dark{display:none}
.brand .sep{width:1px;height:20px;background:currentColor;opacity:.35}
.brand .name{font-family:var(--serif);font-size:1.25rem;font-weight:400;letter-spacing:.01em;font-variation-settings:"opsz" 36,"SOFT" 30;white-space:nowrap}
.nav{display:flex;justify-content:center;gap:clamp(1rem,2.2vw,2.2rem);font-size:.95rem;font-weight:500}
.nav a{position:relative;padding:.35rem 0;opacity:.85;transition:opacity .3s}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .35s var(--ease)}
.nav a:hover,.nav a[aria-current]{opacity:1}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.hdr-cta{display:flex;align-items:center;gap:1.4rem;font-size:.95rem;font-weight:500}
.hdr-cta .btn{min-height:2.6rem;padding:.4rem 1.1rem;font-size:.92rem;background:transparent;color:inherit;border-color:currentColor}
.hdr-cta .btn:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.burger{display:none;width:44px;height:44px;place-items:center;margin-right:-10px}
.burger span{display:block;width:22px;height:1.5px;background:currentColor;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:currentColor;transition:transform .3s}
.burger span::before{top:-7px}.burger span::after{top:7px}
@media (max-width:1100px){.nav{display:none}.hdr .wrap{grid-template-columns:auto 1fr auto}.hdr-cta .tel{display:none}}
@media (max-width:760px){.hdr-cta .btn{display:none}.burger{display:grid}.brand .name{font-size:1.15rem}}
.drawer{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--t-light);display:none;flex-direction:column;padding:calc(var(--gut) + 1rem) var(--gut) var(--gut)}
.drawer.open{display:flex}
.drawer .close{position:absolute;top:1.1rem;right:calc(var(--gut) - 10px);width:44px;height:44px;font-size:1.6rem;line-height:1}
.drawer nav{display:flex;flex-direction:column;gap:.4rem;margin-top:2rem}
.drawer nav a{font-family:var(--serif);font-size:clamp(2rem,8vw,3rem);font-weight:300;padding:.3rem 0;border-bottom:1px solid var(--line-light)}
.drawer .foot{margin-top:auto;display:flex;flex-direction:column;gap:.6rem;font-size:1.05rem}
body.locked{overflow:hidden}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:var(--t-light);overflow:hidden;isolation:isolate}
.hero .media{position:absolute;inset:0;z-index:-1}
.hero .media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transform-origin:center}
.hero .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,38,44,.35) 0%,rgba(27,38,44,0) 30%,rgba(27,38,44,.25) 55%,rgba(27,38,44,.88) 100%)}
.hero .wrap{padding-block:clamp(90px,10vw,130px) clamp(32px,4vw,56px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem 4rem}
.hero .kicker{display:block;margin-bottom:1.2rem;font-size:clamp(1.1rem,1.6vw,1.5rem)}
.hero h1{margin-left:-.05em}
.hero .aside{max-width:22rem;padding-bottom:.6rem;border-left:1px solid rgba(240,234,224,.35);padding-left:1.6rem}
.hero .aside p{color:var(--t-light-2);margin-bottom:1.4rem;font-size:1.05rem}
.hero .aside .role{color:var(--t-light);font-weight:500;margin-bottom:.4rem}
.hero .cap{position:absolute;right:var(--gut);top:calc(var(--gut) + 64px);writing-mode:vertical-rl;font-size:.8rem;letter-spacing:.06em;color:var(--t-light-2);opacity:.8}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero .aside{border-left:0;padding-left:0;border-top:1px solid rgba(240,234,224,.3);padding-top:1.4rem;max-width:none}.hero .cap{display:none}}
@media (prefers-reduced-motion:no-preference){
  .hero .media img{animation:heroZoom 2.4s var(--ease) both}
  .hero .rise{animation:rise 1.1s var(--ease) both}
  .hero .rise:nth-child(2){animation-delay:.12s}.hero .aside{animation:rise 1.1s .35s var(--ease) both}
}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ledger strip */
.ledger{background:var(--ink);color:var(--t-light);border-top:1px solid var(--line-light);overflow:hidden}
.ledger ul{list-style:none;margin:0;padding:0;display:flex;gap:0;width:max-content;animation:ticker 70s linear infinite}
.ledger:hover ul,.ledger:focus-within ul{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.ledger ul{animation:none;width:auto;flex-wrap:wrap}}
.ledger li{display:flex;align-items:baseline;gap:1rem;padding:1rem 2.2rem;border-right:1px solid var(--line-light);white-space:nowrap;font-size:.95rem}
.ledger li .st{font-family:var(--serif);font-style:italic;color:var(--brass-2);font-variation-settings:"opsz" 24}
.ledger li .price{font-size:1.05rem}
@keyframes ticker{to{transform:translateX(-50%)}}

/* intro / portrait */
.intro{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,7rem);align-items:center}
.intro .portrait{position:relative}
.intro .portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;filter:grayscale(1) contrast(1.05)}
.intro .portrait figcaption{margin-top:.8rem;font-size:.9rem;color:var(--t-dark-2)}
.intro .text .kicker{display:block;margin-bottom:1rem}
.intro .text p{margin-top:1.2rem;max-width:36em}
.intro .text .btn-row{margin-top:2rem}
@media (max-width:900px){.intro{grid-template-columns:1fr}.intro .portrait{max-width:420px}}

/* featured listings */
.feat{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,5rem);align-items:center;padding-block:clamp(28px,4vw,56px);border-top:1px solid var(--line-dark)}
.feat:first-of-type{border-top:0;padding-top:0}
.feat:nth-child(even){direction:rtl}.feat:nth-child(even)>*{direction:ltr}
.feat .img{position:relative;overflow:hidden;display:block}
.feat .img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1.4s var(--ease)}
.feat .img:hover img{transform:scale(1.03)}
.tag{position:absolute;top:1rem;left:1rem;background:rgba(244,240,232,.92);color:var(--ink);font-size:.8rem;font-weight:500;padding:.35rem .7rem;border-radius:2px;letter-spacing:.01em}
.tag.sold{background:rgba(27,38,44,.85);color:var(--t-light)}
.feat .where{color:var(--t-dark-2);font-size:.95rem}
.feat h3{margin-top:.5rem}
.feat h3 small{display:block;font-size:.55em;color:var(--t-dark-2);margin-top:.25rem;font-variation-settings:"opsz" 36}
.feat .price{font-size:clamp(1.7rem,2.4vw,2.2rem);margin-top:1rem}
.feat .lede{margin-top:1rem;font-size:1.05rem}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:1rem 2.2rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line-dark)}
.facts b{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem;font-variation-settings:"opsz" 48;font-variant-numeric:lining-nums}
.facts span{font-size:.85rem;color:var(--t-dark-2)}
.feat .btn-row{margin-top:1.8rem}
@media (max-width:900px){.feat{grid-template-columns:1fr}.feat:nth-child(even){direction:ltr}}

/* card grid (listings, sold) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2.4rem) clamp(1rem,2vw,2rem)}
.card{display:block}
.card .img{position:relative;overflow:hidden}
.card .img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}
.card:hover .img img{transform:scale(1.03)}
.card .meta{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-top:.9rem}
.card .price{font-size:1.35rem}
.card .kind{font-size:.85rem;color:var(--t-dark-2)}
.dark .card .kind{color:var(--t-light-2)}
.card h3{font-size:1.25rem;line-height:1.25;margin-top:.2rem;font-variation-settings:"opsz" 36,"SOFT" 30}
.card .where{font-size:.9rem;color:var(--t-dark-2);margin-top:.2rem}
.dark .card .where{color:var(--t-light-2)}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
.cards.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.cards.four{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.cards.four{grid-template-columns:repeat(2,1fr)}}

/* developments rail */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,26vw,380px);gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;margin-right:calc(-1*var(--gut));padding-right:var(--gut);scrollbar-width:thin;scrollbar-color:var(--slate-2) transparent}
.rail>*{scroll-snap-align:start}
.dev{display:block}
.dev .img{overflow:hidden}
.dev .img img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}
.dev:hover .img img{transform:scale(1.03)}
.dev .lb{font-family:var(--serif);font-style:italic;color:var(--brass-2);margin-top:.9rem;font-size:1rem}
.dev h3{font-size:1.35rem;margin-top:.2rem;font-variation-settings:"opsz" 36,"SOFT" 30;line-height:1.2}
.dev .where{color:var(--t-light-2);font-size:.9rem;margin-top:.2rem}
.rail-end{display:grid;place-items:center;border:1px solid var(--line-light);text-align:center;padding:2rem}
.rail-end b{display:block;font-family:var(--serif);font-weight:300;font-size:3.2rem;line-height:1}
.rail-end span{display:block;margin:.6rem 0 1.4rem;color:var(--t-light-2)}

/* services (how Arif works) */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}
.svc{padding-top:1.4rem;border-top:1px solid var(--line-dark)}
.svc .kicker{display:block;margin-bottom:.6rem}
.svc h3{font-size:1.75rem}
.svc p{margin:.9rem 0 1.3rem;color:var(--t-dark-2);max-width:30em}
@media (max-width:900px){.cols3{grid-template-columns:1fr}}

/* map teaser */
.mapt{position:relative;min-height:min(78vh,760px);display:grid;align-items:end;color:var(--t-light);isolation:isolate;overflow:hidden}
.mapt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.mapt::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(27,38,44,.9),rgba(27,38,44,.35) 55%,rgba(27,38,44,.1))}
.mapt .wrap{padding-block:clamp(60px,8vw,110px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem}
.mapt .lede{color:var(--t-light-2);margin-top:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;max-width:30rem;justify-content:flex-end}
.chip{border:1px solid rgba(240,234,224,.4);border-radius:999px;padding:.45rem 1rem;font-size:.9rem;transition:background .3s,color .3s,border-color .3s}
.chip:hover,.chip[aria-pressed=true]{background:var(--bone);color:var(--ink);border-color:var(--bone)}
@media (max-width:900px){.mapt .wrap{grid-template-columns:1fr}.chips{justify-content:flex-start}}

/* neighbourhoods */
.nbs{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(1rem,2vw,2rem)}
.nb{grid-column:span 2;display:block}
.nb:nth-child(1),.nb:nth-child(2){grid-column:span 3}
.nb .img{overflow:hidden}
.nb .img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}
.nb:nth-child(-n+2) .img img{aspect-ratio:3/2}
.nb:hover .img img{transform:scale(1.03)}
.nb .cap{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.8rem}
.nb h3{font-size:1.45rem;font-variation-settings:"opsz" 36,"SOFT" 30}
.nb .where{font-size:.9rem;color:var(--t-dark-2)}
.nb .note{font-size:.95rem;color:var(--t-dark-2);margin-top:.3rem;max-width:32em}
.nb .ai{font-size:.75rem;color:var(--mist);margin-top:.4rem}
@media (max-width:900px){.nbs{grid-template-columns:1fr 1fr}.nb,.nb:nth-child(-n+2){grid-column:span 1}}
@media (max-width:560px){.nbs{grid-template-columns:1fr}}

/* value band */
.band{display:grid;grid-template-columns:1fr 1fr;min-height:70vh}
.band .img{overflow:hidden}
.band .img img{width:100%;height:100%;object-fit:cover}
.band .text{display:grid;align-content:center;padding:clamp(48px,7vw,110px) var(--gut)}
.band .text .kicker{display:block;margin-bottom:1rem}
.band .text .lede{margin:1.2rem 0 2rem}
@media (max-width:900px){.band{grid-template-columns:1fr}.band .img img{aspect-ratio:16/10;height:auto}}

/* instagram */
.ig{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}
.ig a{position:relative;display:block;overflow:hidden}
.ig img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}
.ig a:hover img{transform:scale(1.04)}
.ig .cap{position:absolute;inset:auto 0 0;padding:1.6rem .9rem .9rem;background:linear-gradient(0deg,rgba(27,38,44,.85),transparent);color:var(--t-light);font-size:.85rem;line-height:1.35;opacity:0;transition:opacity .4s}
.ig a:hover .cap,.ig a:focus-visible .cap{opacity:1}
.ig .play{position:absolute;top:.7rem;right:.7rem;width:28px;height:28px;border-radius:50%;background:rgba(244,240,232,.9);display:grid;place-items:center}
.ig .play::after{content:"";border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent var(--ink);margin-left:2px}
@media (max-width:900px){.ig{grid-template-columns:repeat(3,1fr)}}

/* contact */
.contact{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,6vw,7rem);align-items:start}
.contact .ways{list-style:none;margin:2rem 0 0;padding:0}
.contact .ways li{padding:1.1rem 0;border-top:1px solid var(--line-light);display:grid;grid-template-columns:1fr;gap:.2rem}
.contact .ways li:last-child{border-bottom:1px solid var(--line-light)}
.contact .ways b{font-family:var(--serif);font-weight:400;font-size:1.25rem;font-variation-settings:"opsz" 36,"SOFT" 30}
.contact .ways span{color:var(--t-light-2);font-size:.95rem}
.contact .direct{margin-top:2rem;display:flex;flex-direction:column;gap:.4rem;font-size:1.05rem}
.contact .direct a:hover{color:var(--brass-2)}
.panel{background:rgba(244,240,232,.04);border:1px solid var(--line-light);padding:clamp(1.4rem,3vw,2.6rem)}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-light);margin-bottom:1.6rem}
.tabs button{padding:.8rem 1.1rem .9rem;color:var(--t-light-2);position:relative;font-weight:500;font-size:.95rem}
.tabs button[aria-selected=true]{color:var(--t-light)}
.tabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brass-2)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.2rem}
.form[hidden],.form [hidden]{display:none}
.f{display:grid;gap:.4rem;font-size:.85rem;color:var(--t-light-2)}
.f.full{grid-column:1/-1}
.f input,.f select,.f textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(240,234,224,.35);color:var(--t-light);font:inherit;font-size:1rem;padding:.55rem 0;border-radius:0;transition:border-color .3s}
.f select{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B9C1BF' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") right center/12px no-repeat}
.f select option{color:var(--ink)}
.f textarea{min-height:5.5rem;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--brass-2)}
.f.check{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;font-size:.9rem}
.f.check input{width:18px;height:18px;margin-top:.15rem;accent-color:var(--brass)}
.form .btn{grid-column:1/-1;justify-self:start;margin-top:.4rem}
.form .note{grid-column:1/-1;font-size:.82rem;color:var(--t-light-2)}
.form.sent>*:not(.thanks){display:none}
.thanks{display:none;grid-column:1/-1}
.form.sent .thanks{display:block}
.thanks h3{font-size:2rem}
.thanks p{margin-top:.8rem;color:var(--t-light-2)}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
@media (max-width:560px){.form{grid-template-columns:1fr}.f.full{grid-column:auto}.tabs{overflow-x:auto}}

/* light forms (listing pages, developments) */
.light-form .f{color:var(--t-dark-2)}
.light-form .f input,.light-form .f select,.light-form .f textarea{color:var(--t-dark);border-bottom-color:var(--line-dark)}
.light-form .f input:focus,.light-form .f select:focus,.light-form .f textarea:focus{border-color:var(--brass)}
.light-form .form .note,.light-form .thanks p{color:var(--t-dark-2)}
.light-form .panel{background:#fff;border-color:var(--line-dark)}

/* footer */
.ftr{padding-block:clamp(56px,7vw,96px) 2rem;border-top:1px solid var(--line-light)}
.ftr .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.ftr .logo{height:22px;width:auto}
.ftr .tag{position:static;background:none;color:var(--t-light-2);padding:0;font-size:.95rem;margin-top:1.2rem;display:block;max-width:26em;font-weight:400}
.ftr h4{font-family:var(--sans);font-weight:500;font-size:.9rem;color:var(--t-light-2);margin-bottom:1rem}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.98rem}
.ftr a:hover{color:var(--brass-2)}
.ftr .legal{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--line-light);font-size:.8rem;color:var(--t-light-2);display:grid;gap:.7rem;max-width:70em;line-height:1.55}
@media (max-width:900px){.ftr .grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr .grid{grid-template-columns:1fr}}

/* page hero (inner pages) */
.phero{padding-top:clamp(120px,16vw,200px);padding-bottom:clamp(40px,5vw,72px)}
.phero .kicker{display:block;margin-bottom:1rem}
.phero .lede{margin-top:1.4rem}
.phero .btn-row{margin-top:2rem}
.phero.split{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,6rem);align-items:end}
.phero.split .stats{display:grid;grid-template-columns:repeat(3,auto);gap:1.5rem 2.5rem;justify-content:start}
.stat b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1;font-variation-settings:"opsz" 96;font-variant-numeric:lining-nums}
.stat b sup{font-size:.45em;vertical-align:.9em;color:var(--brass)}
.stat span{display:block;font-size:.85rem;color:var(--t-dark-2);margin-top:.5rem;max-width:12em}
.dark .stat span{color:var(--t-light-2)}
@media (max-width:900px){.phero.split{grid-template-columns:1fr}}
.full-img{overflow:hidden}
.full-img img{width:100%;aspect-ratio:21/9;object-fit:cover}
@media (max-width:760px){.full-img img{aspect-ratio:4/3}}

/* subnav pills */
.subnav{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.subnav a,.subnav button{border:1px solid var(--line-dark);border-radius:999px;padding:.5rem 1.05rem;font-size:.92rem;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.subnav a:hover,.subnav button:hover,.subnav [aria-pressed=true],.subnav [aria-current]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.dark .subnav a,.dark .subnav button{border-color:var(--line-light)}
.dark .subnav [aria-pressed=true]{background:var(--bone);color:var(--ink);border-color:var(--bone)}

/* process (buying/selling) */
.proc{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,6rem);align-items:start;padding-block:clamp(56px,7vw,110px);border-top:1px solid var(--line-dark)}
.proc:first-child{border-top:0}
.proc .img{position:sticky;top:110px;overflow:hidden}
.proc .img img{aspect-ratio:4/5;object-fit:cover;width:100%}
.proc .img .ai{font-size:.75rem;color:var(--mist);margin-top:.5rem}
.proc .text .kicker{display:block;margin-bottom:.8rem}
.proc .text .lede{margin:1.2rem 0 2rem}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--line-dark);counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-size:1.3rem;color:var(--brass);font-variation-settings:"opsz" 36;line-height:1.2}
.steps b{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;font-variation-settings:"opsz" 36,"SOFT" 30;margin-bottom:.3rem}
.steps p{color:var(--t-dark-2)}
.proc .btn-row{margin-top:2rem}
@media (max-width:900px){.proc{grid-template-columns:1fr}.proc .img{position:static;max-width:520px}}

/* meet arif */
.record{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,6rem)}
.record .prose p{margin-top:1.1rem;max-width:38em}
.record .prose p:first-child{margin-top:0}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line-dark)}
.timeline li:last-child{border-bottom:1px solid var(--line-dark)}
.timeline .y{font-family:var(--serif);font-size:1.2rem;font-variation-settings:"opsz" 36;font-variant-numeric:lining-nums}
.timeline b{display:block;font-weight:500}
.timeline span{font-size:.9rem;color:var(--t-dark-2)}
.award{border:1px solid var(--brass);padding:1.6rem;margin-top:1.6rem}
.award .kicker{display:block;margin-bottom:.5rem}
.award b{font-family:var(--serif);font-weight:400;font-size:1.45rem;font-variation-settings:"opsz" 36,"SOFT" 30;line-height:1.2;display:block}
.award p{margin-top:.6rem;color:var(--t-dark-2);font-size:.95rem}
@media (max-width:900px){.record{grid-template-columns:1fr}}
.bring{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 3rem}
.bring div{padding-top:1.2rem;border-top:1px solid var(--line-light)}
.bring h3{font-size:1.4rem;font-variation-settings:"opsz" 36,"SOFT" 30}
.bring p{margin-top:.6rem;color:var(--t-light-2);font-size:.98rem}
@media (max-width:900px){.bring{grid-template-columns:1fr}}
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 3rem;margin-top:3rem}
.offices div{padding-top:1rem;border-top:1px solid var(--line-dark)}
.offices b{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;font-variation-settings:"opsz" 36,"SOFT" 30}
.offices span{display:block;color:var(--t-dark-2);font-size:.95rem}
.offices em{font-style:italic;font-family:var(--serif);color:var(--brass)}
@media (max-width:760px){.offices{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.offices{grid-template-columns:1fr}}

/* developments page */
.devgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem) clamp(1rem,2vw,2rem)}
.devgrid .dev h3{color:var(--t-dark)}
.devgrid .dev .lb{color:var(--brass)}
.devgrid .dev .where,.devgrid .dev p{color:var(--t-dark-2)}
.devgrid .dev p{font-size:.95rem;margin-top:.5rem;max-width:30em}
.devgrid .dev .lnks{display:flex;gap:1.2rem;margin-top:.9rem;font-size:.92rem}
.devgrid .dev .img img{aspect-ratio:4/5}
.devgrid .flag{grid-column:span 3;display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,3vw,4rem);align-items:end}
.devgrid .flag .img img{aspect-ratio:16/10}
@media (max-width:980px){.devgrid{grid-template-columns:1fr 1fr}.devgrid .flag{grid-column:span 2;grid-template-columns:1fr}}
@media (max-width:560px){.devgrid{grid-template-columns:1fr}.devgrid .flag{grid-column:span 1}}
.soldout{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem 1rem}
.soldout a{display:block}
.soldout .img{overflow:hidden}
.soldout img{aspect-ratio:1;object-fit:cover;width:100%;filter:grayscale(.3);transition:filter .5s,transform 1.2s var(--ease)}
.soldout a:hover img{filter:none;transform:scale(1.03)}
.soldout .y{font-family:var(--serif);color:var(--brass-2);margin-top:.6rem;font-size:.95rem;font-variant-numeric:lining-nums}
.soldout b{display:block;font-weight:500;font-size:.98rem;line-height:1.3}
.soldout span{font-size:.82rem;color:var(--t-light-2)}
@media (max-width:1100px){.soldout{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.soldout{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.soldout{grid-template-columns:repeat(2,1fr)}}

/* listing detail */
.lhero{position:relative;height:min(82vh,900px);min-height:480px;overflow:hidden}
.lhero img{width:100%;height:100%;object-fit:cover}
.lhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,38,44,.45),rgba(27,38,44,0) 35%)}
.lhead{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding-block:clamp(32px,4vw,56px) clamp(24px,3vw,40px);border-bottom:1px solid var(--line-dark)}
.crumbs{font-size:.9rem;color:var(--t-dark-2);margin-bottom:1rem}
.crumbs a:hover{color:var(--brass)}
.lhead h1 small{display:block;font-size:.4em;color:var(--t-dark-2);margin-top:.5rem;font-variation-settings:"opsz" 36;letter-spacing:0}
.lhead .pr{text-align:right}
.lhead .pr .price{font-size:clamp(1.9rem,3vw,2.8rem)}
.lhead .pr .st{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:1.1rem}
.lhead .btn-row{margin-top:1rem;justify-content:flex-end}
@media (max-width:760px){.lhead{grid-template-columns:1fr}.lhead .pr{text-align:left}.lhead .btn-row{justify-content:flex-start}}
.lbody{display:grid;grid-template-columns:7fr 4fr;gap:clamp(2rem,6vw,7rem);padding-block:clamp(40px,5vw,72px)}
.lbody .lede{color:var(--t-dark);font-size:clamp(1.25rem,1.8vw,1.6rem);font-family:var(--serif);font-weight:300;line-height:1.35;font-variation-settings:"opsz" 48,"SOFT" 30}
.lbody .body{margin-top:1.4rem;max-width:40em}
.ftable{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;margin-top:2.2rem}
.ftable div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line-dark);font-size:.98rem}
.ftable div span:first-child{color:var(--t-dark-2)}
.ftable div span:last-child{font-weight:500;text-align:right}
.feats{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.5rem}
.feats li{padding-left:1.4rem;position:relative}
.feats li::before{content:"";position:absolute;left:0;top:.75em;width:.6rem;height:1px;background:var(--brass)}
.side{position:sticky;top:100px}
.side .panel{background:#fff;border:1px solid var(--line-dark)}
.side h3{font-size:1.5rem}
.side p{margin:.6rem 0 1.2rem;color:var(--t-dark-2);font-size:.95rem}
.side .who{display:flex;gap:.9rem;align-items:center;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line-dark)}
.side .who img{width:56px;height:56px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.side .who b{display:block;font-weight:500}
.side .who span{font-size:.88rem;color:var(--t-dark-2)}
@media (max-width:900px){.lbody{grid-template-columns:1fr}.side{position:static}}
@media (max-width:560px){.ftable{grid-template-columns:1fr}}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.gal button{display:block;overflow:hidden;position:relative}
.gal button:first-child{grid-column:span 2;grid-row:span 2}
.gal img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1s var(--ease)}
.gal button:first-child img{height:100%}
.gal button:hover img{transform:scale(1.03)}
.gal .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(27,38,44,.55);color:var(--t-light);font-family:var(--serif);font-size:1.6rem}
@media (max-width:760px){.gal{grid-template-columns:repeat(2,1fr)}}
.lbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.lbox::backdrop{background:rgba(27,38,44,.96)}
.lbox figure{margin:0;width:100%;height:100%;display:grid;place-items:center;padding:3rem var(--gut)}
.lbox img{max-width:100%;max-height:calc(100vh - 7rem);object-fit:contain;width:auto;height:auto}
.lbox figcaption{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);color:var(--t-light-2);font-size:.9rem}
.lbox .x,.lbox .p,.lbox .n{position:absolute;color:var(--t-light);width:48px;height:48px;display:grid;place-items:center;font-size:1.8rem;line-height:1}
.lbox .x{top:.8rem;right:var(--gut)}.lbox .p{left:.4rem;top:50%;transform:translateY(-50%)}.lbox .n{right:.4rem;top:50%;transform:translateY(-50%)}
.film{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,4vw,5rem);align-items:center}
.film a{display:block;position:relative;overflow:hidden;max-width:420px}
.film a img{aspect-ratio:4/5;object-fit:cover;width:100%}
.film .play{position:absolute;inset:0;display:grid;place-items:center}
.film .play span{width:72px;height:72px;border-radius:50%;background:rgba(244,240,232,.92);display:grid;place-items:center}
.film .play span::after{content:"";border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent var(--ink);margin-left:4px}
.film .lede{margin-top:1rem}
@media (max-width:900px){.film{grid-template-columns:1fr}}
.minimap{height:min(60vh,520px);background:var(--stone);border:1px solid var(--line-dark)}

/* map page */
.mappage{height:100svh;min-height:600px;display:grid;grid-template-rows:auto 1fr;padding-top:76px}
.mapbar{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center;padding:.8rem var(--gut);border-bottom:1px solid var(--line-dark);background:var(--bone);font-size:.9rem;position:relative;z-index:2}
.mapbar .grp{display:flex;align-items:center;gap:.4rem}
.mapbar .grp>span{color:var(--t-dark-2);margin-right:.3rem}
.mapbar button{border:1px solid var(--line-dark);border-radius:999px;padding:.35rem .8rem;font-size:.85rem;font-weight:500;transition:background .25s,color .25s}
.mapbar button:hover{border-color:var(--ink)}
.mapbar button[aria-pressed=true]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.mapbar .count{margin-left:auto;color:var(--t-dark-2)}
.mapwrap{position:relative}
.mapwrap #map{position:absolute;inset:0}
.mk{cursor:pointer;transform:translate(-50%,-100%)}
.mk.arif .pin{background:var(--ink);color:var(--bone);border:1px solid var(--ink)}
.mk.psr .pin{background:#fff;color:var(--ink);border:1px solid var(--line-dark)}
.mk .pin{font:500 .78rem/1 var(--sans);padding:.35rem .5rem;border-radius:2px;white-space:nowrap;box-shadow:0 2px 8px rgba(27,38,44,.18);font-variant-numeric:tabular-nums}
.mk .pin::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:inherit;border:inherit;border-top:0;border-left:0;transform:translateX(-50%) rotate(45deg)}
.mk.sold .pin{opacity:.78}
.mk.dev{transform:translate(-50%,-50%)}
.mk.dev .sq{width:14px;height:14px;background:var(--brass);border:2px solid var(--bone);box-shadow:0 1px 6px rgba(0,0,0,.25);transform:rotate(45deg)}
.mk.dev .lbl{position:absolute;left:50%;top:14px;transform:translateX(-50%);font:500 .72rem/1.2 var(--sans);color:var(--ink);background:rgba(244,240,232,.9);padding:.2rem .45rem;white-space:nowrap;border-radius:2px}
.mcard{position:absolute;left:var(--gut);bottom:1.2rem;z-index:3;width:min(360px,calc(100% - 2*var(--gut)));background:var(--bone);border:1px solid var(--line-dark);box-shadow:0 12px 40px rgba(27,38,44,.18)}
.mcard[hidden]{display:none}
.mcard img{aspect-ratio:16/10;object-fit:cover;width:100%}
.mcard .in{padding:1rem 1.1rem 1.2rem}
.mcard .k{font-size:.82rem;color:var(--t-dark-2)}
.mcard h3{font-size:1.2rem;margin-top:.2rem;font-variation-settings:"opsz" 36,"SOFT" 30}
.mcard .price{font-size:1.25rem;margin-top:.3rem}
.mcard .lnks{display:flex;gap:1.2rem;margin-top:.8rem;font-size:.9rem}
.mcard .x{position:absolute;top:.4rem;right:.5rem;width:36px;height:36px;background:rgba(244,240,232,.9);border-radius:50%;display:grid;place-items:center;font-size:1.2rem}
.maplibregl-ctrl-attrib{font:.7rem var(--sans)!important}
.legend{position:absolute;right:var(--gut);bottom:1.2rem;z-index:2;background:rgba(244,240,232,.92);border:1px solid var(--line-dark);padding:.7rem .9rem;font-size:.8rem;display:grid;gap:.4rem}
.legend span{display:flex;align-items:center;gap:.5rem}
.legend i{width:12px;height:12px;display:inline-block}
.legend .a{background:var(--ink)}.legend .p{background:#fff;border:1px solid var(--line-dark)}.legend .d{background:var(--brass);transform:rotate(45deg) scale(.85)}
@media (max-width:760px){.legend{display:none}.mappage{padding-top:66px}}

/* empty state */
.empty{border:1px dashed var(--line-dark);padding:2.5rem;text-align:left;max-width:40em}
.empty b{font-family:var(--serif);font-weight:400;font-size:1.4rem;display:block;font-variation-settings:"opsz" 36,"SOFT" 30}
.empty p{margin-top:.5rem;color:var(--t-dark-2)}
.empty .btn-row{margin-top:1.4rem}

/* privacy prose */
.prose{max-width:40em}
.prose h2{font-size:1.6rem;margin-top:2.4rem}
.prose p{margin-top:.8rem;color:var(--t-dark-2)}

/* reveal on scroll (single, quiet) */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .rv.in{opacity:1;transform:none}
}
/* zoomed out: PSR homes as dots, prices only when close */
.z-low .mk.psr .pin{font-size:0;padding:0;width:10px;height:10px;border-radius:50%;background:#fff;border:1.5px solid var(--slate)}
.z-low .mk.psr .pin::after{display:none}
.z-low .mk.dev .lbl{display:none}

/* Accessibility and responsive repairs. */
[hidden]{display:none!important}
[id]{scroll-margin-top:100px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1250px){.nav{display:none}.burger{display:grid}.hdr .wrap{grid-template-columns:1fr auto}.hdr-cta .tel{display:none}}
@media (max-width:600px){.tabs button{padding:.75rem .5rem;font-size:.8rem}.contact .panel{min-width:0}.drawer{overflow:auto}.drawer .foot{padding-top:1rem}.drawer nav a{font-size:1.8rem}.hero .kicker{color:var(--brass-2)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.form .email-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}
.form .email-body{width:100%;min-height:180px;font:inherit;white-space:pre-wrap;color:var(--ink);background:var(--bone);padding:1rem;border:1px solid var(--stone-2)}
.form .thanks:focus{outline:none}

/* Map and its synchronized results list. */
.mappage{height:100svh;min-height:720px;padding-top:76px;grid-template-rows:auto minmax(0,1fr)}
.mapbar{padding:1.1rem 2rem .85rem;display:grid;grid-template-columns:1fr minmax(280px,430px);gap:.8rem 2rem;z-index:3}
.map-heading{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.map-heading .kicker{font-size:.9rem}
.map-title{font-size:1.65rem}
.map-heading .count{font-size:.8rem;margin-left:0}
#map-search-form{display:flex;align-items:center;border:1px solid var(--line-dark);background:#fff;min-width:0;border-radius:3px}
#map-search{border:0;min-width:0;width:100%;font:inherit;font-size:.9rem;padding:.7rem;background:transparent;color:var(--ink)}
#map-search-form button{white-space:nowrap;border:0;border-radius:0;padding:.6rem .8rem}
.map-filters{grid-column:1/-1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.mapbar .grp{flex-wrap:wrap;gap:.3rem}
.mapbar button{min-height:36px}
.map-select{display:flex;align-items:center;gap:.4rem;font-size:.75rem}
.map-select>span{color:var(--t-dark-2)}
.map-select select{max-width:170px;font:inherit;font-size:.85rem;color:var(--ink);background:transparent;padding:.4rem .2rem;border:0;border-bottom:1px solid var(--line-dark)}
.map-select select:disabled{opacity:.4}
#map-reset{margin-left:auto;border:0;border-bottom:1px solid var(--line-dark);border-radius:0}
.map-places{grid-column:1/-1;display:flex;align-items:center;gap:.4rem;overflow:auto;scrollbar-width:thin;white-space:nowrap}
.map-places>span{font-size:.8rem;color:var(--t-dark-2);padding-right:.4rem}
.map-places button{border:0;padding:.2rem .6rem;font-size:.8rem}
.map-places button:hover{background:var(--stone)}
.map-shell{position:relative;display:grid;grid-template-columns:320px minmax(0,1fr);min-height:0;isolation:isolate}
.map-sidebar{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line-dark);background:var(--bone);z-index:2}
.map-list-head{padding:1.1rem 1.3rem;border-bottom:1px solid var(--line-dark)}
.map-list-head h2{font-family:var(--sans);font-size:.9rem;font-weight:500;line-height:1.4}
.map-list-head button{font-size:.8rem;color:var(--t-dark);margin-top:.4rem;text-decoration:underline;text-underline-offset:3px}
.map-list-head p{font-size:.7rem;line-height:1.4;color:var(--t-dark-2);margin-top:.7rem}
#map-results{overflow:auto;overscroll-behavior:contain;flex:1}
.map-result{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:1rem 1.3rem;text-align:left;border-bottom:1px solid var(--line-dark);line-height:1.4;gap:.25rem}
.map-result:hover,.map-result:focus-visible{background:var(--stone)}
.map-result strong{font-family:var(--serif);font-weight:400;font-size:1.1rem}
.map-result span{font-size:.8rem;color:var(--t-dark-2)}
.map-result .result-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#786035}
.map-result b{font-weight:500;font-size:.9rem}
.map-empty{font-size:.9rem;color:var(--t-dark-2);padding:1.5rem}
.mapwrap{min-width:0;min-height:0;z-index:1}
.mapwrap #map{height:100%;width:100%;background:var(--stone)}
.leaflet-container{font-family:var(--sans);background:var(--stone)}
.property-pin{display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);border:1px solid #8b9696;border-radius:4px;font:500 12px/1 var(--sans);box-shadow:0 2px 8px #1b262c30;white-space:nowrap}
.property-pin.arif{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.property-pin.dev{background:var(--brass);color:#fff;border-color:#7e622e;font-size:18px;border-radius:50%}
.property-pin:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
.property-cluster{border:4px solid #f4f0e8bb;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:500 13px/1 var(--sans);box-shadow:0 2px 6px #1b262c30}
.leaflet-control-attribution{max-width:100%;font-size:10px!important}
.legend{z-index:450;right:15px;bottom:35px;font-size:.7rem;padding:.5rem .7rem;pointer-events:none}
.mcard{z-index:600;left:16px;bottom:32px;width:min(340px,calc(100% - 32px));max-height:calc(100% - 45px);overflow:auto;border-radius:4px}
.mcard img{max-height:170px;aspect-ratio:16/9}
.mcard .lnks{flex-wrap:wrap;gap:.6rem 1rem;font-size:.8rem}
.map-notices{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:650;max-width:min(90%,440px);font-size:.85rem}
#map-notice:not([hidden]){background:var(--bone);border:1px solid var(--line-dark);padding:.65rem 1rem;box-shadow:0 2px 10px #0001}
#map-notice.error{border-color:var(--brass)}
#map-retry{padding:.5rem 1rem;background:var(--ink);color:var(--bone)}
.map-view-toggle{display:none}
@media (max-width:1000px){.mapbar{padding:1rem;gap:.6rem}.map-heading .kicker{display:none}.map-heading{gap:.4rem}.map-filters{gap:.5rem}.map-shell{grid-template-columns:270px minmax(0,1fr)}.map-select>span{display:none}}
@media (max-width:760px){
 .mappage{padding-top:70px;min-height:700px}.mapbar{grid-template-columns:1fr;gap:.6rem;padding:.7rem 1rem}.map-title{font-size:1.35rem}.map-heading{justify-content:space-between}.mapbar .count{font-size:.72rem}.map-filters{gap:.4rem .7rem}.mapbar .grp{width:100%;justify-content:space-between}.mapbar .grp button{font-size:.72rem;padding:.35rem .6rem}.map-select select{font-size:.75rem;max-width:140px}.map-shell{display:block}.mapwrap{height:100%}.map-sidebar{position:absolute;inset:0;display:none;padding-bottom:65px}.map-shell[data-view=list] .map-sidebar{display:flex}.map-shell[data-view=list] .mapwrap{visibility:hidden}.map-view-toggle{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;background:var(--bone);border:1px solid var(--line-dark);box-shadow:0 3px 15px #0002;border-radius:30px;padding:4px;z-index:700}.map-view-toggle button{min-width:75px;padding:.5rem 1rem;border-radius:24px;font-size:.85rem}.map-view-toggle [aria-pressed=true]{background:var(--ink);color:var(--bone)}.mcard{bottom:95px;max-height:calc(100% - 110px)}.mcard img{max-height:115px}.mcard .in{padding:.75rem}.map-notices{width:90%;max-width:none}.legend{display:none}
}
