:root{
  --navy:#0A192F;
  --beige:#EDE6D8;
  --gold:#C5A059;
  --gold-ink:#8a6722;   /* deeper gold for readable text on light backgrounds */
  --cream:#F5F0E8;
  --charcoal:#333333;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Jost', system-ui, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --maxw:1280px;
  /* Stone texture: real plaster photo (soft mottle) + fine SVG grain for crispness */
  --grain-soft:url("assets/texture/stone.png");
  --grain-fine:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='200'%3E%3Cfilter%20id='f'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23f)'/%3E%3C/svg%3E");
}

/* Hebrew: single clean sans (Assistant) for headings and body alike */
html[lang="he"]{
  --serif:'Assistant', system-ui, sans-serif;
  --sans:'Assistant', system-ui, sans-serif;
}
html[lang="he"] h1,html[lang="he"] h2,html[lang="he"] h3{font-weight:600;letter-spacing:0}
html[lang="he"] .hero__title{font-weight:600}
html[lang="he"] body{font-weight:400}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
section[id]{scroll-margin-top:84px}
body{
  font-family:var(--sans);
  color:var(--charcoal);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;color:var(--navy);letter-spacing:.01em;text-wrap:balance}
h2{font-size:clamp(2rem,4.2vw,3.6rem)}

.eyebrow{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:.72rem;
  font-weight:500;
  color:var(--gold-ink);
  margin-bottom:1.1rem;
}
html[lang="he"] .eyebrow{letter-spacing:.12em}

/* Buttons — sliding-fill micro-interaction */
.btn{
  position:relative;z-index:0;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.05rem 2.5rem;
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  border:1px solid transparent;
  cursor:pointer;
  transition:color .45s var(--ease),border-color .45s var(--ease);
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  transform:scaleY(0);transform-origin:bottom center;
  transition:transform .5s var(--ease);
}
.btn:hover::before{transform:scaleY(1)}
html[lang="he"] .btn{letter-spacing:.03em;font-size:.92rem}
.btn--gold{background:var(--gold);color:var(--navy)}
.btn--gold::before{background:var(--navy)}
.btn--gold:hover{color:var(--cream)}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn--ghost::before{background:#fff}
.btn--ghost:hover{color:var(--navy);border-color:#fff}
.btn--dark{background:var(--navy);color:var(--cream)}
.btn--dark::before{background:var(--gold)}
.btn--dark:hover{color:var(--navy)}
.btn--full{width:100%}
/* optional trailing arrow that nudges on hover */
.btn--arrow::after{content:"→";font-size:1em;line-height:1;transition:transform .45s var(--ease);display:inline-block}
html[dir="rtl"] .btn--arrow::after{content:"←"}
.btn--arrow:hover::after{transform:translateX(5px)}
html[dir="rtl"] .btn--arrow:hover::after{transform:translateX(-5px)}

/* Stone texture overlay (subtle, behind nothing — sits over section, ignores pointer) */
.grain{position:relative}
.grain::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--grain-fine), var(--grain-soft);
  background-size:180px 180px, 820px auto;
  background-repeat:repeat, repeat;
  mix-blend-mode:soft-light;   /* preserves section color, adds only gentle mottle */
  opacity:.6;
}
.grain > *{position:relative;z-index:1}
/* Navy sections: slightly stronger so the stone reads against deep colour */
.grain--dark::before{opacity:.85}

/* Navigation */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease);
  padding:1.6rem 0;
}
.nav__inner{
  position:relative;z-index:1;
  max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.4rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.nav__logo{position:relative;display:inline-flex;align-items:center;line-height:0}
.nav__logo-img{height:48px;width:auto;display:block;transition:opacity .4s var(--ease)}
.nav__logo-img--navy{position:absolute;inset:0;opacity:0}
.nav.scrolled .nav__logo-img--white{opacity:0}
.nav.scrolled .nav__logo-img--navy{opacity:1}
/* light "glint" that sweeps across the logo (left → right), clipped to the wordmark shape */
.nav__logo::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,
    transparent 42%,
    rgba(255,247,225,0.85) 48%,
    rgba(255,255,255,0.98) 50%,
    rgba(255,247,225,0.85) 52%,
    transparent 58%);
  background-size:260% 100%;
  background-position:170% 0;
  -webkit-mask:url("assets/logo-navy.png?v=2") center / contain no-repeat;
  mask:url("assets/logo-navy.png?v=2") center / contain no-repeat;
}
@keyframes logoShine{
  0%{opacity:0;background-position:170% 0}
  14%{opacity:1}
  82%{opacity:1}
  100%{opacity:0;background-position:-70% 0}
}
/* small sparkle that twinkles on the final "s" of Kleros */
.nav__logo::before{
  content:"";position:absolute;z-index:4;pointer-events:none;
  top:34%;right:12px;width:13px;height:13px;opacity:0;transform:scale(0);
  background:radial-gradient(circle, #ffffff 0%, rgba(255,247,225,0.9) 32%, rgba(255,247,225,0) 70%);
  clip-path:polygon(50% 0%,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0% 50%,42% 42%);
}
@keyframes logoSparkle{
  0%,70%{opacity:0;transform:scale(0) rotate(0deg)}
  84%{opacity:1;transform:scale(1.15) rotate(20deg)}
  100%{opacity:0;transform:scale(0.4) rotate(40deg)}
}
.nav__logo:hover::after,
.nav__logo.shine::after{animation:logoShine 1.5s cubic-bezier(.4,0,.2,1)}
.nav__logo:hover::before,
.nav__logo.shine::before{animation:logoSparkle 1.5s ease-out}
@media(prefers-reduced-motion:reduce){
  .nav__logo:hover::after,.nav__logo.shine::after,
  .nav__logo:hover::before,.nav__logo.shine::before{animation:none}
}
.nav__links{display:flex;gap:2.4rem}
.nav__links a{
  color:rgba(255,255,255,.9);font-size:.82rem;letter-spacing:.14em;
  text-transform:uppercase;position:relative;transition:color .3s;
}
html[lang="he"] .nav__links a{letter-spacing:.02em;font-size:.95rem;text-transform:none}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;
  background:var(--gold);transition:width .35s var(--ease);
}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{width:100%}
.nav__actions{display:flex;align-items:center;gap:1.2rem}
.lang-toggle{
  background:none;border:1px solid rgba(255,255,255,.45);color:#fff;
  padding:.45rem .8rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;
  cursor:pointer;transition:all .3s;display:flex;gap:.25rem;
}
.lang-toggle:hover{border-color:var(--gold);color:var(--gold)}
.lang-toggle__sep{opacity:.5}
.lang-toggle .lang-toggle__en,.lang-toggle .lang-toggle__he{transition:opacity .3s}
html[lang="en"] .lang-toggle__he{opacity:.5}
html[lang="he"] .lang-toggle__en{opacity:.5}

