:root{
    --navy:#1E3A2B;      /* Primary / Header — Deep Forest Green */
    --navy-2:#16291f;
    --terracotta:#C85A32; /* Accent / CTA buttons — Warm Terracotta */
    --gold:#C5A059;      /* Secondary highlight — Brushed Gold / Brass */
    --gold-soft:#C5A059;
    --sage:#1E3A2B;      /* status-available fill ties to primary green */
    --cream:#FBF9F5;     /* Background — Warm Ivory / Soft Linen */
    --paper:#FFFEFB;
    --sand:#F1EFE6;
    --ink:#2B2B2B;       /* Body text — Charcoal */
    --muted:#726F68;
    --muted-dark:rgba(255,255,255,0.6);
    --hair:rgba(43,43,43,0.14);
    --hair-dark:rgba(43,43,43,0.14);
    --stone:#726F68;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;overflow-x:hidden;width:100%;}
  body{font-family:'Montserrat',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;width:100%;position:relative;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,.serif{font-family:'Playfair Display',serif;font-weight:400;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1320px;margin:0 auto;padding:0 6%;}
  ::selection{background:var(--terracotta);color:#fff;}

  /* photographic placeholder texture */
  .ph{
    position:relative;overflow:hidden;background:
      radial-gradient(120% 140% at 15% 10%, rgba(200,90,50,0.35), transparent 55%),
      radial-gradient(120% 140% at 85% 90%, rgba(30,58,43,0.6), transparent 55%),
      linear-gradient(160deg, #4a4234, #2c2820 70%);
  }
  .ph::after{
    content:'';position:absolute;inset:0;opacity:0.5;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  }
  .ph .cap{
    position:absolute;left:28px;bottom:24px;z-index:2;
    font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.12em;
    text-transform:uppercase;color:rgba(255,255,255,0.85);
  }
  .ph .cap::before{content:'— ';color:var(--gold-soft);}

  /* ---------- micro top bar ---------- */
  .microbar{
    position:fixed;top:0;left:0;right:0;z-index:1100;
    display:flex;justify-content:space-between;padding:12px 6%;
    font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.08em;
    color:rgba(255,255,255,0.75);pointer-events:none;mix-blend-mode:difference;
  }
  .microbar a{pointer-events:all;}
  .microbar a:hover{color:var(--gold-soft);}
  .mock-flag{
    position:fixed;top:36px;left:6%;z-index:1100;
    background:rgba(20,32,25,0.88);color:#fff;font-size:0.62rem;
    padding:5px 11px;border-radius:100px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.03em;
  }

  /* ---------- nav ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:26px 6% 0;transition:background .3s ease, padding .3s ease;}
  header.solid{background:rgba(30,58,43,0.94);backdrop-filter:blur(10px);padding-top:16px;padding-bottom:16px;}
  .nav-row{display:flex;justify-content:space-between;align-items:center;}
  .logo{font-family:'Playfair Display',serif;font-size:1.15rem;color:#fff;letter-spacing:0.02em;}
  .logo b{color:var(--gold);font-weight:500;}
  .menu-toggle{
    display:flex;align-items:center;gap:10px;color:#fff;font-size:0.8rem;letter-spacing:0.06em;
    cursor:pointer;font-family:'IBM Plex Mono',monospace;background:none;border:none;
  }
  .menu-toggle .bars{width:26px;height:16px;position:relative;}
  .menu-toggle .bars span{position:absolute;left:0;right:0;height:1.5px;background:#fff;}
  .menu-toggle .bars span:nth-child(1){top:0;} .menu-toggle .bars span:nth-child(2){top:7px;width:70%;} .menu-toggle .bars span:nth-child(3){top:14px;}

  .fullnav{
    position:fixed;inset:0;background:var(--navy);z-index:1500;
    display:none;flex-direction:column;justify-content:center;padding:6% 8%;
    overflow-y:auto;
  }
  .fullnav.open{display:flex;}
  .fullnav .close{position:absolute;top:26px;right:6%;color:#fff;font-size:0.85rem;cursor:pointer;font-family:'IBM Plex Mono',monospace;z-index:2;}
  .fullnav a{
    font-family:'Playfair Display',serif;font-size:2.6rem;color:rgba(255,255,255,0.85);
    display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.15);transition:color .2s ease, padding-left .2s ease;
  }
  .fullnav a:hover{color:var(--gold);padding-left:14px;}
  @media(max-width:700px){.fullnav a{font-size:1.7rem;}}

  /* ---------- Cover-fit images: replaces inline background-image
     divs with real <img> tags (for alt text + image-search visibility)
     while keeping the exact same crop-to-fill behavior. ---------- */
  .cover-img{width:100%;height:100%;object-fit:cover;display:block;}

  /* ---------- HERO ---------- */
  .hero{height:100vh;min-height:640px;position:relative;display:flex;align-items:flex-end;}
  .hero .ph{position:absolute;inset:0;}
  .hero-slides{position:absolute;inset:0;}
  .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;}
  .hero-slide.active{opacity:1;}
  .hero-slide-meta{display:flex;align-items:center;gap:16px;margin-top:20px;}
  .hero-slide-caption{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:rgba(255,255,255,0.82);letter-spacing:0.02em;}
  .hero-dots{display:flex;gap:8px;}
  .hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.32);border:none;cursor:pointer;padding:0;transition:background .2s ease;}
  .hero-dot.active{background:var(--gold-soft);}
  .hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,32,25,0.15) 0%, rgba(20,32,25,0.28) 55%, rgba(20,32,25,0.9) 100%);}
  .hero-content{position:relative;z-index:2;width:100%;padding:0 6% 60px;color:#fff;}
  .hero-tag{font-family:'IBM Plex Mono',monospace;font-size:0.75rem;letter-spacing:0.12em;color:var(--gold-soft);text-transform:uppercase;margin-bottom:18px;}
  .hero h1{font-size:clamp(2.2rem,4.6vw,4.2rem);font-weight:400;line-height:1.05;max-width:900px;}
  .hero h1.size-small{font-size:clamp(1.9rem,3.6vw,3.2rem);}
  .hero h1.size-large{font-size:clamp(2.6rem,6vw,5.4rem);}
  .hero h1 b{font-weight:500;color:var(--gold-soft);font-style:italic;}
  .hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:36px;flex-wrap:wrap;gap:24px;}
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;padding:14px 26px;
    font-size:0.82rem;letter-spacing:0.03em;font-weight:600;cursor:pointer;border:none;
    border-radius:2px;transition:all .25s ease;
  }
  .btn-gold{background:var(--terracotta);color:#fff;}
  .btn-gold:hover{background:#a8482a;letter-spacing:0.05em;}
  .btn-line{background:transparent;border:1px solid rgba(43,43,43,0.32);color:var(--ink);}
  .btn-line:hover{border-color:var(--ink);}
  .btn-line-onphoto{border-color:rgba(255,255,255,0.5);color:#fff;}
  .btn-line-onphoto:hover{border-color:#fff;}
  .btn-dark{background:var(--navy);color:#fff;}
  .btn-dark:hover{background:var(--navy-2);}
  .scroll-cue{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:rgba(255,255,255,0.55);letter-spacing:0.1em;display:flex;align-items:center;gap:10px;}
  .scroll-cue .line{width:1px;height:34px;background:rgba(255,255,255,0.4);position:relative;overflow:hidden;}
  .scroll-cue .line::after{content:'';position:absolute;top:-34px;left:0;right:0;height:34px;background:var(--gold-soft);animation:scrolldrop 2.2s infinite;}
  @keyframes scrolldrop{to{top:34px;}}

  /* ---------- section shells ---------- */
  .band{padding:76px 0;}
  @media(max-width:700px){.band{padding:56px 0;}}
  .band-dark{background:var(--sand);color:var(--ink);}
  .kicker{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:16px;}
  .band-dark .kicker{color:var(--gold);}
  h2.headline{font-size:clamp(1.9rem,3.4vw,3rem);font-weight:400;max-width:780px;line-height:1.15;}
  h2.headline b{font-weight:500;font-style:italic;color:var(--gold);}
  .band-dark h2.headline b{color:var(--gold);}

  /* ---------- ABOUT / STATS ---------- */
  .about-copy{max-width:680px;color:var(--muted);font-size:1.02rem;margin:24px 0 60px;line-height:1.75;}
  .stat-row{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--hair-dark);}
  .stat{flex:1;min-width:150px;padding:28px 30px 0 0;border-right:1px solid var(--hair-dark);}
  .stat:last-child{border-right:none;}
  .stat .n{font-family:'Playfair Display',serif;font-size:2.15rem;font-weight:700;color:var(--terracotta);white-space:nowrap;}
  .stat .l{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
  @media(max-width:800px){.stat-row{flex-wrap:wrap;}.stat{min-width:45%;border-right:none;border-bottom:1px solid var(--hair-dark);padding-bottom:20px;margin-bottom:20px;}}

  /* ---------- GALLERY (horizontal scroll, cinematic) ---------- */
  .gallery-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;flex-wrap:wrap;gap:20px;}
  .gallery-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;margin:0 -6%;padding-left:6%;padding-right:6%;}
  .gallery-scroll::-webkit-scrollbar{height:5px;}
  .gallery-scroll::-webkit-scrollbar-thumb{background:var(--hair-dark);border-radius:10px;}
  .gslide{flex:0 0 auto;width:min(74vw,560px);aspect-ratio:4/5;scroll-snap-align:start;border-radius:3px;}
  .gslide:first-child{width:min(84vw,700px);}
  .gscroll-hint{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:var(--muted);letter-spacing:0.05em;}

  /* ---------- PROJECT PROGRESS ---------- */
  .progress-scroll{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;margin:0 -6%;padding-left:6%;padding-right:6%;}
  .progress-scroll::-webkit-scrollbar{height:5px;}
  .progress-scroll::-webkit-scrollbar-thumb{background:var(--hair-dark);border-radius:10px;}
  .progress-card{flex:0 0 auto;width:min(78vw,380px);scroll-snap-align:start;background:var(--paper);border:1px solid var(--hair-dark);}
  .progress-media{aspect-ratio:4/3;}
  .progress-info{padding:16px 18px 20px;}
  .progress-date{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--gold);letter-spacing:0.05em;text-transform:uppercase;}
  .progress-caption{color:var(--muted);font-size:0.9rem;margin-top:8px;line-height:1.5;}

  /* ---------- FLOOR PLANS ---------- */
  .plan-tabs{display:flex;gap:36px;border-bottom:1px solid var(--hair-dark);margin-bottom:44px;}
  .plan-tab{
    font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--muted);cursor:pointer;
    padding-bottom:18px;border-bottom:2px solid transparent;transition:all .2s ease;font-weight:400;
  }
  .plan-tab.active,.plan-tab:hover{color:var(--ink);border-bottom-color:var(--gold);}
  .plan-body{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
  .plan-visual{aspect-ratio:5/4;border-radius:3px;position:relative;border:1px solid var(--hair-dark);overflow:hidden;
    background:
      repeating-linear-gradient(0deg, rgba(43,43,43,0.05) 0 1px, transparent 1px 30px),
      repeating-linear-gradient(90deg, rgba(43,43,43,0.05) 0 1px, transparent 1px 30px),
      var(--paper);
  }
  .plan-visual .tag{position:absolute;left:24px;top:22px;font-family:'IBM Plex Mono',monospace;color:var(--gold);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;}
  .plan-visual .big{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:5rem;font-weight:400;color:rgba(43,43,43,0.09);}

  /* Shared slider styles, used by both the Floor Plans visual box (#planVisual)
     and the villa popup gallery (.villa-gallery) on the site plan. */
  .contain-img{width:100%;height:100%;object-fit:contain;display:block;}
  .plan-slide,.villa-slide,.gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;background-color:var(--paper);}
  .plan-slide.active,.villa-slide.active,.gallery-slide.active{opacity:1;}
  .plan-slide-caption{
    position:absolute;left:16px;bottom:16px;font-family:'IBM Plex Mono',monospace;color:#fff;
    font-size:0.7rem;letter-spacing:0.05em;background:rgba(20,18,15,0.65);padding:6px 12px;
  }
  .plan-slide-dots,.villa-slide-dots,.gallery-slide-dots{position:absolute;bottom:16px;right:20px;display:flex;gap:6px;z-index:2;}
  .plan-slide-dot,.villa-slide-dot,.gallery-slide-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.45);border:none;cursor:pointer;padding:0;}
  .plan-slide-dot.active,.villa-slide-dot.active,.gallery-slide-dot.active{background:#fff;}
  .plan-slide-arrow,.villa-slide-arrow,.gallery-slide-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(20,18,15,0.35);color:#fff;
    border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1;
    display:flex;align-items:center;justify-content:center;
  }
  .plan-slide-arrow:hover,.villa-slide-arrow:hover,.gallery-slide-arrow:hover{background:rgba(20,18,15,0.55);}
  .plan-slide-arrow.prev,.villa-slide-arrow.prev,.gallery-slide-arrow.prev{left:12px;}
  .plan-slide-arrow.next,.villa-slide-arrow.next,.gallery-slide-arrow.next{right:12px;}
  .villa-gallery{position:relative;aspect-ratio:4/3;margin:-32px -32px 20px;overflow:hidden;background:var(--paper);}
  .gallery-single{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--paper);border:1px solid var(--hair-dark);}

  .plan-slide-zoom,.villa-slide-zoom,.gallery-slide-zoom{
    position:absolute;top:12px;right:12px;z-index:2;background:rgba(20,18,15,0.4);color:#fff;
    border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;
    display:flex;align-items:center;justify-content:center;
  }
  .plan-slide-zoom:hover,.villa-slide-zoom:hover,.gallery-slide-zoom:hover{background:rgba(20,18,15,0.65);}
  .villa-slide-zoom{right:auto;left:12px;} /* avoid colliding with the modal's own close button, top-right */


  .lightbox-backdrop{
    display:none;position:fixed;inset:0;z-index:3000;background:rgba(12,10,8,0.92);
    align-items:center;justify-content:center;padding:40px;
  }
  .lightbox-backdrop.open{display:flex;}
  .lightbox-img{max-width:92vw;max-height:92vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
  .lightbox-close{
    position:absolute;top:24px;right:24px;background:rgba(255,255,255,0.12);color:#fff;border:none;
    width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem;
    display:flex;align-items:center;justify-content:center;z-index:1;
  }
  .lightbox-close:hover{background:rgba(255,255,255,0.22);}
  .price-label{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
  .plan-detail .price{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:400;color:var(--ink);margin-bottom:22px;}
  .plan-specs{border-top:1px solid var(--hair-dark);}
  .plan-specs .row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--hair-dark);font-size:0.92rem;}
  .plan-specs .row span:first-child{color:var(--muted);}
  .plan-specs .row span:last-child{font-weight:600;}
  .plan-detail .btns{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
  @media(max-width:900px){.plan-body{grid-template-columns:1fr;}.plan-tabs{gap:20px;}.plan-tab{font-size:1.15rem;}}

  /* ---------- SITE PLAN ---------- */
  .siteplan-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
  .filter-pills{display:flex;gap:8px;flex-wrap:wrap;}
  .pill{
    font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--muted);
    border:1px solid var(--hair-dark);padding:8px 16px;border-radius:2px;cursor:pointer;background:var(--paper);
    transition:all .15s ease;
  }
  .pill.active,.pill:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
  #siteplan .wrap{max-width:1760px;}
  .siteplan-map-wrap{position:relative;width:100%;aspect-ratio:1600/1066;background:var(--paper);border:1px solid var(--hair-dark);overflow:hidden;}
  .siteplan-map-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
  .siteplan-map-wrap svg{position:absolute;inset:0;width:100%;height:100%;}
  .plot-poly{cursor:pointer;stroke:transparent;stroke-width:0.22;fill:transparent;transition:opacity .15s ease, fill-opacity .15s ease;}
  .plot-poly:hover{stroke:#fff;stroke-width:0.35;fill:#fff;fill-opacity:0.14;}
  .plot-poly.selected{stroke:#fff;stroke-width:0.5;}
  .plot-poly.dim{fill:#0a0a08;fill-opacity:0.55;stroke:none;pointer-events:none;}
  .plot-stamp-bg{pointer-events:none;}
  .plot-stamp-text{pointer-events:none;font-family:'IBM Plex Mono',monospace;font-weight:700;text-anchor:middle;dominant-baseline:middle;}
  .plot-badge-dot{pointer-events:none;stroke:#fff;stroke-width:0.35;}
  .legend-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--hair-dark);}
  .map-hint{position:absolute;top:14px;left:14px;z-index:5;background:rgba(255,253,248,0.92);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:0.7rem;padding:7px 14px;border-radius:100px;box-shadow:0 2px 8px rgba(0,0,0,0.12);pointer-events:none;}
  .legend-row .legend-title{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);}
  .legend-row .legend-item{display:flex;align-items:center;gap:9px;font-size:0.78rem;color:var(--muted);font-family:'IBM Plex Mono',monospace;}
  .legend-row .legend-item i{width:14px;height:14px;border-radius:2px;flex-shrink:0;display:inline-block;}
  .siteplan-note{font-size:0.72rem;color:var(--muted);margin-top:18px;font-style:italic;font-family:'Montserrat';}

  /* ---------- VILLA DETAIL POPUP ---------- */
  .villa-modal-backdrop{
    display:none;position:fixed;inset:0;z-index:2000;background:rgba(20,18,15,0.6);
    align-items:center;justify-content:center;padding:24px;
  }
  .villa-modal-backdrop.open{display:flex;}
  .villa-modal{
    background:var(--paper);max-width:420px;width:100%;padding:32px;position:relative;
    max-height:86vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,0.35);
  }
  .villa-modal-close{
    position:absolute;top:16px;right:16px;background:rgba(20,18,15,0.4);border:none;cursor:pointer;z-index:3;
    font-size:1rem;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  }
  .villa-modal-close:hover{background:rgba(20,18,15,0.65);}
  .villa-modal h3{font-size:1.3rem;color:var(--ink);margin-bottom:4px;font-weight:400;}
  .villa-modal .plot-id{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-size:0.76rem;margin-bottom:18px;display:block;}
  .detail-row{display:flex;justify-content:space-between;font-size:0.84rem;padding:10px 0;border-top:1px solid var(--hair-dark);color:var(--muted);}
  .detail-row span:last-child{font-weight:600;color:var(--ink);}
  .status-tag{display:inline-block;padding:5px 14px;font-size:0.68rem;letter-spacing:0.05em;text-transform:uppercase;font-family:'IBM Plex Mono',monospace;margin-bottom:16px;}
  .villa-modal .btn{width:100%;justify-content:center;margin-top:10px;}

  /* ---------- MANIFESTO / VISION ---------- */
  .vision{position:relative;height:80vh;min-height:520px;display:flex;align-items:center;}
  .vision .ph{position:absolute;inset:0;}
  .vision-scrim{position:absolute;inset:0;background:rgba(20,32,25,0.55);}
  .vision-content{position:relative;z-index:2;padding:0 6%;color:#fff;max-width:820px;}
  .vision-content h2{font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:400;line-height:1.18;}
  .vision-content h2 b{font-weight:500;font-style:italic;color:var(--gold-soft);}
  .vision-content p{color:rgba(255,255,255,0.75);margin-top:22px;font-size:1.05rem;max-width:560px;}

  /* ---------- AMENITIES ---------- */
  .amen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .amen-card{background:var(--paper);border:1px solid var(--hair-dark);display:flex;flex-direction:column;}
  .amen-card.amen-hidden{display:none;}
  #amenGrid.amen-expanded .amen-card.amen-hidden{display:flex;}
  .amen-card-media{position:relative;height:150px;display:flex;align-items:center;justify-content:center;}
  .amen-card-icon{font-size:1.8rem;}
  .amen-card-idx{position:absolute;top:12px;left:14px;font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--gold);}
  .amen-card-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:400;padding:16px 18px;}
  .amen-see-more{display:flex;margin:30px auto 0;}
  @media(max-width:900px){.amen-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:600px){.amen-grid{grid-template-columns:1fr;}}

  /* ---------- EMI ---------- */
  .emi-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
  .emi-controls label{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
  .emi-field{margin-bottom:34px;}
  .tenure-toggle{display:flex;gap:10px;}
  .tenure-toggle button{
    flex:1;padding:12px 0;border:1px solid var(--hair-dark);background:var(--paper);color:var(--ink);
    font-family:'IBM Plex Mono',monospace;font-size:0.85rem;cursor:pointer;border-radius:2px;transition:all .15s ease;
  }
  .tenure-toggle button.active{background:var(--gold);border-color:var(--gold);color:#fff;}
  .emi-field .value{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--gold);font-weight:400;margin-bottom:10px;}
  input[type=range]{width:100%;-webkit-appearance:none;height:1px;background:var(--hair-dark);outline:none;}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;}
  .emi-result{background:var(--paper);border:1px solid var(--hair-dark);padding:44px;text-align:left;}
  .emi-result .label{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;}
  .emi-result .amount{font-family:'Playfair Display',serif;font-size:3rem;font-weight:400;color:var(--gold);margin:12px 0 30px;}
  .rate-note{font-size:0.78rem;color:var(--muted);margin-top:16px;}
  @media(max-width:900px){.emi-wrap{grid-template-columns:1fr;gap:40px;}}

  /* ---------- LOCATION ---------- */
  .loc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .loc-list .row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--hair-dark);font-size:0.92rem;}
  .loc-list .row span:last-child{color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:0.82rem;}
  .loc-tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;}
  .loc-tabs button{
    font-family:'IBM Plex Mono',monospace;font-size:0.72rem;padding:8px 16px;border:1px solid var(--hair-dark);
    background:transparent;cursor:pointer;border-radius:2px;color:var(--muted);
  }
  .loc-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .loc-map{aspect-ratio:4/3;border-radius:3px;}

  /* ---------- INTEREST FORM ---------- */
  .interest-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
  .interest-copy p{color:var(--muted);margin:20px 0 26px;max-width:420px;}
  .interest-copy ul{list-style:none;}
  .interest-copy li{display:flex;gap:10px;font-size:0.9rem;color:var(--ink);margin-bottom:12px;}
  .interest-copy li::before{content:'—';color:var(--gold);}
  form.interest-form{display:grid;gap:16px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  input.field,select.field{
    width:100%;padding:15px 0;border:none;border-bottom:1px solid var(--hair-dark);
    background:transparent;color:var(--ink);font-family:inherit;font-size:0.92rem;border-radius:0;
  }
  input.field::placeholder{color:var(--muted);}
  select.field option{color:#000;}
  input.field:focus,select.field:focus{outline:none;border-color:var(--gold);}
  .toggle-row{display:flex;gap:10px;font-size:0.85rem;color:var(--ink);align-items:center;margin-top:4px;}
  form.interest-form .btn{margin-top:14px;justify-content:center;}
  .form-success{display:none;text-align:center;padding:50px 10px;}
  .form-success.show{display:block;}
  .form-success .check{font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--gold);margin-bottom:14px;}
  @media(max-width:900px){.interest-wrap,.loc-wrap{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

  /* ---------- FAQ ---------- */
  .faq-item{border-bottom:1px solid var(--hair-dark);}
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;padding:24px 0;cursor:pointer;
    font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:400;
  }
  .faq-q .plus{font-family:'IBM Plex Mono',monospace;font-size:1.2rem;color:var(--gold);transition:transform .2s ease;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted);font-size:0.92rem;}
  .faq-item.open .faq-a{max-height:200px;padding-bottom:22px;}

  /* ---------- CTA STRIP ---------- */
  .cta-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding:70px 0;border-top:1px solid var(--hair-dark);}
  .cta-strip h3{font-size:1.8rem;font-weight:400;max-width:460px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy);color:#fff;padding:70px 0 30px;}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
  .footer-grid h4{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
  .footer-grid a,.footer-grid p{display:block;font-size:0.88rem;color:rgba(255,255,255,0.65);margin-bottom:10px;}
  .footer-grid a:hover{color:#fff;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,0.15);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:0.76rem;color:rgba(255,255,255,0.5);font-family:'IBM Plex Mono',monospace;}
  @media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}

  /* ---------- PHASE BADGES / URGENCY ---------- */
  .hero-badge{
    display:inline-flex;align-items:center;gap:10px;background:var(--terracotta);
    border:1px solid var(--terracotta);color:#fff;padding:10px 20px;border-radius:100px;
    font-family:'IBM Plex Mono',monospace;font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;
    font-weight:600;margin-bottom:22px;box-shadow:0 6px 20px rgba(200,90,50,0.45);
  }
  .hero-badge .dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,0.35);animation:pulse-dot 1.8s ease-in-out infinite;}
  @keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:0.4;}}
  .nav-right{display:flex;align-items:center;gap:20px;}
  .header-enquire{display:none;padding:11px 20px;font-size:0.75rem;}
  @media(min-width:760px){.header-enquire{display:inline-flex;}}
  .phase-tag{
    display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;
    text-transform:uppercase;padding:4px 10px;border-radius:2px;
  }

  /* ---------- TRUST STRIP ---------- */
  .trust-strip{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--hair-dark);border-bottom:1px solid var(--hair-dark);margin:36px 0 0;}
  .trust-item{flex:1;min-width:150px;padding:26px 24px;border-right:1px solid var(--hair-dark);}
  .trust-item:last-child{border-right:none;}
  .trust-item i{font-size:1.3rem;color:var(--gold);display:block;margin-bottom:14px;}
  .trust-item b{display:block;font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:500;color:var(--ink);margin-bottom:4px;}
  .trust-item .tx{font-size:0.78rem;color:var(--muted);line-height:1.4;display:block;}
  .trust-qr-link{display:block;background:none;border:none;padding:0;margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--gold);cursor:pointer;text-decoration:underline;}
  @media(max-width:800px){.trust-item{min-width:45%;border-right:none;border-bottom:1px solid var(--hair-dark);}}

  .qr-modal-backdrop{
    display:none;position:fixed;inset:0;z-index:2000;background:rgba(20,18,15,0.6);
    align-items:center;justify-content:center;padding:24px;
  }
  .qr-modal-backdrop.open{display:flex;}
  .qr-modal{background:var(--paper);max-width:340px;width:100%;padding:32px;position:relative;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,0.35);}
  .qr-modal-img{width:100%;max-width:240px;margin:0 auto;display:block;}
  .qr-modal-caption{font-family:'IBM Plex Mono',monospace;font-size:0.76rem;color:var(--muted);margin-top:18px;}

  /* ---------- PHASE ROLLOUT BAND ---------- */
  .phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair-dark);border:1px solid var(--hair-dark);margin-top:44px;}
  .phase-card{background:var(--cream);padding:34px 30px;position:relative;}
  .phase-card.is-live{background:var(--paper);box-shadow:inset 0 0 0 1px var(--gold);}
  .phase-card .pnum{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.1em;color:var(--gold);text-transform:uppercase;}
  .phase-card h3{font-size:1.5rem;margin:10px 0 14px;font-weight:400;}
  .phase-card .pstat{font-size:0.86rem;color:var(--muted);margin-bottom:6px;}
  .phase-card.is-live .pstat{color:var(--ink);}
  .phase-card .pflag{
    position:absolute;top:-1px;right:-1px;background:var(--sage);color:#fff;font-family:'IBM Plex Mono',monospace;
    font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;padding:6px 12px;
  }
  .phase-progress{margin:16px 0 4px;}
  .phase-progress-labels{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--muted);margin-bottom:6px;}
  .phase-progress-track{height:6px;background:var(--hair-dark);border-radius:3px;overflow:hidden;}
  .phase-progress-fill{height:100%;background:var(--sage);}
  .phase-cta{width:100%;justify-content:center;margin-top:16px;}
  @media(max-width:900px){.phase-grid{grid-template-columns:1fr;}}

  /* ---------- WhatsApp FAB ---------- */
  .wa-fab{
    position:fixed;bottom:28px;right:28px;z-index:1200;background:#25D366;color:#fff;
    width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;box-shadow:0 14px 34px rgba(37,211,102,0.45);transition:transform .2s ease;
  }
  .wa-fab:hover{transform:scale(1.08);}

