/* Blue Royal, Larnaca. Direction B, cinematic dark (Goni, approved by Yonatan 29.10.2026)
   IBM Plex Sans Hebrew · night #070B1A · deep #0D1530 · text #F2F0EA · white glass 8% · one light button */
:root{
  --night:#070B1A; --deep:#0D1530; --text:#F2F0EA; --mute:#B4BBD0; --soft:#D5DAEA;
  --glass:rgba(255,255,255,.08); --glass-2:rgba(255,255,255,.12); --edge:rgba(255,255,255,.16);
  --btn-bg:#F2F0EA; --btn-fg:#0A1026; --focus:#FFFFFF; --error:#FFB4AB; --wa:#0F7A42;
  --scrim:7,11,26;
  --font:"IBM Plex Sans Hebrew", "Segoe UI", system-ui, sans-serif;
  --pad:clamp(1.25rem,5vw,4.5rem); --wrap:1320px;
  --sec:clamp(5rem,10vw,9rem);
  --sticky-h:0px; --cookie-h:0px;
  --r-lg:26px; --r-md:20px;
  color-scheme:dark;
}
/* Light mode, from the accessibility menu only. The brand default is dark */
html[data-theme="light"]{
  --night:#F4F3EF; --deep:#E7E3DA; --text:#0D1530; --mute:#454B5E; --soft:#2B3247;
  --glass:rgba(13,21,48,.05); --glass-2:rgba(13,21,48,.08); --edge:rgba(13,21,48,.2);
  --btn-bg:#0D1530; --btn-fg:#F2F0EA; --focus:#0D1530; --error:#A3261E;
  color-scheme:light;
}
html[data-contrast="high"]{
  --night:#000; --deep:#000; --text:#FFF; --mute:#FFF; --soft:#FFF;
  --glass:rgba(0,0,0,.85); --glass-2:rgba(0,0,0,.9); --edge:#FFF;
  --btn-bg:#FFE066; --btn-fg:#000; --focus:#FFE066; --error:#FF9A9A; --scrim:0,0,0;
}
html[data-contrast="high"][data-theme="light"]{
  --night:#FFF; --deep:#FFF; --text:#000; --mute:#000; --soft:#000;
  --glass:rgba(255,255,255,.92); --glass-2:#FFF; --edge:#000;
  --btn-bg:#000; --btn-fg:#FFF; --focus:#0033A0; --error:#9B0000;
}
html[data-text="1"]{font-size:112.5%}
html[data-text="2"]{font-size:125%}
html[data-text="3"]{font-size:150%}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem;scroll-padding-bottom:6rem;background:var(--night)}
body{margin:0;background:var(--night);color:var(--text);font:400 1.0625rem/1.65 var(--font);
  -webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,ol,figure{margin:0}
h1,h2,h3{font-weight:200;letter-spacing:-.02em;text-wrap:balance}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nw{white-space:nowrap;display:inline-block}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.sec{padding-block:var(--sec)}
.sec-title{font-size:clamp(2.25rem,1.4rem + 3.4vw,4.4rem);line-height:1.05}
.lead-line{color:var(--soft);font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);font-weight:300;max-width:42ch;margin-top:1rem}