/* Scrolled state */
.nav.scrolled{background:var(--cream);padding:1rem 0;box-shadow:0 1px 0 rgba(10,25,47,.08)}
.nav.scrolled .nav__logo{color:var(--navy)}
.nav.scrolled .nav__links a{color:var(--charcoal)}
.nav.scrolled .lang-toggle{border-color:rgba(10,25,47,.3);color:var(--navy)}
.nav.scrolled .lang-toggle:hover{border-color:var(--gold-ink);color:var(--gold-ink)}
.nav.scrolled .nav__burger span{background:var(--navy)}

.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav__burger span{display:block;width:24px;height:2px;background:#fff;transition:.3s}

/* Hero */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-1}
.hero__media img{transform:scale(1.08);animation:heroZoom 14s ease-out forwards}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.hero__hint{
  position:absolute;bottom:2.4rem;right:clamp(1.4rem,4vw,3rem);z-index:2;
  color:rgba(255,255,255,.6);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  display:flex;align-items:center;gap:.6rem;pointer-events:none;
  animation:hintPulse 3s ease-in-out infinite;
}
html[dir="rtl"] .hero__hint{right:auto;left:clamp(1.4rem,4vw,3rem);letter-spacing:.06em}
.hero__hint::before{content:"";width:30px;height:1px;background:var(--gold)}
@keyframes hintPulse{0%,100%{opacity:.45}50%{opacity:.9}}
@keyframes heroZoom{to{transform:scale(1)}}
/* Mobile swipe hint */
.hero__swipe{
  display:none;flex-direction:column;align-items:center;gap:.65rem;
  width:100%;margin-top:1.8rem;pointer-events:none;
  animation:swipeFadeIn .9s 2.8s both,swipeAutoHide .8s 10s forwards
}
.hero__swipe-track{
  position:relative;width:60px;height:1.5px;
  background:rgba(255,255,255,.2);border-radius:1px
}
.hero__swipe-dot{
  position:absolute;top:50%;left:0;
  width:11px;height:11px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 9px rgba(197,160,89,.55);
  transform:translateY(-50%);
  animation:swipeDot 2.3s 2.8s ease-in-out infinite
}
.hero__swipe-label{
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.48);font-family:var(--sans)
}
html[dir="rtl"] .hero__swipe-label{letter-spacing:.06em}
html[dir="rtl"] .hero__swipe-dot{left:auto;right:0;animation-name:swipeDotRtl}
@keyframes swipeFadeIn{from{opacity:0}to{opacity:1}}
@keyframes swipeAutoHide{to{opacity:0}}
@keyframes swipeDot{
  0%  {transform:translateY(-50%) translateX(0);opacity:1}
  42% {transform:translateY(-50%) translateX(49px);opacity:.65}
  56% {transform:translateY(-50%) translateX(49px);opacity:0}
  57% {transform:translateY(-50%) translateX(0);opacity:0}
  73% {transform:translateY(-50%) translateX(0);opacity:1}
  100%{transform:translateY(-50%) translateX(0);opacity:1}
}
@keyframes swipeDotRtl{
  0%  {transform:translateY(-50%) translateX(0);opacity:1}
  42% {transform:translateY(-50%) translateX(-49px);opacity:.65}
  56% {transform:translateY(-50%) translateX(-49px);opacity:0}
  57% {transform:translateY(-50%) translateX(0);opacity:0}
  73% {transform:translateY(-50%) translateX(0);opacity:1}
  100%{transform:translateY(-50%) translateX(0);opacity:1}
}
.hero__swipe--show{display:flex}
.hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(10,25,47,.72) 0%,rgba(10,25,47,.35) 55%,rgba(10,25,47,.15) 100%);
}
.hero__content{
  max-width:var(--maxw);width:100%;margin:0 auto;padding:0 clamp(1.4rem,4vw,3rem);
}
.hero__eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.34em;font-size:.78rem;margin-bottom:1.1rem}
html[lang="he"] .hero__eyebrow{letter-spacing:.12em}
.hero__title{color:#fff;font-size:clamp(2.6rem,5.6vw,5.6rem);line-height:1.04;font-weight:500;margin-bottom:1.2rem;letter-spacing:.01em;text-wrap:balance}
.hero__sub{color:rgba(255,255,255,.82);font-size:clamp(1rem,1.5vw,1.25rem);max-width:540px;margin-bottom:2.2rem;font-weight:300}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero__scroll{
  position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  color:rgba(255,255,255,.7);font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;
}
.hero__scroll i{width:1px;height:46px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-46px;left:0;width:1px;height:46px;background:var(--gold);animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{0%{top:-46px}60%,100%{top:46px}}

/* Sections shared */
section{position:relative}
.section-head{text-align:center;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.4rem,4vw,3rem) clamp(2.5rem,5vw,4rem)}
.section-head--light .eyebrow{color:var(--gold)}
.section-head--light h2{color:var(--cream)}
.section-head__sub{
  max-width:54ch;margin:1.5rem auto 0;color:#5a564e;font-weight:300;
  font-size:clamp(1rem,1.05vw,1.12rem);line-height:1.75;
}
html[lang="he"] .section-head__sub{font-weight:400}
.section-head--light .section-head__sub{color:rgba(245,240,232,.72)}

/* About - full-bleed split: cinematic video fills one half, text the other */
.about{padding:0;overflow:clip}
.about__grid{max-width:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:100vh}
.about__text{position:relative;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5.5rem)}
.about__text h2{margin-bottom:1.4rem;max-width:18ch;font-size:clamp(2.2rem,4vw,3.4rem)}
.about__text p{margin-bottom:1.3rem;color:#46443f;max-width:46ch;font-size:clamp(1.04rem,1.15vw,1.2rem);line-height:1.85}

/* Cinematic brand-video media - fills its half edge to edge, full height */
.about__media{position:relative;min-height:100vh;overflow:hidden}
.about__video{position:absolute;inset:0;overflow:hidden}
.about__video-el{width:100%;height:100%;object-fit:cover;display:block}
/* gentle bottom scrim for depth where the video meets the fold */
.about__media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,25,47,.10) 0%,rgba(10,25,47,0) 22%,rgba(10,25,47,0) 70%,rgba(10,25,47,.22) 100%)}
.about__frame{display:none}