/* ---------- INTERIOR (NON-HERO) PAGES ----------
   The hero-less pages need the header solid from the start (it's transparent
   over the hero image on the homepage only) and need top clearance so the
   fixed microbar + header don't overlap the first section. */
body:not(.has-hero) header{
  background:rgba(30,58,43,0.94);backdrop-filter:blur(10px);
  padding-top:16px;padding-bottom:16px;
}
body:not(.has-hero) main > section:first-child,
body:not(.has-hero) main > .wrap:first-child{
  padding-top:115px;
}
@media(max-width:700px){
  body:not(.has-hero) main > section:first-child,
  body:not(.has-hero) main > .wrap:first-child{ padding-top:150px; }
}

/* ---------- ENQUIRY PLOT BANNER ---------- */
.enquiry-plot-banner{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:rgba(197,160,89,0.14);border:1px solid rgba(197,160,89,0.4);
  padding:12px 16px;margin-bottom:16px;border-radius:2px;
  font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--ink);
}
.band-dark .enquiry-plot-banner{color:#fff;}
.enquiry-plot-banner button{
  background:none;border:none;color:var(--gold);font-family:inherit;font-size:0.72rem;
  cursor:pointer;text-decoration:underline;white-space:nowrap;padding:0;
}

/* ---------- VILLA TYPE SHOWCASE (landing pages) ---------- */
.villa-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;}
.villa-type-card{background:var(--paper);border:1px solid var(--hair-dark);}
.villa-type-img{aspect-ratio:4/3;position:relative;}
.villa-type-body{padding:20px 22px 24px;}
.villa-type-body h3{font-size:1.3rem;font-weight:400;margin-bottom:12px;}
.villa-type-price{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--ink);margin-bottom:10px;}
.villa-type-specs{display:flex;gap:14px;font-size:0.78rem;color:var(--muted);font-family:'IBM Plex Mono',monospace;}

/* ---------- INTRO VISUAL PAIR (landing pages) ---------- */
.intro-visual-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;}
.intro-visual{aspect-ratio:16/10;position:relative;}
@media(max-width:700px){.intro-visual-row{grid-template-columns:1fr;}}

/* Honeypot: positioned off-screen (not display:none) so it fools bots that
   specifically skip hidden fields, while staying invisible to real visitors. */
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}
