:root{
    --ink:#151C16; --ink-soft:#2A342B; --ivory:#F6F2E7; --paper:#FBF9F3;
    --gold:#B4904F; --gold-light:#f6de85; --gold-dim:rgba(180,144,79,0.35);
    --green-deep:#20301F; --green-mid:#3B4F34; --stone:#7C7565;
    --line:rgba(21,28,22,0.12); --line-ivory:rgba(246,242,231,0.22);
    --radius:2px; --maxw:1240px; --shadow:0 20px 50px -20px rgba(21,28,22,0.35);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'Manrope',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;margin:0;color:var(--ink);letter-spacing:-0.01em;}
  p{margin:0;} a{text-decoration:none;color:inherit;} img{max-width:100%;display:block;}
  ul{margin:0;padding:0;list-style:none;} button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  .eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:12.5px;letter-spacing:0.16em;color:var(--gold);font-weight:700;margin-bottom:16px;}
 
  .eyebrow.center{justify-content:center;}
  .bracketed{position:relative;}
  .bracketed::before,.bracketed::after{content:"";position:absolute;width:22px;height:22px;border:1.5px solid var(--gold);opacity:0.9;pointer-events:none;}
  .bracketed::before{top:-9px;left:-9px;border-right:none;border-bottom:none;}
  .bracketed::after{bottom:-9px;right:-9px;border-left:none;border-top:none;}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;border-radius:var(--radius);font-weight:700;font-size:14px;border:1px solid transparent;transition:all .25s ease;white-space:nowrap;}
  .btn-gold{background:linear-gradient(135deg, #8C5A00 0%, #ffe990 50%, #8C5A00 100%);color:var(--ink);}
  .btn-gold:hover{background:var(--gold-light);transform:translateY(-1px);}
  .btn-outline{background:transparent;color:var(--ivory);border-color:var(--line-ivory);}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold-light);}
  .btn-dark{background:var(--ink);color:var(--ivory);}
  .btn-dark:hover{background:var(--green-mid);}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
  .btn-block{width:100%;} .btn-sm{padding:11px 18px;font-size:12.5px;}


header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  box-sizing: border-box;

  background: #000;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border-bottom: 1px solid rgba(246,242,231,0.08);

  transition: background .3s ease;
}


/* =========================================
   NAV ROW
========================================= */

.nav-row {
  width: 100%;
  max-width: 1280px;

  height: 74px;

  margin: 0 auto;
  padding: 0 25px;

  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: space-between;
}


/* =========================================
   LOGO
========================================= */

.logo {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;

  color: var(--ivory);

  letter-spacing: .02em;

  display: flex;
  flex-direction: column;

  line-height: 1;

  text-decoration: none;

  flex-shrink: 0;
}

.logo img {
  display: block;
  max-width: 123px;
  width: 123px;
  height: auto;
}


/* =========================================
   DESKTOP NAV
========================================= */

nav.primary-nav {
  display: flex;

  align-items: center;

  gap: 44px;

  flex-shrink: 0;
}

nav.primary-nav a {
  color: var(--ivory);

  font-size: 14.5px;
  font-weight: 600;

  position: relative;

  padding: 4px 0;

  text-decoration: none;

  white-space: nowrap;
}

nav.primary-nav a::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: -2px;

  width: 0;
  height: 1px;

  background: var(--gold);

  transition: width .25s ease;
}

nav.primary-nav a:hover::after {
  width: 100%;
}


/* =========================================
   HEADER RIGHT
========================================= */

.header-right {
  display: flex;

  align-items: center;

  gap: 26px;

  flex-shrink: 0;
}


.header-phone {
  display: flex;

  align-items: center;
background: #d3ad69;
  gap: 8px;

  color: white;
  padding: 10px;
border-radius: 2px;
  font-weight: 700;

  font-size: 14.5px;

  white-space: nowrap;

  text-decoration: none;
}


.header-phone svg {
  stroke: white;

  flex-shrink: 0;
}


/* =========================================
   MENU TOGGLE
========================================= */

.menu-toggle {
  display: none;

  align-items: center;
  justify-content: center;

  flex-direction: column;

  gap: 5px;

  width: 40px;
  height: 40px;

  padding: 6px;

  margin: 0;

  background: transparent;

  border: none;

  cursor: pointer;

  flex-shrink: 0;
}

.menu-toggle span {
  width: 24px;
  height: 2px;

  background: var(--ivory);

  display: block;

  transition: all .25s ease;
}

.menu-toggle.open span:nth-child(1) {
  transform:
    translateY(7px)
    rotate(45deg);
}

.menu-toggle.open span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.open span:nth-child(3) {
  transform:
    translateY(-7px)
    rotate(-45deg);
}


/* =========================================
   TABLET / MOBILE
========================================= */
/* =========================================================
   MOBILE HEADER
========================================================= */

@media(max-width:600px){

  html,
  body{
    overflow-x:clip;
  }


  header{

    position:fixed;

    top:0;
    left:0;
    right:0;

    width:100%;
    height:76px;

    z-index:1000;

    background:#000;

  }


  .nav-row{

    width:100%;
    max-width:100%;

    height:76px;

    padding-left:16px;
    padding-right:16px;

    box-sizing:border-box;
  }


  .logo img{

    width:105px;
    max-width:105px;

  }


  /* =========================================
     MOBILE MENU
  ========================================= */

  nav.primary-nav{

    position:fixed;

    top:76px;
    left:0;

    width:100%;
    height:calc(100dvh - 76px);

    max-width:100%;

    box-sizing:border-box;

    padding:12px 24px 30px;

    background:#101610;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:flex-start;

    gap:0;

    overflow-y:auto;
    overflow-x:hidden;

    transform:translateX(100%);

    transition:
      transform .35s
      cubic-bezier(.2,.8,.2,1);

    z-index:999;
  }


  nav.primary-nav.open{
    transform:translateX(0);
  }


  nav.primary-nav a{

    width:100%;

    box-sizing:border-box;

    padding:20px 0;

    border-bottom:
      1px solid
      rgba(246,242,231,.08);

    font-size:17px;

    color:#f6f2e7;
  }


  nav.primary-nav a::after{
    display:none;
  }


  .header-phone span{
    display:none;
  }


  .header-right .btn{
    display:none;
  }


  .menu-toggle{
    display:flex;

    width:38px;
    height:38px;
  }

}

/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 600px) {

  .nav-row {
    height: 76px;

    padding-left: 16px;
    padding-right: 16px;
  }


  .logo img {
    width: 105px;
    max-width: 105px;
  }


  nav.primary-nav {
    top: 76px;

    height:
      calc(100vh - 76px);

    padding:
      12px 24px 30px;
  }


  nav.primary-nav a {
    padding: 20px 0;

    font-size: 17px;
  }


  .menu-toggle {
    width: 38px;
    height: 38px;
  }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 380px) {

  .nav-row {
    padding-left: 13px;
    padding-right: 13px;
  }


  .logo img {
    width: 95px;
  }


  nav.primary-nav {
    padding-left: 20px;
    padding-right: 20px;
  }

}

  /* ===== PROPERTY BANNER ===== */
  /* =========================================================
   SINGLE-SCREEN PROPERTY HERO
========================================================= */

.p-hero{
  position:relative;
  height:calc(100vh - 84px);
  min-height:620px;
  max-height:820px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#101610;
  color:#fff;
}

/* BACKGROUND */
.p-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
}

.p-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.02);
}

/* OVERLAY */
.p-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;

  background:
    linear-gradient(
      90deg,
      rgba(8,13,9,.92) 0%,
      rgba(8,13,9,.72) 36%,
      rgba(8,13,9,.38) 68%,
      rgba(8,13,9,.58) 100%
    ),
    linear-gradient(
      0deg,
      rgba(8,13,9,.65),
      transparent 50%
    );
}

/* CONTAINER */
.p-hero-wrap{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  padding-top:25px;
  padding-bottom:25px;
}

/* GRID */
.p-hero-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:65px;
  align-items:center;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.p-hero-content{
  max-width:720px;
}

.p-hero-topline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:17px;
}

.p-hero-topline span{
  width:35px;
  height:1px;
  background:#d3ad69;
}

.p-hero-topline small{
  color:#d8c8a7;
  font-family:'Manrope',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.24em;
}

.p-hero-brand{
  font-family:'Manrope',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.34em;
  color:#fff;
  margin-bottom:5px;
}

.p-hero-brand small{
  display:block;
  margin-top:4px;
  font-size:6.5px;
  letter-spacing:.24em;
  color:#d3ad69;
}

.p-hero h1{
  margin:0;
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:clamp(58px,6.5vw,88px);
  line-height:.88;
  letter-spacing:-.045em;
  color:#f8f7f4;
}

.p-hero h1 em{
  color:#d3ad69;
  font-style:italic;
  font-weight:400;
}

.p-hero-location{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  color:#eee9df;
  font-family:'Manrope',sans-serif;
  font-size:12px;
}

.location-icon{
  width:27px;
  height:27px;
  border:1px solid rgba(211,173,105,.55);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d3ad69;
}

.p-hero-desc{
  max-width:500px;
  margin:16px 0 0;
  color:rgba(248,247,244,.78);
  font-family:'Manrope',sans-serif;
  font-size:12px;
  line-height:1.7;
}


/* =========================================================
   HERO HIGHLIGHTS
========================================================= */

.p-hero-highlights{
  display:flex;
  margin-top:21px;
  max-width:500px;
  border-top:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(255,255,255,.17);
}

.hero-highlight{
  flex:1;
  padding:11px 20px 11px 0;
  border-right:1px solid rgba(255,255,255,.14);
}

.hero-highlight:not(:first-child){
  padding-left:20px;
}

.hero-highlight:last-child{
  border-right:0;
}

.hero-highlight strong{
  display:block;
  font-family:'Fraunces',serif;
  color:#e0bd78;
  font-size:20px;
  font-weight:400;
}

.hero-highlight span{
  display:block;
  margin-top:3px;
  color:rgb(255 255 255 / 72%);
  font-family:'Manrope',sans-serif;
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
}


/* =========================================================
   CTA
========================================================= */

.p-hero-cta{
  display:flex;
  gap:10px;
  margin-top:20px;
}

.p-hero-cta .btn{
  min-height:45px;
  padding:0 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  font-family:'Manrope',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.05em;
  text-decoration:none;
}

.p-hero-cta .btn span{
  font-size:13px;
  transition:transform .25s ease;
}

.p-hero-cta .btn:hover span{
  transform:translateX(4px);
}

.p-hero-cta .btn-gold{
  background:#d3ad69;
  color:#101610;
  border:1px solid #d3ad69;
}

.p-hero-cta .btn-outline{
  color:#fff;
  border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(5px);
}

.p-hero-cta .btn-outline:hover{
  background:#fff;
  color:#101610;
}

.p-hero-note{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:11px;
  color:rgba(255,255,255,.45);
  font-family:'Manrope',sans-serif;
  font-size:8px;
}

.note-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d3ad69;
}


/* =========================================================
   FORM CARD — COMPACT
========================================================= */

.p-hero-form-wrap{
  position:relative;
}

.form-card{
  position:relative;
  background:#f8f7f4;
  color:#172018;
  padding:27px 30px;
  box-shadow:
    0 25px 65px rgba(0,0,0,.30),
    0 5px 20px rgba(0,0,0,.12);
}

/* GOLD CORNERS */
.form-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:60px;
  height:60px;
  border-top:1px solid #c9a35f;
  border-right:1px solid #c9a35f;
}

.form-card::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:45px;
  height:45px;
  border-left:1px solid #c9a35f;
  border-bottom:1px solid #c9a35f;
}

.form-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
}

.form-eyebrow{
  display:block;
  color:#b38a48;
  font-family:'Manrope',sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.2em;
}

.form-card h2{
  margin:7px 0 0;
  font-family:'Fraunces',serif;
  font-size:20px;
  text-align: center;
  line-height:1.08;
  font-weight:400;
  color:#152018;
}

.form-card h2 em{
  color:#b28a4b;
  font-style:italic;
}

.form-number{
  color:#c5a269;
  font-family:'Fraunces',serif;
  font-size:25px;
  line-height:1;
}

.form-divider{
  height:1px;
  background:#ddd9d0;
  margin:17px 0 14px;
}

.form-intro{
  margin:0 0 17px;
  color:#70756f;
  font-family:'Manrope',sans-serif;
  font-size:9px;
  line-height:1.55;
}


/* =========================================================
   INPUTS
========================================================= */

.premium-field{
  margin-bottom:11px;
}