.stats{display:flex;gap:2.6rem;margin-top:2.8rem;flex-wrap:wrap}
.stat{display:flex;flex-direction:column}
.stat__num{font-family:var(--serif);font-size:3rem;color:var(--navy);line-height:1}
.stat__num::after{content:"+";color:var(--gold-ink)}
.stat__label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#7d7a73;margin-top:.55rem}

/* ===== Greek-key meander ornament (navy) ===== */
:root{
  --meander:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%3E%3Cpath%20d='M0%2018%20H20%20M0%202%20H20%20M4%2018%20V6%20H14%20V14%20H9%20V10%20H11'%20fill='none'%20stroke='%230A192F'%20stroke-width='1.5'%20stroke-linecap='square'/%3E%3C/svg%3E");
  --meander-light:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%3E%3Cpath%20d='M0%2018%20H20%20M0%202%20H20%20M4%2018%20V6%20H14%20V14%20H9%20V10%20H11'%20fill='none'%20stroke='%23EDE6D8'%20stroke-width='1.5'%20stroke-linecap='square'/%3E%3C/svg%3E");
  /* vertical meander (rails run vertically, keys interlock sideways) */
  --meander-v:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%3E%3Cpath%20d='M18%200%20V20%20M2%200%20V20%20M18%204%20H6%20V14%20H14%20V9%20H10%20V11'%20fill='none'%20stroke='%230A192F'%20stroke-width='1.5'%20stroke-linecap='square'/%3E%3C/svg%3E");
}
.gk{
  display:block;height:20px;width:104px;
  background-image:var(--meander);background-size:20px 20px;
  background-repeat:repeat-x;background-position:center;
  opacity:.8;
}
/* centered meander topper above section titles */
.section-head::before{
  content:"";display:block;height:20px;width:104px;margin:0 auto 1.6rem;
  background-image:var(--meander);background-size:20px 20px;
  background-repeat:repeat-x;background-position:center;opacity:.8;
}
.section-head--light::before{background-image:var(--meander-light);opacity:.55}

/* Properties */
.properties{padding:clamp(5rem,11vw,9rem) clamp(1.4rem,4vw,3rem);background:var(--beige)}
.props{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.prop{background:var(--cream);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.prop:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(10,25,47,.4)}
.prop__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.prop__media img{transition:transform 1s var(--ease)}
.prop:hover .prop__media img{transform:scale(1.08)}
.prop__tag{
  position:absolute;top:1rem;left:1rem;background:var(--navy);color:var(--cream);
  font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;padding:.42rem .8rem;
}
html[dir="rtl"] .prop__tag{left:auto;right:1rem}
/* flagship "Now Introducing" tag - gold, to mark the first collection */
.prop__tag--intro{background:var(--gold);color:var(--navy);font-weight:600;z-index:3}
.prop__body{padding:1.8rem}
.prop__loc{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:.5rem}
.prop__name{font-size:1.6rem;margin-bottom:1rem}
.prop__use{font-size:.82rem;color:var(--gold-ink);margin:-.55rem 0 1.05rem;line-height:1.5}
.prop__meta{display:flex;gap:1.4rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(10,25,47,.12);margin-bottom:1.1rem;flex-wrap:nowrap}
.prop__meta span{font-size:.82rem;color:#666;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;flex-shrink:0}
html[lang="he"] .prop__meta{gap:.9rem}
html[lang="he"] .prop__meta span{font-size:.78rem}
.prop__meta svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.prop__meta b{color:var(--navy);font-weight:500}
.prop__meta i{font-style:normal}
.prop__price{font-family:var(--serif);font-size:1.5rem;color:var(--navy)}
.properties__cta{text-align:center;margin-top:3.4rem}

/* Locations */
.locations{padding:clamp(5rem,11vw,9rem) clamp(1.4rem,4vw,3rem)}

/* Interactive map of Greece — two-column with synced destination list */
.geo{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.3fr .85fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.geo__map{position:relative;width:100%;max-width:600px;margin:0 auto;aspect-ratio:1/1}
.geo__map::before{content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 50% 46%, rgba(197,160,89,.16), rgba(197,160,89,0) 62%);}
.geo__svg,.geo__svg svg{width:100%;height:100%;display:block;position:relative;z-index:1}
.geo__svg svg{overflow:visible}
.geo__svg svg path{
  fill:rgba(10,25,47,.06);stroke:var(--gold);stroke-width:1.1;
  vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-opacity:.65;
}
.geo.in .geo__svg{animation:geoFade 1.1s var(--ease) both}
@keyframes geoFade{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

.map__pin{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);
  width:34px;height:34px;background:none;border:none;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;z-index:2;
}
.map__dot{
  width:10px;height:10px;border-radius:50%;background:var(--gold);position:relative;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease);
  box-shadow:0 0 0 4px rgba(197,160,89,.16), 0 1px 5px rgba(10,25,47,.45);
}
.map__dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--gold);opacity:0}
.map__pin:hover .map__dot,.map__pin:focus-visible .map__dot,.map__pin.active .map__dot{
  transform:scale(1.5);background:var(--gold-ink);box-shadow:0 0 0 7px rgba(197,160,89,.22), 0 2px 9px rgba(10,25,47,.5);
}
.map__pin.active .map__dot::after{opacity:.5;animation:pinRipple 1.3s var(--ease) infinite}
@keyframes pinRipple{0%{transform:scale(.6);opacity:.6}100%{transform:scale(2);opacity:0}}