/* Draft: clean by default, ?draft=1 shows markers and the panel. Legal pages always show theirs */
.missing,.has-missing{display:none!important}
html.draft .missing{display:inline-block!important}
html.draft .has-missing{display:revert!important}
.doc .missing{display:inline-block!important}
.missing{border:1.5px dashed currentColor;border-radius:6px;padding:0 .45em;margin-inline:.15em;font:500 .875em/1.5 var(--font);white-space:nowrap}
.draft-panel{display:none}
html.draft .draft-panel{display:block;position:fixed;z-index:70;top:1rem;inset-inline-start:1rem;width:min(22rem,calc(100vw - 2rem));max-height:70vh;overflow:auto;
  background:#FFF6D6;color:#2A2100;border-radius:14px;padding:1rem 1.1rem;font-size:.875rem;line-height:1.5;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.draft-panel h2{font:600 .9375rem var(--font);letter-spacing:0;margin-bottom:.5rem}
.draft-panel ol{padding-inline-start:1.1rem}
.draft-panel li{margin-bottom:.25rem}

/* Skip link */
.skip{position:absolute;z-index:100;inset-inline-start:1rem;top:-5rem;background:var(--btn-bg);color:var(--btn-fg);padding:.75rem 1.1rem;border-radius:99px;font-weight:500;text-decoration:none}
.skip:focus{top:1rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.9rem 2.4rem;border:0;border-radius:99px;
  background:var(--btn-bg);color:var(--btn-fg);font:500 1.0625rem/1 var(--font);text-decoration:none;cursor:pointer;transition:transform .16s var(--ease-out),background-color .2s ease}
@media (hover:hover) and (pointer:fine){.btn:hover{background:#FFF}html[data-theme="light"] .btn:hover{background:#1B2756}}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-block{width:100%}
.lnk{display:inline-flex;align-items:center;min-height:3rem;font-size:1.0625rem;text-decoration:none;color:var(--text);
  border:0;background:none;cursor:pointer;padding:0}
.lnk span{border-bottom:1px solid currentColor;padding-bottom:2px}
.lnk:hover span{border-bottom-width:2px}
.glass{background:var(--glass);border:1px solid var(--edge);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;min-width:2.75rem;padding:.4rem 1rem;border-radius:99px;
  font:500 .875rem/1 var(--font);color:#F2F0EA;text-decoration:none;cursor:pointer;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

/* ---------- 1. Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;color:#F2F0EA;isolation:isolate;background:#070B1A}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media picture{display:contents}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 50% 32% at 50% 29%,rgba(var(--scrim),.66) 0%,rgba(var(--scrim),.6) 55%,rgba(var(--scrim),0) 100%),
             linear-gradient(to top,rgb(var(--scrim)) 0%,rgba(var(--scrim),.72) 24%,rgba(var(--scrim),0) 48%,rgba(var(--scrim),.12) 56%,rgba(var(--scrim),.82) 100%),
             linear-gradient(120deg,rgba(20,40,110,.28),transparent 60%)}
@media (max-width:719px){
  .hero::after{background:radial-gradient(ellipse 90% 24% at 50% 23%,rgba(var(--scrim),.66) 0%,rgba(var(--scrim),.58) 55%,rgba(var(--scrim),0) 100%),
    linear-gradient(to top,rgb(var(--scrim)) 0%,rgba(var(--scrim),.8) 26%,rgba(var(--scrim),.5) 36%,rgba(var(--scrim),0) 52%,rgba(var(--scrim),.12) 58%,rgba(var(--scrim),.82) 100%)}
}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1rem,2vw,1.6rem) var(--pad)}
.mark{font-weight:500;letter-spacing:.22em;font-size:.9375rem}
.hero-mid{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(.5rem,3vh,2.5rem) var(--pad) 0}
.kicker{font-size:.9375rem;color:#DDE1EE;margin-bottom:1.25rem;text-shadow:0 1px 14px rgba(5,8,20,.8)}
.hero h1{font-size:clamp(2.125rem,1rem + 4.6vw,5.2rem);line-height:1.08;max-width:24ch;text-shadow:0 2px 30px rgba(5,8,20,.6)}
.hero-sub{margin-top:1.1rem;font-size:clamp(1.0625rem,1rem + .4vw,1.3rem);font-weight:300;color:#E4E7F2;text-shadow:0 1px 18px rgba(5,8,20,.8)}
.hero-low{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:clamp(1.25rem,2.5vw,2rem);padding:2rem var(--pad) clamp(1.25rem,2.5vw,2.25rem)}
.hero-cta{display:flex;gap:1.75rem;align-items:center;justify-content:center;flex-wrap:wrap}
.hero .lnk{color:#F2F0EA}
.hero .btn{background:#F2F0EA;color:#0A1026}
.strip{width:100%;max-width:var(--wrap);display:grid;grid-template-columns:repeat(3,1fr);border-radius:22px;overflow:hidden;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);list-style:none;padding:0}
.strip li{padding:1.15rem 1rem;text-align:center}
.strip li+li{border-inline-start:1px solid rgba(255,255,255,.16)}
.strip b{display:block;font-weight:200;font-size:clamp(1.5rem,1rem + 2vw,2.5rem);line-height:1.1;white-space:nowrap}
.strip span{font-size:.9375rem;color:#DDE1EE}
html[data-contrast="high"] .strip, html[data-contrast="high"] .pill{background:rgba(0,0,0,.85)}

/* Hero entrance: one orchestrated moment, opacity + transform only */
/* The page's one authored moment: the hero settles, then headline, line, CTA and strip rise in sequence.
   Strong ease-out (starts fast), 70ms stagger, done by ~1.1s. Nothing else on the page enters on scroll */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
@keyframes br-settle{from{transform:scale(1.04)}to{transform:none}}
@keyframes br-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes br-fade{from{opacity:0}to{opacity:1}}
html.js .hero-media img{animation:br-settle 1.4s var(--ease-out) both}
html.js .hero [data-seq]{animation:br-rise .6s var(--ease-out) both}
html.js .hero [data-seq="1"]{animation-delay:.12s}
html.js .hero [data-seq="2"]{animation-delay:.19s}
html.js .hero [data-seq="3"]{animation-delay:.26s}
html.js .hero [data-seq="4"]{animation-delay:.33s}
html.js .hero [data-seq="5"]{animation-delay:.40s}

/* ---------- 2. Place ---------- */
.place{position:relative;min-height:min(92svh,56rem);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.place-media{position:absolute;inset:0;z-index:-2}
.place-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.place::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse 48% 42% at 76% 70%,rgba(var(--scrim),.62) 0%,rgba(var(--scrim),.5) 50%,rgba(var(--scrim),0) 100%),
    linear-gradient(to bottom,rgb(var(--scrim)) 0%,rgba(var(--scrim),.3) 20%,rgba(var(--scrim),.2) 38%,rgba(var(--scrim),.68) 60%,rgba(var(--scrim),.92) 100%)}
html[dir="ltr"] .place::after{background:radial-gradient(ellipse 48% 42% at 24% 70%,rgba(var(--scrim),.62) 0%,rgba(var(--scrim),.5) 50%,rgba(var(--scrim),0) 100%),
    linear-gradient(to bottom,rgb(var(--scrim)) 0%,rgba(var(--scrim),.3) 20%,rgba(var(--scrim),.2) 38%,rgba(var(--scrim),.68) 60%,rgba(var(--scrim),.92) 100%)}
.place-inner{width:100%;padding-block:clamp(4rem,8vw,7rem) clamp(2rem,5vw,4rem);color:#F2F0EA}
.place h2{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.4rem);font-weight:300;max-width:22ch;text-shadow:0 2px 24px rgba(5,8,20,.75);margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.place-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style:none;padding:0;max-width:52rem}
.place-stats li{border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2.25rem);background:rgba(7,11,26,.42);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2)}
.place-stats b{display:block;font-weight:200;font-size:clamp(3rem,1.8rem + 5vw,6.5rem);line-height:.95;letter-spacing:-.04em;white-space:nowrap}
.place-stats span{display:block;margin-top:.75rem;font-size:1rem;color:#E4E7F2}

/* ---------- 3. Apartments ---------- */
.apts{background:linear-gradient(to bottom,var(--night),var(--deep) 40%,var(--night))}
.apts-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;flex-wrap:wrap}
.tabs{display:inline-flex;padding:5px;border-radius:99px;background:var(--glass);border:1px solid var(--edge)}
.tab{font:400 1rem/1 var(--font);color:var(--soft);background:none;border:0;min-height:2.75rem;padding:.6rem 1.5rem;border-radius:99px;cursor:pointer}
.tab[aria-selected="true"]{background:var(--btn-bg);color:var(--btn-fg);font-weight:500}
.panel{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1rem,3vw,2.5rem);margin-top:clamp(1.75rem,3.5vw,3rem)}
.plan{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--edge);background:#CFE1EC}
.plan img{width:100%;height:100%;object-fit:contain}
.det{border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.75rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.area{font-weight:200;font-size:clamp(3.4rem,2rem + 4vw,5.4rem);line-height:1;letter-spacing:-.03em;white-space:nowrap}
.area small{font-size:.3em;font-weight:300;margin-inline-start:.4rem;color:var(--mute);letter-spacing:0}
.bal{margin-top:.8rem;color:var(--soft);font-size:1.125rem;font-weight:300}
.range{margin-top:1.25rem;color:var(--mute);font-size:.9375rem}
.price{font-size:1.125rem;color:var(--soft);font-weight:300}
.price b{font-weight:300;font-size:1.75rem;color:var(--text);margin-inline-start:.4rem}
.gallery{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:clamp(2rem,4vw,3.5rem) var(--pad) 1rem;
  scrollbar-width:thin;scrollbar-color:var(--edge) transparent;list-style:none;margin:0}
.gallery li{flex:none;scroll-snap-align:start}
.gallery img{height:clamp(260px,38vw,560px);width:auto;border-radius:22px;filter:brightness(.94)}
.spec{padding:1rem var(--pad) 0;max-width:var(--wrap);margin-inline:auto;color:var(--soft);font-weight:300;font-size:1.0625rem}

/* ---------- 4. Compound ---------- */
.compound .sec-title{max-width:16ch}
.reel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(2rem,4vw,3.5rem);list-style:none;padding:0}
.reel figure{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--deep)}
.reel img{width:100%;height:100%;object-fit:cover}

