:root{
  --ivory:#fbf7ef;
  --ivory-2:#f5eddf;
  --sand:#eadbc4;
  --stone:#d3b98f;
  --gold:#b58a50;
  --sea:#6f9ca7;
  --sea-dark:#245d6b;
  --ink:#3f3932;
  --muted:#756b5f;
  --white:#fffdf9;
  --line:rgba(95,75,52,.18);
  --shadow:0 28px 90px rgba(79,58,33,.16);
  --soft-shadow:0 16px 50px rgba(79,58,33,.10);
  --radius-xl:38px;
  --radius-lg:26px;
  --container:min(1180px,calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:12px 16px;border-radius:12px}

.site-header{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100vw - 38px));height:74px;padding:10px 18px;background:rgba(255,253,249,.84);border:1px solid rgba(120,96,65,.18);box-shadow:0 18px 55px rgba(47,35,20,.14);border-radius:999px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:13px;color:#4b443b}.brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;border:1px solid rgba(181,138,80,.28)}
.site-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700;color:#5d554b}.site-nav a{transition:.2s ease}.site-nav a:hover{color:var(--sea-dark)}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:0}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:6px auto;border-radius:2px}

.hero{position:relative;min-height:100vh;display:grid;align-items:center;padding:145px max(24px,calc((100vw - 1180px)/2)) 110px;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) brightness(1.05)}.hero-wash{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(251,247,239,.95) 0%,rgba(251,247,239,.74) 35%,rgba(251,247,239,.18) 72%,rgba(251,247,239,.05) 100%)}
.hero-content{position:relative;z-index:2;width:min(670px,100%)}.hero-logo-card{width:190px;background:rgba(255,253,249,.9);border:1px solid rgba(181,138,80,.24);border-radius:26px;box-shadow:0 18px 55px rgba(77,55,31,.12);padding:16px;margin-bottom:24px}.hero-logo-card img{width:100%;height:auto;object-fit:contain}
.eyebrow{margin:0 0 18px;font-size:13px;letter-spacing:.26em;text-transform:uppercase;font-weight:800;color:#8b7051}.centered{text-align:center}.hero h1,.section h2{font-family:"Cormorant Garamond",serif;line-height:.92;letter-spacing:-.045em;font-weight:600;color:var(--ink)}.hero h1{font-size:clamp(64px,8.6vw,126px);max-width:850px;margin:0 0 24px}.hero-copy{font-size:20px;max-width:600px;color:#5d5449;margin:0 0 34px}.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border-radius:999px;border:1px solid transparent;font-weight:800;font-size:14px;cursor:pointer;transition:.22s ease}.btn-primary{background:var(--sea-dark);color:#fff;box-shadow:0 14px 35px rgba(36,93,107,.22)}.btn-primary:hover{background:#174b57;transform:translateY(-1px)}.btn-light{background:rgba(255,253,249,.92);color:#423b32;border-color:rgba(255,255,255,.85)}.btn-light:hover,.btn-outline:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(79,58,33,.12)}.btn-outline{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.56)}
.hero-facts{position:absolute;z-index:3;left:50%;bottom:34px;transform:translateX(-50%);width:min(940px,calc(100vw - 46px));display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-radius:999px;background:rgba(255,253,249,.88);backdrop-filter:blur(18px);box-shadow:0 18px 55px rgba(45,36,27,.16);border:1px solid rgba(120,96,65,.16)}.hero-facts span{padding:16px 20px;font-size:13px;font-weight:800;color:#514a41;text-align:center;border-right:1px solid rgba(89,72,52,.15)}.hero-facts span:last-child{border-right:0}

.quick-facts{width:var(--container);margin:-34px auto 0;position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.quick-facts div{padding:28px 24px;border-right:1px solid var(--line)}.quick-facts div:last-child{border-right:0}.quick-facts strong{display:block;font-family:"Cormorant Garamond",serif;font-size:38px;line-height:1;color:var(--sea-dark);margin-bottom:6px}.quick-facts span{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}

.section{padding:112px 0}.container{width:var(--container);margin:auto}.split{display:grid;grid-template-columns:1fr .95fr;gap:68px;align-items:center}.section h2{font-size:clamp(44px,5vw,78px);margin:0 0 24px;text-wrap:balance}.section p{font-size:17px;color:var(--muted);margin:0 0 18px}.section-heading{max-width:850px;margin-bottom:46px}.section-heading p:last-child{max-width:780px}.concept-section{background:linear-gradient(180deg,var(--ivory),#fffaf2)}.concept-visual{position:relative;min-height:520px}.concept-visual .main-img{width:82%;height:420px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7);margin-left:auto}.concept-visual .floating-img{position:absolute;left:0;bottom:0;width:45%;height:230px;object-fit:cover;border-radius:28px;box-shadow:0 22px 65px rgba(61,45,27,.16);border:8px solid var(--ivory)}.image-note{position:absolute;left:24px;top:28px;padding:12px 16px;border-radius:999px;background:rgba(255,253,249,.84);backdrop-filter:blur(14px);font-size:13px;font-weight:800;color:#5e5549}

.video-section{padding:124px 0;background:linear-gradient(180deg,#fffaf2,#efe2ce)}.video-container{width:min(1280px,calc(100vw - 48px));margin:auto}.video-section h2{text-align:center;font-size:clamp(50px,6vw,92px);margin-bottom:40px}.video-frame{border-radius:42px;padding:14px;background:linear-gradient(135deg,#fffdf9,#eadfce);box-shadow:0 34px 110px rgba(70,52,31,.20);border:1px solid var(--line)}.video-frame video{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border-radius:30px;background:#dfd4c6;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}

.highlights-section{background:var(--ivory)}.highlight-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-auto-rows:340px;gap:20px}.highlight-card{position:relative;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.68);background:#ddd}.highlight-card.large{grid-row:span 2}.highlight-card.wide{grid-column:span 1}.highlight-card img{width:100%;height:100%;object-fit:cover;transition:.5s ease}.highlight-card:hover img{transform:scale(1.035)}.highlight-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(45,35,24,.60) 100%)}.highlight-card div{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}.highlight-card span{display:inline-flex;margin-bottom:12px;font-family:"Cormorant Garamond",serif;font-size:34px;color:#f2d7aa}.highlight-card h3{font-family:"Cormorant Garamond",serif;font-size:38px;line-height:.95;margin:0 0 10px}.highlight-card p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.88);margin:0;max-width:470px}

.layout-section{background:#fffaf2}.layout-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:stretch}.spec-card{padding:44px;border-radius:var(--radius-xl);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.spec-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:0}.spec-list li{padding:18px 0;border-top:1px solid var(--line)}.spec-list strong{display:block;font-size:15px;color:var(--sea-dark);margin-bottom:4px}.spec-list span{font-size:14px;color:var(--muted)}.layout-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.layout-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:28px;box-shadow:0 18px 55px rgba(76,55,32,.12);border:1px solid rgba(255,255,255,.72);background:#eee}.layout-gallery img{width:100%;height:100%;min-height:260px;object-fit:cover}.layout-gallery figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,253,249,.86);backdrop-filter:blur(12px);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;color:#4d4439}

.plans-section{background:linear-gradient(180deg,#fffaf2,#f3e8d7)}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 50px rgba(74,55,34,.09)}.plan-card img{width:100%;aspect-ratio:1.35/1;object-fit:cover;background:#fff;border-bottom:1px solid var(--line)}.plan-card div{padding:24px}.plan-card h3{font-family:"Cormorant Garamond",serif;font-size:34px;line-height:1;margin:0 0 10px}.plan-card p{font-size:14px;margin:0 0 14px}.plan-card a{font-size:12px;font-weight:900;color:var(--sea-dark);text-transform:uppercase;letter-spacing:.08em}.plan-links{display:flex!important;gap:9px;flex-wrap:wrap;padding:0!important}.plan-links a{background:#f3ecdf;border:1px solid var(--line);padding:7px 10px;border-radius:999px}

.gallery-section{background:linear-gradient(180deg,#f3e8d7,#fbf7ef)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:260px;gap:18px}.gallery-item{position:relative;border:0;padding:0;border-radius:var(--radius-lg);overflow:hidden;background:#ddd;box-shadow:0 16px 42px rgba(63,48,31,.14);cursor:pointer;text-align:left}.gallery-item.large{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item span{position:absolute;left:16px;bottom:16px;background:rgba(255,253,249,.82);backdrop-filter:blur(14px);padding:9px 12px;border-radius:999px;font-size:13px;font-weight:800;color:#4d4439}

.lifestyle-section{background:var(--ivory)}.lifestyle-card{display:grid;grid-template-columns:1.05fr .95fr;gap:0;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden}.lifestyle-card img{height:100%;min-height:480px;width:100%;object-fit:cover}.lifestyle-card div{padding:56px}.text-link{display:inline-flex;margin-top:12px;color:var(--sea-dark);font-weight:900;border-bottom:1px solid var(--sea-dark)}
.documentation-section{background:#fbf7ef}.doc-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:rgba(255,253,249,.72)}.doc-strip div{padding:28px;border-right:1px solid var(--line)}.doc-strip div:last-child{border-right:0}.doc-strip strong{display:block;margin-bottom:8px;color:var(--ink)}.doc-strip span{font-size:14px;color:var(--muted)}
.contact-section{background:linear-gradient(135deg,#efe2cf,#fbf7ef 58%,#dfeced);padding-bottom:120px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start}.contact-form{display:grid;gap:14px;background:rgba(255,253,249,.82);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:30px}.contact-form label{display:grid;gap:8px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#60564a}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(90,74,55,.18);background:#fffdf9;border-radius:14px;padding:14px;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--sea);box-shadow:0 0 0 4px rgba(120,158,170,.16)}.small-note{font-size:13px!important;color:#81766a!important;margin-top:16px!important}.site-footer{background:#514638;color:#fff6e8;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:13px}.lightbox{position:fixed;inset:0;background:rgba(31,26,22,.86);z-index:60;display:none;align-items:center;justify-content:center;padding:28px}.lightbox.is-open{display:flex}.lightbox img{max-height:88vh;max-width:92vw;border-radius:18px;box-shadow:0 20px 90px rgba(0,0,0,.35)}.lightbox-close{position:absolute;right:24px;top:20px;width:46px;height:46px;border:0;border-radius:50%;background:var(--white);font-size:34px;line-height:1;color:var(--ink);cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}

@media (max-width: 980px){.site-header{top:10px}.site-nav{position:absolute;top:78px;right:0;left:0;display:none;flex-direction:column;background:rgba(255,253,249,.96);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.site-nav.is-open{display:flex}.nav-toggle{display:block}.brand span{font-size:12px}.hero{padding-top:132px}.hero-wash{background:linear-gradient(180deg,rgba(251,247,239,.92) 0%,rgba(251,247,239,.66) 55%,rgba(251,247,239,.14) 100%)}.hero-logo-card{width:150px}.hero-facts{display:none}.quick-facts{grid-template-columns:repeat(2,1fr)}.quick-facts div:nth-child(2){border-right:0}.quick-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}.split,.layout-grid,.contact-grid,.lifestyle-card{grid-template-columns:1fr;gap:36px}.concept-visual{min-height:auto}.concept-visual .main-img{width:100%;height:380px}.concept-visual .floating-img{display:none}.highlight-grid{grid-template-columns:1fr;grid-auto-rows:340px}.highlight-card.large{grid-row:span 1}.plans-grid,.doc-strip{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.gallery-item.large{grid-column:span 2}.lifestyle-card div{padding:34px}.footer-inner{flex-direction:column}}
@media (max-width: 620px){:root{--container:calc(100vw - 28px)}.site-header{height:64px;padding-left:10px}.brand img{width:44px;height:44px}.brand span{letter-spacing:.11em}.hero{min-height:92vh;padding:118px 18px 56px}.hero h1{font-size:56px}.hero-copy{font-size:17px}.hero-logo-card{width:130px}.btn{width:100%}.hero-actions,.contact-actions{width:100%}.quick-facts{margin-top:0;border-radius:0;width:100%;grid-template-columns:1fr}.quick-facts div{border-right:0!important;border-bottom:1px solid var(--line)}.quick-facts div:last-child{border-bottom:0}.section{padding:74px 0}.section h2{font-size:42px}.video-container{width:calc(100vw - 24px)}.video-frame{border-radius:22px;padding:7px}.video-frame video{border-radius:16px}.layout-gallery{grid-template-columns:1fr}.plans-grid,.doc-strip{grid-template-columns:1fr}.doc-strip div{border-right:0;border-bottom:1px solid var(--line)}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-item.large{grid-column:auto;grid-row:auto}.contact-form{padding:20px}}


/* V4 — corrected startscreen: dark premium hero, V2 content below */
.site-header{
  position:fixed;
  z-index:50;
  top:20px;
  left:50%;
  transform:translateX(-50%);
  width:min(1180px,calc(100vw - 38px));
  height:70px;
  padding:10px 18px;
  background:rgba(255,253,249,.90);
  border:1px solid rgba(120,96,65,.16);
  box-shadow:0 18px 55px rgba(47,35,20,.12);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  backdrop-filter:blur(18px);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:13px;
  color:#4b443b;
  white-space:nowrap;
}

.brand img{display:none}

.brand-mark{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff8ec;
  border:1px solid rgba(181,138,80,.26);
  color:#355b63;
  font-family:"Cormorant Garamond",serif;
  font-size:27px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:28px;
  font-size:14px;
  font-weight:700;
  color:#5d554b;
}

.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  align-items:center;
  padding:145px max(24px,calc((100vw - 1180px)/2)) 110px;
  overflow:hidden;
  color:#fff;
  background:#0f1716;
}

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

.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.02) contrast(1.02) brightness(.96);
}

.hero-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(15,18,17,.66) 0%,
      rgba(15,18,17,.55) 30%,
      rgba(15,18,17,.22) 62%,
      rgba(15,18,17,.10) 100%
    ),
    linear-gradient(0deg,
      rgba(15,18,17,.30) 0%,
      rgba(15,18,17,.02) 48%,
      rgba(15,18,17,.18) 100%
    );
}

.hero-content{
  position:relative;
  z-index:2;
  width:min(670px,100%);
}

.hero-logo-card{display:none}

.hero .eyebrow{
  margin:0 0 18px;
  font-size:13px;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-weight:800;
  color:#c8a66f;
}

.hero h1{
  font-family:"Cormorant Garamond",serif;
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:600;
  color:#fff;
  font-size:clamp(64px,8.6vw,126px);
  max-width:850px;
  margin:0 0 24px;
  text-shadow:0 14px 40px rgba(0,0,0,.20);
}

.hero-copy{
  font-size:20px;
  max-width:600px;
  color:rgba(255,255,255,.92);
  margin:0 0 34px;
  text-shadow:0 10px 30px rgba(0,0,0,.25);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.hero .btn-primary{
  background:#2f7b88;
  color:#fff;
  box-shadow:0 14px 35px rgba(28,89,101,.26);
}

.hero .btn-primary:hover{background:#216672}

.hero .btn-light{
  background:rgba(255,253,249,.95);
  color:#3f3932;
  border-color:rgba(255,255,255,.70);
}

.hero-facts{
  position:absolute;
  z-index:3;
  left:auto;
  right:max(24px,calc((100vw - 1180px)/2));
  bottom:34px;
  transform:none;
  width:min(470px,calc(100vw - 46px));
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,253,249,.92);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 55px rgba(45,36,27,.18);
  border:1px solid rgba(120,96,65,.16);
}

.hero-facts span{
  padding:16px 20px;
  font-size:13px;
  font-weight:800;
  color:#514a41;
  text-align:center;
  border-right:1px solid rgba(89,72,52,.15);
  text-transform:none;
}

.hero-facts span:last-child{border-right:0}

@media (max-width: 860px){
  .site-header{
    top:14px;
    width:calc(100vw - 28px);
    height:64px;
    padding:8px 14px;
  }
  .site-nav{
    gap:0;
  }
  .hero{
    min-height:100svh;
    padding:126px 22px 130px;
  }
  .hero h1{
    font-size:clamp(54px,16vw,86px);
  }
  .hero-copy{
    font-size:17px;
  }
  .hero-facts{
    left:22px;
    right:22px;
    bottom:22px;
    width:auto;
    grid-template-columns:1fr;
    border-radius:24px;
  }
  .hero-facts span{
    border-right:0;
    border-bottom:1px solid rgba(89,72,52,.15);
  }
  .hero-facts span:last-child{border-bottom:0}
}

@media (max-width: 720px){
  .brand span:last-child{
    display:inline;
    font-size:12px;
  }
  .brand-mark{
    width:42px;
    height:42px;
    font-size:25px;
  }
}


/* V5 — only change: real Hexliv logo in the top-left navbar brand */
.brand-logo-only{
  min-width:148px;
  height:50px;
  padding:0;
  gap:0;
}
.brand-logo-only img{
  display:block;
  width:128px;
  height:50px;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
}
@media (max-width: 720px){
  .brand-logo-only{
    min-width:112px;
    height:44px;
  }
  .brand-logo-only img{
    width:105px;
    height:44px;
  }
}


/* V6 refinements requested by user */
.hero h1{
  font-size:clamp(54px,7.1vw,112px);
  max-width:930px;
}

.hero-bottom-actions{
  position:absolute;
  z-index:3;
  left:max(24px,calc((100vw - 1180px)/2));
  bottom:44px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.hero-facts{
  bottom:44px;
}

.concept-visual.concept-single{
  min-height:0;
  display:flex;
  align-items:center;
}

.concept-visual.concept-single .main-img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.7);
  margin-left:0;
}

.concept-visual.concept-single .floating-img,
.concept-visual.concept-single .image-note{
  display:none;
}

.highlight-grid.highlight-grid-even{
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:420px;
  gap:22px;
}

.highlight-grid-even .highlight-card,
.highlight-grid-even .highlight-card.large,
.highlight-grid-even .highlight-card.wide{
  grid-column:auto;
  grid-row:auto;
}

.highlight-grid-even .highlight-card:after{
  background:linear-gradient(180deg,rgba(0,0,0,.05) 18%,rgba(31,25,19,.72) 100%);
}

.highlight-grid-even .highlight-card h3{
  font-size:34px;
}

.highlight-grid-even .highlight-card p{
  font-size:14px;
}

.gallery-grid.gallery-grid-nine{
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:300px;
  gap:20px;
}

.gallery-grid-nine .gallery-item,
.gallery-grid-nine .gallery-item.large{
  grid-column:auto;
  grid-row:auto;
}

.gallery-grid-nine .gallery-item img{
  object-fit:cover;
}

.video-frame video{
  object-fit:cover;
}

@media (max-width: 980px){
  .hero-bottom-actions{
    left:24px;
    bottom:160px;
  }
  .hero-facts{
    left:24px;
    right:24px;
    bottom:30px;
    width:auto;
  }
  .highlight-grid.highlight-grid-even{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:360px;
  }
  .gallery-grid.gallery-grid-nine{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:260px;
  }
}

@media (max-width: 640px){
  .hero h1{
    font-size:clamp(45px,13vw,68px);
  }
  .hero-bottom-actions{
    left:22px;
    right:22px;
    bottom:210px;
  }
  .hero-bottom-actions .btn{
    flex:1 1 150px;
  }
  .concept-visual.concept-single .main-img{
    height:360px;
  }
  .highlight-grid.highlight-grid-even,
  .gallery-grid.gallery-grid-nine{
    grid-template-columns:1fr;
    grid-auto-rows:320px;
  }
}


/* V7 — full-width viewport fix: prevents unwanted left/right gaps at different zoom levels */
html,
body{
  width:100%;
  min-width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow-x:hidden;
  background:var(--ivory);
}

body{
  position:relative;
}

main,
section,
.site-footer{
  width:100%;
  max-width:none;
}

.hero{
  width:100%;
  min-width:100%;
}

.hero-media,
.hero-media img,
.hero-wash{
  width:100%;
  min-width:100%;
}

.hero-media img{
  object-fit:cover;
}

/* Make all full-bleed background sections cover the viewport edge-to-edge */
.video-section,
.highlights-section,
.layout-section,
.gallery-section,
.lifestyle-section,
.documentation-section,
.contact-section,
.plans-section,
.concept-section{
  width:100%;
  max-width:none;
}

/* Keep inner content elegant, but avoid accidental side overflow on zoom */
.container,
.video-container{
  max-width:1180px;
  width:calc(100% - 48px);
}

.video-container{
  max-width:1280px;
}

/* Keep the floating header inside the viewport at every zoom level */
.site-header{
  max-width:1180px;
  width:calc(100% - 38px);
}

/* Prevent images/videos from creating horizontal scroll gaps */
img,
video,
iframe{
  max-width:100%;
}

@media (max-width:720px){
  .container,
  .video-container{
    width:calc(100% - 28px);
  }

  .site-header{
    width:calc(100% - 28px);
  }
}


/* V8 — fixed desktop lock
   This prevents the layout from constantly resizing/reflowing when the browser viewport changes.
   Browser zoom itself can still visually zoom the page, but the CSS layout dimensions stay fixed.
*/
:root{
  --locked-page-width: 1440px;
  --locked-container-width: 1180px;
  --locked-video-width: 1280px;
}

/* lock the desktop canvas */
html,
body{
  min-width:var(--locked-page-width);
  overflow-x:auto;
}

/* stop fluid viewport shrinking */
body,
main,
section,
.hero{
  min-width:var(--locked-page-width);
}

/* hero always covers the locked desktop canvas */
.hero{
  width:100%;
  min-height:100vh;
  padding-left:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
  padding-right:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
}

.hero-media,
.hero-wash{
  left:0;
  right:0;
  width:100%;
  min-width:var(--locked-page-width);
}

.hero-media img{
  width:100%;
  min-width:var(--locked-page-width);
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* lock navbar width and position */
.site-header{
  width:var(--locked-container-width);
  max-width:var(--locked-container-width);
  min-width:var(--locked-container-width);
}

/* lock normal content width */
.container{
  width:var(--locked-container-width);
  max-width:var(--locked-container-width);
  min-width:var(--locked-container-width);
}

/* lock video width */
.video-container{
  width:var(--locked-video-width);
  max-width:var(--locked-video-width);
  min-width:var(--locked-video-width);
}

/* lock hero bottom elements */
.hero-bottom-actions{
  left:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
}

.hero-facts{
  right:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
}

/* preserve desktop grids instead of changing sizes */
.split,
.concept-split,
.layout-grid,
.contact-grid,
.lifestyle-card{
  min-width:0;
}

.highlight-grid.highlight-grid-even{
  grid-template-columns:repeat(3,1fr) !important;
}

.gallery-grid.gallery-grid-nine{
  grid-template-columns:repeat(3,1fr) !important;
}

.quick-facts{
  width:var(--locked-container-width);
  max-width:var(--locked-container-width);
  min-width:var(--locked-container-width);
}

/* disable mobile/tablet layout overrides for the locked version */
@media (max-width: 1200px){
  html,
  body,
  main,
  section,
  .hero{
    min-width:var(--locked-page-width);
  }

  .site-header{
    width:var(--locked-container-width);
    max-width:var(--locked-container-width);
    min-width:var(--locked-container-width);
  }

  .container{
    width:var(--locked-container-width);
    max-width:var(--locked-container-width);
    min-width:var(--locked-container-width);
  }

  .video-container{
    width:var(--locked-video-width);
    max-width:var(--locked-video-width);
    min-width:var(--locked-video-width);
  }

  .hero{
    padding-left:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
    padding-right:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
  }

  .hero-bottom-actions{
    left:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
    right:auto;
    bottom:44px;
  }

  .hero-facts{
    left:auto;
    right:calc((var(--locked-page-width) - var(--locked-container-width)) / 2);
    bottom:44px;
    width:min(470px,calc(100vw - 46px));
    grid-template-columns:repeat(3,1fr);
    border-radius:999px;
  }

  .hero-facts span{
    border-right:1px solid rgba(89,72,52,.15);
    border-bottom:0;
  }

  .hero-facts span:last-child{
    border-right:0;
  }

  .highlight-grid.highlight-grid-even{
    grid-template-columns:repeat(3,1fr) !important;
    grid-auto-rows:420px;
  }

  .gallery-grid.gallery-grid-nine{
    grid-template-columns:repeat(3,1fr) !important;
    grid-auto-rows:300px;
  }

  .brand span:last-child{
    display:inline;
  }

  .nav-toggle{
    display:none;
  }

  .site-nav{
    position:static;
    display:flex;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
    background:transparent;
    box-shadow:none;
    border:0;
    padding:0;
  }
}


/* V9 — WhatsApp CTA removed */
.whatsapp,
.whatsapp-button,
.whatsapp-float,
a[href*="wa.me"],
a[href*="whatsapp"]{
  display:none !important;
}


/* V10 — mobile responsive rebuild while keeping desktop stable */
@media (max-width: 820px){
  :root{
    --locked-page-width: 100%;
    --locked-container-width: 100%;
    --locked-video-width: 100%;
    --radius-xl: 28px;
    --radius-lg: 22px;
  }

  html,
  body{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body,
  main,
  section,
  .hero{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .container,
  .video-container,
  .quick-facts{
    width:calc(100% - 28px) !important;
    min-width:0 !important;
    max-width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site-header{
    top:12px !important;
    left:14px !important;
    right:14px !important;
    transform:none !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:62px !important;
    padding:8px 12px !important;
    border-radius:999px !important;
  }

  .brand-logo-only{
    min-width:84px !important;
    width:84px !important;
    height:46px !important;
  }

  .brand-logo-only img{
    width:82px !important;
    height:46px !important;
    object-fit:contain !important;
  }

  .nav-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
  }

  .site-nav{
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    display:grid !important;
    gap:0 !important;
    padding:12px !important;
    background:rgba(255,253,249,.96) !important;
    border:1px solid rgba(120,96,65,.16) !important;
    border-radius:24px !important;
    box-shadow:0 22px 65px rgba(47,35,20,.16) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    pointer-events:none !important;
    z-index:99 !important;
  }

  .site-nav.is-open{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }

  .site-nav a{
    padding:12px 10px !important;
    border-radius:14px !important;
  }

  .hero{
    min-height:100svh !important;
    padding:118px 18px 220px !important;
    display:flex !important;
    align-items:center !important;
  }

  .hero-media,
  .hero-wash{
    min-width:0 !important;
    width:100% !important;
  }

  .hero-media img{
    min-width:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .hero-content{
    width:100% !important;
    max-width:100% !important;
  }

  .hero h1{
    font-size:clamp(48px,15vw,72px) !important;
    line-height:.92 !important;
    max-width:100% !important;
    margin-bottom:18px !important;
  }

  .hero .eyebrow{
    font-size:11px !important;
    letter-spacing:.20em !important;
    margin-bottom:12px !important;
  }

  .hero-copy{
    max-width:95% !important;
    font-size:16px !important;
    line-height:1.55 !important;
    margin-bottom:0 !important;
  }

  .hero-bottom-actions{
    left:18px !important;
    right:18px !important;
    bottom:112px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .hero-bottom-actions .btn{
    min-height:48px !important;
    padding:12px 14px !important;
    font-size:13px !important;
    width:100% !important;
  }

  .hero-facts{
    left:18px !important;
    right:18px !important;
    bottom:22px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    grid-template-columns:repeat(3,1fr) !important;
    border-radius:22px !important;
  }

  .hero-facts span{
    padding:13px 8px !important;
    font-size:11px !important;
    line-height:1.25 !important;
    border-right:1px solid rgba(89,72,52,.15) !important;
    border-bottom:0 !important;
  }

  .hero-facts span:last-child{
    border-right:0 !important;
  }

  .quick-facts{
    margin-top:0 !important;
    grid-template-columns:1fr 1fr !important;
    border-radius:24px !important;
  }

  .quick-facts div{
    padding:20px 16px !important;
  }

  .quick-facts strong{
    font-size:30px !important;
  }

  .section{
    padding:74px 0 !important;
  }

  .split,
  .concept-split,
  .layout-grid,
  .contact-grid,
  .lifestyle-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .section-copy,
  .spec-card,
  .contact-form{
    padding:0 !important;
  }

  .concept-section .section-copy{
    padding:0 !important;
  }

  .section h2,
  .video-section h2{
    font-size:clamp(42px,12vw,62px) !important;
    line-height:.96 !important;
    letter-spacing:-.04em !important;
  }

  .section-heading h2{
    max-width:100% !important;
  }

  .concept-visual.concept-single .main-img{
    height:360px !important;
    border-radius:26px !important;
  }

  .video-section{
    padding:76px 0 !important;
  }

  .video-frame{
    border-radius:24px !important;
    padding:8px !important;
  }

  .video-frame video{
    border-radius:18px !important;
  }

  .highlight-grid.highlight-grid-even,
  .gallery-grid.gallery-grid-nine,
  .layout-gallery,
  .plans-grid,
  .doc-strip{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .highlight-grid.highlight-grid-even{
    grid-auto-rows:330px !important;
  }

  .highlight-card h3{
    font-size:30px !important;
  }

  .highlight-card div{
    left:20px !important;
    right:20px !important;
    bottom:20px !important;
  }

  .gallery-grid.gallery-grid-nine{
    grid-auto-rows:270px !important;
  }

  .layout-gallery figure img,
  .lifestyle-card img{
    min-height:280px !important;
    height:320px !important;
  }

  .lifestyle-card div{
    padding:26px !important;
  }

  .doc-strip div{
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }

  .doc-strip div:last-child{
    border-bottom:0 !important;
  }

  .contact-form{
    padding:24px !important;
    border-radius:26px !important;
  }

  .contact-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  input,
  textarea,
  select{
    width:100% !important;
    min-width:0 !important;
  }
}

@media (max-width: 420px){
  .hero h1{
    font-size:clamp(42px,14vw,58px) !important;
  }

  .hero{
    padding-bottom:235px !important;
  }

  .hero-bottom-actions{
    grid-template-columns:1fr !important;
    bottom:125px !important;
  }

  .hero-facts{
    grid-template-columns:1fr !important;
    bottom:18px !important;
  }

  .hero-facts span{
    border-right:0 !important;
    border-bottom:1px solid rgba(89,72,52,.15) !important;
  }

  .hero-facts span:last-child{
    border-bottom:0 !important;
  }

  .quick-facts{
    grid-template-columns:1fr !important;
  }
}


/* V11 — mobile cleanup + clearer site plan */
.plans-grid article:first-child img,
.plan-card:first-child img{
  object-fit:contain;
  background:#fff;
}

/* Better anchor behavior under fixed nav */
section,
#concept,
#video,
#highlights,
#gallery,
#plans,
#contact{
  scroll-margin-top:100px;
}

@media (max-width: 820px){
  section,
  #concept,
  #video,
  #highlights,
  #gallery,
  #plans,
  #contact{
    scroll-margin-top:92px !important;
  }

  /* Mobile hero: no absolute overlap; CTAs and facts flow cleanly below the copy */
  .hero{
    min-height:auto !important;
    padding:124px 20px 44px !important;
    display:block !important;
  }

  .hero-content{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:100% !important;
    padding-top:34px !important;
  }

  .hero .eyebrow{
    font-size:11px !important;
    line-height:1.45 !important;
    letter-spacing:.18em !important;
    margin:0 0 12px !important;
  }

  .hero h1{
    font-size:clamp(40px,13vw,62px) !important;
    line-height:.93 !important;
    max-width:100% !important;
    margin:0 0 18px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hero-copy{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.55 !important;
    margin:0 !important;
  }

  .hero-bottom-actions{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:3 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:24px 0 14px !important;
    width:100% !important;
  }

  .hero-bottom-actions .btn{
    width:100% !important;
    min-height:54px !important;
    padding:14px 16px !important;
    font-size:14px !important;
  }

  .hero-facts{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    z-index:3 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    border-radius:26px !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .hero-facts span{
    padding:15px 12px !important;
    font-size:13px !important;
    line-height:1.3 !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(89,72,52,.15) !important;
  }

  .hero-facts span:last-child{
    border-bottom:0 !important;
  }

  /* Villa Layout mobile card: more padding and smaller title so text cannot touch edges */
  .layout-section{
    padding-top:72px !important;
  }

  .layout-grid{
    gap:24px !important;
  }

  .spec-card{
    padding:30px 22px 28px !important;
    border-radius:30px !important;
    overflow:hidden !important;
    width:100% !important;
    max-width:100% !important;
  }

  .spec-card .eyebrow{
    font-size:12px !important;
    letter-spacing:.22em !important;
    line-height:1.4 !important;
    margin-bottom:18px !important;
  }

  .spec-card h2{
    font-size:clamp(37px,10.5vw,52px) !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
    max-width:100% !important;
    margin-bottom:24px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .spec-list li{
    padding:17px 0 !important;
  }

  .spec-list strong{
    font-size:16px !important;
    line-height:1.35 !important;
  }

  .spec-list span{
    display:block !important;
    font-size:15px !important;
    line-height:1.65 !important;
    overflow-wrap:break-word !important;
  }

  .layout-gallery{
    margin-top:0 !important;
  }

  /* Plans on mobile: clearer site plan without cropping */
  .plans-grid article:first-child img,
  .plan-card:first-child img{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    background:#fff !important;
  }
}

@media (max-width: 420px){
  .hero{
    padding:116px 18px 38px !important;
  }

  .hero-content{
    padding-top:24px !important;
  }

  .hero h1{
    font-size:clamp(38px,12.5vw,54px) !important;
  }

  .spec-card{
    padding:28px 20px 26px !important;
    border-radius:28px !important;
  }

  .spec-card h2{
    font-size:clamp(34px,10vw,46px) !important;
  }
}