.map__popup{
  position:absolute;z-index:5;width:230px;background:var(--cream);
  border:1px solid rgba(10,25,47,.12);box-shadow:0 24px 50px -20px rgba(10,25,47,.45);
  overflow:hidden;pointer-events:none;opacity:0;
  transform:translate(-50%,calc(-100% - 22px));transition:opacity .25s var(--ease);
}
.map__popup.show{opacity:1}
.map__popup-img{height:122px;overflow:hidden}
.map__popup-img img{width:100%;height:100%;object-fit:cover}
.map__popup-body{padding:.85rem 1.05rem 1.05rem}
.map__popup-name{font-family:var(--serif);font-size:1.3rem;color:var(--navy);display:block;line-height:1.1}
.map__popup-count{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);display:block;margin-top:.25rem}
html[lang="he"] .map__popup-count{letter-spacing:.04em}
.map__popup-desc{font-size:.86rem;line-height:1.55;color:#5a564e;margin-top:.55rem;font-weight:300}
html[lang="he"] .map__popup-desc{font-weight:400}

/* synced destination list */
.geo__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.geo__item{
  position:relative;
  width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  background:none;border:none;border-bottom:1px solid rgba(10,25,47,.1);
  padding:.95rem .15rem;cursor:pointer;text-align:left;
  transition:padding .35s var(--ease),border-color .35s var(--ease);
}
/* gold marker that grows beside the active / hovered destination */
.geo__item::before{
  content:"";position:absolute;left:0;top:50%;height:58%;width:2px;background:var(--gold);
  transform:translateY(-50%) scaleY(0);transform-origin:center;
  transition:transform .35s var(--ease);
}
html[dir="rtl"] .geo__item::before{left:auto;right:0}
.geo__item:hover::before,.geo__item.active::before{transform:translateY(-50%) scaleY(1)}
html[dir="rtl"] .geo__item{text-align:right}
.geo__item:hover,.geo__item.active{padding-left:1rem;border-color:var(--gold)}
html[dir="rtl"] .geo__item:hover,html[dir="rtl"] .geo__item.active{padding-left:.15rem;padding-right:1rem}
.geo__item-name{font-family:var(--serif);font-size:1.5rem;color:var(--navy);transition:color .3s var(--ease)}
.geo__item:hover .geo__item-name,.geo__item.active .geo__item-name{color:var(--gold-ink)}
.geo__item-count{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);white-space:nowrap}
html[lang="he"] .geo__item-count{letter-spacing:.03em}

@media(max-width:860px){
  .geo{grid-template-columns:1fr;gap:2.5rem}
  .geo__map{max-width:440px}
  .geo__list{max-width:440px;margin:0 auto;width:100%}
}
@media(max-width:520px){
  .map__popup{width:200px}
  .map__popup-img{height:104px}
  .geo__item-name{font-size:1.3rem}
}

/* Approach */
.approach{background:var(--navy);padding:clamp(3.25rem,6vw,5rem) clamp(1.4rem,4vw,3rem)}
.approach__inner{max-width:var(--maxw);margin:0 auto}
/* tighten the heading block here so the section stays compact / one-screen */
.approach .section-head{padding-bottom:clamp(1.2rem,2.4vw,1.8rem)}
.approach__lead{max-width:58ch;margin:1.2rem auto 0;color:rgba(245,240,232,.8);font-weight:300;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.7;text-align:center}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,5vw,4rem);margin-top:clamp(1.6rem,3vw,2.6rem);position:relative}
.step{color:var(--cream);text-align:center;position:relative;z-index:1;transition:transform .5s var(--ease)}
.step:hover{transform:translateY(-7px)}
.step__num{font-family:var(--serif);font-size:3rem;color:var(--gold);display:block;margin-bottom:1rem;opacity:.85;transition:opacity .4s var(--ease)}
.step__num::after{content:"";display:block;width:30px;height:1px;background:var(--gold);margin:.5rem auto 0;opacity:.55;transition:width .55s var(--ease),opacity .4s}
.step:hover .step__num{opacity:1}
.step:hover .step__num::after{width:56px;opacity:.9}
.step h3{color:var(--cream);font-size:1.7rem;margin-bottom:.9rem}
.step p{color:rgba(245,240,232,.7);font-weight:300;max-width:34ch;margin:0 auto}