.premium-field label{
  display:flex;
  justify-content:space-between;
  margin-bottom:5px;
  color:#30372f;
  font-family:'Manrope',sans-serif;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.premium-field label span{
  color:#999d96;
  font-size:7px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}

.input-wrap{
  position:relative;
}

.input-icon{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  color:#b18a4d;
  font-family:'Manrope',sans-serif;
  font-size:7px;
  font-weight:700;
  z-index:1;
}

.input-wrap input{
  width:100%;
  height:40px;
  padding:0 12px 0 38px;
  border:1px solid #d8d7d2;
  background:#fff;
  color:#172018;
  outline:none;
  font-family:'Manrope',sans-serif;
  font-size:10px;
  transition:.25s ease;
}

.input-wrap input::placeholder{
  color:#aaa9a3;
}

.input-wrap input:focus{
  border-color:#c29b5b;
  box-shadow:0 0 0 3px rgba(194,155,91,.09);
}


/* =========================================================
   SUBMIT
========================================================= */

.hero-submit{
  width:100%;
  height:45px;
  margin-top:3px;
  padding:0 17px;
  border:0;
  background:#152018;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  font-family:'Manrope',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  transition:.25s ease;
}

.hero-submit strong{
  width:23px;
  height:23px;
  border:1px solid rgba(255,255,255,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:400;
}

.hero-submit:hover{
  background:#c49b55;
  color:#101610;
  transform:translateY(-1px);
}

.form-fine{
  margin:9px 0 0;
  color:#8a8d86;
  font-family:'Manrope',sans-serif;
  font-size:6.5px;
  line-height:1.45;
}

.partner-note{
  display:flex;
  align-items:center;
  gap:5px;
  margin:8px 0 0;
  color:#737870;
  font-family:'Manrope',sans-serif;
  font-size:7px;
}

.partner-note span{
  color:#c29a58;
  font-size:6px;
}


/* =========================================================
   SCROLL INDICATOR
========================================================= */

.hero-scroll{
  position:absolute;
  z-index:3;
  bottom:17px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  color:rgba(255,255,255,.4);
}

.hero-scroll span{
  font-family:'Manrope',sans-serif;
  font-size:6px;
  letter-spacing:.25em;
}

.hero-scroll i{
  width:1px;
  height:22px;
  background:linear-gradient(
    to bottom,
    #d3ad69,
    transparent
  );
}


/* =========================================================
   LAPTOP
========================================================= */

@media(max-width:1200px){

  .p-hero{
    min-height:600px;
  }

  .p-hero-grid{
    grid-template-columns:minmax(0,1fr) 380px;
    gap:40px;
  }

  .p-hero h1{
    font-size:70px;
  }

  .p-hero-desc{
    max-width:520px;
  }

  .form-card{
    padding:24px 26px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .p-hero{
    height:auto;
    min-height:0;
    max-height:none;
  }

  .p-hero-bg{
    height:600px;
  }

  .p-hero-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(8,13,9,.62) 0%,
        rgba(8,13,9,.80) 45%,
        rgba(8,13,9,.96) 100%
      );
  }

  .p-hero-wrap{
    height:auto;
    padding:90px 18px 40px;
  }

  .p-hero-grid{
    display:block;
  }

  .p-hero-content{
    max-width:none;
  }

  .p-hero h1{
    font-size:58px;
  }

  .p-hero-location{
    font-size:11px;
  }

  .p-hero-desc{
    font-size:11px;
  }

  .p-hero-highlights{
    margin-top:20px;
  }

  .hero-highlight{
    padding:10px 10px 10px 0;
  }

  .hero-highlight:not(:first-child){
    padding-left:10px;
  }

  .hero-highlight strong{
    font-size:17px;
  }

  .hero-highlight span{
    font-size:6px;
  }

  .p-hero-cta{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:20px;
  }

  .p-hero-form-wrap{
    margin-top:32px;
  }

  .form-card{
    padding:24px 20px;
  }

  .form-card h2{
    font-size:32px;
  }

  .hero-scroll{
    display:none;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .p-hero-wrap{
    padding-left:15px;
    padding-right:15px;
  }

  .p-hero h1{
    font-size:52px;
  }

  .p-hero-cta{
    grid-template-columns:1fr 1fr;
  }

}
  /* ===== STICKY SUB-NAV ===== */
/* =========================================================
   PROPERTY SUB NAV
========================================================= */

.sub-nav{
  position:sticky;
  top:76px;

  width:100%;
  height:74px;

  z-index:900;

  background:rgba(255,255,255,.97);

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  border-bottom:1px solid #e7e2d9;

  box-shadow:0 8px 25px rgba(20,28,22,.05);
}


/* =========================================================
   INNER
========================================================= */

.sub-nav-inner{
  height:100%;
max-width: 100%;
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;
}


/* =========================================================
   LINKS
========================================================= */

.sub-nav-links{
  height:100%;
  flex:1;
  min-width:0;

  display:flex;
  align-items:center;

  overflow-x:auto;
  overflow-y:hidden;

  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.sub-nav-links::-webkit-scrollbar{
  display:none;
}


.sub-nav-links a{
  position:relative;

  height:100%;

  flex:0 0 auto;

  display:flex;
  align-items:center;

  gap:8px;

  padding:0 18px;

  color:#77736b;

  white-space:nowrap;

  font-family:'Manrope',sans-serif;
  font-size:12px;
  font-weight:600;

  text-decoration:none;

  transition:.25s ease;
}


/* NUMBER */

.sub-nav-links a span{
  color:#b6b0a6;

  font-size:6px;
  font-weight:700;
}


/* ACTIVE LINE */

.sub-nav-links a::after{
  content:"";

  position:absolute;

  left:18px;
  right:18px;
  bottom:0;

  height:2px;

  background:#c9a35f;

  transform:scaleX(0);

  transition:transform .3s ease;
}


.sub-nav-links a:hover{
  color:#172019;
}

.sub-nav-links a.active{
  color:#172019;
}

.sub-nav-links a.active span{
  color:#a17b43;
}

.sub-nav-links a.active::after{
  transform:scaleX(1);
}


/* =========================================================
   CTA
========================================================= */

.sub-nav-cta{
  flex:0 0 auto;

  height:38px;
  min-width:125px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:12px;

  padding:0 13px 0 16px;

  border:1px solid #c9a35f;

  background:#c9a35f;

  color:#111811;

  cursor:pointer;

  font-family:'Manrope',sans-serif;

  font-size:8px;
  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  transition:.3s ease;
}

.sub-nav-cta strong{
  font-size:15px;
  font-weight:400;
}

.sub-nav-cta:hover{
  background:#dfbd78;
  border-color:#dfbd78;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:940px){

  .sub-nav{
    top:84px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

  .sub-nav{

    /* IMPORTANT */
    position:sticky;

    top:76px;

    width:100%;
    height:56px;

    z-index:900;

    background:rgba(255,255,255,.98);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    border-bottom:1px solid #e7e2d9;

    box-shadow:
      0 8px 25px rgba(0,0,0,.07);
  }


  .sub-nav-inner{

    width:100%;
    height:56px;

    padding:0;

    display:flex;
    align-items:center;

    gap:8px;
  }


  /* =======================================================
     SCROLLABLE NAV
  ======================================================= */

  .sub-nav-links{

    flex:1;
    min-width:0;

    height:56px;

    display:flex;
    align-items:center;

    overflow-x:auto;
    overflow-y:hidden;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
  }

  .sub-nav-links::-webkit-scrollbar{
    display:none;
  }


  .sub-nav-links a{

    height:56px;

    flex:0 0 auto;

    padding:0 13px;

    font-size:8px;

    gap:0;
  }


  /* Hide numbers */

  .sub-nav-links a span{
    display:none;
  }


  .sub-nav-links a::after{

    left:13px;
    right:13px;

    bottom:0;

    height:2px;
  }


  /* =======================================================
     MOBILE ENQUIRE
  ======================================================= */

  .sub-nav-cta{

    flex:0 0 auto;

    height:34px;

    min-width:94px;

    margin-right:8px;

    padding:0 10px;

    font-size:7px;

    gap:7px;
  }

  .sub-nav-cta strong{
    font-size:13px;
  }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .sub-nav{
    top:76px;
  }

  .sub-nav-cta{
    min-width:86px;

    margin-right:6px;
  }

  .sub-nav-cta span{
    font-size:6.5px;
  }

  .sub-nav-links a{
    padding:0 11px;
  }

}


  /* GALLERY CAROUSEL */
/* =========================================================
   SOBHA AYANA — PREMIUM GALLERY
========================================================= */

.premium-gallery {

  position: relative;

  padding: 110px 0 85px;

  background: #f8f7f4;

  overflow: hidden;

}


/* =========================================================
   HEADER
========================================================= */

.gallery-header {

  max-width: 760px;

  margin: 0 auto 55px;

  text-align: center;

}


.gallery-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 11px;

  margin-bottom: 18px;

  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;

  font-weight: 700;

  letter-spacing: .22em;

}


.gallery-eyebrow span {

  width: 30px;

  height: 1px;

  background: #c9a35f;

}


.gallery-header h2 {

  margin: 0;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: clamp(40px, 5vw, 62px);

  line-height: 1.04;

  font-weight: 400;

  letter-spacing: -.035em;

}


.gallery-header h2 em {

  color: #b28a50;

  font-style: italic;

}


.gallery-header p {

  max-width: 650px;

  margin: 20px auto 0;

  color: #77736b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 12px;

  line-height: 1.85;

}


/* =========================================================
   CAROUSEL
========================================================= */

.gallery-carousel {

  position: relative;

  width: 100%;

  height: 570px;

  overflow: hidden;

}


.gallery-track {

  position: relative;

  width: 100%;

  height: 100%;

}


/* =========================================================
   SLIDE
========================================================= */

.gallery-slide {

  position: absolute;

  left: 50%;
  top: 50%;

  width: min(760px, 64vw);

  height: 470px;

  overflow: hidden;

  background: #ddd;

  box-shadow:
    0 25px 60px
    rgba(18,26,20,.18);

  cursor: pointer;

  transition:
    transform .65s cubic-bezier(.2,.8,.2,1),
    opacity .5s ease,
    box-shadow .5s ease;

}


.gallery-slide::after {

  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      180deg,
      transparent 55%,
      rgba(0,0,0,.65) 100%
    );

  pointer-events: none;

}


.gallery-slide img {

  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  transition: transform .8s ease;

}


.gallery-slide.is-active:hover img {

  transform: scale(1.035);

}


/* =========================================================
   CAPTION
========================================================= */

.gallery-caption {

  position: absolute;

  left: 28px;
  right: 28px;
  bottom: 25px;

  z-index: 3;

  display: flex;

  flex-direction: column;

  gap: 6px;

}


.gallery-caption span {

  color: #d3ad69;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  font-weight: 800;

  letter-spacing: .18em;

}


.gallery-caption strong {

  max-width: 500px;

  color: #fff;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 23px;

  line-height: 1.1;

  font-weight: 400;

}


/* =========================================================
   ARROWS
========================================================= */

.gallery-arrow {

  position: absolute;

  top: 50%;

  z-index: 20;

  width: 48px;
  height: 48px;

  display: flex;

  align-items: center;
  justify-content: center;

  border: 1px solid rgba(255,255,255,.45);

  background: rgba(18,26,20,.78);

  color: #fff;

  border-radius: 50%;

  cursor: pointer;

  transform: translateY(-50%);

  backdrop-filter: blur(8px);

  transition:
    background .3s ease,
    border-color .3s ease,
    transform .3s ease;

}


.gallery-prev {

  left: 35px;

}


.gallery-next {

  right: 35px;

}


.gallery-arrow:hover {

  background: #c9a35f;

  border-color: #c9a35f;

  color: #121a14;

  transform:
    translateY(-50%)
    scale(1.06);

}


/* =========================================================
   DOTS
========================================================= */

.gallery-dots {

  display: flex;

  justify-content: center;

  align-items: center;

  gap: 7px;

  margin-top: 25px;

}


.gallery-dot {

  width: 24px;
  height: 2px;

  padding: 0;

  border: 0;

  background: #d5d0c7;

  cursor: pointer;

  transition:
    width .3s ease,
    background .3s ease;

}


.gallery-dot.active {

  width: 42px;

  background: #b28a50;

}


/* =========================================================
   BOTTOM BAR
========================================================= */

.gallery-bottom {

  margin-top: 35px;

  padding: 20px 25px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;

  border-top: 1px solid #ddd8cf;

  border-bottom: 1px solid #ddd8cf;

}


.gallery-bottom > span {

  color: #918c83;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  font-weight: 700;

  letter-spacing: .12em;

}


.gallery-cta {

  display: flex;

  align-items: center;

  gap: 12px;

  padding: 11px 17px;

  border: 1px solid #c9a35f;

  background: transparent;

  color: #172019;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  font-weight: 800;

  letter-spacing: .08em;

  text-transform: uppercase;

  cursor: pointer;

  transition: .3s ease;

}


.gallery-cta strong {

  font-size: 14px;

  font-weight: 400;

}


.gallery-cta:hover {

  background: #c9a35f;
color: #fff;
  border-color: #c9a35f;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

  .premium-gallery {

    padding: 80px 0 65px;

  }


  .gallery-carousel {

    height: 500px;

  }


  .gallery-slide {

    width: 70vw;

    height: 410px;

  }


  .gallery-prev {

    left: 20px;

  }


  .gallery-next {

    right: 20px;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

  .premium-gallery {

    padding: 70px 0 55px;

  }


  .gallery-header {

    margin-bottom: 35px;

    padding: 0 18px;

  }


  .gallery-header h2 {

    font-size: 30px;

  }


  .gallery-header p {

    font-size: 12px;

    line-height: 1.75;

  }


  .gallery-carousel {

    height: 400px;

  }


  .gallery-slide {

    width: 82vw;

    height: 330px;

  }


  .gallery-caption {

    left: 18px;

    right: 18px;

    bottom: 18px;

  }


  .gallery-caption strong {

    font-size: 18px;

  }


  .gallery-caption span {

    font-size: 6px;

  }


  .gallery-arrow {

    width: 38px;
    height: 38px;

  }


  .gallery-prev {

    left: 10px;

  }


  .gallery-next {

    right: 10px;

  }


  .gallery-dots {

    margin-top: 18px;

  }


  .gallery-bottom {

    margin-top: 28px;

    padding: 18px;

    flex-direction: column;

    align-items: stretch;

  }


  .gallery-bottom > span {

    font-size: 6px;

    line-height: 1.5;

  }


  .gallery-cta {

    justify-content: center;

    min-height: 42px;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

  .gallery-carousel {

    height: 370px;

  }


  .gallery-slide {

    width: 86vw;

    height: 305px;

  }


  .gallery-header h2 {

    font-size: 29px;

  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .gallery-slide,
  .gallery-slide img,
  .gallery-arrow,
  .gallery-dot {

    transition: none;

  }

}
  /* ===== QUICK POINTS (floating premium strip) ===== */
/* =========================================================
   PREMIUM PROJECT QUICK STRIP
========================================================= */

.quick-points{
  position:relative;
  z-index:10;
  background:#f8f7f4;
  padding:0 0 0px;
}


/* =========================================================
   MAIN CARD
========================================================= */

.qp-card{
  position:relative;
  background:#fff;
  border:1px solid #e4dfd5;
  box-shadow:0 20px 55px rgba(16,26,19,.08);
}


/* =========================================================
   HEADER
========================================================= */

.qp-heading{
  min-height:52px;
  display:flex;
  align-items:center;
  padding:0 27px;
  border-bottom:1px solid #ebe7df;
}

.qp-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;

  color:#a17b43;

  font-family:'Manrope',sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.22em;
}

.qp-eyebrow span{
  width:26px;
  height:1px;
  background:#c9a35f;
}

.qp-heading-line{
  flex:1;
  height:1px;
  margin:0 20px;
  background:#eeeae3;
}

.qp-heading-location{
  color:#9d988e;

  font-family:'Manrope',sans-serif;
  font-size:7px;
  font-weight:600;
  letter-spacing:.16em;
}


/* =========================================================
   SIX ITEMS — ONE ROW DESKTOP
========================================================= */

.qp-facts{
  display:grid;
  grid-template-columns:repeat(6,1fr);
}

.qp-item{
  position:relative;

  min-width:0;
  min-height:142px;

  padding:25px 18px 22px;

  display:flex;
  flex-direction:column;
  align-items:flex-start;

  border-right:1px solid #ebe7df;

  transition:
    background .3s ease,
    transform .3s ease;
}

.qp-item:last-child{
  border-right:0;
}

.qp-item:hover{
  background:#fdfcf9;
}


/* =========================================================
   NUMBER
========================================================= */

.qp-number{
  position:absolute;

  top:12px;
  right:13px;

  color:#d7d1c6;

  font-family:'Manrope',sans-serif;
  font-size:7px;
  font-weight:600;
  letter-spacing:.08em;
}


/* =========================================================
   ICON
========================================================= */

.qp-icon{
  width:34px;
  height:34px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid #e4d7bd;
  border-radius:50%;

  color:#b28a4f;

  transition:.3s ease;
}

.qp-item:hover .qp-icon{
  background:#b28a4f;
  border-color:#b28a4f;
  color:#fff;
}


/* =========================================================
   CONTENT
========================================================= */

.qp-content{
  margin-top:16px;
}

.qp-content span{
  display:block;

  margin-bottom:6px;

  color:#99948b;

  font-family:'Manrope',sans-serif;
  font-size:7px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.qp-content strong{
  display:block;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;
  font-size:17px;
  line-height:1.1;
  font-weight:400;
}

.qp-content small{
  display:block;

  margin-top:6px;

  color:#aaa59c;

  font-family:'Manrope',sans-serif;
  font-size:7px;
  line-height:1.4;
}


/* =========================================================
   BOTTOM NOTE
========================================================= */

.qp-bottom{
  min-height:38px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:0 27px;

  border-top:1px solid #ebe7df;

  color:#9a958b;

  font-family:'Manrope',sans-serif;
  font-size:6.5px;
  letter-spacing:.08em;
}

.qp-bottom span:last-child{
  color:#aaa59c;
  letter-spacing:0;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

  .qp-facts{
    grid-template-columns:repeat(3,1fr);
  }

  .qp-item:nth-child(3){
    border-right:0;
  }

  .qp-item:nth-child(-n+3){
    border-bottom:1px solid #ebe7df;
  }

/*  .qp-item:nth-child(n+4){
    border-bottom:0;
  }*/

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

  .quick-points{
    padding-bottom:55px;
  }

  .qp-heading{
    min-height:auto;

    padding:15px 18px;

    flex-wrap:wrap;
    gap:7px;
  }

  .qp-heading-line{
    display:none;
  }

  .qp-heading-location{
    width:100%;

    padding-left:36px;

    font-size:6px;
  }


  /* 2 COLUMN MOBILE */

  .qp-facts{
    grid-template-columns:1fr 1fr;
  }

  .qp-item{
    min-height:118px;

    padding:20px 15px;

    border-right:1px solid #ebe7df;
    border-bottom:1px solid #ebe7df;
  }

  .qp-item:nth-child(3){
    border-right:1px solid #ebe7df;
  }

  .qp-item:nth-child(2n){
    border-right:0;
  }

  .qp-item:nth-child(n+5){
    border-bottom:0;
  }

  .qp-icon{
    width:29px;
    height:29px;
  }

  .qp-content{
    margin-top:13px;
  }

  .qp-content strong{
    font-size:15px;
  }

  .qp-content span{
    font-size:6px;
  }

  .qp-content small{
    font-size:6.5px;
  }


  /* BOTTOM */

  .qp-bottom{
    min-height:auto;

    padding:12px 18px;

    flex-direction:column;
    align-items:flex-start;

    gap:6px;

    line-height:1.5;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .qp-item{
    padding:18px 12px;
  }

  .qp-content strong{
    font-size:14px;
  }

  .qp-content small{
    display:none;
  }

}
  section{padding:96px 0;} @media(max-width:640px){section{padding:60px 0;}}
  .section-head{max-width:640px;margin-bottom:48px;}
  .section-head h2{font-size:clamp(28px,3.6vw,40px);}
  .section-head p{color:var(--stone);font-size:16px;margin-top:14px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

  /* OVERVIEW */
  /* =========================================================
   SOBHA AYANA — PREMIUM OVERVIEW
========================================================= */

.premium-overview {
  position: relative;
  padding: 105px 0 110px;
  background: #fffffe;
  overflow: hidden;
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.overview-content {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}


/* =========================================================
   EYEBROW
========================================================= */

.overview-content .eyebrow {

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 11px;

  margin-bottom: 20px;

  color: #a17b43;

  font-family: 'Manrope', sans-serif;
  font-size: 8px;
  font-weight: 700;

  letter-spacing: .22em;
  text-transform: uppercase;

}


.overview-content .eyebrow span {

  width: 30px;
  height: 1px;

  background: #c9a35f;

}


/* =========================================================
   MAIN HEADING
========================================================= */

.overview-content h2 {

  max-width: 100%;

  margin: 0 auto;

  text-align: center;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: clamp(42px, 5vw, 64px);

  line-height: 1.04;

  font-weight: 400;

  letter-spacing: -.025em;

}


.overview-content h2 em {

  color: #b28a50;

  font-style: italic;

}


/* =========================================================
   INTRO
========================================================= */

.overview-lead {

  max-width: 100%;

  margin: 24px auto 0;

  text-align: center;

  color: #77736b;

  font-family: 'Manrope', sans-serif;

  font-size: 12px;

  line-height: 1.9;

}


/* =========================================================
   LOCATION
========================================================= */

.overview-location {

  width: fit-content;

  display: flex;

  align-items: center;

  gap: 13px;

  margin: 30px auto 0;

  padding: 13px 20px;

  border: 1px solid #ded8cc;

  background: rgba(255,255,255,.45);

}


.overview-location-icon {

  width: 35px;
  height: 35px;

  flex: 0 0 35px;

  display: flex;

  align-items: center;
  justify-content: center;

  border: 1px solid #dccba9;

  border-radius: 50%;

  color: #ae8246;

  background: #fbfaf7;

}


.overview-location span {

  display: block;

  margin-bottom: 4px;

  color: #a19b91;

  font-family: 'Manrope', sans-serif;

  font-size: 6.5px;

  font-weight: 700;

  letter-spacing: .16em;

}


.overview-location strong {

  display: block;

  color: #343a34;

  font-family: 'Manrope', sans-serif;

  font-size: 9px;

  font-weight: 600;

}


/* =========================================================
   STORY
========================================================= */

.overview-story {

  max-width: 100%;
text-align: center;
  margin: 55px auto 0;

}


.overview-story p {

  margin: 0 0 20px;

  color: #68655e;

  font-family: 'Manrope', sans-serif;

  font-size: 14px;

  line-height: 1.95;

}


.overview-story > p:first-child {

  color: #3e413c;

  font-size: 14px;

  line-height: 1.9;

}


.overview-story p strong {

  color: #172019;

  font-weight: 700;

}


/* =========================================================
   EDITORIAL NOTE
========================================================= */

.overview-note {

  display: flex;

  align-items: flex-start;

  gap: 17px;

  max-width: 920px;

  margin: 35px auto 0;

  padding: 20px 25px;

  border-top: 1px solid #ddd8cf;
  border-bottom: 1px solid #ddd8cf;

  background: rgba(255,255,255,.28);

}


.overview-note-line {

  width: 2px;

  min-height: 42px;

  flex: 0 0 2px;

  background: #c9a35f;

}


.overview-note p {

  margin: 0;

  color: #817b71;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 15px;

  line-height: 1.55;

  font-style: italic;

}


/* =========================================================
   CTA
========================================================= */

.overview-cta {

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 30px;

  min-width: 235px;

  height: 56px;

  margin: 20px auto 0;

  padding: 0 17px;

  border: 1px solid #c9a35f;

  background: #c9a35f;

  color: #fff;

  cursor: pointer;

  font-family: 'Manrope', sans-serif;

  font-size: 12px;

  font-weight: 800;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition:
    background .3s ease,
    border-color .3s ease,
    transform .3s ease;

}


.overview-cta strong {

  font-size: 16px;

  font-weight: 400;

}


.overview-cta:hover {

  background: #dfbd78;

  border-color: #dfbd78;

  transform: translateY(-2px);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 768px) {

  .premium-overview {

    padding: 80px 0 85px;

  }

  .overview-content {

    max-width: 100%;

  }

  .overview-content h2 {

    font-size: 44px;

  }

  .overview-story {

    margin-top: 45px;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

  .premium-overview {

    padding: 65px 0 70px;

  }


  .overview-content .eyebrow {

    margin-bottom: 16px;

  }


  .overview-content h2 {

    max-width: 100%;

    font-size: 33px;

    line-height: 1.06;

  }


  .overview-lead {

    margin-top: 18px;

    font-size: 10px;

    line-height: 1.8;

  }


  .overview-location {

    width: 100%;

    box-sizing: border-box;

    margin-top: 25px;

    padding: 12px 14px;

  }


  .overview-location strong {

    font-size: 8px;

  }


  .overview-story {

    margin-top: 38px;

  }


  .overview-story p {

    font-size: 10px;

    line-height: 1.85;
    text-align: justify;

  }


  .overview-story > p:first-child {

    font-size: 10.5px;

    line-height: 1.85;

  }


  .overview-note {

    margin-top: 25px;

    padding: 17px 15px;

  }


  .overview-note p {

    font-size: 13px;

  }


  .overview-cta {

    width: 100%;

    margin-top: 25px;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

  .overview-content h2 {

    font-size: 32px;

  }


  .overview-location strong {

    font-size: 7.5px;

  }

}

  /* PRICE LIST */
/* =========================================================
   SOBHA AYANA — PREMIUM PRICE SECTION
========================================================= */

.price-list.premium-price {
  position: relative;
  padding: 55px 0 50px;
  background: #f8f7f4;
  overflow: hidden;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.price-head {
  width: 100%;
  max-width: 850px;
  margin: 0 auto 52px;
  text-align: center;
}

.price-head .eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  margin-bottom: 18px;

  color: #a17b43;

  font-family: 'Manrope', sans-serif;
  font-size: 8px;
  font-weight: 700;

  letter-spacing: .22em;
  text-transform: uppercase;
}

.price-head .eyebrow span {
  display: block;
  width: 30px;
  height: 1px;
  background: #c9a35f;
}

.price-head h2 {
  margin: 0;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    'Times New Roman',
    serif;

  font-size: clamp(40px, 4.8vw, 60px);

  line-height: 1.05;
  font-weight: 400;

  letter-spacing: -.025em;
}

.price-head h2 em {
  color: #b28a50;
  font-style: italic;
}

.price-head p {
  max-width: 680px;

  margin: 20px auto 0;

  color: #77736b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 11px;
  line-height: 1.85;
}


/* =========================================================
   PRICE GRID
   IMPORTANT:
   FLEX + CENTER = INCOMPLETE ROWS ALSO CENTERED
========================================================= */

.premium-price-grid {
  display: flex;
  flex-wrap: wrap;

  justify-content: center;
  align-items: stretch;

  gap: 24px;

  width: 100%;
  max-width: 1120px;

  margin: 0 auto;
}


/* =========================================================
   PRICE CARD
========================================================= */

.premium-price-card {
  position: relative;

  flex: 0 0 calc((100% - 48px) / 3);

  max-width: 350px;
  min-width: 0;

  box-sizing: border-box;

  padding: 29px 27px 27px;

  background: #ffffff;

  border: 1px solid #e3ded5;

  box-shadow:
    0 15px 40px rgba(16,26,19,.055);

  transition:
    transform .4s cubic-bezier(.2,.8,.2,1),
    box-shadow .4s ease,
    border-color .3s ease;
}


/* HOVER */

.premium-price-card:hover {
  transform: translateY(-7px);

  border-color: #d4c4a8;

  box-shadow:
    0 25px 55px rgba(16,26,19,.11);
}


/* FEATURED */

.premium-price-card.featured {
  border-color: #c9a35f;

  box-shadow:
    0 20px 50px rgba(178,138,80,.13);
}


/* =========================================================
   FEATURED TOP LINE
========================================================= */

.pc-featured-line {
  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 2px;

  background: #c9a35f;
}


/* =========================================================
   TOP
========================================================= */

.pc-top {
  position: relative;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  min-height: 67px;
}

.pc-label {
  display: block;

  margin-bottom: 7px;

  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;
  font-weight: 700;

  letter-spacing: .18em;
}

.pc-top h3 {
  margin: 0;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 25px;
  line-height: 1.1;

  font-weight: 400;

  letter-spacing: -.01em;
}

.pc-top p {
  margin: 5px 0 0;

  color: #969188;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 11px;
}

.pc-number {
  color: #d5cec2;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;
  font-weight: 700;

  letter-spacing: .08em;
}


/* =========================================================
   DIVIDER
========================================================= */

.pc-divider {
  width: 100%;
  height: 1px;

  margin: 19px 0;

  background: #ebe7df;
}


/* =========================================================
   DETAILS
========================================================= */

.pc-details {
  display: grid;

  grid-template-columns: 1fr 1fr;
}

.pc-detail {
  min-width: 0;
}

.pc-detail + .pc-detail {
  padding-left: 18px;

  border-left: 1px solid #ebe7df;
}

.pc-detail span {
  display: block;

  margin-bottom: 7px;

  color: #99948b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size:8px;
  font-weight: 700;

  letter-spacing: .13em;
}

.pc-detail strong {
  display: block;

  color: #263027;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 13px;
  font-weight: 700;

  line-height: 1.3;
}


/* =========================================================
   PRICE
========================================================= */

.pc-price-wrap {
  margin-top: 24px;

  padding-top: 19px;

  border-top: 1px solid #ebe7df;
}

.pc-price-label {
  display: block;

  margin-bottom: 6px;

  color: #99948b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;
  font-weight: 700;

  letter-spacing: .14em;

  text-transform: uppercase;
}

.pc-price {
  color: #071c35;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 40px;

  line-height: 1;

  font-weight: 400;

  letter-spacing: -.025em;
}

.pc-price sup {
  color: #b28a50;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 20px;

  top: -.8em;

  position: relative;
}

.pc-price-onwards {
  display: block;

  margin-top: 6px;

  color: #9b968d;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  letter-spacing: .12em;

  text-transform: uppercase;
}


/* =========================================================
   FEATURE
========================================================= */

.pc-feature {
  display: flex;
  align-items: center;

  gap: 9px;

  margin-top: 21px;

  padding: 12px 0;

  border-top: 1px solid #ebe7df;
  border-bottom: 1px solid #ebe7df;

  color: #706c65;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 10px;

  line-height: 1.45;
}

.pc-check {
  flex-shrink: 0;

  width: 20px;
  height: 20px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #dfcfaf;
  border-radius: 50%;

  color: #b28a50;

  font-size: 9px;
  font-weight: 700;
}


/* =========================================================
   BUTTON
========================================================= */

.premium-price-card .btn {
  width: 100%;

  min-height: 45px;

  margin-top: 20px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  border-radius: 0;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;
  font-weight: 700;

  letter-spacing: .08em;

  text-transform: uppercase;

  cursor: pointer;

  transition: .3s ease;
}

.premium-price-card .btn strong {
  font-size: 14px;
  font-weight: 400;
}

.premium-price-card .btn-ghost {
  color: #071c35;

  background: transparent;

  border: 1px solid #d5d0c8;
}

.premium-price-card .btn-ghost:hover {
  color: #fff;

  background: #071c35;

  border-color: #071c35;
}

.premium-price-card .btn-gold {
  color: #071c35;

  background: #cdab6e;

  border: 1px solid #cdab6e;
}

.premium-price-card .btn-gold:hover {
  color: #fff;

  background: #071c35;

  border-color: #071c35;
}


/* =========================================================
   PRICE INFORMATION STRIP
========================================================= */

.price-information {
  max-width: 1120px;

  margin: 28px auto 0;

  padding: 20px 24px;

  display: grid;

  grid-template-columns: 42px 1fr auto;

  align-items: center;

  gap: 17px;

  background: #ffffff;

  border: 1px solid #e3ded5;

  box-shadow:
    0 10px 30px rgba(16,26,19,.04);
}

.price-info-icon {
  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #dfcfaf;
  border-radius: 50%;

  color: #b28a50;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 19px;
}

.price-info-content strong {
  display: block;

  margin-bottom: 5px;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 17px;
  font-weight: 400;
}

.price-info-content p {
  max-width: 700px;

  margin: 0;

  color: #8b877f;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 10px;

  line-height: 1.65;
}

.price-info-cta {
  min-height: 40px;

  padding: 0 17px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  border: 1px solid #cdab6e;

  background: #cdab6e;

  color: #071c35;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;
  font-weight: 800;

  letter-spacing: .08em;

  text-transform: uppercase;

  cursor: pointer;

  transition: .3s ease;
}

.price-info-cta span {
  font-size: 13px;
}

.price-info-cta:hover {
  color: #fff;

  background: #071c35;

  border-color: #071c35;
}


/* =========================================================
   DISCLAIMER
========================================================= */

.price-note {
  max-width: 900px;

  margin: 22px auto 0;

  padding-top: 16px;

  border-top: 1px solid #ded9d0;

  color: #99948c;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  line-height: 1.7;

  text-align: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

  .price-list.premium-price {
    padding: 85px 0 75px;
  }

  .premium-price-grid {
    gap: 18px;
  }

  .premium-price-card {
    flex: 0 0 calc((100% - 18px) / 2);
    max-width: 390px;
  }

  .price-information {
    grid-template-columns: 40px 1fr;
  }

  .price-info-cta {
    grid-column: 1 / -1;

    justify-self: start;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

  .price-list.premium-price {
    padding: 70px 0 60px;
  }

  .price-head {
    margin-bottom: 35px;
    padding: 0 8px;
  }

  .price-head .eyebrow {
    font-size: 7px;
    gap: 8px;
  }

  .price-head .eyebrow span {
    width: 20px;
  }

  .price-head h2 {
    font-size: 33px;
    line-height: 1.08;
  }

  .price-head p {
    margin-top: 15px;

    font-size: 11px;

    line-height: 1.75;
  }


  /* ONE CARD PER ROW */

  .premium-price-grid {
    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 16px;
  }

  .premium-price-card {
    width: 100%;
    max-width: 500px;

    flex: none;

    padding: 25px 20px 23px;
  }


  .pc-top h3 {
    font-size: 23px;
  }

  .pc-price {
    font-size: 27px;
  }


  /* INFORMATION STRIP */

  .price-information {
    grid-template-columns: 36px 1fr;

    padding: 18px;

    gap: 12px;
  }

  .price-info-icon {
    width: 36px;
    height: 36px;
  }

  .price-info-content strong {
    font-size: 15px;
  }

  .price-info-content p {
    font-size: 8.5px;
  }

  .price-info-cta {
    width: 100%;

    min-height: 44px;

    grid-column: 1 / -1;
  }


  .price-note {
    padding: 14px 8px 0;

    font-size: 8.8px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

  .price-list.premium-price {
    padding: 60px 0 55px;
  }

  .price-head h2 {
    font-size: 32px;
  }

  .premium-price-card {
    padding: 22px 17px;
  }

  .pc-top h3 {
    font-size: 21px;
  }

  .pc-price {
    font-size: 33px;
  }

}

/* =========================================================
   SOBHA AYANA — PREMIUM FLOOR PLAN
========================================================= */

.floorplan-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin-top: 45px;
}

.floorplan-item {
  width: calc((100% - 60px) / 3);
  max-width: 380px;
}

.floorplan-image {
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.floorplan-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.floorplan-download {
  width: 100%;
  margin-top: 15px;
  padding: 15px 20px;
  border: 1px solid #c7a46a;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: 0.3s ease;
}

.floorplan-download:hover {
  background: #c7a46a;
  color: #fff;
}

@media (max-width: 900px) {
  .floorplan-item {
    width: calc((100% - 30px) / 2);
  }
}

@media (max-width: 600px) {
  .floorplan-grid {
    gap: 25px;
  }

  .floorplan-item {
    width: 100%;
    max-width: 400px;
  }
}

  /* HIGHLIGHTS */
 /* =========================================================
   SOBHA AYANA — PREMIUM HIGHLIGHTS
========================================================= */
/* =========================================================
   SOBHA AYANA — PREMIUM HIGHLIGHTS
========================================================= */

.premium-highlights {
  position: relative;
  padding: 110px 0 95px;
  background: #f8f7f4;
  overflow: hidden;
}


/* =========================================================
   HEADER
========================================================= */

.premium-highlights .sh-header {
  max-width: 760px;
  margin: 0 auto 55px;
  text-align: center;
}

.premium-highlights .sh-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  margin-bottom: 18px;

  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;
  font-weight: 700;
  letter-spacing: .22em;
}

.premium-highlights .sh-eyebrow span {
  width: 30px;
  height: 1px;
  background: #c9a35f;
}

.premium-highlights .sh-header h2 {
  margin: 0;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: clamp(40px, 5vw, 62px);
  line-height: 1.04;

  font-weight: 400;
  letter-spacing: -.035em;
}

.premium-highlights .sh-header h2 em {
  color: #b28a50;
  font-style: italic;
}

.premium-highlights .sh-header p {
  max-width: 650px;

  margin: 20px auto 0;

  color: #77736b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 10px;
  line-height: 1.85;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.hl-layout {
  display: grid;

  grid-template-columns:
    minmax(0, .92fr)
    minmax(0, 1.08fr);

  gap: 55px;

  align-items: stretch;
}


/* =========================================================
   IMAGE
========================================================= */

.hl-visual {
  position: relative;

  min-height: 600px;

  overflow: hidden;

  background: #dedbd3;
}

.hl-visual img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  transition: transform .8s ease;
}

.hl-visual:hover img {
  transform: scale(1.035);
}

.hl-visual::after {
  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 45%,
      rgba(0,0,0,.72) 100%
    );

  pointer-events: none;
}

.hl-image-caption {
  position: absolute;

  left: 27px;
  right: 27px;
  bottom: 25px;

  z-index: 2;

  display: flex;
  flex-direction: column;

  gap: 5px;
}

.hl-image-caption span {
  color: #d3ad69;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;
  font-weight: 700;

  letter-spacing: .2em;
}

.hl-image-caption strong {
  color: #fff;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 21px;
  font-weight: 400;
}


/* =========================================================
   HIGHLIGHT CONTENT
========================================================= */

.hl-content {
  display: flex;
  align-items: center;
}

.hl-list {
  width: 100%;

  border-top: 1px solid #ddd8cf;
}


/* =========================================================
   HIGHLIGHT ITEM
========================================================= */

.hl-item {
  position: relative;

  display: grid;

  grid-template-columns: 46px 1fr;

  gap: 18px;

  padding: 23px 5px 23px 0;

  border-bottom: 1px solid #ddd8cf;

  transition:
    background .3s ease,
    padding-left .3s ease;
}

.hl-item:hover {
  padding-left: 10px;
  background: rgba(255,255,255,.45);
}


/* =========================================================
   ICON
========================================================= */

.hl-icon {
  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #dfd2b9;

  border-radius: 50%;

  color: #b28a50;

  transition: .3s ease;
}

.hl-item:hover .hl-icon {
  background: #b28a50;
  border-color: #b28a50;
  color: #fff;
}


/* =========================================================
   COPY
========================================================= */

.hl-copy {
  padding-right: 10px;
}

.hl-label {
  display: block;

  margin-bottom: 6px;

  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;
  font-weight: 700;

  letter-spacing: .17em;
  text-transform: uppercase;
}

.hl-copy strong {
  display: block;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 21px;

  line-height: 1.12;

  font-weight: 400;
}

.hl-copy p {
  max-width: 570px;

  margin: 7px 0 0;

  color: #77736b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 9px;

  line-height: 1.7;
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.hl-bottom {
  margin-top: 27px;

  padding: 22px 27px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 25px;

  border: 1px solid #ddd8cf;

  background: #fff;
}

.hl-bottom > div {
  display: flex;
  flex-direction: column;

  gap: 6px;
}

.hl-bottom > div span {
  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 6.5px;
  font-weight: 700;

  letter-spacing: .18em;
}

.hl-bottom > div strong {
  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 18px;
  font-weight: 400;
}

.hl-cta {
  min-height: 44px;

  padding: 0 19px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 13px;

  border: 1px solid #c9a35f;

  background: #c9a35f;

  color: #121a14;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;
  font-weight: 800;

  letter-spacing: .08em;
  text-transform: uppercase;

  cursor: pointer;

  transition: .3s ease;
}

.hl-cta span {
  font-size: 14px;
  font-weight: 400;
}

.hl-cta:hover {
  background: #121a14;
  border-color: #121a14;
  color: #fff;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

  .hl-layout {
    grid-template-columns: 1fr;

    gap: 35px;
  }

  .hl-visual {
    min-height: 450px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

  .premium-highlights {
    padding: 75px 0 65px;
  }

  .premium-highlights .sh-header {
    margin-bottom: 35px;
  }

  .premium-highlights .sh-header h2 {
    font-size: 38px;
  }

  .premium-highlights .sh-header p {
    font-size: 11px;
    line-height: 1.75;
  }


  .hl-layout {
    gap: 28px;
  }


  .hl-visual {
    min-height: 350px;
  }

  .hl-image-caption {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .hl-image-caption strong {
    font-size: 19px;
  }


  .hl-item {
    grid-template-columns: 38px 1fr;

    gap: 13px;

    padding: 20px 0;
  }

  .hl-item:hover {
    padding-left: 0;
    background: transparent;
  }

  .hl-icon {
    width: 32px;
    height: 32px;
  }

  .hl-copy strong {
    font-size: 19px;
  }

  .hl-copy p {
    font-size: 10px;
    line-height: 1.7;
  }


  .hl-bottom {
    flex-direction: column;

    align-items: stretch;

    padding: 20px;
  }

  .hl-bottom > div strong {
    font-size: 16px;
  }

  .hl-cta {
    width: 100%;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

  .premium-highlights .sh-header h2 {
    font-size: 24px;
  }

  .hl-copy strong {
    font-size: 15px;
  }

}

/* =========================================================
   SOBHA AYANA — PREMIUM AMENITIES
========================================================= */

.premium-amenities {

  position: relative;

  padding: 110px 0 90px;

  background: #ffffff;

  overflow: hidden;

}


/* =========================================================
   HEADER
========================================================= */

.amenities-header {

  max-width: 760px;

  margin: 0 auto 55px;

  text-align: center;

}


.amenities-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 11px;

  margin-bottom: 18px;

  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;

  font-weight: 700;

  letter-spacing: .22em;

}


.amenities-eyebrow span {

  width: 30px;

  height: 1px;

  background: #c9a35f;

}


.amenities-header h2 {

  margin: 0;

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: clamp(40px, 5vw, 62px);

  line-height: 1.04;

  font-weight: 400;

  letter-spacing: -.035em;

}


.amenities-header h2 em {

  color: #b28a50;

  font-style: italic;

}


.amenities-header p {

  max-width: 650px;

  margin: 20px auto 0;

  color: #77736b;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 12px;

  line-height: 1.85;

}


/* =========================================================
   MARQUEE
========================================================= */

.amenities-marquee {

  position: relative;

  width: 100%;

  overflow: hidden;

  margin-bottom: 12px;

}


.amenities-marquee::before,
.amenities-marquee::after {

  content: "";

  position: absolute;

  top: 0;
  bottom: 0;

  width: 110px;

  z-index: 5;

  pointer-events: none;

}


.amenities-marquee::before {

  left: 0;

  background:
    linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,0) 100%
    );

}


.amenities-marquee::after {

  right: 0;

  background:
    linear-gradient(
      270deg,
      #fff 0%,
      rgba(255,255,255,0) 100%
    );

}


.marquee-track {

  width: max-content;

  display: flex;

  align-items: center;

  gap: 12px;

  padding: 4px 0;

}


/* =========================================================
   ANIMATION
========================================================= */

.marquee-left {

  animation:
    amenitiesLeft 42s
    linear
    infinite;

}


.marquee-right {

  animation:
    amenitiesRight 46s
    linear
    infinite;

}


@keyframes amenitiesLeft {

  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }

}


@keyframes amenitiesRight {

  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }

}


.amenities-marquee:hover .marquee-track {

  animation-play-state: paused;

}


/* =========================================================
   AMENITY CHIP
========================================================= */

.am-chip {

  min-width: 185px;

  height: 58px;

  padding: 0 18px;

  display: flex;

  align-items: center;

  gap: 12px;

  border: 1px solid #e5dfd5;

  background: #f8f7f4;

  color: #172019;

  white-space: nowrap;

  transition:
    background .3s ease,
    border-color .3s ease,
    transform .3s ease;

}


.am-chip:hover {

  background: #fff;

  border-color: #c9a35f;

  transform: translateY(-2px);

}


.am-icon {

  width: 31px;

  height: 31px;

  flex-shrink: 0;

  display: flex;

  align-items: center;

  justify-content: center;

  border: 1px solid #ddcfb2;

  border-radius: 50%;

  color: #b28a50;

}


.am-icon svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;

  stroke-linejoin: round;

}


.am-chip span {

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;

  font-weight: 700;

  letter-spacing: .06em;

}


/* =========================================================
   BOTTOM CTA
========================================================= */

.amenities-bottom {

  margin-top: 42px;

  padding: 22px 27px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 25px;

  border: 1px solid #ddd8cf;

  background: #fff;

}


.amenities-bottom-copy {

  display: flex;

  flex-direction: column;

  gap: 6px;

}


.amenities-bottom-copy span {

  color: #a17b43;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 6.5px;

  font-weight: 700;

  letter-spacing: .18em;

}


.amenities-bottom-copy strong {

  color: #172019;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 18px;

  font-weight: 400;

}


.amenities-cta {

  min-height: 44px;

  padding: 0 20px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 13px;

  border: 1px solid #c9a35f;

  background: #c9a35f;

  color: #121a14;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  font-weight: 800;

  letter-spacing: .08em;

  text-transform: uppercase;

  cursor: pointer;

  transition: .3s ease;

}


.amenities-cta span {

  font-size: 14px;

  font-weight: 400;

}


.amenities-cta:hover {

  background: #121a14;

  border-color: #121a14;

  color: #fff;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 700px) {

  .premium-amenities {

    padding: 75px 0 60px;

  }


  .amenities-header {

    margin-bottom: 35px;

  }


  .amenities-header h2 {

    font-size: 38px;

  }


  .amenities-header p {

    font-size: 11px;

  }


  .amenities-marquee::before,
  .amenities-marquee::after {

    width: 55px;

  }


  .am-chip {

    min-width: 160px;

    height: 53px;

    padding: 0 14px;

  }


  .am-chip span {

    font-size: 7.5px;

  }


  .amenities-bottom {

    flex-direction: column;

    align-items: stretch;

    margin-top: 32px;

    padding: 20px;

  }


  .amenities-cta {

    width: 100%;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

  .amenities-header h2 {

    font-size: 30px;

  }


  .am-chip {

    min-width: 145px;

  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .marquee-track {

    animation: none;

  }

}
  /* CTA STRIP */
/* =========================================================
   SOBHA AYANA — PREMIUM SITE VISIT CTA
========================================================= */

.premium-cta {

  position: relative;

  padding: 85px 0;

  background: #ffffff;

  overflow: hidden;

}


/* =========================================================
   MAIN CARD
========================================================= */

.cta-card {

  position: relative;

  min-height: 245px;

  display: grid;

  grid-template-columns: 90px 1fr auto;

  align-items: center;

  gap: 45px;

  padding: 42px 50px;

  background: #121a14;

  border: 1px solid rgba(201,163,95,.28);

  overflow: hidden;

}


/* subtle luxury glow */

.cta-card::before {

  content: "";

  position: absolute;

  width: 420px;
  height: 420px;

  right: -160px;
  top: -220px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(201,163,95,.13),
      transparent 68%
    );

  pointer-events: none;

}


.cta-card::after {

  content: "";

  position: absolute;

  left: 0;
  top: 0;
  bottom: 0;

  width: 2px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      #c9a35f,
      transparent
    );

}


/* =========================================================
   MARK
========================================================= */

.cta-mark {

  width: 72px;
  height: 72px;

  display: flex;

  align-items: center;
  justify-content: center;

  border: 1px solid rgba(201,163,95,.45);

  position: relative;

}


.cta-mark::before,
.cta-mark::after {

  content: "";

  position: absolute;

  width: 9px;
  height: 9px;

  border-color: #c9a35f;

}


.cta-mark::before {

  left: -1px;
  top: -1px;

  border-left: 1px solid;
  border-top: 1px solid;

}


.cta-mark::after {

  right: -1px;
  bottom: -1px;

  border-right: 1px solid;
  border-bottom: 1px solid;

}


.cta-mark span {

  color: #d3ad69;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: 22px;

  font-weight: 400;

  letter-spacing: -.04em;

}


/* =========================================================
   CONTENT
========================================================= */

.cta-content {

  position: relative;

  z-index: 2;

}


.cta-eyebrow {

  display: flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 13px;

  color: #c9a35f;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  font-weight: 800;

  letter-spacing: .2em;

}


.cta-eyebrow span {

  width: 27px;

  height: 1px;

  background: #c9a35f;

}


.cta-content h2 {

  margin: 0;

  color: #f8f7f4;

  font-family: 'Fraunces',
    Georgia,
    serif;

  font-size: clamp(32px, 3.5vw, 48px);

  line-height: 1.03;

  font-weight: 400;

  letter-spacing: -.025em;

}


.cta-content h2 em {

  color: #d3ad69;

  font-style: italic;

}


.cta-content p {

  max-width: 650px;

  margin: 13px 0 0;

  color: rgba(248,247,244,.58);

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 9px;

  line-height: 1.75;

}


/* =========================================================
   ACTION
========================================================= */

.cta-action {

  position: relative;

  z-index: 2;

  min-width: 190px;

  display: flex;

  flex-direction: column;

  align-items: stretch;

  gap: 9px;

}


.cta-site-btn {

  min-height: 52px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 18px;

  padding: 0 17px;

  border: 1px solid #c9a35f;

  background: #c9a35f;

  color: #fff;

  cursor: pointer;

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 8px;

  font-weight: 800;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition:
    background .3s ease,
    border-color .3s ease,
    transform .3s ease;

}


.cta-site-btn strong {

  font-size: 17px;

  font-weight: 400;

}


.cta-site-btn:hover {

  background: #e0bd78;

  border-color: #e0bd78;

  transform: translateY(-2px);

}


.cta-action small {

  color: rgba(248,247,244,.38);

  font-family: 'Manrope',
    Arial,
    sans-serif;

  font-size: 7px;

  text-align: center;

  letter-spacing: .03em;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

  .premium-cta {

    padding: 70px 0;

  }


  .cta-card {

    grid-template-columns: 65px 1fr;

    gap: 28px;

    padding: 35px;

  }


  .cta-action {

    grid-column: 2;

    max-width: 240px;

  }


  .cta-mark {

    width: 58px;
    height: 58px;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

  .premium-cta {

    padding: 55px 0;

  }


  .cta-card {

    display: block;

    padding: 30px 22px;

  }


  .cta-mark {

    width: 52px;
    height: 52px;

    margin-bottom: 25px;

  }


  .cta-mark span {

    font-size: 18px;

  }


  .cta-eyebrow {

    font-size: 6px;

    line-height: 1.5;

  }


  .cta-content h2 {

    font-size: 34px;

  }


  .cta-content p {

    font-size: 8.5px;

    line-height: 1.75;

  }


  .cta-action {

    width: 100%;

    margin-top: 27px;

  }


  .cta-site-btn {

    width: 100%;

    min-height: 50px;

  }


  .cta-action small {

    font-size: 6px;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

  .cta-content h2 {

    font-size: 30px;

  }


  .cta-card {

    padding: 27px 18px;

  }

}

  /* LOCATION ADVANTAGES */
/* =========================================================
   SOBHA AYANA — LOCATION
========================================================= */

.ayana-location{
  padding:105px 0 100px;
  background:#f8f7f4;
  overflow:hidden;
}


/* =========================================================
   HEADER
========================================================= */

.al-header{
  max-width:850px;
  margin:0 auto 55px;
  text-align:center;
}

.al-eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:18px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}

.al-eyebrow span{
  width:32px;
  height:1px;
  background:#c9a35f;
}

.al-header h2{
  margin:0;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(38px,4.5vw,45px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.035em;
}

.al-header h2 em{
  display:block;
  color:#b28a4f;
  font-style:italic;
}

.al-header p{
  max-width:760px;
  margin:20px auto 0;

  color:#716d65;

  font-family:'Manrope',Arial,sans-serif;
  font-size:15px;
  line-height:1.75;
}


/* =========================================================
   MAIN 3 COLUMN LAYOUT

   DESKTOP:
   LEFT   = INFO + RANGE
   CENTER = DESTINATIONS
   RIGHT  = MAP
========================================================= */

.al-main{
  display:grid;

  grid-template-columns:
    1fr
    1.15fr
    1.15fr;

  min-height:600px;

  background:#fff;

  border:1px solid #e0dbd2;

  box-shadow:
    0 25px 65px rgba(24,31,25,.08);
}


/* =========================================================
   LEFT INFO
========================================================= */

.al-info{
  padding:22px 34px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  border-right:1px solid #e7e2da;
}

.al-location-tag{
  display:flex;
  align-items:center;
  gap:13px;
}

.al-pin{
  width:44px;
  height:44px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex-shrink:0;

  color:#b28a4f;

  border:1px solid #dfd2b9;
  border-radius:50%;
}

.al-location-tag > div > span{
  display:block;

  margin-bottom:5px;

  color:#a29c92;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
}

.al-location-tag strong{
  display:block;

  color:#272d27;

  font-family:'Manrope',Arial,sans-serif;
  font-size:14px;
  font-weight:700;
}

.al-location-tag small{
  display:block;

  margin-top:4px;

  color:#8b877f;

  font-family:'Manrope',Arial,sans-serif;
  font-size:11px;
}


/* =========================================================
   LOCATION COPY
========================================================= */

.al-info-copy{
  margin:25px 0;
}

.al-small-label{
  display:block;

  margin-bottom:13px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
}

.al-info-copy h3{
  margin:0;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;
  font-size:34px;
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.025em;
}

.al-info-copy h3 em{
  display:block;

  color:#b28a4f;

  font-style:italic;
}

.al-info-copy p{
  margin:17px 0 0;

  color:#6e6a63;

  font-family:'Manrope',Arial,sans-serif;
  font-size:13px;
  line-height:1.75;
}


/* =========================================================
   RANGE BOX
========================================================= */

.al-range-box{
  padding:20px 18px;

  background:#fbfaf7;

  border:1px solid #e2ddd4;
}

.al-range-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  margin-bottom:20px;
}

.al-range-top span{
  display:block;

  margin-bottom:4px;

  color:#99938a;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
}

.al-range-top strong{
  display:block;

  color:#b28a4f;

  font-family:'Fraunces',Georgia,serif;
  font-size:28px;
  line-height:1;
  font-weight:400;
}

.al-range-top > small{
  color:#aaa49a;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
}


/* RANGE */

#locationRange{
  width:100%;
  height:5px;

  appearance:none;
  -webkit-appearance:none;

  border-radius:10px;

  outline:none;

  background:#e2ddd4;

  cursor:pointer;
}

#locationRange::-webkit-slider-thumb{
  appearance:none;
  -webkit-appearance:none;

  width:20px;
  height:20px;

  border:3px solid #fff;
  border-radius:50%;

  background:#b28a4f;

  box-shadow:0 2px 8px rgba(0,0,0,.18);
}

#locationRange::-moz-range-thumb{
  width:20px;
  height:20px;

  border:3px solid #fff;
  border-radius:50%;

  background:#b28a4f;

  box-shadow:0 2px 8px rgba(0,0,0,.18);
}

.al-range-scale{
  display:flex;
  justify-content:space-between;

  margin-top:10px;

  color:#aaa49a;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
}


/* =========================================================
   FILTERS
========================================================= */

.al-filter{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  margin-top:13px;
}

.al-filter-btn{
  padding:8px 11px;

  border:1px solid #ddd7cc;
  background:transparent;

  color:#777168;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
  font-weight:700;

  cursor:pointer;

  transition:.25s ease;
}

.al-filter-btn:hover,
.al-filter-btn.active{
  border-color:#b28a4f;
  background:#b28a4f;
  color:#fff;
}


/* =========================================================
   CENTER DESTINATIONS
========================================================= */

.al-destinations{
  min-width:0;

  display:flex;
  flex-direction:column;

  border-right:1px solid #e7e2da;
}

.al-destination-header{
  min-height:78px;

  padding:17px 20px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  border-bottom:1px solid #e7e2da;
}

.al-destination-header span{
  display:block;

  margin-bottom:5px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.15em;
}

.al-destination-header strong{
  display:block;

  color:#202720;

  font-family:'Fraunces',Georgia,serif;
  font-size:20px;
  font-weight:400;
}

.al-destination-header b{
  width:32px;
  height:32px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#f5f1e8;

  color:#b28a4f;

  font-family:'Manrope',Arial,sans-serif;
  font-size:10px;
}


/* LIST */

.al-destination-list{
  display:grid;

  grid-template-columns:1fr;

  flex:1;
}


/* CARD */

.al-destination{
  min-width:0;

  padding:20px 17px;

  display:flex;
  gap:12px;

  border-bottom:1px solid #ebe7df;
  border-right:1px solid #ebe7df;

  transition:
    opacity .25s ease,
    background .25s ease;
}

.al-destination:nth-child(2n){
  border-right:0;
}

.al-destination:nth-last-child(-n+2){
  border-bottom:0;
}

.al-destination.hidden{
  display:none;
}

.al-destination:hover{
  background:#fcfbf8;
}


/* ICON */

.al-destination-icon{
  width:34px;
  height:34px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex-shrink:0;

  border:1px solid #e4d7bd;
  border-radius:50%;

  color:#b28a4f;
}


/* CONTENT */

.al-destination-content{
  min-width:0;
  flex:1;
}

.al-destination-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:5px;

  margin-bottom:6px;
}

.al-destination-meta span{
  color:#99938a;

  font-family:'Manrope',Arial,sans-serif;
  font-size:7px;
  font-weight:800;
  letter-spacing:.09em;
}

.al-destination-meta strong{
  flex-shrink:0;

  color:#b28a4f;

  font-family:'Manrope',Arial,sans-serif;
  font-size:10px;
  font-weight:800;
}

.al-destination h4{
  margin:0;

  color:#272d27;

  font-family:'Fraunces',Georgia,serif;
  font-size:16px;
  line-height:1.2;
  font-weight:400;
}


/* =========================================================
   RIGHT MAP
========================================================= */

.al-map{
  position:relative;

  min-width:0;
  min-height:600px;

  overflow:hidden;

  background:#e8e5df;
}

.al-map iframe{
  display:block;

  width:100%;
  height:100%;
  min-height:600px;

  border:0;

  filter:
    saturate(.8)
    contrast(.97);
}


/* MAP LABEL */

.al-map-label{
  position:absolute;

  z-index:5;

  top:18px;
  left:18px;

  display:flex;
  align-items:center;
  gap:8px;

  padding:10px 12px;

  background:rgba(23,32,25,.94);

  color:#fff;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;

  box-shadow:
    0 8px 25px rgba(0,0,0,.16);
}

.al-live-dot{
  width:7px;
  height:7px;

  border-radius:50%;

  background:#d2aa63;

  box-shadow:
    0 0 0 4px rgba(210,170,99,.14);
}


/* MAP BUTTON */

.al-map-button{
  position:absolute;

  z-index:5;

  right:18px;
  bottom:18px;

  display:flex;
  align-items:center;
  gap:18px;

  padding:12px 14px;

  background:#fff;

  color:#172019;

  text-decoration:none;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
  font-weight:800;

  box-shadow:
    0 8px 25px rgba(0,0,0,.16);
}

.al-map-button strong{
  color:#b28a4f;
  font-size:14px;
}


/* =========================================================
   NOTE
========================================================= */

.al-note{
  margin-top:12px;

  color:#9a958c;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
  line-height:1.5;
}

.al-note span{
  margin-right:8px;

  color:#a17b43;

  font-weight:800;
  letter-spacing:.1em;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

  .al-main{
    grid-template-columns:
      1fr 1fr;
  }

  .al-info{
    border-right:1px solid #e7e2da;
  }

  .al-destinations{
    border-right:0;
  }

  .al-map{
    grid-column:1 / -1;

    border-top:1px solid #e7e2da;
  }

  .al-map,
  .al-map iframe{
    min-height:500px;
  }

}


/* =========================================================
   MOBILE

   ORDER:
   1. MAP
   2. DESTINATIONS
   3. RANGE / INFO
========================================================= */

@media(max-width:700px){

  .ayana-location{
    padding:70px 0 75px;
  }

  .al-header{
    margin-bottom:32px;
  }

  .al-header h2{
    font-size:23px;
  }

  .al-header p{
    font-size:11px;
    line-height:1.7;
  }


  /* MAIN */

  .al-main{
    display:flex;
    flex-direction:column;
  }


  /* =======================================================
     1 — MAP FIRST
  ======================================================== */

  .al-map{
    order:1;

    min-height:380px;

    border:0;
  }

  .al-map iframe{
    min-height:380px;
  }


  /* =======================================================
     2 — DESTINATIONS SECOND
  ======================================================== */

  .al-destinations{
    order:2;

    border:0;
    border-top:1px solid #e7e2da;
  }

  .al-destination-header{
    min-height:70px;
    padding:15px 17px;
  }

  .al-destination-header strong{
    font-size:19px;
  }

  .al-destination-list{
    grid-template-columns:1fr;
  }

  .al-destination{
    min-height:100px;

    padding:16px 13px;

    gap:9px;
  }

  .al-destination-icon{
    width:30px;
    height:30px;
  }

  .al-destination h4{
    font-size:14px;
  }


  /* =======================================================
     3 — INFO + RANGE LAST
  ======================================================== */

  .al-info{
    order:3;

    padding:28px 18px;

    border:0;
    border-top:1px solid #e7e2da;
  }

  .al-info-copy{
    margin:25px 0;
  }

  .al-info-copy h3{
    font-size:31px;
  }

  .al-info-copy p{
    font-size:12px;
  }


  /* RANGE */

  .al-range-box{
    padding:18px 15px;
  }

  .al-range-top strong{
    font-size:25px;
  }


  /* FILTERS */

  .al-filter{
    margin-top:11px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .al-header h2{
    font-size:32px;
  }

  .al-destination-list{
    grid-template-columns:1fr;
  }

  .al-destination{
    min-height:86px;

    border-right:0 !important;
    border-bottom:1px solid #ebe7df !important;
  }

  .al-destination:last-child{
    border-bottom:0 !important;
  }

  .al-info-copy h3{
    font-size:29px;
  }

}

  /* REVIEWS */
 /* =========================================================
   SOBHA AYANA — PREMIUM REVIEWS
========================================================= */

.premium-reviews{
  padding:105px 0 100px;
  background:#f8f7f4;
  overflow:hidden;
}


/* =========================================================
   HEADER
========================================================= */

.review-header{
  max-width:780px;
  margin:0 auto 55px;
  text-align:center;
}

.review-eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  margin-bottom:18px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.2em;
}

.review-eyebrow span{
  width:30px;
  height:1px;
  background:#c9a35f;
}

.review-header h2{
  margin:0;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(38px,4.5vw,58px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.035em;
}

.review-header h2 em{
  color:#b28a4f;
  font-style:italic;
}

.review-header p{
  max-width:650px;

  margin:18px auto 0;

  color:#777168;

  font-family:'Manrope',Arial,sans-serif;
  font-size:13px;
  line-height:1.75;
}


/* =========================================================
   MAIN REVIEW LAYOUT
========================================================= */

.review-layout{
  display:grid;

  grid-template-columns:
    1.15fr
    1fr;

  gap:18px;
}


/* =========================================================
   FEATURED REVIEW
========================================================= */

.review-featured{
  position:relative;

  min-height:410px;

  padding:42px;

  display:flex;
  flex-direction:column;

  background:#121a14;

  color:#fff;

  overflow:hidden;
}

.review-featured::after{
  content:"";

  position:absolute;

  right:-100px;
  bottom:-120px;

  width:300px;
  height:300px;

  border:1px solid rgba(201,163,95,.16);
  border-radius:50%;
}

.review-featured-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.review-label{
  color:#c9a35f;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
}

.review-number{
  color:rgba(255,255,255,.28);

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
}


/* QUOTE */

.review-quote{
  margin-top:32px;

  color:#c9a35f;

  font-family:Georgia,serif;
  font-size:65px;
  line-height:.5;
}


/* STARS */

.review-featured .review-stars{
  margin-top:20px;
}


/* TEXT */

.review-featured-text{
  max-width:650px;

  margin:18px 0 auto;

  color:#f4f0e7;

  font-family:'Fraunces',Georgia,serif;
  font-size:20px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:-.015em;
}


/* =========================================================
   STARS
========================================================= */

.review-stars{
  color:#d1aa65;

  font-family:Arial,sans-serif;
  font-size:13px;
  letter-spacing:3px;
}


/* =========================================================
   PERSON
========================================================= */

.review-person{
  display:flex;
  align-items:center;
  gap:12px;

  margin-top:28px;
}

.review-avatar{
  width:38px;
  height:38px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex-shrink:0;

  border:1px solid #d0ae70;
  border-radius:50%;

  color:#c9a35f;

  font-family:'Fraunces',Georgia,serif;
  font-size:16px;
}

.review-person strong{
  display:block;

  color:inherit;

  font-family:'Manrope',Arial,sans-serif;
  font-size:11px;
  font-weight:800;
}

.review-person span{
  display:block;

  margin-top:4px;

  color:rgba(255,255,255,.48);

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
}


/* =========================================================
   RIGHT REVIEW STACK
========================================================= */

.review-stack{
  display:grid;
  grid-template-rows:1fr 1fr;

  gap:18px;
}


/* =========================================================
   REVIEW CARD
========================================================= */

.review-card{
  padding:28px 30px;

  background:#f8f7f4;

  border:1px solid #e4dfd5;

  display:flex;
  flex-direction:column;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease;
}

.review-card:hover{
  transform:translateY(-3px);

  background:#fff;

  box-shadow:
    0 18px 45px rgba(20,28,22,.08);
}

.review-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.review-card-number{
  color:#aaa49a;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

.review-card p{
  margin:24px 0 auto;

  color:#343a34;

  font-family:'Fraunces',Georgia,serif;
  font-size:18px;
  line-height:1.4;
  font-weight:400;
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.review-bottom{
  min-height:78px;

  margin-top:18px;

  padding:0 24px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  border:1px solid #e2ddd4;

  background:#fff;
}

.review-bottom > div span{
  display:block;

  margin-bottom:5px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;
  font-size:7px;
  font-weight:800;
  letter-spacing:.17em;
}

.review-bottom > div strong{
  color:#343a34;

  font-family:'Fraunces',Georgia,serif;
  font-size:17px;
  font-weight:400;
}

.review-cta{
  display:flex;
  align-items:center;
  gap:18px;

  padding:12px 16px;

  border:1px solid #c9a35f;
  background:#c9a35f;

  color:#172019;

  font-family:'Manrope',Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;

  cursor:pointer;

  transition:.25s ease;
}

.review-cta span{
  font-size:15px;
}

.review-cta:hover{
  background:#dfbd78;
  border-color:#dfbd78;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:850px){

  .review-layout{
    grid-template-columns:1fr;
  }

  .review-featured{
    min-height:360px;
  }

  .review-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

  .premium-reviews{
    padding:75px 0 70px;
  }

  .review-header{
    margin-bottom:35px;
  }

  .review-header h2{
    font-size:35px;
  }

  .review-header p{
    font-size:12px;
  }


  .review-layout{
    gap:12px;
  }


  .review-featured{
    min-height:390px;

    padding:27px 22px;
  }

  .review-featured-text{
    font-size:22px;
  }


  .review-stack{
    grid-template-columns:1fr;
    gap:12px;
  }


  .review-card{
    min-height:220px;

    padding:23px 20px;
  }

  .review-card p{
    font-size:15px;
  }


  .review-bottom{
    padding:17px;

    flex-direction:column;
    align-items:flex-start;

    gap:15px;
  }

  .review-cta{
    width:100%;
    justify-content:space-between;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .review-header h2{
    font-size:25px;
  }

  .review-featured{
    padding:24px 19px;
  }

  .review-featured-text{
    font-size:15px;
  }

}


/* =========================================================
   SOBHA AYANA
   CINEMATIC VIDEO EXPERIENCE
========================================================= */

.property-video{

  position:relative;

  padding:110px 0 90px;

  background:#f8f7f4;

  overflow:hidden;

}


/* =========================================================
   SECTION HEADER
========================================================= */

.pv-header{

  max-width:780px;

  margin:0 auto 45px;

  text-align:center;

}


.pv-eyebrow{

  display:flex;

  align-items:center;

  justify-content:center;

  gap:11px;

  margin-bottom:16px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.20em;

}


.pv-eyebrow span{

  width:30px;

  height:1px;

  background:#c9a35f;

}


.pv-header h2{

  margin:0;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;

  font-size:clamp(40px,5vw,60px);

  line-height:1.03;

  font-weight:400;

  letter-spacing:-.035em;

}


.pv-header h2 em{

  color:#b28a4f;

  font-style:italic;

}


.pv-header p{

  max-width:650px;

  margin:18px auto 0;

  color:#777168;

  font-family:'Manrope',Arial,sans-serif;

  font-size:12px;

  line-height:1.75;

}


/* =========================================================
   VIDEO STAGE
========================================================= */

.pv-stage{

  position:relative;

  width:100%;

}


/* =========================================================
   VIDEO CONTAINER
========================================================= */

.pv-video{

  position:relative;

  width:100%;

  height:min(500px,68vw);

  min-height:480px;

  overflow:hidden;

  background:#101510;

  box-shadow:
    0 30px 75px rgba(15,24,18,.16);

}


/* =========================================================
   VIDEO
========================================================= */

.pv-video video{

  position:absolute;

  inset:0;

  width:100%;

  height:100%;

  display:block;

  object-fit:cover;

  /*
   * Slightly enlarged because blur creates
   * soft edges around the frame.
   */

  transform:scale(1.08);

  /*
   * Cinematic blur.
   */

  filter:
    blur(5px)
    brightness(.62)
    saturate(.72);

  /*
   * User should not interact with video.
   */

  pointer-events:none;

  user-select:none;

}


/* =========================================================
   CINEMATIC OVERLAY
========================================================= */

.pv-overlay{

  position:absolute;

  inset:0;

  z-index:2;

  pointer-events:none;

  background:

    linear-gradient(
      180deg,
      rgba(8,14,10,.52) 0%,
      rgba(8,14,10,.16) 35%,
      rgba(8,14,10,.18) 55%,
      rgba(8,14,10,.78) 100%
    );

}


/* =========================================================
   SUBTLE VIGNETTE
========================================================= */

.pv-video::after{

  content:"";

  position:absolute;

  inset:0;

  z-index:3;

  pointer-events:none;

  background:

    radial-gradient(
      ellipse at center,
      transparent 38%,
      rgba(0,0,0,.28) 100%
    );

}


/* =========================================================
   TOP INFORMATION
========================================================= */

.pv-top{

  position:absolute;

  z-index:5;

  top:25px;

  left:28px;

  right:28px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  color:rgba(255,255,255,.68);

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.16em;

}


.pv-top span:first-child{

  color:#d4b170;

}


/* =========================================================
   CENTER ENQUIRE BUTTON
========================================================= */

.pv-enquire{

  position:absolute;

  z-index:10;

  top:50%;

  left:50%;

  transform:
    translate(-50%,-50%);

  width:155px;

  height:155px;

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  gap:11px;

  padding:0;

  border:1px solid rgba(255,255,255,.65);

  border-radius:50%;

  background:
    rgba(15,23,18,.38);

  backdrop-filter:blur(10px);

  -webkit-backdrop-filter:blur(10px);

  color:#fff;

  cursor:pointer;

  outline:none;

  transition:

    transform .4s ease,
    background .4s ease,
    border-color .4s ease,
    box-shadow .4s ease;

}


.pv-enquire-ring{

  width:43px;

  height:43px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid #d0aa65;

  border-radius:50%;

  color:#d0aa65;

  transition:.35s ease;

}


.pv-enquire-ring svg{

  transition:

    transform .3s ease;

}


.pv-enquire-text{

  font-family:'Manrope',Arial,sans-serif;

  font-size:9px;

  font-weight:800;

  letter-spacing:.16em;

  text-transform:uppercase;

}


/* =========================================================
   ENQUIRE HOVER
========================================================= */

.pv-enquire:hover{

  transform:
    translate(-50%,-50%)
    scale(1.08);

  background:#c9a35f;

  border-color:#c9a35f;

  color:#172019;

  box-shadow:

    0 0 0 12px
    rgba(201,163,95,.10),

    0 20px 50px
    rgba(0,0,0,.25);

}


.pv-enquire:hover
.pv-enquire-ring{

  border-color:#172019;

  color:#172019;

}


.pv-enquire:hover
.pv-enquire-ring svg{

  transform:translateX(2px);

}


/* =========================================================
   BOTTOM CONTENT
========================================================= */

.pv-bottom{

  position:absolute;

  z-index:5;

  left:30px;

  right:30px;

  bottom:28px;

  display:flex;

  align-items:flex-end;

  justify-content:space-between;

}


.pv-label{

  display:block;

  margin-bottom:7px;

  color:#d1aa65;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.18em;

}


.pv-copy h3{

  margin:0;

  color:#fff;

  font-family:'Fraunces',Georgia,serif;

  font-size:31px;

  line-height:1.05;

  font-weight:400;

}


.pv-copy h3 em{

  color:#d3ad69;

  font-style:italic;

}


/* =========================================================
   VIDEO META
========================================================= */

.pv-meta{

  display:flex;

  align-items:center;

  gap:10px;

  color:rgba(255,255,255,.55);

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.12em;

}


.pv-meta span:first-child{

  color:#d1aa65;

  font-size:12px;

}


.pv-meta i{

  width:32px;

  height:1px;

  background:rgba(255,255,255,.3);

}


/* =========================================================
   FOOTER CTA
========================================================= */

.pv-footer{

  min-height:72px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:25px;

  padding:0 3px;

  border-bottom:1px solid #e4dfd5;

}


.pv-footer-copy{

  display:flex;

  flex-direction:column;

  gap:5px;

}


.pv-footer-copy span{

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;

  font-size:10px;

  font-weight:800;

  letter-spacing:.14em;

}


.pv-footer-copy strong{

  color:#5e5a53;

  font-family:'Manrope',Arial,sans-serif;

  font-size:11px;

  font-weight:500;

}


.pv-cta{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:18px;

  min-width:185px;

  padding:12px 15px;

  border:1px solid #c9a35f;

  background:transparent;

  color:#172019;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  cursor:pointer;

  transition:.25s ease;

}


.pv-cta strong{

  font-size:14px;

  font-weight:400;

}


.pv-cta:hover{

  background:#c9a35f;

  border-color:#c9a35f;

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

  .property-video{

    padding:75px 0 65px;

  }


  .pv-header{

    margin-bottom:30px;

  }


  .pv-header h2{

    font-size:36px;

  }


  .pv-header p{

    font-size:11px;

    line-height:1.7;

  }


  /* VIDEO */

  .pv-video{

          height: 80vw;
        min-height: 360px;
        max-height: 536px;

  }


  .pv-video video{

    transform:scale(1.10);

    filter:

      blur(4px)
      brightness(.58)
      saturate(.70);

  }


  /* TOP */

  .pv-top{

    top:18px;

    left:18px;

    right:18px;

    font-size:6px;

  }


  /* CENTER BUTTON */

  .pv-enquire{

    width:125px;

    height:125px;

  }


  .pv-enquire-ring{

    width:37px;

    height:37px;

  }


  .pv-enquire-text{

    font-size:8px;

  }


  /* BOTTOM */

  .pv-bottom{

    left:18px;

    right:18px;

    bottom:20px;

  }


  .pv-copy h3{

    font-size:20px;

  }


  .pv-meta{

    display:none;

  }


  /* FOOTER */

  .pv-footer{

    min-height:105px;

    align-items:flex-start;

    justify-content:center;

    flex-direction:column;

    gap:13px;

    padding:18px 0;

  }


  .pv-footer-copy strong{

    font-size:8.5px;

  }


  .pv-cta{

    width:100%;

    min-width:0;

    justify-content:space-between;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .pv-video{

    min-height:350px;

  }


  .pv-copy h3{

    font-size:21px;

  }


  .pv-enquire{

    width:115px;

    height:115px;

  }


  .pv-enquire-ring{

    width:34px;

    height:34px;

  }

}




/* =========================================================
   SOBHA AYANA — PREMIUM FAQ
========================================================= */

.property-faq{

  position:relative;

  padding:110px 0 100px;

  background:#ffffff;

  overflow:hidden;

}


/* =========================================================
   CENTERED HEADER
========================================================= */

.faq-header{

  max-width:850px;

  margin:0 auto 58px;

  text-align:center;

}


.faq-eyebrow{

  display:flex;

  align-items:center;

  justify-content:center;

  gap:11px;

  margin-bottom:18px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.20em;

}


.faq-eyebrow span{

  width:30px;

  height:1px;

  background:#c9a35f;

}


.faq-header h2{

  margin:0;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;

  font-size:clamp(40px,4.3vw,58px);

  line-height:1.04;

  font-weight:400;

  letter-spacing:-.035em;

}


.faq-header h2 em{

  color:#b28a4f;

  font-style:italic;

}


.faq-header p{

  max-width:700px;

  margin:20px auto 0;

  color:#777168;

  font-family:'Manrope',Arial,sans-serif;

  font-size:14px;

  line-height:1.8;

}


/* =========================================================
   50 / 50 FAQ COLUMNS
========================================================= */

.faq-columns{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:0;

  border-top:1px solid #ddd7cc;

}


/* =========================================================
   FAQ COLUMN
========================================================= */

.faq-column{

  min-width:0;

}


.faq-column:first-child{

  border-right:1px solid #ddd7cc;

}


/* =========================================================
   FAQ ITEM
========================================================= */

.faq-item{

  border-bottom:1px solid #ddd7cc;

  transition:background .3s ease;

}


.faq-item.active{

  background:#fff;

}


/* =========================================================
   QUESTION
========================================================= */

.faq-question{

  width:100%;

  min-height:82px;

  display:grid;

  grid-template-columns:38px 1fr 30px;

  align-items:center;

  gap:12px;

  padding:0 20px;

  border:0;

  background:transparent;

  text-align:left;

  cursor:pointer;

}


/* =========================================================
   NUMBER
========================================================= */

.faq-number{

  color:#b8b1a6;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.1em;

}


/* =========================================================
   QUESTION TEXT
========================================================= */

.faq-question-text{

  color:#242a25;

  font-family:'Fraunces',Georgia,serif;

  font-size:16px;

  line-height:1.3;

  font-weight:400;

  transition:color .25s ease;

}


.faq-item.active .faq-question-text{

  color:#a17b43;

}


/* =========================================================
   PLUS ICON
========================================================= */

.faq-icon{

  width:27px;

  height:27px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid #ddd5c7;

  border-radius:50%;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;

  font-size:16px;

  font-weight:400;

  transition:

    transform .35s ease,

    background .35s ease,

    color .35s ease;

}


.faq-item.active .faq-icon{

  transform:rotate(45deg);

  background:#c9a35f;

  border-color:#c9a35f;

  color:#172019;

}


/* =========================================================
   ANSWER
========================================================= */

.faq-answer{

  display:grid;

  grid-template-rows:0fr;

  transition:grid-template-rows .4s ease;

}


.faq-answer p{

  overflow:hidden;

  margin:0;

  padding:0 58px 0 70px;

  color:#777168;

  font-family:'Manrope',Arial,sans-serif;

  font-size:10.5px;

  line-height:1.8;

}


.faq-item.active .faq-answer{

  grid-template-rows:1fr;

}


.faq-item.active .faq-answer p{

  padding-bottom:21px;

}


/* =========================================================
   HOVER
========================================================= */

.faq-item:not(.active):hover{

  background:#fdfcf9;

}


.faq-item:not(.active):hover
.faq-question-text{

  color:#a17b43;

}


/* =========================================================
   STILL HAVE QUESTIONS CTA
========================================================= */

.faq-bottom-cta{

  margin-top:35px;

  min-height:100px;

  display:grid;

  grid-template-columns:52px 1fr auto;

  align-items:center;

  gap:18px;

  padding:20px 24px;

  background:#121a14;

  border:1px solid #202a22;

  box-shadow:
    0 18px 45px rgba(16,26,19,.10);

}


.faq-cta-mark{

  width:43px;

  height:43px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid rgba(201,163,95,.5);

  border-radius:50%;

  color:#c9a35f;

  font-family:'Fraunces',Georgia,serif;

  font-size:22px;

}


.faq-cta-content span{

  display:block;

  margin-bottom:5px;

  color:#c9a35f;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.18em;

}


.faq-cta-content strong{

  display:block;

  color:#f5f1e9;

  font-family:'Fraunces',Georgia,serif;

  font-size:20px;

  line-height:1.15;

  font-weight:400;

}


.faq-bottom-button{

  min-width:190px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:25px;

  padding:13px 15px;

  border:1px solid #c9a35f;

  background:#c9a35f;

  color:#172019;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  cursor:pointer;

  transition:.3s ease;

}


.faq-bottom-button span{

  font-size:14px;

  font-weight:400;

}


.faq-bottom-button:hover{

  background:#dfbd78;

  border-color:#dfbd78;

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .property-faq{

    padding:75px 0 70px;

  }


  .faq-header{

    max-width:100%;

    margin-bottom:35px;

  }


  .faq-header h2{

    font-size:25px;

  }


  .faq-header p{

    font-size:12px;

    line-height:1.75;

  }


  /* ONE COLUMN */

  .faq-columns{

    grid-template-columns:1fr;

  }


  .faq-column:first-child{

    border-right:0;

  }


  .faq-question{

    min-height:74px;

    grid-template-columns:30px 1fr 28px;

    gap:10px;

    padding:0 13px;

  }


  .faq-question-text{

    font-size:15px;

  }


  .faq-number{

    font-size:6px;

  }


  .faq-icon{

    width:27px;

    height:27px;

    font-size:15px;

  }


  .faq-answer p{

    padding:0 13px 0 52px;

    font-size:12px;

    line-height:1.75;

  }


  .faq-item.active
  .faq-answer p{

    padding-bottom:19px;

  }


  /* CTA */

  .faq-bottom-cta{

    grid-template-columns:40px 1fr;

    gap:13px;

    padding:18px;

  }


  .faq-cta-mark{

    width:37px;

    height:37px;

    font-size:18px;

  }


  .faq-cta-content strong{

    font-size:17px;

  }


  .faq-bottom-button{

    grid-column:1 / -1;

    width:100%;

    min-width:0;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .faq-header h2{

    font-size:23px;

  }


  .faq-question-text{

    font-size:14px;

  }


  .faq-cta-content strong{

    font-size:16px;

  }

}



/* =========================================================
   SOBHA AYANA — EDITORIAL SPECIFICATIONS
========================================================= */

.spec-editorial{
  position:relative;
  padding:90px 0 80px;
  background:#f8f7f4;
}


/* =========================================================
   HEADER
========================================================= */

.spec-editorial-head{
  max-width:720px;
  margin:0 auto 45px;
  text-align:center;
}


.spec-editorial-eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  margin-bottom:14px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;
  font-size:7px;
  font-weight:800;
  letter-spacing:.2em;
}


.spec-editorial-eyebrow span{
  width:25px;
  height:1px;
  background:#c9a35f;
}


.spec-editorial-head h2{
  margin:0;

  color:#172019;

  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(38px,4vw,50px);
  line-height:1.04;
  font-weight:400;

  letter-spacing:-.035em;
}


.spec-editorial-head h2 em{
  color:#b28a4f;
  font-style:italic;
}


.spec-editorial-head p{
  max-width:600px;

  margin:15px auto 0;

  color:#777168;

  font-family:'Manrope',Arial,sans-serif;
  font-size:9px;
  line-height:1.75;
}


/* =========================================================
   SPEC LIST
========================================================= */

.spec-editorial-list{
  display:grid;

  grid-template-columns:1fr 1fr;

  border-top:1px solid #dcd6ca;
  border-left:1px solid #dcd6ca;
}


/* =========================================================
   SPEC LINE
========================================================= */

.spec-line{

  position:relative;

  min-height:91px;

  display:grid;

  grid-template-columns:32px 85px 1fr 15px;

  align-items:center;

  gap:7px;

  padding:0 18px;

  background:#fff;

  border-right:1px solid #dcd6ca;
  border-bottom:1px solid #dcd6ca;

  transition:
    background .25s ease,
    box-shadow .25s ease;

}


.spec-line::before{

  content:"";

  position:absolute;

  left:0;
  top:0;
  bottom:0;

  width:2px;

  background:#c9a35f;

  transform:scaleY(0);

  transform-origin:center;

  transition:transform .25s ease;

}


.spec-line:hover{

  background:#fdfcf9;

  box-shadow:
    0 8px 25px rgba(18,26,20,.05);

  z-index:2;

}


.spec-line:hover::before{

  transform:scaleY(1);

}


/* =========================================================
   NUMBER
========================================================= */

.spec-line-index{

  color:#bcb5a9;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:700;

  letter-spacing:.08em;

}


/* =========================================================
   TITLE
========================================================= */

.spec-line-title{

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;

  font-size:9px;

  font-weight:800;

  letter-spacing:.13em;

  text-transform:uppercase;

}


/* =========================================================
   DETAIL
========================================================= */

.spec-line-detail{

  color:#4f554f;

  font-family:'Manrope',Arial,sans-serif;

  font-size:12.5px;

  line-height:1.5;

}


/* =========================================================
   ARROW
========================================================= */

.spec-line-arrow{

  color:#c4b9a7;

  font-family:'Manrope',Arial,sans-serif;

  font-size:12px;

  text-align:right;

  transition:
    color .25s ease,
    transform .25s ease;

}


.spec-line:hover .spec-line-arrow{

  color:#b28a4f;

  transform:translate(2px,-2px);

}


/* =========================================================
   CTA
========================================================= */

.spec-editorial-cta{

  margin-top:24px;

  min-height:76px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:25px;

  padding:15px 20px;

  background:#121a14;

}


.spec-editorial-cta span{

  display:block;

  margin-bottom:5px;

  color:#c9a35f;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6.5px;

  font-weight:800;

  letter-spacing:.18em;

}


.spec-editorial-cta strong{

  color:#f5f1e9;

  font-family:'Fraunces',Georgia,serif;

  font-size:17px;

  font-weight:400;

}


.spec-editorial-cta button{

  min-width:190px;

  padding:12px 14px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:15px;

  border:1px solid #c9a35f;

  background:#c9a35f;

  color:#172019;

  cursor:pointer;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.07em;

  text-transform:uppercase;

  transition:.25s ease;

}


.spec-editorial-cta button:hover{

  background:#dfbd78;

  border-color:#dfbd78;

}


.spec-editorial-cta button b{

  font-size:13px;

  font-weight:400;

}


/* =========================================================
   NOTE
========================================================= */

.spec-editorial-note{

  margin:12px 0 0;

  text-align:right;

  color:#aaa39a;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6.5px;

  line-height:1.5;

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

  .spec-line{

    grid-template-columns:28px 60px 1fr 20px;

    gap:9px;

    padding:0 14px;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

  .spec-editorial{

    padding:65px 0 55px;

  }


  .spec-editorial-head{

    margin-bottom:32px;

  }


  .spec-editorial-head h2{

    font-size:34px;

  }


  .spec-editorial-head p{

    font-size:8px;

  }


  .spec-editorial-list{

    grid-template-columns:1fr;

  }


  .spec-line{

    min-height:78px;

    grid-template-columns:27px 45px 1fr 15px;

    gap:7px;

    padding:0 12px;
    display: flex;

  }


  .spec-line-index{

    font-size:6px;

  }


  .spec-line-title{

    font-size:11px;

    line-height:1.4;

  }


  .spec-line-detail{

    font-size:9px;

    line-height:1.45;

  }


  .spec-line-arrow{

    font-size:10px;

  }


  .spec-editorial-cta{

    align-items:flex-start;

    flex-direction:column;

    gap:15px;

    padding:17px;

  }


  .spec-editorial-cta strong{

    font-size:16px;

  }


  .spec-editorial-cta button{

    width:100%;

  }


  .spec-editorial-note{

    text-align:left;

    font-size:6.5px;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .spec-line{

    grid-template-columns:24px 40px 1fr 12px;

    gap:6px;

    padding:0 10px;

  }


  .spec-line-title{

    font-size:5.7px;

  }


  .spec-line-detail{

    font-size:9px;

  }

}

  /* CONTACT */
/* =========================================================
   SOBHA AYANA — PREMIUM CONTACT
========================================================= */

.contact-premium{

  padding:100px 0 70px;

  background:#ffffff;

}


/* =========================================================
   MAIN CARD
========================================================= */

.contact-card{

  display:grid;

  grid-template-columns:
    1fr 1fr;

  background:#121a14;

  border:1px solid #263128;

  box-shadow:
    0 25px 65px rgba(16,26,19,.12);

}


/* =========================================================
   LEFT
========================================================= */

.contact-info{

  padding:55px 50px;

  border-right:1px solid rgba(255,255,255,.08);

}


.contact-eyebrow{

  display:flex;

  align-items:center;

  gap:10px;

  margin-bottom:20px;

  color:#c9a35f;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.2em;

}


.contact-eyebrow span{

  width:27px;

  height:1px;

  background:#c9a35f;

}


.contact-info h2{

  max-width:500px;

  margin:0;

  color:#f5f1e9;

  font-family:'Fraunces',Georgia,serif;

  font-size:clamp(40px,4vw,35px);

  line-height:1.03;

  font-weight:400;

  letter-spacing:-.035em;

}


.contact-info h2 em{

  display:block;

  color:#d3ad69;

  font-style:italic;

}


.contact-intro{

  max-width:480px;

  margin:20px 0 30px;

  color:rgba(248,247,244,.57);

  font-family:'Manrope',Arial,sans-serif;

  font-size:9px;

  line-height:1.8;

}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.contact-detail{

  display:flex;

  align-items:center;

  gap:13px;

  padding:14px 0;

  border-top:1px solid rgba(255,255,255,.08);

  text-decoration:none;

}


.contact-detail-icon{

  width:34px;

  height:34px;

  flex-shrink:0;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid rgba(201,163,95,.35);

  border-radius:50%;

  color:#c9a35f;

}


.contact-detail span{

  display:block;

  margin-bottom:4px;

  color:#9e9d94;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6px;

  font-weight:800;

  letter-spacing:.15em;

}


.contact-detail strong{

  display:block;

  color:#f5f1e9;

  font-family:'Manrope',Arial,sans-serif;

  font-size:9px;

  font-weight:600;

}


.contact-link:hover strong{

  color:#d3ad69;

}


/* =========================================================
   CONTACT POINTS
========================================================= */

.contact-points{

  display:flex;

  flex-wrap:wrap;

  gap:8px 18px;

  margin-top:25px;

}


.contact-points span{

  color:rgba(248,247,244,.55);

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

}


/* =========================================================
   FORM WRAPPER
========================================================= */

.contact-form-wrap{

  padding:38px 40px;

  background:#182119;

}


/* =========================================================
   FORM HEADER
========================================================= */

.contact-form-top{

  padding-bottom:17px;

  margin-bottom:22px;

  border-bottom:1px solid rgba(255,255,255,.09);

}


.contact-form-top span{

  display:block;

  margin-bottom:5px;

  color:#c9a35f;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6.5px;

  font-weight:800;

  letter-spacing:.18em;

}


.contact-form-top strong{

  color:#f5f1e9;

  font-family:'Fraunces',Georgia,serif;

  font-size:25px;

  font-weight:400;

}


/* =========================================================
   FORM
========================================================= */

.contact-form{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:16px 12px;

}


.contact-field{

  min-width:0;

}


.contact-field label{

  display:block;

  margin-bottom:7px;

  color:#c9c8bf;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6.5px;

  font-weight:800;

  letter-spacing:.12em;

  text-transform:uppercase;

}


.contact-field input,
.contact-field select{

  width:100%;

  height:43px;

  padding:0 12px;

  box-sizing:border-box;

  border:1px solid rgba(255,255,255,.12);

  outline:none;

  border-radius:0;

  background:#202a22;

  color:#fff;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  transition:.25s ease;

}


.contact-field select{

  appearance:none;

  cursor:pointer;

}


.contact-field input::placeholder{

  color:rgba(255,255,255,.35);

}


.contact-field input:focus,
.contact-field select:focus{

  border-color:#c9a35f;

  box-shadow:
    0 0 0 3px rgba(201,163,95,.07);

}


/* =========================================================
   SUBMIT
========================================================= */

.contact-submit{

  grid-column:1 / -1;

  height:47px;

  margin-top:2px;

  padding:0 15px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  border:1px solid #c9a35f;

  background:#c9a35f;

  color:#172019;

  cursor:pointer;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  transition:.25s ease;

}


.contact-submit strong{

  font-size:15px;

  font-weight:400;

}


.contact-submit:hover{

  background:#dfbd78;

  border-color:#dfbd78;

}


/* =========================================================
   FORM NOTE
========================================================= */

.contact-form-note{

  grid-column:1 / -1;

  margin:0;

  color:rgba(255,255,255,.35);

  font-family:'Manrope',Arial,sans-serif;

  font-size:6px;

  line-height:1.6;

}


/* =========================================================
   TRUST
========================================================= */

.contact-trust{

  display:flex;

  justify-content:space-between;

  gap:10px;

  margin-top:22px;

  padding-top:15px;

  border-top:1px solid rgba(255,255,255,.08);

}


.contact-trust span{

  color:rgba(255,255,255,.34);

  font-family:'Manrope',Arial,sans-serif;

  font-size:5.8px;

  font-weight:700;

  letter-spacing:.1em;

}


/* =========================================================
   SITE VISIT CTA
========================================================= */

.contact-sitevisit{

  margin-top:20px;

  min-height:70px;

  padding:14px 20px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;

  background:#fff;

  border:1px solid #e3ddd2;

}


.contact-sitevisit span{

  display:block;

  margin-bottom:4px;

  color:#a17b43;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6px;

  font-weight:800;

  letter-spacing:.18em;

}


.contact-sitevisit strong{

  color:#202720;

  font-family:'Fraunces',Georgia,serif;

  font-size:18px;

  font-weight:400;

}


.sitevisit-btn{

  min-width:190px;

  padding:12px 14px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:15px;

  border:1px solid #172019;

  background:#172019;

  color:#fff;

  cursor:pointer;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  transition:.25s ease;

}


.sitevisit-btn b{

  font-size:13px;

  font-weight:400;

}


.sitevisit-btn:hover{

  background:#c9a35f;

  border-color:#c9a35f;

  color:#172019;

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:900px){

  .contact-card{

    grid-template-columns:1fr;

  }


  .contact-info{

    border-right:0;

    border-bottom:1px solid rgba(255,255,255,.08);

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

  .contact-premium{

    padding:65px 0 50px;

  }


  .contact-info{

    padding:35px 22px;

  }


  .contact-info h2{

    font-size:37px;

  }


  .contact-intro{

    font-size:8.5px;

    margin:16px 0 22px;

  }


  .contact-form-wrap{

    padding:27px 20px;

  }


  .contact-form-top strong{

    font-size:22px;

  }


  .contact-form{

    grid-template-columns:1fr;

    gap:13px;

  }


  .contact-submit{

    grid-column:auto;

  }


  .contact-form-note{

    grid-column:auto;

  }


  .contact-trust{

    flex-direction:column;

    gap:7px;

  }


  .contact-sitevisit{

    flex-direction:column;

    align-items:stretch;

    gap:14px;

    padding:18px;

  }


  .contact-sitevisit strong{

    font-size:17px;

  }


  .sitevisit-btn{

    width:100%;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .contact-info h2{

    font-size:33px;

  }


  .contact-detail strong{

    font-size:8px;

  }

}


  /* ===== FOOTER ===== */
 /* =========================================
   PREMIUM BLACK FOOTER
========================================= */

.site-footer {
  position: relative;
  padding: 95px 0 30px;
  background: #050505;
  color: #fff;
  overflow: hidden;
}


/* =========================================
   BACKGROUND PATTERN
========================================= */

.footer-pattern {
  position: absolute;
  width: 700px;
  height: 700px;
  right: -350px;
  top: -350px;
  border: 1px solid rgba(205,171,110,.08);
  border-radius: 50%;
  pointer-events: none;
}

.footer-pattern::before {
  content: "";
  position: absolute;
  inset: 80px;
  border: 1px solid rgba(205,171,110,.06);
  border-radius: 50%;
}

.footer-pattern::after {
  content: "";
  position: absolute;
  inset: 160px;
  border: 1px solid rgba(205,171,110,.04);
  border-radius: 50%;
}


/* =========================================
   TOP CTA
========================================= */

.footer-cta {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  padding-bottom: 55px;
  margin-bottom: 55px;

  border-bottom: 1px solid rgba(255,255,255,.10);
}


.footer-kicker {
  display: block;

  margin-bottom: 15px;

  color: #cdab6e;

  font-size: 8px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
}


.footer-cta h2 {
  margin: 0;

font-family: 'Fraunces',serif;

  font-size:
    clamp(38px, 4.5vw, 58px);

  line-height: 1.05;

  font-weight: 400;

  letter-spacing: -1.5px;

  color: #fff;
}


.footer-cta h2 em {
  color: #cdab6e;
  font-style: italic;
}


.footer-cta-btn {
  min-width: 185px;
  height: 50px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 0 18px;

  border: 1px solid #cdab6e;

  color: #cdab6e;

  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;

  text-decoration: none;

  transition: .35s ease;
}


.footer-cta-btn span {
  font-size: 16px;

  transition: .3s ease;
}


.footer-cta-btn:hover {
  background: #cdab6e;
  color: #050505;
}


.footer-cta-btn:hover span {
  transform: translate(4px,-3px);
}


/* =========================================
   FOOTER GRID
========================================= */

.footer-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    1.5fr
    .65fr
    .85fr
    1fr;

  gap: 65px;

  padding-bottom: 60px;
}


/* =========================================
   BRAND
========================================= */

.footer-logo {
  display: inline-block;

  color: #fff;

  
  font-size: 34px;

  letter-spacing: 7px;

  line-height: 1;
}


.footer-brand-line {
  display: block;

  width: 45px;
  height: 1px;

  margin: 16px 0 20px;

  background: #cdab6e;
}


.footer-brand p {
  max-width: 330px;

  margin: 0;

  color: white;

  font-size: 15px;

  line-height: 1.9;
}


/* =========================================
   SOCIAL
========================================= */

.footer-social {
  display: flex;

  gap: 8px;

  margin-top: 25px;
}


.footer-social a {
  width: 32px;
  height: 32px;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(255,255,255,.16);

  color: rgba(255,255,255,.60);

  transition: .3s ease;
}


.footer-social a:hover {
  border-color: #cdab6e;

  color: #cdab6e;

  transform: translateY(-3px);
}


/* =========================================
   FOOTER COLUMNS
========================================= */

.footer-col h4 {
  margin: 3px 0 12px;

  color: #fff;

  font-family: 'Fraunces',serif;
    serif;

  font-size: 16px;

  font-weight: 400;
}


.footer-heading-line {
  display: block;

  width: 24px;
  height: 1px;

  margin-bottom: 19px;

  background: #cdab6e;
}


.footer-col ul {
  margin: 0;
  padding: 0;

  list-style: none;
}


.footer-col li {
  margin-bottom: 11px;
}


.footer-col li a {
  position: relative;

  color: white;

  font-size: 12px;

  text-decoration: none;

  transition: .3s ease;
}


.footer-col li a::before {
  content: "";

  position: absolute;

  left: -12px;
  top: 50%;

  width: 0;
  height: 1px;

  background: #cdab6e;

  transition: .3s ease;
}


.footer-col li a:hover {
  color: #cdab6e;
}


.footer-col li a:hover::before {
  width: 7px;
}


/* =========================================
   CONTACT
========================================= */

.footer-contact-item {
  display: flex;

  align-items: flex-start;

  gap: 11px;

  margin-bottom: 18px;
}


.footer-contact-icon {
  color: #cdab6e;

  font-size: 8px;

  margin-top: 2px;
}


.footer-contact-item small {
  display: block;

  margin-bottom: 5px;

  color: rgba(255,255,255,.28);

  font-size: 7px;

  letter-spacing: 1.5px;
}


.footer-contact-item a,
.footer-contact-item div > span {
  display: block;

  color: white;

  font-size: 12px;

  line-height: 1.6;

  text-decoration: none;

  transition: .3s ease;
}


.footer-contact-item a:hover {
  color: #cdab6e;
}


/* =========================================
   FOOTER BOTTOM
========================================= */

.footer-bottom {
  position: relative;
  z-index: 2;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding:
    23px 0;

  border-top:
    1px solid rgba(255,255,255,.10);

  border-bottom:
    1px solid rgba(255,255,255,.07);
}


.footer-copyright {
  display: flex;

  align-items: center;

  gap: 8px;

  color: white;

  font-size: 12px;
}


.footer-dot {
  width: 4px;
  height: 4px;

  border-radius: 50%;

  background: #cdab6e;
}


.footer-links {
  display: flex;

  gap: 22px;
}


.footer-links a {
  color: white;

  font-size: 12px;

  text-decoration: none;

  transition: .3s ease;
}


.footer-links a:hover {
  color: #cdab6e;
}


/* =========================================
   DISCLAIMER
========================================= */

.footer-disclaimer {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns: 100px 1fr;

  gap: 25px;

  padding: 25px 0 22px;
}


.footer-disclaimer strong {
  color: white;

  font-size: 8px;

  letter-spacing: 1.5px;

  text-transform: uppercase;
}


.footer-disclaimer p {
  max-width: 1050px;

  margin: 0;

  color: white;

  font-size: 7.5px;

  line-height: 1.8;
}


/* =========================================
   SIGNATURE
========================================= */

.footer-signature {
  position: relative;
  z-index: 2;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 18px;

  padding-top: 10px;

  color: white;

  font-size: 7px;

  letter-spacing: 2px;
}


.footer-signature div {
  width: 40px;
  height: 1px;

  background: white;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

  .site-footer {
    padding-top: 80px;
  }

  .footer-grid {
    grid-template-columns:
      1.3fr
      1fr
      1fr;

    gap: 45px;
  }

  .footer-brand {
    grid-column: span 3;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 650px) {

  .site-footer {
    padding: 65px 0 25px;
  }


  .footer-cta {
    display: block;

    padding-bottom: 38px;
    margin-bottom: 40px;
  }


  .footer-cta h2 {
    font-size: 39px;

    letter-spacing: -1px;

    margin-bottom: 25px;
  }


  .footer-cta-btn {
    width: 100%;

    box-sizing: border-box;
  }


  .footer-grid {
    grid-template-columns: 1fr 1fr;

    gap: 40px 25px;

    padding-bottom: 40px;
  }


  .footer-brand {
    grid-column: span 2;
  }


  .footer-brand p {
    max-width: 100%;
  }


  .footer-col h4 {
    font-size: 15px;
  }


  .footer-bottom {
    display: block;
  }


  .footer-copyright {
    margin-bottom: 17px;
  }


  .footer-links {
    flex-wrap: wrap;

    gap: 12px 18px;
  }


  .footer-disclaimer {
    display: block;

    padding-top: 22px;
  }


  .footer-disclaimer strong {
    display: block;

    margin-bottom: 10px;
  }


  .footer-disclaimer p {
    font-size: 7px;

    line-height: 1.8;
  }


  .footer-signature {
    flex-wrap: wrap;

    gap: 10px;

    text-align: center;

    line-height: 1.6;
  }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 400px) {

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }


  .footer-brand {
    grid-column: span 1;
  }


  .footer-cta h2 {
  font-size: 32px;
  }


  .footer-logo {
    font-size: 30px;
  }
  .footer-brand p{
        font-size: 10px;
        text-align: justify;
  }
.footer-col li a{
  font-size: 11px;
}
.footer-col li{
  margin-bottom: 7px;
}
}

  /* MODAL */
  .modal-overlay{position:fixed;inset:0;background:rgba(21,28,22,0.72);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;}
  .modal-overlay.open{display:flex;}
  .modal-box{background:var(--paper);width:100%;max-width:440px;border-radius:var(--radius);padding:40px 34px;position:relative;box-shadow:var(--shadow);}
  .modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;display:flex;align-items:center;justify-content:center;}
  .modal-close:hover{border-color:var(--gold);}
  .modal-box h3{font-size:23px;margin-bottom:6px;}
  .modal-box .form-note{color:var(--stone);font-size:13.5px;margin-bottom:24px;}
  .success-msg{display:none;text-align:center;padding:20px 0;}
  .success-msg.show{display:block;}
  .success-msg svg{stroke:var(--gold);margin-bottom:14px;}
  .success-msg h4{font-size:19px;margin-bottom:8px;}
  .success-msg p{color:var(--stone);font-size:14px;}

  /* IMAGE LIGHTBOX */
  .lightbox{position:fixed;inset:0;background:rgba(15,19,15,0.92);z-index:2100;display:none;align-items:center;justify-content:center;padding:30px;}
  .lightbox.open{display:flex;}
  .lightbox img{max-width:900px;width:100%;border-radius:var(--radius);}
  .lightbox-close{position:absolute;top:24px;right:24px;width:42px;height:42px;border-radius:50%;background:rgba(246,242,231,0.1);border:1px solid rgba(246,242,231,0.3);display:flex;align-items:center;justify-content:center;}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;} .reveal{opacity:1;transform:none;transition:none;}
    .marquee-row{animation:none !important;}
    *{transition-duration:0.01ms !important;}
  }


  /* =========================================================
   PREMIUM MID-PAGE ENQUIRY CTA
========================================================= */

.project-cta{
 /* position:relative;
  padding:90px 0;
  background:#f8f7f4;*/
}


/* =========================================================
   MAIN CTA BOX
========================================================= */

.project-cta-box{
  position:relative;

  display:grid;
  grid-template-columns:1.25fr .75fr;

  min-height:310px;

  overflow:hidden;

  background:#111a14;

  border:1px solid #273128;

  box-shadow:
    0 30px 70px rgba(10,20,13,.13);
}


/* =========================================================
   DECORATIVE ELEMENTS
========================================================= */

.project-cta-box::before{
  content:"";

  position:absolute;

  width:360px;
  height:360px;

  left:-150px;
  bottom:-210px;

  border:1px solid rgba(201,163,95,.15);
  border-radius:50%;

  pointer-events:none;
}

.project-cta-box::after{
  content:"";

  position:absolute;

  width:240px;
  height:240px;

  left:-80px;
  bottom:-140px;

  border:1px solid rgba(201,163,95,.10);
  border-radius:50%;

  pointer-events:none;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.project-cta-content{
  position:relative;
  z-index:2;

  padding:55px 55px 50px;

  display:flex;
  flex-direction:column;
  justify-content:center;
}

.cta-eyebrow{
  display:flex;
  align-items:center;
  gap:11px;

  margin-bottom:17px;

  color:#c9a35f;

  font-family:'Manrope',sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.cta-eyebrow span{
  width:30px;
  height:1px;

  background:#c9a35f;
}


.project-cta-content h2{
  max-width:530px;

  margin:0;

  color:#f8f7f4;

  font-family:'Fraunces',Georgia,serif;
  font-size:43px;
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.025em;
}

.project-cta-content h2 em{
  color:#d2ab66;
  font-style:italic;
}


.project-cta-content p{
  max-width:500px;

  margin:19px 0 0;

  color:rgba(248,247,244,.58);

  font-family:'Manrope',sans-serif;
  font-size:12px;
  line-height:1.8;
}


/* =========================================================
   BENEFITS
========================================================= */

.cta-benefits{
  display:flex;
  flex-wrap:wrap;

  gap:10px 22px;

  margin-top:25px;
}

.cta-benefits span{
  display:flex;
  align-items:center;
  gap:7px;

  color:rgba(248,247,244,.72);

  font-family:'Manrope',sans-serif;
  font-size:8px;
  font-weight:600;
}

.cta-benefits i{
  width:17px;
  height:17px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(201,163,95,.45);
  border-radius:50%;

  color:#d2ab66;

  font-size:8px;
  font-style:normal;
}


/* =========================================================
   FORM SIDE
========================================================= */

.project-cta-form-wrap{
  position:relative;
  z-index:2;

  margin:24px;

  padding:20px 30px;

  background:#fdfcf9;

  border:1px solid rgba(201,163,95,.25);

  align-self:stretch;

  display:flex;
  flex-direction:column;
  justify-content:center;
}


/* =========================================================
   FORM HEADER
========================================================= */

.cta-form-top{
  display:flex;
  align-items:center;
  justify-content:space-between;

  padding-bottom:18px;

  margin-bottom:20px;

  border-bottom:1px solid #e7e1d7;
}

.cta-form-top span{
  display:block;

  margin-bottom:5px;

  color:#a17b43;

  font-family:'Manrope',sans-serif;
  font-size:7px;
  font-weight:700;
  letter-spacing:.18em;
}

.cta-form-top strong{
  display:block;

  color:#172019;
text-transform: uppercase;
  font-family:'Fraunces',Georgia,serif;
  font-size:19px;
  font-weight:400;
}


/* =========================================================
   30 MIN BADGE
========================================================= */

.cta-form-badge{
  width:52px;
  height:52px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  border:1px solid #d9c39b;
  border-radius:50%;

  background:#f8f2e7;
}

.cta-form-badge small{
  color:#a17b43;

  font-family:'Manrope',sans-serif;
  font-size:6px;
  font-weight:700;
  letter-spacing:.12em;
}

.cta-form-badge b{
  margin-top:2px;

  color:#172019;

  font-family:'Manrope',sans-serif;
  font-size:9px;
}


/* =========================================================
   FORM
========================================================= */

.project-cta-form{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:14px;
}

.cta-field{
  position:relative;
}

.cta-field label{
  display:block;

  margin-bottom:7px;

  color:#6f6a61;

  font-family:'Manrope',sans-serif;
  font-size:7px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.cta-field input{
  width:100%;
  height:35px;

  padding:0 13px;

  border:1px solid #ddd8cf;
  outline:none;

  background:#fff;

  color:#172019;

  font-family:'Manrope',sans-serif;
  font-size:9px;

  transition:
    border-color .25s ease,
    box-shadow .25s ease;
}

.cta-field input::placeholder{
  color:#aaa59d;
}

.cta-field input:focus{
  border-color:#c9a35f;

  box-shadow:
    0 0 0 3px rgba(201,163,95,.10);
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.cta-submit{
  grid-column:1 / -1;

  height:38px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:0 17px;

  border:1px solid #c9a35f;

  background:#c9a35f;

  color:#fff;

  cursor:pointer;

  font-family:'Manrope',sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;

  transition:.3s ease;
}

.cta-submit strong{
  font-size:17px;
  font-weight:400;
}

.cta-submit:hover{
  background:#dfbd78;
  border-color:#dfbd78;
}


/* =========================================================
   DISCLAIMER
========================================================= */

.cta-disclaimer{
  margin:13px 0 0;

  color:#99948b;

  font-family:'Manrope',sans-serif;
  font-size:6.5px;
  line-height:1.55;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:900px){

  .project-cta-box{
    grid-template-columns:1fr;
  }

  .project-cta-content{
    padding:45px 40px 25px;
  }

  .project-cta-content h2{
    font-size:38px;
  }

  .project-cta-form-wrap{
    margin:10px 25px 25px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

  .project-cta{
    padding:60px 0;
  }

  .project-cta-box{
    display:block;
  }

  .project-cta-content{
    padding:51px 22px 25px;
  }

  .project-cta-content h2{
    font-size:31px;
    line-height:1.06;
  }

  .project-cta-content p{
    margin-top:15px;
    font-size:10px;
    line-height:1.7;
  }

  .cta-benefits{
    flex-direction:flex;
    gap:9px;

    margin-top:20px;
  }

  .cta-benefits span{
    font-size:7px;
    gap: 6px;
  }


  /* FORM */

  .project-cta-form-wrap{
    margin:10px 15px 44px;

    padding:22px 18px;
  }

  .cta-form-top{
    margin-bottom:17px;
  }

  .cta-form-top strong{
    font-size:21px;
  }

  .cta-form-badge{
    width:47px;
    height:47px;
  }

  .project-cta-form{
    grid-template-columns:1fr;
    gap:12px;
  }

  .cta-submit{
    grid-column:auto;
  }

  .cta-field input{
    height:36px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .project-cta-content h2{
    font-size:28px;
  }

  .project-cta-form-wrap{
    padding:19px 15px;
  }
  

}


@media screen and (max-width: 403px){
  #wrapid{
padding: 0px 0px 0px 0px!important;
  }
  .qp-bottom{
    display: none;
  }

}

@media screen and (max-width: 650px){
   #logohide{
    display: none;
  }
.header-phone:borde-ra
}




/* =========================================================
   PREMIUM MODAL
========================================================= */

.modal-overlay{

  position:fixed;

  inset:0;

  z-index:9999;

  display:flex;

  align-items:center;

  justify-content:center;

  padding:20px;

  background:rgba(4,10,7,.72);

  backdrop-filter:blur(8px);

  -webkit-backdrop-filter:blur(8px);

  opacity:0;

  visibility:hidden;

  pointer-events:none;

  transition:

    opacity .3s ease,

    visibility .3s ease;

}


.modal-overlay.open{

  opacity:1;

  visibility:visible;

  pointer-events:auto;

}


/* =========================================================
   MODAL BOX
========================================================= */

.modal-box{

  position:relative;

  width:100%;

  max-width:470px;

  box-sizing:border-box;

  padding:36px 38px 28px;

  background:#f8f7f3;

  border:1px solid rgba(205,171,110,.45);

  box-shadow:

    0 30px 90px rgba(0,0,0,.35),

    0 0 0 1px rgba(255,255,255,.08);

  transform:translateY(20px) scale(.97);

  transition:

    transform .35s cubic-bezier(.2,.8,.2,1);

}


.modal-overlay.open .modal-box{

  transform:translateY(0) scale(1);

}


/* =========================================================
   DECORATIVE GOLD LINE
========================================================= */

.modal-box::before{

  content:"";

  position:absolute;

  top:0;

  left:38px;

  width:65px;

  height:2px;

  background:#c9a35f;

}


/* =========================================================
   CLOSE
========================================================= */

.modal-close{

  position:absolute;

  top:15px;

  right:15px;

  width:31px;

  height:31px;

  display:flex;

  align-items:center;

  justify-content:center;

  padding:0;

  border:1px solid #ded8cd;

  background:transparent;

  color:#172019;

  cursor:pointer;

  transition:.25s ease;

}


.modal-close:hover{

  background:#071c35;

  border-color:#071c35;

  color:#fff;

}


/* =========================================================
   TOP
========================================================= */

.modal-top{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:15px;

  margin-bottom:17px;

}


.modal-eyebrow{

  display:flex;

  align-items:center;

  gap:8px;

  color:#a27a42;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.2em;

}


.modal-eyebrow span{

  width:20px;

  height:1px;

  background:#c9a35f;

}


.modal-badge{

  padding:5px 8px;

  border:1px solid #e1d6c2;

  color:#9c917f;

  font-family:'Manrope',Arial,sans-serif;

  font-size:5.5px;

  font-weight:800;

  letter-spacing:.12em;

}


/* =========================================================
   HEADING
========================================================= */

.modal-box h3{

  max-width:380px;

  margin:0;

  color:#071c35;

  font-family:'Fraunces',Georgia,serif;

  font-size:34px;

  line-height:1.04;

  font-weight:400;

  letter-spacing:-.025em;

}


.modal-box h3 em{

  display:block;

  color:#b18a50;

  font-style:italic;

}


/* =========================================================
   INTRO
========================================================= */

.modal-intro{

  max-width:390px;

  margin:13px 0 22px;

  color:#77736c;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  line-height:1.7;

}


/* =========================================================
   FIELDS
========================================================= */

.modal-field{

  margin-bottom:13px;

}


.modal-field label{

  display:block;

  margin-bottom:6px;

  color:#8e887e;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6px;

  font-weight:800;

  letter-spacing:.14em;

}


.modal-field input{

  width:100%;

  height:46px;

  box-sizing:border-box;

  padding:0 13px;

  border:1px solid #d9d3c8;

  outline:none;

  background:#fff;

  color:#172019;

  font-family:'Manrope',Arial,sans-serif;

  font-size:9px;

  transition:.25s ease;

}


.modal-field input::placeholder{

  color:#b3aea6;

}


.modal-field input:focus{

  border-color:#c9a35f;

  box-shadow:

    0 0 0 3px rgba(201,163,95,.08);

}


/* =========================================================
   SUBMIT
========================================================= */

.modal-submit{

  width:100%;

  height:48px;

  margin-top:3px;

  padding:0 16px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  border:1px solid #c9a35f;

  background:#c9a35f;

  color:#101710;

  cursor:pointer;

  font-family:'Manrope',Arial,sans-serif;

  font-size:7px;

  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  transition:.3s ease;

}


.modal-submit:hover{

  background:#dfbd78;

  border-color:#dfbd78;

}


.modal-submit strong{

  font-family:Arial,sans-serif;

  font-size:15px;

  font-weight:400;

}


/* =========================================================
   CONSENT
========================================================= */

.modal-consent{

  margin:9px 0 0;

  color:#aaa49b;

  font-family:'Manrope',Arial,sans-serif;

  font-size:5.8px;

  line-height:1.55;

}


/* =========================================================
   TRUST
========================================================= */

.modal-trust{

  display:flex;

  align-items:center;

  gap:6px;

  margin-top:17px;

  padding-top:13px;

  border-top:1px solid #e5dfd5;

  color:#89847b;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6px;

}


.modal-trust span{

  color:#b28a50;

  font-size:8px;

}


.modal-trust i{

  width:1px;

  height:10px;

  margin:0 5px;

  background:#d8d1c6;

}


/* =========================================================
   DISCLAIMER
========================================================= */

.modal-disclaimer{

  margin-top:12px;

  color:#aaa59d;

  font-family:'Manrope',Arial,sans-serif;

  font-size:5.5px;

  line-height:1.5;

}


/* =========================================================
   SUCCESS STATE
========================================================= */

.success-msg{

  display:none;

  padding:28px 5px 10px;

  text-align:center;

}


.success-msg.show{

  display:block;

}


.success-icon{

  width:58px;

  height:58px;

  margin:0 auto 17px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid #c9a35f;

  border-radius:50%;

  background:#071c35;

  color:#cdab6e;

}


.success-eyebrow{

  margin-bottom:7px;

  color:#a27a42;

  font-family:'Manrope',Arial,sans-serif;

  font-size:6px;

  font-weight:800;

  letter-spacing:.18em;

}


.success-msg h4{

  margin:0;

  color:#071c35;

  font-family:'Fraunces',Georgia,serif;

  font-size:32px;

  font-weight:400;

}


.success-msg p{

  max-width:300px;

  margin:10px auto 0;

  color:#77736c;

  font-family:'Manrope',Arial,sans-serif;

  font-size:8px;

  line-height:1.7;

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

  .modal-overlay{

    padding:15px;

  }


  .modal-box{

    max-width:100%;

    padding:32px 23px 23px;

  }


  .modal-box::before{

    left:23px;

  }


  .modal-top{

    padding-right:30px;

  }


  .modal-badge{

    display:none;

  }


  .modal-box h3{

    font-size:29px;

  }


  .modal-intro{

    font-size:8px;

    margin-bottom:20px;

  }


  .modal-field input{

    height:48px;

  }


  .modal-submit{

    height:49px;

  }


  .modal-trust{

    justify-content:center;

  }


  .modal-disclaimer{

    text-align:center;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:380px){

  .modal-box{

    padding:29px 19px 20px;

  }


  .modal-box::before{

    left:19px;

  }


  .modal-box h3{

    font-size:26px;

  }


  .modal-intro{

    margin-top:10px;

    margin-bottom:17px;

  }


  .modal-field{

    margin-bottom:10px;

  }


  .modal-field input{

    height:45px;

  }


  .modal-submit{

    height:46px;

  }

}

 /* =========================================
   FLOATING CTA
========================================= */

.floating-cta {
  position: fixed;

  right: 22px;
  bottom: 22px;

  z-index: 9000;

  display: flex;
  align-items: center;

  gap: 8px;

  padding: 6px;

  background: rgba(5,5,5,.92);

  border: 1px solid rgba(205,171,110,.35);

  box-shadow:
    0 15px 45px rgba(0,0,0,.20);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}


.floating-cta:hover {
  transform: translateY(-3px);

  box-shadow:
    0 20px 55px rgba(0,0,0,.28);
}


/* =========================================
   WHATSAPP
========================================= */

.float-whatsapp {
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  padding: 0 15px;

  color: #fff;

  background: #101a14;

  border: 1px solid rgba(255,255,255,.10);

  text-decoration: none;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: .7px;
  text-transform: uppercase;

  transition: .3s ease;
}


.float-whatsapp svg {
  color: #63d68b;

  flex-shrink: 0;
}


.float-whatsapp:hover {
  background: #17251c;

  border-color:
    rgba(99,214,139,.35);

  color: #fff;
}


/* =========================================
   ENQUIRE
========================================= */

.float-enquire {
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  padding: 0 14px;

  border: 1px solid #cdab6e;

  background: #cdab6e;

  color: #071c35;

  cursor: pointer;

  font-family: inherit;

  font-size: 9px;
  font-weight: 700;

  letter-spacing: .8px;

  text-transform: uppercase;

  transition: .3s ease;
}


.float-enquire:hover {
  background: #b28a50;

  border-color: #b28a50;
}


.float-enquire b {
  font-size: 15px;

  font-weight: 400;

  transition: .3s ease;
}


.float-enquire:hover b {
  transform:
    translate(3px,-3px);
}


.float-enquire-icon {
  font-size: 9px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 650px) {

  .floating-cta {

    left: 12px;
    right: 12px;

    bottom: 12px;

    width: auto;

    padding: 5px;

    gap: 5px;

    box-sizing: border-box;

    background:
      rgba(5,5,5,.96);

    border-color:
      rgba(205,171,110,.30);

    box-shadow:
      0 10px 35px rgba(0,0,0,.30);
  }


  .float-whatsapp,
  .float-enquire {

    flex: 1;

    height: 47px;

    padding: 0 10px;

    font-size: 8px;

  }


  .float-whatsapp {

    gap: 7px;
  }


  .float-whatsapp svg {

    width: 18px;
    height: 18px;
  }


  .float-enquire {

    gap: 7px;
  }


  .float-enquire b {

    font-size: 14px;
  }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 360px) {

  .floating-cta {
    left: 8px;
    right: 8px;
    bottom: 8px;
  }


  .float-whatsapp,
  .float-enquire {

    height: 45px;

    font-size: 7.5px;

    letter-spacing: .5px;
  }


  .float-whatsapp svg {
    width: 17px;
    height: 17px;
  }

}


@media screen and (max-width: 400px) {
    .overview-story p {
        font-size: 13px;}
    .overview-story > p:first-child{
         font-size: 13px;
    }
    
}
@media (max-width: 380px) {
    .premium-highlights .sh-header h2 {
        font-size: 21px!important;
    }
}
@media (max-width: 650px) {
    .premium-highlights .sh-header h2 {
        font-size: 26px;
    }
}

@media (max-width: 400px) {
    .amenities-header h2 {
        font-size: 32px;
    }
        .al-header h2 {
        font-size: 21px;
    }
}

/* ==============================
   PREMIUM EDITORIAL FLOOR PLANS
============================== */

.floorplan-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 36px;
  max-width: 1100px;
  margin: 0 auto;
}

.floorplan-item {
  position: relative;
  width: calc(50% - 18px);
  max-width: 510px;
  padding: 28px;
  border: 1px solid rgba(198, 164, 106, 0.35);
  background: linear-gradient(
    145deg,
    rgba(255,255,255,0.75),
    rgba(245,241,234,0.55)
  );
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.floorplan-item::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(198, 164, 106, 0.16);
  pointer-events: none;
}

.floorplan-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 60px rgba(20, 30, 38, 0.10);
}


/* TOP */

.floorplan-card-top {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 25px;
}

.floorplan-number {
  position: absolute;
  right: 0;
  top: -5px;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 46px;
  line-height: 1;
  font-weight: 300;
  color: rgba(198, 164, 106, 0.35);
}

.floorplan-title {
  text-align: left;
}

.floorplan-title > span {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  color: #b28b4d;
}

.floorplan-title h3 {
  margin: 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  color: #182937;
}

.floorplan-title p {
  margin: 8px 0 0;
  font-size: 13px;
  letter-spacing: 0.4px;
  color: #7b746c;
}


/* IMAGE */

.floorplan-image {
  position: relative;
  padding: 14px;
  background: #ece8e1;
  border: 1px solid rgba(198, 164, 106, 0.35);
  overflow: hidden;
}

.floorplan-image-inner {
  position: relative;
  overflow: hidden;
  background: #d9d2c8;
}

.floorplan-image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.7s ease;
}

.floorplan-item:hover .floorplan-image img {
  transform: scale(1.035);
}

.floorplan-tag {
  position: absolute;
  top: 26px;
  right: 26px;
  padding: 7px 12px;
  background: #182937;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.8px;
}


/* FOOTER */

.floorplan-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(198, 164, 106, 0.3);
}

.floorplan-meta span {
  display: block;
  margin-bottom: 5px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #a88855;
}

.floorplan-meta strong {
  font-size: 13px;
  font-weight: 600;
  color: #182937;
}


/* BUTTON */

.floorplan-download {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;

  min-width: 220px;
  padding: 13px 15px 13px 18px;

  border: 1px solid #c6a46a;
  background: transparent;
  color: #182937;

  cursor: pointer;
  transition: all 0.35s ease;
}

.floorplan-download span {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;

  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.floorplan-download small {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #b28b4d;
}

.floorplan-download > strong {
  font-size: 19px;
  font-weight: 400;
  transition: transform 0.3s ease;
}

.floorplan-download:hover {
  background: #182937;
  border-color: #182937;
  color: #fff;
}

.floorplan-download:hover small {
  color: #d7b67a;
}

.floorplan-download:hover > strong {
  transform: translate(3px, -3px);
}


/* RESPONSIVE */

@media (max-width: 800px) {

  .floorplan-item {
    width: 100%;
    max-width: 540px;
  }

}

@media (max-width: 520px) {

  .floorplan-item {
    padding: 18px;
  }

  .floorplan-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .floorplan-download {
    width: 100%;
  }

  .floorplan-number {
    font-size: 38px;
  }

}


.spec-line {
    position: relative;
    min-height: 91px;
    display: grid;
    grid-template-columns: 32px 84px 1fr 15px;}
    
    
    .review-card p{
            font-size: 15px;
    }
    .review-featured-text{
            font-size: 20px
    }
    
    
    .more-content {
  display: none;
}

.more-content.show {
  display: block;
}

.project-description p {
  margin-bottom: 16px;
}

.read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 5px;
  padding: 0;

  background: transparent;
  border: 0;
  color: inherit;

  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.read-more-btn span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 20px;
  height: 20px;

  border: 1px solid currentColor;
  border-radius: 50%;

  font-size: 16px;
  line-height: 1;

  transition: transform 0.3s ease;
}

.read-more-btn:hover span {
  transform: rotate(90deg);
}