/*
Theme Name: Oasis Spa Pandawa
Theme URI: https://pandawavillasbali.com
Author: Custom Build
Description: Кастомная одностраничная тема-лендинг Oasis Spa Pandawa. Вёрстка перенесена из статического HTML в WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: oasis-spa
*/

  :root{
    --clay: #6b5642;
    --clay-dark: #4d3c2c;
    --brown-text: #4f3d39;
    --cream: #f4efe6;
    --ink: #2a2118;
    --line: rgba(244,239,230,0.35);
  }

  *{ margin:0; padding:0; box-sizing:border-box; }

  html,body{
    height:100%;
    font-family:'Jost', sans-serif;
    background:#0d0b08;
    overflow-x:hidden;
    line-height:1.3;
  }

  .hero{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    color:var(--cream);
  }

  .hero__bg{
    position:absolute;
    inset:0;
    background-image:url('assets/img/home.jpg');
    background-size:cover;
    background-position:center;
    transform:scale(1.16);
    animation:bgDrift 26s ease-in-out infinite alternate;
    z-index:0;
  }

  @keyframes bgDrift{
    0%{ transform:scale(1.16); }
    100%{ transform:scale(1.0); }
  }

  .hero__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(180deg, rgba(13,11,8,0.55) 0%, rgba(13,11,8,0.05) 30%, rgba(13,11,8,0.0) 55%, rgba(13,11,8,0.15) 75%, rgba(13,11,8,0.55) 100%);
    pointer-events:none;
  }

  /* subtle light-leak shapes, echoing the soft window-light diagonals in the reference */
  .hero__leak{
    position:absolute;
    inset:0;
    z-index:1;
    opacity:0.35;
    mix-blend-mode:soft-light;
    pointer-events:none;
    background:
      linear-gradient(115deg, transparent 38%, rgba(255,255,255,0.5) 46%, transparent 54%),
      linear-gradient(115deg, transparent 60%, rgba(255,255,255,0.35) 66%, transparent 74%);
    background-size:200% 200%;
    animation:leakDrift 14s ease-in-out infinite alternate;
  }

  @keyframes leakDrift{
    0%{ background-position:0% 0%; }
    100%{ background-position:12% 6%; }
  }

  /* ---------- Header / titles ---------- */
  /* ================= Language switcher ================= */
.langSwitch{
  position:fixed;
  top:clamp(14px, 2.4vw, 28px);
  right:clamp(14px, 2.4vw, 28px);
  z-index:120;
  font-family:'Jost', sans-serif;
}

.langSwitch__current{
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(244,239,230,0.35);
  background:rgba(42,33,24,0.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:var(--cream);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,0.22);
  transition:background 0.25s ease, transform 0.2s ease;
}

.langSwitch__current:hover{ background:rgba(107,86,66,0.85); }
.langSwitch__current:active{ transform:scale(0.96); }

.langSwitch__arrow{
  width:12px;
  height:12px;
  transition:transform 0.25s ease;
}

.langSwitch.is-open .langSwitch__arrow{ transform:rotate(180deg); }

