@font-face{font-family:"Jost";font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/jost-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/jost-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* The page commits to its own two looks (Night default, Light), chosen with the on-page switch.
   Photography and film carry all colour; the UI stays black / white / warm grey. */
:root{
  color-scheme: dark;
  --bg:#060606; --bg-2:#101010; --band:#000000; --fg:#F3F0EA; --fg-2:#9B978F; --fg-3:#5F5C57;
  --line:rgba(243,240,234,.13); --btn-bg:#F3F0EA; --btn-fg:#0A0A0A; --chip:#1C1C1C; --ph:#1A1A1A;
  --ko-bg:#000000; --ko-ink:#FFFFFF; --ko-blend:multiply; --hdr-solid:rgba(10,10,10,.72); --pop:#161616;
  --band-fg:#F3F0EA; --band-line:rgba(243,240,234,.14);
  --f:"Jost","Futura","Century Gothic","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  --gut:clamp(16px,3.2vw,48px); --ease:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.76,0,.24,1); --hdr:76px;
}
:root[data-theme="light"]{
  color-scheme: light;
  --bg:#FFFFFF; --bg-2:#F3F2EE; --band:#0B0B0B; --fg:#0B0B0B; --fg-2:#6D6B65; --fg-3:#A6A49E;
  --line:rgba(11,11,11,.12); --btn-bg:#0B0B0B; --btn-fg:#FFFFFF; --chip:#ECEBE7; --ph:#E6E4DF;
  --ko-bg:#FFFFFF; --ko-ink:#000000; --ko-blend:screen; --hdr-solid:rgba(255,255,255,.8); --pop:#FFFFFF;
}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.65 var(--f);letter-spacing:.005em;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .5s,color .5s}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--fg);color:var(--bg)}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wrap{padding-inline:var(--gut);max-width:1560px;margin-inline:auto;box-sizing:border-box}
.label{margin:0;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.h-xl{margin:0;font-weight:300;font-size:clamp(46px,7.6vw,138px);line-height:.95;letter-spacing:-.045em}
.h-l{margin:0;font-weight:300;font-size:clamp(38px,5.4vw,92px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
.h-m{margin:0;font-weight:300;font-size:clamp(24px,2.3vw,36px);line-height:1.15;letter-spacing:-.02em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn{display:inline-flex;align-items:center;gap:16px;height:54px;padding:0 9px 0 26px;border-radius:999px;border:0;background:var(--btn-bg);color:var(--btn-fg);font-size:15px;font-weight:500;letter-spacing:.02em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .4s,color .4s,opacity .3s}
.btn .arr{width:36px;height:36px;border-radius:50%;background:var(--btn-fg);color:var(--btn-bg);display:grid;place-items:center;flex:none;transition:transform .6s var(--ease)}
.btn .arr svg{width:14px;height:14px}
.btn:hover .arr{transform:rotate(-45deg)}
.btn.inv{background:#fff;color:#0A0A0A}
.btn.inv .arr{background:#0A0A0A;color:#fff}
.btn.line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor;padding:0 26px}
.btn.line:hover{background:rgba(127,127,127,.14)}
.btn[disabled]{opacity:.45;cursor:default}
.ulink{position:relative;text-decoration:none;font-weight:500;padding-bottom:2px}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}
.ulink:hover::after{transform:scaleX(0)}
html.js [data-rv]{transform:translateY(36px);opacity:.3;transition:transform 1.3s var(--ease),opacity 1.3s var(--ease)}
html.js [data-rv].in{transform:none;opacity:1}
html.js [data-rvi] img{transform:scale(1.16);transition:transform 1.8s var(--ease)}
html.js [data-rvi].in img{transform:scale(1)}

/* ---------- LOADER ---------- */
.loader{display:none}
html.js .loader{display:flex;position:fixed;inset:0;z-index:100;background:var(--bg);align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:transform 1.1s var(--ease-io)}
html.loaded .loader{transform:translateY(-100%);pointer-events:none}
.loader img{width:min(46vw,260px);height:auto}
.loader-bar{width:min(46vw,260px);height:1px;background:var(--line);position:relative;overflow:hidden}
.loader-bar i{position:absolute;inset:0;background:var(--fg);transform-origin:left;transform:scaleX(0)}
.lg-l{display:none}
:root[data-theme="night"] .loader .lg-d{display:none}
:root[data-theme="night"] .loader .lg-l{display:block}

/* ---------- HEADER ---------- */
.hdr{position:fixed;left:0;right:0;top:0;z-index:60;padding-top:env(safe-area-inset-top,0px);color:#0B0B0B;transition:transform .7s var(--ease),background .45s,color .45s,border-color .45s;border-bottom:1px solid transparent}
.hdr-in{height:var(--hdr);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.hdr-logo{justify-self:start;display:block;transition:opacity .3s}
.hdr-logo img{height:28px;width:auto}
.hdr .lg-l{display:none}
.hdr[data-mode="dark"]{color:#F3F0EA}
.hdr[data-mode="dark"] .lg-d{display:none}
.hdr[data-mode="dark"] .lg-l{display:block}
.hdr.solid{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom-color:rgba(11,11,11,.1)}
.hdr.solid[data-mode="dark"]{background:rgba(8,8,8,.62);border-bottom-color:rgba(243,240,234,.12)}
.hdr.hide{transform:translateY(-110%)}
.quick{display:flex;gap:4px;padding:4px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(127,127,127,.35)}
.quick a{height:36px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;text-decoration:none;font-size:14px;font-weight:500;transition:background .3s}
.quick a:hover{background:rgba(127,127,127,.2)}
.hdr-r{justify-self:end;display:flex;align-items:center;gap:10px}
.lang{display:flex;gap:2px}
.lang button{background:none;border:0;padding:6px 7px;font-size:12px;font-weight:500;letter-spacing:.14em;cursor:pointer;opacity:.45;transition:opacity .3s}
.lang button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:5px}
.sbtn{height:46px;display:inline-flex;align-items:center;gap:10px;padding:0 18px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px rgba(127,127,127,.45);cursor:pointer;font-size:14px;font-weight:500}
.sbtn svg{width:16px;height:16px}
.sbtn:hover{box-shadow:inset 0 0 0 1px currentColor}
.burger{height:46px;display:flex;align-items:center;gap:12px;padding:0 6px 0 20px;border-radius:999px;border:0;background:#0B0B0B;color:#fff;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.04em}
.hdr[data-mode="dark"] .burger{background:#F3F0EA;color:#0B0B0B}
.burger-i{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-content:center;gap:5px}
.hdr[data-mode="dark"] .burger-i{background:#0B0B0B}
.burger-i i{display:block;width:14px;height:1.5px;background:#0B0B0B;transition:transform .6s var(--ease)}
.hdr[data-mode="dark"] .burger-i i{background:#fff}
.menu-open .burger-i i:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-open .burger-i i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
@media (max-width:1080px){.quick{display:none}.hdr-in{grid-template-columns:1fr auto}.hdr .lang{display:none}}
@media (max-width:520px){.sbtn span{display:none}.sbtn{padding:0 14px}.burger{padding-left:16px}}
/* Keep language selection available without opening the mobile menu. */
@media (max-width:1080px){
  .hdr-r{gap:4px}
  .hdr .lang{display:flex;gap:0}
  .hdr .lang button{min-width:28px;min-height:44px;padding:0 3px;font-size:11px;letter-spacing:0}
  .hdr .burger{width:44px;height:44px;padding:0;justify-content:center;gap:0}
  .hdr .burger #burgerLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .hdr .fbtn{width:44px;height:44px;padding:0}
  .hdr .sbtn{height:44px}
}
@media (max-width:360px){.hdr #sOpen{display:none}}

/* ---------- MENU ---------- */
.menu{position:fixed;inset:0;z-index:55;background:#050505;color:#fff;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 1s var(--ease-io),visibility 0s 1s}
.menu.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 1s var(--ease-io),visibility 0s}
.menu-in{height:100%;box-sizing:border-box;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 28px) var(--gut) calc(26px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:minmax(0,1fr) auto;gap:28px 60px;overflow-y:auto}
.mlinks{list-style:none;margin:0;padding:0;align-self:center}
.mlinks li{overflow:hidden}
.mlinks a{display:inline-flex;align-items:flex-start;gap:14px;text-decoration:none;font-weight:300;font-size:clamp(40px,6.2vw,94px);line-height:1.08;letter-spacing:-.04em;transform:translateY(105%);transition:transform 1s var(--ease),color .35s}
.menu.open .mlinks a{transform:none}
.mlinks:hover a{color:rgba(255,255,255,.28)}
.mlinks a:hover{color:#fff}
.mlinks sup{font-size:13px;font-weight:500;letter-spacing:.12em;margin-top:.9em;line-height:1}
.mmedia{position:relative;align-self:center;aspect-ratio:4/5;max-height:64vh;width:100%;border-radius:16px;overflow:hidden;background:#222}
.mmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .7s var(--ease),transform 1.4s var(--ease)}
.mmedia img.on{opacity:1;transform:scale(1)}
.mfoot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 30px;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;font-size:14px;color:rgba(255,255,255,.72)}
.mfoot a{text-decoration:none}
.mfoot a:hover{color:#fff}
@media (max-width:900px){.menu-in{grid-template-columns:minmax(0,1fr)}.mmedia{display:none}}

/* ---------- HERO: film full screen; logo intro plays by itself ---------- */
.hero{position:relative;height:270vh;background:var(--ko-bg)}
.hero-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:540px;overflow:hidden;isolation:isolate;background:#000}
.hv{position:absolute;inset:0;will-change:transform;transform-origin:50% 60%}
.hv-in{position:absolute;inset:0;transform-origin:50% 100%}
.hv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.wm-logo{position:absolute;left:0;top:0;width:340px;height:auto;display:block;opacity:0;pointer-events:none;will-change:opacity}
.hero-stage.port .wm-logo{display:none}
.hero-stage:not(.port) .h-logo img{visibility:hidden}
.shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.06) 26%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.74));pointer-events:none}
.h-main{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 10px) var(--gut) calc(28px + env(safe-area-inset-bottom,0px));color:#fff;pointer-events:none}
.h-main.live .h-end{pointer-events:auto}
.h-logo{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:2vh 0}
.h-logo img{display:block;width:clamp(190px,30vw,480px);max-width:78%;max-height:100%;height:auto;object-fit:contain;opacity:.94;filter:drop-shadow(0 4px 30px rgba(0,0,0,.25));will-change:transform,opacity}
.h-end{flex:none;will-change:transform}
.cue{display:inline-flex;align-items:center;gap:12px;background:none;border:0;padding:6px 0;font:500 12px var(--f);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);cursor:pointer;pointer-events:auto}
.cue b{display:block;width:1px;height:34px;background:var(--line);position:relative;overflow:hidden}
.cue b::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--fg);animation:cue 2.2s var(--ease) infinite}
.cue:hover{color:var(--fg)}
@keyframes cue{to{top:110%}}
.h-slogan{margin:0;opacity:.85;letter-spacing:.3em}
.h-end .h-xl{margin:12px 0 0;font-size:clamp(34px,4.2vw,66px);line-height:1.04;letter-spacing:-.035em}
.h-end .h-xl .l{display:inline-block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;vertical-align:top}
.h-end .h-xl .l+.l{margin-left:.26em}
.hero-stage.port .h-end .h-xl{font-size:clamp(32px,9.4vw,50px)}
.hero-stage.port .h-end .h-xl .l{display:block}
.hero-stage.port .h-end .h-xl .l+.l{margin-left:0}
.h-end .h-xl .l>span{display:block;will-change:transform}
.ko{position:absolute;inset:0;z-index:5;background:var(--ko-bg);mix-blend-mode:var(--ko-blend);display:flex;align-items:center;justify-content:center;will-change:opacity;pointer-events:none}
/* the logo is a vector path, zoomed inside the SVG: razor-sharp at any size (the image only reserves the layout) */
.ko-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ko-svg path{fill:var(--ko-ink)}
.ko.vec .ko-logo{visibility:hidden}
.ko-logo{display:block;width:min(88vw,calc(52vh * 2.674));height:auto}
.ko-b{display:none}
:root[data-theme="light"] .ko-w{display:none}
:root[data-theme="light"] .ko-b{display:block}
.ko-slogan{position:absolute;left:0;right:0;top:calc(50% + min(16.5vw,26vh) + 18px);z-index:6;margin:0;text-align:center;font-size:clamp(11px,1.1vw,15px);font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--fg);pointer-events:none}
.h-top{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 18px) var(--gut) calc(26px + env(safe-area-inset-bottom,0px));color:var(--fg);pointer-events:none}
.h-top .row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.h-top .label{color:var(--fg-2)}
.h-top p{margin:0}
.h-top .kinds{font-size:clamp(15px,1.2vw,18px);color:var(--fg-2);max-width:40ch}
.h-film{position:absolute;right:var(--gut);top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 18px);z-index:3;display:flex;align-items:center;gap:14px;background:none;border:0;cursor:pointer;font-family:inherit;color:#fff;font-size:14px;font-weight:500;pointer-events:none}
.h-film.live{pointer-events:auto}
.h-film i{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center}
.h-film i svg{width:12px;height:12px;fill:#0A0A0A;margin-left:2px}
.h-film small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.intro-done .ko,.intro-done .ko-slogan,.intro-done .h-top{display:none}
@media (max-width:900px){
  .ko-logo{width:94vw}
  .ko-slogan{top:calc(50% + 17vw + 14px)}
  .h-film{display:none}
}
/* ---------- COLLECTION (curved 3D) ---------- */
.coll{position:relative;background:var(--bg)}
.coll-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,48px);perspective:1500px}
.coll-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;width:100%}
.coll-head .label{color:var(--fg-2);margin-bottom:16px}
.coll-meta{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--fg-2);font-variant-numeric:tabular-nums}
.coll-bar{width:140px;height:1px;background:var(--line);position:relative;overflow:hidden}
.coll-bar i{position:absolute;inset:0;background:var(--fg);transform-origin:left;transform:scaleX(var(--cp,0))}
.coll-track{display:flex;gap:clamp(40px,6vw,120px);padding-inline:var(--gut);transform-style:preserve-3d;will-change:transform}
.cc{flex:0 0 auto;width:min(50vw,860px);transform-style:preserve-3d;will-change:transform}
.cc-hit{display:block;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}
.cc-media{position:relative;aspect-ratio:16/10;max-height:60vh;border-radius:16px;overflow:hidden;background:var(--ph)}
.cc-media img{position:absolute;top:0;bottom:0;left:-9%;width:118%;height:100%;object-fit:cover;will-change:transform}
.cc-cap{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:18px;transition:opacity .3s}
.cc-cap .label{color:var(--fg-2);font-size:12px}
.cc-title{margin:6px 0 0;font-weight:300;font-size:clamp(22px,2vw,32px);line-height:1.15;letter-spacing:-.02em}
.cc-price{font-weight:300;font-size:clamp(20px,1.7vw,26px);letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:900px){
  .coll{padding-block:90px 30px}
  .coll-sticky{position:relative;height:auto;perspective:none;gap:28px}
  .coll-track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:10px;scrollbar-width:none}
  .coll-track::-webkit-scrollbar{display:none}
  .cc{width:84vw;scroll-snap-align:center;transform:none!important}
  .cc-media img{left:0;width:100%;transform:none!important}
  .cc-cap{opacity:1!important}
}
/* ---------- BANDS: areas, film, contact, footer ---------- */
.areas,.film,.contact,.footer{background:var(--band);color:var(--band-fg)}
.areas{padding-block:clamp(60px,6vw,100px) clamp(70px,8vw,120px)}
.areas-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(40px,6vw,110px)}
.areas-l{position:sticky;top:calc(var(--hdr) + 40px);align-self:start}
.areas-l .label{color:rgba(243,240,234,.55);margin-bottom:16px}
.areas-l p{color:rgba(243,240,234,.66);max-width:44ch;margin:24px 0 0}
.minimap{margin-top:40px;width:100%;max-width:520px;height:auto;overflow:visible}
.minimap .dot{fill:#fff}
.minimap .dot.on{fill:#fff;stroke:#fff;stroke-width:10;stroke-opacity:.35}
.minimap .ring{fill:none;stroke:#fff;stroke-opacity:.5;transform-box:fill-box;transform-origin:center;animation:ring 2.6s var(--ease) infinite}
@keyframes ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.6);opacity:0}}
.alist{list-style:none;margin:0;padding:0;border-top:1px solid var(--band-line)}
.arow{box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 20px;padding:24px 0;border:0;border-bottom:1px solid var(--band-line);background:none;color:var(--band-fg);cursor:pointer;text-align:left}
.arow .nm{font-weight:300;font-size:clamp(34px,4.4vw,70px);line-height:1;letter-spacing:-.04em;transition:transform .8s var(--ease),opacity .4s}
.arow .ct{font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.arow .co{grid-column:1/-1;font-size:12px;font-weight:500;letter-spacing:.16em;opacity:.4}
.alist:hover .arow .nm{opacity:.3}
.alist .arow:hover .nm,.arow.on .nm{opacity:1;transform:translateX(18px)}
.afloat{position:fixed;left:0;top:0;z-index:40;width:300px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);will-change:transform}
.afloat.on{opacity:1}
.afloat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.areas-grid{grid-template-columns:minmax(0,1fr)}.areas-l{position:relative;top:0}.afloat{display:none}}
.film{padding-block:clamp(40px,6vw,90px) clamp(70px,8vw,110px);overflow:hidden}
.film-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}
.film-head .label{color:rgba(243,240,234,.55);margin-bottom:16px}
.film-head p{color:rgba(243,240,234,.66);max-width:40ch;margin:0}
.film-box{position:relative;height:86vh;height:86svh;min-height:480px;overflow:hidden;background:#000;--fs:.9;--fr:24px;transform:scale(var(--fs));border-radius:var(--fr);will-change:transform}
.film-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-ui{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,2.4vw,36px);background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 28%,transparent 55%,rgba(0,0,0,.7));color:#fff}
.film-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.rec{display:inline-flex;align-items:center;gap:10px}
.rec i{width:8px;height:8px;border-radius:50%;background:#E5533C;animation:blink 1.6s steps(2,start) infinite}
@keyframes blink{50%{opacity:.15}}
.film-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 28px;flex-wrap:wrap}
.film-bottom .h-m{font-size:clamp(28px,3.6vw,56px);max-width:16ch}
.film-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:28px;font-size:15px;color:rgba(243,240,234,.7)}
@media (max-width:700px){.film-box{height:78svh}}
/* ---------- CONTACT + FOOTER ---------- */
.contact{padding-block:clamp(70px,8vw,110px) clamp(60px,6vw,90px)}
.ct-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:50px clamp(40px,6vw,110px)}
.contact .label{color:rgba(243,240,234,.55);margin-bottom:16px}
.ct-big{margin:0;font-weight:300;font-size:clamp(50px,7vw,124px);line-height:.92;letter-spacing:-.05em}
.ct-list{margin:44px 0 0;border-top:1px solid var(--band-line)}
.ct-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--band-line)}
.ct-row dt{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,240,234,.5)}
.ct-row dd{margin:0;font-size:18px;overflow-wrap:anywhere}
.ct-row dd a{text-decoration:none}
.copy{height:32px;padding:0 14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--band-line);background:transparent;color:rgba(243,240,234,.75);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.copy:hover{box-shadow:inset 0 0 0 1px #fff;color:#fff}
.copy.done{background:#fff;color:#0B0B0B}
.status{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-size:14px;color:rgba(243,240,234,.8)}
.status i{width:8px;height:8px;border-radius:50%;background:#71C792;box-shadow:0 0 0 5px rgba(113,199,146,.18)}
.status.closed i{background:#D98C5F;box-shadow:0 0 0 5px rgba(217,140,95,.18)}
.hours{margin:8px 0 0;color:rgba(243,240,234,.6);font-size:15px}
.socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.socials a{height:42px;padding:0 18px;display:inline-flex;align-items:center;border-radius:999px;box-shadow:inset 0 0 0 1px var(--band-line);text-decoration:none;font-size:14px;font-weight:500;transition:box-shadow .3s}
.socials a:hover{box-shadow:inset 0 0 0 1px #fff}
.form{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;align-content:start;padding-top:8px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,240,234,.5)}
.fld input,.fld select,.fld textarea{box-sizing:border-box;width:100%;background:transparent;border:0;border-bottom:1px solid rgba(243,240,234,.26);border-radius:0;color:#fff;font:400 18px/1.4 var(--f);padding:10px 0;transition:border-color .3s}
.fld select{-webkit-appearance:none;appearance:none;cursor:pointer}
.fld select option{color:#0B0B0B;background:#fff}
.fld textarea{resize:vertical;min-height:110px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-bottom-color:#fff}
.err{font-size:13px;color:#F0A987}
.form-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.form-foot small{color:rgba(243,240,234,.55);font-size:14px}
.sent{grid-column:1/-1;border-radius:16px;padding:26px;background:#fff;color:#0B0B0B}
.sent strong{display:block;font-weight:300;font-size:30px;letter-spacing:-.02em;line-height:1.1}
.sent p{margin:10px 0 0;color:#6D6B65}
.footer{padding-block:40px 30px}
.ft-logo{border-top:1px solid var(--band-line);padding-top:clamp(40px,6vw,80px)}
.ft-logo img{width:100%;height:auto;max-width:1400px}
.ft-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 30px;margin-top:clamp(30px,4vw,56px);font-size:14px;color:rgba(243,240,234,.55)}
.ft-base nav{display:flex;gap:22px;flex-wrap:wrap}
.ft-base a{text-decoration:none}
.ft-base a:hover{color:#fff}
@media (max-width:900px){.ct-grid{grid-template-columns:minmax(0,1fr)}.form{grid-template-columns:minmax(0,1fr)}.ct-row{grid-template-columns:86px minmax(0,1fr) auto}}
/* ---------- THEME TOGGLE + CURSOR ---------- */
.tbtn{width:46px;height:46px;border-radius:50%;border:0;background:transparent;box-shadow:inset 0 0 0 1px rgba(127,127,127,.45);display:grid;place-items:center;cursor:pointer}
.tbtn:hover{box-shadow:inset 0 0 0 1px currentColor}
.tbtn svg{width:18px;height:18px}
:root[data-theme="night"] .tbtn .i-moon{display:none}
:root[data-theme="light"] .tbtn .i-sun{display:none}
.cur{position:fixed;left:0;top:0;z-index:90;pointer-events:none}
.cur span{position:absolute;left:-48px;top:-48px;width:96px;height:96px;border-radius:50%;background:var(--btn-bg);color:var(--btn-fg);display:grid;place-items:center;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transform:scale(0);transition:transform .55s var(--ease)}
.cur.on span{transform:scale(1)}
.cur.lt span{background:#fff;color:#0B0B0B}
@media (pointer:coarse){.cur{display:none}}

/* =====================================================================
   v4 additions: pro search, filters, results, detail, lead capture
   ===================================================================== */
:root{--card:#121212;--field:rgba(255,255,255,.04);--scrim:rgba(0,0,0,.55);--heart:#E5484D;--good:#5FBF86}
:root[data-theme="light"]{--card:#FFFFFF;--field:#F6F5F2;--scrim:rgba(10,10,10,.38)}

[hidden]{display:none!important}
/* header extras */
.fbtn{position:relative}
.fbtn b{position:absolute;right:-3px;top:-3px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--heart);color:#fff;font-size:10.5px;font-weight:600;display:none;place-items:center;line-height:18px;text-align:center}
.fbtn.has b{display:block}
.fbtn svg{width:18px;height:18px}
.fbtn.pulse{animation:pulse .6s var(--ease)}
@keyframes pulse{40%{transform:scale(1.18)}}
@media (max-width:520px){.hdr .tbtn:not(.fbtn){display:none}}

/* icons */
.ic{width:16px;height:16px;flex:none}

/* ---------- HERO SEARCH CONSOLE ---------- */
.h-find{margin-top:clamp(18px,3.4vh,34px);will-change:transform,opacity}
.h-find-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.seg{display:inline-flex;padding:4px;border-radius:999px;background:rgba(10,10,10,.38);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.seg button{height:36px;padding:0 18px;border:0;border-radius:999px;background:none;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s,color .3s}
.seg button[aria-pressed="true"]{background:#fff;color:#0B0B0B}
.hc{margin-top:12px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) auto;align-items:stretch;background:#fff;color:#0B0B0B;border-radius:22px;padding:8px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}
.hc-cell{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:12px 22px;border:0;background:none;border-radius:15px;text-align:left;cursor:pointer;color:inherit;transition:background .25s}
.hc-cell+.hc-cell::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:rgba(11,11,11,.12)}
.hc-cell:hover,.hc-cell[aria-expanded="true"]{background:#F1F0EC}
.hc-cell:hover::before,.hc-cell:hover+.hc-cell::before,.hc-cell[aria-expanded="true"]::before,.hc-cell[aria-expanded="true"]+.hc-cell::before{opacity:0}
.hc-cell small{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#7A776F}
.hc-cell span{font-size:17px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-cell.set span{font-weight:500}
.hc-go{height:auto;min-height:66px;border-radius:15px;padding:0 10px 0 26px;margin-left:6px;gap:18px;background:#0B0B0B;color:#fff}
.hc-go .arr{background:#fff;color:#0B0B0B}
.hc-go .thumbs{display:flex}
.hc-go .thumbs img{width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #0B0B0B;margin-left:-9px}
.hc-go .thumbs img:first-child{margin-left:0}
.hq{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.qchip{height:36px;padding:0 14px;border-radius:999px;border:0;background:rgba(10,10,10,.38);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:#fff;font-size:13.5px;font-weight:500;display:inline-flex;gap:8px;align-items:center;cursor:pointer;transition:background .3s,color .3s}
.qchip small{font-size:12px;opacity:.6;font-variant-numeric:tabular-nums}
.qchip[aria-pressed="true"]{background:#fff;color:#0B0B0B}
.qchip.all{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;text-decoration:underline;text-underline-offset:5px;padding:0 6px}
@media (max-width:1100px){
  .hc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
  .hc-cell+.hc-cell::before{display:none}
  .hc-cell{padding:10px 16px;background:#F4F3EF;border-radius:13px}
  .hc-cell:hover,.hc-cell[aria-expanded="true"]{background:#E9E8E3}
  .hc-go{grid-column:1/-1;margin:2px 0 0;min-height:56px;justify-content:space-between;border-radius:13px}
}
@media (max-width:700px){
  .h-end .h-xl{font-size:clamp(36px,10.5vw,54px)}
  .hc{border-radius:18px;padding:6px}
  .hc-cell span{font-size:15.5px}
  .hq{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
  .hq::-webkit-scrollbar{display:none}
  .qchip{flex:none}
}

/* ---------- TRUST STRIP ---------- */
.trust{padding-block:clamp(90px,10vw,150px) clamp(70px,8vw,120px)}
.trust-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:30px 40px}
.trust-grid .label{color:var(--fg-2);padding-top:.9em}
.statement{margin:0;font-weight:300;font-size:clamp(28px,3.4vw,54px);line-height:1.17;letter-spacing:-.025em;text-wrap:pretty}
html.js .statement .w{color:var(--fg-3);transition:color .5s}
html.js .statement .w.on{color:var(--fg)}
.stats{list-style:none;margin:clamp(60px,8vw,110px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{border-top:1px solid var(--line);padding:22px 24px 0 0}
.stat b{display:block;font-weight:200;font-size:clamp(48px,5.4vw,88px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:12px;color:var(--fg-2);font-size:15px;max-width:22ch}
@media (max-width:900px){.trust-grid{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:1fr 1fr;row-gap:36px}}

/* ---------- PORTFOLIO / RESULTS ---------- */
.pf{background:var(--bg-2);padding-block:clamp(90px,10vw,150px) clamp(48px,5vw,76px)}
.pf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.pf-head .label{color:var(--fg-2);margin-bottom:16px}
.pf-lead{margin:0;color:var(--fg-2);max-width:40ch;font-size:16px}
.fbar{position:sticky;top:0;z-index:30;margin:40px calc(var(--gut) * -1) 0;padding:12px var(--gut);background:color-mix(in srgb,var(--bg-2) 86%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border-block:1px solid var(--line);transition:top .7s var(--ease)}
.fbar.hdr-on{top:calc(var(--hdr) + env(safe-area-inset-top,0px))}
.fbar-in{display:flex;align-items:center;gap:8px}
.fbar-l{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none;padding:2px}
.fbar-l::-webkit-scrollbar{display:none}
.fbar-l.ovf{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.fbar-r{display:flex;align-items:center;gap:8px;flex:none}
.fb{height:44px;padding:0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);color:var(--fg);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:9px;cursor:pointer;white-space:nowrap;flex:none;transition:background .25s,color .25s,box-shadow .25s}
.fb:hover{box-shadow:inset 0 0 0 1px var(--fg-2)}
.fb.on{background:var(--fg);color:var(--bg);box-shadow:none}
.fb .cv{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s}
.fb[aria-expanded="true"] .cv{transform:translateY(1px) rotate(-135deg)}
.fb .n{min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:var(--bg);color:var(--fg);font-size:12px;font-weight:600;display:inline-grid;place-items:center}
.fb:not(.on) .n{background:var(--fg);color:var(--bg)}
.dseg{display:inline-flex;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);flex:none}
.dseg button{height:38px;padding:0 15px;border:0;border-radius:999px;background:none;color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.dseg button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.dseg.ic-only button{padding:0 12px}
.sortsel{position:relative;flex:none}
.sortsel select{-webkit-appearance:none;appearance:none;max-width:210px;text-overflow:ellipsis;height:44px;padding:0 38px 0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);font:500 14px var(--f);color:var(--fg);cursor:pointer}
.sortsel select option{color:#0B0B0B;background:#fff}
.sortsel::after{content:"";position:absolute;right:18px;top:17px;width:6px;height:6px;border-right:1.5px solid var(--fg);border-bottom:1.5px solid var(--fg);transform:rotate(45deg);pointer-events:none}
.fsub{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:18px;min-height:36px}
.achips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ach{height:34px;padding:0 8px 0 14px;border-radius:999px;border:0;background:var(--chip);color:var(--fg);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.ach i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;transition:background .2s}
.ach:hover i{background:rgba(127,127,127,.25)}
.ach i svg{width:9px;height:9px}
.clr{background:none;border:0;padding:0 6px;font-size:13.5px;font-weight:500;color:var(--fg-2);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.clr:hover{color:var(--fg)}
.rcount{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);font-variant-numeric:tabular-nums}
.fsub-r{display:flex;align-items:center;gap:16px;margin-left:auto}
.savebtn{height:36px;padding:0 14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:none;color:var(--fg);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.savebtn:hover{box-shadow:inset 0 0 0 1px var(--fg)}
@media (max-width:700px){
  .fbar-in{overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
  .fbar-in::-webkit-scrollbar{display:none}
  .fbar-l,.fbar-r{display:contents}
  .fbar-in [data-open-drw]{order:-1}
  .fbar-in>*>*{flex:none}
  .fb,.sortsel select{height:42px}
  .fsub-r{margin-left:0;width:100%;justify-content:space-between}
}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(40px,4vw,60px) clamp(16px,1.8vw,28px);margin-top:30px}
.pc{position:relative;min-width:0}
.pc-hit{display:block;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}
.pc-media{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--ph)}
.pc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),opacity .7s var(--ease)}
.pc-media img.b{opacity:0}
.pc-hit:hover .pc-media img{transform:scale(1.045)}
.pc-hit:hover .pc-media img.b{opacity:1}
.pc-tag{position:absolute;left:12px;top:12px;right:64px;display:flex;gap:6px;flex-wrap:wrap}
.pc-tag span{height:26px;padding:0 11px;display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.93);color:#0B0B0B;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.pc-tag span.dk{background:#0B0B0B;color:#fff}
.pc-film{position:absolute;left:12px;bottom:12px;height:30px;padding:0 12px 0 6px;border-radius:999px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.pc-film i{width:20px;height:20px;border-radius:50%;background:#fff;display:grid;place-items:center}
.pc-film i svg{width:7px;height:7px;fill:#0B0B0B;margin-left:1px}
.fav{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.93);color:#0B0B0B;display:grid;place-items:center;cursor:pointer;transition:transform .4s var(--ease)}
.fav:hover{transform:scale(1.08)}
.fav svg{width:18px;height:18px}
.fav[aria-pressed="true"]{color:var(--heart)}
.fav[aria-pressed="true"] svg path{fill:currentColor}
.pc-meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:18px}
.pc-meta .label{color:var(--fg-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-price{font-weight:500;font-size:18px;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.pc-price small{font-weight:400;font-size:13px;color:var(--fg-2)}
.pc-title{margin:8px 0 0;font-weight:300;font-size:clamp(20px,1.55vw,24px);line-height:1.22;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-specs{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--fg-2);font-size:14.5px;font-variant-numeric:tabular-nums}
.pc-specs span{display:inline-flex;align-items:center;gap:6px}
.pc-specs svg{width:15px;height:15px;opacity:.75}
.pc-ppm{margin:6px 0 0;font-size:13px;color:var(--fg-3);font-variant-numeric:tabular-nums}
.pc-hit:hover .pc-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

.lc{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:100%;box-sizing:border-box;padding:clamp(24px,2.4vw,36px);border-radius:14px;background:var(--fg);color:var(--bg)}
.lc .label{opacity:.6}
.lc h3{margin:14px 0 0;font-weight:300;font-size:clamp(28px,2.4vw,38px);line-height:1.08;letter-spacing:-.03em}
.lc p{margin:14px 0 0;opacity:.72;font-size:16px;max-width:34ch}
.lc .btn{background:var(--bg);color:var(--fg);align-self:flex-start}
.lc .btn .arr{background:var(--fg);color:var(--bg)}
.lc-avatars{display:flex;margin-top:4px}
.lc-avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--fg);margin-left:-12px}
.lc-avatars img:first-child{margin-left:0}

.more{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:clamp(50px,5vw,80px)}
.more-bar{width:220px;height:2px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.more-bar i{position:absolute;inset:0;background:var(--fg);transform-origin:left}
.more small{font-size:13px;color:var(--fg-2);font-variant-numeric:tabular-nums}

.empty{padding:40px 0 10px}
.empty h3{margin:0;font-weight:300;font-size:clamp(28px,3vw,44px);letter-spacing:-.03em}
.empty p{margin:10px 0 0;color:var(--fg-2)}
.relax{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.relax button{height:44px;padding:0 18px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);color:var(--fg);font-size:14px;font-weight:500;cursor:pointer}
.relax button b{font-weight:600}
.relax button:hover{box-shadow:inset 0 0 0 1px var(--fg)}

/* map view */
.mapv{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;margin-top:30px}
.mapbox{position:sticky;top:calc(var(--hdr) + 90px);align-self:start;border-radius:18px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.mapsvg{display:block;width:100%;height:auto}
.mapsvg .isl{fill:var(--chip);stroke:var(--fg-3);stroke-width:1.4}
.mapsvg .gl{stroke:var(--line)}
.mapsvg .gt{fill:var(--fg-3);font:500 16px var(--f);letter-spacing:2px}
.mapsvg .bub{cursor:pointer}
.mapsvg .bub circle{fill:var(--fg);transition:r .4s var(--ease),opacity .3s}
.mapsvg .bub text{fill:var(--bg);font:600 17px var(--f);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.mapsvg .bub.off circle{opacity:.18}
.mapsvg .bub.off text{opacity:0}
.mapsvg .bub.sel circle{stroke:var(--heart);stroke-width:5}
.mapsvg .bub:hover circle{opacity:.85}
.mapsvg .bub:focus{outline:none}
.mapsvg .bub:focus-visible circle{stroke:var(--fg);stroke-width:4;stroke-opacity:.5}
.maphint{position:absolute;left:16px;top:14px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.mtip{position:absolute;z-index:3;pointer-events:none;padding:10px 14px;border-radius:12px;background:var(--fg);color:var(--bg);font-size:13.5px;line-height:1.35;white-space:nowrap;transform:translate(-50%,calc(-100% - 14px));opacity:0;transition:opacity .2s}
.mtip.on{opacity:1}
.mtip b{display:block;font-weight:600}
.mlist{display:flex;flex-direction:column;gap:6px}
.mrow{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:8px;border-radius:14px;border:0;background:none;text-align:left;cursor:pointer;color:inherit;transition:background .2s}
.mrow:hover{background:var(--bg)}
.mrow img{width:112px;height:84px;border-radius:10px;object-fit:cover;background:var(--ph)}
.mrow b{display:block;font-weight:400;font-size:16px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mrow span{display:block;margin-top:4px;font-size:13.5px;color:var(--fg-2);font-variant-numeric:tabular-nums}
@media (max-width:900px){.mapv{grid-template-columns:minmax(0,1fr)}.mapbox{position:relative;top:0}}

/* ---------- POPOVER ---------- */
.pop{position:fixed;z-index:95;width:380px;max-width:calc(100vw - 32px);max-height:min(72vh,560px);display:flex;flex-direction:column;border-radius:20px;background:var(--pop);color:var(--fg);box-shadow:0 30px 80px -20px rgba(0,0,0,.5),0 0 0 1px var(--line);opacity:0;transform:translateY(8px) scale(.985);transform-origin:top left;pointer-events:none;visibility:hidden;transition:opacity .22s,transform .35s var(--ease),visibility 0s .35s}
.pop.on{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .22s,transform .35s var(--ease),visibility 0s}
.pop.w-l{width:420px}
.pop-h{padding:18px 20px 10px;flex:none}
.pop-h .label{color:var(--fg-2);font-size:12px}
.pop-b{padding:4px 12px 12px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.pop-f{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 14px 20px;border-top:1px solid var(--line);flex:none}
.pop-f .btn{height:46px}
.pop-f .btn .arr{width:30px;height:30px}
.sfield{position:relative;margin-top:10px}
.sfield svg{position:absolute;left:14px;top:50%;width:15px;height:15px;transform:translateY(-50%);opacity:.6;pointer-events:none}
.sfield input{box-sizing:border-box;width:100%;height:46px;padding:0 14px 0 40px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--field);color:var(--fg);font:400 16px var(--f)}
.sfield input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--fg)}
.grp{padding-top:10px}
.grp-h{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 6px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.grp-h button{background:none;border:0;padding:0;font:inherit;letter-spacing:.1em;color:var(--fg-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-transform:none;font-size:12px}
.ck{display:flex;width:100%;align-items:center;gap:12px;padding:10px 8px;border:0;border-radius:10px;background:none;cursor:pointer;text-align:left;font-size:15.5px;color:inherit}
.ck:hover,.ck:focus-visible{background:var(--chip);outline:none}
.ck .bx{width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--fg-3);flex:none;display:grid;place-items:center;transition:background .2s}
.ck .bx svg{width:11px;height:11px;opacity:0;color:var(--bg)}
.ck[aria-checked="true"] .bx{background:var(--fg);box-shadow:none}
.ck[aria-checked="true"] .bx svg{opacity:1}
.ck .nm{flex:1;min-width:0}
.ck small{font-size:12.5px;font-weight:500;color:var(--fg-2);font-variant-numeric:tabular-nums}
.ck[disabled]{opacity:.35;cursor:default}
.ck[disabled]:hover{background:none}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills button{height:42px;min-width:54px;padding:0 14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:none;color:var(--fg);font-size:14.5px;font-weight:500;cursor:pointer;font-variant-numeric:tabular-nums}
.pills button:hover{box-shadow:inset 0 0 0 1px var(--fg-2)}
.pills button[aria-pressed="true"]{background:var(--fg);color:var(--bg);box-shadow:none}
.pills button[disabled]{opacity:.3;cursor:default}
.sub-l{margin:14px 8px 10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.hist{display:flex;align-items:flex-end;gap:3px;height:64px;margin:6px 4px 0}
.hist i{flex:1;background:var(--fg-3);border-radius:3px 3px 0 0;min-height:2px;opacity:.35;transition:opacity .25s,height .4s var(--ease)}
.hist i.in{background:var(--fg);opacity:1}
.mm{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin:14px 4px 0}
.mm .dash{padding-bottom:14px;color:var(--fg-3)}
.sel{display:flex;flex-direction:column;gap:6px;min-width:0}
.sel span{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.sel select{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;height:48px;padding:0 34px 0 14px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--fg);font:400 15.5px var(--f);cursor:pointer}
.sel select option{color:#0B0B0B;background:#fff}
.sel select:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--fg)}
.presets{display:flex;flex-wrap:wrap;gap:6px;margin:14px 4px 4px}
.presets button{height:34px;padding:0 12px;border-radius:999px;border:0;background:var(--chip);color:var(--fg);font-size:13px;font-weight:500;cursor:pointer}
.presets button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.scrim{position:fixed;inset:0;z-index:84;background:var(--scrim);opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.scrim.on{opacity:1;visibility:visible;transition:opacity .45s,visibility 0s}
@media (max-width:700px){
  .pop,.pop.w-l{left:0!important;right:0;top:auto!important;bottom:0;width:100%;max-width:none;max-height:84vh;border-radius:22px 22px 0 0;transform:translateY(100%);transform-origin:bottom center;padding-bottom:env(safe-area-inset-bottom,0px)}
  .pop.on{transform:none}
  .pop-h::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--line);margin:-6px auto 12px}
}

/* ---------- DRAWER (all filters + favourites) ---------- */
.drw{position:fixed;top:0;right:0;bottom:0;z-index:86;width:min(560px,100vw);display:flex;flex-direction:column;background:var(--card);color:var(--fg);box-shadow:-30px 0 80px -30px rgba(0,0,0,.5);transform:translateX(104%);visibility:hidden;transition:transform .8s var(--ease),visibility 0s .8s}
.drw.open{transform:none;visibility:visible;transition:transform .8s var(--ease),visibility 0s}
.drw-h{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(18px + env(safe-area-inset-top,0px)) 24px 18px 28px;border-bottom:1px solid var(--line);flex:none}
.drw-h h2{margin:0;font-weight:300;font-size:28px;letter-spacing:-.02em}
.xbtn{width:46px;height:46px;border-radius:50%;border:0;background:var(--chip);color:var(--fg);display:grid;place-items:center;cursor:pointer;flex:none;transition:transform .5s var(--ease)}
.xbtn:hover{transform:rotate(90deg)}
.xbtn svg{width:14px;height:14px}
.drw-b{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 28px 30px}
.drw-f{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px)) 28px;border-top:1px solid var(--line);flex:none}
.drw-f .btn{flex:0 1 auto}
.drw-f .clr{white-space:nowrap}
.ds{padding:24px 0;border-bottom:1px solid var(--line)}
.ds:last-child{border-bottom:0}
.ds h3{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
.ds h4{margin:18px 0 10px;font-size:13px;font-weight:500;color:var(--fg-2)}
.ds h4:first-of-type{margin-top:0}
.tgs{display:flex;flex-wrap:wrap;gap:8px}
.tg{height:40px;padding:0 14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:none;color:var(--fg);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.tg:hover{box-shadow:inset 0 0 0 1px var(--fg-2)}
.tg small{font-size:12px;opacity:.55;font-variant-numeric:tabular-nums}
.tg[aria-pressed="true"]{background:var(--fg);color:var(--bg);box-shadow:none}
.tg[aria-pressed="true"] small{opacity:.7}
.tg[disabled]{opacity:.3;cursor:default}
.tg.hot{box-shadow:inset 0 0 0 1px var(--fg-2)}
.mm2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.swt{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:6px 0;border:0;background:none;color:inherit;font-size:16px;text-align:left;cursor:pointer}
.swt i{width:48px;height:28px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:background .3s}
.swt i::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--bg);box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .35s var(--ease)}
.swt[aria-checked="true"] i{background:var(--fg)}
.swt[aria-checked="true"] i::after{transform:translateX(20px)}
.swt small{color:var(--fg-2);font-size:13px}

/* favourites list */
.fvl{display:flex;flex-direction:column}
.fvr{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.fvr img{width:120px;height:90px;border-radius:10px;object-fit:cover;background:var(--ph);cursor:pointer}
.fvr b{display:block;font-weight:400;font-size:16px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.fvr span{display:block;margin-top:4px;font-size:13.5px;color:var(--fg-2)}
.fvr .xbtn{width:38px;height:38px}
.fv-empty{padding:60px 0;text-align:center;color:var(--fg-2)}
.fv-empty svg{width:34px;height:34px;opacity:.5;margin-bottom:12px}

/* ---------- DETAIL SHEET ---------- */
.sheet{position:fixed;inset:0;z-index:80;background:var(--bg);color:var(--fg);transform:translateY(102%);visibility:hidden;transition:transform 1s var(--ease-io),visibility 0s 1s;overflow-y:auto;overscroll-behavior:contain}
.sheet.open{transform:none;visibility:visible;transition:transform 1s var(--ease-io),visibility 0s}
.sh-top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) var(--gut) 12px;background:var(--hdr-solid);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.sh-back{height:44px;padding:0 18px 0 12px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.sh-back svg{width:14px;height:14px}
.sh-ref{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-tools{display:flex;gap:8px}
.ibtn{height:44px;padding:0 16px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.ibtn:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.ibtn svg{width:17px;height:17px}
.ibtn[aria-pressed="true"]{color:var(--heart)}
.ibtn[aria-pressed="true"] svg path{fill:currentColor}
.ibtn.x{width:44px;padding:0;justify-content:center;background:var(--fg);color:var(--bg);box-shadow:none}
.ibtn.x svg{width:13px;height:13px}
@media (max-width:700px){.ibtn .t{display:none}.ibtn{width:44px;padding:0;justify-content:center}.sh-ref{flex:none;margin:0 auto;height:32px;padding:0 13px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);display:inline-flex;align-items:center;color:var(--fg);font-size:12px;font-weight:600;letter-spacing:.14em}.sh-ref .ar{display:none}.sh-back span{display:none}.sh-back{width:44px;padding:0;justify-content:center}}
.mos-w{position:relative;margin:16px var(--gut) 0}
.mosaic{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:8px;height:min(74vh,54vw);min-height:300px;border-radius:18px;overflow:hidden}
.mosaic button{position:relative;display:block;border:0;padding:0;background:var(--ph);overflow:hidden;cursor:zoom-in}
.mosaic button:first-child{grid-row:1/3}
.mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mosaic button:hover img{transform:scale(1.035)}
.mosaic .only{grid-column:1/-1}
.mo-m{display:none!important}
@media (max-width:700px){.mo-m{display:inline-flex!important}}
.mo-all{position:absolute;right:14px;bottom:14px;height:40px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.93);color:#0B0B0B;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:8px}
.mo-film{position:absolute;left:16px;bottom:16px;border:0;cursor:pointer;font-family:inherit;height:48px;padding:0 20px 0 6px;border-radius:999px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:12px;text-decoration:none;z-index:2}
.mo-film i{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center}
.mo-film i svg{width:10px;height:10px;fill:#0B0B0B;margin-left:2px}
@media (max-width:700px){.mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto;min-height:0}.mosaic button{aspect-ratio:4/3}.mosaic button:first-child{grid-row:auto}.mosaic button:nth-child(n+2){display:none}}
.sh-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px clamp(40px,5vw,90px);padding:clamp(34px,4vw,56px) var(--gut) 40px}
.sh-kick{margin:0;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2)}
.sh-title{margin:14px 0 0;font-weight:300;font-size:clamp(32px,3.6vw,58px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:34px 0 0;border-top:1px solid var(--line)}
.facts div{padding:18px 16px 0 0}
.facts dt{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.facts dd{margin:8px 0 0;font-weight:300;font-size:clamp(26px,2.2vw,34px);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.facts dd small{font-size:.5em;letter-spacing:0;margin-left:3px}
.sh-desc{margin:36px 0 0;font-size:18.5px;line-height:1.65;color:var(--fg);max-width:62ch;position:relative}
.sh-desc.clip{overflow:hidden;transition:max-height .9s var(--ease-io)}
.sh-desc.clip:not(.full){-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 150px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 150px),transparent)}
.sd-in>:first-child{margin-top:0}
.sd-in p,.sd-in ul,.sd-in ol{margin:0 0 1.05em;opacity:.86}
.sd-in h3{margin:1.9em 0 .7em;font-size:clamp(22px,1.8vw,27px);font-weight:300;line-height:1.22;letter-spacing:-.015em;text-wrap:balance}
.sd-in h4{margin:2.3em 0 1em;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
.sd-in ul,.sd-in ol{padding-left:1.15em}
.sd-in li{margin:.35em 0;padding-left:.2em}
.sd-in li::marker{color:var(--fg-2)}
.sd-in strong{font-weight:500}
.sd-in a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:text-decoration-color .3s}
.sd-in a:hover{text-decoration-color:currentColor}
.sd-in ul.glance{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));border-top:1px solid var(--line);opacity:1;margin:0 0 1.6em}
.sd-in ul.glance li{margin:0;padding:16px 18px 15px 0;border-bottom:1px solid var(--line)}
.sd-in ul.glance span{display:block;margin-bottom:5px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);line-height:1.4}
.sd-in ul.glance strong{display:block;font-size:17px;font-weight:400;line-height:1.35}
.sd-more{margin:20px 0 0}
.sd-btn{height:48px;padding:0 22px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:inherit;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:14px;cursor:pointer;transition:box-shadow .35s var(--ease)}
.sd-btn:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.sd-btn i{position:relative;width:12px;height:12px;flex:none}
.sd-btn i::before,.sd-btn i::after{content:"";position:absolute;left:0;top:5.5px;width:12px;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.sd-btn i::after{transform:rotate(90deg)}
.sd-btn[aria-expanded="true"] i::after{transform:rotate(0)}
@media (max-width:700px){.sh-desc{font-size:17px}.sd-in ul.glance{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-in ul.glance strong{font-size:15.5px}.sd-btn{width:100%;justify-content:space-between}}
@media print{.sh-desc.clip{max-height:none!important;-webkit-mask-image:none;mask-image:none}.sd-more{display:none}}
.sh-sec{margin-top:44px}
.sh-sec h3{margin:0 0 16px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchips span{height:38px;padding:0 14px 0 10px;border-radius:999px;background:var(--chip);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px}
.fchips span svg{width:14px;height:14px;opacity:.7}
.fchips span.hot{background:var(--fg);color:var(--bg)}
.dists{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));border-top:1px solid var(--line)}
.dists div{display:flex;justify-content:space-between;gap:12px;padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}
.dists dt{color:var(--fg-2)}
.dists dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.xlinks{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px}
.enq{position:sticky;top:calc(84px + env(safe-area-inset-top,0px));align-self:start;border-radius:22px;padding:clamp(22px,2.2vw,32px);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.enq-price{margin:0;font-weight:300;font-size:clamp(34px,3vw,48px);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.enq-price small{font-size:.42em;letter-spacing:0;color:var(--fg-2);margin-left:6px}
.enq-sub{margin:10px 0 0;font-size:14px;color:var(--fg-2);font-variant-numeric:tabular-nums}
.enq>h3{margin:26px 0 14px;font-weight:400;font-size:21px;letter-spacing:-.01em}
.enq .dseg{width:100%;box-sizing:border-box;margin-bottom:14px}
.enq .dseg button{flex:1;justify-content:center}
.enq-alt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.enq-alt a,.enq-alt button{height:46px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:none;color:var(--fg);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer}
.enq-alt a:hover,.enq-alt button:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.agent{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.agent i{width:48px;height:48px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-style:normal;font-size:15px;font-weight:500;letter-spacing:.06em;flex:none}
.agent b{display:block;font-weight:500;font-size:15.5px}
.agent span{display:block;font-size:13px;color:var(--fg-2);line-height:1.4}
.similar{padding:20px var(--gut) clamp(80px,8vw,120px)}
.similar>h3{margin:0 0 6px;font-weight:300;font-size:clamp(28px,2.6vw,40px);letter-spacing:-.03em}
.similar .grid{margin-top:26px}
.sh-cta{display:none}
@media (max-width:900px){
  .sh-body{grid-template-columns:minmax(0,1fr)}
  .enq{position:relative;top:0}
  .sh-cta{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom,0px));background:var(--hdr-solid);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
  .sh-cta b{font-weight:500;font-size:clamp(18px,5.4vw,21px);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .sh-cta b small{font-size:.62em;font-weight:400;opacity:.75}
  .sh-cta b.por{font-size:clamp(15px,4.4vw,18px)}
  .sh-cta .btn{flex:none}

  .sh-cta .btn{height:48px;padding-left:18px;gap:10px;font-size:14.5px;letter-spacing:0}
}

/* ---------- LIGHTBOX ---------- */
.lb{position:fixed;inset:0;z-index:92;background:rgba(0,0,0,.94);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s;touch-action:pan-y}
.lb.open{opacity:1;visibility:visible;transition:opacity .4s,visibility 0s}
.lb img{max-width:calc(100vw - 160px);max-height:calc(100vh - 140px);object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none}
.lb-n{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);font-size:13px;font-weight:500;letter-spacing:.16em;font-variant-numeric:tabular-nums}
.lb-x{position:absolute;right:20px;top:calc(18px + env(safe-area-inset-top,0px))}
.lb-p,.lb-nx{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer}
.lb-p{left:24px}.lb-nx{right:24px}
.lb-p:hover,.lb-nx:hover{background:rgba(255,255,255,.24)}
.lb-p svg,.lb-nx svg{width:16px;height:16px}
.lb .xbtn{background:rgba(255,255,255,.14);color:#fff}
@media (max-width:700px){.lb img{max-width:100vw;max-height:80vh;border-radius:0}.lb-p,.lb-nx{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:none;width:48px;height:48px}}

/* ---------- MODAL ---------- */
.mdl{position:fixed;left:50%;top:50%;z-index:91;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:clamp(24px,3vw,40px);border-radius:24px;background:var(--card);color:var(--fg);box-shadow:0 40px 120px -30px rgba(0,0,0,.6),0 0 0 1px var(--line);transform:translate(-50%,-46%) scale(.98);opacity:0;visibility:hidden;transition:opacity .3s,transform .5s var(--ease),visibility 0s .5s}
.mdl.open{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .3s,transform .5s var(--ease),visibility 0s}
.mdl .xbtn{position:absolute;right:16px;top:16px}
.mdl .label{color:var(--fg-2)}
.mdl h2{margin:12px 48px 0 0;font-weight:300;font-size:clamp(28px,2.6vw,38px);line-height:1.08;letter-spacing:-.03em}
.mdl .intro{margin:12px 0 0;color:var(--fg-2);font-size:16px}
.mdl .lf{margin-top:24px}
.crit{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.crit span{height:30px;padding:0 12px;border-radius:999px;background:var(--chip);font-size:13px;font-weight:500;display:inline-flex;align-items:center}
.mdl-prop{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin-top:18px;padding:10px;border-radius:14px;background:var(--bg-2)}
.mdl-prop img{width:96px;height:72px;border-radius:9px;object-fit:cover}
.mdl-prop b{display:block;font-weight:400;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mdl-prop span{display:block;font-size:13px;color:var(--fg-2);margin-top:3px}
@media (max-width:700px){
  .mdl{left:0;right:0;top:auto;bottom:0;width:100%;max-height:92vh;border-radius:24px 24px 0 0;transform:translateY(100%);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
  .mdl.open{transform:none}
}

/* ---------- LEAD FORMS (theme aware) ---------- */
/* Keep dialog controls outside the scrolling content on touch screens.
   svh accounts for Safari's expanded browser chrome, including landscape. */
@media (max-width:700px), (hover:none) and (pointer:coarse){
  .mdl{display:flex;flex-direction:column;overflow:hidden;padding-top:72px;max-height:calc(100vh - 32px);max-height:calc(100svh - 32px - env(safe-area-inset-top,0px))}
  .mdl>.xbtn{z-index:2;min-width:44px;min-height:44px}
  #mdlB{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

.lf{display:grid;gap:14px}
.lf .r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lf .f{display:flex;flex-direction:column;gap:6px;min-width:0}
.lf .f>span{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.lf input:not([type=checkbox]),.lf select,.lf textarea{box-sizing:border-box;width:100%;height:50px;padding:0 16px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--field);color:var(--fg);font:400 16px var(--f);transition:box-shadow .2s}
.lf select{-webkit-appearance:none;appearance:none;padding-right:36px;background:var(--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 16px center;cursor:pointer}
.lf select option{color:#0B0B0B;background:#fff}
.lf textarea{height:auto;min-height:92px;padding:13px 16px;line-height:1.5;resize:vertical}
.lf input:focus,.lf select:focus,.lf textarea:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--fg)}
.lf .bad{box-shadow:inset 0 0 0 1.5px #E0694B!important}
.lf input::placeholder,.lf textarea::placeholder{color:var(--fg-3)}
.lf input[type=date]{color-scheme:inherit}
.cons{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--fg-2);cursor:pointer}
.cons input{-webkit-appearance:none;appearance:none;width:20px;height:20px;flex:none;margin:0;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--fg-3);background:transparent;cursor:pointer;display:grid;place-items:center}
.cons input::after{content:"";width:5px;height:10px;border-right:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:translateY(-1px) rotate(45deg);opacity:0}
.cons input:checked{background:var(--fg);box-shadow:none}
.cons input:checked::after{opacity:1}
.cons.bad input{box-shadow:inset 0 0 0 1.5px #E0694B}
.lf .btn.full{width:100%;justify-content:space-between}
.lf .note{margin:0;font-size:12.5px;color:var(--fg-3);text-align:center}
.btn.full{width:100%;justify-content:space-between;box-sizing:border-box}
.ok{text-align:left}
.ok-i{width:56px;height:56px;border-radius:50%;background:var(--good);color:#0B0B0B;display:grid;place-items:center}
.ok-i svg{width:22px;height:22px}
.ok h3{margin:20px 0 0;font-weight:300;font-size:clamp(28px,2.6vw,36px);letter-spacing:-.03em;line-height:1.08}
.ok p{margin:12px 0 0;color:var(--fg-2);font-size:15.5px}
.ok .btn{margin-top:22px}
.ok .sum{margin:18px 0 0;padding:14px 16px;border-radius:12px;background:var(--bg-2);font-size:14px;line-height:1.55;white-space:pre-line;color:var(--fg-2);max-height:160px;overflow:auto}
.ok .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ---------- TOAST + NUDGE + MOBILE BAR ---------- */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:96;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:10px 10px 10px 20px;border-radius:18px;background:var(--fg);color:var(--bg);box-shadow:0 20px 60px -20px rgba(0,0,0,.5);font-size:14.5px;transform:translate(-50%,160%);transition:transform .7s var(--ease)}
.toast.on{transform:translate(-50%,0)}
.toast button.go{height:40px;padding:0 16px;border-radius:12px;border:0;background:var(--bg);color:var(--fg);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap}
.toast .tx{background:none;border:0;color:inherit;opacity:.6;cursor:pointer;padding:6px;display:grid;place-items:center}
.toast .tx svg{width:11px;height:11px}
.toast.nob button.go{display:none}
.nudge{position:fixed;left:24px;bottom:24px;z-index:88;width:min(380px,calc(100vw - 32px));border-radius:22px;overflow:hidden;background:var(--card);color:var(--fg);box-shadow:0 40px 100px -30px rgba(0,0,0,.65),0 0 0 1px var(--line);transform:translateY(calc(100% + 160px));visibility:hidden;transition:transform .9s var(--ease),visibility 0s .9s}
.nudge.on{visibility:visible;transition:transform .9s var(--ease),visibility 0s}
.nudge.on{transform:none}
.nudge-img{position:relative;height:150px;background:var(--ph)}
.nudge-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nudge .xbtn{position:absolute;right:12px;top:12px;width:38px;height:38px;background:rgba(255,255,255,.9);color:#0B0B0B}
.nudge-b{padding:22px 24px 24px}
.nudge-b .label{color:var(--fg-2);font-size:12px}
.nudge-b h3{margin:10px 0 0;font-weight:300;font-size:25px;line-height:1.12;letter-spacing:-.02em}
.nudge-b .btn{margin-top:18px}
@media (max-width:700px){.nudge{left:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.mbar{display:none}
@media (max-width:1100px){
  .mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:50;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px;padding:6px;border-radius:20px;background:var(--hdr-solid);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 20px 50px -20px rgba(0,0,0,.5),0 0 0 1px var(--line);transform:translateY(calc(100% + 30px));transition:transform .6s var(--ease)}
  .mbar.on{transform:none}
  .mbar a,.mbar button{height:48px;border-radius:14px;border:0;background:none;color:var(--fg);font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer}
  .mbar .pri{background:var(--fg);color:var(--bg)}
  .mbar svg{width:17px;height:17px}
}

/* ---------- AREAS extras ---------- */
.amore{margin-top:26px;background:none;border:0;padding:0;color:rgba(243,240,234,.7);font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.amore:hover{color:#fff}

/* ---------- SELL + VALUATION ---------- */
.sell{background:var(--bg);padding-block:clamp(70px,8vw,120px) clamp(70px,8vw,110px)}
.sell-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:50px clamp(40px,6vw,100px);align-items:start}
.sell .label{color:var(--fg-2);margin-bottom:16px}
.sell .lead{color:var(--fg-2);margin:24px 0 0;max-width:44ch}
.steps{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 16px;padding:20px 0;border-bottom:1px solid var(--line)}
.steps .n{font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--fg-2);padding-top:5px;font-variant-numeric:tabular-nums}
.steps h3{margin:0;font-weight:400;font-size:clamp(19px,1.5vw,23px);letter-spacing:-.015em;line-height:1.25}
.steps p{grid-column:2;margin:0;color:var(--fg-2);max-width:50ch;font-size:15.5px}
.val-wrap{position:relative;border-radius:24px;overflow:hidden;padding:clamp(16px,4vw,60px);min-height:640px;display:flex;align-items:center;justify-content:center;background:var(--ph)}
.val-wrap>img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;will-change:transform}
.val{position:relative;width:100%;max-width:540px;box-sizing:border-box;padding:clamp(22px,2.6vw,36px);border-radius:20px;background:var(--card);color:var(--fg);box-shadow:0 40px 100px -30px rgba(0,0,0,.6)}
.val-top{display:flex;justify-content:space-between;align-items:center;gap:4px 14px;flex-wrap:wrap}
.val-top small{white-space:nowrap}
.val-top .label{color:var(--fg-2);margin:0}
.val-top small{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--fg-2);font-variant-numeric:tabular-nums}
.val-bar{height:2px;background:var(--line);margin-top:14px;border-radius:2px;overflow:hidden}
.val-bar i{display:block;height:100%;background:var(--fg);transition:width .6s var(--ease)}
.val h3{margin:22px 0 18px;font-weight:300;font-size:clamp(26px,2.2vw,34px);letter-spacing:-.025em;line-height:1.1}
.val-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.val-nav .clr{padding:0}
@media (max-width:900px){.sell-grid{grid-template-columns:minmax(0,1fr)}.val-wrap{min-height:0;padding:14px}}

/* ---------- CONTACT extras + NEWSLETTER ---------- */
.fld .cons{color:rgba(243,240,234,.6)}
.fld .cons input{box-shadow:inset 0 0 0 1.5px rgba(243,240,234,.45)}
.fld .cons input::after{border-color:#0B0B0B}
.fld .cons input:checked{background:#fff}
.re{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:10px 10px 10px 10px;border-radius:14px;background:rgba(255,255,255,.07)}
.re img{width:72px;height:54px;border-radius:8px;object-fit:cover}
.re span{flex:1;min-width:0;font-size:14.5px;line-height:1.35}
.re span small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.re button{background:none;border:0;color:#fff;opacity:.6;cursor:pointer;padding:8px}
.re button svg{width:12px;height:12px}
.nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 60px;align-items:end;padding-bottom:clamp(40px,5vw,70px)}
.nl h2{margin:0;font-weight:300;font-size:clamp(34px,3.6vw,58px);letter-spacing:-.035em;line-height:1}
.nl p{margin:14px 0 0;color:rgba(243,240,234,.6);max-width:44ch}
.nl-f{display:flex;gap:8px;padding:6px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--band-line)}
.nl-f input{flex:1;min-width:0;height:52px;padding:0 20px;border:0;background:none;color:#fff;font:400 16px var(--f)}
.nl-f input:focus{outline:none}
.nl-f input::placeholder{color:rgba(243,240,234,.45)}
.nl-f.bad{box-shadow:inset 0 0 0 1.5px #E0694B}
.nl-ok{font-size:15px;color:rgba(243,240,234,.8)}
@media (max-width:900px){.nl{grid-template-columns:minmax(0,1fr)}}

.pc.fresh,.lc.fresh{animation:rise .9s var(--ease) both;animation-delay:calc(min(var(--i),8) * 50ms)}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
.ferr{margin:0;font-size:13px;color:#E0694B}
.sent{--fg:#0B0B0B;--fg-2:#6D6B65;--fg-3:#A6A49E;--bg-2:#F3F2EE;--btn-bg:#0B0B0B;--btn-fg:#fff;--line:rgba(11,11,11,.12);color:#0B0B0B}
.fld label.cons{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:rgba(243,240,234,.62)}
.fld .cons input[type=checkbox]{width:20px;height:20px;padding:0;border:0;border-radius:6px;flex:none}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html.js [data-rv]{transform:none;opacity:1}
  html.js [data-rvi] img{transform:none}
}

/* =====================================================================
   v5: card slider, pager, journal, portrait, phone fields, FAB
   ===================================================================== */
.pc-media{touch-action:pan-y}
.pc-track{position:absolute;inset:0;display:flex;transition:transform .6s var(--ease);will-change:transform}
.pc-media .pc-track img{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%;object-fit:cover;opacity:1;transition:none;user-select:none;-webkit-user-drag:none}
.pc-open{position:absolute;inset:0;z-index:1;border:0;padding:0;background:none;cursor:pointer}
.pc-tag,.pc-film,.pc-dots{z-index:2;pointer-events:none}
.pc-arr{position:absolute;top:50%;z-index:3;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:0;background:rgba(255,255,255,.93);color:#0B0B0B;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .3s,transform .3s var(--ease)}
.pc-arr svg{width:13px;height:13px}
.pc-arr.prev{left:12px}.pc-arr.next{right:12px}
.pc-media:hover .pc-arr,.pc-arr:focus-visible{opacity:1}
.pc-arr:hover{transform:scale(1.08)}
@media (hover:none){.pc-arr{display:none}}
.pc-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:6px}
.pc-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);transition:background .3s,transform .3s}
.pc-dots i.on{background:#fff;transform:scale(1.25)}
.pc-hit{margin-top:0}
.pc-hit:hover .pc-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

.pager{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:clamp(50px,5vw,80px)}
.pager-in{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.pager button{min-width:46px;height:46px;padding:0 14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:none;color:var(--fg);font-size:15px;font-weight:500;cursor:pointer;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pager button:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.pager button[aria-current="page"]{background:var(--fg);color:var(--bg);box-shadow:none}
.pager button[disabled]{opacity:.3;cursor:default}
.pager button svg{width:13px;height:13px}
.pager .gap{min-width:24px;text-align:center;color:var(--fg-3)}
.pager small{font-size:13px;color:var(--fg-2);font-variant-numeric:tabular-nums}
@media (max-width:700px){.pager .pn{display:none}.pager .pn.near{display:inline-flex}.pager .gap{display:none}}

.jr{background:var(--bg);padding-block:clamp(70px,8vw,110px) clamp(40px,5vw,80px)}
.jr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap}
.jr-head .label{color:var(--fg-2);margin-bottom:16px}
.jr-head>p{margin:0;color:var(--fg-2);max-width:44ch}
.jr-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,30px);margin-top:clamp(40px,5vw,64px)}
.jc{display:block;text-decoration:none;color:inherit}
.jc-img{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--ph)}
.jc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.jc:hover .jc-img img{transform:scale(1.045)}
.jc-meta{margin:18px 0 0;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.jc h3{margin:10px 0 0;font-weight:300;font-size:clamp(21px,1.6vw,26px);line-height:1.22;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jc-x{margin:12px 0 0;color:var(--fg-2);font-size:15.5px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jc-go{display:inline-block;margin-top:14px;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:2px}
.jc:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.jr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin-top:clamp(40px,4vw,60px);border-top:1px solid var(--line)}
.jr-list .jc{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.jr-list .jc-img{aspect-ratio:4/3;border-radius:10px}
.jr-list .jc-meta{margin:0}
.jr-list .jc h3{font-size:18px;margin-top:6px;-webkit-line-clamp:2}
.jr-list .jc-go{display:none}
@media (max-width:900px){.jr-feat{grid-template-columns:minmax(0,1fr)}.jr-list{grid-template-columns:minmax(0,1fr)}.jr-list .jc{grid-template-columns:104px minmax(0,1fr)}}

.ct-me{display:flex;align-items:center;gap:18px;margin-top:34px}
.ct-me img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--band-line)}
.ct-me b{display:block;font-weight:500;font-size:18px}
.ct-me span{display:block;margin-top:2px;font-size:14px;color:rgba(243,240,234,.6)}
.agent img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}

.ph{display:grid;grid-template-columns:minmax(0,112px) minmax(0,1fr);gap:8px}
.lf .ph select{padding-right:28px;background-position:right 10px center}
.fld .ph select{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;background:transparent;border:0;border-bottom:1px solid rgba(243,240,234,.26);border-radius:0;color:#fff;font:400 18px/1.4 var(--f);padding:10px 0;cursor:pointer}
.fld .ph select option{color:#0B0B0B;background:#fff}
.form .full,.nl-form .full{grid-column:1/-1}
.fld .bad{border-bottom-color:#E0694B!important;box-shadow:none!important}
.form .ferr,.nl-form .ferr{margin:0;color:#F0A987;font-size:14px}

.nl{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start}
.nl-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.nl-foot{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
.nl-foot .cons{flex:1 1 280px}
@media (max-width:900px){.nl{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.nl-form{grid-template-columns:minmax(0,1fr)}}
.ft-logo{position:relative}
.ft-slogan{margin:clamp(14px,2vw,26px) 0 0;text-align:right;font-size:clamp(12px,1.2vw,16px);font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:rgba(243,240,234,.6)}
.ft-base nav+nav{margin-left:auto}

.fab{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:10px;transform:translateY(calc(100% + 40px));transition:transform .7s var(--ease)}
.fab.on{transform:none}
.fab-b{display:flex;align-items:center;gap:12px;height:60px;padding:0 22px 0 6px;border-radius:999px;border:0;background:var(--fg);color:var(--bg);font-size:14.5px;font-weight:500;cursor:pointer;box-shadow:0 20px 50px -18px rgba(0,0,0,.55)}
.fab-b img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.fab-m{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:18px;background:var(--pop);box-shadow:0 30px 70px -20px rgba(0,0,0,.5),0 0 0 1px var(--line)}
.fab-m[hidden]{display:none}
.fab-m a,.fab-m button{height:44px;padding:0 18px;border-radius:12px;border:0;background:none;color:var(--fg);font:500 14.5px var(--f);text-decoration:none;display:flex;align-items:center;cursor:pointer;text-align:left}
.fab-m a:hover,.fab-m button:hover{background:var(--chip)}
@media (max-width:1100px){.fab{display:none}}

/* =====================================================================
   v6: exclusive, film embed, FAQ, index, contact button, enquiry
   ===================================================================== */
.pc-tag span.ex{background:rgba(11,11,11,.86);color:#fff}
.sh-expo p{margin:0 0 18px;color:var(--fg-2);max-width:52ch}
.yt{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}
.yt iframe,.vm-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:14px;height:60px;padding:0 26px 0 8px;border-radius:999px;border:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:500 15px var(--f);cursor:pointer}
.yt-play i{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center}
.yt-play i svg{width:13px;height:13px;fill:#0B0B0B;margin-left:3px}
.yt-fb{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;color:#fff;background:#0B0B0B}
.yt-fb p{margin:0;max-width:44ch;color:rgba(255,255,255,.75)}
.vm{position:fixed;inset:0;z-index:93;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.92);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.vm.open{opacity:1;visibility:visible;transition:opacity .4s,visibility 0s}
.vm-box{position:relative;width:min(1280px,92vw,calc((100vh - 120px) * 16 / 9));aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}
.vm-x{position:absolute;right:20px;top:calc(18px + env(safe-area-inset-top,0px));background:rgba(255,255,255,.14)!important;color:#fff!important}
.faq{background:var(--bg);padding-block:clamp(70px,8vw,110px)}
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:30px clamp(40px,6vw,100px);align-items:start}
.faq .label{color:var(--fg-2);margin-bottom:16px}
.faq-list{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary h3{margin:0;font-weight:400;font-size:clamp(18px,1.5vw,22px);line-height:1.35;letter-spacing:-.01em}
.qa summary i{position:relative;width:16px;height:16px;flex:none}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i::after{transform:rotate(0)}
.qa p{margin:0 0 24px;color:var(--fg-2);max-width:68ch;line-height:1.65}
@media (max-width:900px){.faq-grid{grid-template-columns:minmax(0,1fr)}}
.idx{margin-top:26px;border-top:1px solid var(--band-line);padding-top:18px;color:rgba(243,240,234,.55);font-size:14px}
.idx summary{cursor:pointer;font-weight:500;letter-spacing:.04em}
.idx summary:hover{color:#fff}
.idx-in{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px 50px;margin-top:22px}
.idx h3{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,240,234,.45)}
.idx ul{list-style:none;margin:0;padding:0;columns:2 280px;column-gap:40px}
.idx li{break-inside:avoid;padding:5px 0;line-height:1.4}
.idx li a{text-decoration:none;color:rgba(243,240,234,.8)}
.idx li a:hover{color:#fff;text-decoration:underline}
.idx li span{display:block;font-size:12px;color:rgba(243,240,234,.4)}
.idx ul.idx-lp{columns:1;margin-bottom:26px}
.idx .idx-lp li.d1{padding-left:14px}.idx .idx-lp li.d2{padding-left:28px}
.sh-lp{margin:18px 0 0;font-size:15px}
.sh-lp a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.sh-lp a:hover{text-decoration-color:currentColor}
@media (max-width:900px){.idx-in{grid-template-columns:minmax(0,1fr)}}
.fab-logo{display:grid;place-items:center;height:48px;padding:0 14px;border-radius:999px;background:#0B0B0B;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.fab-logo img{width:74px;height:auto;display:block}
.fab-b{padding-left:6px}
.fab-m a,.fab-m button{gap:12px;height:50px}
.fab-m i{width:34px;height:34px;border-radius:50%;background:var(--chip);display:grid;place-items:center;flex:none;color:var(--fg)}
.fab-m i.wa{background:#25D366;color:#fff}
.fab-m i svg{width:17px;height:17px}
.eq-sec{display:grid;gap:14px}
.eq-int{width:100%;box-sizing:border-box;flex-wrap:wrap}
.eq-int button{flex:1 1 auto;justify-content:center}

/* v6 · header legibility while the knockout zooms into bright sky */
[data-theme="night"] .hero-stage::after{content:"";position:absolute;left:0;right:0;top:0;height:200px;z-index:6;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.18) 55%,transparent);opacity:var(--tg,0);pointer-events:none}
.cc-ex{position:absolute;left:16px;top:16px;z-index:2;height:30px;padding:0 14px;display:inline-flex;align-items:center;border-radius:999px;background:rgba(11,11,11,.84);color:#fff;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fab-logo img{border-radius:0;object-fit:contain;width:78px;height:auto}
.dists{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));column-gap:28px}
.dists div{padding-right:0}
@media (min-width:901px){.cc-media img{max-width:none}}

/* v7 · show more instead of pages */
.more{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:clamp(50px,5vw,80px);text-align:center}
.more-n{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);font-variant-numeric:tabular-nums}
.more-bar{width:min(260px,70vw);height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.more-bar i{display:block;height:100%;background:var(--fg);transition:width .8s var(--ease)}
.more-btn{margin-top:6px}

.yt-fb{background:rgba(6,6,6,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:12px}
.yt-fb-ic{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0B0B0B;margin-bottom:6px}
.yt-fb-ic svg{width:18px;height:18px}
.yt-fb .yt-fb-t{color:#fff;font-size:clamp(17px,1.6vw,22px);font-weight:500;max-width:30ch}
.yt-fb p{font-size:14px;line-height:1.55}
.yt-fb-l{margin-top:6px;font-size:13px;color:rgba(255,255,255,.6);text-underline-offset:4px}
.yt-fb-l:hover{color:#fff}
.yt-fb-ic svg{fill:#0B0B0B;margin-left:3px}
.yt:has(.yt-fb),.vm-box:has(.yt-fb){aspect-ratio:auto}
.yt:has(.yt-fb) .yt-fb,.vm-box:has(.yt-fb) .yt-fb{position:relative;inset:auto;min-height:clamp(280px,36vw,460px);padding:34px 24px}

/* v7 · floor plans + energy certificate */
.mo-chips{position:absolute;left:16px;bottom:16px;display:flex;gap:10px;flex-wrap:wrap}
.mo-chips .mo-film{position:static}
.mo-plan i svg{width:15px;height:15px;fill:none;margin:0}
.sh-plans h3 small{font-size:inherit;color:var(--fg-3);margin-left:6px}
.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}
.plans button{position:relative;aspect-ratio:4/3;border:0;padding:10px;border-radius:14px;background:#fff;cursor:zoom-in;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease)}
.plans button:hover{transform:translateY(-2px)}
.plans img{width:100%;height:100%;object-fit:contain}
.lb.plan img{background:#fff;padding:14px;border-radius:10px;cursor:zoom-in}
.lb.plan.zoom{overflow:auto;align-items:flex-start;justify-content:flex-start;touch-action:auto}
.lb.plan.zoom img{max-width:none;max-height:none;width:auto;min-width:min(1600px,160vw);cursor:zoom-out;margin:70px auto}
.sh-ec .ec-sc{margin-bottom:22px}
.ec-l{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 10px}
.ec-l span{color:var(--fg-2)}
.ec-l b{font-weight:600}
.ec-l em{font-style:normal;color:var(--fg-2);font-variant-numeric:tabular-nums}
.ec-bar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:520px;align-items:center;min-height:46px}
.ec-bar span{height:34px;display:grid;place-items:center;border-radius:6px;background:var(--ec);color:#fff;font-size:13px;font-weight:600;opacity:.34;transition:opacity .4s}
.ec-bar span.on{opacity:1;height:42px;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--fg);font-size:15px}
.ec-x,.ec-m,.ec-n{margin:0 0 6px;color:var(--fg-2);font-size:14px}
.ec-n{color:var(--fg)}
.ec-b{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:12px;color:var(--fg-2);vertical-align:middle}
.ec-b i{font-style:normal;width:20px;height:20px;border-radius:5px;background:var(--ec);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700}
.plans img:not([src]){opacity:0}
.plans img{transition:opacity .4s}
.plans button{background:#fff linear-gradient(90deg,#f3f3f3,#fff,#f3f3f3) 0 0/200% 100%}

/* v8 · named area chips above the map (tap targets that say where they are) */
.mchips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-top:26px;padding:2px 2px 6px;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.mchips::-webkit-scrollbar{display:none}
.mchip{flex:none;height:40px;padding:0 14px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:500 14px var(--f);cursor:pointer;white-space:nowrap;transition:background .3s,box-shadow .3s}
.mchip b{font-weight:500;color:var(--fg-2);margin-left:4px;font-variant-numeric:tabular-nums}
.mchip:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.mchip.on{background:var(--fg);color:var(--bg);box-shadow:none}
.mchip.on b{color:var(--bg);opacity:.6}
.mchips + .mapv{margin-top:14px}
.mhead{margin:0 0 10px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.enq-alt2{margin:10px 0 0;display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:var(--chip);font-size:13.5px;font-weight:500}

/* v9 · cookie consent */
.ckb{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:96;width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;padding:26px 26px 22px;border-radius:22px;background:var(--pop);color:var(--fg);box-shadow:0 30px 80px -20px rgba(0,0,0,.6),inset 0 0 0 1px var(--line);opacity:0;transform:translateY(16px);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.ckb.on{opacity:1;transform:none}
.ckb h2{margin:0 0 10px;font-size:20px;font-weight:500;letter-spacing:-.01em}
.ckb p{margin:0;font-size:14px;line-height:1.6;color:var(--fg-2)}
.lg-link{background:none;border:0;padding:0;font:inherit;color:var(--fg);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cc-opts{margin-top:18px;border-top:1px solid var(--line)}
.cc-o{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.cc-o span{display:flex;flex-direction:column;gap:3px}
.cc-o b{font-weight:500;font-size:15px}
.cc-o small{font-size:13px;color:var(--fg-2);line-height:1.45}
.cc-o em{font-style:normal;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);white-space:nowrap}
.cc-o input{position:absolute;opacity:0;width:1px;height:1px}
.cc-o i{flex:none;width:46px;height:28px;border-radius:999px;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line);position:relative;transition:background .3s}
.cc-o i::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--fg-2);transition:transform .35s var(--ease),background .3s}
.cc-o input:checked+i{background:var(--fg)}
.cc-o input:checked+i::after{transform:translateX(18px);background:var(--bg)}
.cc-o input:focus-visible+i{outline:2px solid var(--fg);outline-offset:3px}
.cc-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.cc-b{height:50px;border-radius:999px;border:0;background:var(--btn-bg);color:var(--btn-fg);font:500 15px var(--f);cursor:pointer}
.cc-s{grid-column:1/-1;height:44px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:500 14px var(--f);cursor:pointer}
.cc-b:hover,.cc-s:hover{opacity:.88}
html.cc-on .dock,html.cc-on .nudge{opacity:0!important;pointer-events:none!important}
@media (max-width:700px){.ckb{left:10px;right:10px;width:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:22px 20px 18px}html.cc-on .dock{opacity:0;pointer-events:none}}
.yt-cc-b{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;margin-top:6px}
.finfo{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--fg-3)}
.finfo .lg-link{color:var(--fg-2)}
.ft-legal{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:13px}
.ft-legal a,.ft-legal button{color:rgba(243,240,234,.55);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.ft-legal a:hover,.ft-legal button:hover{color:#F3F0EA}

/* v9 · legal overlay */
.lg{position:fixed;inset:0;z-index:91;overflow-y:auto;background:var(--bg);color:var(--fg);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .45s var(--ease),transform .6s var(--ease),visibility 0s .6s}
.lg.open{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--ease),transform .6s var(--ease)}
.lg-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top,0px)) var(--gut) 12px;background:var(--hdr-solid);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.lg-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.lg-tabs button{flex:none;height:40px;padding:0 16px;border-radius:999px;border:0;background:none;color:var(--fg-2);font:500 14px var(--f);cursor:pointer}
.lg-tabs button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.lg-body{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,80px) var(--gut) 100px;font-size:16px;line-height:1.7}
.lg-body h2{margin:0 0 14px;font-size:clamp(34px,4.4vw,56px);font-weight:300;letter-spacing:-.025em;line-height:1.08}
.lg-body .lg-lead{color:var(--fg-2);margin:0 0 30px}
.lg-body h3{margin:34px 0 10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.lg-body p,.lg-body ul{margin:0 0 14px}
.lg-body ul{padding-left:20px}
.lg-body li{margin-bottom:8px}
.lg-body a{color:var(--fg);text-underline-offset:3px}
.lg-t{width:100%;border-collapse:collapse;margin:6px 0 14px;font-size:14px}
.lg-t th,.lg-t td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.lg-t th{font-weight:500;color:var(--fg-2)}
.lg-t td:first-child{font-family:ui-monospace,Menlo,monospace;font-size:13px;white-space:nowrap}
.lg-date{color:var(--fg-3);font-size:14px;margin-top:30px}
button.yt-fb-l{background:none;border:0;padding:4px 2px;font:inherit;font-size:13px;color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* v10 · municipality rows in the location filter */
.ck.muni .nm{font-weight:500}
.ck.muni .nm em,.ds-muni em{font-style:normal;font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-left:6px}
.ck[data-sub]{padding-left:30px}
.ck[aria-checked="mixed"] .bx{background:linear-gradient(var(--fg),var(--fg)) center/10px 2px no-repeat}
.ck[aria-checked="mixed"] .bx svg{opacity:0}
.ds-muni{margin:14px 0 8px;font-size:14px;font-weight:500}
.ds-region{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--card)}
.ds-region summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 15px;cursor:pointer;font-weight:600;list-style:none}
.ds-region summary::-webkit-details-marker{display:none}
.ds-region summary small{font-size:12px;color:var(--fg-2);font-weight:500}
.ds-region summary::after{content:"⌄";font-size:19px;line-height:1;color:var(--fg-2)}
.ds-region[open] summary::after{transform:rotate(180deg)}
.ds-region-body{padding:0 15px 16px}
.ds-region-all,.ds-map-link{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--chip);color:var(--fg);cursor:pointer;font:inherit;text-align:left}
.ds-region-all{width:100%;margin:3px 0 12px}
.ds-map-link{width:100%;margin-top:14px}
.ds-map-link svg{width:20px;height:20px;flex:none}
.ds-region summary:focus-visible,.ds-region-all:focus-visible,.ds-map-link:focus-visible{outline:2px solid var(--fg);outline-offset:2px}

/* v10 · draw-to-search on the map */
.mtools{position:absolute;right:12px;top:10px;z-index:4;display:flex;gap:8px}
.mtool{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 12px;border-radius:999px;border:0;background:var(--chip);color:var(--fg);font:500 14px var(--f);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.mtool svg{width:16px;height:16px}
.mtool[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.mapbox.drawing .mapsvg{touch-action:none;cursor:crosshair}
.mapbox.drawing .bub{pointer-events:none}
.mapbox.drawing{box-shadow:inset 0 0 0 2px var(--fg)}
.lasso{fill:rgba(243,240,234,.12);stroke:var(--fg);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:10 8;pointer-events:none}
.lasso.done{stroke-dasharray:none;fill:rgba(243,240,234,.08)}
[data-theme="light"] .lasso{fill:rgba(11,11,11,.08)}
@media (max-width:700px){.mtool span{display:none}.mtool{padding:0 12px}.maphint{right:110px}}
.mlegal{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}
.mlegal a,.mlegal button{color:inherit;opacity:.7;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.mlegal a:hover,.mlegal button:hover{opacity:1}
.ft-legal{font-size:14px}
.ft-legal a,.ft-legal button{color:rgba(243,240,234,.72)}
/* ---- map: relief, towns, zoom ---- */
.mapsvg .topo path,.minimap .topo path,.shmap .topo path{fill:none;stroke:var(--fg);stroke-linecap:round;stroke-linejoin:round}
.minimap .topo path{stroke:#fff}
.mapsvg .range,.shmap .range{fill:var(--fg-3);font-family:var(--f);font-style:italic;font-weight:400;letter-spacing:.24em;text-anchor:middle;pointer-events:none}
.minimap .range{fill:rgba(255,255,255,.34);font-family:var(--f);font-style:italic;font-weight:400;letter-spacing:.24em;text-anchor:middle;pointer-events:none}
.mapsvg .town{fill:var(--fg-2);font:500 calc(15px*var(--ts,1)) var(--f);letter-spacing:.1em;pointer-events:none}
.mapsvg .tdot{fill:var(--fg-2)}
.minimap .town{fill:rgba(255,255,255,.55);font:500 20px var(--f);letter-spacing:.1em;pointer-events:none}
.minimap .tdot{fill:rgba(255,255,255,.55)}
.mapsvg .gt{font-size:calc(16px*var(--ts,1));letter-spacing:.12em}
.mapsvg .isl,.mapsvg .gl,.mapsvg .dl,.mapsvg .bub circle,.lasso,.shmap .isl{vector-effect:non-scaling-stroke}
.mapsvg .dl{stroke:var(--fg-3);stroke-width:1.2}
.mapsvg .dd{fill:var(--fg-2)}
.mapsvg .bub text{font-size:calc(17px*var(--bs,1))}
.mapbox.zoomed:not(.drawing) .mapsvg{cursor:grab;touch-action:none}
.mapbox.panning .mapsvg{cursor:grabbing}
.mapbox.panning .bub{pointer-events:none}
.mzbar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line)}
.mregs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.mregs::-webkit-scrollbar{display:none}
.mreg{flex:none;height:34px;padding:0 12px;border-radius:999px;border:0;background:none;color:var(--fg-2);font:500 13.5px var(--f);cursor:pointer;white-space:nowrap;transition:color .2s,background .2s}
.mreg:hover{color:var(--fg)}
.mreg.on{background:var(--chip);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.mzoom{display:flex;flex:none;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.mzoom button{width:42px;height:36px;border:0;background:none;color:var(--fg);font:300 22px/1 var(--f);cursor:pointer;display:grid;place-items:center}
.mzoom button+button{box-shadow:inset 1px 0 0 var(--line)}
.mzoom button:hover:not(:disabled){background:var(--chip)}
.mzoom button:disabled{opacity:.3;cursor:default}
/* areas: clickable island map */
.mmwrap{position:relative;margin-top:40px;max-width:520px}
.mmwrap .minimap{margin-top:0;display:block}
.minimap .mdot{cursor:pointer;outline:none}
.minimap .mdot .hit{fill:transparent}
.minimap .mdot .dot{transition:fill .2s}
.minimap .mdot:hover .dot,.minimap .mdot:focus-visible .dot{fill:#fff;stroke:#fff;stroke-width:10;stroke-opacity:.35}
.mmtip{background:#F3F0EA;color:#0A0A0A}
.areas-l .mmfoot{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:20px 0 0;max-width:none;font-size:13.5px;color:rgba(243,240,234,.55)}
.mmopen{background:none;border:0;padding:0 0 3px;color:#F3F0EA;font:500 12px var(--f);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-bottom:1px solid rgba(243,240,234,.45);transition:border-color .2s}
.mmopen:hover{border-color:#F3F0EA}
/* expose: location */
.sh-loc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px 30px;align-items:start}
.sh-loc.nomap{grid-template-columns:minmax(0,1fr)}
.sh-loc .dists{grid-template-columns:minmax(0,1fr)}
.shmap-f{margin:0}
.shmap{display:block;width:100%;height:auto;border-radius:16px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.shmap .isl{fill:var(--chip);stroke:var(--fg-3);stroke-width:1.2}
.shmap .town{fill:var(--fg-2);font:500 27px var(--f);letter-spacing:.1em}
.shmap .tdot{fill:var(--fg-2)}
.shmap .shz{fill:var(--fg);fill-opacity:.1;stroke:var(--fg);stroke-opacity:.45;stroke-width:2;stroke-dasharray:6 6}
.shmap .shd{fill:var(--fg)}
.shmap .shr{fill:none;stroke:var(--fg);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ring 2.6s var(--ease) infinite}
.shmap .shl{fill:var(--fg);font:500 40px var(--f)}
.shmap-f figcaption{margin-top:10px;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.dnote{margin:10px 0 0;font-size:12.5px;color:var(--fg-2)}
@media (max-width:700px){.sh-loc{grid-template-columns:minmax(0,1fr)}.mreg{padding:0 10px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.shmap .shr{animation:none;opacity:0}}

/* ======================================================= v12 · dock: find a property · talk to us */
.dock{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;transform:translateY(calc(100% + 40px));transition:transform .7s var(--ease),opacity .4s}
.dock.on{transform:none}
.dock>*{pointer-events:auto}
.dk-bar{display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;background:var(--fg);color:var(--bg);box-shadow:0 22px 60px -20px rgba(0,0,0,.6)}
.dk-b{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 20px;border-radius:999px;border:0;background:none;color:inherit;font:500 14.5px var(--f);cursor:pointer;white-space:nowrap;transition:background .35s,color .35s}
.dk-b>svg{width:18px;height:18px;flex:none}
.dk-b:hover{background:rgba(128,128,128,.16)}
.dk-b[aria-expanded="true"]{background:var(--bg);color:var(--fg)}
.dk-tb{padding-left:5px}
.dk-tb .fab-logo{height:40px;padding:0 12px}
.dk-tb .fab-logo img{width:64px}
.dk-p{--fg:#F3F0EA;--fg-2:#A7A39B;--fg-3:#6A6761;--line:rgba(243,240,234,.14);--chip:#1E1E1E;--btn-bg:#F3F0EA;--btn-fg:#0A0A0A;--pop:#151515;--field:rgba(255,255,255,.05);--bg:#0E0E0E;
  box-sizing:border-box;width:min(900px,calc(100vw - 48px));max-height:calc(100svh - 120px);overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:24px 26px 22px;border-radius:26px;background:rgba(14,14,14,.95);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);color:var(--fg);
  box-shadow:0 40px 100px -30px rgba(0,0,0,.75),inset 0 0 0 1px rgba(255,255,255,.08);transform-origin:100% 100%;opacity:0;transform:translateY(26px) scale(.94);clip-path:inset(45% 0 0 0 round 26px);transition:opacity .45s var(--ease),transform .75s var(--ease),clip-path .75s var(--ease)}
.dk-p::-webkit-scrollbar{display:none}
.dk-p.open{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 26px)}
.dk-p[hidden]{display:none}
.dk-talk{width:min(470px,calc(100vw - 48px))}
.dk-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.dk-t{margin:10px 0 0;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-2)}
.dk-talk .dk-t{margin:4px 0 0;font-size:24px;font-weight:300;letter-spacing:-.015em;text-transform:none;color:var(--fg);line-height:1.15}
.dk-s{margin:8px 0 0;font-size:14px;color:var(--fg-2)}
.dk-x{position:relative;flex:none;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:var(--fg);cursor:pointer;transition:background .3s,transform .6s var(--ease)}
.dk-x:hover{background:rgba(255,255,255,.16);transform:rotate(90deg)}
.dk-x i::before,.dk-x i::after{content:"";position:absolute;left:13px;top:19.25px;width:14px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.dk-x i::after{transform:rotate(-45deg)}
.dk-find .hc{margin-top:12px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto}
.dk-find .hc-go .thumbs{display:none}
@media (max-width:900px){.dk-find .hc{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.dk-find .hq{margin-top:12px}
.dk-none{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--fg-2)}
.dk-none button{border:0;background:none;padding:0;color:var(--fg);font:inherit;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(243,240,234,.4)}
.dk-none button:hover{text-decoration-color:currentColor}
.dk-opts{display:grid;gap:4px}
.dk-o{box-sizing:border-box;display:flex;align-items:center;gap:16px;width:100%;padding:11px 12px;border-radius:18px;border:0;background:none;color:var(--fg);text-decoration:none;text-align:left;cursor:pointer;font:inherit;transition:background .3s}
.dk-o:hover,.dk-o[aria-expanded="true"]{background:rgba(255,255,255,.06)}
.dk-o i{position:relative;flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(243,240,234,.24);color:var(--fg);overflow:hidden;transition:color .4s,box-shadow .4s}
.dk-o i::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--fg);transform:scale(0);transition:transform .5s var(--ease)}
.dk-o i svg{position:relative;width:19px;height:19px}
.dk-o:hover i,.dk-o[aria-expanded="true"] i{color:#0A0A0A;box-shadow:none}
.dk-o:hover i::before,.dk-o[aria-expanded="true"] i::before{transform:scale(1)}
.dk-o b{display:block;font-weight:500;font-size:16px}
.dk-o small{display:block;margin-top:2px;font-size:13.5px;color:var(--fg-2)}
.dk-form{margin-top:12px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.dk-form[hidden]{display:none}
.dk-form.in{animation:dkIn .6s var(--ease) both}
.dk-form .ok{padding:4px 0}
.dk-p.open .dk-find>*,.dk-p.open .dk-o,.dk-p.open .dk-none,.dk-p.open .dk-h{animation:dkIn .75s var(--ease) both}
.dk-p.open .dk-find>:nth-child(2),.dk-p.open .dk-o:nth-child(2){animation-delay:.06s}
.dk-p.open .dk-find>:nth-child(3),.dk-p.open .dk-o:nth-child(3){animation-delay:.12s}
.dk-p.open .dk-o:nth-child(4),.dk-p.open .dk-none{animation-delay:.18s}
@keyframes dkIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:760px){
  .dock{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));align-items:stretch}
  .dk-bar{display:grid;grid-template-columns:1fr 1.12fr;border-radius:20px;padding:5px;background:var(--hdr-solid,#111);color:var(--fg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px -18px rgba(0,0,0,.6),inset 0 0 0 1px var(--line)}
  .dk-b{justify-content:center;height:50px;padding:0 10px;font-size:14px;border-radius:15px}
  .dk-tb{background:var(--fg);color:var(--bg)}
  .dk-tb .fab-logo{display:none}
  .dk-b[aria-expanded="true"]{background:var(--fg);color:var(--bg)}
  .dk-fb[aria-expanded="true"]{background:rgba(128,128,128,.22);color:var(--fg)}
  .dk-p,.dk-talk{width:auto;max-height:calc(100svh - 96px - env(safe-area-inset-bottom,0px));padding:20px 16px 16px;border-radius:22px;transform-origin:50% 100%}
  .dk-talk .dk-t{font-size:21px}
}
@media (prefers-reduced-motion:reduce){.dk-p{transition:opacity .2s;transform:none;clip-path:none}.dk-p.open *{animation:none!important}}

/* ======================================================= v12 · FAQ */
.faq-l{position:sticky;top:calc(var(--hdr,76px) + 40px);align-self:start}
.faq-x{margin:22px 0 0;color:var(--fg-2);max-width:34ch;line-height:1.6}
.faq-help{margin-top:34px;padding:22px 22px 20px;border-radius:22px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);max-width:330px}
.faq-help p{margin:0 0 14px;font-size:15px}
.faq-help b{font-weight:500}
.faq-talk{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 7px 0 20px;border-radius:999px;border:0;background:var(--fg);color:var(--bg);font:500 14.5px var(--f);cursor:pointer}
.faq-talk svg{width:32px;height:32px;padding:9px;border-radius:50%;background:var(--bg);color:var(--fg);box-sizing:border-box;transition:transform .6s var(--ease)}
.faq-talk:hover svg{transform:rotate(-45deg)}
.faq-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.faq-cats button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-2);font:500 14px var(--f);cursor:pointer;transition:background .35s,color .35s,box-shadow .35s}
.faq-cats button small{font-size:12px;opacity:.65;font-variant-numeric:tabular-nums}
.faq-cats button:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg-3)}
.faq-cats button[aria-selected="true"]{background:var(--fg);color:var(--bg);box-shadow:none}
.faq-list{border-top:0}
.qa{border-bottom:0;border-radius:22px;margin-bottom:4px;box-shadow:inset 0 -1px 0 var(--line);transition:background .5s var(--ease),box-shadow .5s var(--ease)}
.qa[hidden]{display:none}
.qa[open]:not(.closing){background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.qa summary{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:18px;padding:22px 18px 22px 22px}
.qa-n{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--fg-3);font-variant-numeric:tabular-nums;transition:color .3s}
.qa summary:hover .qa-n,.qa[open] .qa-n{color:var(--fg)}
.qa summary:hover h3{opacity:.8}
.qa summary h3{transition:opacity .3s}
.qa summary i{width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);transition:background .45s,box-shadow .45s,transform .6s var(--ease)}
.qa summary i::before,.qa summary i::after{left:15px;top:21.25px;width:14px}
.qa summary:hover i{box-shadow:inset 0 0 0 1px var(--fg-3)}
.qa[open]:not(.closing) summary i{background:var(--fg);box-shadow:none;transform:rotate(180deg)}
.qa[open]:not(.closing) summary i::before,.qa[open]:not(.closing) summary i::after{background:var(--bg)}
.qa.closing summary i::after{transform:rotate(90deg)}
.qa-a{overflow:hidden}
.qa .qa-a p{margin:0;padding:0 80px 26px 80px;max-width:none;color:var(--fg-2);line-height:1.72}
@keyframes qaIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:900px){.faq-l{position:static}.faq-help{max-width:none}}
@media (max-width:600px){.qa summary{grid-template-columns:28px minmax(0,1fr) 38px;gap:12px;padding:18px 12px 18px 14px}.qa summary i{width:38px;height:38px}.qa summary i::before,.qa summary i::after{left:12px;top:18.25px}.qa .qa-a p{padding:0 16px 22px 54px}.faq-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}.faq-cats button{flex:none}}

/* ======================================================= v12 · contact */
.ct-acts{margin-top:40px;display:grid;gap:10px}
.ct-act{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px 14px 14px;border-radius:22px;text-decoration:none;color:inherit;box-shadow:inset 0 0 0 1px var(--band-line);transition:box-shadow .45s,background .45s}
.ct-act i{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(243,240,234,.28);overflow:hidden;transition:color .45s,box-shadow .45s}
.ct-act i::before{content:"";position:absolute;inset:0;border-radius:50%;background:#F3F0EA;transform:scale(0);transition:transform .55s var(--ease)}
.ct-act i svg{position:relative;width:21px;height:21px}
.ct-act b{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,240,234,.55)}
.ct-act em{display:block;margin-top:5px;font-style:normal;font-size:clamp(17px,1.45vw,21px);letter-spacing:-.005em;overflow-wrap:anywhere}
.ct-go{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:rgba(243,240,234,.5);transition:transform .55s var(--ease),color .3s,background .3s}
.ct-go svg{width:13px;height:13px}
.ct-act:hover{background:rgba(243,240,234,.035);box-shadow:inset 0 0 0 1px rgba(243,240,234,.42)}
.ct-act:hover i{color:#0A0A0A;box-shadow:none}
.ct-act:hover i::before{transform:scale(1)}
.ct-act:hover .ct-go{background:#F3F0EA;color:#0A0A0A;transform:rotate(-45deg)}
.ct-alt{margin:14px 0 0 6px;font-size:14px;color:rgba(243,240,234,.55)}
.ct-alt a{margin-left:6px;color:rgba(243,240,234,.88);text-decoration:none;border-bottom:1px solid rgba(243,240,234,.28);transition:border-color .3s}
.ct-alt a:hover{border-color:#F3F0EA}
.ct-office{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 30px;margin-top:34px;padding-top:28px;border-top:1px solid var(--band-line)}
.ct-k{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,240,234,.5)}
.ct-addr{margin:0;font-size:17px;line-height:1.5}
.ct-office .status{margin-top:0}
.ct-office .hours{font-size:14.5px}
.ct-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:30px}
.ct-save{display:inline-flex;align-items:center;gap:14px;padding:7px 22px 7px 7px;border-radius:999px;background:#F3F0EA;color:#0A0A0A;text-decoration:none;transition:transform .5s var(--ease),box-shadow .5s}
.ct-save i{width:42px;height:42px;border-radius:50%;background:#0A0A0A;color:#F3F0EA;display:grid;place-items:center;flex:none}
.ct-save i svg{width:19px;height:19px}
.ct-save b{display:block;font-size:14.5px;font-weight:500;line-height:1.2}
.ct-save small{display:block;font-size:12px;color:#6D6B65}
.ct-save:hover{transform:translateY(-2px);box-shadow:0 16px 40px -18px rgba(243,240,234,.4)}
.ct-foot .socials{margin-top:0}
.form{padding:clamp(24px,3vw,44px);border-radius:28px;background:rgba(243,240,234,.035);box-shadow:inset 0 0 0 1px var(--band-line);align-self:start}
.form-h h3{margin:0;font-weight:300;font-size:clamp(28px,2.6vw,40px);letter-spacing:-.03em;line-height:1.05}
.form-h p{margin:12px 0 0;color:rgba(243,240,234,.6);max-width:46ch;line-height:1.55}
.form-h .ct-k{margin-bottom:14px}
@media (max-width:560px){.ct-office{grid-template-columns:minmax(0,1fr)}.ct-act{gap:14px;padding:12px}.ct-act i{width:46px;height:46px}.ct-go{display:none}}

/* ======================================================= v12 · footer + brand layer */
.contact,.footer{position:relative;z-index:2}
.footer{border-radius:0 0 clamp(26px,3.2vw,48px) clamp(26px,3.2vw,48px);box-shadow:0 70px 120px -40px rgba(0,0,0,.95)}
.lyr{position:relative;z-index:1;height:260vh;height:260svh;margin-top:-100vh;margin-top:-100svh;background:#050505}
.lyr-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,90px);box-sizing:border-box;padding:0 var(--gut);color:#F3F0EA;isolation:isolate}
.lyr-amb{position:absolute;inset:-12%;z-index:-2;background:#050505 center/cover no-repeat;filter:blur(90px) saturate(1.35) brightness(.6);opacity:0;will-change:opacity,transform}
.lyr-stage::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 70% 80% at 50% 55%,rgba(5,5,5,0) 0,rgba(5,5,5,.5) 60%,#050505 100%)}
.lyr-film{margin:0;display:grid;place-items:center;min-width:0}
.lyr-frame{--lr:28px;position:relative;height:min(76vh,860px);height:min(76svh,860px);aspect-ratio:9/16;border-radius:var(--lr);overflow:hidden;background:#111;box-shadow:0 60px 130px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.09);will-change:transform;transform-origin:50% 65%;transform:translate3d(0,40vh,0) scale(.66)}
.lyr-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lyr-brand{justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.lyr-brand>*,.lyr-side>*{opacity:0}
.lyr-logo{width:clamp(150px,13vw,210px);height:auto;display:block}
.lyr-slogan{margin:0;font-size:11px;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:rgba(243,240,234,.62)}
.lyr-copy{margin:22px 0 0;font-size:13px;color:rgba(243,240,234,.42)}
.lyr-top{display:inline-flex;align-items:center;gap:10px;margin-top:2px;padding:0;border:0;background:none;color:rgba(243,240,234,.72);font:500 12px var(--f);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .3s}
.lyr-top:hover{color:#fff}
.lyr-top svg{width:12px;height:12px}
.lyr-side{justify-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:min(300px,100%)}
.lyr-k{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,240,234,.5)}
.lyr-soc{display:flex;align-items:center;gap:16px;width:100%;padding:6px;border-radius:999px;text-decoration:none;color:#F3F0EA;transition:background .4s}
.lyr-soc:hover{background:rgba(243,240,234,.05)}
.lyr-soc i{position:relative;flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(243,240,234,.3);overflow:hidden;transition:color .45s,box-shadow .45s}
.lyr-soc i::before{content:"";position:absolute;inset:0;border-radius:50%;background:#F3F0EA;transform:scale(0);transition:transform .6s var(--ease)}
.lyr-soc i svg{position:relative;width:23px;height:23px}
.lyr-soc b{display:block;font-weight:500;font-size:16px}
.lyr-soc small{display:block;margin-top:1px;font-size:13px;color:rgba(243,240,234,.55)}
.lyr-soc:hover i{color:#0A0A0A;box-shadow:none}
.lyr-soc:hover i::before{transform:scale(1)}
.lyr-snd{position:absolute;right:14px;top:14px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(10,10,10,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);transition:background .3s}
.lyr-snd:hover{background:rgba(10,10,10,.65)}
.lyr-snd[hidden]{display:none}
.lyr-snd svg{grid-area:1/1;width:20px;height:20px}
.lyr-snd .on,.lyr-snd.live .off{display:none}
.lyr-snd.live .on{display:block}
.lyr-cta{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:12px;padding:90px 16px 16px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.78))}
.lyr-cta[hidden]{display:none}
.lyr-cta>p{margin:0 0 0 4px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.lyr-cta>div{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.lyr-wl,.lyr-see2{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;height:48px;padding:0 7px 0 20px;border-radius:999px;border:0;background:#F3F0EA;color:#0A0A0A;font:500 14.5px var(--f);cursor:pointer}
.lyr-wl .arr,.lyr-see2 .arr{width:34px;height:34px;border-radius:50%;background:#0A0A0A;color:#F3F0EA;display:grid;place-items:center;flex:none;transition:transform .6s var(--ease)}
.lyr-wl .arr svg,.lyr-see2 .arr svg{width:13px;height:13px}
.lyr-wl:hover .arr,.lyr-see2:hover .arr{transform:rotate(-45deg)}
.lyr-see{height:36px;border:0;background:none;color:#fff;font:500 14px var(--f);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.5);cursor:pointer}
.lyr-card{box-sizing:border-box;width:100%;margin-top:16px;padding:20px;border-radius:22px;background:rgba(243,240,234,.06);box-shadow:inset 0 0 0 1px rgba(243,240,234,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lyr-card[hidden]{display:none}
.lyr-card h3{margin:0;font-weight:400;font-size:19px;line-height:1.25}
.lyr-card>p:not(.lyr-k){margin:6px 0 0;font-size:13.5px;color:rgba(243,240,234,.62)}
.lyr-th{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}
.lyr-th button{padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:#1A1A1A}
.lyr-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.lyr-th button:hover img{transform:scale(1.08)}
.lyr-cb{margin-top:14px}
@media (min-width:1101px){.lyr-see{display:none}}
@media (max-width:1100px){.lyr-card{display:none!important}.lyr-copy{display:none}}
@media (max-width:760px){
  .lyr-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;justify-items:center;gap:18px;padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(env(safe-area-inset-bottom,0px) + 16px)}
  .lyr-brand{justify-self:center;align-items:center;gap:8px}
  .lyr-logo{width:132px}
  .lyr-slogan{font-size:11px;letter-spacing:.32em}
  .lyr-top{display:none}
  .lyr-frame{height:min(60vh,560px);height:min(60svh,560px)}
  .lyr-side{justify-self:center;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;width:auto}
  .lyr-k{width:100%;text-align:center;margin:0 0 2px}
  .lyr-soc{width:auto;gap:10px;padding:4px 16px 4px 4px;box-shadow:inset 0 0 0 1px rgba(243,240,234,.18)}
  .lyr-soc i{width:40px;height:40px}
  .lyr-soc i svg{width:19px;height:19px}
  .lyr-soc b{font-size:14px}
  .lyr-soc small{display:none}
}
@media (prefers-reduced-motion:reduce){.lyr-frame{transform:none!important}.lyr-brand>*,.lyr-side>*{opacity:1}}

/* ===== UX update 2026-10: clear next steps everywhere ===== */
.quick button{height:36px;padding:0 16px;display:inline-flex;align-items:center;border:0;background:none;border-radius:999px;font:500 14px var(--f);color:inherit;cursor:pointer;transition:background .3s}
.quick button:hover{background:rgba(127,127,127,.2)}
@media (max-width:1280px){.quick a,.quick button{padding:0 12px}}
.h-cta{display:flex;gap:10px;align-items:center;pointer-events:auto}
.hcta{height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--btn-bg);color:var(--btn-fg);font:500 15px var(--f);display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:transform .4s var(--ease),box-shadow .3s}
.hcta b{display:block;width:1px;height:16px;background:currentColor;opacity:.35;position:relative;overflow:hidden}
.hcta b::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:currentColor;animation:cue 2.2s var(--ease) infinite}
.hcta.o{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg-3)}
.hcta.o:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.hcta:hover{transform:translateY(-1px)}
@media (max-width:700px){.h-cta{width:100%}.hcta{flex:1;height:50px;padding:0 12px;font-size:14.5px}}
.mct{display:flex;flex-wrap:wrap;gap:6px 22px}.mct a{text-decoration:none}.mct a:hover{text-decoration:underline;text-underline-offset:3px}
/* exposé: fastest contact right under the price; preferred-time chips; WhatsApp in the mobile bar; floor plans as a swipe row on phones */
.enq-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 6px}
.enq-quick a{height:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-size:14.5px;font-weight:500;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s}
.enq-quick a:first-child{background:var(--btn-bg);color:var(--btn-fg);box-shadow:none}
.enq-quick a:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.enq-quick a:first-child:hover{box-shadow:none;opacity:.92}
.enq-quick .ic{width:17px;height:17px}
.enq-alt{grid-template-columns:1fr}
.rch{display:flex;flex-wrap:wrap;gap:8px}
.rch label{position:relative;cursor:pointer}
.rch input{position:absolute;opacity:0;pointer-events:none}
.rch span{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:500;color:var(--fg);transition:background .2s}
.rch input:checked+span{background:var(--fg);color:var(--bg);box-shadow:none}
.rch input:focus-visible+span{outline:2px solid var(--fg);outline-offset:2px}
.sh-wa{display:none}
@media (max-width:900px){
  .sh-cta .sh-wa{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;margin-left:auto;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
  .sh-cta .sh-wa .ic{width:20px;height:20px}
  .sh-cta{gap:10px}
}
@media (max-width:700px){
  .sh-plans .plans{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 6px;scrollbar-width:none}
  .sh-plans .plans::-webkit-scrollbar{display:none}
  .sh-plans .plans button{flex:0 0 76%;scroll-snap-align:start}
  .rch span{height:44px}
}
.faq-list.short .qa:nth-child(n+7){display:none}
.faq-more{margin:22px 0 0;height:48px;padding:0 24px;border-radius:999px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:500 14.5px var(--f);cursor:pointer;transition:box-shadow .3s}
.faq-more:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.faq-more[hidden]{display:none}
/* cookie banner on phones: about half the height, same choices */
@media (max-width:700px){
  .ckb{padding:16px 16px 12px;border-radius:18px}
  .ckb h2{font-size:16px;margin:0 0 6px}
  .ckb p{font-size:13px;line-height:1.5}
  .cc-btns{margin-top:12px;gap:8px}
  .cc-b{height:46px;font-size:14.5px}
  .cc-s{height:36px;box-shadow:none;text-decoration:underline;text-underline-offset:3px;font-size:13.5px;color:var(--fg-2)}
}
/* phones: every control at least 44 px high (Apple / Google guideline) */
@media (max-width:700px){
  .seg button,.qchip,.dseg button,.savebtn,.presets button,.mreg,.tg,.cc-s{height:44px}
  .ach{height:40px}
  .fvr .xbtn,.nudge .xbtn{width:44px;height:44px}
}
@media (max-width:700px){.hcta{white-space:nowrap;gap:0}.hcta b{display:none}}
@media (max-width:430px){.sh-cta .btn{padding:0 18px}.sh-cta .btn .arr{display:none}.sh-cta .sh-wa{width:46px;height:46px}}

/* ======================================================= v13 · shortlist in the bottom bar (heart · peek · panel) */
.dk-hb{position:relative;gap:8px;padding:0 16px 0 18px}
.dk-hb[hidden]{display:none}
.dk-hb>svg path{fill:currentColor}
.dk-hb b{min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:var(--bg);color:var(--fg);font-size:12px;font-weight:600;line-height:22px;text-align:center}
.dk-hb[aria-expanded="true"] b{background:var(--fg);color:var(--bg)}
.dk-hb.beat>svg{animation:dkBeat 1s var(--ease)}
@keyframes dkBeat{0%{transform:scale(1)}16%{transform:scale(1.34)}32%{transform:scale(.9)}50%{transform:scale(1.18)}70%,100%{transform:scale(1)}}
.dk-peek{display:flex;align-items:center;gap:6px;max-width:min(500px,calc(100vw - 48px));box-sizing:border-box;padding:8px;border-radius:22px;background:#151515;color:#F3F0EA;box-shadow:inset 0 0 0 1px rgba(243,240,234,.12),0 30px 80px -24px rgba(0,0,0,.75);opacity:0;transform:translateY(16px) scale(.98);transform-origin:100% 100%;transition:opacity .45s var(--ease),transform .65s var(--ease)}
.dk-peek.on{opacity:1;transform:none}
.dk-peek[hidden]{display:none}
.dk-pk-b{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:4px 8px 4px 4px;border:0;border-radius:16px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.dk-pk-b i{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#F3F0EA;color:#0A0A0A}
.dk-pk-b i svg{width:18px;height:18px}
.dk-pk-b i svg path{fill:currentColor}
.dk-peek.on .dk-pk-b i svg{animation:dkBeat 1s .2s var(--ease) both}
.dk-pk-b span{min-width:0}
.dk-pk-b b{display:block;font-size:14.5px;font-weight:500;line-height:1.25}
.dk-pk-b small{display:block;margin-top:2px;font-size:13px;color:#A7A39B;line-height:1.3}
.dk-pk-go{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 18px;border-radius:999px;border:0;background:#F3F0EA;color:#0A0A0A;font:500 14px var(--f);cursor:pointer;white-space:nowrap;transition:opacity .3s}
.dk-pk-go:hover{opacity:.88}
.dk-pk-go svg{width:13px;height:13px}
.dk-pk-go[hidden]{display:none}
.dk-pk-x{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:0;background:none;color:#A7A39B;cursor:pointer}
.dk-pk-x:hover{color:#F3F0EA}
.dk-pk-x i::before,.dk-pk-x i::after{content:"";position:absolute;left:11px;top:17.25px;width:14px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.dk-pk-x i::after{transform:rotate(-45deg)}
.dk-fav{width:min(440px,calc(100vw - 48px))}
.dk-fav .dk-t{margin:4px 0 0;font-size:24px;font-weight:300;letter-spacing:-.015em;text-transform:none;color:var(--fg);line-height:1.15}
.dkf-l{display:grid;gap:2px;max-height:min(44vh,330px);overflow-y:auto;overscroll-behavior:contain;margin:0 -6px;padding:0 6px;scrollbar-width:none}
.dkf-r{display:flex;align-items:center;gap:14px;width:100%;padding:8px;border:0;border-radius:16px;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:background .3s}
.dkf-r:hover{background:rgba(255,255,255,.06)}
.dkf-r img{flex:none;width:76px;height:57px;border-radius:10px;object-fit:cover;background:#222}
.dkf-r span{min-width:0}
.dkf-r b{display:block;font-weight:500;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dkf-r small{display:block;margin-top:3px;font-size:13.5px;color:var(--fg-2)}
.dkf-more{justify-self:start;margin:2px 8px 0;padding:6px 0;border:0;background:none;color:var(--fg-2);font:inherit;font-size:14px;cursor:pointer}
.dkf-more:hover{color:var(--fg)}
.dkf-a{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:16px;border-top:1px solid var(--line)}
.dkf-a .btn{flex:1;justify-content:space-between}
.dkf-wa{flex:none;display:inline-flex;align-items:center;gap:8px;height:54px;padding:0 20px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(243,240,234,.24);color:var(--fg);text-decoration:none;font-size:14.5px;font-weight:500;transition:background .3s}
.dkf-wa svg{width:18px;height:18px}
.dkf-wa:hover{background:rgba(255,255,255,.06)}
.dkf-edit{display:block;margin:12px auto 0;border:0;background:none;color:var(--fg-2);font:inherit;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(243,240,234,.3)}
.dkf-edit:hover{color:var(--fg)}
.dk-p.open .dkf-r,.dk-p.open .dkf-a{animation:dkIn .75s var(--ease) both}
.dk-p.open .dkf-r:nth-child(2){animation-delay:.05s}.dk-p.open .dkf-r:nth-child(3){animation-delay:.1s}.dk-p.open .dkf-r:nth-child(4){animation-delay:.15s}.dk-p.open .dkf-a{animation-delay:.18s}
.mdl [data-when][hidden]{display:none}
@media (max-width:760px){
  .dock.has-fav .dk-bar{grid-template-columns:auto auto minmax(0,1fr)}
  .dock.has-fav .dk-fb{padding:0 15px}
  .dock.has-fav .dk-fb span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .dk-hb{padding:0 14px}
  .dk-hb b{background:var(--fg);color:var(--bg)}
  .dk-hb[aria-expanded="true"] b{background:var(--bg);color:var(--fg)}
  .dk-peek{max-width:none;flex-wrap:wrap;padding:8px 8px 10px;transform-origin:50% 100%}
  .dk-pk-x{order:2}
  .dk-pk-go{order:3;flex:1 1 100%;height:46px;margin-top:4px}
  .dk-fav .dk-t{font-size:21px}
  .dkf-a{flex-wrap:wrap}
  .dkf-a .btn{flex:1 1 100%}
  .dkf-wa{flex:1;justify-content:center;height:48px}
}
@media (prefers-reduced-motion:reduce){.dk-hb.beat>svg,.dk-peek.on .dk-pk-b i svg{animation:none}.dk-peek{transition:opacity .2s}}

/* ======================================================= v15 · Selected properties, browsed by the visitor, no scroll take-over */
.coll{padding-block:clamp(90px,10vw,150px) clamp(70px,8vw,120px);overflow:hidden}
.coll-sticky{position:relative;top:auto;height:auto;overflow:visible;perspective:none;gap:clamp(28px,4vh,48px)}
.coll-track{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;perspective:1500px;transform-style:flat;padding-block:24px 34px;margin-block:-24px -34px;outline:none;cursor:grab;-webkit-user-select:none;user-select:none;overscroll-behavior-x:contain;will-change:auto}
.coll-track::-webkit-scrollbar{display:none}
.coll-track.drag{scroll-snap-type:none;cursor:grabbing}
.coll-track:focus-visible .cc.on .cc-media{outline:2px solid var(--fg);outline-offset:4px}
.cc{scroll-snap-align:center}
.cc-media img{-webkit-user-drag:none}
.cc .cc-media::after{content:"";position:absolute;inset:0;background:#000;opacity:.45;transition:opacity .9s var(--ease);pointer-events:none}
.cc.on .cc-media::after{opacity:0}
.cc.on .cc-media img{animation:ccZoom 10s ease-out both}
@keyframes ccZoom{from{scale:1}to{scale:1.06}}
.cc .cc-media{transition:box-shadow .9s var(--ease),clip-path 1.3s var(--ease)}
.cc.on .cc-media{box-shadow:0 50px 120px -50px rgba(0,0,0,.9)}
.coll .cc{opacity:0;translate:0 70px;transition:opacity 1s var(--ease),translate 1.25s var(--ease)}
.coll.in .cc{opacity:1;translate:0 0;transition-delay:calc(var(--i,0) * 90ms)}
.coll .cc-media{clip-path:inset(14% 0 0 0 round 16px)}
.coll.in .cc-media{clip-path:inset(0 0 0 0 round 16px);transition-delay:0s,calc(var(--i,0) * 90ms + .1s)}
.coll-meta{gap:16px}
.coll-nav{display:flex;gap:8px;margin-left:6px}
.coll-arr{width:50px;height:50px;border-radius:50%;border:0;background:none;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;cursor:pointer;transition:background .35s,color .35s,box-shadow .35s,opacity .3s}
.coll-arr svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.coll-arr:hover:not(:disabled){background:var(--fg);color:var(--bg);box-shadow:none}
.coll-arr:hover:not(:disabled) svg{transform:translateX(2px)}
.coll-arr[data-coll="-1"]:hover:not(:disabled) svg{transform:translateX(-2px)}
.coll-arr:disabled{opacity:.28;cursor:default}
@media (min-width:901px){.coll-track{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}}
@media (max-width:900px){
  .coll{padding-block:90px 40px}
  .coll-meta{width:100%;flex-wrap:nowrap}
  #collNum{white-space:nowrap}
  .coll-bar{flex:1;max-width:140px}
  .coll-hint{display:none}
  .coll-track{gap:12px}
  .coll-nav{margin-left:auto}
  .coll-arr{width:44px;height:44px}
  .coll-track{cursor:auto}
}
@media (prefers-reduced-motion:reduce){.coll .cc{opacity:1;translate:none;transition:none}.coll .cc-media{clip-path:none}.cc.on .cc-media img{animation:none}}
@media (max-width:900px){.cc .cc-cap{transition:opacity .6s var(--ease)}.cc:not(.on) .cc-cap{opacity:.3!important}}

/* ======================================================= v15 · About us (agency text for visitors, Google and AI search) */
.about{background:var(--bg);padding-block:clamp(70px,8vw,110px);border-top:1px solid var(--line)}
.ab-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:50px clamp(40px,6vw,100px);align-items:start}
.about .label{color:var(--fg-2);margin-bottom:16px}
.about .h-l{font-size:clamp(34px,3.7vw,58px);line-height:1.06}
.about .lead{color:var(--fg-2);margin:24px 0 0;max-width:46ch;line-height:1.65}
.ab-l{position:sticky;top:calc(var(--hdr,76px) + 40px)}
.ab-cta{margin-top:34px}
.ab-r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,60px)}
.ab-b{padding:28px 0 30px;border-top:1px solid var(--line)}
.ab-b h3{margin:0;font-weight:400;font-size:clamp(20px,1.6vw,24px);letter-spacing:-.01em;line-height:1.25}
.ab-b p{margin:14px 0 0;color:var(--fg-2);font-size:15.5px;line-height:1.7}
@media (max-width:900px){.ab-grid{grid-template-columns:1fr;gap:34px}.ab-l{position:static}.ab-r{grid-template-columns:1fr}.ab-b{padding:22px 0 24px}}
.qa-link{display:inline;padding:0;border:0;background:none;color:var(--fg);font:inherit;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(128,128,128,.5);transition:text-decoration-color .3s}
.qa-link:hover{text-decoration-color:currentColor}
/* v15 · full screen icon: quiet, no ring until hover */
.fsbtn{box-shadow:none;opacity:.62;transition:opacity .3s,box-shadow .3s}
.fsbtn:hover,.fsbtn:focus-visible{opacity:1;box-shadow:inset 0 0 0 1px rgba(127,127,127,.45)}
.fsbtn[hidden]{display:none}
.fsbtn .i-fs-off{display:none}
.fsbtn.on .i-fs-on{display:none}
.fsbtn.on .i-fs-off{display:block}
.fsbtn svg{width:17px;height:17px}

/* ======================================================= v15 · financing & purchase cost calculator (exposé) */
.fin{--fin-eq:#a3957a;--fin-c:#5f5953}
.fin .fin-sub{margin:-6px 0 22px;color:var(--fg-2);font-size:15px;line-height:1.5}
.fin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(18px,2.4vw,32px);align-items:start}
.fin-in{display:flex;flex-direction:column;gap:22px;padding-top:4px}
.fin-f{position:relative;display:flex;flex-direction:column;gap:9px}
.fin-f>span,.fin-rl>span{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.fin-f input{width:100%;box-sizing:border-box;height:56px;padding:0 44px 0 18px;border-radius:14px;border:0;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:300 21px var(--f);letter-spacing:-.01em;font-variant-numeric:tabular-nums;transition:box-shadow .3s}
.fin-f input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--fg)}
.fin-f input::placeholder{color:var(--fg-3);font-size:16px}
.fin-f>i{position:absolute;right:18px;bottom:17px;font-style:normal;color:var(--fg-2);font-size:17px;pointer-events:none}
.fin-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:15px;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line)}
.fin-seg button{min-height:44px;padding:6px 10px;border:0;border-radius:11px;background:none;color:var(--fg-2);font:500 14px var(--f);line-height:1.2;cursor:pointer;transition:background .35s,color .35s}
.fin-seg button:hover{color:var(--fg)}
.fin-seg button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.fin-r{display:flex;flex-direction:column;gap:10px}
.fin-rl{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.fin-rl b{font-weight:500;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fin-r input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}
.fin-r input[type=range]:focus{outline:none}
.fin-r input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--fg) var(--v,50%),var(--line) var(--v,50%))}
.fin-r input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:var(--line)}
.fin-r input[type=range]::-moz-range-progress{height:3px;border-radius:3px;background:var(--fg)}
.fin-r input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10.5px;border-radius:50%;background:var(--fg);box-shadow:0 0 0 7px rgba(128,128,128,.14);transition:box-shadow .3s,transform .3s}
.fin-r input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:var(--fg);box-shadow:0 0 0 7px rgba(128,128,128,.14)}
.fin-r input[type=range]:active::-webkit-slider-thumb{transform:scale(1.08);box-shadow:0 0 0 11px rgba(128,128,128,.2)}
.fin-r input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--fg)}
.fin-hint{margin:0;padding:12px 14px;border-radius:12px;background:var(--chip);color:var(--fg-2);font-size:13.5px;line-height:1.5}
.fin-hint[hidden]{display:none}
.fin-out{position:sticky;top:96px;padding:26px 24px 22px;border-radius:22px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line),0 40px 90px -50px rgba(0,0,0,.6)}
.fin-k{margin:0;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.fin-big{margin:8px 0 20px;font-weight:300;font-size:clamp(36px,3.3vw,48px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.fin-bar{display:flex;height:8px;gap:2px;border-radius:8px;overflow:hidden;background:var(--line)}
.fin-bar i{display:block;min-width:0;transition:flex-basis .7s var(--ease)}
.fin-bar .l{flex:0 0 var(--l,50%);background:var(--fg)}
.fin-bar .e{flex:0 0 var(--e,40%);background:var(--fin-eq)}
.fin-bar .c{flex:1 1 auto;background:var(--fin-c)}
.fin-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 16px;font-size:12.5px;color:var(--fg-2)}
.fin-leg span::before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--fg)}
.fin-leg .e::before{background:var(--fin-eq)}
.fin-leg .c::before{background:var(--fin-c)}
.fin-rows{margin:0}
.fin-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.fin-rows dt{font-size:14.5px;color:var(--fg-2)}
.fin-rows dt small{display:block;margin-top:2px;font-size:12px;color:var(--fg-3)}
.fin-rows dd{margin:0;font-weight:500;font-size:15.5px;font-variant-numeric:tabular-nums;text-align:right}
.fin-rows .tot dt{color:var(--fg)}
.fin-rows .tot dd{font-size:19px}
.fin-det{margin:0 0 18px;border-top:1px solid var(--line)}
.fin-det summary{display:flex;align-items:center;gap:9px;padding:12px 0 6px;list-style:none;cursor:pointer;font-size:13.5px;color:var(--fg-2)}
.fin-det summary::-webkit-details-marker{display:none}
.fin-det summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s}
.fin-det[open] summary::after{transform:translateY(1px) rotate(225deg)}
.fin-det summary:hover{color:var(--fg)}
.fin-det dl{margin:0 0 4px}
.fin-det dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13.5px}
.fin-det dt{color:var(--fg-2)}
.fin-det dd{margin:0;font-variant-numeric:tabular-nums}
.fin-cta{margin-top:4px}
.fin-ctas{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:var(--fg-3);text-align:center}
.fin-note{margin:18px 0 0;max-width:72ch;font-size:12.5px;line-height:1.55;color:var(--fg-3)}
.fin-sum{margin:28px 0 28px;padding:4px 16px;border-radius:14px;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line)}
.fin-sum>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.fin-sum>div:last-child{border-bottom:0}
.fin-sum span{color:var(--fg-2)}
.fin-sum b{font-weight:500;text-align:right}
@media (max-width:1180px){.fin-grid{grid-template-columns:minmax(0,1fr)}.fin-out{position:relative;top:auto}}
@media (max-width:520px){.fin-out{padding:22px 18px 18px;border-radius:20px}.fin-seg button{font-size:13.5px}}
.fin-rows dd small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--fg-3)}
.fin-seg.n3{grid-template-columns:repeat(3,1fr)}
.fin-bi{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--fg-3)}
/* v16 · financing scale 0-100 %: hatched and blocked above the bank limit of the buyer status */
.fin-ltv{position:relative}
.fin-ltv input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;
  background:linear-gradient(var(--fg),var(--fg)) 0 0/calc(12px + (100% - 24px) * var(--vf,.5)) 100% no-repeat,
             linear-gradient(var(--line),var(--line)) 0 0/calc(12px + (100% - 24px) * var(--mf,1)) 100% no-repeat,
             repeating-linear-gradient(90deg,rgba(128,128,128,.55) 0 3px,transparent 3px 7px) 100% 0/calc(100% - 12px - (100% - 24px) * var(--mf,1)) 100% no-repeat}
.fin-ltv input[type=range]::-moz-range-track{height:4px;border-radius:4px;
  background:linear-gradient(var(--line),var(--line)) 0 0/calc(12px + (100% - 24px) * var(--mf,1)) 100% no-repeat,
             repeating-linear-gradient(90deg,rgba(128,128,128,.55) 0 3px,transparent 3px 7px) 100% 0/calc(100% - 12px - (100% - 24px) * var(--mf,1)) 100% no-repeat}
.fin-ltv input[type=range]::-webkit-slider-thumb{margin-top:-10px}
.fin-lim{position:relative;display:block;height:20px;margin-top:-4px}
.fin-lim em{position:absolute;top:0;left:calc(12px + (100% - 24px) * var(--mf,1));transform:translateX(-50%);padding-top:7px;font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--fg-2);white-space:nowrap;transition:left .5s var(--ease)}
.fin-lim em::before{content:"";position:absolute;left:50%;top:-2px;width:1px;height:8px;background:var(--fg-2)}
.fin-mineq{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--fg-2)}

/* ======================================================= v17 · Selected properties: ambient light, depth of field, big navigation */
.coll{position:relative;isolation:isolate}
@media (min-width:901px){.coll{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding-block:clamp(84px,9vh,120px) clamp(40px,5vh,70px)}}
.coll-head{align-items:flex-end}
.coll-lead{margin:0;max-width:40ch;color:var(--fg-2);font-size:clamp(15px,1.1vw,17px);line-height:1.6}
/* ambient light behind the slider */
.coll-amb{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.8s var(--ease);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.coll.in .coll-amb{opacity:1}
.coll-amb i{position:absolute;inset:-14%;background:center/cover no-repeat;filter:blur(72px) saturate(1.4);opacity:0;transform:scale(1.1);transition:opacity 1.3s var(--ease),transform 7s ease-out}
.coll-amb i.on{opacity:.5;transform:scale(1)}
:root[data-theme="light"] .coll-amb i.on{opacity:.3}
/* depth of field: the property in focus is sharp, its neighbours are softly out of focus; entering the section pulls everything into focus */
.coll .cc-media img{transition:filter .9s var(--ease)}
.coll .cc:not(.on) .cc-media img{filter:blur(3px) saturate(.85)}
.coll:not(.in) .cc .cc-media img{filter:blur(22px)}
.coll .cc.on{z-index:2}
.coll.in .cc.on .cc-media{animation:ccPull 1.4s var(--ease) both}
@keyframes ccPull{from{transform:scale(.94)}to{transform:none}}
/* big arrows on the slider (large screens) */
.coll-stage{position:relative}
.coll-side{position:absolute;z-index:4;top:calc(24px + min(min(50vw,860px) * .625,60vh) / 2 - 38px);width:76px;height:76px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:#fff;
  background:rgba(16,16,16,.36);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 24px 60px -24px rgba(0,0,0,.7);
  transition:transform .5s var(--ease),background .35s,opacity .4s}
.coll-side svg{width:20px;height:20px;transition:transform .5s var(--ease)}
.coll-side.prev{left:calc(50% - min(25vw,430px) - 38px)}
.coll-side.next{right:calc(50% - min(25vw,430px) - 38px)}
.coll-side:hover:not(:disabled){transform:scale(1.08);background:rgba(16,16,16,.55)}
.coll-side.next:hover:not(:disabled) svg{transform:translateX(3px)}
.coll-side.prev:hover:not(:disabled) svg{transform:translateX(-3px)}
.coll-side:disabled{opacity:0;pointer-events:none}
/* navigation under the slider: arrows + thumbnails of all highlights */
.coll-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,26px);margin:clamp(14px,2.4vh,28px) auto 0}
.coll-thumbs{display:flex;align-items:center;gap:10px}
.coll-th{position:relative;flex:none;width:76px;height:52px;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--ph);opacity:.45;filter:grayscale(.5);
  transition:opacity .45s,filter .45s,transform .55s var(--ease),box-shadow .45s}
.coll-th img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}
.coll-th:hover{opacity:.85;filter:none}
.coll-th[aria-current="true"]{opacity:1;filter:none;transform:translateY(-4px) scale(1.1);box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--fg),0 16px 30px -12px rgba(0,0,0,.6)}
.coll-arr{width:56px;height:56px}
.coll-meta{display:flex;justify-content:center;align-items:center;gap:16px;margin:16px 0 0;padding:0 var(--gut);font-size:12.5px;font-weight:500;letter-spacing:.14em;color:var(--fg-2)}
.coll-meta .coll-hint{display:inline}
@media (max-width:900px){
  .coll-side{display:none}
  .coll-head{flex-direction:column;align-items:flex-start;gap:14px}
  .coll-nav{gap:10px}
  .coll-th{width:42px;height:32px;border-radius:7px}
  .coll-thumbs{gap:6px}
  .coll-arr{width:42px;height:42px}
  .coll-meta .coll-hint{display:none}
  .coll .cc:not(.on) .cc-media img{filter:blur(2px) saturate(.85)}
}
@media (max-width:420px){.coll-nav .coll-arr{display:none}}
@media (prefers-reduced-motion:reduce){.coll-amb i{transition:opacity .3s}.coll:not(.in) .cc .cc-media img{filter:none}.coll.in .cc.on .cc-media{animation:none}}
/* v17b · the whole highlights block fits one screen on large displays */
@media (min-width:901px){
  .coll{padding-block:clamp(80px,9vh,104px) clamp(28px,4vh,48px)}
  .coll .coll-sticky{gap:clamp(18px,2.6vh,30px)}
  .coll .h-l{font-size:clamp(40px,4.2vw,68px)}
  .coll .cc-media{max-height:max(300px,calc(100vh - 480px));max-height:max(300px,calc(100svh - 480px))}
  .coll-side{top:calc(24px + min(min(50vw,860px) * .625,max(300px,calc(100svh - 480px))) / 2 - 38px)}
  .coll-nav{margin-top:clamp(6px,1.4vh,16px)}
  .coll-meta{margin-top:10px}
  .coll .cc-cap{margin-top:14px}
}
/* v17c · image keeps the full card width; slider navigation stays clear of the contact bar */
@media (min-width:901px){
  .coll .cc-media{aspect-ratio:auto;height:min(min(50vw,860px) * .625,max(280px,calc(100vh - 560px)));height:min(min(50vw,860px) * .625,max(280px,calc(100svh - 560px)));max-height:none}
  .coll-side{top:calc(24px + min(min(50vw,860px) * .625,max(280px,calc(100svh - 560px))) / 2 - 38px)}
  .coll{padding-bottom:clamp(70px,10vh,100px)}
}
/* v18 · intro: a fine line under the slogan fills during the short logo moment, then the transition plays */
.ko-slogan::after{content:"";display:block;width:clamp(90px,9vw,140px);height:1px;margin:clamp(16px,2.2vh,24px) auto 0;opacity:0;
  background:linear-gradient(currentColor,currentColor) 0 0/0% 100% no-repeat,rgba(128,128,128,.35);transition:opacity .4s}
html.intro-wait .ko-slogan::after{opacity:1;animation:introBar 2.5s linear forwards}
@keyframes introBar{to{background-size:100% 100%,auto}}
/* v19 · highlights on one centred axis: heading, lead, the property in focus, thumbnails and counter */
.coll-head{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(10px,1.6vh,16px)}
.coll-head .label{margin-bottom:clamp(10px,1.4vh,16px)}
.coll-lead{max-width:62ch;margin-inline:auto;text-wrap:balance}
@media (min-width:901px){
  .coll .cc-media{height:min(min(50vw,860px) * .625,max(270px,calc(100vh - 600px)));height:min(min(50vw,860px) * .625,max(270px,calc(100svh - 600px)))}
  .coll-side{top:calc(24px + min(min(50vw,860px) * .625,max(270px,calc(100svh - 600px))) / 2 - 38px)}
}
@media (max-width:900px){.coll-head{align-items:center;gap:10px}.coll-lead{font-size:14.5px}}
.coll .cc-hit{transform-style:preserve-3d;will-change:transform}
.coll-meta{box-sizing:border-box;max-width:100%}
@media (min-width:901px){.coll-lead{max-width:min(780px,100%)}}
/* v19 · repeat visit within the same visit: the page is positioned at the content before it shows (fallback after 1.2 s) */
html.intro-skip body{opacity:0;animation:introShow 0s 1.2s forwards}
@keyframes introShow{to{opacity:1}}
/* v20 · own funds below the bank minimum are set back to the minimum: the field lights up briefly */
.fin-eq.fin-flash input{animation:finFlash 1.4s var(--ease)}
@keyframes finFlash{0%,35%{box-shadow:0 0 0 2px var(--fg)}100%{box-shadow:0 0 0 0 transparent}}
/* v21 · highlights: the tilted inner layer never catches the pointer, the card itself does (reliable clicks in every browser) */
.coll .cc-hit{pointer-events:none}
.coll .cc{cursor:pointer}
/* v21 · About: the owner in person */
.ab-me{display:flex;align-items:center;gap:clamp(18px,2vw,26px);margin:clamp(30px,4vh,40px) 0 0}
.ab-me img{flex:none;width:clamp(120px,11vw,168px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.ab-me figcaption{display:flex;flex-direction:column;gap:6px}
.ab-me b{font-weight:400;font-size:clamp(20px,1.6vw,24px);letter-spacing:-.01em;line-height:1.2}
.ab-me span{color:var(--fg-2);font-size:14.5px}
.ab-me small{color:var(--fg-2);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.ab-me + .ab-cta{margin-top:clamp(26px,3.4vh,34px)}
@media (max-width:480px){.ab-me img{width:104px;border-radius:14px}.ab-me small{font-size:10.5px;letter-spacing:.08em;white-space:nowrap}.ab-me span{font-size:13.5px}}
/* v22 · calculator result as a short calculation: price + purchase costs = total capital, less financing = own funds (incl. costs) */
.fin-brace{position:relative;height:22px;margin:6px 0 0 var(--bl,60%);border:1px solid var(--fin-eq);border-top:0;border-radius:0 0 8px 8px;height:8px;transition:margin-left .7s var(--ease)}
.fin-brace span{position:absolute;right:0;top:12px;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--fg);font-variant-numeric:tabular-nums}
.fin-brace + .fin-leg{margin-top:30px}
.fin-calc .sum{border-top-color:var(--fg-3)}
.fin-calc .sum dt{color:var(--fg)}
.fin-calc .tot{border-top:2px solid var(--fg);padding-top:14px}
.fin-calc .tot dd{font-size:21px}
.fin-split{margin:2px 0 18px;font-size:12.5px;line-height:1.55;color:var(--fg-2)}
/* v24 · budget calculator "What can I afford?": window, finder bar, card line, "just above your budget" */
.ic-calc{width:16px;height:16px;flex:none}
.qchip.bud{gap:8px}
.qchip.bud[aria-pressed="true"]{background:#fff;color:#0B0B0B}
.pop-bud{display:flex;align-items:center;gap:10px;width:100%;margin:16px 0 4px;padding:12px 14px;border:0;border-radius:14px;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:500 14px var(--f);text-align:left;cursor:pointer;transition:box-shadow .3s}
.pop-bud span:not(.arr){flex:1}
.pop-bud:hover{box-shadow:inset 0 0 0 1.5px var(--fg)}
.pop-bud .arr{width:28px;height:28px}
@media (min-width:701px){.mdl:has(.bu){width:min(880px,calc(100vw - 32px))}}
.bu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.4vw,30px);align-items:start;margin-top:24px}
.bu-in{display:flex;flex-direction:column;gap:20px}
.bu-x{display:block;margin-top:-2px;font-size:12px;color:var(--fg-3)}
.bu .fin-f>i{bottom:auto;top:44px}
.bu-more summary{cursor:pointer;font-size:13.5px;color:var(--fg-2);text-decoration:underline;text-underline-offset:4px;list-style:none}
.bu-more summary::-webkit-details-marker{display:none}
.bu-more[open] summary{margin-bottom:12px}
.bu-more .fin-r + .fin-r{margin-top:12px}
.bu-res{padding:24px 22px 20px;border-radius:20px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.bu-res .fin-big{margin:10px 0 6px}
.bu-newb{margin:0 0 16px;font-size:13px;color:var(--fg-2)}
.bu-res .fin-rows dt{font-size:13.5px}
.bu-res .btn{margin-top:18px}
.bu-res .btn:disabled{opacity:.45;cursor:default}
.bu-near{margin:10px 0 0;font-size:13px;color:var(--fg-2);text-align:center}
.bu-near:empty{display:none}
.bu-res .fin-note{margin:14px 0 0;font-size:11.5px;line-height:1.5;color:var(--fg-3)}
@media (max-width:760px){.bu{grid-template-columns:1fr}.bu-res{padding:20px 18px 18px}}
.bud-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin:0 0 22px;padding:14px 18px;border-radius:16px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.bud-bar p{margin:0;font-size:14.5px;color:var(--fg)}
.bud-act{display:flex;gap:8px}
.bud-act button{height:36px;padding:0 14px;border-radius:999px;border:0;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:500 13px var(--f);cursor:pointer}
.bud-act button:hover{box-shadow:inset 0 0 0 1.5px var(--fg)}
.pc-bud{margin:8px 0 0;font-size:13px;font-weight:500;color:var(--fg);font-variant-numeric:tabular-nums}
.pc-bud::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--good);vertical-align:1px}
.pc-bud.near::before{background:#C9A86A}
.pc-bud.near{color:var(--fg-2)}
.bud-near{margin:clamp(40px,6vh,64px) 0 22px}
.bud-near h3{margin:0;font-weight:300;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em}
.bud-near p{margin:8px 0 0;color:var(--fg-2)}
.bud-empty .relax a{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font-size:14px;font-weight:500;text-decoration:none}
.fin-rev{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin:12px 0 0;padding:10px;border:0;background:none;color:var(--fg-2);font:500 13.5px var(--f);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.fin-rev:hover{color:var(--fg)}
/* v25 · reset all filters in one click (filter bar, hero search, dock, empty state); a toast offers "undo" */
.fb-reset,.qchip.reset,.relax .rs{display:inline-flex;align-items:center;gap:8px}
.fb-reset svg,.qchip.reset svg,.relax .rs svg{width:11px;height:11px;flex:none}
.fb-reset b,.qchip.reset b,.relax .rs b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:10px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}
.fb-reset{box-shadow:inset 0 0 0 1px var(--fg)}
.fb-reset b{background:var(--fg);color:var(--bg)}
.fb-reset:hover{background:var(--fg);color:var(--bg)}
.fb-reset:hover b{background:var(--bg);color:var(--fg)}
.qchip.reset{background:rgba(255,255,255,.14)}
.qchip.reset b{background:#fff;color:#0B0B0B}
.relax .rs{box-shadow:inset 0 0 0 1px var(--fg)}
.relax .rs b{background:var(--fg);color:var(--bg)}
@media (max-width:700px){.fbar-in .fb-reset{order:-2}}
/* v26 · budget calculator easier to find and to change: gold accent in the hero, its own button in the sticky filter
   bar (visible while scrolling), a teaser card among the results */
:root{--gold:#C9A86A;--gold-ink:#1A140A}
.qchip.bud{background:var(--gold);color:var(--gold-ink);box-shadow:0 10px 30px -10px rgba(201,168,106,.7);font-weight:600;position:relative;overflow:hidden}
.qchip.bud::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:budShine 3.6s 1.2s ease-in-out infinite}
@keyframes budShine{0%,60%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.qchip.bud[aria-pressed="true"]{background:#fff;color:#0B0B0B}
.qchip.bud[aria-pressed="true"]::after{display:none}
.fb.fb-bud{gap:8px;box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--fg)}
.fb.fb-bud .ic-calc{color:var(--gold)}
.fb.fb-bud:hover{background:var(--gold);color:var(--gold-ink)}
.fb.fb-bud:hover .ic-calc{color:var(--gold-ink)}
.fb.fb-bud.on{background:var(--gold);color:var(--gold-ink);box-shadow:none}
.fb.fb-bud.on .ic-calc{color:var(--gold-ink)}
.fb-bud .ed{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.14)}
.fb-bud .ed svg{width:11px;height:11px}
.fb-bud .bs{display:none}
@media (max-width:700px){.fbar-in .fb-bud{order:-3}.fb-bud.on .bl{display:none}.fb-bud.on .bs{display:inline}}
.lc.bud-tz{background:linear-gradient(150deg,#d9bd84 0%,var(--gold) 45%,#a8874c 100%);color:var(--gold-ink)}
.lc.bud-tz .label{display:flex;align-items:center;gap:8px;opacity:.75}
.lc.bud-tz .label .ic-calc{width:15px;height:15px}
.lc.bud-tz .btn{background:var(--gold-ink);color:#F3EEE3}
.bu-rm{display:block;margin:12px auto 0;padding:4px;border:0;background:none;color:var(--fg-2);font:500 13px var(--f);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.bu-rm:hover{color:var(--fg)}
@media (prefers-reduced-motion:reduce){.qchip.bud::after{animation:none;display:none}}
/* v28 · map search: the big map on top (full width), the usual cards below; draw a circle straight away
   (no button), each further circle adds an area, × on a circle removes it */
.mapv{display:block;margin-top:14px}
.mapbox{position:relative;top:auto}
@media (min-width:901px){.mapbox .mapsvg{height:clamp(460px,72vh,820px)}}
.mapsvg{cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.mapbox.zoomed:not(.drawing) .mapsvg{cursor:crosshair;touch-action:pan-y}
.mapbox.panmode.zoomed .mapsvg{cursor:grab;touch-action:none}
.mapbox.panmode.panning .mapsvg{cursor:grabbing}
.mapbox.drawing .mapsvg{touch-action:none;cursor:crosshair}
.mapbox.drawing{box-shadow:inset 0 0 0 2px var(--fg)}
.mapbox .mmove{display:none}
.mapbox.zoomed .mmove{display:inline-flex}
.maphint{z-index:4;display:inline-flex;align-items:center;gap:9px;top:12px;left:12px;height:40px;padding:0 16px 0 13px;border-radius:999px;background:var(--chip);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);font:500 14px var(--f);letter-spacing:0;text-transform:none;pointer-events:none;max-width:calc(100% - 24px)}
.maphint svg{width:16px;height:16px;flex:none}
.maphint span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mapbox:has(.mtool[data-mclear]) .maphint,.mapbox.zoomed .maphint{max-width:calc(100% - 200px)}
.mapsvg .lx{cursor:pointer}
.mapsvg .lx circle{fill:var(--fg);stroke:var(--bg);stroke-width:2;vector-effect:non-scaling-stroke}
.mapsvg .lx path{stroke:var(--bg);stroke-width:2;stroke-linecap:round;fill:none;vector-effect:non-scaling-stroke}
.mapsvg .lx:hover circle{fill:var(--heart)}
.mapsvg .lx:focus{outline:none}
.mapsvg .lx:focus-visible circle{stroke:var(--heart);stroke-width:4}
.mapsvg .ghost{fill:none;stroke:var(--fg);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.9;pointer-events:none}
.mapsvg .ghost.go{transition:stroke-dashoffset 1.7s cubic-bezier(.45,.05,.35,1) .5s,opacity .7s ease 3.1s;stroke-dashoffset:0!important;opacity:0}
.mapv + .mhead{margin:34px 0 0}
@media (max-width:700px){.maphint{position:relative;top:auto;left:auto;right:auto;margin:10px 0 0 10px;height:36px;font-size:13px;padding:0 13px 0 11px}.mtools{top:10px;right:10px}.mtool{height:36px}.mapbox:has(.mtool[data-mclear]) .maphint,.mapbox.zoomed .maphint{max-width:calc(100% - 120px)}}
/* areas section: map search as a clear button instead of a small link */
.mmopen.btn{height:54px;padding:0 9px 0 20px;gap:12px;border-bottom:0;letter-spacing:.02em;text-transform:none;font:500 15px var(--f);color:#0A0A0A;background:#fff;box-shadow:0 14px 40px -14px rgba(255,255,255,.35)}
.mmopen.btn:hover{border-color:transparent}
.mmopen .mmic{width:18px;height:18px;flex:none}
.areas-l .mmfoot{align-items:center;gap:14px 22px;margin-top:26px}
/* the map view toggle carries its name on wide screens, so the map search is easy to find */
.dseg.ic-only .vl{display:none}
@media (min-width:1400px){.dseg.ic-only [data-view="map"]{display:inline-flex;align-items:center;gap:7px;padding:0 15px 0 12px}.dseg.ic-only .vl{display:inline;font-weight:500}}
/* v29 · journal: large cards only, "show more" instead of the small list; a contact tile fills the last row */
.jr-feat .jr-x{display:none}
.jr-feat .jc.jr-in,.jr-feat .jr-cta.jr-in{animation:rise .9s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms)}
.jr-feat .jr-cta{grid-column:span var(--span,1);min-height:0}
.jr-feat .jr-cta h3{max-width:16ch}
.jr-more{margin-top:clamp(44px,5vw,64px)}
@media (max-width:900px){.jr-feat{row-gap:46px}.jr-feat .jr-cta{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.jr-feat .jc.jr-in,.jr-feat .jr-cta.jr-in{animation:none}}
/* "show more / fewer": the + and − keep their meaning on hover (the usual arrow turn made the + look like a ×) */
.more-btn:hover .arr{transform:scale(1.1)}
/* v31 · "sell with us" tile in the search results: photo, dark veil, white button */
.lc.sell-tz{position:relative;overflow:hidden;isolation:isolate;color:#F3F0EA;background:#141210}
.lc.sell-tz::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover no-repeat;transform:scale(1.02);transition:transform 1.4s var(--ease)}
.lc.sell-tz::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,9,8,.82) 0%,rgba(10,9,8,.55) 48%,rgba(10,9,8,.86) 100%)}
.lc.sell-tz:hover::before{transform:scale(1.07)}
.lc.sell-tz .label{opacity:.75}
.lc.sell-tz p{opacity:.85}
.lc.sell-tz .btn{background:#fff;color:#0A0A0A}
.lc.sell-tz .btn .arr{background:#0A0A0A;color:#fff}
/* v33 · currency and sq ft, "new" / "price reduced", recently viewed, compare, price alert, Google rating */
.ubtn{height:34px;padding:0 12px;border:0;border-radius:999px;background:none;color:inherit;box-shadow:inset 0 0 0 1px rgba(127,127,127,.45);font:500 12px var(--f);letter-spacing:.06em;cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}
.ubtn:hover{box-shadow:inset 0 0 0 1px currentColor}
@media (max-width:1080px){.hdr .ubtn{display:none}}
.upop{position:fixed;z-index:120;width:300px;box-sizing:border-box;padding:18px;border-radius:18px;background:var(--card);color:var(--fg);box-shadow:0 24px 60px -18px rgba(0,0,0,.55),inset 0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .3s var(--ease),visibility 0s .3s}
.upop.open{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .3s var(--ease),visibility 0s}
.up-h{margin:0 0 8px;font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.up-h+.up-c,.up-h+.up-u{margin-bottom:16px}
.up-c{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.up-c button{height:44px;border:0;border-radius:12px;background:none;color:inherit;box-shadow:inset 0 0 0 1px var(--line);font:500 14px var(--f);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.up-c button span{font-size:10px;opacity:.6;letter-spacing:.06em}
.up-c button[aria-pressed="true"]{background:var(--fg);color:var(--bg);box-shadow:none}
.up-u{display:inline-flex}
.up-n{margin:0;font-size:12px;line-height:1.45;color:var(--fg-2)}
.m-units{flex-basis:100%;max-width:420px;--fg:#F3F0EA;--bg:#0B0B0B;--fg-2:rgba(243,240,234,.6);--line:rgba(243,240,234,.18);color:#F3F0EA}
.m-units .up-c{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (max-width:480px){.m-units .up-c{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pc-tag span.nw{background:var(--gold);color:var(--gold-ink)}
.pc-tag span.dr{background:var(--heart);color:#fff}
.pdrop{margin:6px 0 0;font-size:13px;font-weight:500;color:var(--heart);font-variant-numeric:tabular-nums}
.pdrop s{color:var(--fg-3);font-weight:400}
.enq-flag{position:static;display:flex;gap:6px;margin:0 0 12px}
.enq-eur{margin:8px 0 0;font-size:13px;color:var(--fg-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.enq-eur button{border:0;background:none;padding:2px 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.grev{display:inline-flex;align-items:center;gap:8px;margin-top:6px;color:inherit;text-decoration:none;font-size:13px;line-height:1.3}
.grev .grev-s{color:var(--gold);letter-spacing:1px;font-size:13px}
.grev span:last-child{text-decoration:underline;text-decoration-color:rgba(127,127,127,.5);text-underline-offset:3px}
.grev:hover span:last-child{text-decoration-color:currentColor}
.agent .grev{display:inline-flex;font-size:12.5px;color:var(--fg-2)}
.grev-w{display:block}
.grev-w:empty{display:none}
.ct-me .grev{color:rgba(243,240,234,.75)}
.rv{margin:26px 0 6px}
.rv-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.rv-h .label{margin:0;color:var(--fg-2)}
.rv-h button{border:0;background:none;padding:0;color:var(--fg-2);font:500 13px var(--f);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.rv-l{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;margin-top:12px;padding:2px;scroll-snap-type:x proximity}
.rv-l::-webkit-scrollbar{display:none}
.rv-i{flex:none;width:260px;display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;padding:8px;border:0;border-radius:14px;background:var(--bg-2);color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;transition:box-shadow .2s}
.rv-i:hover{box-shadow:inset 0 0 0 1px var(--line)}
.rv-i img{width:82px;height:62px;border-radius:9px;object-fit:cover;background:var(--ph)}
.rv-i b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400;font-size:14px;line-height:1.3}
.rv-i small{display:block;margin-top:4px;font-size:12.5px;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.rv-i small small{display:inline;margin:0}
.cmp-b{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 13px;border:0;border-radius:999px;background:none;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);font:500 14px var(--f);cursor:pointer}
.cmp-b svg{width:17px;height:17px}
.cmp-b:hover{box-shadow:inset 0 0 0 1px var(--fg)}
#fvF{flex-wrap:wrap}
.dkf-e{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.dkf-e .dkf-edit{margin:0}
.dkf-e .cmp-b{height:38px;font-size:13.5px}
.mdl.wide{width:min(1180px,calc(100vw - 32px))}
.cp{margin-top:24px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.cp-row{display:grid;grid-template-columns:150px repeat(var(--n),minmax(170px,1fr));gap:0 18px;align-items:center;min-width:calc(150px + var(--n) * 188px);border-bottom:1px solid var(--line);padding:11px 0}
.cp-l{margin:0;font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
.cp-v{font-size:15px;line-height:1.35;font-variant-numeric:tabular-nums;position:relative}
.cp-v small{display:block;font-size:12.5px;color:var(--fg-2)}
.cp-v .pdrop{display:block;margin:2px 0 0}
.cp-v.best{font-weight:500}
.cp-v.best::before{content:"";position:absolute;left:-11px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--gold)}
.cp-x{color:var(--fg-3)}
.cp-ok{color:var(--good)}
.cp-ok svg{width:18px;height:18px}
.cp-top{align-items:end;border-bottom:0;padding-top:0}
.cp-sel select{width:100%;height:38px;margin-bottom:10px;padding:0 10px;border:0;border-radius:10px;background:var(--field);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);font:500 13px var(--f)}
.cp-card{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.cp-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--ph)}
.cp-card b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px;font-weight:400;font-size:15px;line-height:1.3}
.cp-card small{display:block;margin-top:4px;font-size:12px;letter-spacing:.12em;color:var(--fg-2)}
.cp-card:hover b{text-decoration:underline;text-underline-offset:4px}
.cp-sec{margin:22px 0 0;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;min-width:calc(150px + var(--n) * 188px)}
.cp-go{border-bottom:0;padding-top:18px}
.cp-go .btn{height:46px;padding-left:18px;gap:10px;font-size:14px}
.cp-f{display:flex;justify-content:flex-end;margin-top:22px}
.cp .ec-b{margin:0}
@media (max-width:700px){
  .cp-row,.cp-sec{min-width:calc(var(--n) * 150px);grid-template-columns:repeat(var(--n),minmax(140px,1fr));gap:4px 14px}
  .cp-row>.cp-l{grid-column:1/-1}
  .cp-top>.cp-l,.cp-go>.cp-l{display:none}
  .cp-v.best::before{left:-9px}
  .cp-f{justify-content:stretch}.cp-f .btn{width:100%;justify-content:space-between}
}
.rv-i .rv-p{margin-top:2px;color:var(--fg)}
/* market data window (preview; on the server it is its own page) */
.mp h2{margin:12px 48px 0 0}
.mp .mp-lead{margin:14px 0 0;color:var(--fg-2);font-size:16.5px;line-height:1.6;max-width:760px}
.mp .mp-all{margin:16px 0 0;font-size:16px}
.mp .mp-all b{font-weight:500}
.mp h2+.mp-lead{margin-top:14px}
.mp h2:not(:first-of-type){margin:34px 0 10px;font-size:clamp(21px,2vw,26px)}
.mp .mp-w{overflow-x:auto}
.mp .mp-t{width:100%;min-width:520px;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:15px}
.mp .mp-t th,.mp .mp-t td{text-align:left;padding:12px 14px 11px 0;border-bottom:1px solid var(--line);font-weight:400}
.mp .mp-t thead th{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.mp .mp-t tbody th{font-weight:500}
.mp .mp-t b{font-weight:500}
.mp .mp-how{color:var(--fg-2);line-height:1.7;padding-left:1.1em;font-size:15px}
.mp .mp-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 32px;margin-top:34px;padding:24px;border-radius:18px;background:var(--bg-2)}
.mp .mp-cta h3{margin:0 0 6px;font-weight:300;font-size:24px}
.mp .mp-cta p{margin:0;color:var(--fg-2)}
.mp .mp-b{display:flex;flex-wrap:wrap;gap:10px}
.mp .a-btn{display:inline-flex;align-items:center;height:46px;padding:0 20px;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-weight:500;font-size:14.5px;text-decoration:none}
.mp .a-btn.o{background:none;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.m-units{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 22px;max-width:none}
.mu-c,.mu-u{display:flex;flex-direction:column;gap:6px}
.mu-c span,.mu-u span{font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,240,234,.55)}
.mu-c select{height:42px;min-width:140px;padding:0 12px;border:0;border-radius:12px;background:rgba(255,255,255,.06);color:#F3F0EA;box-shadow:inset 0 0 0 1px rgba(243,240,234,.18);font:500 14px var(--f)}
.mu-c select option{color:#0B0B0B}
@media (max-width:900px){.menu-in{grid-template-rows:auto auto}}
/* v34 · buying guide (window in the preview), schools, 3D tour, PDF exposé, network block */
.mp .gd-steps{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}
.mp .gd-steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 18px;padding:22px 0;border-bottom:1px solid var(--line)}
.mp .gd-n{font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--fg-2);padding-top:6px}
.mp .gd-steps h3{margin:0 0 6px;font-size:clamp(19px,1.7vw,22px);font-weight:400}
.mp .gd-steps p{margin:0;color:var(--fg-2);line-height:1.65;max-width:760px}
.mp .gd-time{margin:18px 0 0;font-weight:500}
.mp .gd-net{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.mp .gd-net li{margin:0;height:40px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);font-size:14.5px}
.mp .gd-note{margin:26px 0 0;font-size:13.5px;color:var(--fg-2)}
@media (max-width:600px){.mp .gd-steps li{grid-template-columns:40px minmax(0,1fr)}}.mp .gd-steps h3{font-weight:400}
.mp .gd-net li{color:var(--fg)}
.d-sch dd{display:flex;flex-direction:column;align-items:flex-end;white-space:normal;text-align:right}
.d-sch dd small{font-weight:400;font-size:12.5px;color:var(--fg-2);margin-top:2px;line-height:1.3}
.mo-tour i svg{width:18px;height:18px;fill:none;margin:0;color:#0B0B0B}
.tour-card{position:relative;display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:var(--ph);cursor:pointer}
.tour-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.62);transition:transform 1.2s var(--ease)}
.tour-card:hover img{transform:scale(1.03)}
.tour-card span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 24px 0 8px;border-radius:999px;background:#fff;color:#0B0B0B;font:500 15px var(--f);white-space:nowrap}
.tour-card i{width:42px;height:42px;border-radius:50%;background:#0B0B0B;color:#fff;display:grid;place-items:center}
.tour-card i svg{width:20px;height:20px}
.vm.tour .vm-box{width:min(1500px,94vw);height:min(86vh,900px);aspect-ratio:auto}
.tour-cc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#F3F0EA;background:radial-gradient(circle at 50% 40%,#1d1d1d,#050505)}
.tour-cc .label{color:rgba(243,240,234,.6)}
.tour-cc h3{margin:12px 0 0;font-weight:300;font-size:clamp(26px,3vw,40px)}
.tour-cc p{max-width:46ch;color:rgba(243,240,234,.7);line-height:1.6}
.tour-b{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:10px}
.tour-cc .btn{--btn-bg:#F3F0EA;--btn-fg:#0A0A0A}
.tour-al{border:0;background:none;color:rgba(243,240,234,.75);font:500 13.5px var(--f);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.enq-gd{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--fg-2);font-size:13.5px;text-decoration:none}
.enq-gd:hover{color:var(--fg)}
.enq-gd .ic-a{width:12px;height:12px}
.expo-b{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pdf-b{display:inline-flex;align-items:center;gap:8px;height:54px;padding:0 22px;border:0;border-radius:999px;background:none;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);font:500 15px var(--f);cursor:pointer}
.pdf-b:hover{box-shadow:inset 0 0 0 1px var(--fg)}
.pdf-b .ic{width:18px;height:18px}
.ab-b.ab-net{grid-column:1/-1}
.ab-more{display:inline-flex;align-items:center;gap:10px;margin-top:16px;color:var(--fg);font-weight:500;font-size:15px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}
.ab-more:hover{border-color:var(--fg)}
.ab-more svg{width:13px;height:13px}
#prt{display:none}
@media print{
  /* PDF exposé in the look of the website: dark pages, Jost, warm white, rounded photos (see prtPages in plus.js) */
  @page{size:A4;margin:0}
  html.printing body>*:not(#prt){display:none!important}
  html.printing{color-scheme:dark!important}
  html.printing,html.printing body{background:#060606!important;color:#F3F0EA!important;transition:none!important;margin:0!important;padding:0!important}
  html.printing #prt{display:block;color:#F3F0EA;font:300 10pt/1.55 "Jost","Futura",Arial,sans-serif;letter-spacing:.005em}
  #prt *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
  #prt .xp-pg{position:relative;width:210mm;height:297mm;padding:14mm 16mm 0;background:#060606;overflow:hidden;break-after:page;page-break-after:always}
  #prt .xp-pg:last-child{break-after:auto;page-break-after:auto}
  #prt .xp-h{display:flex;justify-content:space-between;align-items:center;height:12mm}
  #prt .xp-h img{height:9mm;width:auto}
  #prt .xp-h span{font-size:7.5pt;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#9B978F}
  #prt .xp-f{position:absolute;left:16mm;right:16mm;bottom:9mm;display:flex;justify-content:space-between;padding-top:3mm;border-top:.25mm solid rgba(243,240,234,.16);font-size:7pt;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#9B978F}
  #prt .xp-k,#prt .xp-l{margin:0;font-size:7.5pt;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#9B978F}
  #prt .xp-l{display:flex;align-items:center;gap:4mm;margin:9mm 0 6mm}
  #prt .xp-l::before{content:"";width:10mm;border-top:.3mm solid #F3F0EA}
  /* cover */
  #prt .xp-hero{display:block;max-width:none;width:calc(100% + 32mm);margin:7mm -16mm 0;object-fit:cover;border-radius:0}
  #prt .xp-cb{padding-top:10mm}
  #prt .xp-cv .xp-k{margin-bottom:4mm}
  #prt h1{margin:0;font-size:25pt;font-weight:300;line-height:1.12;letter-spacing:-.015em;color:#F3F0EA}
  #prt .xp-price{margin:6mm 0 0;font-size:20pt;font-weight:400;letter-spacing:.01em}
  #prt .xp-price small{display:block;margin-top:1.5mm;font-size:8.5pt;font-weight:300;letter-spacing:.02em;color:#9B978F}
  #prt .xp-key{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:9mm 0 0;border-top:.25mm solid rgba(243,240,234,.16)}
  #prt .xp-key div{padding:5mm 0 0 5mm;border-left:.25mm solid rgba(243,240,234,.16)}
  #prt .xp-key div:first-child{padding-left:0;border-left:0}
  #prt .xp-key dd{margin:0;font-size:17pt;font-weight:300;line-height:1.1}
  #prt .xp-key dt{margin-top:1.5mm;font-size:6.8pt;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#9B978F}
  /* facts */
  #prt .xp-intro{margin:0 0 7mm;font-size:11.5pt;font-weight:300;line-height:1.6;color:#E9E5DD}
  #prt .xp-strip{display:block;width:100%;height:62mm;object-fit:cover;border-radius:3.5mm}
  #prt .xp-cols{display:grid;grid-template-columns:1fr 1fr;gap:12mm;margin-top:8mm}
  #prt h2{margin:0 0 3mm;font-size:7.5pt;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#9B978F}
  #prt .xp-cols h2+*{margin-bottom:6mm}
  #prt .xp-dl{margin:0;border-top:.25mm solid rgba(243,240,234,.16)}
  #prt .xp-dl div{display:flex;justify-content:space-between;gap:4mm;padding:2.1mm 0;border-bottom:.25mm solid rgba(243,240,234,.1);font-size:9.5pt}
  #prt .xp-dl dt{color:#9B978F}
  #prt .xp-dl dd{margin:0;text-align:right;font-weight:400;color:#F3F0EA}
  #prt .xp-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2mm}
  #prt .xp-chips li{padding:1.2mm 3mm;border:.25mm solid rgba(243,240,234,.3);border-radius:10mm;font-size:8.5pt;font-weight:400}
  /* photos */
  #prt .xp-row{display:flex;gap:4mm;margin-bottom:4mm}
  #prt .xp-row img{display:block;max-width:none;flex:1;min-width:0;width:100%;object-fit:cover;border-radius:3.5mm}
  /* one sheet: the back with three photos in a row */
  #prt .xp-three{display:flex;gap:4mm;margin-bottom:8mm}
  #prt .xp-three img{display:block;flex:1;min-width:0;max-width:none;height:44mm;object-fit:cover;border-radius:3.5mm}
  #prt .xp-back .xp-cols{margin-top:0}
  #prt .xp-back .xp-dl div{padding:1.7mm 0;font-size:9pt}
  /* contact */
  #prt .xp-ct{position:absolute;left:16mm;right:16mm;bottom:20mm}
  #prt .xp-ct .xp-l{margin-top:0}
  #prt .xp-ctin{display:grid;grid-template-columns:26mm 1fr 30mm;gap:7mm;align-items:center;padding-top:6mm;border-top:.25mm solid rgba(243,240,234,.16)}
  #prt .xp-ph{width:26mm;height:26mm;border-radius:50%;object-fit:cover}
  #prt .xp-ctt b{display:block;font-size:14pt;font-weight:400}
  #prt .xp-ctt span{display:block;margin-top:.5mm;font-size:8pt;color:#9B978F}
  #prt .xp-ctt p{margin:3mm 0 0;font-size:9.5pt;line-height:1.65}
  #prt .xp-qr{text-align:center}
  #prt .xp-qr svg{display:block;width:30mm;height:30mm;border-radius:2mm}
  #prt .xp-qr span{display:block;margin-top:2mm;font-size:6.5pt;line-height:1.35;color:#9B978F}
  #prt .xp-note{margin:6mm 0 0;font-size:6.8pt;color:#6F6C66}
}
/* card: type · location may need two lines on narrow cards instead of being cut off */
.pc-meta .label{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55}
.pc-meta .pc-price{flex:none}

/* ---------- v35 PHOTO GALLERY (scroll through all photos) + LIGHTBOX with glow and thumbnails ---------- */
.gal{position:fixed;inset:0;z-index:91;background:#060606;color:#F3F0EA;--fg:#F3F0EA;--fg-2:#9B978F;--bg:#060606;--line:rgba(243,240,234,.13);--btn-bg:#F3F0EA;--btn-fg:#0A0A0A;--chip:rgba(255,255,255,.12);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.gal.open{opacity:1;visibility:visible;transition:opacity .45s,visibility 0s}
.gal-h{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:20px;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gut) 14px;background:rgba(6,6,6,.8);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
.gal-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.gal-t span{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9B978F}
.gal-t b{font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gal-n{font-size:13px;font-weight:500;letter-spacing:.16em;font-variant-numeric:tabular-nums;white-space:nowrap}
.gal .xbtn{background:rgba(255,255,255,.12);color:#fff}
.gal-bar{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(243,240,234,.1);overflow:hidden}
.gal-bar i{position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,240,234,.3),#F3F0EA);transform-origin:left;transform:scaleX(0)}
.gal-in{max-width:1240px;margin:0 auto;padding:clamp(18px,3vw,40px) var(--gut) 0;display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px);transform:translateY(24px);transition:transform .9s var(--ease)}
.gal.open .gal-in{transform:none}
.gal-row{display:flex;gap:clamp(10px,1.2vw,16px)}
.gal-row.one{justify-content:center}
.gal-f{position:relative;flex:var(--r) 1 0;min-width:0;aspect-ratio:var(--r);padding:0;border:0;border-radius:18px;overflow:hidden;background:#121212;cursor:zoom-in;opacity:0;transform:translateY(46px);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease)}
.gal-row.one .gal-f{flex:none;width:min(100%,calc((100vh - 150px) * var(--r)))}
.gal-row .gal-f+.gal-f{transition-delay:.12s}
.gal-f.in{opacity:1;transform:none}
.gal-f img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .8s,transform 1.8s var(--ease),filter .6s}
.gal-f.in img.ld{opacity:1;transform:none}
.gal-f::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(243,240,234,0);transition:box-shadow .5s;pointer-events:none}
.gal-f:focus-visible{outline:2px solid #F3F0EA;outline-offset:3px}
@media (hover:hover){.gal-f:hover img.ld{transform:scale(1.03);filter:brightness(1.06)}.gal-f:hover::after{box-shadow:inset 0 0 0 1px rgba(243,240,234,.55)}}
.gal-end{text-align:center;padding:clamp(64px,9vw,120px) 0 calc(clamp(64px,9vw,110px) + env(safe-area-inset-bottom,0px))}
.gal-ref{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9B978F}
.gal-end h3{margin:0 0 30px;font-weight:300;font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.03em}
.gal-cta{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:center}
.gal-back{background:none;border:0;padding:0 0 2px;color:#F3F0EA;font:500 15px var(--f);cursor:pointer;box-shadow:inset 0 -1px 0 rgba(243,240,234,.4);transition:box-shadow .3s}
.gal-back:hover{box-shadow:inset 0 -1px 0 #F3F0EA}
@media (max-width:700px){.gal-h{gap:12px}.gal-t b{font-size:14px}.gal-row{flex-direction:column}.gal-f,.gal-row.one .gal-f{flex:none;width:100%;border-radius:14px}}
@media (prefers-reduced-motion:reduce){.gal-in,.gal-f,.gal-f img{transition:none!important;transform:none!important}.gal-f,.gal-f img{opacity:1}}
.lb{background:#050505;overflow:hidden}
.lb-glow{position:absolute;inset:-12%;background:center/cover no-repeat;filter:blur(70px) saturate(1.4) brightness(.5);opacity:.75;transform:scale(1.1);transition:opacity .5s;pointer-events:none}
.lb.sw .lb-glow{opacity:0}
.lb.plan .lb-glow,.lb.plan .lb-th{display:none}
.lb:not(.plan) #lbImg{position:relative;max-width:calc(100vw - 200px);max-height:calc(100vh - 210px);border-radius:18px;box-shadow:0 40px 120px -30px rgba(0,0,0,.9),0 0 0 1px rgba(243,240,234,.08);transition:opacity .3s var(--ease),transform .6s var(--ease)}
.lb.sw:not(.plan) #lbImg{opacity:0;transform:scale(.985)}
.lb .lb-n{top:calc(26px + env(safe-area-inset-top,0px));bottom:auto}
.lb-p,.lb-nx{z-index:1;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.lb-x{z-index:1}
.lb-th{position:absolute;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1;max-width:min(980px,calc(100vw - 48px));display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 24px;box-sizing:border-box;touch-action:pan-x;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.lb-th::-webkit-scrollbar{display:none}
.lb-th:empty{display:none}
.lb-th button{flex:none;width:76px;height:50px;padding:0;border:0;border-radius:9px;overflow:hidden;background:#141414;opacity:.42;cursor:pointer;transition:opacity .3s,box-shadow .3s}
.lb-th button:hover{opacity:.8}
.lb-th button[aria-current="true"]{opacity:1;box-shadow:0 0 0 1.5px #F3F0EA}
.lb-th img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0;box-shadow:none}
@media (max-width:700px){.lb:not(.plan) #lbImg{max-width:calc(100vw - 24px);max-height:calc(100vh - 230px);border-radius:14px}.lb:not(.plan) .lb-p,.lb:not(.plan) .lb-nx{display:none!important}.lb-th{max-width:100vw;gap:6px;padding:4px 20px}.lb-th button{width:58px;height:40px;border-radius:8px}}
@media print{.gal,.lb{display:none!important}}
/* v36 gallery: viewing request always at hand (header on desktop, floating on phones) */
.gal-hc,.gal-fab{display:flex;align-items:center;gap:10px}
.gal-req{height:42px;padding:0 20px;border:0;border-radius:999px;background:#F3F0EA;color:#0A0A0A;font:500 14px var(--f);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background .3s,transform .5s var(--ease)}
.gal-req:hover{background:#fff}
.gal-wa{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;color:#F3F0EA;box-shadow:inset 0 0 0 1px rgba(243,240,234,.28);transition:box-shadow .3s,background .3s}
.gal-wa:hover{box-shadow:inset 0 0 0 1px #F3F0EA;background:rgba(243,240,234,.06)}
.gal-wa svg{width:19px;height:19px}
.gal-fab{display:none}
@media (max-width:700px){
  .gal-hc{display:none}
  .gal-fab{display:flex;position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:3;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .45s,transform .7s var(--ease)}
  .gal.cta .gal-fab{opacity:1;transform:translate(-50%,0);pointer-events:auto}
  .gal-fab .gal-req{height:50px;padding:0 26px;font-size:15px;box-shadow:0 18px 44px -12px rgba(0,0,0,.8)}
  .gal-fab .gal-wa{width:50px;height:50px;background:rgba(6,6,6,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(243,240,234,.3),0 18px 44px -12px rgba(0,0,0,.8)}
}

/* Map search: explicit drawing, visible feedback, comfortable touch controls. */
.mapbox .maphint{position:relative;display:flex;top:auto;left:auto;margin:12px;max-width:none!important;height:auto;min-height:44px;padding:10px 14px}
.mapbox .maphint span{white-space:normal;overflow:visible}
.mapbox .mtools{position:relative;top:auto;right:auto;display:flex;flex-wrap:wrap;gap:8px;margin:12px}
.mapbox .mtool{min-height:44px;height:auto;padding:10px 14px}
.mapbox .mapsvg{cursor:default;touch-action:pan-y}
.mapbox.drawmode .mapsvg{touch-action:none;cursor:crosshair}
.mapbox.panmode .mapsvg{touch-action:none;cursor:grab}
.mapbox [aria-pressed="true"]{outline:2px solid var(--gold,#ba9b63);outline-offset:2px}
.map-feedback{position:sticky;bottom:12px;z-index:6;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px #0002;margin:16px 0 24px}
.map-feedback p{margin:0;font-weight:600}.map-return{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px;background:transparent;color:var(--fg);border:0;cursor:pointer}.map-return svg{width:16px;height:16px}
#grid{scroll-margin-top:160px}#minimap{cursor:pointer}
@media(max-width:700px){.map-feedback{bottom:calc(8px + env(safe-area-inset-bottom));gap:8px;padding:12px}.map-feedback .btn{padding:12px}.map-feedback .map-return{width:100%;justify-content:center}}
.pf{padding-bottom:clamp(32px,3vw,48px)}.areas{padding-top:clamp(40px,4vw,64px)}

.ko-light{z-index:6;pointer-events:none;mix-blend-mode:normal}.ko-light path{fill:rgba(255,255,255,.20);stroke:rgba(255,255,255,.6);stroke-width:.6px;vector-effect:non-scaling-stroke}

.mapbox .mtool span{display:inline}.map-feedback{top:140px;bottom:auto}.mapbox .mapsvg{max-height:60vh}@media(max-width:700px){.map-feedback{top:70px;bottom:auto}.mapbox .mapsvg{height:42svh;max-height:420px}}

.map-feedback{top:calc(var(--hdr) + 82px);margin-top:0}.mapbox{position:relative;top:auto}
@media(max-width:700px){.map-feedback{display:grid;grid-template-columns:1fr auto auto;top:calc(var(--hdr) + 78px);padding:8px;gap:6px}.map-feedback p{font-size:13px}.map-feedback .btn{font-size:12px;padding:10px}.map-feedback .map-return{width:44px;padding:8px}.map-feedback .map-return span{display:none}}

.mapsvg .dd{fill:#c4a66a;stroke:var(--bg);stroke-width:1;vector-effect:non-scaling-stroke}.mapsvg .dl{stroke:#b79a62;stroke-width:1.2}

.map-results-panel{border-top:1px solid var(--line);padding-top:16px}.map-results-panel>summary{cursor:pointer;min-height:48px;padding:12px 4px;font-size:18px;font-weight:500}.map-results-panel[open]>summary{margin-bottom:16px}@media(min-width:701px){.map-results-panel>summary{display:none}}

[data-theme="light"] .ko-light path{fill:rgba(0,0,0,.12);stroke:rgba(0,0,0,.5)}

/* Direct map: one stable location, with results opened only on explicit request. */
.direct-map .areas-grid{grid-template-columns:minmax(0,1fr)}
.direct-map .areas-l{position:static}.direct-map .areas-l p{max-width:70ch}
.direct-map .mmwrap,.direct-map #mmOpen,.direct-map .areas-r,.direct-map #alist,.direct-map #amore{display:none!important}
.direct-map .areas-l .mmhint{display:none}
#inline-map{min-width:0;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:clamp(12px,2vw,28px);overflow-anchor:none}
#inline-map .map-feedback{position:sticky;top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 8px);bottom:auto;z-index:12;display:flex;justify-content:space-between;flex-wrap:wrap;min-height:64px;margin:0 0 16px;background:var(--bg);box-shadow:0 6px 20px #0002}
#inline-map .map-feedback p{color:var(--fg)}
#inline-map .mchips{min-height:44px;max-width:100%}
#inline-map .mapbox{position:relative;top:auto}
#inline-map .mapsvg{height:clamp(330px,60svh,720px);max-height:none}
#inline-map .mhead{min-height:48px;margin:12px 0 0}
#inline-map-results{scroll-margin-top:calc(var(--hdr) + 20px);padding-top:20px}
.inline-map-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.inline-map-results-head h3{margin:0}
#inline-map-results .map-return{width:auto;min-height:48px}.inline-map-results-head .map-return span{display:inline}
#inline-map-results>[data-map-more]{margin:24px auto 0}
.filter-reset-row{display:flex;justify-content:flex-start;margin-top:20px;padding-top:12px;border-top:1px solid var(--line);width:100%}
.filter-reset-row[hidden]{display:none}
.filter-reset-button{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.filter-reset-button svg{width:16px;height:16px}.filter-reset-button b{font-size:12px}
@media(max-width:700px){#inline-map .map-feedback{gap:12px}#inline-map .map-feedback .btn{min-height:48px}#inline-map .mapsvg{height:440px;max-height:65svh}.inline-map-results-head{align-items:flex-start}.inline-map-results-head .map-return span{font-size:12px}.filter-reset-row{margin-top:24px;padding-top:16px}}

.search-refine-row{display:flex;margin:14px 0;clear:both}
.search-refine-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid #b99a65;border-radius:999px;background:transparent;color:#242424;font:inherit;cursor:pointer}
.search-refine-button svg{width:18px;height:18px}.search-refine-button:focus-visible{outline:2px solid #242424;outline-offset:4px}
.lom-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-discard{display:inline-block;min-height:48px;padding:12px 16px;margin-top:16px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:4px;font:inherit;cursor:pointer}
.request-review{margin-top:24px;padding:20px;border:1px solid #b99a65;background:var(--bg,#fff);color:var(--fg,#242424)}.request-summary{white-space:pre-wrap;overflow-wrap:anywhere}.request-review button{margin:12px 12px 0 0}
@media(max-width:600px){.search-refine-button{width:100%}.request-review button{display:block;width:100%}}
/* The hero contains moving dark footage: a light surface keeps dark text readable. */
.search-refine-button{background:#fff;color:#242424;border-color:#ad8b50;font-weight:500}

/* Map guidance and actions stay together while the map is in view. */
#inline-map .map-search-shell{position:relative}
#inline-map .map-feedback{display:block;padding:12px 16px}
#inline-map .map-guidance{font-size:14px;font-weight:500;margin:0 0 10px}
#inline-map .map-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#inline-map .map-actions [role="status"]{margin-left:auto}
#inline-map .map-actions .mtool{min-height:48px;display:inline-flex;align-items:center;gap:8px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:10px 14px;border-radius:999px;font:inherit;cursor:pointer}
#inline-map .map-actions .mtool svg{width:18px;height:18px}
#inline-map .map-actions .mtool[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
#inline-map .maphint{display:none}
@media(max-width:600px){#inline-map .map-feedback{padding:10px}#inline-map .map-actions{gap:8px}#inline-map .map-actions .mtool{font-size:13px}#inline-map .map-actions>.btn{width:100%;min-height:48px}#inline-map .map-guidance{font-size:13px}}

#inline-map .map-actions .mtool span{display:inline}

/* Mobile hero: retain all search actions and clear the navigation crossing. */
.hero-stage{min-height:max(540px,var(--hero-content-min,540px))}
@media(max-width:1100px){
  .hdr.search-overlap{transform:translateY(-110%);visibility:hidden;pointer-events:none}
  #hero-reset-row{padding-bottom:16px}
  #hero-reset-row .filter-reset-button{height:auto;white-space:normal;max-width:100%;line-height:1.4}
}

/* Search is the primary action; the budget shortcut stays quiet on touch. */
.hc-go{position:relative;overflow:hidden;isolation:isolate}
.hc-go>span{position:relative;z-index:1}
.hc-go .arr{width:40px;height:40px}
.hc-go .arr svg{width:17px;height:17px}
.hc-go:not(:disabled)::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-120%);animation:searchShine 6s 2s ease-in-out infinite}
@keyframes searchShine{0%,75%{transform:translateX(-120%)}95%,100%{transform:translateX(120%)}}
.qchip.bud::after{animation:none;transform:translateX(-120%)}
@media(hover:hover) and (pointer:fine){.qchip.bud:hover::after{animation:budShine 1.2s ease-in-out 1}}
@media(max-width:360px){.hc-go{gap:10px;padding-left:16px}.hc-go>span:last-child{gap:10px!important}}
@media(prefers-reduced-motion:reduce){.hc-go::before,.qchip.bud::after{display:none;animation:none!important}}

/* Hero: room for the brand on small and low screens, with the original order intact. */
.hero-stage.port .h-logo img{width:clamp(220px,62vw,440px);max-width:82%}
@media (max-width:1100px) and (max-height:600px) and (orientation:landscape){
 .h-main{padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 8px);padding-bottom:20px}
 .h-logo{padding:8px 0;min-height:84px}
 .hero-stage.port .h-logo img{width:240px;max-height:84px}
 .hero-stage.port .h-end .h-xl{font-size:30px;line-height:1.08}
 .hero-stage.port .h-end .h-xl .l{display:inline-block}
 .hero-stage.port .h-end .h-xl .l+.l{margin-left:.26em}
 .h-find{margin-top:14px}
 #hc{grid-template-columns:repeat(4,minmax(0,1fr))}
 #hc .hc-cell{padding:8px 10px;min-height:52px}
 #hc .hc-cell span{font-size:14px}
 #hc .hc-go{min-height:48px}
 .hq{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .hq>*{flex-shrink:0}
}

/* A restrained light pass, then a long pause. Only the finished Hero animates. */
.h-logo{position:relative}
.logo-shimmer{position:absolute;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 35%,rgba(227,216,196,.55) 45%,rgba(255,255,255,.9) 50%,rgba(227,216,196,.55) 55%,transparent 65%);background-size:350% 100%;background-position:100% 0;-webkit-mask:url('../img/logo-white.webp') center/100% 100% no-repeat;mask:url('../img/logo-white.webp') center/100% 100% no-repeat}
.logo-light-ready .logo-shimmer{animation:logo-light-pass 26s linear 3s infinite}
@keyframes logo-light-pass{0%{opacity:0;background-position:100% 0}1.5%{opacity:.55}11%{opacity:.55;background-position:0% 0}12%,100%{opacity:0;background-position:0% 0}}
@media(prefers-reduced-motion:reduce){.logo-light-ready .logo-shimmer{animation:none;display:none}}

/* Editorial spacing: keep wrapped titles readable without enlarging section gaps. */
.h-l{line-height:1.08;letter-spacing:-.028em}
.ct-big{line-height:1.04;letter-spacing:-.035em}
.nl h2{line-height:1.1;letter-spacing:-.028em}

/* The intro fits the first screen even when the final search needs a taller stage. */
.hero-stage .h-top{bottom:auto;height:100vh;height:100svh;box-sizing:border-box}
.hero-stage .ko{bottom:auto;height:100vh;height:100svh;box-sizing:border-box;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 12px) 0 130px}
.hero-stage .ko-logo{width:min(88vw,calc((100svh - var(--hdr) - 160px)*2.1));max-height:calc(100svh - var(--hdr) - 160px);object-fit:contain}
.hero-stage .h-cta{max-width:100%;flex-wrap:wrap}
.hero-stage .hcta{min-height:44px;height:auto;padding-top:12px;padding-bottom:12px;white-space:normal;text-align:center}
@media(max-height:450px) and (orientation:landscape){
 .hero-stage .ko{padding-bottom:100px}
 .hero-stage .ko-logo{width:min(60vw,calc((100svh - var(--hdr) - 120px)*2.1));max-height:calc(100svh - var(--hdr) - 120px)}
 .hero-stage .h-top{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .hero-stage .ko-slogan{font-size:10px;letter-spacing:.24em}
 .hero-stage .h-top>.row:first-child{visibility:hidden}
}
.hero-stage .ko-light{height:100vh;height:100svh;bottom:auto}
.hero-stage .h-cta{align-items:stretch}

/* Intro heading and actions share one responsive flow, clear of the logo. */
.hero-stage .intro-actions{flex-direction:column;align-items:center;justify-content:flex-end;gap:20px;text-align:center}
.hero-stage .intro-actions>span:empty{display:none}
.intro-heading{margin:0;max-width:100%;font-size:clamp(24px,3.5vw,48px);font-weight:300;line-height:1.15;letter-spacing:-.025em}
.intro-heading .l{display:inline!important;overflow:visible!important}
.intro-heading .l+.l:before{content:" "}
.intro-heading .l>span{display:inline!important;transform:none!important}
.hero-stage .ko{padding-bottom:calc(var(--intro-actions-height,160px) + 100px)}
.hero-stage .ko-logo{width:min(80vw,calc(max(50px,100svh - var(--hdr) - var(--intro-actions-height,160px) - 130px)*2.674));height:auto;max-height:none}
.hero-stage .intro-actions .h-cta{justify-content:center}
@media(max-width:700px){.hero-stage .intro-actions{gap:16px}.intro-heading{font-size:clamp(23px,6vw,34px)}}
@media(max-height:450px) and (orientation:landscape){
 .hero-stage .intro-actions{gap:10px}.intro-heading{font-size:24px}
 .hero-stage .ko{padding-top:var(--hdr);padding-bottom:calc(var(--intro-actions-height,100px) + 44px)}
 .hero-stage .ko-logo{width:min(46vw,calc(max(40px,100svh - var(--hdr) - var(--intro-actions-height,100px) - 65px)*2.674))}
 .hero-stage .ko-slogan{letter-spacing:.18em;font-size:9px}
}

@media(min-height:451px){.hero-stage .ko{padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 56px)}.hero-stage .ko-logo{width:min(76vw,calc(max(50px,100svh - var(--hdr) - var(--intro-actions-height,160px) - 180px)*2.674))}}

/* r18: clear exits and reset actions in all localized search panels. */
.pop-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pop-title .label{margin:0;min-width:0}
.pop-title .xbtn{width:44px;height:44px;min-width:44px;background:var(--chip);box-shadow:inset 0 0 0 1px var(--line)}
.pop-f .clr,.drw-f .clr,[data-clear-all]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--fg-3);border-radius:12px;background:var(--chip);color:var(--fg);font-weight:600;text-decoration:none;line-height:1.3;white-space:normal;text-align:center;box-sizing:border-box}
.pop-f .clr::before,.drw-f .clr::before,[data-clear-all]::before{content:"↺";font-size:21px;line-height:1;flex:none}
.pop-f .btn{flex:1;min-width:0;height:auto;min-height:46px;padding-top:10px;padding-bottom:10px;white-space:normal;text-align:center}
.pop-f .btn span{min-width:0}
.pop-f .btn .arr{flex:none}
.pop-title .xbtn:focus-visible,.units-close:focus-visible,.clr:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.upop .units-close{position:absolute;right:10px;top:10px;width:44px;height:44px}
.upop>.up-h:first-of-type{padding-right:48px;min-height:36px;display:flex;align-items:center}
@media(max-height:500px){.pop{max-height:calc(100dvh - 24px)}.pop-h{padding-top:10px}.pop-f{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}}
@media(max-width:360px){.pop-f{gap:8px;padding-left:12px;padding-right:12px}.pop-f .clr{max-width:42%;padding:9px 8px;font-size:12px}.pop-f .btn{font-size:13px;padding-left:10px;padding-right:10px}}

.filter-reset-button{border-color:var(--fg-3);background:var(--chip);font-weight:600}.filter-reset-button .reset-icon{font-size:21px;line-height:1;flex:none}

/* r19: dedicated handles keep ordinary list and slider gestures untouched. */
.sheet-grip{display:none}
.gesture-drag{transition:none!important;will-change:translate}
@media(max-width:1100px),(pointer:coarse){
 .pop-h::before{display:none}
 .pop-h,.drw-h{position:relative;padding-top:34px}
 .sheet-grip{position:absolute;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:84px;height:32px;padding:0;border:0;background:none;color:var(--fg-2);cursor:grab;touch-action:none;user-select:none}
 .sheet-grip span{display:block;width:40px;height:4px;border-radius:4px;background:currentColor;opacity:.55}
 .sheet-grip:focus-visible{outline:2px solid var(--fg);outline-offset:-3px;border-radius:10px}
 .pop,.drw{transition:translate .25s var(--ease),transform .35s var(--ease),opacity .22s,visibility 0s .35s}
 .pop.on,.drw.open{transition:translate .25s var(--ease),transform .35s var(--ease),opacity .22s,visibility 0s}
 .gesture-drag .sheet-grip{cursor:grabbing}
}
@media(prefers-reduced-motion:reduce){.pop,.drw,.gesture-drag{transition:none!important}}

@media(max-width:1100px),(pointer:coarse){
 .lb>.sheet-grip{top:env(safe-area-inset-top,0px);z-index:4;color:#fff}
 .gal-h{padding-top:calc(34px + env(safe-area-inset-top,0px))}
 .gal-h>.sheet-grip{top:env(safe-area-inset-top,0px)}
 .lb,.gal{transition:translate .25s var(--ease),opacity .3s,visibility 0s .3s}
 .lb.open,.gal.open{transition:translate .25s var(--ease),opacity .3s,visibility 0s}
}
@media(prefers-reduced-motion:reduce){.lb,.gal{transition:none!important}}

/* r19: directional image transitions; controls stay above the moving plans. */
.lb:not(.zoom){overflow:hidden}
.lb-outgoing{z-index:0}
.lb>.xbtn,.lb>.lb-p,.lb>.lb-nx,.lb>.lb-n,.lb>.lb-th{z-index:3}

.lb.plan:not(.zoom) #lbImg{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 140px)}

/* Labels are a website layer over reviewed empty margins, never a redrawn plan. */
.lb-surface{position:relative;flex:none;line-height:0;max-width:100%}
.lb-surface>img{display:block}
.plan-label-overlay{position:absolute;pointer-events:none;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}
.plan-label-overlay text{font-family:var(--f);font-weight:300;font-size:34px;letter-spacing:2px;fill:#30302e}
.lb-surface>.plan-label-overlay{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px)}
.lb.plan.zoom .lb-surface{max-width:none;margin:70px auto}
.lb.plan.zoom .lb-surface>img{margin:0}
/* Plan navigation remains visible over both the white drawing and dark surround. */
.lb.plan .lb-p,.lb.plan .lb-nx{background:rgba(20,20,20,.82);color:#fff;box-shadow:0 2px 14px rgba(0,0,0,.12)}
.lb.plan .lb-p:hover,.lb.plan .lb-nx:hover{background:#252525}

/* r21: fitted lightbox gestures; zoom keeps native plan panning. */
.lb:not(.zoom){touch-action:pinch-zoom}
.lb:not(.zoom) .lb-surface{user-select:none;-webkit-user-select:none}
.lb:not(.zoom) .lb-surface img{-webkit-user-drag:none}

/* r21: keep the hero still while filters are open, with a reachable close button. */
html.overlay-locked,html.overlay-locked body{overflow:hidden;overscroll-behavior:none}
.pop{overscroll-behavior:contain}
@media(max-width:1100px),(pointer:coarse){
 .pop-h{padding-top:44px}
 .pop-title{min-height:48px;align-items:center}
 .pop-title .xbtn{position:static;align-self:center;margin:0;width:48px;height:48px;flex:0 0 48px}
}

/* r22: no scroll chaining through stacked dialogs; one reachable reset action. */
#drwReset[hidden]{display:none!important}
#drw .drw-f{justify-content:flex-end}
#drwReset{margin-right:auto}
#drwResetEnd{padding-bottom:4px}
#sheet,#gal,#lg,#mdl,#menu,.dk-p{overscroll-behavior:none}
@media(prefers-reduced-motion:no-preference){#sheet,#gal,#lg,#mdl,.dk-p{transition-property:transform,opacity,visibility,translate}}

/* r23: a little more breathing room above the mobile location sheet. */
@media(max-width:700px){
 .pop.w-l{max-height:min(78dvh,calc(100dvh - 48px - env(safe-area-inset-top,0px)))}
}
@media(max-width:1100px) and (max-height:500px){
 .pop.w-l{max-height:calc(100dvh - 40px - env(safe-area-inset-top,0px))}
}
[data-pop]:focus:not(:focus-visible){outline:none}
@media(prefers-reduced-motion:no-preference){
 .lb,.gal{transition:opacity .32s cubic-bezier(.22,.61,.36,1),visibility 0s .32s}
 .lb.open,.gal.open{transition:opacity .32s cubic-bezier(.22,.61,.36,1),visibility 0s}
}

[data-settling="true"]{pointer-events:none!important}

/* LOM279 extras */
.extra279{margin-top:36px}.extra279>p{line-height:1.65}.extra279-price{font-weight:600}.extra279-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.extra279 figure{margin:0 0 20px}.extra279 button{display:block;width:100%;border:0;background:#f4f2ee;padding:0;cursor:zoom-in}.extra279 img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain}.extra279 figcaption{font-size:12px;line-height:1.5;padding:10px 0;color:inherit}.extra279>figure{max-width:580px;margin:22px auto}.extra279-dialog{max-width:94vw;max-height:94dvh;border:0;padding:16px;background:#fff;color:#222}.extra279-dialog::backdrop{background:#000c}.extra279-dialog figure{margin:12px 0 0}.extra279-dialog img{display:block;max-width:88vw;max-height:76dvh;object-fit:contain;margin:auto}.extra279-dialog figcaption{max-width:900px;margin:12px auto 0;font-size:14px;line-height:1.5}.extra279-close{display:block;margin-left:auto;padding:9px 16px;background:#fff;color:#222;border:1px solid #aaa;cursor:pointer}@media(max-width:600px){.extra279-grid{grid-template-columns:1fr}.extra279-dialog img{max-height:70dvh}.extra279-dialog{padding:12px}}

/* Group headings inside the existing LOM 279 photo gallery. */
.gal-group279>header{max-width:920px;margin:64px auto 32px;padding:0 24px;text-align:center}.gal-group279 h3{font-size:clamp(26px,4vw,42px);line-height:1.2;margin:0 0 16px}.gal-group279 p{font-size:15px;line-height:1.7;margin:0 auto;max-width:760px}#lbC{max-width:calc(100vw - 150px);white-space:normal;text-align:center}

/* LOM 279: keep the complete caption outside the drawing, inside its card. */
.plans button:has(.draft-plan-caption){aspect-ratio:auto;display:flex;flex-direction:column;align-self:stretch;color:#30302e}
.plans button:has(.draft-plan-caption) img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;flex:none}
.plans .draft-plan-caption{white-space:normal;overflow-wrap:anywhere;flex:none}

/* LOM 279 - concise area breakdown */
.area-note{font-size:13px;line-height:1.5;margin:8px 0 20px;color:var(--muted,#a6a69d)}
.area-overview dl{margin:20px 0 0}.area-overview dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 0;border-bottom:1px solid #ffffff20;align-items:baseline}.area-overview dt{color:#aaa99f;font-size:14px;line-height:1.5}.area-overview dd{margin:0;text-align:right;font-size:18px;font-variant-numeric:tabular-nums}.area-overview dd small{display:block;font-size:12px;color:#aaa99f;margin-top:4px}.area-overview .area-total dt,.area-overview .area-total dd{color:#f3f1e9}.area-overview .area-total dd{font-size:24px}.area-overview .area-rule{font-size:13px;line-height:1.65;color:#aaa99f;margin:14px 0}.area-overview .area-built{margin-top:26px;border-top:1px solid #ffffff20}@media(max-width:480px){.area-overview dl>div{gap:12px}.area-overview dt{font-size:13px}.area-overview dd{font-size:17px}}

.area-overview[hidden]{display:none!important}.area-toggle{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left;display:inline-flex;align-items:baseline;gap:8px}.area-toggle span{font-size:18px;transition:transform .18s}.area-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.area-toggle:focus-visible{outline:2px solid #c7b58a;outline-offset:6px;border-radius:2px}

.area-toggle{white-space:nowrap;gap:5px;font-size:inherit}.area-toggle small{margin-left:3px}.area-dialog{background:#141413;color:#f3f1e9;border:1px solid #ffffff20;border-radius:22px;padding:24px;width:min(440px,calc(100vw - 32px));max-height:85dvh;box-sizing:border-box;box-shadow:0 24px 90px #0009;overflow:auto}.area-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.area-modal-head{position:relative;padding-right:32px}.area-modal-head h3{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.area-close{position:absolute;right:-8px;top:-12px;background:none;border:0;color:inherit;font-size:30px;cursor:pointer;padding:8px}.area-dialog .area-overview dl{margin:0}.area-dialog .area-overview dl>div{padding:12px 0;gap:12px}.area-dialog .area-overview dt{font-size:13px}.area-dialog .area-overview dd{font-size:19px;white-space:nowrap}.area-dialog .area-overview .area-total dd{font-size:24px;color:#d8c39f}.area-dialog .area-rule{margin:16px 0 0;font-size:12px;line-height:1.5}.area-handle{display:none}@media(max-width:600px){.area-dialog{margin:auto 0 0;width:100%;max-width:none;border-radius:24px 24px 0 0;padding:30px 22px max(22px,env(safe-area-inset-bottom));border-bottom:0}.area-handle{display:block;position:absolute;top:-18px;left:calc(50% - 20px);width:40px;height:4px;border-radius:4px;background:#ffffff40}.facts .area-toggle{font-size:24px;letter-spacing:-.03em}}

/* Stable compact area window, anchored to the area button. */
.area-toggle{padding:7px 11px;border:1px solid #d8c39f66;border-radius:9px;background:#d8c39f12;color:#f3f1e9;line-height:1.15}.area-toggle:hover{background:#d8c39f22}.area-dialog{position:fixed;inset:auto;margin:0;left:50%;transform:translateX(-50%);width:min(410px,calc(100vw - 28px));max-height:calc(100dvh - 32px);border-radius:18px;padding:24px;border:1px solid #ffffff24}.area-dialog::backdrop{background:#0003;backdrop-filter:blur(3px)}.area-dialog .area-overview dl>div{padding:10px 0}.area-dialog .area-modal-head h3{font-size:12px}.area-dialog .area-overview dt{font-size:12px}.area-dialog .area-overview dd{font-size:18px}.area-dialog .area-overview .area-total dd{font-size:23px}.area-dialog .area-rule{font-size:11px;margin-top:13px}.area-dialog .area-handle{top:-14px}.area-dialog .area-close{top:-14px}@media(max-width:600px){.facts .area-toggle{font-size:22px}.area-dialog{padding:26px 20px 20px;border-bottom:1px solid #ffffff24;max-width:410px}}

/* No-results path: keep the personal search request visible before filter suggestions. */
.empty .empty-request{margin-top:22px;max-width:100%;white-space:normal;text-align:left}
.empty .empty-request + p{margin-top:26px}

.rental-price-toggle{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:inherit;cursor:pointer}.rental-price-toggle small,.rental-price-toggle sup{font-size:.5em}.rental-price-toggle:focus-visible{outline:2px solid currentColor;outline-offset:5px}.rental-note{font-size:13px;line-height:1.5}

/* Compact filter summary keeps the first search result in view. */
.search-selection{max-width:100%;font-size:14px}
.search-selection summary{cursor:pointer;padding:8px 0;color:var(--fg-2)}
.search-selection summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.search-selection-items{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0;max-height:180px;overflow:auto}

.search-results-heading{font:400 clamp(22px,2.4vw,34px)/1.3 var(--f);letter-spacing:-.025em;margin:24px 0 20px}.search-results-heading span{display:block;font-size:14px;letter-spacing:0;color:var(--fg-2);margin-top:6px}.search-results-heading:focus{outline:none}

/* Embedded location map keeps all search controls in the filter drawer. */
#drw #inline-map{margin-top:20px;min-width:0}#drw .map-search-shell{padding:0}#drw .mapbox{height:auto;min-height:0}#drw .mapsvg{height:340px;min-height:0}#drw .map-feedback [data-map-results]{display:none}#drw .mhead{display:none}#drw .mchips{max-width:100%}
