:root {
  --body-font: "aktiv-grotesk-hebrew",sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans", Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --heading-font: "aw-conqueror-didot",serif;
  --little-black:#010101;
  --black:#010101;
  --footer-bg:#050505;
  --dark-grey: #0d0d0e;
  --white: #FFFFFF;
  --vistawhite: #fefaf7;
  --color-mercury: #E9E5E2;
  --white-transparent:rgba(255,255,255,0.90);
  --input-border: #E8E8E8;
  --input-color: rgba(255,255,255,0.4);
  --blue: #0e8eff;
  --color-desert-storm: #FAF6F3;
}

html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}


@font-face {
    font-family: 'AktivGrotesk';
    src: url('../fonts/AktivGrotesk-Light.woff2') format('woff2'),
        url('../fonts/AktivGrotesk-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

html, body, br, hr, div, span, a, object, iframe, ul, ol, dl, li, dt, dd, h1, h2, h3, h4, h5, h6, p, blockquote, q, address,
small, big, cite, dfn, ins, del, i, em, b, strong, sup, sub, strike, pre, code, samp, kbd, var, tt, form, fieldset, legend, label,input, textarea, option, .nobox 
{background: transparent; border: 0; font-size: 100%; margin: 0; outline: 0; padding: 0; vertical-align: baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {display: block;}
blockquote, q {quotes: none;}
html, body { height: 100%; font-size:14px; line-height:20px;}
body{padding: 0;margin: 0;font-family: var(--body-font); font-size:16px; font-weight:400; color:var(--little-black); line-height:28px; letter-spacing:0.84px; box-sizing: border-box; overflow-x: hidden;text-align: start; background-color:var(--body-bg); direction:rtl}
h1,.h1, h2,.h2, h3,.h3, h4,.h4, h5,.h5, h6,.h6 {margin: 0; font-family: var(--heading-font); color: var(--little-black); font-weight:700;line-height:1; }
/* Specific Header Settings */
h1,.h1 {font-size:48px;}
h2,.h2 {font-size:24px;}
h3,.h3 {font-size:22px;}
h4,.h4 {font-size:20px;}
h5,.h5 {font-size:18px;}
h6,.h6 {font-size:16px;}

.default h1,.h1 {font-size:32px;}
.default h2,.h2 {font-size:28px;}
.default h3,.h3 {font-size:24px;}
.default h4,.h4 {font-size:20px;}


br {height: 0;}
ul, ol, dl, li {margin:0; padding:0;}
ul, ol {margin:0 15px 30px 0;} 
html, body{ border:none; -webkit-text-size-adjust:none;}
ul {list-style-type: none}
ul li {position: relative;}
ul li:before { position: absolute; right: -15px; top:9px; width: 5px; height:5px; background-color:var(--black); border-radius: 50%; content: ""; }
img {max-width: 100%; height: auto;}
table {width: 100%; border-collapse: collapse; border-spacing: 0;}
*, *:after, *:before {box-sizing: border-box;}
p {margin-bottom:20px;}
p:last-child {margin-bottom: 0;}
a {color: var(--body-color); transition: all 0.5s;}
.button, a.button, button, html input[type="button"], input[type="reset"], input[type="submit"] { padding:4px 20px 4px; background: var(--white); color: var(--black); border: 0; border-radius:0; font-size:16px; line-height:32px; font-weight:400; letter-spacing: 0.84px; display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; outline: none;box-shadow:none;text-align: center;text-decoration: none;-webkit-transition: 0.4s all;transition: 0.4s all; position: relative;z-index: 1; text-transform: none; letter-spacing:0; cursor: pointer; transform: none;}
.button:hover, a.button:hover, button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {background-position: right center; box-shadow: none;}
.button:before, .button:after, .form-submit:before, .form-submit:after {content:''; position: absolute; width: 10px; height: 100%; top: 0;}
.button:before, .form-submit:before {left: -7px; background: url(../images/button-before.png) 0 0 no-repeat;}
.button:after, .form-submit:after {right: -7px; background: url(../images/button-after.png) 0 0 no-repeat;}
.button span, .form-submit span {padding: 0 5px; background: inherit; position: relative; z-index: 1;}
.button span.arrow, .form-submit span.arrow {padding:0; position: absolute; z-index: 0; left: 24px; transition: all 0.5s;}
.button:hover, .form-submit:hover{padding: 4px 20px 4px 40px;}
.button:hover span.arrow, .form-submit:hover span.arrow {left:20px;}


input[type="search"], input[type="text"], input[type="date"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], textarea, select {margin: 0 0 0 0;  padding:0 10px; font-family: var(--body-font); background-color:transparent; border:0; border-bottom:1.5px solid var(--color-mercury); display: inline-block; vertical-align: middle; font-weight:300; color:var(--white); font-size:16px; line-height:48px; position: relative;outline: none;box-shadow: none;text-align: start;text-decoration: none;-webkit-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out; overflow: hidden; position: relative;z-index: 1; text-transform: none; letter-spacing:0; width: 100%;}
textarea {height:96px; resize: none;}
.select {display: none !important;}

input::-webkit-input-placeholder {color:var(--white);opacity:1;}
input:-moz-placeholder {color:var(--white); opacity:1;}
input::-moz-placeholder {color: var(--white); opacity:1;}
input:-ms-input-placeholder {color:var(--white);opacity:1;}
textarea::-webkit-input-placeholder {color:var(--white); opacity:1;}
textarea:-moz-placeholder {color:var(--white); opacity:1;}
textarea::-moz-placeholder {color:var(--white); opacity:1;}
textarea:-ms-input-placeholder {color:var(--white);opacity:1;}
fieldset {border: 1px solid transparent;} 
/* 6. Tables
------------------------------------------------------------------------------*/
/* Table Fixes */
table {border-spacing: 0; border-collapse: collapse;}
td {text-align: start; font-weight: normal;}
/* 7. Framework
------------------------------------------------------------------------------*/

/* container */
.container{max-width:1678px; width: 100%; padding-left: 15px; padding-right: 15px; margin: 0 auto;}
.row{display: flex;flex-wrap: wrap; margin-left: -15px; margin-right: -15px;}
.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.col-12 {max-width: 100%;}
.col-11 {max-width: 91.66666667%;}
.col-10 {max-width: 83.33333333%;}
.col-9 {max-width: 75%;}
.col-8 {max-width: 66.66666667%;}
.col-7 {max-width: 58.33333333%;}
.col-6 {max-width: 50%;}
.col-5 {max-width: 41.66666667%;}
.col-4 {max-width: 33.33333333%;}
.col-3 {max-width: 25%;}
.col-2 {max-width: 16.66666667%;}
.col-1 {max-width: 8.33333333%;} 
.flex{ display:flex;}
.wrap{flex-wrap:wrap;}
.justify-content-start{justify-content:flex-start;}
.justify-content-center{justify-content:center;}
.justify-content-end{justify-content:flex-end;}
.justify-content-between{justify-content:space-between;}
.align-items-start{align-items: flex-start;}
.align-items-center{align-items: center;}
.align-items-end{align-items: flex-end;}
.row-reverse{flex-direction: row-reverse;}
.text-center{text-align: center;}
.text-left{text-align: start;}
.text-right{text-align: end;}
.font-light {font-weight: 300;}

.mobile {display: none;}
.menu-bottom-image img {display: none;}
.scroll-icon { display: none; }


.image-in-out{position: relative;overflow: hidden; height: 100%;}
.image-in-out:before {position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 1;content: "";background-color: #151517;-webkit-transform: translateX(-100%) scaleX(.33);-ms-transform: translateX(-100%) scaleX(.33);transform: translateX(-100%) scaleX(.33);-webkit-transform-origin: right center;-ms-transform-origin: right center;transform-origin: right center;}
.image-in-out .in,
.image-in-out .out,
.image-in-out:before {transition: all 2.5s cubic-bezier(.77,0,.175,1); -webkit-transition: all 2.5s cubic-bezier(.77,0,.175,1)}

.image-in-out .in,
.image-in-out .out {overflow: hidden}
.image-in-out .in .image_inner img,
.image-in-out .out .image_inner img {-webkit-transform: translateZ(0);transform: translateZ(0)}
.image-in-out .out {-webkit-transform: translateX(-110%);-ms-transform: translateX(-110%);transform: translateX(-110%)}
.image-in-out .in,
.image-in-out.aos-animate:before {-webkit-transform: translateX(100%);-ms-transform: translateX(100%);transform: translateX(100%)}

.image-in-out.to--right .out {-webkit-transform: translateX(110%);-ms-transform: translateX(110%);transform: translateX(110%)}
.image-in-out.to--right .in,
.image-in-out.aos-animate:before {-webkit-transform: translateX(-101%);-ms-transform: translateX(-101%);transform: translateX(-101%)}

.image-in-out.aos-animate .in,
.image-in-out.aos-animate .out {-webkit-transform: none;-ms-transform: none;transform: none}
.image-in-out.aos-animate .in, .image-in-out.aos-animate .out {-webkit-transform: none;-ms-transform: none; transform: none; height: 100%;}

.animate {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}

.animate.show {
  opacity: 1;
  transform: translateY(0);
}








header {padding:10px 32px 12px 12px;  align-items: center; justify-content: space-between; position: fixed; width: 100%; z-index: 2; background-color: var(--white-transparent); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}
header .logo {line-height: 0; max-width: 82px;}
.home header {background-color: transparent; -webkit-backdrop-filter: blur(0px); backdrop-filter: blur(0px);}
.home header .logo {opacity: 0; transition: all 0.5s;} 
.home.sticky header {background-color: var(--white-transparent); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}
.home.sticky header .logo {opacity: 1; } 
.menu-toggle {align-items: center; background: none; border: 0; cursor: pointer; display: flex; gap:31px; padding: 0; }
.menu-label {font-size: 12px; text-transform: uppercase; line-height: 32px; font-weight: 700; letter-spacing: 5.5px; color: var(--color-mercury); font-family: var(--heading-font); transition: all 0.5s;}
.menu-toggle:hover .menu-label {color: var(--black); }
.menu-icon { display: flex; flex-direction: column; gap: 8px; justify-content: center; align-items: center;  width: 29px;}
.menu-icon span { background-color: var(--black); display: block; height: 2px; transition: width 0.5s ease; width: 23px;}
.menu-toggle:hover .menu-icon span:first-child {width: 29px;}
.menu-toggle:hover .menu-icon span {width: 20px;}
.menu-toggle:hover .menu-icon span:last-child {width: 29px;}
.contact-link {font-family: var(--heading-font); font-size: 12px; font-weight: 700; line-height: 32px; letter-spacing: 5.5px; color: var(--little-black); text-transform: uppercase; display: flex; align-items: center; gap: 16px;}
.contact-link a {text-decoration: none;}
.lang-toggle {padding: 4px 10px; border: 1px solid var(--little-black); letter-spacing: 0 !important; transition: all 0.3s; font-family: var(--body-font); font-style: normal; font-feature-settings: "kern" 0; font-kerning: none;}
.lang-toggle:hover {background-color: var(--little-black); color: var(--white);}
.lang-toggle-mobile {display: none;}

.menu-overlay { position: fixed; transform: translateY(-100%); background: rgba(255, 255, 255, 0.97); padding:20px 30px 0; right: 0; left: 0; color: #010101; transition: all 1s;}
.is-open .menu-overlay {transform: translateY(44%);}
.menu-header { display: flex; justify-content: space-between; font-size: 12px; letter-spacing: 2px; padding: 0 24px; font-family: var(--heading-font);}
.menu-header a {text-decoration: none; letter-spacing: 5px;}
.menu-header .close {display: inline-flex;}
.menu-header .close span {font-weight: 700; font-size: 24px; margin-left: 15px;}  
.menu-content { max-width: 916px; margin:10px auto 50px; }             
.menu-content ul li {display: block; border-bottom: 1px solid #e9e5e2;}
.menu-content ul li:before {display: none;}
.menu-item { display: flex; justify-content: space-between; align-items: center; padding:0 22px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); color: var(--little-black); cursor: pointer; text-decoration: none;}
.menu-item:hover, .menu-item.active {background-color:#faf6f3;}
.menu-item:last-child { border-bottom: none; }
.menu-item > div {height: 64px; overflow: hidden;}
.en { font-size: 14px; letter-spacing: 2px; font-family: var(--heading-font); display: block; line-height:74px; transition: transform 0.5s ease;}
.he { font-size: 16px; direction: rtl; display: block; line-height:74px; transition: transform 0.5s ease;}
.menu-item:hover .en, .menu-item:hover .he, .menu-item.active .en, .menu-item.active .he {transform: translateY(-100%);}


.hero-banner {position: relative; height: 100svh;}
.hero-banner:after {content: ''; position: absolute; height: 75%; bottom: 0; left: 0; right: 0; background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 100%);}
.hero-banner-image {height: 100%; line-height: 0;}
.hero-banner-image img {width: 100%; height: 100%; object-fit: cover;}    
.hero-banner-content {position: absolute; z-index: 1; left: 0; right: 0; margin: 0 auto; top: 368px; max-width:238px; width: 100%;}

.hero-banner-bottom { position: absolute; bottom: 35px; left: 0; right: 0; z-index: 1; margin: 0 auto; display: flex; justify-content: center; flex-direction: column; align-items: center; }
.hero-banner-arrow {max-width: 92px; width: 100%; height: 92px; margin: 100px auto 0; z-index: 1; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.hero-banner-arrow .arrow {display: flex; flex-direction: column; }
.hero-banner-arrow .arrow img {transition: transform 1s ease; margin: 10px 0; transform: translateY(-100%);}
.hero-banner-arrow:hover .arrow img {transform: translateY(90%);}

.video-section {position: relative; /*padding-top: 67.70%;*/ height: 100svh; width: 100%; overflow: hidden;}
.video-section video {position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%;}
.video-content {position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); text-shadow: 24px 39px 75px rgba(0, 0, 0, 0.12);  margin: 0 auto; z-index: 1; color: var(--color-white); text-align: center;}
.video-content-image {max-width: 325px; margin: 0 auto;}

.heart-section {display: flex; justify-content: center;}
.heart-section-content {display: block; text-align: center; max-width: 608px; width: 100%; color: var(--black); padding: 160px 0 138px;}
.heart-section-content h2 {font-size:26px; line-height: 32px; letter-spacing: 6.4px; color: var(--black); text-transform: uppercase; margin-bottom: 24px;}
.heart-mark-img {max-width: 112px; width: 100%; margin: 0 auto 50px;}
.home .heart-section-content {padding: 234px 0 138px;} 

.image-map-section { position: relative; overflow: auto;}
.image-map-section .map-image {position: relative; padding-top: 46.972%;  width: 100%;}
.image-map-section .map-image-wrapper {overflow: auto;}
.image-map-section img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.image-map-section .label { position: absolute; transform: translate(-50%, -50%); background:var(--little-black); color:var(--vistawhite); padding: 4px 26px 3px; font-size: 12px; line-height: 1; letter-spacing: 0.84px; width: max-content; text-align: center;}
.image-map-section .label.label-light {background:var(--vistawhite); color: var(--little-black);}

.building-overview-section {padding: 136px 0;}
.building-overview-inner {display: flex; flex-wrap: wrap; width: 100%; overflow: hidden;}
.building-overview-inner .item { width: 20%; position: relative; padding-top: 46.117%; overflow: hidden; transition: 0.8s ease all; top: 0; right: 0; flex-grow: 1;}
.building-overview-inner .item.unopen {width: 16.6666%;}
.building-overview-inner .item.open {width: 33.3336%;}
.building-overview-inner .item .bg {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.building-overview-inner .item .bg:after {content:''; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(0, 0, 0, 1) 100%); opacity: 0.4; pointer-events: none;}
.building-overview-inner .item .bg img {width: 100%; height: 100%; object-fit: cover;}
.building-overview-inner .item .text {position: absolute; left: 0; bottom: 0; padding: 24px; width: 100%; text-align: left; z-index: 1; text-decoration: none;}
.building-overview-inner .item .text:before {content: ''; position: absolute; left: 0; right: 0; top:100%; bottom: 0; background-color: var(--color-mercury); z-index: -1; transition: all 0.8s;}
.building-overview-inner .item:hover .text:before {top: 0;}
.building-overview-inner .item .text .sub-heading {font-size: 14px; font-family: var(--heading-font); color: var(--white); letter-spacing: 2.5px; text-transform: uppercase; transition: all 0.8s;}
.building-overview-inner .item .text h2 {font-size: 24px; line-height: 32px; letter-spacing: 2.5px; color: var(--white); font-weight: 700; text-transform: uppercase; transition: all 0.8s;}
.building-overview-inner .item:hover .text .sub-heading, .building-overview-inner .item:hover .text h2 {color: var(--little-black);}

/* Compact building-overview nav (used on inner pages above footer) */
.building-overview-section.compact { padding: 32px 0; }
@media only screen and (max-width: 767px) { .building-overview-section.compact { padding: 0; } }
.building-overview-section.compact .item { padding-top: 22%; }
.building-overview-section.compact .item .text { padding: 16px 20px; }
.building-overview-section.compact .item .text h2 { font-size: 18px; line-height: 24px; letter-spacing: 2px; }
.building-overview-section.compact .item .text .sub-heading { font-size: 12px; letter-spacing: 2px; }
@media only screen and (max-width: 991px) {
    .building-overview-section.compact .item, .building-overview-section.compact .item.unopen, .building-overview-section.compact .item.open { width: 100%; padding-top: 30%; }
}
@media only screen and (max-width: 767px) {
    .building-overview-section.compact .item { padding-top: 40%; }
    .building-overview-section.compact .item .text h2 { font-size: 16px; line-height: 20px; }
    .building-overview-section.compact .container { padding-left: 0; padding-right: 0; max-width: 100%; }
}

.different-section {position: relative;}
.different-section-img {position: relative; width: 100%; padding-top:47.35%;}
.different-section-img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; filter: grayscale(100%);}
.different-section h3 {position: absolute; top: 227px; left: 0; right: 0; margin: 0 auto; color: var(--white); letter-spacing: 24.5px; line-height: 56px; text-transform: uppercase; max-width: 350px; text-align: center;}

.inner-hero-banner {position: relative; height:100svh;}
.inner-hero-banner-image {height: 100%; line-height: 0;}
.inner-hero-banner-image img {width: 100%; height: 100%; object-fit: cover;}    
.inner-hero-banner-title {position: absolute; z-index: 1; left: 0; top: 50%; width: 100%; display: flex; justify-content: center;}
.inner-hero-banner-title h1 {font-size: 38px; line-height: 56px; color: var(--black); text-transform: uppercase; font-weight: 400;}
.inner-hero-banner-title.white h1 {color: var(--white);}

.inner-hero-banner-image:before, .inner-hero-banner-image:after {content:''; position: absolute; top:63px; width: 19px; height: calc(100% - 63px); z-index: 1;}
.inner-hero-banner-image:before {left: 0; background: url(../images/banner-frame-left.png) 0 0 no-repeat; background-size: 19px 100%; }
.inner-hero-banner-image:after {right: 0; background: url(../images/banner-frame-right.png) 0 0 no-repeat; background-size: 19px 100%; }

.heart-section.pool {padding:140px 0 0;}
.full-bleed-img {position: relative; width: 100%; padding-top:47.8742%;}
.full-bleed-img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.pool-bottom {text-align: center; padding: 248px 0;}

.heart-section.bottom.project {padding:116px 0;}
.full-bleed-img.project {padding-top: 35.276%;}
.project-image-wide-and-portrait.last {margin-bottom: 200px; display: block;}

.project-image-wide-and-portrait-inner, .project-image-wide-and-square-inner {display: flex; gap:72px; padding:36px 0;}
.project-image-wide, .project-image-portrait {position: relative; padding-top:46.478%;}
.project-image-wide {max-width: 68%; width: 100%;}
.project-image-portrait {max-width: 29.127%; width: 100%;}
.project-image-wide img, .project-image-portrait img, .project-image-square img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.project-image-wide-and-portrait-inner.row-reverse {flex-direction: row-reverse;} 

.square-with-text {max-width: 29.127%; width: 100%; position: relative;}
.project-image-square {position: relative; padding-top:91.667%; font-size: 22px; }
.square-with-text h3 {position: absolute; bottom: 0; left: 0; line-height: 32px; letter-spacing: 0.4px; text-align: left;}

.she-diagram {background-color: #F7F3F0; padding: 94px 0 139px;}
.she-diagram-inner {display: flex; flex-wrap: wrap; justify-content: end;}
.she-diagram-left {mix-blend-mode: multiply; padding: 0 105px; max-width: 690px;}
.she-diagram-right {position: relative; border-left: 1px solid var(--black); max-width: 712px; width: 100%; margin: 58px 0; display: flex; flex-direction: column; align-items: flex-end;}
.diagram-content {position: relative; padding-top: 15px; font-size: 14px; line-height: 24px; letter-spacing: 2px; font-weight: 300; text-transform: uppercase; max-width: 100%; width: 100%;}
.diagram-content.half { max-width: 50%; }
.diagram-content:before {content: ''; position: absolute; left: -96px; top: 4px; width: calc(100% + 96px); border-top: 1px dashed #c6c2bf; z-index: 1;}
.diagram-content:after {content: ''; position: absolute; left: -96px; top: 0; height: 10px; width: calc(100% + 96px); background-color: #f7f3f0;}
.diagram-content h3 {font-size: 16px; line-height: 48px; letter-spacing: 10px; text-transform: uppercase;}
.diagram-content-outside {display: flex;}
.diagram-content-outside p:first-child {text-align: left; margin-left: 16px; position: absolute; left: 100%; max-width: max-content; width: 100%;}
.diagram-content:last-child {position: absolute; left: 0; bottom: -90px;}

.typical-plans {background-color: var(--color-desert-storm); margin: 0 auto; position: relative; padding: 192px 0;}
.typical-plans-inner {display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.typical-plans-left {max-width: 296px; width: 100%; text-align: left; margin-right: 99px;}
.typical-plans-left h2 {font-size: 22px; line-height: 32px; color: var(--black); margin-bottom: 60px; letter-spacing: 12.5px;}
.typical-plans-left .tab-images { height: 320px;}
.plans-menu {margin-left: 0;}
.plans-menu li {border-bottom: 1px solid var(--color-mercury); line-height: 32px; letter-spacing: 2.5px;}
.plans-menu li a {text-decoration: none; text-transform: uppercase; display: block; padding: 12px 24px; color: var(--black); font-weight: 700; font-family: var(--heading-font); font-size: 18px; height: 64px; overflow: hidden;}
.plans-menu li a span {display: block;}
.plans-menu li a:hover, .plans-menu li a.active, .plans-menu li.active a {background-color: #e9e5e2;}
.plans-menu li a.active {pointer-events: none;}
.typical-plans-right {max-width: 1123px; width: 100%;}
.typical-plans-right .plans-images-right {margin-bottom: 0;}
.plans-menu li:before, .plans-images-right li:before, .plans-images-bottom li:before {display: none;}
.plans-images-bottom {margin-top: 64px;}
.plans-menu-item { display: inline-block; height: 64px; overflow: hidden; position: relative; }
.plans-menu-item span { display: block; line-height: 50px; transition: transform 0.5s ease; }
.plans-menu-item span:last-child { transform: translateY(100%); }
.plans-menu-item:hover span { transform: translateY(-100%);}
.typical-plans-right .plans-images-right li {position: absolute; top: 50%; transform: translateY(-50%); inset: auto; height: auto;}


.facility-plans {background-color: var(--color-desert-storm); margin: 0 auto; position: relative; padding:145px 72px 140px 56px;}
.facility-plans-inner {display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.facility-plans-left {max-width: 296px; width: 100%; text-align: left;}
.facility-plans-left h3, .facility-plans-left h3 span small {font-size: 22px; line-height: 24px; color: var(--black); margin-bottom:10px; letter-spacing: 2.5px;}
.facility-plans-left h3 span {font-size: 64px; letter-spacing: 0.5px;}
.facility-plans-left h3 span small {margin-right: 10px;}
.facility-plans-left .plans-menu {margin-left: 0;}
.facility-plans-left .plans-menu.top {margin-bottom: 100px;}
.facility-plans-left .plans-menu li {border-bottom: 1px solid var(--color-mercury); line-height: 32px; letter-spacing: 0.4px;}
.facility-plans-left .plans-menu li a {text-decoration: none; text-transform: uppercase; display: block; padding: 0 24px; color: var(--black); font-weight: 700; font-family: var(--heading-font); font-size: 16px; height: 40px; overflow: hidden;}
.facility-plans-left .plans-menu li.active a {background-color: #e9e5e2; pointer-events: none;}
.facility-plans-left .plans-menu li a span {display: block;}
.facility-plans-left .plans-menu li a:hover, .plans-menu li a.active {background-color: #e9e5e2;}
.facility-plans-right {max-width: calc(100% - 296px); width: 100%; padding-left: 70px;}
.facility-plans-right .plans-images-right li {position: absolute;}
.tab-images { position: relative;  margin-bottom: 20px; }
.tab-images li { position: absolute; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: none; }
.tab-images li.active { display: block; }

.plans-images-right { position: relative;}
.plans-images-right li { position: relative; inset: 0; display: none; mix-blend-mode: multiply;}
.plans-images-right li.active { display: block;}

.facility-plans-right .tab-images { height:800px; }
.facility-plans .swiper-slide {position: relative; padding-top: 62%;}
.facility-plans .swiper-slide img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

.facility-features-box .close-btn { position: absolute; right:65px; top:112px; z-index: 2;}
.facility-features-box { position: relative; height: 100%; z-index: 1; background: #fff; padding: 112px 160px 0 32px; }
.facility-features-box-slider {max-width: 1072px; width: 100%;  overflow: hidden; position: relative; line-height: 0;}
.location .facility-features-box-slider {height: calc(100% - 120px);}
.swiper-pagination {bottom:16px!important;}
.swiper-pagination-bullet {max-width: 240px; width: 100% !important; height: 2px !important; opacity:1!important; border-radius: 0 !important; background-color: rgba(254, 250, 247, 0.5) !important; transition: all 0.5s;}
.swiper-pagination-bullet:hover {height:6px !important; background-color: rgba(254, 250, 247, 1) !important;}
.swiper-pagination-bullet-active {height:6px !important; background-color: rgba(254, 250, 247, 1) !important;}

.facility-features-box-action {display: flex; flex-wrap: wrap; align-items: flex-end; position: relative; margin-top: 20px;}
.facility-features-box-action h2 {margin: 0 auto 10px 34px;}
.facility-features-nextprev {margin-left: auto; display: flex; flex-wrap: wrap; position: absolute; width: 100px; bottom: 65px;}
.facility-features-nextprev .next {max-width: 92px; width: 100%; height: 92px; transform: rotate(-90deg); margin:0 auto; z-index: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; position: absolute; right: 0;}
.facility-features-nextprev .next .arrow {display: flex; flex-direction: column; }
.facility-features-nextprev .next .arrow img {transition: transform 1s ease; margin: 10px 0; transform: translateY(-100%);}
.facility-features-nextprev .next:hover .arrow img {transform: translateY(90%);}
.facility-features-nextprev .prev {max-width: 92px; width: 100%; height: 92px; transform: rotate(90deg); margin:0 auto; z-index: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; position: absolute; right: 170px;}
.facility-features-nextprev .prev .arrow {display: flex; flex-direction: column; }
.facility-features-nextprev .prev .arrow img {transition: transform 1s ease; margin: 10px 0; transform: translateY(-100%);}
.facility-features-nextprev .prev:hover .arrow img {transform: translateY(90%);}

.facility-features { position: absolute; top: 0; right: -100%; width: 66.5%; height: 100%; background: #fff; transition: right 0.7s ease; z-index: 1; overflow-y: auto; }
.facility-features.active { right: 0; } 
.facility-features-box { display: none; }
.facility-features-box.active { display: block; }
.facility-features-box .thumb-img { max-width: 190px; }

.location-plans {background-color: var(--color-desert-storm); margin: 0 auto; position: relative; padding:24px 24px 24px 72px;}
.location-plans-inner {display: flex; flex-wrap: wrap;}
.location-plans-left {max-width: 296px; width: 100%; text-align: left; margin-right: 64px; position: relative;}
.location-plans-left h3 {margin-bottom: 35px; margin-top:20px;}
.location-plans .plans-menu li a {letter-spacing: 0.4px;}
.location-plans-right {max-width: calc(100% - 360px); width: 100%; overflow: hidden;}
.location-map {position: relative; transition: all 1s;}
.location-map-image {position: relative; padding-top: 61.836%;}
.location-map-image > img {position: absolute; width: 100%; height: 100%; left: 0; top: 0; object-fit: cover;}
.location-map ul {margin: 0;}
.location-map ul li {position: absolute; width: 144px; opacity: 1; transition: all 0.5s;} 
.location-map ul li a {display: block;}
.location-map ul li:before {display: none;}

.location-marks-tooltip {width: 144px; height: 144px; background-color: var(--white); border-radius: 8px; padding: 4px; position: absolute; top:0; left:-54px; transform: translateY(-90%); opacity: 0; pointer-events: none; z-index: 1; transition: all 0.5s;}
.location-marks-tooltip:after {content: ''; position: absolute; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid var(--white); bottom: -5px; left: calc(50% - 5px);}
.location-marks-tooltip img {width: 100%; height: 100%; object-fit: cover; border-radius: 8px;}
.mark-pin {display: block; position: absolute; width: 36px; height: 36px; background-color: rgba(1, 1, 1, 0.9); border-radius: 50%; cursor: pointer; left: 0; transition: all 0.6s;}
.mark-pin:before {content: ''; position: absolute; width:18px; height:18px; top: 0; bottom: 0; left: 0; right: 0; margin: auto; background-color:var(--white); border-radius: 50%; transition: all 0.6s;}
.mark-pin:hover {transform: scale(1.8); background-color:rgba(1,1,1,0.3);}
.mark-pin:hover:before {transform: scale(0.5); opacity: 1;}
.mark-pin:after {content: ''; position: absolute; inset: 0; border-radius: 50%; background:transparent; border:1px solid var(--black); animation: ripple 5s infinite ease-out;}
.mark-pin:hover:after {opacity: 0!important;}
@keyframes ripple {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  30% {
    transform: scale(3);
    opacity: 0;
  }
  31%,
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.location-map ul li:hover .location-marks-tooltip {top: -20%; transform: translateY(-100%); opacity: 1;}
.shelogo {background: #fff; position: absolute; padding: 10px 10px 0; left: -25px; bottom: -100px; max-width: 87px; width: 100%;}
.shelogo:before {content: ''; position: absolute; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid var(--white); top: -5px; left: calc(50% - 5px);}
    
.location-plans .facility-features {max-width:49%; width: 100%; top: 24px; bottom: 24px; height: calc(100% - 48px);}
.location-plans .facility-features-box {padding:32px 88px 0 32px;}
.location-plans .facility-features-box.active {display: block!important;}
.location-plans .facility-features-box .close-btn {right: 30px; top: 30px;}
.location-plans .facility-features-box-slider {max-width: 856px;}
.location-plans .swiper-slide {position: relative; padding-top: 87.15%;}
.location-plans .swiper-slide img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.location-plans .facility-features-box-action h2 {margin: 0 auto 10px 0; text-transform: uppercase;}
.location-plans .facility-features-box-action {margin-top: 38px;}
/* .sidebaropen .location-map {transform: translateX(-26%);} */
.location-map { --base-shift: -26%; }
.sidebaropen .location-map {transform: translateX(calc(var(--base-shift) + var(--extra-shift)));}
.sidebaropen .location-marks li{opacity: 0.5;}
.sidebaropen .location-marks li.active {opacity: 1;}

.map-indication {margin-left: 0; position: absolute; bottom: 20px; left: 0;}
.map-indication li {display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; margin-top: 31px; text-transform: uppercase; color: var(--black); font-weight: 700; font-family: var(--heading-font); font-size: 18px;}
.map-indication li span {margin-left: 16px;}
.map-indication li:before {display: none;}

.testimonial-section {padding: 160px 0;} 
.testimonial-inner {display: flex; flex-wrap: wrap; gap: 120px;}
.testimonial-left {max-width: calc(50% - 60px); width: 100%; line-height: 0;}
.testimonial-img {position: relative; padding-top: 880px; width: 100%;}
.testimonial-img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.testimonial-right {max-width: calc(50% - 60px); width: 100%; padding: 110px; display: flex; align-items: center; justify-content: center;}
.testimonial-box {position: relative; max-width: 388px; text-align: center; font-size: 14px; line-height: 24px; font-weight: 300; letter-spacing: 2px; padding: 110px 0 86px;}
.testimonial-box:before, .testimonial-box:after {content: ''; position: absolute; background:url(../images/quote.png) 0 0 no-repeat; left: 0; right: 0; margin: 0 auto; width: 54px; height: 45px;}
.testimonial-box:before {top: 0;}
.testimonial-box:after {bottom: 0; transform: rotate(180deg);}
.testimonial-box h2 {font-size: 28px; line-height: 32px; font-weight: 400; margin-bottom: 40px; letter-spacing: 0;}


.content-blocks {padding:208px 0 232px;}
.bg-black {background-color: var(--little-black); color: var(--white);}
.content-blocks.bg-black {padding:136px 0;}
.content-blocks .container {max-width: 1232px;}
.content-blocks-inner {display: flex; flex-wrap: wrap; justify-content: center;}
.center-content-full {width: 100%; margin: 0 auto; padding:130px 150px; text-align: center; font-size: 19px; line-height: 32px; letter-spacing: 0.84px;}
.center-content-full img, .center-content-half img {margin-bottom: 20px;}
.center-content-half {max-width: calc(50% - 24px); width: 100%; text-align: center; padding: 64px 48px;}


.footer {background-color: var(--black); color: var(--vistawhite); padding: 160px 0 0;}
.form-part {max-width: 635px; width: 100%; margin: 0 auto 208px;}
.form-title {text-align: center; line-height: 32px; letter-spacing: 0.84px; font-weight: 700; margin-bottom: 32px; color: var(--white); font-family: var(--body-font);}
.form-field {margin-bottom: 16px;}
.form-field #phone {text-align: right;}
.form-field label {font-size: 14px; line-height: 16px; font-weight: 700; margin-right: 10px;}
.form-field:hover input, .form-field input:focus {background-color: var(--dark-grey); border-bottom: 1.5px solid var(--blue);}
.form-consents { padding-right: 25px; margin-top: 32px;}
.checkbox-field {align-items: flex-start; display: flex; gap: 16px; justify-content: flex-end; margin-bottom: 16px;}
.checkbox-field .checkbox {position: relative;}
.checkbox-field input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0;}
.checkbox-field .checkmark { position: absolute; top: 0; left: 0; height: 24px; width: 24px; border: 1.5px solid var(--color-mercury); cursor: pointer;}
.checkbox-field input:checked ~ .checkmark { background-color: var(--color-mercury); }
.checkbox-field span { font-size: 14px; line-height: 1.4; text-align: right; }
.checkbox-field .checkmark:after { content: ""; position: absolute; display: none; left: 8px; top: 5px; width: 7px; height: 10px; border: solid var(--little-black); border-width: 0 3px 3px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}
.checkbox-field input:checked ~ .checkmark:after { display: block; }

.form-action-part {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-top: 31px;}
.form-action-part .action-left { max-width: 335px; width: 100%; display: flex; align-items: center; gap: 26px;}

.thankyou-msg {text-align: center;}
.thankyou-msg .thankyou-image {margin-bottom: 30px;}
.thankyou-msg h2 {font-size: 26px; line-height: 32px; color: #fff; letter-spacing: 6.5px; margin-bottom:20px;}
.thankyou-msg .action-left {margin-top: 130px; display: flex; justify-content: center; align-items: center; gap: 30px;}

.form-field.field-error input {position: relative; background-color: rgba(255,0,51,0.10); border-bottom: 1.5px solid #F44336;}
.form-field.field-error:after {content:''; position: absolute; bottom:16px; left:16px; width:16px; height: 16px; background-image: url('../images/form-error-icon.svg');}

.field-error input::-webkit-input-placeholder {color:#F44336;opacity:1;}
.field-error input:-moz-placeholder {color:#F44336; opacity:1;}
.field-error input::-moz-placeholder {color: #F44336; opacity:1;}
.field-error input:-ms-input-placeholder {color:#F44336;opacity:1;}
.field-error textarea::-webkit-input-placeholder {color:#F44336; opacity:1;}
.field-error textarea:-moz-placeholder {color:#F44336; opacity:1;}
.field-error textarea::-moz-placeholder {color:#F44336; opacity:1;}
.field-error textarea:-ms-input-placeholder {color:#F44336;opacity:1;}


/* ── Architects page (new design — Figma 596:4000) ─────────────────── */
.architects-page { background-color: var(--white); }

/* Architects sections (DEVELOPER + DBLK + Pitsou): desert-storm bg */
.architects-page .architects-section { background-color: var(--color-desert-storm); padding: 160px 0; }
.architects-page .architects-section + .architects-section { padding-top: 0; }

/* Section label (DEVELOPER / ARCHITECTS) */
.architects-page .section-label { text-align: center; font-family: var(--heading-font); font-size: 22px; letter-spacing: 12.5px; line-height: 32px; text-transform: uppercase; color: var(--black); font-weight: 700; margin: 0 0 56px; }
.architects-page .container { max-width: 1232px; }

/* Developer (Israel Canada) card */
.developer-card { background: var(--white); min-height: 512px; padding: 64px 48px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; }
.developer-card .developer-logo { max-width: 416px; width: 100%; height: auto; display: block; }
.developer-card .developer-logo.mobile { display: none; }
.developer-card p { font-size: 16px; line-height: 32px; letter-spacing: 0.84px; max-width: 932px; margin: 0; font-weight: 300; }

/* Architect row (DBLK / Pitsou): white card LEFT, portrait RIGHT */
.architect-row { display: flex; align-items: stretch; justify-content: space-between; gap: 0; height: 648px; direction: ltr; }
.architect-info { background: var(--white); width: 592px; flex-shrink: 0; padding: 64px 48px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 24px; }
.architect-info .architect-logo { max-width: 116px; width: 116px; margin: 0; }
.architect-info p { font-size: 16px; line-height: 32px; letter-spacing: 0.84px; margin: 0; font-weight: 300; text-align: center; }
.architect-portrait { width: 592px; flex-shrink: 0; line-height: 0; overflow: hidden; position: relative; }
.architect-portrait img { width: 100%; height: 100%; object-fit: cover; }

/* Quote section: white bg between architect sections */
.architects-quote { background-color: var(--white); padding: 160px 0; }
.architects-quote .container { max-width: 1440px; }
.architects-quote .testimonial-inner { display: flex; align-items: center; justify-content: center; gap: 120px; flex-wrap: nowrap; flex-direction: row-reverse; direction: ltr; }
.architects-quote .testimonial-left { max-width: 712px; width: 712px; flex-shrink: 0; }
.architects-quote .testimonial-right { max-width: 608px; width: 608px; flex-shrink: 0; padding: 0; display: flex; align-items: center; justify-content: center; }
.architects-quote .testimonial-img { padding-top: 95.5%; }
.architects-quote .testimonial-img img { filter: none; }
.architects-quote .testimonial-box { max-width: 388px; padding: 64px 0; font-size: 14px; line-height: 24px; letter-spacing: 2px; }
.architects-quote .testimonial-box h2 { font-family: var(--heading-font); font-size: 28px; line-height: 32px; font-weight: 400; letter-spacing: 0; margin-bottom: 40px; }
.architects-quote .testimonial-box p { font-size: 14px; line-height: 24px; letter-spacing: 2px; text-transform: uppercase; }
.architects-quote .quote-caption { text-align: left; font-size: 14px; line-height: 24px; letter-spacing: 2px; color: var(--black); text-transform: uppercase; margin-top: 8px; font-weight: 300; }

/* Hebrew (RTL): keep centered layout, but ensure paragraph text flows RTL */
html[dir="rtl"] .architects-page .developer-card p,
html[dir="rtl"] .architects-page .architect-info p {
    direction: rtl;
    unicode-bidi: plaintext;
    text-align: center;
}
html[dir="rtl"] .architects-page .architect-info { align-items: center; text-align: center; }
html[dir="rtl"] .architects-page .architects-quote .quote-caption { text-align: center; }

/* ── Tablet ──────────────────────────────────────────────────────── */
@media only screen and (max-width: 1399px) {
    .architects-page .architects-section { padding: 120px 0; }
    .architects-quote { padding: 120px 0; }
    .architect-row { height: auto; min-height: 560px; }
    .architect-info, .architect-portrait { width: 50%; }
    .architects-quote .testimonial-inner { gap: 80px; }
    .architects-quote .testimonial-left, .architects-quote .testimonial-right { max-width: calc(50% - 40px); width: auto; }
}

@media only screen and (max-width: 991px) {
    .architects-page .architects-section { padding: 80px 24px; }
    .architects-page .section-label { font-size: 18px; letter-spacing: 9px; margin-bottom: 40px; }
    .architects-quote { padding: 80px 24px; }
    .developer-card { min-height: 0; padding: 48px 32px; }
    .architect-row { flex-direction: column-reverse; height: auto; min-height: 0; gap: 0; }
    .architect-info { width: 100%; padding: 48px 32px; }
    .architect-portrait { width: 100%; aspect-ratio: 4/3; height: auto; }
    .architect-portrait img { position: absolute; inset: 0; }
    .architects-quote .testimonial-inner { flex-direction: column-reverse; gap: 64px; }
    .architects-quote .testimonial-left, .architects-quote .testimonial-right { max-width: 100%; width: 100%; }
    .architects-quote .testimonial-box { padding: 96px 0 80px; max-width: 100%; }
    .architects-quote .testimonial-box h2 { font-size: 22px; line-height: 32px; margin-bottom: 56px; }
}

@media only screen and (max-width: 767px) {
    .architects-page .architects-section { padding: 64px 16px; }
    .architects-page > .architects-section:first-of-type { padding-top: 120px; }
    .architects-page .section-label { font-size: 16px; letter-spacing: 7px; margin-bottom: 32px; }
    .architects-quote { padding: 64px 16px; }
    .developer-card { padding: 40px 24px; gap: 16px; }
    .developer-card .developer-logo.desktop { display: none; }
    .developer-card .developer-logo.mobile { display: block; max-width: 200px; }
    .developer-card p { font-size: 14px; line-height: 26px; }
    .architect-info { padding: 32px 24px; gap: 16px; }
    .architect-info .architect-logo { max-width: 90px; width: 90px; }
    .architect-info p { font-size: 14px; line-height: 26px; }
    .architects-quote .testimonial-box h2 { font-size: 20px; line-height: 26px; }
}

.copyright {display: flex; padding:10px 26px 10px 24px; justify-content: space-between; align-items: center;}
.copy-text {display: flex; gap: 24px; font-size: 14px; line-height: 32px; letter-spacing: 0.84px; max-width: calc(100% - 230px); width: 100%;}
.copy-text p {margin-bottom: 0;}
.copy-brand {font-size: 12px; line-height: 16px; letter-spacing: -0.16px; display: flex; align-items: center; max-width: 200px; width: 100%;}
.copy-brand a {position: relative; padding: 0 8px;}
.copy-brand a {text-decoration: none;}
.copy-brand a:after {content: ''; position: absolute; top:0; right: 0; width: 1px; height: 13px; background-color: var(--color-mercury);}
.copy-brand a:first-child:after {display: none;}