.langSwitch__list{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:160px;
  background:rgba(42,33,24,0.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(244,239,230,0.18);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,0.32);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.langSwitch.is-open .langSwitch__list{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.langSwitch__item{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:10px 16px;
  color:var(--cream);
  text-decoration:none;
  font-size:13px;
  transition:background 0.2s ease;
  white-space:nowrap;
}

.langSwitch__item:hover{ background:rgba(244,239,230,0.1); }

.langSwitch__item-code{
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  min-width:26px;
}

.langSwitch__item-name{
  font-size:12px;
  color:rgba(244,239,230,0.7);
}

@media (max-width:640px){
  .langSwitch__current{ padding:7px 12px; font-size:12px; }
  .langSwitch__item{ padding:9px 14px; font-size:12px; }
}

@media (max-width:380px){
  .langSwitch{ top:10px; right:10px; }
}
  .hero__head{
    position:relative;
    z-index:2;
    text-align:center;
    padding: clamp(28px, 6vh, 64px) 24px clamp(20px, 4vh, 40px);
  }

  .hero__head::before{
    content:"";
    position:absolute;
    inset:0 0 -1px 0;
    background:rgba(255,255,255,0.8);
    z-index:-1;
  }

  .hero__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.14em;
    font-size:clamp(2.1rem, 6.2vw, 4.6rem);
    text-transform:uppercase;
    color:var(--ink);
    opacity:0;
    transform:translateY(18px);
    animation:riseIn 1.1s cubic-bezier(.22,1,.36,1) 0.25s forwards;
  }

  .hero__subtitle{
    margin-top:clamp(10px, 2vh, 18px);
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.08em;
    font-size:clamp(0.72rem, 1.4vw, 1rem);
    text-transform:uppercase;
    line-height:1.3;
    color:var(--brown-text);
    opacity:0;
    transform:translateY(14px);
    animation:riseIn 1.1s cubic-bezier(.22,1,.36,1) 0.55s forwards;
  }

  @keyframes riseIn{
    to{ opacity:1; transform:translateY(0); }
  }

  /* ---------- Bottom info block ---------- */
  .hero__foot{
    position:relative;
    z-index:2;
  }

  .hero__price{
    position:relative;
    z-index:2;
    width:100%;
    background:rgba(76,61,45,0.7);
    opacity:0;
    animation:riseIn 1s cubic-bezier(.22,1,.36,1) 0.9s forwards;
  }

  .hero__price-inner{
    position:relative;
    max-width:1440px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px 28px;
    padding:clamp(16px, 3vh, 26px) clamp(20px, 6vw, 72px);
  }

  .hero__price-desc{
    font-size:clamp(0.85rem, 1.6vw, 1.05rem);
    line-height:1.3;
    font-weight:400;
    max-width:340px;
  }

  .hero__price-value{
    display:flex;
    align-items:baseline;
    gap:10px;
    font-family:'Cormorant Garamond', serif;
  }

  .hero__price-amount{
    font-size:clamp(1.7rem, 4vw, 2.6rem);
    font-weight:500;
    letter-spacing:0.02em;
    white-space:nowrap;
  }

  .hero__price-currency{
    font-family:'Jost', sans-serif;
    font-size:clamp(0.7rem, 1.2vw, 0.85rem);
    letter-spacing:0.12em;
    opacity:0.85;
  }

  .hero__badge{
    position:absolute;
    z-index:3;
    right:clamp(16px, 6vw, 72px);
    bottom:-16px;
    background:var(--clay-dark);
    color:var(--cream);
    padding:8px 20px;
    font-size:clamp(0.75rem, 1.3vw, 0.9rem);
    letter-spacing:0.04em;
    box-shadow:0 8px 20px rgba(0,0,0,0.3);
    opacity:0;
    animation:badgeIn 0.8s cubic-bezier(.22,1,.36,1) 1.3s forwards;
  }

  @keyframes badgeIn{
    from{ opacity:0; transform:translateY(-6px) scale(0.9); }
    to{ opacity:1; transform:translateY(0) scale(1); }
  }

  .hero__tagline{
    position:relative;
    z-index:1;
    width:100%;
    background:rgba(244,239,230,0.7);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    padding:clamp(14px, 2.4vh, 20px) 0;
    opacity:0;
    animation:riseIn 1s ease 1.15s forwards;
  }

  .hero__tagline-inner{
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
    color:var(--ink);
    text-align:center;
    text-transform:uppercase;
    letter-spacing:0.12em;
    font-size:clamp(0.72rem, 1.5vw, 0.95rem);
    font-weight:500;
  }

  /* scroll cue */
  .hero__scroll{
    position:absolute;
    z-index:2;
    left:50%;
    top:50%;
    transform:translate(-50%, 40px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    opacity:0;
    animation:riseIn 1s ease 1.6s forwards;
  }

  .hero__scroll-mouse{
    position:relative;
    width:22px;
    height:36px;
    border:1px solid rgba(255,255,255,0.55);
    border-radius:12px;
  }

  .hero__scroll-mouse::before{
    content:"";
    position:absolute;
    top:7px;
    left:50%;
    width:3px;
    height:7px;
    background:rgba(255,255,255,0.75);
    border-radius:2px;
    transform:translateX(-50%);
    animation:scrollDot 2.2s ease-in-out infinite;
  }

  @keyframes scrollDot{
    0%{ opacity:1; top:6px; }
    70%{ opacity:0; top:18px; }
    100%{ opacity:0; top:6px; }
  }

  @media (max-width: 640px){
    .hero__price-inner{ flex-direction:column; align-items:flex-start; }
    .hero__badge{ position:static; margin-top:10px; box-shadow:none; }
    .hero__price-value{ align-self:flex-end; }
    .hero__scroll{ display:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .hero__bg{ animation:none; transform:scale(1); }
    .hero__leak{ animation:none; }
    .hero__title, .hero__subtitle, .hero__price, .hero__badge, .hero__tagline, .hero__scroll{
      animation:none !important; opacity:1 !important; transform:none !important;
    }
    .hero__scroll-mouse::before{ animation:none; }
  }

  /* ================= Villas section ================= */
  .villas{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 110px) 0;
    overflow:hidden;
  }

  .villas::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:2;
  }

  .villas__grid{
    position:relative;
    z-index:4;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:clamp(36px, 5vw, 80px);
    align-items:stretch;
  }

  .villas__content{
    display:flex;
    flex-direction:column;
    gap:clamp(22px, 3.4vh, 36px);
  }

  .villas__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.4vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .villas__stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(10px, 1.6vw, 16px);
  }

  .villas__stat{
    background:#4f3d39;
    color:var(--cream);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:96px;
    border-radius:10px;
    padding:16px 18px;
    font-size:clamp(0.78rem, 1.05vw, 0.92rem);
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    line-height:1.3;
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .villas__quote{
    background:#644c40;
    color:var(--cream);
    text-align:center;
    border-radius:10px;
    padding:clamp(28px, 4vw, 44px) clamp(24px, 4vw, 40px);
    font-size:clamp(0.88rem, 1.25vw, 1.05rem);
    font-weight:400;
    letter-spacing:0.02em;
    text-transform:uppercase;
    line-height:1.3;
    box-shadow:inset 0 0 26px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .villas__closing h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.02em;
    font-size:clamp(1.5rem, 2.6vw, 2.15rem);
    color:var(--ink);
    margin-bottom:14px;
  }

  .villas__closing-brand{ text-transform:uppercase; }

  .villas__closing p{
    font-size:clamp(1rem, 1.4vw, 1.15rem);
    font-weight:500;
    line-height:1.3;
    color:var(--ink);
  }

  .villas__photos{
    display:flex;
    flex-direction:column;
    gap:clamp(10px, 1.6vw, 18px);
  }

  .villas__photo{
    position:relative;
    flex:1;
    min-height:260px;
    overflow:hidden;
    border-radius:6px;
  }

  .villas__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .villas__photo:hover img{ transform:scale(1.08); }

  /* scroll-reveal, same easing language as the hero */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity 0.9s cubic-bezier(.22,1,.36,1), transform 0.9s cubic-bezier(.22,1,.36,1);
  }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }

  .villas__photos .reveal{ transform:translateY(28px) scale(0.98); }
  .villas__photos .reveal.is-visible{ transform:translateY(0) scale(1); }

  .villas__stats .villas__stat:nth-child(1){ transition-delay:0.05s; }
  .villas__stats .villas__stat:nth-child(2){ transition-delay:0.15s; }
  .villas__stats .villas__stat:nth-child(3){ transition-delay:0.25s; }
  .villas__stats .villas__stat:nth-child(4){ transition-delay:0.35s; }
  .villas__photos .villas__photo:nth-child(1){ transition-delay:0.1s; }
  .villas__photos .villas__photo:nth-child(2){ transition-delay:0.25s; }

  @media (max-width: 900px){
    .villas__grid{ grid-template-columns:1fr; }
    .villas__photo{ min-height:280px; }
  }

  @media (max-width: 480px){
    .villas__stats{ grid-template-columns:1fr; }
    .villas__stat{ min-height:auto; padding:18px; }
  }

  @media (prefers-reduced-motion: reduce){
    .reveal, .villas__photos .reveal{
      transition:none !important; opacity:1 !important; transform:none !important;
    }
    .villas__photo img{ transition:none; }
  }

  /* ================= Concept section (screen 3) ================= */
  .concept{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
  }

  .concept__bg{
    position:absolute;
    inset:0;
    background-image:url('assets/img/photo3.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transform:scale(1.16);
    animation:bgDrift 28s ease-in-out infinite alternate;
    z-index:0;
  }

  .concept__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(13,11,8,0.28) 0%, rgba(13,11,8,0) 22%, rgba(13,11,8,0) 74%, rgba(13,11,8,0.32) 100%);
  }

  .concept__container{
    position:absolute;
    inset:0;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .concept__card{
    position:absolute;
    background:rgba(255,255,255,0.88);
    border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,0.22);
  }

  .concept__card--top{
    top:clamp(24px, 5vh, 56px);
    left:clamp(20px, 6vw, 72px);
    width:min(560px, calc(100% - clamp(40px, 12vw, 144px)));
    padding:clamp(24px, 3.2vw, 40px) clamp(24px, 3.6vw, 44px);
    transition-delay:0.1s;
  }

  .concept__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.5rem, 3vw, 2.35rem);
    line-height:1.3;
    color:var(--ink);
  }

  .concept__subtitle{
    margin-top:clamp(10px, 1.8vh, 16px);
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.75rem, 1.05vw, 0.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .concept__card--bottom{
    left:clamp(20px, 6vw, 72px);
    right:clamp(20px, 6vw, 72px);
    bottom:clamp(24px, 5vh, 56px);
    padding:clamp(18px, 2.6vw, 28px) clamp(24px, 4vw, 44px);
    transition-delay:0.3s;
  }

  .concept__card--bottom p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.95rem, 1.4vw, 1.15rem);
    line-height:1.3;
    color:var(--ink);
  }

  @media (max-width: 640px){
    .concept__card--top{ width:calc(100% - clamp(32px, 12vw, 60px)); }
  }

  @media (prefers-reduced-motion: reduce){
    .concept__bg{ animation:none; transform:scale(1); }
  }

  /* ================= Highlights section (screen 4) ================= */
  .highlights{
    position:relative;
    background:#fff;
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
  }

  .highlights__grid{
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(24px, 3vw, 40px) clamp(16px, 2vw, 24px);
  }

  .highlights__cell{
    display:flex;
    flex-direction:column;
  }

  .highlights__photo{
    position:relative;
    width:100%;
    aspect-ratio:3 / 2;
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .highlights__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .highlights__photo:hover img{ transform:scale(1.08); }

  .highlights__info{
    margin-top:14px;
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(16px, 2.2vw, 22px) clamp(18px, 2.6vw, 24px);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .highlights__info p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.15vw, 1rem);
    line-height:1.3;
    color:rgba(244,239,230,0.92);
  }

  @media (max-width: 640px){
    .highlights__grid{ grid-template-columns:1fr; }
  }

  /* ================= Location section (screen 5) ================= */
  .location{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) 0;
    overflow:hidden;
  }

  .location::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:1;
  }

  .location__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
    display:grid;
    grid-template-columns:0.95fr 1.15fr;
    gap:clamp(28px, 4vw, 56px);
    align-items:start;
  }

  .location__map{
    position:relative;
    width:100%;
    aspect-ratio:1 / 1;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(0,0,0,0.4);
  }

  .location__map img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .location__map::after{
    content:"";
    position:absolute;
    inset:0;
    box-shadow:inset 0 0 50px rgba(0,0,0,0.45);
    pointer-events:none;
  }

  .location__pin{
    position:absolute;
    left:8%;
    top:81%;
    transform:translate(0, -100%);
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:rgba(79,61,57,0.88);
    border:1px solid rgba(255,255,255,0.2);
    border-radius:10px;
    padding:10px 18px 10px 14px;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    white-space:nowrap;
    text-decoration:none;
    cursor:pointer;
    transition:background 0.25s ease, border-color 0.25s ease;
  }

  .location__pin:hover,
  .location__pin:focus-visible{
    background:rgba(79,61,57,1);
    border-color:rgba(255,255,255,0.35);
  }

  .location__pin-preview{
    position:absolute;
    bottom:calc(100% + 12px);
    left:0;
    transform:translateY(6px);
    width:min(320px, 80vw);
    height:220px;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(0,0,0,0.55);
    background:var(--ink);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    z-index:5;
  }

  .location__pin-preview iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
  }

  .location__pin:hover .location__pin-preview,
  .location__pin:focus-visible .location__pin-preview{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .location__pin-dot{
    position:relative;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#e0503c;
    box-shadow:0 0 0 4px rgba(224,80,60,0.25);
    flex-shrink:0;
  }

  .location__pin-dot::after{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:50%;
    border:1px solid rgba(224,80,60,0.5);
    animation:pinPulse 2.6s ease-out infinite;
  }

  @keyframes pinPulse{
    0%{ transform:scale(0.6); opacity:0.9; }
    100%{ transform:scale(1.8); opacity:0; }
  }

  .location__pin-label{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:clamp(0.9rem, 1.5vw, 1.15rem);
    color:var(--cream);
    white-space:nowrap;
  }

  .location__content{
    display:flex;
    flex-direction:column;
    gap:clamp(24px, 3.2vh, 36px);
  }

  .location__head{
    text-align:left;
  }

  .location__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.7rem, 3.2vw, 2.6rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .location__subtitle{
    margin-top:10px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.1em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 1.1vw, 0.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .location__cards{
    display:flex;
    flex-direction:column;
    gap:clamp(12px, 1.8vh, 18px);
  }

  .location__card{
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(16px, 2.2vw, 26px) clamp(18px, 2.6vw, 28px);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .location__card:first-child{
    background:#644c40;
  }

  .location__card h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.05rem, 1.6vw, 1.3rem);
    color:var(--cream);
    margin-bottom:6px;
  }

  .location__card p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    line-height:1.3;
    color:rgba(244,239,230,0.9);
  }

  .location__card--neighbors h4{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.05vw, 0.92rem);
    line-height:1.3;
    color:var(--cream);
    margin-bottom:10px;
  }

  .location__card--neighbors ul{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
  }

  .location__card--neighbors li{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    color:var(--cream);
    padding:6px 14px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.22);
    border-radius:999px;
  }

  .location__footer{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(14px, 2vw, 22px);
    margin-top:clamp(8px, 1.6vh, 16px);
  }

  .location__foot-card{
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(16px, 2.2vw, 24px) clamp(18px, 2.6vw, 26px);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .location__foot-card h4{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.05vw, 0.92rem);
    color:var(--cream);
    padding-bottom:8px;
    margin-bottom:8px;
    border-bottom:1px solid rgba(255,255,255,0.22);
  }

  .location__foot-card p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    line-height:1.3;
    color:rgba(244,239,230,0.9);
  }

  @media (max-width: 900px){
    .location__container{ grid-template-columns:1fr; }
  }

  @media (max-width: 560px){
    .location__footer{ grid-template-columns:1fr; }
    .location__card--neighbors ul{ gap:8px; }
  }

  /* ================= Beaches section (screen 6) ================= */
  .beaches{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .beaches::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:1;
  }

  .beaches__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .beaches__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(32px, 5vh, 56px);
  }

  .beaches__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .beaches__subtitle{
    margin-top:12px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.15vw, 0.95rem);
    line-height:1.3;
    color:var(--ink);
  }

  .beaches__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(28px, 3.6vw, 44px) clamp(24px, 3vw, 40px);
  }

  .beaches__card{
    display:flex;
    flex-direction:column;
  }

  .beaches__photo{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(0,0,0,0.28);
  }

  .beaches__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .beaches__photo:hover img{ transform:scale(1.08); }

  .beaches__badge{
    position:absolute;
    left:16px;
    top:16px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(79,61,57,0.9);
    color:var(--cream);
    border-radius:999px;
    padding:7px 16px 7px 10px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    font-size:clamp(0.78rem, 1.05vw, 0.9rem);
    letter-spacing:0.02em;
    box-shadow:0 8px 20px rgba(0,0,0,0.3);
  }

  .beaches__badge svg{
    width:16px;
    height:16px;
    flex-shrink:0;
  }

  .beaches__info{
    margin-top:14px;
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(16px, 2.2vw, 22px) clamp(18px, 2.6vw, 24px);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .beaches__info h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.1rem, 1.7vw, 1.4rem);
    color:var(--cream);
    margin-bottom:8px;
  }

  .beaches__info p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    line-height:1.3;
    color:rgba(244,239,230,0.92);
  }

  .beaches__info p + p{ margin-top:10px; }

  @media (max-width: 760px){
    .beaches__grid{ grid-template-columns:1fr; }
  }

  /* ================= Paradise beaches section (screen 7) ================= */
  .paradise{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
  }

  .paradise__photo{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .paradise__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.16);
    animation:bgDrift 30s ease-in-out infinite alternate;
  }

  .paradise__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg, rgba(20,16,12,0.55) 0%, rgba(20,16,12,0.15) 42%, rgba(20,16,12,0) 60%);
  }

  .paradise__container{
    position:relative;
    z-index:2;
    height:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
  }

  .paradise__head{
    position:absolute;
    top:clamp(24px, 6vh, 64px);
    left:clamp(20px, 6vw, 72px);
    max-width:420px;
    background:rgba(255,255,255,0.8);
    border-radius:14px;
    padding:clamp(16px, 2.2vw, 24px) clamp(20px, 2.8vw, 28px);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .paradise__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.5rem, 2.6vw, 2.1rem);
    line-height:1.3;
    color:var(--ink);
  }

  .paradise__subtitle{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 1vw, 0.85rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .paradise__list{
    position:absolute;
    top:50%;
    left:clamp(20px, 6vw, 72px);
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    gap:clamp(12px, 1.8vh, 18px);
    max-width:380px;
  }

  .paradise__item{
    background:#4f3d39;
    color:var(--cream);
    border-radius:10px;
    padding:clamp(14px, 1.8vw, 20px) clamp(16px, 2vw, 22px);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.22);
  }

  .paradise__item strong{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:500;
    font-size:clamp(0.9rem, 1.15vw, 1.02rem);
    line-height:1.3;
    margin-bottom:2px;
  }

  .paradise__item span{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.1vw, 0.96rem);
    line-height:1.3;
    color:rgba(244,239,230,0.9);
  }

  .paradise__quote{
    position:absolute;
    left:clamp(20px, 6vw, 72px);
    bottom:clamp(24px, 5vh, 56px);
    max-width:640px;
    background:rgba(255,255,255,0.8);
    color:var(--ink);
    border-radius:14px;
    padding:clamp(16px, 2vw, 22px) clamp(20px, 3vw, 30px);
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.95rem, 1.3vw, 1.1rem);
    line-height:1.3;
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  @media (max-width: 900px){
    .paradise{
      height:auto;
      overflow:visible;
      background:var(--cream);
    }

    .paradise::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:url('assets/img/villas-bg.jpg');
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      z-index:0;
    }

    .paradise__photo{
      position:relative;
      z-index:1;
      width:100%;
      aspect-ratio:4 / 3;
    }

    .paradise__scrim{ display:none; }

    .paradise__container{
      position:relative;
      z-index:1;
      height:auto;
      padding:clamp(24px, 5vh, 40px) clamp(20px, 6vw, 40px);
      display:flex;
      flex-direction:column;
      gap:clamp(14px, 2.2vh, 20px);
    }

    .paradise__head,
    .paradise__list,
    .paradise__quote{
      position:static;
      top:auto;
      left:auto;
      right:auto;
      bottom:auto;
      transform:none;
      max-width:none;
      width:100%;
    }
  }

  @media (prefers-reduced-motion: reduce){
    .paradise__photo img{ animation:none; transform:scale(1); }
  }

  @media (prefers-reduced-motion: reduce){
    .location__pin-dot::after{ animation:none; opacity:0; }
  }

  /* ================= Proximity section (screen 8) ================= */
  .proximity{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .proximity::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .proximity__container{
    position:relative;
    z-index:1;
  }

  .proximity__container{
    max-width:1440px;
    margin:0 auto;
  }

  .proximity__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(32px, 5vh, 56px);
  }

  .proximity__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .proximity__subtitle{
    margin-top:12px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.15vw, 0.95rem);
    line-height:1.3;
    color:var(--ink);
  }

  .proximity__grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:clamp(16px, 2vw, 24px);
  }

  .proximity__card{
    display:flex;
    flex-direction:column;
  }

  .proximity__photo{
    position:relative;
    width:100%;
    aspect-ratio:4 / 3;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 16px 36px rgba(0,0,0,0.25);
  }

  .proximity__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .proximity__photo:hover img{ transform:scale(1.08); }

  .proximity__info{
    margin-top:12px;
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(12px, 1.6vw, 16px) clamp(14px, 1.8vw, 18px);
    text-align:center;
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .proximity__info h3{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    color:var(--cream);
    margin-bottom:4px;
  }

  .proximity__info p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.9rem);
    line-height:1.3;
    color:rgba(244,239,230,0.85);
  }

  @media (max-width: 560px){
    .proximity__grid{ grid-template-columns:1fr; }
  }

  /* ================= Bali Collection section (screen 9) ================= */
  .collection{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .collection::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .collection__container{
    position:relative;
    z-index:1;
    max-width:1440px;
    margin:0 auto;
  }

  .collection__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(32px, 5vh, 56px);
  }

  .collection__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .collection__subtitle{
    margin-top:12px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.15vw, 0.95rem);
    line-height:1.3;
    color:var(--ink);
  }

  .collection__grid{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:clamp(10px, 1.8vw, 20px);
  }

  .collection__cell{
    position:relative;
    aspect-ratio:4 / 3;
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .collection__cell img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .collection__cell:hover img{ transform:scale(1.08); }

  .collection__label{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
    background:rgba(79,61,57,0.72);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    color:var(--cream);
    padding:clamp(12px, 1.6vw, 18px) clamp(16px, 2.2vw, 24px);
    font-family:'Jost', sans-serif;
    font-weight:500;
    font-size:clamp(0.82rem, 1.1vw, 0.98rem);
    line-height:1.35;
  }

  .collection__label--bottom{
    top:auto;
    bottom:0;
  }

  .collection__card{
    position:absolute;
    z-index:3;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:min(340px, calc(100% - clamp(40px, 12vw, 100px)));
    background:rgba(255,255,255,0.95);
    border-radius:16px;
    box-shadow:0 24px 60px rgba(0,0,0,0.3);
    padding:clamp(20px, 2.6vw, 28px) clamp(22px, 3vw, 30px);
    text-align:center;
  }

  .collection__card.reveal{ transform:translate(-50%, -50%) translateY(28px); }
  .collection__card.reveal.is-visible{ transform:translate(-50%, -50%) translateY(0); }

  .collection__card-time{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    font-size:clamp(0.95rem, 1.3vw, 1.1rem);
    color:var(--brown-text);
    margin-bottom:10px;
  }

  .collection__card-time svg{
    width:18px;
    height:18px;
    flex-shrink:0;
  }

  .collection__card p{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    line-height:1.3;
    color:var(--ink);
  }

  @media (max-width: 760px){
    .collection__grid{ grid-template-columns:1fr; grid-template-rows:none; }
    .collection__cell{ aspect-ratio:4 / 3; }
    .collection__card{ position:static; transform:none; width:100%; margin:clamp(16px, 3vh, 24px) 0; }
    .collection__card.reveal{ transform:none; }
    .collection__card.reveal.is-visible{ transform:none; }
  }

  /* ================= Infrastructure section (screen 10) ================= */
  .infrastructure{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
  }

  .infrastructure__photo{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .infrastructure__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.16);
    animation:bgDrift 30s ease-in-out infinite alternate;
  }

  .infrastructure__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(12,10,8,0.45) 0%, rgba(12,10,8,0) 22%, rgba(12,10,8,0.15) 62%, rgba(12,10,8,0.65) 100%);
  }

  .infrastructure__container{
    position:relative;
    z-index:2;
    height:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
  }

  .infrastructure__head{
    position:absolute;
    top:clamp(24px, 6vh, 64px);
    left:clamp(20px, 6vw, 72px);
    max-width:520px;
    background:rgba(255,255,255,0.8);
    border-radius:14px;
    padding:clamp(16px, 2.2vw, 24px) clamp(20px, 2.8vw, 28px);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .infrastructure__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.5rem, 2.8vw, 2.3rem);
    line-height:1.3;
    color:var(--ink);
  }

  .infrastructure__subtitle{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 1vw, 0.85rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .infrastructure__cols{
    position:absolute;
    left:clamp(20px, 6vw, 72px);
    right:clamp(20px, 6vw, 72px);
    bottom:clamp(24px, 5vh, 56px);
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(12px, 1.8vw, 20px);
  }

  .infrastructure__col{
    background:rgba(79,61,57,0.72);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    border-radius:12px;
    padding:clamp(16px, 2vw, 22px) clamp(16px, 2vw, 20px);
    text-align:center;
  }

  .infrastructure__col h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.1rem, 1.6vw, 1.4rem);
    color:var(--cream);
    margin-bottom:8px;
  }

  .infrastructure__col p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.82rem, 1.05vw, 0.94rem);
    line-height:1.3;
    color:rgba(244,239,230,0.92);
  }

  @media (max-width: 900px){
    .infrastructure{
      height:auto;
      overflow:visible;
      background:var(--cream);
    }

    .infrastructure::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:url('assets/img/villas-bg.jpg');
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      z-index:0;
    }

    .infrastructure__photo{
      position:relative;
      z-index:1;
      width:100%;
      aspect-ratio:4 / 3;
    }

    .infrastructure__scrim{ display:none; }

    .infrastructure__container{
      position:relative;
      z-index:1;
      height:auto;
      padding:clamp(24px, 5vh, 40px) clamp(20px, 6vw, 40px);
      display:flex;
      flex-direction:column;
      gap:clamp(14px, 2.2vh, 20px);
    }

    .infrastructure__head,
    .infrastructure__cols{
      position:static;
      top:auto;
      left:auto;
      right:auto;
      bottom:auto;
      max-width:none;
      width:100%;
    }

    .infrastructure__cols{
      grid-template-columns:1fr;
    }
  }

  @media (prefers-reduced-motion: reduce){
    .infrastructure__photo img{ animation:none; transform:scale(1); }
  }

  /* ================= Gastronomy section (screen 11) ================= */
  .gastronomy{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .gastronomy::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .gastronomy__container{
    position:relative;
    z-index:1;
    max-width:1440px;
    margin:0 auto;
  }

  .gastronomy__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(32px, 5vh, 56px);
  }

  .gastronomy__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .gastronomy__subtitle{
    margin-top:12px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.15vw, 0.95rem);
    line-height:1.3;
    color:var(--ink);
  }

  .gastronomy__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(16px, 2vw, 24px);
  }

  .gastronomy__card{
    display:flex;
    flex-direction:column;
  }

  .gastronomy__photo{
    position:relative;
    width:100%;
    aspect-ratio:3 / 2;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 16px 36px rgba(0,0,0,0.25);
  }

  .gastronomy__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .gastronomy__photo:hover img{ transform:scale(1.08); }

  .gastronomy__badge{
    position:absolute;
    top:12px;
    right:12px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:rgba(79,61,57,0.85);
    color:var(--cream);
    border-radius:999px;
    padding:6px 14px 6px 9px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    font-size:clamp(0.72rem, 0.95vw, 0.82rem);
    white-space:nowrap;
  }

  .gastronomy__badge svg{
    width:14px;
    height:14px;
    flex-shrink:0;
  }

  .gastronomy__info{
    margin-top:12px;
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(12px, 1.6vw, 16px) clamp(14px, 1.8vw, 18px);
    text-align:center;
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .gastronomy__info h3{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    color:var(--cream);
    margin-bottom:4px;
  }

  .gastronomy__info p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.9rem);
    line-height:1.3;
    color:rgba(244,239,230,0.85);
  }

  @media (max-width: 900px){
    .gastronomy__grid{ grid-template-columns:1fr 1fr; }
  }

  @media (max-width: 560px){
    .gastronomy__grid{ grid-template-columns:1fr; }
  }

  /* ================= Investment section (screen 12) ================= */
  .investment{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
  }

  .investment__photo{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .investment__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.16);
    animation:bgDrift 32s ease-in-out infinite alternate;
  }

  .investment__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.4) 0%, rgba(10,8,6,0.05) 24%, rgba(10,8,6,0.05) 70%, rgba(10,8,6,0.5) 100%);
  }

  .investment__container{
    position:relative;
    z-index:2;
    height:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
  }

  .investment__head{
    position:absolute;
    top:clamp(24px, 6vh, 56px);
    right:clamp(20px, 6vw, 72px);
    max-width:420px;
    background:rgba(255,255,255,0.85);
    border-radius:14px;
    padding:clamp(16px, 2.2vw, 24px) clamp(20px, 2.8vw, 28px);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .investment__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.4rem, 2.4vw, 2rem);
    line-height:1.3;
    color:var(--ink);
  }

  .investment__subtitle{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 1vw, 0.85rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .investment__stats{
    position:absolute;
    top:50%;
    left:clamp(20px, 6vw, 72px);
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    gap:clamp(12px, 1.8vh, 18px);
    width:min(320px, calc(100% - clamp(40px, 12vw, 144px)));
  }

  .investment__stat{
    background:rgba(79,61,57,0.85);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    border-radius:12px;
    padding:clamp(16px, 2vw, 22px) clamp(18px, 2.2vw, 24px);
    text-align:center;
    box-shadow:0 16px 36px rgba(0,0,0,0.3);
  }

  .investment__stat-label{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 0.95vw, 0.82rem);
    color:rgba(244,239,230,0.85);
  }

  .investment__stat-value{
    display:block;
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(2rem, 3.4vw, 2.7rem);
    line-height:1.2;
    color:var(--cream);
    margin:6px 0;
  }

  .investment__stat-caption{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.75rem, 0.95vw, 0.85rem);
    line-height:1.3;
    color:rgba(244,239,230,0.85);
  }

  .investment__metrics{
    position:absolute;
    top:50%;
    right:clamp(20px, 6vw, 72px);
    transform:translateY(-50%);
    width:min(360px, calc(100% - clamp(40px, 12vw, 144px)));
    background:rgba(255,255,255,0.92);
    border-radius:14px;
    padding:clamp(20px, 2.6vw, 28px) clamp(22px, 2.8vw, 28px);
    box-shadow:0 20px 50px rgba(0,0,0,0.3);
  }

  .investment__metrics h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.05rem, 1.6vw, 1.35rem);
    color:var(--brown-text);
    text-align:center;
    margin-bottom:clamp(14px, 2vh, 20px);
  }

  .investment__metric-main{
    display:flex;
    align-items:center;
    gap:14px;
    padding-bottom:clamp(14px, 2vh, 18px);
    margin-bottom:clamp(14px, 2vh, 18px);
    border-bottom:1px solid rgba(79,61,57,0.18);
  }

  .investment__pie{
    width:36px;
    height:36px;
    border-radius:50%;
    flex-shrink:0;
    background:conic-gradient(var(--clay) 90%, rgba(79,61,57,0.15) 0);
  }

  .investment__metric-main strong{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(1.7rem, 2.6vw, 2.1rem);
    color:var(--ink);
    line-height:1;
  }

  .investment__metric-main p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.88rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .investment__metric-note{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.8rem, 1.05vw, 0.92rem);
    line-height:1.3;
    color:var(--ink);
    text-align:center;
  }

  .investment__compare-heading{
    text-align:center;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(0.68rem, 0.9vw, 0.78rem);
    color:var(--brown-text);
    margin:clamp(16px, 2.2vh, 20px) 0 clamp(12px, 1.6vh, 16px);
    padding-top:clamp(14px, 2vh, 18px);
    border-top:1px solid rgba(79,61,57,0.18);
  }

  .investment__compare{
    display:flex;
    align-items:stretch;
    gap:4px;
  }

  .investment__compare-col{
    text-align:center;
    flex:1;
  }

  .investment__compare-col span{
    display:block;
  }

  .investment__compare-divider{
    position:relative;
    width:1px;
    flex-shrink:0;
    background:rgba(79,61,57,0.2);
    margin:4px 6px;
  }

  .investment__compare-label{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.68rem, 0.9vw, 0.78rem);
    color:var(--brown-text);
    margin-bottom:6px;
  }

  .investment__compare-price{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(1.5rem, 2.4vw, 1.9rem);
    color:var(--ink);
    line-height:1;
  }

  .investment__compare-price sub{
    font-size:0.5em;
  }

  .investment__compare-unit{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.68rem, 0.85vw, 0.75rem);
    color:var(--brown-text);
    margin-top:4px;
  }

  .investment__compare-vs{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    background:var(--clay-dark);
    color:var(--cream);
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:0.62rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:999px;
    white-space:nowrap;
    box-shadow:0 4px 10px rgba(0,0,0,0.25);
  }

  @media (max-width: 1000px){
    .investment__stats{ width:min(280px, calc(100% - clamp(40px, 12vw, 100px))); }
    .investment__metrics{ width:min(320px, calc(100% - clamp(40px, 12vw, 100px))); }
  }

  @media (max-width: 900px){
    .investment{
      height:auto;
      overflow:visible;
      background:var(--cream);
    }

    .investment::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:url('assets/img/villas-bg.jpg');
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      z-index:0;
    }

    .investment__photo{
      position:relative;
      z-index:1;
      width:100%;
      aspect-ratio:4 / 3;
    }

    .investment__scrim{ display:none; }

    .investment__container{
      position:relative;
      z-index:1;
      height:auto;
      padding:clamp(24px, 5vh, 40px) clamp(20px, 6vw, 40px);
      display:flex;
      flex-direction:column;
      gap:clamp(16px, 2.4vh, 22px);
    }

    .investment__head,
    .investment__stats,
    .investment__metrics{
      position:static;
      top:auto;
      left:auto;
      right:auto;
      bottom:auto;
      transform:none;
      max-width:none;
      width:100%;
    }
  }

  @media (prefers-reduced-motion: reduce){
    .investment__photo img{ animation:none; transform:scale(1); }
  }

  /* ================= Project overview section (screen 13) ================= */
  .overview{
    position:relative;
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .overview__bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .overview__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.16);
    animation:bgDrift 32s ease-in-out infinite alternate;
  }

  .overview__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.55) 0%, rgba(10,8,6,0.15) 30%, rgba(10,8,6,0.1) 70%, rgba(10,8,6,0.4) 100%);
  }

  .overview__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .overview__head{
    text-align:center;
    margin-bottom:clamp(32px, 5vh, 56px);
  }

  .overview__eyebrow{
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.3vw, 1.05rem);
    color:var(--cream);
    text-shadow:0 2px 16px rgba(0,0,0,0.4);
  }

  .overview__title{
    margin-top:8px;
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:clamp(2.1rem, 5vw, 3.6rem);
    color:#fff;
    text-shadow:0 4px 24px rgba(0,0,0,0.4);
  }

  .overview__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(14px, 2vw, 24px);
  }

  .overview__card{
    background:rgba(255,255,255,0.95);
    border-radius:14px;
    padding:clamp(16px, 1.8vw, 20px);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
    text-align:center;
  }

  .overview__label{
    background:#4f3d39;
    color:var(--cream);
    border-radius:999px;
    padding:9px 18px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 0.95vw, 0.85rem);
    line-height:1.3;
    display:inline-block;
  }

  .overview__value{
    margin-top:clamp(14px, 2vh, 18px);
    font-family:'Jost', sans-serif;
    font-weight:600;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(1.3rem, 2vw, 1.7rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .overview__note{
    display:block;
    margin-top:4px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    text-transform:none;
    letter-spacing:0;
    font-size:clamp(0.72rem, 0.95vw, 0.82rem);
    color:var(--ink);
    opacity:0.75;
  }

  @media (max-width: 900px){
    .overview__grid{ grid-template-columns:1fr 1fr; }
  }

  @media (max-width: 560px){
    .overview__grid{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .overview__bg img{ animation:none; transform:scale(1); }
  }

  /* ================= Services section (screen 14) ================= */
  .services{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .services::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .services__container{
    position:relative;
    z-index:1;
    max-width:1440px;
    margin:0 auto;
  }

  .services__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(20px, 2.6vw, 32px);
  }

  .services__intro{
    height:100%;
    background:#644c40;
    border-radius:14px;
    padding:clamp(28px, 4vw, 44px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-shadow:inset 0 0 24px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .services__intro h2{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.7rem, 3vw, 2.4rem);
    line-height:1.3;
    color:var(--cream);
    margin-bottom:clamp(16px, 3vh, 28px);
  }

  .services__intro p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.88rem, 1.2vw, 1.02rem);
    line-height:1.3;
    color:rgba(244,239,230,0.9);
  }

  .services__cell{
    display:flex;
    flex-direction:column;
  }

  .services__photo{
    position:relative;
    width:100%;
    aspect-ratio:3 / 2;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(0,0,0,0.28);
  }

  .services__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .services__photo:hover img{ transform:scale(1.08); }

  .services__info{
    margin-top:14px;
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(16px, 2vw, 20px) clamp(18px, 2.2vw, 22px);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .services__info h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.05rem, 1.5vw, 1.25rem);
    color:var(--cream);
    margin-bottom:4px;
  }

  .services__info p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.82rem, 1.05vw, 0.94rem);
    line-height:1.3;
    color:rgba(244,239,230,0.9);
  }

  @media (max-width: 760px){
    .services__grid{ grid-template-columns:1fr; }
    .services__intro{ padding:clamp(24px, 6vw, 36px); }
  }

  /* ================= Activities section (screen 15) ================= */
  .activities{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .activities::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .activities__container{
    position:relative;
    z-index:1;
    max-width:1440px;
    margin:0 auto;
  }

  .activities__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(32px, 5vh, 56px);
  }

  .activities__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .activities__subtitle{
    margin-top:12px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.15vw, 0.95rem);
    line-height:1.3;
    color:var(--ink);
  }

  .activities__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(16px, 2vw, 24px);
  }

  .activities__card{
    display:flex;
    flex-direction:column;
  }

  .activities__photo{
    position:relative;
    width:100%;
    aspect-ratio:4 / 3;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 16px 36px rgba(0,0,0,0.25);
  }

  .activities__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .activities__photo:hover img{ transform:scale(1.08); }

  .activities__info{
    margin-top:12px;
    background:#4f3d39;
    border-radius:10px;
    padding:clamp(12px, 1.6vw, 16px) clamp(14px, 1.8vw, 18px);
    text-align:center;
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .activities__info h3{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.1vw, 0.98rem);
    color:var(--cream);
    margin-bottom:4px;
  }

  .activities__info p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.9rem);
    line-height:1.3;
    color:rgba(244,239,230,0.85);
  }

  @media (max-width: 900px){
    .activities__grid{ grid-template-columns:1fr 1fr; }
  }

  @media (max-width: 560px){
    .activities__grid{ grid-template-columns:1fr; }
  }

  /* ================= Floorplan section (screen 16) ================= */
  .floorplan{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .floorplan::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .floorplan__grid{
    position:relative;
    z-index:1;
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(36px, 5vw, 80px);
    align-items:start;
  }

  .floorplan__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.4vw, 2.7rem);
    line-height:1.3;
    color:var(--brown-text);
    margin-bottom:clamp(18px, 2.6vh, 26px);
  }

  .floorplan__badge{
    display:flex;
    align-items:center;
    gap:18px;
    background:#4f3d39;
    border-radius:14px;
    padding:clamp(18px, 2.6vw, 26px) clamp(22px, 3vw, 30px);
    box-shadow:inset 0 0 24px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
    margin-bottom:clamp(20px, 2.8vh, 28px);
  }

  .floorplan__badge-num{
    display:flex;
    align-items:baseline;
    gap:4px;
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(2.6rem, 4.6vw, 3.6rem);
    color:var(--cream);
    line-height:1;
    flex-shrink:0;
  }

  .floorplan__badge-num span{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.2vw, 1rem);
  }

  .floorplan__badge-text{
    font-family:'Jost', sans-serif;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-size:clamp(0.95rem, 1.3vw, 1.1rem);
    line-height:1.35;
    color:var(--cream);
  }

  .floorplan__lead{
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.8rem, 1.1vw, 0.92rem);
    line-height:1.3;
    color:var(--ink);
    margin-bottom:clamp(24px, 3.4vh, 32px);
  }

  .floorplan__table{
    width:100%;
    border-collapse:collapse;
    background:rgba(255,255,255,0.6);
    border-radius:10px;
    overflow:hidden;
  }

  .floorplan__table th,
  .floorplan__table td{
    padding:clamp(10px, 1.6vh, 14px) clamp(12px, 1.6vw, 18px);
    text-align:left;
    font-family:'Jost', sans-serif;
    font-size:clamp(0.82rem, 1.05vw, 0.95rem);
    color:var(--ink);
    border-bottom:1px solid rgba(79,61,57,0.15);
  }

  .floorplan__table th{
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 0.95vw, 0.85rem);
    color:var(--brown-text);
  }

  .floorplan__table td:last-child,
  .floorplan__table th:last-child{
    text-align:right;
  }

  .floorplan__table td:first-child{
    color:var(--brown-text);
    font-weight:600;
  }

  .floorplan__table tfoot td{
    font-weight:600;
    border-bottom:none;
    padding-top:clamp(14px, 2vh, 18px);
  }

  .floorplan__image{
    background:#fff;
    border-radius:16px;
    padding:clamp(16px, 2vw, 24px);
    box-shadow:0 20px 50px rgba(0,0,0,0.25);
  }

  .floorplan__image img{
    width:100%;
    height:auto;
    display:block;
  }

  @media (max-width: 900px){
    .floorplan__grid{ grid-template-columns:1fr; }
  }

  /* ================= Gallery slider section (screen 17) ================= */
  .gallery{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
    background:#0c0a08;
  }

  .gallery__track{
    position:relative;
    width:100%;
    height:100%;
  }

  .gallery__slide{
    position:absolute;
    inset:0;
    z-index:0;
    opacity:0;
    visibility:hidden;
    transition:opacity 1s ease;
  }

  .gallery__slide.is-active{
    opacity:1;
    visibility:visible;
    z-index:1;
  }

  .gallery__slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.08);
    transition:transform 7s ease;
  }

  .gallery__slide.is-active img{
    transform:scale(1);
  }

  .gallery__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.4) 0%, rgba(10,8,6,0) 30%, rgba(10,8,6,0) 70%, rgba(10,8,6,0.3) 100%);
  }

  .gallery__card{
    position:absolute;
    top:clamp(24px, 6vh, 64px);
    left:clamp(20px, 6vw, 72px);
    z-index:2;
    max-width:min(460px, calc(100% - clamp(40px, 12vw, 144px)));
    background:rgba(255,255,255,0.85);
    border-radius:14px;
    padding:clamp(16px, 2.2vw, 24px) clamp(20px, 2.8vw, 28px);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .gallery__card h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.4rem, 2.6vw, 2.1rem);
    line-height:1.3;
    color:var(--ink);
  }

  .gallery__card p{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 1vw, 0.85rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .gallery__card--label{
    z-index:2;
    pointer-events:none;
  }

  /* ================= Floating circle buttons (scroll-to-top / order / contact) ================= */
  :root{
    --floatBtn-offset: clamp(14px, 2.4vw, 28px);
    --floatBtn-size: clamp(42px, 4.4vw, 52px);
    --floatBtn-gap: 12px;
  }

  .floatBtn{
    position:fixed;
    bottom:var(--floatBtn-offset);
    z-index:80;
    width:var(--floatBtn-size);
    height:var(--floatBtn-size);
    border-radius:50%;
    background:rgba(79,61,57,0.55);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    border:none;
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 26px rgba(0,0,0,0.22);
    opacity:0;
    visibility:hidden;
    transform:translateY(14px);
    transition:opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease, background 0.25s ease;
  }

  .floatBtn.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .floatBtn:hover{
    background:rgba(79,61,57,0.95);
    transform:translateY(0) scale(1.06);
  }

  .floatBtn:active{
    transform:translateY(0) scale(0.96);
  }

  .floatBtn svg{
    width:20px;
    height:20px;
  }

  .scrollTop{ left:var(--floatBtn-offset); }
  .orderBtn{ right:var(--floatBtn-offset); }

  /* Контактные кнопки (WhatsApp / звонок) — появляются при скролле, стопкой над кнопкой чата */
  .whatsappBtn,
  .callBtn{
    right:var(--floatBtn-offset);
  }

  .whatsappBtn{
    bottom:calc(var(--floatBtn-offset) + var(--floatBtn-size) + var(--floatBtn-gap));
    background:rgba(37,151,84,0.85);
  }

  .whatsappBtn:hover{
    background:rgba(37,151,84,1);
  }

  .callBtn{
    bottom:calc(var(--floatBtn-offset) + (var(--floatBtn-size) + var(--floatBtn-gap)) * 2);
  }

  @media (max-width: 640px){
    :root{ --floatBtn-size: 40px; --floatBtn-gap: 10px; }
    .floatBtn{ width:40px; height:40px; }
    .floatBtn svg{ width:17px; height:17px; }
  }

  @media (max-width: 380px){
    :root{ --floatBtn-size: 36px; --floatBtn-gap: 8px; }
    .floatBtn{ width:36px; height:36px; }
    .floatBtn svg{ width:15px; height:15px; }
  }

  @media (prefers-reduced-motion: reduce){
    .floatBtn{ transition:opacity 0.2s ease; }
  }

  .gallery__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    width:clamp(38px, 4vw, 50px);
    height:clamp(38px, 4vw, 50px);
    border-radius:50%;
    background:rgba(79,61,57,0.65);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    border:none;
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background 0.25s ease, transform 0.25s ease;
  }

  .gallery__arrow:hover{
    background:rgba(79,61,57,0.9);
  }

  .gallery__arrow svg{
    width:20px;
    height:20px;
  }

  .gallery__arrow--prev{ left:clamp(12px, 3vw, 32px); }
  .gallery__arrow--next{ right:clamp(12px, 3vw, 32px); }

  .gallery__dots{
    position:absolute;
    bottom:clamp(20px, 4vh, 36px);
    left:50%;
    transform:translateX(-50%);
    z-index:3;
    display:flex;
    gap:10px;
  }

  .gallery__dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:rgba(255,255,255,0.5);
    border:none;
    padding:0;
    cursor:pointer;
    transition:background 0.25s ease, transform 0.25s ease;
  }

  .gallery__dot.is-active{
    background:#fff;
    transform:scale(1.35);
  }

  @media (max-width: 640px){
    .gallery__arrow{ width:36px; height:36px; }
    .gallery__arrow svg{ width:16px; height:16px; }
  }

  @media (prefers-reduced-motion: reduce){
    .gallery__slide img{ transition:none; transform:scale(1); }
    .gallery__slide.is-active img{ transform:scale(1); }
  }

  /* ================= Pricing section (screen 18) ================= */
  .pricing{
    position:relative;
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .pricing__bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .pricing__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.14);
    animation:bgDrift 34s ease-in-out infinite alternate;
  }

  .pricing__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.35) 0%, rgba(10,8,6,0.15) 20%, rgba(10,8,6,0.35) 70%, rgba(10,8,6,0.6) 100%);
  }

  .pricing__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .pricing__head{
    text-align:center;
    max-width:820px;
    margin:0 auto clamp(32px, 5vh, 56px);
    background:rgba(255,255,255,0.88);
    border-radius:16px;
    padding:clamp(20px, 3vw, 32px) clamp(24px, 4vw, 40px);
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .pricing__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.5rem, 2.8vw, 2.2rem);
    line-height:1.3;
    color:var(--ink);
  }

  .pricing__subtitle{
    margin-top:8px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.1vw, 0.92rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .pricing__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(20px, 2.6vw, 32px);
    margin-bottom:clamp(32px, 5vh, 56px);
  }

  .pricing__card{
    display:flex;
    flex-direction:column;
    border-radius:14px;
    overflow:hidden;
    background:rgba(20,16,12,0.4);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .pricing__card-header{
    background:rgba(255,255,255,0.95);
    padding:clamp(18px, 2.4vw, 26px) clamp(20px, 2.6vw, 28px);
  }

  .pricing__card-header h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.5rem, 2.4vw, 1.9rem);
    color:var(--ink);
    line-height:1.2;
  }

  .pricing__card-header p{
    margin-top:4px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.75rem, 1vw, 0.85rem);
    color:var(--brown-text);
  }

  .pricing__card-checklist{
    background:rgba(255,255,255,0.95);
    border-top:1px solid rgba(79,61,57,0.15);
    padding:clamp(16px, 2.2vw, 22px) clamp(18px, 2.4vw, 24px);
  }

  .pricing__card-checklist ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .pricing__card-checklist li{
    display:flex;
    align-items:flex-start;
    gap:8px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.75rem, 0.98vw, 0.86rem);
    line-height:1.3;
    color:var(--ink);
  }

  .pricing__check{
    flex-shrink:0;
    width:16px;
    height:16px;
    margin-top:1px;
    border-radius:50%;
    background:var(--brown-text);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .pricing__check svg{ width:10px; height:10px; }

  .pricing__card-extra{
    background:#4f3d39;
    color:var(--cream);
    padding:clamp(14px, 1.8vw, 18px) clamp(18px, 2.4vw, 24px);
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.75rem, 0.98vw, 0.86rem);
    line-height:1.5;
  }

  .pricing__card-extra + .pricing__card-extra{
    border-top:1px solid rgba(255,255,255,0.15);
  }

  .pricing__card-desc{
    flex:1;
    padding:clamp(16px, 2.2vw, 22px) clamp(18px, 2.4vw, 24px);
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1vw, 0.88rem);
    line-height:1.35;
    color:rgba(244,239,230,0.92);
  }

  .pricing__card-price{
    margin-top:auto;
    background:#4f3d39;
    padding:clamp(16px, 2.2vw, 22px) clamp(18px, 2.4vw, 24px);
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px 14px;
  }

  .pricing__card-price-value{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(1.35rem, 2.1vw, 1.7rem);
    color:var(--cream);
  }

  .pricing__card-price-value span{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:0.55em;
    letter-spacing:0.04em;
    margin-left:4px;
  }

  .pricing__card-price-usd{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.72rem, 0.92vw, 0.82rem);
    color:rgba(244,239,230,0.8);
  }

  .pricing__all-head{
    text-align:center;
    background:rgba(255,255,255,0.9);
    border-radius:12px;
    padding:clamp(14px, 1.8vw, 18px);
    margin-bottom:clamp(14px, 2vh, 18px);
    box-shadow:0 14px 30px rgba(0,0,0,0.25);
  }

  .pricing__all-head h3{
    font-family:'Jost', sans-serif;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(0.9rem, 1.3vw, 1.05rem);
    color:var(--ink);
  }

  .pricing__chips{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:clamp(10px, 1.6vw, 16px);
  }

  .pricing__chip{
    background:#4f3d39;
    color:var(--cream);
    border-radius:10px;
    padding:clamp(12px, 1.6vw, 16px);
    text-align:center;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.9rem);
    line-height:1.3;
    box-shadow:inset 0 0 20px rgba(0,0,0,0.25), 0 8px 16px rgba(0,0,0,0.18);
  }

  .pricing__cta{
    margin-top:clamp(28px, 4vh, 40px);
    text-align:center;
  }

  .pricing__availability{
    display:inline-block;
    background:rgba(255,255,255,0.95);
    color:var(--ink);
    border-radius:999px;
    padding:12px 30px;
    font-family:'Jost', sans-serif;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.1vw, 1rem);
    margin-bottom:clamp(12px, 1.8vh, 16px);
    box-shadow:0 14px 32px rgba(0,0,0,0.3);
  }

  .pricing__cta p{
    max-width:700px;
    margin:0 auto;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.85rem, 1.1vw, 1rem);
    line-height:1.3;
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,0.4);
  }

  @media (max-width: 900px){
    .pricing__grid{ grid-template-columns:1fr; }
    .pricing__chips{ grid-template-columns:1fr 1fr; }
  }

  @media (max-width: 480px){
    .pricing__chips{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .pricing__bg img{ animation:none; transform:scale(1); }
  }

  /* ================= ROI section (screen 19) ================= */
  .roi{
    position:relative;
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .roi__bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .roi__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.14);
    animation:bgDrift 34s ease-in-out infinite alternate;
  }

  .roi__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.4) 0%, rgba(10,8,6,0.15) 20%, rgba(10,8,6,0.2) 70%, rgba(10,8,6,0.5) 100%);
  }

  .roi__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .roi__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(28px, 4.5vh, 48px);
    background:rgba(255,255,255,0.9);
    border-radius:16px;
    padding:clamp(18px, 2.6vw, 28px) clamp(22px, 3.2vw, 32px);
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .roi__head h2{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.4rem, 2.6vw, 2.1rem);
    line-height:1.3;
    color:var(--ink);
  }

  .roi__grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:clamp(12px, 1.6vw, 20px);
    margin-bottom:clamp(32px, 5vh, 56px);
  }

  .roi__stat,
  .roi__caption{
    background:#4f3d39;
    border-radius:12px;
    padding:clamp(16px, 2vw, 22px) clamp(14px, 1.8vw, 18px);
    text-align:center;
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  .roi__stat-label{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.75rem, 0.98vw, 0.86rem);
    line-height:1.3;
    color:rgba(244,239,230,0.9);
    margin-bottom:clamp(8px, 1.2vh, 12px);
  }

  .roi__stat-value{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(2rem, 3.6vw, 2.8rem);
    line-height:1.1;
    color:var(--cream);
  }

  .roi__caption{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.9rem);
    line-height:1.3;
    color:rgba(244,239,230,0.88);
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .roi__head--secondary{
    margin-bottom:clamp(20px, 3.2vh, 32px);
  }

  .roi__benefits{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(12px, 1.6vw, 20px);
  }

  .roi__benefit{
    background:#4f3d39;
    border-radius:12px;
    padding:clamp(18px, 2.4vw, 26px) clamp(16px, 2vw, 22px);
    text-align:center;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.82rem, 1.05vw, 0.95rem);
    line-height:1.35;
    color:var(--cream);
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
  }

  @media (max-width: 900px){
    .roi__grid{ grid-template-columns:1fr 1fr; }
    .roi__benefits{ grid-template-columns:1fr; }
  }

  @media (max-width: 480px){
    .roi__grid{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .roi__bg img{ animation:none; transform:scale(1); }
  }

  /* ================= Security section (screen 20) ================= */
  .security{
    position:relative;
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .security__bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .security__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.14);
    animation:bgDrift 34s ease-in-out infinite alternate;
  }

  .security__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.4) 0%, rgba(10,8,6,0.1) 24%, rgba(10,8,6,0.15) 60%, rgba(10,8,6,0.55) 100%);
  }

  .security__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .security__head{
    text-align:center;
    max-width:760px;
    margin:0 auto clamp(32px, 5vh, 56px);
    background:rgba(255,255,255,0.9);
    border-radius:16px;
    padding:clamp(18px, 2.6vw, 28px) clamp(22px, 3.2vw, 32px);
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .security__head h2{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.4rem, 2.6vw, 2.1rem);
    line-height:1.3;
    color:var(--ink);
  }

  .security__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(24px, 3vw, 40px);
    align-items:start;
  }

  .security__card{
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .security__card-header{
    background:rgba(255,255,255,0.92);
    padding:clamp(16px, 2.2vw, 22px) clamp(20px, 2.6vw, 26px);
  }

  .security__card-header h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.15rem, 1.8vw, 1.5rem);
    line-height:1.3;
    color:var(--ink);
  }

  .security__card-body{
    background:rgba(79,61,57,0.85);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    padding:clamp(18px, 2.4vw, 26px);
  }

  .security__card-note{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.75rem, 0.98vw, 0.86rem);
    color:rgba(244,239,230,0.85);
    margin-bottom:clamp(14px, 2vh, 18px);
  }

  .security__stat{
    margin-bottom:clamp(14px, 2vh, 18px);
  }

  .security__stat:last-child{ margin-bottom:0; }

  .security__stat-value{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(1.6rem, 2.6vw, 2.1rem);
    color:var(--cream);
    line-height:1.2;
  }

  .security__stat-caption{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.9rem);
    line-height:1.3;
    color:rgba(244,239,230,0.85);
    margin-top:2px;
  }

  .security__stat-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(14px, 2vw, 22px);
    margin-bottom:clamp(14px, 2vh, 18px);
  }

  .security__disclaimer{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.88rem);
    line-height:1.35;
    color:rgba(244,239,230,0.85);
    padding-top:clamp(12px, 1.8vh, 16px);
    border-top:1px solid rgba(255,255,255,0.15);
  }

  @media (max-width: 760px){
    .security__grid{ grid-template-columns:1fr; }
    .security__stat-row{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .security__bg img{ animation:none; transform:scale(1); }
  }

  /* ================= Philosophy section (screen 21) ================= */
  .philosophy{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px);
    overflow:hidden;
  }

  .philosophy::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .philosophy__container{
    position:relative;
    z-index:1;
    max-width:1440px;
    margin:0 auto;
  }

  .philosophy__head{
    text-align:center;
    margin-bottom:clamp(24px, 3.6vh, 36px);
  }

  .philosophy__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .philosophy__subtitle{
    margin-top:10px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.15vw, 0.95rem);
    line-height:1.3;
    color:var(--ink);
  }

  .philosophy__plaque{
    background:#4f3d39;
    color:var(--cream);
    border-radius:12px;
    padding:clamp(18px, 2.4vw, 26px) clamp(22px, 3vw, 32px);
    text-align:center;
    box-shadow:inset 0 0 22px rgba(0,0,0,0.28), 0 8px 18px rgba(0,0,0,0.18);
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.15vw, 1rem);
    line-height:1.4;
    margin-bottom:clamp(20px, 3vh, 28px);
  }

  .philosophy__photo{
    width:100%;
    aspect-ratio:21 / 9;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
    margin-bottom:clamp(20px, 3vh, 28px);
  }

  .philosophy__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform 1.4s cubic-bezier(.22,1,.36,1);
  }

  .philosophy__photo:hover img{ transform:scale(1.06); }

  .philosophy__plaque--bottom{
    font-weight:400;
    text-transform:none;
    letter-spacing:0.01em;
    font-size:clamp(0.85rem, 1.1vw, 1rem);
    margin-bottom:0;
  }

  @media (max-width: 760px){
    .philosophy__photo{ aspect-ratio:4 / 3; }
  }

  /* ================= Finance section (screen 22) ================= */
  .finance{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
  }

  .finance__photo{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .finance__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.16);
    animation:bgDrift 30s ease-in-out infinite alternate;
  }

  .finance__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.35) 0%, rgba(10,8,6,0) 22%, rgba(10,8,6,0.1) 62%, rgba(10,8,6,0.55) 100%);
  }

  .finance__container{
    position:relative;
    z-index:2;
    height:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px, 6vw, 72px);
  }

  .finance__head{
    position:absolute;
    top:clamp(24px, 6vh, 56px);
    right:clamp(20px, 6vw, 72px);
    max-width:460px;
    background:rgba(255,255,255,0.85);
    border-radius:14px;
    padding:clamp(16px, 2.2vw, 24px) clamp(20px, 2.8vw, 28px);
    text-align:center;
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .finance__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.4rem, 2.6vw, 2rem);
    line-height:1.3;
    color:var(--ink);
  }

  .finance__subtitle{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 1vw, 0.85rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .finance__cols{
    position:absolute;
    left:clamp(20px, 6vw, 72px);
    right:clamp(20px, 6vw, 72px);
    bottom:clamp(24px, 5vh, 56px);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(16px, 2.2vw, 26px);
  }

  .finance__card{
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .finance__card-header{
    background:rgba(255,255,255,0.92);
    padding:clamp(14px, 1.8vw, 20px) clamp(18px, 2.2vw, 24px);
  }

  .finance__card-header h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.15rem, 1.7vw, 1.5rem);
    color:var(--ink);
  }

  .finance__card-body{
    background:rgba(79,61,57,0.85);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    padding:clamp(14px, 1.8vw, 20px) clamp(18px, 2.2vw, 24px);
  }

  .finance__card-body ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .finance__card-body li{
    position:relative;
    padding-left:16px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.8rem, 1.05vw, 0.92rem);
    line-height:1.3;
    color:rgba(244,239,230,0.92);
  }

  .finance__card-body li::before{
    content:"";
    position:absolute;
    left:0;
    top:0.45em;
    width:6px;
    height:6px;
    background:var(--cream);
  }

  @media (max-width: 900px){
    .finance{
      height:auto;
      overflow:visible;
      background:var(--cream);
    }

    .finance::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:url('assets/img/villas-bg.jpg');
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      z-index:0;
    }

    .finance__photo{
      position:relative;
      z-index:1;
      width:100%;
      aspect-ratio:4 / 3;
    }

    .finance__scrim{ display:none; }

    .finance__container{
      position:relative;
      z-index:1;
      height:auto;
      padding:clamp(24px, 5vh, 40px) clamp(20px, 6vw, 40px);
      display:flex;
      flex-direction:column;
      gap:clamp(16px, 2.4vh, 22px);
    }

    .finance__head,
    .finance__cols{
      position:static;
      top:auto;
      left:auto;
      right:auto;
      bottom:auto;
      max-width:none;
      width:100%;
    }

    .finance__cols{
      grid-template-columns:1fr;
    }
  }

  @media (prefers-reduced-motion: reduce){
    .finance__photo img{ animation:none; transform:scale(1); }
  }

  /* ================= Closing section (screen 23) ================= */
  .closing{
    position:relative;
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px) clamp(80px, 11vh, 120px);
    overflow:hidden;
  }

  .closing__bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .closing__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.14);
    animation:bgDrift 34s ease-in-out infinite alternate;
  }

  .closing__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(10,8,6,0.35) 0%, rgba(10,8,6,0.05) 25%, rgba(10,8,6,0.1) 70%, rgba(10,8,6,0.45) 100%);
  }

  .closing__container{
    position:relative;
    z-index:2;
    max-width:1440px;
    margin:0 auto;
  }

  .closing__head{
    text-align:left;
    max-width:520px;
    background:rgba(255,255,255,0.9);
    border-radius:14px;
    padding:clamp(18px, 2.4vw, 26px) clamp(22px, 2.8vw, 30px);
    margin-bottom:clamp(20px, 3vh, 28px);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  .closing__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.5rem, 2.8vw, 2.1rem);
    line-height:1.3;
    color:var(--ink);
  }

  .closing__subtitle{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(0.78rem, 1.05vw, 0.9rem);
    line-height:1.3;
    color:var(--brown-text);
  }

  .closing__main{
    position:relative;
    background:rgba(255,255,255,0.9);
    border-radius:14px;
    padding:clamp(24px, 3.2vw, 40px);
    margin-bottom:clamp(56px, 9vh, 96px);
    box-shadow:0 20px 45px rgba(0,0,0,0.3);
  }

  .closing__main p{
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.82rem, 1.1vw, 0.95rem);
    line-height:1.4;
    color:var(--ink);
    margin-bottom:clamp(18px, 2.6vh, 26px);
  }

  .closing__main p:last-child{ margin-bottom:0; }

  .closing__brand{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:clamp(1.3rem, 2.2vw, 1.7rem) !important;
    letter-spacing:0.03em;
    color:var(--brown-text) !important;
  }

  .closing__brand span{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:0.6em;
    letter-spacing:0.02em;
    color:var(--ink);
    text-transform:uppercase;
  }

  .closing__quote{
    position:absolute;
    right:clamp(16px, 4vw, 40px);
    bottom:clamp(-48px, -6vh, -32px);
    max-width:420px;
    background:#4f3d39;
    color:var(--cream);
    border-radius:12px;
    padding:clamp(16px, 2vw, 22px) clamp(20px, 2.4vw, 26px);
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.8rem, 1.05vw, 0.92rem);
    line-height:1.35;
    box-shadow:0 20px 45px rgba(0,0,0,0.35);
  }

  .closing__bottom{
    text-align:center;
    background:rgba(255,255,255,0.9);
    border-radius:12px;
    padding:clamp(16px, 2.2vw, 22px) clamp(20px, 2.8vw, 30px);
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-size:clamp(0.85rem, 1.1vw, 1rem);
    line-height:1.35;
    color:var(--ink);
    box-shadow:0 18px 40px rgba(0,0,0,0.3);
  }

  @media (max-width: 760px){
    .closing__main{ margin-bottom:clamp(20px, 3vh, 28px); }
    .closing__quote{
      position:static;
      max-width:none;
      margin-bottom:clamp(20px, 3vh, 28px);
    }
  }

  @media (prefers-reduced-motion: reduce){
    .closing__bg img{ animation:none; transform:scale(1); }
  }

  /* ================= Footer / lead form section ================= */
  .footer{
    position:relative;
    background:var(--cream);
    padding:clamp(56px, 9vh, 100px) clamp(20px, 6vw, 72px) clamp(32px, 5vh, 56px);
    overflow:hidden;
  }

  .footer::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:url('assets/img/villas-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    z-index:0;
  }

  .footer__container{
    position:relative;
    z-index:1;
    max-width:1280px;
    margin:0 auto;
  }

  .footer__intro{
    text-align:center;
    max-width:640px;
    margin:0 auto clamp(36px, 6vh, 60px);
  }

  .footer__eyebrow{
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-size:clamp(0.72rem, 0.95vw, 0.85rem);
    color:var(--brown-text);
    margin-bottom:10px;
    text-shadow:0 2px 14px rgba(244,239,230,0.85);
  }

  .footer__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(2rem, 3.6vw, 3.1rem);
    line-height:1.2;
    color:var(--ink);
    text-shadow:0 2px 18px rgba(244,239,230,0.9);
  }

  .footer__lead{
    margin-top:14px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.02em;
    font-size:clamp(0.85rem, 1.1vw, 1rem);
    line-height:1.5;
    color:var(--brown-text);
    text-shadow:0 2px 14px rgba(244,239,230,0.85);
  }

  .footer__grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:clamp(28px, 4vw, 56px);
    align-items:start;
  }

  .footer__info{
    color:var(--ink);
  }

  .footer__brand{
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:clamp(1.3rem, 1.9vw, 1.6rem);
    color:var(--ink);
    margin-bottom:clamp(18px, 3vh, 28px);
    padding-bottom:clamp(14px, 2vh, 20px);
    border-bottom:1px solid rgba(79,61,57,0.3);
    text-shadow:0 2px 16px rgba(244,239,230,0.85);
  }

  .footer__info-row{
    margin-bottom:clamp(16px, 2.4vh, 22px);
  }

  .footer__info-row:last-child{ margin-bottom:0; }

  .footer__info-label{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.12em;
    text-transform:uppercase;
    font-size:0.7rem;
    color:var(--brown-text);
    margin-bottom:6px;
    text-shadow:0 2px 12px rgba(244,239,230,0.85);
  }

  .footer__info-value{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.88rem, 1.1vw, 1rem);
    line-height:1.5;
    color:var(--ink);
    text-decoration:none;
    text-shadow:0 2px 14px rgba(244,239,230,0.85);
  }

  a.footer__info-value:hover{
    color:#000;
    text-decoration:underline;
  }

  .footer__form-wrap{
    background:rgba(255,255,255,0.97);
    border-radius:16px;
    padding:clamp(24px, 3.2vw, 40px);
    box-shadow:0 24px 60px rgba(0,0,0,0.22);
  }

  .footer__form-head{
    margin-bottom:clamp(18px, 2.6vh, 24px);
  }

  .footer__form-head h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
    font-size:clamp(1.2rem, 1.8vw, 1.5rem);
    color:var(--ink);
  }

  .footer__form-head p{
    margin-top:6px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:clamp(0.78rem, 1vw, 0.88rem);
    line-height:1.4;
    color:var(--brown-text);
  }

  .footer__field{
    margin-bottom:clamp(14px, 2vh, 18px);
  }

  .footer__field label{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:500;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:0.68rem;
    color:var(--brown-text);
    margin-bottom:6px;
  }

  .footer__input,
  .footer__textarea{
    width:100%;
    background:#fff;
    border:1px solid rgba(79,61,57,0.18);
    border-radius:10px;
    padding:12px 16px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:0.92rem;
    color:var(--ink);
    transition:border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .footer__textarea{
    resize:vertical;
    min-height:96px;
  }

  .footer__input::placeholder,
  .footer__textarea::placeholder{
    color:#9c8f83;
  }

  .footer__input:focus,
  .footer__textarea:focus{
    outline:none;
    border-color:#4f3d39;
    box-shadow:0 0 0 3px rgba(79,61,57,0.12);
  }

  .footer__submit{
    width:100%;
    margin-top:6px;
    background:#4f3d39;
    color:var(--cream);
    border:none;
    border-radius:999px;
    padding:14px 28px;
    font-family:'Jost', sans-serif;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:0.85rem;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(0,0,0,0.25);
    transition:background 0.25s ease, transform 0.2s ease;
  }

  .footer__submit:hover{
    background:#3c2e2b;
    transform:translateY(-1px);
  }

  .footer__note{
    margin-top:12px;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:0.72rem;
    line-height:1.4;
    color:#9c8f83;
  }

  .footer__bottom{
    margin-top:clamp(40px, 6vh, 64px);
    padding-top:clamp(18px, 2.6vh, 24px);
    border-top:1px solid rgba(79,61,57,0.3);
    text-align:center;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:0.03em;
    font-size:0.76rem;
    color:var(--brown-text);
    text-shadow:0 2px 12px rgba(244,239,230,0.85);
  }

  @media (max-width: 860px){
    .footer__grid{ grid-template-columns:1fr; }
    .footer__info{
      text-align:center;
      margin-bottom:clamp(28px, 4vh, 40px);
    }
    .footer__brand{ display:inline-block; }
  }

  @media (max-width: 640px){
    .footer__brand{
      border-bottom:none;
      padding-bottom:0;
    }
  }