.reel figcaption{position:absolute;inset-inline:1rem;bottom:1rem;padding:.7rem 1.1rem;border-radius:16px;color:#F2F0EA;font-size:1.0625rem;
  background:rgba(7,11,26,.58);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}

/* ---------- 5. Buying from Israel ---------- */
.buy{background:linear-gradient(to bottom,var(--night),var(--deep))}
.buy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.big{font-weight:200;font-size:clamp(5rem,3rem + 9vw,11rem);line-height:.9;letter-spacing:-.05em}
.big-lbl{display:block;margin-top:1rem;color:var(--soft);font-size:1.0625rem;font-weight:300}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin-top:clamp(3rem,6vw,5rem);position:relative}
.steps::before{content:"";position:absolute;top:.45rem;inset-inline:0;height:1px;background:var(--edge)}
.steps li{position:relative;padding-top:2rem;padding-inline-end:1.25rem}
.steps li::before{content:"";position:absolute;top:0;inset-inline-start:0;width:.9rem;height:.9rem;border-radius:50%;background:var(--night);border:1px solid var(--text)}
.steps li:first-child::before{background:var(--text)}
.step-n{display:block;font-size:.875rem;color:var(--mute);margin-bottom:.4rem}
.steps h3{font-weight:400;font-size:1.125rem;letter-spacing:0;margin-bottom:.35rem}
.steps p{color:var(--soft);font-size:.9375rem;font-weight:300;line-height:1.5}
.trust{margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.5rem;border-top:1px solid var(--edge);color:var(--soft);font-weight:300}

/* ---------- 6. FAQ + form ---------- */
.final-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.faq-list{margin-top:clamp(1.5rem,3vw,2.5rem);border-top:1px solid var(--edge)}
.faq-item{border-bottom:1px solid var(--edge)}
.faq-item h3{font:inherit;letter-spacing:0;margin:0}
.faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:1.2rem 0;background:none;border:0;
  color:var(--text);font:400 1.125rem/1.45 var(--font);text-align:start;cursor:pointer}
.faq-q .ico{flex:none;position:relative;width:1.1rem;height:1.1rem}
.faq-q .ico::before,.faq-q .ico::after{content:"";position:absolute;inset-inline-start:0;top:50%;width:100%;height:1px;background:currentColor;transition:transform .25s}
.faq-q .ico::after{transform:rotate(90deg)}
.faq-q[aria-expanded="true"] .ico::after{transform:rotate(0)}
.faq-a{padding:0 0 1.4rem;color:var(--soft);font-weight:300;max-width:62ch}
.faq-a:not([hidden]){animation:br-open .2s var(--ease-out)}
@keyframes br-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.form-card{border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.5rem);position:sticky;top:2rem}
.form-card h2{font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem);line-height:1.15}
.form-card .lead-line{font-size:1rem;margin-bottom:1.5rem}

/* Two-step lead form */
.step-ind{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--mute);margin-bottom:1.25rem}
.step-bar{flex:1;height:2px;border-radius:2px;background:var(--edge);overflow:hidden;position:relative}
.step-bar i{position:absolute;inset-block:0;inset-inline-start:0;width:50%;background:var(--text);transition:width .35s ease}
.lead-form[data-step="2"] .step-bar i{width:100%}
.lead-form fieldset{border:0;padding:0;margin:0;min-width:0}
.lead-form legend{padding:0;font-size:1rem;font-weight:500;margin-bottom:.75rem}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.9375rem;font-weight:500;margin-bottom:.4rem}
.field input{width:100%;min-height:3.25rem;padding:.8rem 1rem;border-radius:14px;border:1px solid var(--edge);background:var(--glass);
  color:var(--text);font:400 1.0625rem/1.3 var(--font)}
.field input:focus{border-color:var(--text);outline:none;box-shadow:0 0 0 2px var(--focus)}
.field input[aria-invalid="true"],.choices[aria-invalid="true"]{border-color:var(--error)!important;box-shadow:0 0 0 1px var(--error)}
.err{display:block;color:var(--error);font-size:.9375rem;font-weight:500;margin-top:.4rem}
.err:empty{display:none}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;border-radius:16px;margin-bottom:.25rem}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice label{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3.5rem;padding:.6rem .75rem;border-radius:14px;
  border:1px solid var(--edge);background:var(--glass);font-size:.9375rem;line-height:1.3;cursor:pointer;transition:background-color .2s,border-color .2s}
.choice input:checked+label{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);font-weight:500}
.choice input:focus-visible+label{outline:2px solid var(--focus);outline-offset:3px}
.choice.wide{grid-column:1/-1}
.check{display:flex;gap:.75rem;align-items:flex-start;margin:1.25rem 0;font-size:.9375rem;line-height:1.5;color:var(--soft)}
.check input{flex:none;width:1.375rem;height:1.375rem;margin:.1rem 0 0;accent-color:#F2F0EA}
.notice{font-size:.875rem;line-height:1.55;color:var(--mute);margin-top:1rem}
.form-status{color:var(--error);font-size:.9375rem;font-weight:500;margin-top:.75rem}
.form-status:empty{display:none}
.step-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.step-actions .btn{flex:1}
.back{color:var(--soft)}

/* Sheet: the same form, opened from any CTA */
.sheet{width:min(30rem,calc(100vw - 2rem));max-height:calc(100svh - 2rem);padding:0;border:1px solid var(--edge);border-radius:var(--r-lg);
  background:var(--deep);color:var(--text);box-shadow:0 40px 100px -30px rgba(0,0,0,.8)}
.sheet::backdrop{background:rgba(3,5,14,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sheet-in{padding:clamp(1.5rem,4vw,2.25rem)}
.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem}
.sheet h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);line-height:1.15}
.x{flex:none;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--edge);background:var(--glass);color:var(--text);cursor:pointer;display:grid;place-items:center}
.x svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:1.5;fill:none}
.sheet .lead-line{font-size:1rem;margin:.5rem 0 1.5rem}
.sheet[open]{animation:br-sheet .28s var(--ease-out)}
@keyframes br-sheet{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:719px){
  .sheet{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:24px 24px 0 0;border-bottom:0;max-height:92svh}
  .sheet-in{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}
}

/* ---------- Footer ---------- */
.site-foot{padding:clamp(3rem,6vw,4.5rem) 0 calc(6rem + var(--sticky-h));border-top:1px solid var(--edge);font-size:.9375rem;color:var(--mute)}
.foot-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem 3rem;flex-wrap:wrap}
.foot-brand{color:var(--text);font-weight:500;font-size:1rem;margin-bottom:.75rem}
.site-foot p+p{margin-top:.4rem}
.site-foot a{color:var(--soft)}
.foot-links{display:flex;flex-wrap:wrap;gap:0 1.5rem;list-style:none;padding:0}
.foot-links a,.foot-links button{display:inline-flex;align-items:center;min-height:3rem;color:var(--soft);background:none;border:0;padding:0;font:inherit;
  text-decoration:underline;text-underline-offset:.25em;text-decoration-color:var(--edge);cursor:pointer}