/* Testimonials — coverflow carousel */
.testimonials{padding:clamp(5rem,11vw,9rem) clamp(1.4rem,4vw,3rem);background:var(--cream);overflow:hidden}
.testi{max-width:var(--maxw);margin:0 auto;position:relative}
.testi__stage{position:relative;height:380px}
.testi__card{
  position:absolute;top:0;left:50%;width:min(460px,82%);
  background:var(--beige);padding:clamp(2rem,3.2vw,2.8rem);
  display:flex;flex-direction:column;gap:1.4rem;
  transform:translateX(-50%) scale(.84);opacity:0;z-index:1;
  transition:transform .65s var(--ease),opacity .65s var(--ease),box-shadow .65s var(--ease);

}
.testi__card.is-left{opacity:.45;z-index:2}
.testi__card.is-right{opacity:.45;z-index:2}
.testi__card.is-center{
  opacity:1;z-index:3;transform:translateX(-50%) scale(1);
  box-shadow:0 40px 80px -40px rgba(10,25,47,.45);
}
.testi__card.is-center::after{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold)}
html[dir="rtl"] .testi__card.is-center::after{left:auto;right:0}
.testi__quote{width:38px;height:38px;flex-shrink:0;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.testi__card blockquote{font-family:var(--serif);font-size:1.45rem;line-height:1.45;color:var(--navy);font-style:italic;flex:1}
.testi__card figcaption{display:flex;flex-direction:column;gap:.25rem;padding-top:1.2rem;border-top:1px solid rgba(10,25,47,.14)}
.testi__name{font-family:var(--sans);font-weight:500;color:var(--charcoal);letter-spacing:.02em}
.testi__role{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
html[lang="he"] .testi__role{letter-spacing:.04em}

.testi__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:54px;height:54px;border:1px solid rgba(10,25,47,.2);background:var(--cream);
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.testi__nav:hover{background:var(--navy);border-color:var(--navy)}
.testi__nav svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.testi__nav:hover svg{stroke:var(--cream)}
.testi__nav--prev{left:0}
.testi__nav--next{right:0}
html[dir="rtl"] .testi__nav--prev{left:auto;right:0}
html[dir="rtl"] .testi__nav--next{right:auto;left:0}
html[dir="rtl"] .testi__nav svg{transform:scaleX(-1)}

.testi__dots{display:flex;justify-content:center;gap:.7rem;margin-top:2.6rem}
.testi__dots button{
  width:9px;height:9px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(10,25,47,.22);transition:background .3s var(--ease),width .3s var(--ease),border-radius .3s var(--ease);
}
.testi__dots button.active{background:var(--gold);width:26px;border-radius:5px}

/* Contact */
.contact{padding:clamp(5rem,11vw,9rem) clamp(1.4rem,4vw,3rem) clamp(2.5rem,4vw,3.5rem);background:var(--beige)}
.contact__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.contact__text h2{margin-bottom:1.4rem;max-width:16ch}
.contact__text p{color:#555;margin-bottom:2.4rem;max-width:42ch}
.contact__info{list-style:none;display:flex;flex-direction:column;gap:1.3rem}
.contact__info li{display:flex;flex-direction:column;gap:.2rem;border-top:1px solid rgba(10,25,47,.14);padding-top:1.1rem}
.contact__info span:first-child{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.contact__info a,.contact__info li>span:last-child{font-family:var(--serif);font-size:1.4rem;color:var(--navy)}

.contact__form{background:var(--cream);padding:clamp(1.8rem,4vw,3rem)}
.field{position:relative;margin-bottom:1.8rem}
.field input,.field textarea,.field__select{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(10,25,47,.25);
  padding:.7rem 0;font-family:var(--sans);font-size:1rem;color:var(--navy);resize:none;
}
.field input:focus,.field textarea:focus,.field__select:focus{outline:none;border-color:var(--gold)}
.field label{
  position:absolute;left:0;top:.7rem;color:#999;pointer-events:none;
  transition:all .3s var(--ease);font-size:1rem;
}
html[dir="rtl"] .field label{left:auto;right:0}
.field input:focus+label,.field input:valid+label,
.field textarea:focus+label,.field textarea:not(:empty)+label{
  top:-.9rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);
}
/* select (destination + dialing code) — custom underline + gold caret */
.field__select{
  -webkit-appearance:none;appearance:none;cursor:pointer;border-radius:0;
  padding-right:1.6rem;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='8'%3E%3Cpath%20d='M1%201.5L6%206.5L11%201.5'%20fill='none'%20stroke='%238a6722'%20stroke-width='1.6'%20stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .1rem center;
}
html[dir="rtl"] .field__select{padding-right:0;padding-left:1.6rem;background-position:left .1rem center}
.field__select option{color:var(--navy)}
.field__select.is-empty{color:#8a8a8a}  /* placeholder colour before a choice is made */
/* fields whose label always sits in the raised position (they hold a control, not empty text) */
.field--up label{
  top:-.9rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);
}
html[lang="he"] .field--up label{letter-spacing:.04em}
/* phone: country code + number on one line */
.field--phone{display:flex;align-items:flex-end;gap:.8rem}
.field--phone input[type="tel"]{flex:1 1 auto;width:auto;min-width:0;direction:ltr;text-align:left}
html[dir="rtl"] .field--phone input[type="tel"]{text-align:right}

/* custom country-code dropdown (replaces the native select) */
.phone-select{position:relative;flex:0 0 auto}
.phone-select__trigger{
  display:flex;align-items:center;gap:.45rem;min-width:5rem;
  background:transparent;border:none;border-bottom:1px solid rgba(10,25,47,.25);
  padding:.7rem 0;font-family:var(--sans);font-size:1rem;color:var(--navy);
  cursor:pointer;direction:ltr;transition:border-color .3s var(--ease);
}
.phone-select__trigger:hover,.phone-select.open .phone-select__trigger{border-color:var(--gold-ink)}
.phone-select__caret{width:11px;height:7px;flex:0 0 auto;margin-inline-start:auto;fill:none;stroke:var(--gold-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.phone-select.open .phone-select__caret{transform:rotate(180deg)}
.phone-select__panel{
  position:absolute;top:calc(100% + 10px);left:0;z-index:60;
  width:264px;max-width:80vw;background:var(--cream);
  border:1px solid rgba(10,25,47,.12);
  box-shadow:0 26px 54px -22px rgba(10,25,47,.4);
  overflow:hidden;
  animation:phonePanelIn .22s var(--ease);
}
html[dir="rtl"] .phone-select__panel{left:auto;right:0}
@keyframes phonePanelIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.phone-select__search{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.05rem;border-bottom:1px solid rgba(10,25,47,.1)}
.phone-select__search svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#9a9a9a;stroke-width:1.6;stroke-linecap:round}
.phone-select__search input{flex:1;border:none;background:transparent;font-family:var(--sans);font-size:.95rem;color:var(--navy)}
.phone-select__search input:focus{outline:none}
.phone-select__list{list-style:none;max-height:236px;overflow-y:auto;padding:.3rem 0;margin:0}
.phone-select__list li{
  padding:.6rem 1.05rem;font-size:.92rem;color:var(--navy);cursor:pointer;direction:ltr;
  transition:background .15s,color .15s;
}
html[dir="rtl"] .phone-select__list li{text-align:right}
.phone-select__list li:hover,.phone-select__list li.active{background:var(--beige);color:var(--gold-ink)}
.phone-select__list li[aria-selected="true"]{color:var(--gold-ink);font-weight:500}
.phone-select__empty{padding:1rem;text-align:center;color:#999;font-size:.9rem}
.phone-select__list::-webkit-scrollbar{width:8px}
.phone-select__list::-webkit-scrollbar-thumb{background:rgba(10,25,47,.22);border-radius:4px;border:2px solid var(--cream)}
.phone-select__list{scrollbar-width:thin;scrollbar-color:rgba(10,25,47,.22) transparent}

/* custom destination dropdown (full-width, same look, no search) */
.dsel{position:relative;width:100%}
.dsel__trigger{
  display:flex;align-items:center;gap:.5rem;width:100%;
  background:transparent;border:none;border-bottom:1px solid rgba(10,25,47,.25);
  padding:.7rem 0;font-family:var(--sans);font-size:1rem;color:var(--navy);
  cursor:pointer;text-align:left;transition:border-color .3s var(--ease);
}
html[dir="rtl"] .dsel__trigger{text-align:right}
.dsel__trigger:hover,.dsel.open .dsel__trigger{border-color:var(--gold-ink)}
.dsel__value{flex:1;text-align:inherit}
.dsel__value.is-placeholder{color:#8a8a8a}
.dsel__caret{width:11px;height:7px;flex:0 0 auto;fill:none;stroke:var(--gold-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.dsel.open .dsel__caret{transform:rotate(180deg)}
.dsel__panel{
  position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:60;
  background:var(--cream);border:1px solid rgba(10,25,47,.12);
  box-shadow:0 26px 54px -22px rgba(10,25,47,.4);overflow:hidden;
  animation:phonePanelIn .22s var(--ease);
}
.dsel__list{list-style:none;margin:0;padding:.3rem 0;max-height:260px;overflow-y:auto}
.dsel__list li{padding:.7rem 1.05rem;font-size:.95rem;color:var(--navy);cursor:pointer;transition:background .15s,color .15s}
html[dir="rtl"] .dsel__list li{text-align:right}
.dsel__list li:hover,.dsel__list li.active{background:var(--beige);color:var(--gold-ink)}
.dsel__list li[aria-selected="true"]{color:var(--gold-ink);font-weight:500}
.form__success{margin-top:1.2rem;color:var(--navy);font-size:.9rem;display:none}
.form__success.show{display:block}

/* Footer styles defined in the elevation block below */

/* Reveal animation */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.08s}
.reveal:nth-child(3){transition-delay:.16s}

/* Kinetic headings: each word rises into place, staggered */
.kinetic-h.reveal{transform:none}            /* words carry the motion, not the block */
.kw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.kw>span{display:inline-block;transform:translateY(115%);transition:transform .85s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 55ms)}
.reveal.in .kw>span{transform:translateY(0)}

/* RTL tweaks */
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .hero__cta,html[dir="rtl"] .stats,html[dir="rtl"] .prop__meta{flex-direction:row}

/* Responsive */
@media(max-width:980px){
  .about__grid,.contact__grid{grid-template-columns:1fr}
  .about__grid{min-height:0}
  .about__media{order:0;width:100%;min-height:0;height:60vh}
  .about__text{padding:clamp(2.5rem,9vw,3.5rem) clamp(1.4rem,6vw,2rem)}
  /* the "move to explore" cue is a desktop mouse hint - hide it on touch so it never collides with Scroll */
  .hero__hint{display:none}
  .about__badge{width:80px;height:80px}
  .props{grid-template-columns:1fr 1fr}
  .locs{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr;gap:2.4rem}
}
@media(max-width:760px){
  .testi__stage{height:440px}
  .testi__card{width:min(420px,86%)}
  .testi__card.is-left,.testi__card.is-right{opacity:0}
  .testi__nav{width:46px;height:46px}
  .testi__nav--prev{left:-4px}
  .testi__nav--next{right:-4px}
  html[dir="rtl"] .testi__nav--prev{right:-4px}
  html[dir="rtl"] .testi__nav--next{left:-4px}
}
@media(max-width:680px){
  .nav__burger{display:flex}
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;height:100vh;
    background:var(--navy);flex-direction:column;justify-content:center;align-items:center;
    gap:2rem;transform:translateX(100%);transition:transform .5s var(--ease);padding:2rem;
  }
  html[dir="rtl"] .nav__links{inset:0 auto 0 0;transform:translateX(-100%)}
  .nav__links.open{transform:translateX(0)}
  html[dir="rtl"] .nav__links.open{transform:translateX(0)}
  .nav__links a{color:#fff;font-size:1.1rem}
  .props,.locs{grid-template-columns:1fr}
  .hero__cta{flex-direction:column;align-items:flex-start}
  .hero__cta .btn{width:auto}
}

/* ===== Accessibility: visible focus states ===== */
a,button,input,textarea{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.loc:focus-visible,.prop:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:1px;
}
.lang-toggle:focus-visible,.btn:focus-visible{outline-offset:4px}

/* ===== Scroll progress indicator ===== */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:200;
  background:var(--gold);transition:width .1s linear;pointer-events:none;
}

/* ===== Image "curtain" reveal (clip wipe + settle) ===== */
.img-reveal{overflow:hidden}
.img-reveal img,.img-reveal video{
  clip-path:inset(0 0 100% 0);transform:scale(1.16);
  transition:clip-path 1.15s var(--ease),transform 1.5s var(--ease);
}
.img-reveal.in img,.img-reveal.in video{clip-path:inset(0 0 0 0);transform:scale(1)}

/* ===== Property card: hover "view" reveal + name underline ===== */
.prop__media{position:relative}
.prop__view{
  position:absolute;left:50%;bottom:1.4rem;transform:translate(-50%,12px);
  z-index:3;opacity:0;pointer-events:none;
  font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cream);display:inline-flex;align-items:center;gap:.5rem;
  transition:opacity .45s var(--ease),transform .45s var(--ease);
}
html[lang="he"] .prop__view{letter-spacing:.06em;font-size:.82rem}
.prop__view::after{content:"→"}
html[dir="rtl"] .prop__view::after{content:"←"}
.prop__media::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(10,25,47,.55),rgba(10,25,47,0) 55%);
  opacity:0;transition:opacity .45s var(--ease);
}
.prop:hover .prop__media::after{opacity:1}
.prop:hover .prop__view{opacity:1;transform:translate(-50%,0)}
/* thin gold frame that settles in on hover */
.prop__media::before{
  content:"";position:absolute;inset:13px;z-index:3;pointer-events:none;
  border:1px solid rgba(197,160,89,.75);
  opacity:0;transform:scale(1.05);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.prop:hover .prop__media::before{opacity:1;transform:scale(1)}
.prop__name{position:relative;display:inline-block}
.prop__name::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--gold);
  transition:width .5s var(--ease);
}
html[dir="rtl"] .prop__name::after{left:auto;right:0}
.prop:hover .prop__name::after{width:100%}

/* ===== Redesigned footer ===== */
.footer{background:var(--navy);padding:clamp(3.5rem,7vw,6rem) clamp(1.4rem,4vw,3rem) 2.4rem}
.footer__top{
  max-width:var(--maxw);margin:0 auto;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:clamp(2rem,5vw,4rem);
  padding-bottom:3.2rem;border-bottom:1px solid rgba(245,240,232,.14);text-align:left;
}
html[dir="rtl"] .footer__top{text-align:right}
.footer__logo{display:inline-block;line-height:0}
.footer__logo img{height:54px;width:auto}
.footer__tag{
  font-family:var(--sans);font-weight:300;color:var(--gold);
  font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;margin:1.2rem 0 1rem;
}
html[lang="he"] .footer__tag{letter-spacing:.12em;font-size:.9rem}
.footer__blurb{color:rgba(245,240,232,.62);font-weight:300;max-width:30ch;font-size:.95rem;line-height:1.7}
.footer__social{display:flex;gap:1rem;margin-top:1.6rem}
html[dir="rtl"] .footer__social{justify-content:flex-start}
.footer__social a{
  width:40px;height:40px;border:1px solid rgba(245,240,232,.22);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:all .35s var(--ease);
}
.footer__social a:hover{background:var(--gold);border-color:var(--gold)}
.footer__social svg{width:17px;height:17px;fill:none;stroke:rgba(245,240,232,.8);stroke-width:1.5;transition:stroke .35s var(--ease)}
.footer__social a:hover svg{stroke:var(--navy)}
.footer__col h4{
  font-family:var(--sans);font-weight:500;color:var(--cream);
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.4rem;
}
html[lang="he"] .footer__col h4{letter-spacing:.06em;font-size:.95rem}
.footer__col a,.footer__col span{display:block;color:rgba(245,240,232,.62);font-weight:300;margin-bottom:.8rem;transition:color .3s var(--ease);font-size:.95rem}
.footer__col a{position:relative;width:fit-content}
.footer__col a:hover{color:var(--gold)}
.footer__newsletter p{color:rgba(245,240,232,.62);font-weight:300;font-size:.95rem;line-height:1.7;margin-bottom:1.4rem;max-width:34ch}
.footer__form{position:relative;display:flex;align-items:center;border-bottom:1px solid rgba(245,240,232,.28);max-width:320px}
.footer__form input{
  flex:1;background:transparent;border:none;color:var(--cream);
  padding:.7rem 0;font-family:var(--sans);font-size:.95rem;
}
.footer__form input::placeholder{color:rgba(245,240,232,.4)}
.footer__form input:focus{outline:none}
.footer__form button{
  background:none;border:none;color:var(--gold);cursor:pointer;font-size:1.2rem;
  padding:.3rem .2rem;transition:transform .35s var(--ease);line-height:1;
}
.footer__form button::after{content:"→"}
html[dir="rtl"] .footer__form button::after{content:"←"}
.footer__form button:hover{transform:translateX(4px)}
html[dir="rtl"] .footer__form button:hover{transform:translateX(-4px)}
.footer__note{color:var(--gold);font-size:.82rem;margin-top:.9rem;display:none}
.footer__note.show{display:block}
.footer__bottom{
  max-width:var(--maxw);margin:2.2rem auto 0;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;flex-wrap:wrap;
}
.footer__copy{font-size:.78rem;color:rgba(245,240,232,.5);letter-spacing:.04em}
.footer__legal{display:flex;gap:1.6rem}
.footer__legal a{font-size:.78rem;color:rgba(245,240,232,.5);letter-spacing:.06em;transition:color .3s}
.footer__legal a:hover{color:var(--gold)}
@media(max-width:860px){
  .footer__top{grid-template-columns:1fr 1fr;gap:2.6rem 2rem}
  .footer__brand{grid-column:1 / -1}
}
@media(max-width:520px){
  .footer__top{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;align-items:flex-start}
}

/* ===== Section transition dividers (static CSS/SVG) ===== */
/* Greek ashlar masonry, gradient blending one section colour into the next */
/* Greek-key masonry pattern as a faint texture in the scrolled (sticky) nav.
   It fades out in the central band so the logo/links have clear breathing room. */
.nav.scrolled::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='40'%3E%3Cpath%20d='M0%200%20H120%20M0%2020%20H120%20M40%200%20V20%20M80%200%20V20%20M20%2020%20V40%20M60%2020%20V40%20M100%2020%20V40'%20fill='none'%20stroke='%230A192F'%20stroke-width='1.2'%20stroke-opacity='0.5'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:84px 28px;
  background-position:center;
  opacity:.22;
}
/* clear the pattern only behind the words (soft cream halo) — pattern keeps going everywhere else */
.nav.scrolled .nav__links a,
.nav.scrolled .lang-toggle{
  background-color:var(--cream);
  box-shadow:0 0 11px 6px var(--cream);
}
/* logo: tighter halo so it hugs the wordmark like the menu items */
.nav.scrolled .nav__logo{
  background-color:var(--cream);
  box-shadow:0 0 7px 2px var(--cream);
}

/* Footer: the Aegean sea is its own background. A beige wave caps the top
   (the wave IS the divider into the section above); the sea darkens to navy
   behind the columns. Noise overlay dithers the gradient → no banding. */
.footer--sea{
  position:relative;
  padding-top:clamp(23rem,30vw,26rem);
  background-color:var(--navy);
  overflow:hidden;
}
/* the sea photo, desaturated and re-tinted navy so no pink/cyan remains —
   only the monochrome wave shapes survive */
.footer--sea::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("assets/texture/sea.jpg") center 60% / cover no-repeat;
  filter:brightness(0.62) grayscale(1) sepia(1) hue-rotate(178deg) saturate(1.35);
}
/* beige wave cap + smooth eased fade into the navy footer (+ faint dither) */
.footer--sea::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    var(--grain-fine),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1200'%20height='80'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0%200%20H1200%20V46%20C1000%2078%20800%2024%20600%2046%20C400%2074%20200%2022%200%2046%20Z'%20fill='%23EDE6D8'/%3E%3C/svg%3E"),
    linear-gradient(to bottom,
      rgba(10,25,47,0) 56px,
      rgba(10,25,47,0.012) 86px,
      rgba(10,25,47,0.045) 112px,
      rgba(10,25,47,0.097) 136px,
      rgba(10,25,47,0.165) 158px,
      rgba(10,25,47,0.245) 179px,
      rgba(10,25,47,0.336) 200px,
      rgba(10,25,47,0.434) 221px,
      rgba(10,25,47,0.535) 243px,
      rgba(10,25,47,0.635) 266px,
      rgba(10,25,47,0.730) 291px,
      rgba(10,25,47,0.817) 318px,
      rgba(10,25,47,0.891) 349px,
      rgba(10,25,47,0.949) 384px,
      rgba(10,25,47,0.987) 424px,
      var(--navy) 468px);
  background-repeat:repeat, repeat-x, no-repeat;
  background-position:0 0, top center, top center;
  background-size:150px 150px, 1200px auto, 100% 100%;
  background-blend-mode:soft-light, normal, normal;
}
.footer--sea .footer__top,
.footer--sea .footer__bottom{position:relative;z-index:2}

/* ===== Preloader ===== */
.preloader{
  position:fixed;inset:0;z-index:9999;background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .8s var(--ease),visibility .8s var(--ease);
}
.preloader.done{opacity:0;visibility:hidden}
.preloader__inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem}
.preloader__logo{height:54px;width:auto;opacity:0;transform:translateY(10px);animation:plFade .9s var(--ease) .15s forwards}
.preloader__line{display:block;width:0;height:1px;background:var(--gold);animation:plLine 1s var(--ease) .5s forwards}
.preloader__tag{font-family:var(--sans);font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-ink);opacity:0;animation:plFade .8s var(--ease) .95s forwards}
@keyframes plFade{to{opacity:1;transform:none}}
@keyframes plLine{to{width:170px}}

/* ===== Custom cursor (desktop, fine pointer only) ===== */
.cursor,.cursor-dot{display:none}
@media (hover:hover) and (pointer:fine){
  body{cursor:none}
  a,button,.prop,.loc,.testi__nav,.phone-select__trigger,.dsel__trigger,.lang-toggle,.nav__burger,[role="option"]{cursor:none}
  input,textarea{cursor:text}
  .cursor{
    display:block;position:fixed;top:0;left:0;z-index:9990;pointer-events:none;
    width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid var(--gold);border-radius:50%;
    transition:width .28s var(--ease),height .28s var(--ease),margin .28s var(--ease),background-color .28s var(--ease),opacity .3s;
  }
  .cursor.is-hover{width:56px;height:56px;margin:-28px 0 0 -28px;background:rgba(197,160,89,.12)}
  .cursor.is-hidden{opacity:0}
  .cursor-dot{
    display:block;position:fixed;top:0;left:0;z-index:9991;pointer-events:none;
    width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--gold);
    transition:opacity .3s;
  }
  .cursor.is-hover ~ .cursor-dot,.cursor-dot.is-hidden{opacity:0}
}

/* ===== Self-drawing meander divider ===== */
.meander-draw{
  display:block;height:18px;width:0;margin:clamp(2.6rem,6vw,4.6rem) auto;
  background:var(--meander) repeat-x center / 22px 22px;
  transition:width 1.3s var(--ease);overflow:hidden;
}
.meander-draw.in{width:min(420px,62%)}

/* parallax helper */
[data-parallax]{contain:layout style}

/* ===== Accessibility: respect reduced motion ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{opacity:1 !important;transform:none !important}
  .img-reveal img,.img-reveal video{clip-path:none !important;transform:none !important}
  .hero__media img{transform:none !important}
  .hero__scroll i::after{display:none}
  .hero__hint{animation:none;opacity:.6}
  .meander-draw{width:min(420px,62%) !important}
  [data-parallax]{transform:none !important}
  .preloader__logo,.preloader__line,.preloader__tag{animation:none !important;opacity:1 !important;width:170px;transform:none !important}
  body{cursor:auto !important}
  .cursor,.cursor-dot{display:none !important}
}