.foot-links a:hover,.foot-links button:hover{text-decoration-color:currentColor}
.disclaimer{margin-top:2rem;font-size:.8125rem;max-width:70ch}

/* ---------- Floating controls ---------- */
.wa-float{position:fixed;z-index:40;inset-inline-end:1rem;bottom:calc(1rem + var(--sticky-h) + var(--cookie-h));width:3.5rem;height:3.5rem;border-radius:50%;
  display:grid;place-items:center;background:var(--wa);color:#fff;text-decoration:none;box-shadow:0 12px 30px -10px rgba(0,0,0,.6);transition:bottom .25s,opacity .25s}
.wa-float svg{width:2.5rem;height:2.5rem}
.a11y-btn{position:fixed;z-index:40;inset-inline-start:1rem;bottom:calc(1rem + var(--sticky-h) + var(--cookie-h));width:3.25rem;height:3.25rem;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:#F2F0EA;background:rgba(13,21,48,.72);border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 30px -10px rgba(0,0,0,.6);transition:bottom .25s}
.a11y-btn svg{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.a11y-btn svg circle{fill:currentColor;stroke:none}
html.has-sticky{--sticky-h:4.75rem}
@media (min-width:900px){html.has-sticky{--sticky-h:0px}}
/* On the main page the floats wait until the hero CTA leaves the screen, so they never cover the hero */
html:not(.hero-cta-out) .has-hero .wa-float{opacity:0;visibility:hidden}
@media (max-width:899px){
  body:not(.has-hero) .a11y-btn,
  html:not(.hero-cta-out) .has-hero .a11y-btn{bottom:auto;top:clamp(1rem,2vw,1.6rem);inset-inline-start:auto;inset-inline-end:calc(var(--pad) + 5.25rem);width:2.75rem;height:2.75rem}
}

.sticky-cta{position:fixed;z-index:39;inset-inline:0;bottom:var(--cookie-h);padding:.6rem var(--pad) calc(.6rem + env(safe-area-inset-bottom));display:none;
  background:rgba(7,11,26,.82);border-top:1px solid var(--edge);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  transform:translateY(110%);transition:transform .3s ease-out}
html[data-theme="light"] .sticky-cta{background:rgba(244,243,239,.9)}
.sticky-cta .btn{width:100%;min-height:3.5rem}
.sticky-cta.show{transform:none}
@media (max-width:899px){.sticky-cta{display:block}}

/* Cookie banner */
.cookie{position:fixed;z-index:60;inset-inline:1rem;bottom:1rem;max-width:44rem;margin-inline:auto;border-radius:20px;padding:1rem 1.25rem;
  display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;color:var(--text);
  background:rgba(13,21,48,.92);border:1px solid var(--edge);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px -20px rgba(0,0,0,.8)}
html[data-theme="light"] .cookie{background:rgba(255,255,255,.95)}
.cookie p{margin:0;font-size:.9375rem;line-height:1.5;flex:1 1 18rem}
.cookie a{color:var(--text)}
.cookie-actions{display:flex;gap:.6rem}
.btn-sm{min-height:2.75rem;padding:.6rem 1.25rem;font-size:.9375rem}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.6rem 1.2rem;border-radius:99px;background:transparent;
  color:var(--text);border:1px solid var(--edge);font:500 .9375rem/1 var(--font);cursor:pointer;text-decoration:none}
.btn-ghost:hover{border-color:var(--text)}
.cookie:focus{outline:2px solid var(--focus);outline-offset:3px}

/* Accessibility dialog */
.a11y-dialog{width:min(25rem,calc(100vw - 2rem));max-height:calc(100svh - 2rem);padding:0;border:1px solid var(--edge);border-radius:22px;background:var(--deep);color:var(--text);
  box-shadow:0 40px 100px -30px rgba(0,0,0,.8)}
.a11y-dialog::backdrop{background:rgba(3,5,14,.6)}
.a11y-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--edge)}
.a11y-head h2{font-size:1.25rem;font-weight:400;letter-spacing:0}
.a11y-close{min-height:2.75rem;padding:.5rem 1rem;border-radius:99px;border:1px solid var(--edge);background:none;color:var(--text);font:500 .9375rem var(--font);cursor:pointer}
.a11y-body{padding:1rem 1.25rem 1.25rem;display:grid;gap:.25rem}
.a11y-lbl{font-size:.9375rem;font-weight:500;margin:0 0 .5rem}
.segs{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.75rem}
.seg-btn,.segs .seg{min-height:2.75rem;border:1px solid var(--edge);border-radius:12px;background:var(--glass);color:var(--text);font:400 .875rem/1.2 var(--font);cursor:pointer;padding:.25rem}
.segs .seg{display:block}
.segs .seg[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);font-weight:500}
.tog{display:flex;justify-content:space-between;align-items:center;min-height:3.25rem;padding:.5rem .1rem;border:0;border-bottom:1px solid var(--edge);
  background:none;color:var(--text);font:400 1rem var(--font);cursor:pointer;text-align:start}
.sw{position:relative;width:2.75rem;height:1.5rem;border-radius:99px;background:#5A6177;border:1.5px solid #8A92A8;flex:none}
html[data-theme="light"] .sw{background:#C3C9D4;border-color:#6E768A}
.sw::after{content:"";position:absolute;top:.125rem;inset-inline-start:.125rem;width:1rem;height:1rem;border-radius:50%;background:#FFF;box-shadow:0 1px 2px rgba(0,0,0,.35);transition:inset-inline-start .15s}
.tog[aria-pressed="true"] .sw{background:#3D6FA8;border-color:#3D6FA8}
.tog[aria-pressed="true"] .sw::after{inset-inline-start:1.375rem}
.a11y-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;flex-wrap:wrap}
.a11y-foot a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:500}

/* Accessibility preferences */
html[data-links="on"] a{text-decoration:underline!important;text-decoration-thickness:2px!important;outline:2px solid var(--focus);outline-offset:2px}
html[data-font="readable"] *{font-family:Arial,"Heebo",sans-serif!important;letter-spacing:.01em!important;word-spacing:.08em}
html[data-font="readable"] h1,html[data-font="readable"] h2,html[data-font="readable"] .area,html[data-font="readable"] .big,html[data-font="readable"] b{font-weight:400!important}
html[data-font="readable"] body{line-height:1.8}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"] [data-reveal]{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  *:not(.hero [data-seq]),*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  /* Reduced, not zero: the hero text keeps a short opacity fade, no travel, no settle */
  html.js .hero [data-seq]{animation:br-fade .3s ease-out both!important;animation-delay:0s!important}
}

/* ---------- Inner pages (thank-you, privacy, accessibility) ---------- */
.page-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1rem,2vw,1.6rem) var(--pad);border-bottom:1px solid var(--edge)}
.page-top .mark{text-decoration:none;color:var(--text)}
.page-top .pill{color:var(--text);background:var(--glass);border-color:var(--edge)}
.doc{padding-block:clamp(3rem,7vw,6rem)}
.doc article{max-width:70ch}
.doc h1{font-size:clamp(2.25rem,1.5rem + 3vw,3.75rem);line-height:1.1;margin-bottom:1rem}
.doc h2{font-size:1.5rem;font-weight:400;letter-spacing:0;margin:2.75rem 0 .75rem}
.doc p,.doc li{color:var(--soft);font-weight:400}
.doc p+p{margin-top:1rem}
.doc ul{padding-inline-start:1.25rem;margin-top:.75rem}
.doc li{margin-bottom:.5rem}
.doc strong{color:var(--text);font-weight:500}
.doc a{color:var(--text)}
.meta{color:var(--mute)!important;font-size:.9375rem;margin-bottom:1.5rem}
.draft-note{border:1.5px dashed var(--error);color:var(--error)!important;border-radius:14px;padding:.75rem 1rem;font-weight:500!important;margin-bottom:2rem}
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--text);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}

.ty{position:relative;min-height:calc(100svh - 5rem);display:flex;align-items:center;isolation:isolate;overflow:hidden}
.ty-media{position:absolute;inset:0;z-index:-2}
.ty-media img{width:100%;height:100%;object-fit:cover;opacity:.32;filter:saturate(.7)}
.ty::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(var(--scrim),.55),rgb(var(--scrim)) 85%)}
html[data-theme="light"] .ty-media img{opacity:.14}
html[data-theme="light"] .ty::after{background:linear-gradient(to bottom,rgba(244,243,239,.55),#F4F3EF 85%)}
.ty-inner{padding-block:clamp(3rem,8vw,6rem);width:100%}
.ty h1{font-size:clamp(2.5rem,1.4rem + 4.5vw,5rem);line-height:1.05;max-width:14ch}
.ty-steps{list-style:none;padding:0;margin:clamp(2.5rem,5vw,4rem) 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:62rem}
.ty-steps li{border-radius:var(--r-md);padding:1.5rem}
.ty-steps .step-n{font-size:2rem;font-weight:200;color:var(--text);margin-bottom:.75rem}
.ty-steps h3{font-size:1.125rem;font-weight:400;letter-spacing:0;line-height:1.45}
.ty-steps p{color:var(--mute);font-size:.9375rem;margin-top:.5rem}
.ty-wa p{font-size:clamp(1.25rem,1rem + .8vw,1.6rem);font-weight:300;margin-bottom:1.25rem}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#13924F}
.video-frame{aspect-ratio:16/9;border:1.5px dashed var(--edge);border-radius:var(--r-md);display:grid;place-items:center;text-align:center;color:var(--mute);margin-top:2rem;max-width:40rem}

/* ---------- Responsive ---------- */
@media (max-width:899px){
  .panel{grid-template-columns:1fr}
  .apts-head{flex-direction:column;align-items:flex-start}
  .reel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);gap:.75rem}
  .reel li{flex:0 0 78%;scroll-snap-align:center}
  .buy-grid{grid-template-columns:1fr;align-items:start}
  .steps{grid-template-columns:1fr;gap:0;margin-top:2.5rem}
  .steps::before{top:0;bottom:0;inset-inline-start:.45rem;inset-inline-end:auto;width:1px;height:auto}
  .steps li{padding:0 0 1.75rem;padding-inline-start:2.25rem}
  .steps li::before{top:.3rem}
  .final-grid{grid-template-columns:1fr}
  .form-card{position:static}
  .ty-steps{grid-template-columns:1fr}
}
@media (max-width:719px){
  .hero h1{font-size:clamp(1.9rem,8.6vw,2.6rem)}
  .strip li{padding:.9rem .35rem}
  .strip span{font-size:.8125rem}
  .strip{border-radius:18px}
  .place-stats{grid-template-columns:1fr 1fr;gap:.6rem}
  .place-stats li{padding:1.1rem;border-radius:var(--r-md)}
  .place-stats b{font-size:clamp(2.5rem,12vw,3.5rem)}
  .place-stats span{font-size:.875rem}
  .plan,.det{border-radius:var(--r-md)}
  .gallery img{height:300px}
  .choices{grid-template-columns:1fr}
  .cookie{inset-inline:.75rem;bottom:.75rem}
}

/* First visit: the hero keeps its CTA and strip clear of the cookie banner (class set in <head>, no layout shift) */
html.no-consent .hero-low{padding-bottom:7.5rem}
@media (max-width:719px){
  html.no-consent .hero-low{padding-bottom:8.75rem}
  .cookie{padding:.8rem 1rem;gap:.6rem .75rem}
  .cookie p{font-size:.8125rem;flex-basis:100%}
  .cookie-actions{width:100%}
  .cookie-actions>*{flex:1}
}

@media (max-width:719px){
  .place{min-height:78svh}
  .place-media img{object-position:40% 60%}
}

/* Amenities strip v3: 6 real renderings, scroll-snap, arrows (Yonatan, 30.10.2026) */
.reel-wrap{position:relative;margin-top:clamp(2rem,4vw,3.5rem)}
.compound .reel{display:flex;grid-template-columns:none;gap:1rem;margin:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding-bottom:.25rem}
.compound .reel::-webkit-scrollbar{display:none}
.compound .reel li{flex:0 0 calc((100% - 2rem) / 3);scroll-snap-align:start}
.compound .reel figure{aspect-ratio:1/1}
.op-amen-padel{object-position:58% 50%}.op-amen-gym{object-position:45% 50%}.op-amen-kids{object-position:62% 50%}.op-amen-spa{object-position:52% 50%}
.reel-nav{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.25rem}
.reel-nav .x{width:3rem;height:3rem}
.reel-nav .x[aria-disabled="true"]{opacity:.35;cursor:default}
html[dir="ltr"] .reel-nav svg{transform:scaleX(-1)}
@media (max-width:899px){
  .compound .reel{margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);scroll-padding-inline:var(--pad)}
  .compound .reel li{flex:0 0 64%}
  .reel-nav{display:none}
}
/* Brand moment: entrance at night beside the developer line */
.brand-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-top:clamp(3rem,6vw,4.5rem)}
.entrance{max-width:900px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--edge)}
.entrance img{width:100%;height:auto}
.brand-row .trust{margin-top:0;border-top:0;padding-top:0;font-size:clamp(1.125rem,1rem + .5vw,1.5rem);line-height:1.5;max-width:22ch}
@media (max-width:899px){.brand-row{grid-template-columns:1fr}}

/* Horizontal strips move sideways only (Yonatan, 30.10.2026): no inner vertical scroll, no reveal transform on items */
.gallery,.compound .reel{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.gallery li,.compound .reel li{transform:none!important;opacity:1!important}
.gallery{align-items:flex-start}
.gallery li{height:clamp(260px,38vw,560px)}
.gallery img{height:100%}
@media (max-width:719px){.gallery li{height:300px}}

/* English: Latin runs longer per glyph, so measures in ch are tighter and display sizes a step smaller */
html[lang="en"] .nw,html[lang="ru"] .nw{white-space:normal;display:inline}
html[lang="en"] .hero h1,html[lang="ru"] .hero h1{font-size:clamp(2rem,.9rem + 4vw,4.5rem);max-width:20ch;letter-spacing:-.025em}
html[lang="en"] .hero-sub,html[lang="ru"] .hero-sub{max-width:44ch}
html[lang="en"] .sec-title,html[lang="ru"] .sec-title{font-size:clamp(2rem,1.3rem + 3vw,3.9rem);max-width:18ch}
html[lang="en"] .compound .sec-title,html[lang="ru"] .compound .sec-title{max-width:20ch}
html[lang="en"] .place h2,html[lang="ru"] .place h2{max-width:24ch}
html[lang="en"] .lead-line,html[lang="ru"] .lead-line{max-width:46ch}
html[lang="en"] .brand-row .trust,html[lang="ru"] .brand-row .trust{max-width:26ch}
html[lang="en"] .ty h1,html[lang="ru"] .ty h1{max-width:16ch}
html[lang="en"] .doc article,html[lang="ru"] .doc article{max-width:68ch}
html[lang="en"] .strip span,html[lang="en"] .place-stats span,html[lang="ru"] .strip span,html[lang="ru"] .place-stats span{letter-spacing:0}
html[lang="en"] .tab,html[lang="ru"] .tab{padding-inline:1.25rem}
html[lang="en"] .area small,html[lang="en"] .price b,html[lang="ru"] .area small,html[lang="ru"] .price b{letter-spacing:0}
@media (max-width:719px){
  html[lang="en"] .hero h1,html[lang="ru"] .hero h1{font-size:clamp(1.85rem,8.2vw,2.4rem);max-width:16ch}
  html[lang="en"] .strip span,html[lang="ru"] .strip span{font-size:.75rem}
}

.topbar .pill,.page-top .pill{min-width:4.5rem}
.hero-sub,.lead-line,.place-stats span,.big-lbl,.trust,.spec{text-wrap:balance}
@media (min-width:900px){html[lang="en"] .buy-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
html[lang="en"] .buy .sec-title,html[lang="ru"] .buy .sec-title{max-width:16ch}
@media (max-width:719px){
  html[lang="en"] .hero h1,html[lang="ru"] .hero h1{font-size:clamp(1.7rem,7.4vw,2.1rem);max-width:none}
}

/* Hero message angle (?m=). Default managed, also without JS */
.av{display:none}
html:not([data-angle]) .av[data-angle-v="managed"],
html[data-angle="managed"] .av[data-angle-v="managed"],
html[data-angle="trust"] .av[data-angle-v="trust"],
html[data-angle="financing"] .av[data-angle-v="financing"]{display:inline}

/* Headline break where hero-angles.md marks "|": one half per line, both languages */
.hero h1 .ln{display:block}
html[lang="en"] .hero h1,html[lang="ru"] .hero h1{max-width:none}
html[lang="en"] .hero h1 .ln,html[lang="ru"] .hero h1 .ln{display:block;white-space:normal}
@media (max-width:719px){
  html[lang="en"] .hero h1,html[lang="ru"] .hero h1{font-size:clamp(1.4rem,6.3vw,1.75rem);font-weight:300}
}

.hero-sub{max-width:44ch;margin-inline:auto}

/* Facts from El-Avi (30.10.2026) */
.avail{margin-top:1rem;color:var(--soft);font-weight:300;font-size:1rem;max-width:60ch;text-wrap:balance}
.price b{white-space:nowrap}
.permit{margin-top:clamp(1.5rem,3vw,2.25rem);color:var(--soft);font-weight:400;font-size:1.0625rem}
/* Promo video slot */
.promo{position:relative;background:var(--night)}
.promo-video{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:92svh;object-fit:cover}
.promo-ctl{position:absolute;inset-inline-end:var(--pad);bottom:clamp(1rem,3vw,2rem);display:flex;gap:.6rem}
.promo-ctl .pill{background:rgba(7,11,26,.6)}

.price b,.strip b,.place-stats b{unicode-bidi:isolate}
.price .vat{display:inline-block;margin-inline-start:.4rem}
@media (max-width:719px){.strip b{font-size:clamp(1.1rem,5.2vw,1.45rem)}}

/* Price inside a headline: keep "205,000 €" as one isolated run */
.num{unicode-bidi:isolate;white-space:nowrap}

/* Rotating hero (no ?m=): all three sets stacked in one grid cell, so the box always has the height of the tallest
   at any width (CLS 0). Only the active one is visible. Screen readers get one stable managed text (.sr-rot) */
.sr-rot{display:none}
html[data-angle="rotating"] .sr-rot{display:inline}
html[data-angle="rotating"] .av[data-angle-v="managed"]{display:inline}
html[data-angle="rotating"] .hero h1,
html[data-angle="rotating"] .hero-sub{display:grid;justify-items:center}
html[data-angle="rotating"] .hero h1>.av,
html[data-angle="rotating"] .hero-sub>.av{display:block;grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .45s var(--ease-out),transform .45s var(--ease-out),visibility 0s linear .45s}
html[data-angle="rotating"] .hero h1>.av.on,
html[data-angle="rotating"] .hero-sub>.av.on,
html[data-angle="rotating"]:not(.rot-live) .hero h1>.av[data-angle-v="managed"],
html[data-angle="rotating"]:not(.rot-live) .hero-sub>.av[data-angle-v="managed"]{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.rot-btn{align-self:flex-end;margin-top:-.75rem;opacity:.75;width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#F2F0EA;
  background:rgba(7,11,26,.5);border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.rot-btn svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.rot-btn .ic-play{display:none;fill:currentColor;stroke:none}
.rot-btn[aria-pressed="true"] .ic-pause{display:none}
.rot-btn[aria-pressed="true"] .ic-play{display:block}
/* Mobile: the longest headline (financing, with price) must fit on one line per half, down to 360px */
@media (max-width:719px){
  .hero h1{font-size:clamp(1.55rem,7vw,2.3rem)}
  html[lang="en"] .hero h1,html[lang="ru"] .hero h1{font-size:clamp(1.3rem,5.6vw,1.7rem)}
}

/* Pause button: space reserved from first paint in rotating mode (no shift), visible only while rotation is live */
.rot-btn{display:grid;visibility:hidden}
html.rot-live .rot-btn{visibility:visible}
html[data-motion="off"] .rot-btn{display:none}
@media (prefers-reduced-motion:reduce){.rot-btn{display:none}}

/* Hero video: fades in over the poster once it actually plays. Poster stays the LCP */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease-out;filter:saturate(.9) contrast(1.04)}
.hero-video.on{opacity:1}
html[data-motion="off"] .hero-video{display:none}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}

/* "About an hour from home": El-Avi's official map as a card, numbers beside it */
.where{background:linear-gradient(to bottom,var(--night),var(--deep))}
.where-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.map-card{max-width:905px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--edge);background:#F2F0EA}
.map-card img{width:100%;height:auto}
.where-line{margin-top:.75rem;color:var(--soft);font-size:1.125rem;font-weight:300}
.where-stats{list-style:none;padding:0;margin-top:clamp(1.5rem,3vw,2.25rem);display:grid;gap:.75rem}
.where-stats li{border-radius:var(--r-md);padding:1.25rem 1.5rem}
.where-stats b{display:block;font-weight:200;font-size:clamp(2.75rem,1.8rem + 3vw,4.5rem);line-height:1;letter-spacing:-.03em;white-space:nowrap;unicode-bidi:isolate}
.where-stats span{display:block;margin-top:.5rem;color:var(--soft);font-size:1rem}
@media (max-width:899px){
  .where-grid{grid-template-columns:1fr}
  .where-stats{grid-template-columns:1fr 1fr}
  .where-stats li{padding:1rem}
  .where-stats b{font-size:clamp(2.2rem,10vw,3rem)}
  .where-stats span{font-size:.875rem}
}

/* Promo hotspots */
.promo-stage{position:relative}
.promo-hs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hs{position:absolute;width:0;height:0;opacity:0;transition:opacity .3s ease}
.hs.on{opacity:1}
.hs-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#F2F0EA;box-shadow:0 0 0 1px rgba(7,11,26,.35)}
.hs-dot::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(242,240,234,.55)}
.hs.on .hs-dot::after{animation:hs-pulse 1.4s ease-out 1}
@keyframes hs-pulse{from{box-shadow:0 0 0 0 rgba(242,240,234,.55)}to{box-shadow:0 0 0 14px rgba(242,240,234,0)}}
.hs-line{position:absolute;top:-.5px;height:1px;width:48px;background:rgba(242,240,234,.9)}
.hs-label{position:absolute;top:0;max-width:22rem;width:max-content;padding:.4rem .75rem;border-radius:10px;
  font:400 .9375rem/1.4 var(--font);color:#F2F0EA;background:rgba(7,11,26,.7);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(0,-50%);transition:transform .3s ease}
.hs.to-left .hs-line{right:6px}
.hs.to-left .hs-label{right:54px}
.hs.to-right .hs-line{left:6px}
.hs.to-right .hs-label{left:54px}
.hs:not(.on) .hs-label{transform:translate(0,calc(-50% + 6px))}
@media (max-width:719px){
  .hs-line{width:28px}
  .hs.to-left .hs-label{right:34px}
  .hs.to-right .hs-label{left:34px}
  .hs-label{max-width:60vw;font-size:.8125rem;padding:.3rem .55rem}
}
html[data-motion="off"] .hs-dot::after{animation:none!important}
/* Mobile: promo controls sit under the video so they never cover a hotspot label */
@media (max-width:719px){
  .promo-ctl{position:static;justify-content:flex-end;padding:.75rem var(--pad) 0}
  .promo-ctl .pill{background:var(--glass);color:var(--text);border-color:var(--edge)}
}

/* Hidden sticky bar must not count as a layout shift when the cookie banner height is measured */
.sticky-cta{visibility:hidden;transition:transform .3s ease-out,visibility 0s linear .3s}
.sticky-cta.show{visibility:visible;transition:transform .3s ease-out,visibility 0s}

/* ===== Design pass, 31.10.2026 (Eitan, test of Impeccable + Emil + Taste). Distill, polish, one motion moment ===== */
/* Browser surfaces in the palette */
::selection{background:#F2F0EA;color:#0A1026}
html[data-theme="light"] ::selection{background:#0D1530;color:#F2F0EA}
html{scrollbar-color:rgba(255,255,255,.22) var(--night)}

/* Hero: headline, one line, the place, one action. The location line now sits under the headline, not above it */
.hero h1{font-weight:200;letter-spacing:-.03em;line-height:1.04}
.hero-sub{margin-top:1.25rem}
.kicker{margin:1rem 0 0;font-size:.9375rem;color:#C9CEDD;letter-spacing:.01em}
.hero-cta{gap:1.5rem}
.rot-btn{align-self:center;margin:0;opacity:.7}
@media (hover:hover) and (pointer:fine){.rot-btn:hover{opacity:1}}
/* Strip: two facts, no glass box, a tone step and space instead of rules */
.strip{max-width:34rem;grid-template-columns:repeat(2,1fr);background:none;border:0;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;gap:1rem}
.strip li[hidden]{display:none}
.strip li+li{border-inline-start:0}
.strip li{padding:.25rem .5rem}
.strip b{font-variant-numeric:tabular-nums lining-nums}

/* Where: the map carries it, two numbers beside it as type, not as glass cards */
.where-stats{gap:clamp(1.5rem,3vw,2.25rem)}
.where-stats li{padding:0;border-radius:0;background:none;border:0}
.where-stats span{margin-top:.35rem}
.map-card{border:0}

/* Apartments: plan and facts read as one object */
.det.glass{-webkit-backdrop-filter:none;backdrop-filter:none;border:0;background:var(--glass)}
.plan{border:0}
.price b{font-variant-numeric:tabular-nums lining-nums}
.gallery img{border-radius:var(--r-md)}

/* Compound: captions sit under the picture, not in a glass pill over it */
.reel figure{display:flex;flex-direction:column;aspect-ratio:auto;background:none;border-radius:0;overflow:visible}
.compound .reel figure{aspect-ratio:auto}
.reel figure img{aspect-ratio:1/1;border-radius:var(--r-lg);height:auto}
.reel figcaption{position:static;inset:auto;padding:.85rem .1rem 0;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--soft);font-size:1rem}

/* Buy: real ordered list, the numbers are hidden (the order is the list), the dot line stays as the one structural device */
.step-n{display:none}
@media (min-width:900px){.steps li{padding-top:1.75rem}}
.steps h3{font-size:1.1875rem}
.entrance{border:0}
.permit{color:var(--text)}

/* FAQ + form: hairline outer frame removed, rows keep one divider each */
.faq-list{border-top:0}
.form-card.glass{-webkit-backdrop-filter:none;backdrop-filter:none;border:0;background:var(--deep)}
.choice label{transition:background-color .16s ease,border-color .16s ease}
.field input{transition:border-color .16s ease,box-shadow .16s ease}

/* Feedback on secondary controls, pointer devices only */
@media (hover:hover) and (pointer:fine){
  .tab:not([aria-selected="true"]):hover{color:var(--text)}
  .x:hover{border-color:var(--text)}
  .faq-q:hover{color:#FFF}
}
.x:active,.pill:active,.tab:active{transform:scale(.97)}
.x,.pill,.tab{transition:transform .16s var(--ease-out),border-color .2s ease,color .2s ease}

/* Section rhythm: more air above headings than below */
.sec-title{margin-bottom:0}
.apts-head{margin-bottom:.25rem}

@media (max-width:719px){
  .strip{max-width:none}
  .strip li{padding:.25rem}
  .kicker{font-size:.875rem}
  .where-stats{grid-template-columns:1fr 1fr;gap:1rem}
}
/* Mobile: the pause control leaves the CTA row (it wrapped in English) and sits at the row's end, above it, on clear image */
@media (max-width:719px){
  .hero-low{position:relative}
  .rot-btn{position:absolute;top:-3.25rem;inset-inline-end:var(--pad)}
}

/* 31.10.2026: gallery, spec and promo rhythm (mobile feedback from Yonatan) */
.spec-incl{display:flex;flex-direction:column;gap:.35rem;padding-bottom:clamp(2rem,4vw,3.5rem)}
.spec-k{font-size:.8125rem;font-weight:500;letter-spacing:.04em;color:#C8B48A}
html[data-theme="light"] .spec-k{color:#7A6440}
html[data-contrast="high"] .spec-k{color:#FFE066}
@media (max-width:719px){
  .gallery{padding-top:1.5rem;padding-bottom:.5rem;gap:.75rem;scroll-padding-inline:var(--pad)}
  .gallery li{height:auto;width:84vw}
  .gallery img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
  .spec-incl{margin:1rem var(--pad) 0;padding:1rem 0 2.25rem;border-top:1px solid var(--edge);font-size:1rem;text-wrap:pretty}
  .promo-ctl{position:absolute;top:.75rem;bottom:auto;inset-inline-end:.75rem;padding:0}
  .promo-ctl .pill{background:rgba(7,11,26,.55);color:#F2F0EA;border-color:rgba(242,240,234,.25);min-height:36px;padding:.35rem .9rem;font-size:.875rem}
  .promo + .compound{padding-top:clamp(2.5rem,10vw,3.5rem)}
}
.plan{position:relative}
.plan-note{position:absolute;bottom:.5rem;inset-inline-start:.75rem;margin:0;font-size:.6875rem;color:#0D1530;opacity:.75;background:rgba(207,225,236,.85);padding:.15rem .4rem;border-radius:6px}

/* 1.11.2026: Dreams 3D tour teaser, leads to the form, never out of the page */
.dreams .wrap{display:flex;flex-direction:column;gap:1.25rem}
.dreams-text{color:var(--soft);font-weight:300;font-size:1.125rem;max-width:46ch;text-wrap:pretty}
.dreams-media{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;background:var(--deep)}
.dreams-video{width:100%;height:100%;object-fit:cover;display:block}
.dreams-badge{position:absolute;top:.8rem;inset-inline-start:.8rem;font-size:.75rem;background:rgba(7,11,26,.6);color:#F2F0EA;padding:.25rem .6rem;border-radius:999px}
.dreams .btn{align-self:flex-start}
.dreams-small{font-size:.875rem;color:var(--mute);margin-top:-.5rem}
@media (max-width:719px){.dreams-media{border-radius:var(--r-md)}}
@media (min-width:900px){.dreams .wrap{display:grid;grid-template-columns:1fr 1.3fr;grid-template-areas:"t m" "p m" "b m" "s m";column-gap:3rem;align-items:start}.dreams .sec-title{grid-area:t}.dreams-text{grid-area:p}.dreams-media{grid-area:m}.dreams .btn{grid-area:b}.dreams-small{grid-area:s}}
/* Media protection: no drag, no long-press save menu, no selection */
img,video{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
video::-internal-media-controls-download-button{display:none}

.cookie-state{margin-top:.35rem;font-weight:500;color:var(--soft)}
.cookie>div{flex:1 1 18rem}
@media (max-width:899px){.cookie>div{flex-basis:100%}}

/* ---------- Languages: Arabic and Russian ---------- */
html[lang="ar"]{--font:"IBM Plex Sans Arabic","IBM Plex Sans Hebrew","Segoe UI",system-ui,sans-serif}
html[lang="ru"]{--font:"IBM Plex Sans","IBM Plex Sans Hebrew","Segoe UI",system-ui,sans-serif}
html[lang="ar"] body{line-height:1.75}
html[lang="ar"] .nw{white-space:normal;display:inline}
html[lang="ar"] .strip span,html[lang="ar"] .place-stats span,html[lang="ar"] .area small,html[lang="ar"] .price b{letter-spacing:0}
.lang-menu{position:relative;display:inline-block}
.lang-list{position:absolute;inset-block-start:calc(100% + .4rem);inset-inline-end:0;z-index:60;list-style:none;margin:0;padding:.35rem;min-width:9.5rem;
  background:rgba(13,21,48,.96);border:1px solid var(--edge);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.35);backdrop-filter:blur(10px)}
.lang-list button{display:block;width:100%;min-height:2.75rem;padding:.5rem .9rem;border:0;border-radius:10px;background:none;color:var(--text);font:400 1rem/1.2 var(--font);text-align:start;cursor:pointer}
.lang-list button[lang="ar"]{font-family:"IBM Plex Sans Arabic",sans-serif}
.lang-list button[lang="ru"],.lang-list button[lang="en"]{font-family:"IBM Plex Sans",sans-serif}
.lang-list button:hover,.lang-list button:focus-visible{background:var(--glass)}
.lang-list button[aria-current]{font-weight:500;background:var(--glass)}
.lang-links{display:flex;flex-wrap:wrap;gap:.25rem 1rem;list-style:none;margin:0;padding:0}
.lang-links button{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:2.75rem}
.legal-note{max-width:68ch;margin:0 auto 1.25rem;padding:.75rem 1rem;border:1px solid var(--edge);border-radius:12px;background:var(--glass);font-size:.95rem}
html[lang="ru"] .area,html[lang="ar"] .area{white-space:normal}
html[lang="ru"] .area small,html[lang="ar"] .area small{display:inline-block}
