:root{
    --ink:#132018;
    --ink-2:#1c2c22;
    --sand:#fff;
    --sand-2:#e4dcc6;
    --moss:#54614f;
    --brass:#f1ece1;
    --brass-light:#cba86a;
    --charcoal:#22241f;
    --cream:#f6f2e7;
    --line: rgba(171,131,72,0.35);
    --maxw: 1240px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--charcoal);
    font-family:'Inter', sans-serif;
    font-weight:400;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{
    font-family:'Fraunces', serif;
    font-weight:400;
    letter-spacing:-0.01em;
  }
  em{font-style:italic; font-weight:500; color:#cba86a;}
  .mono{
    font-family:'Space Mono', monospace;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:0.72rem;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
  @media(max-width:700px){ .wrap{padding:0 22px;} }

  /* ---------- preloader curtain ---------- */
  .preloader{
    position:fixed; inset:0; z-index:999; display:flex;
    pointer-events:none;
  }
  .curtain{
    width:50%; height:100%; background:var(--ink); position:relative;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    transition:transform 1.1s cubic-bezier(.76,0,.24,1);
  }
  .curtain.left{transition-delay:.15s;}
  .curtain.right{transition-delay:.15s;}
  .preloader.hide .curtain.left{transform:translateX(-100%);}
  .preloader.hide .curtain.right{transform:translateX(100%);}
  .preloader.done{display:none;}
  .preloader-mark{
    font-family:'Fraunces',serif; color:var(--sand); font-size:1.6rem; letter-spacing:0.08em;
    opacity:0; animation:markIn 1s ease forwards .3s;
    display:flex; gap:1px;
  }
  @keyframes markIn{ to{opacity:1;} }
  .preloader-mark span{display:inline-block; opacity:0; transform:translateY(12px); animation:letterUp .6s ease forwards;}
  .preloader-line{
    position:absolute; bottom:46%; width:0; height:1px; background:var(--brass-light);
    animation:lineGrow 1s ease forwards .2s;
  }
  .curtain.left .preloader-line{right:0;}
  .curtain.right .preloader-line{left:0;}
  @keyframes lineGrow{ to{width:60px;} }
  @keyframes letterUp{ to{opacity:1; transform:translateY(0);} }

  /* ---------- custom cursor ---------- */
  .cursor-dot, .cursor-ring{
    position:fixed; top:0; left:0; pointer-events:none; z-index:998;
    border-radius:50%; transform:translate(-50%,-50%);
    will-change:transform;
  }
  .cursor-dot{width:6px; height:6px; background:var(--brass-light);}
  .cursor-ring{
    width:34px; height:34px; border:1px solid var(--brass-light); opacity:0.7;
    transition:width .25s ease, height .25s ease, opacity .25s ease, border-color .25s ease;
  }
  .cursor-ring.big{width:60px; height:60px; opacity:1; border-color:var(--brass);}
  body.has-cursor, body.has-cursor a, body.has-cursor button, body.has-cursor .mood-btn, body.has-cursor .dot{cursor:none;}
  @media(max-width:900px), (hover:none){
    .cursor-dot, .cursor-ring{display:none !important;}
  }

  /* ---------- grain overlay ---------- */
  .grain{
    position:fixed; inset:0; z-index:250; pointer-events:none; opacity:0.05;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  /* ---------- scroll progress ---------- */
  .scroll-progress{
    position:fixed; top:0; left:0; height:2px; width:0%; background:var(--brass-light);
    z-index:200; transition:width .1s linear;
  }

  /* ---------- magnetic buttons ---------- */
  .btn{ position:relative;  }

  /* ---------- day/night toggle ---------- */
  .mood-toggle{
    position:absolute; z-index:4; top:120px; right:40px;
    display:flex; align-items:center; gap:10px;
    background:rgba(19,32,24,0.55); border:1px solid var(--line); backdrop-filter:blur(6px);
    padding:8px 8px; border-radius:30px;
  }
  @media(max-width:900px){ .mood-toggle{right:22px; top:100px;} }
  .mood-btn{
    font-family:'Space Mono',monospace; font-size:0.62rem; text-transform:uppercase; letter-spacing:0.08em;
    color:var(--sand-2); opacity:0.6; padding:7px 14px; border-radius:20px; transition:all .3s ease; cursor:pointer;
  }
  .mood-btn.active{background:var(--brass); color:var(--ink); opacity:1;}

  /* ---------- tilt gallery ---------- */
  .gal-panel{ perspective:800px; }
  .gal-panel img{ transform-style:preserve-3d; }

  /* ---------- reveal ---------- */
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform .9s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
  }

  /* ---------- nav ---------- */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:transparent;
    transition:background .4s ease, box-shadow .4s ease, padding .4s ease;
    padding:26px 0;
  }
  header.nav.scrolled{
    background:rgba(19,32,24,0.92);
    backdrop-filter: blur(8px);
    padding:14px 0;
    box-shadow:0 1px 0 var(--line);
  }
  .nav-inner{display:flex; align-items:center; justify-content:space-between;}
  .brand{
    font-family:'Fraunces', serif; font-size:1.3rem; letter-spacing:0.04em;
    color:var(--sand); display:flex; align-items:baseline; gap:8px;
  }
  .brand small{font-family:'Space Mono',monospace; font-size:0.6rem; letter-spacing:0.18em; color:var(--brass-light); text-transform:uppercase;}
  nav.links{display:flex; gap:32px; align-items:center;}
  nav.links a{
    color:var(--sand); opacity:0.82; font-size:0.85rem; letter-spacing:0.02em;
    position:relative; padding-bottom:4px;
  }
 /* nav.links a::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--brass-light);
    transition:width .3s ease;
  }*/
  nav.links a:hover{opacity:1;background: var(--sand);color: black;border-radius: 50px; padding:4px 10px}
  nav.links a:hover::after{width:100%;}
  .nav-cta{
    background:black; color:var(--ink); padding:7px 25px; border-radius:2px;border-radius: 50px;
    font-size:0.78rem; letter-spacing:0.04em; font-weight:500;
    transition:background .3s ease;border: 1px solid white;
  }
  .nav-cta:hover{background:var(--brass-light);text-decoration: none}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:200;}
  .burger span{width:24px; height:1.5px; background:var(--sand); display:block;}
  @media(max-width:900px){
    nav.links{display:none;}
    .burger{display:flex;}
  }

  /* mobile menu */
  .mobile-menu{
    position:fixed; inset:0; background:var(--ink); z-index:150;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:28px;
    padding:40px; transform:translateX(100%); transition:transform .5s ease;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu a{color:var(--sand); font-family:'Fraunces',serif; font-size:1.6rem;}
  .mobile-menu .mono{color:var(--brass-light);}

  /* ---------- hero ---------- */
  .hero{
    min-height:100vh; position:relative; background:var(--ink);
    display:flex; align-items:center; overflow:hidden;
    padding-top:120px; padding-bottom:80px;
  }
  .hero-bg{
    position:absolute; inset:0; z-index:0; overflow:hidden;
  }
  .hero-bg img{
    position:absolute; inset:0;
    width:100%; height:100%; object-fit:cover; object-position:center 60%;
    filter:saturate(0.8) brightness(0.65) contrast(1.02);
    transform:scale(1.06);
    opacity:0; transition:opacity 1.4s ease;
  }
  .hero-bg img.active{opacity:1;}
  .hero-bg::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(19,32,24,0.1) 0%, rgba(19,32,24,0.22) 55%, rgba(19,32,24,0.75) 100%),
               linear-gradient(90deg, rgba(19,32,24,0.62) 0%, rgba(19,32,24,0.15) 48%, rgba(19,32,24,0) 65%);
  }
  .hero-grid{position:relative; z-index:2; width:100%;}
  .hero-content-wrap{max-width:100%;}
  .hero-left{}
  .eyebrow{color:var(--brass-light); margin-bottom:22px; display:flex; align-items:center; gap:12px;}
  .eyebrow::before{content:''; width:30px; height:1px; background:var(--brass-light); display:inline-block;}
  .hero h1{
    color:var(--sand); font-size:clamp(2.6rem, 6vw, 4.6rem); font-weight:300; line-height:1.05;
  }
  .hero p.lead{
    color:var(--sand-2); opacity:0.95; font-size:1rem; max-width:630px; margin-top:22px; font-weight:300;
  }
  .hero-stats{display:flex; gap:36px; margin-top:36px;}
  .hero-stats div{border-left:1px solid var(--line); padding-left:16px;}
  .hero-stats .num{font-family:'Fraunces',serif; color:var(--sand); font-size:1.6rem;}
  .hero-stats .lbl{color:var(--brass-light); font-size:0.68rem; margin-top:4px;}
  .cta-row{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:15px 26px; font-size:0.8rem; letter-spacing:0.05em; border-radius:2px;
    font-family:'Space Mono',monospace; text-transform:uppercase; cursor:pointer;
    border:1px solid transparent; transition:all .3s ease;
  }
  .btn-primary{background:var(--brass); color:var(--ink);}
  .btn-primary:hover{background:var(--brass-light); transform:translateY(-2px);}
  .btn-ghost{border-color:var(--line); color:var(--sand);}
  .btn-ghost:hover{border-color:var(--brass-light); color:var(--brass-light);}
  .btn-dark{border-color:rgba(34,36,31,0.25); color:var(--charcoal);}
  .btn-dark:hover{border-color:var(--brass); color:var(--brass);}

  /* corner lead form — flush to right + bottom edges, container-fluid style */
  .hero-corner-form{
    position:absolute; right:0; bottom:0; z-index:5;
    width:360px; max-width:88vw;
    background:rgba(19,32,24,0.82); backdrop-filter:blur(10px);
    border-top:1px solid var(--line); border-left:1px solid var(--line);
    padding:32px 32px 28px;
  }
  .hero-corner-form > span.mono{color:var(--brass-light);}
  .hero-corner-form h3{color:var(--sand); font-size:1.3rem; font-weight:400; margin:8px 0 18px;}
  .corner-form{display:flex; flex-direction:column; gap:14px;}
  .corner-form input{
    background:transparent; border:none; border-bottom:1px solid var(--line);
    color:var(--sand); padding:10px 2px; font-family:'Inter',sans-serif; font-size:0.92rem;
  }
  .corner-form input::placeholder{color:rgba(239,232,216,0.4);}
  .corner-form input:focus{outline:none; border-bottom-color:var(--brass-light);}
  .corner-submit{width:100%; justify-content:center; margin-top:6px;}
  .corner-note{font-size:0.72rem; color:var(--sand-2); opacity:0.75; min-height:1em;}
  @media(max-width:900px){
    .hero-corner-form{
      position:relative; right:auto; bottom:auto; width:100%; max-width:none;
      margin-top:44px; border-left:none;
    }
  }

  /* scroll cue */
  .scroll-cue{
    position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3;
    color:var(--brass-light); display:flex; flex-direction:column; align-items:center; gap:8px;
  }
  .scroll-cue .line{width:1px; height:34px; background:linear-gradient(var(--brass-light), transparent); animation:scrollpulse 2s infinite;}
  @keyframes scrollpulse{0%{opacity:.2;}50%{opacity:1;}100%{opacity:.2;}}

  /* ---------- section basics ---------- */
  section{padding:120px 0; position:relative;}
  @media(max-width:700px){ section{padding:80px 0;} }
  .section-eyebrow{color:#cba86a; margin-bottom:18px;}
  .section-eyebrow::before{content:''; width:30px; height:1px; background: #ffaf00; display:inline-block; margin-right:12px;}
  h2.head{font-size:clamp(1.7rem,4vw,3rem); font-weight:300; max-width:760px;}
  .section-intro{max-width:100%; color:var(--moss); font-weight:400; margin-top:18px; font-size:1.02rem;}

  /* ---------- pricing ---------- */
  .pricing{background:var(--cream);}
  .price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:56px;}
  @media(max-width:900px){ .price-grid{grid-template-columns:1fr; max-width:440px;} }
  .price-card{
    background:var(--ink); color:var(--sand); padding:38px 32px; position:relative;
    border:1px solid var(--line); display:flex; flex-direction:column;
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .price-card:hover{transform:translateY(-6px); box-shadow:0 22px 44px rgba(19,32,24,0.18);}
  .price-card.featured{background:var(--ink-2); border-color:var(--brass-light);}
  .price-badge{
    position:absolute; top:-13px; left:32px; background:var(--brass); color:var(--ink);
    padding:5px 12px; font-size:0.6rem; letter-spacing:0.08em;
  }
  .price-type{color:var(--brass-light);}
  .price-card h3{font-size:1.35rem; font-weight:400; margin:10px 0 18px;}
  .price-amount{font-family:'Fraunces',serif; font-size:2rem; color:var(--sand); margin-bottom:20px;}
  .price-amount span{font-family:'Space Mono',monospace; font-size:0.62rem; color:var(--brass-light); text-transform:uppercase; letter-spacing:0.08em; margin-left:6px;}
  .price-specs{list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:28px; flex-grow:1;}
  .price-specs li{color:var(--sand-2); opacity:0.85; font-size:0.86rem; padding-left:16px; position:relative;}
  .price-specs li::before{content:'—'; position:absolute; left:0; color:var(--brass-light);}
  .price-card .btn{align-self:flex-start;background: white;}
  .price-card.featured .btn-primary{align-self:stretch; justify-content:center;}
  .price-disclaimer{margin-top:26px; font-size:0.72rem; color:var(--moss); opacity:0.75;}

  /* ---------- philosophy ---------- */
  .philosophy{background:var(--sand); text-align:center;}
  .philosophy .wrap{display:flex; flex-direction:column; align-items:center;}
  .philosophy h2{font-size:clamp(1.8rem,4.4vw,3.1rem); font-weight:300; max-width:780px; line-height:1.3;}
  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:70px; width:100%;}
  @media(max-width:760px){ .pillars{grid-template-columns:1fr; gap:44px;} }
  .pillar{text-align:left; border-top:1px solid var(--line); padding-top:22px;}
  .pillar .mono{color:#cba86a; display:block; margin-bottom:10px;}
  .pillar h3{font-size:1.35rem; font-weight:400; margin-bottom:10px;}
  .pillar p{color:var(--moss); font-size:0.92rem;}

  /* ---------- topographic divider ---------- */
  .topo{width:100%; display:block; height:auto;}

  /* ---------- architecture ---------- */
  .architecture{background:var(--ink); color:var(--sand);}
  .arch-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  @media(max-width:860px){ .arch-grid{grid-template-columns:1fr; gap:44px;} }
  .architecture .section-eyebrow{color:var(--brass-light);}
  .architecture .section-eyebrow::before{background:var(--brass-light);}
  .architecture h2{color:var(--sand); font-weight:300;line-height: normal;}
  .architecture p{color:var(--sand-2); opacity:0.85; margin-top:18px; font-size:15px; max-width:480px;}
  .material-tags{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
  .material-tags span{
    border:1px solid var(--line); padding:8px 14px; font-family:'Space Mono',monospace;
    font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass-light);
  }
  .arch-photo-wrap{position:relative;}
  .arch-photo{
    width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(0.9) contrast(1.05);
    border:1px solid var(--line);
  }
  .arch-blueprint-badge{
    position:absolute; right:-24px; bottom:-30px; width:150px; background:var(--ink);
    border:1px solid var(--brass-light); padding:14px 14px 10px;
    box-shadow:0 14px 34px rgba(0,0,0,0.4);
  }
  .arch-blueprint-badge .mono{display:block; margin-top:6px; color:var(--brass-light); font-size:0.6rem;}
  @media(max-width:560px){ .arch-blueprint-badge{width:110px; right:-10px; bottom:-20px; padding:10px 10px 8px;} }

  /* ---------- quote break ---------- */
  .quote-break{position:relative; height:60vh; min-height:420px; overflow:hidden; padding:0;}
  .quote-break img{width:100%; height:100%; object-fit:cover; filter:saturate(0.85) brightness(0.55);}
  .quote-break-overlay{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:0 30px; background:linear-gradient(180deg, rgba(19,32,24,0.25), rgba(19,32,24,0.55));
  }
  .quote-break-overlay p{
    font-family:'Fraunces',serif; font-style:italic; font-weight:400; color:var(--sand);
    font-size:clamp(1.4rem, 3.4vw, 2.4rem); max-width:820px; line-height:1.35;
  }
  .quote-break-overlay .mono{color:var(--brass-light); margin-top:22px;}

  /* ---------- collection / signature dot grid ---------- */
  .collection{background:var(--cream);}
  .collection-layout{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:start;}
  @media(max-width:900px){ .collection-layout{grid-template-columns:1fr;} }
  .type-list{margin-top:44px; display:flex; flex-direction:column; gap:0;}
  .type-row{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:22px 0; border-top:1px solid var(--line);
  }
  .type-row:last-child{border-bottom:1px solid var(--line);}
  .type-row .name{font-family:'Fraunces',serif; font-size:1.25rem;}
  .type-row .count{font-family:'Space Mono',monospace; color:var(--brass); font-size:0.85rem;}
  .type-row .desc{color:var(--moss); font-size:0.85rem; margin-top:4px;}

  .facts-panel{
    background:var(--ink); padding:44px; border-radius:2px;
  }
  .facts-panel > span.mono{color:var(--brass-light); display:block; margin-bottom:22px;}
  .facts-list{display:flex; flex-direction:column;}
  .facts-row{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:16px 0; border-top:1px solid var(--line);
  }
  .facts-row:last-child{border-bottom:1px solid var(--line);}
  .facts-row span{color:var(--sand-2); opacity:0.8; font-size:0.86rem;}
  .facts-row strong{font-family:'Fraunces',serif; font-weight:400; color:var(--sand); font-size:1.05rem;}

  /* ---------- location ---------- */
  .location{
    background-color:var(--sand-2);
    background-image:linear-gradient(100deg, var(--sand-2) 40%, rgba(239,232,216,0.5) 60%, rgba(239,232,216,0.15) 100%), url('https://images.unsplash.com/photo-1533219480925-55054b668f15?w=2000&q=80&auto=format&fit=crop');
    background-size:cover; background-position:right center;
  }
  .loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  @media(max-width:860px){ .loc-grid{grid-template-columns:1fr;} }
  .drive-list{display:grid; grid-template-columns:1fr 1fr; gap:20px 34px; margin-top:40px;}
  .drive-item{border-top:1px solid var(--line); padding-top:14px;}
  .drive-item .place{font-family:'Fraunces',serif; font-size:1.05rem;}
  .drive-item .time{font-family:'Space Mono',monospace; color:#cba86a; font-size:0.83rem; margin-top:4px;}
  .map-panel{background:var(--ink); padding:20px; border-radius:2px;}

  /* ---------- amenities ---------- */

  /* ---------- interiors gallery (line-art panels) ---------- */


  /* ---------- investment ---------- */
  .investment{background:var(--sand);}
  .inv-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
  @media(max-width:900px){ .inv-grid{grid-template-columns:1fr;} }
  .inv-photo{width:100%; aspect-ratio:16/10; object-fit:cover; filter:saturate(0.9); border:1px solid var(--line); margin-bottom:34px;}
  .inv-stats{display:grid; grid-template-columns:1fr 1fr; gap:34px; margin-top:10px;}
  .inv-stat{border-top:1px solid var(--line); padding-top:16px;}
  .inv-stat .num{font-family:'Fraunces',serif; font-size:2.1rem; color:var(--brass);}
  .inv-stat p{color:var(--moss); font-size:0.85rem; margin-top:6px;}
  .brand-strip{display:flex; gap:22px; margin-top:30px; flex-wrap:wrap; color:var(--moss); font-family:'Space Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase;}

  /* ---------- enquiry ---------- */
  .enquiry{
        background-color: #000000;
    color: var(--sand);
    background-image: linear-gradient(100deg, rgb(0 0 0 / 77%) 45%, rgb(0 0 0 / 65%) 100%), url(interior.jpg);
    background-size: cover;
    background-position: right center;}
  .enq-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px;}
  @media(max-width:900px){ .enq-grid{grid-template-columns:1fr;} }
  .enq-left h2{color:var(--sand); font-weight:300;font-size: 2rem;line-height: normal;}
  .enq-left p{color:var(--sand-2); opacity:0.85; margin-top:18px; max-width:420px;}
  .direct-contacts{margin-top:36px; display:flex; flex-direction:column; gap:14px;}
  .direct-contacts a{
    display:flex; align-items:center; justify-content:space-between;
    border:1px solid var(--line); padding:16px 20px; font-size:0.88rem;
    transition:border-color .3s ease, background .3s ease;
  }
  .direct-contacts a:hover{border-color:var(--brass-light); background:rgba(171,131,72,0.08);}
  .direct-contacts .arrow{color:var(--brass-light); font-family:'Space Mono',monospace;}

  form.enq-form{display:flex; flex-direction:column; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  @media(max-width:560px){ .form-row{grid-template-columns:1fr;} }
  .field{display:flex; flex-direction:column; gap:8px;}
  .field label{font-family:'Space Mono',monospace; font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass-light);}
  .field input, .field select, .field textarea{
    background:transparent; border:none; border-bottom:1px solid var(--line);
    color:var(--sand); padding:10px 2px; font-family:'Inter',sans-serif; font-size:0.95rem;
  }
  .field input::placeholder, .field textarea::placeholder{color:rgba(239,232,216,0.35);}
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none; border-bottom-color:var(--brass-light);
  }
  .field select{color:var(--sand);}
  .field select option{color:var(--ink);}
  .consent{font-size:0.62rem; color:black; opacity:0.65; margin-top:6px;}
  .form-submit{margin-top:8px; align-self:flex-start;}
  .form-note{margin-top:16px; font-size:0.78rem; color:var(--sand-2); opacity:0.6;}

  /* ---------- lead modal ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:500; display:flex; align-items:center; justify-content:center;
    background:rgba(19,32,24,0.72); backdrop-filter:blur(4px);
    opacity:0; pointer-events:none; transition:opacity .35s ease;
    padding:20px;
  }
  .modal-overlay.open{opacity:1; pointer-events:auto;}
  .modal-box{
    background:var(--cream); width:460px; max-width:100%; max-height:90vh; overflow-y:auto;
    padding:44px 40px; position:relative;
    transform:translateY(24px) scale(0.97); transition:transform .35s ease;
    border-top:2px solid var(--brass);
  }
  .modal-overlay.open .modal-box{transform:translateY(0) scale(1);}
  .modal-close{
    position:absolute; top:18px; right:18px; background:none; border:none; cursor:pointer;
    color:var(--moss); font-size:0.9rem; width:32px; height:32px; border-radius:50%;
    transition:background .25s ease;
  }
  .modal-close:hover{background:var(--sand-2);}
  .modal-box h3{font-size:1.3rem; font-weight:300; margin:10px 0 10px; max-width:360px;text-align: center;}
  .modal-sub{color:var(--moss); font-size:0.9rem; margin-bottom:24px;text-align: center;}
  .modal-form{display:flex; flex-direction:column; gap:18px;}
  .modal-form .field label{
    font-family:'Space Mono',monospace; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:black;
  }
  .modal-form .field input{
    background:transparent; border:none; border-bottom:1px solid rgba(171,131,72,0.4);
    color:var(--charcoal); padding:10px 2px; font-family:'Inter',sans-serif; font-size:0.95rem; width:100%;
  }
  .modal-form .field input:focus{outline:none; border-bottom-color:var(--brass);}
  .modal-submit{width:100%; justify-content:center; margin-top:4px;border:1px solid black;}
  .modal-note{font-size:0.8rem; min-height:1.2em; color:var(--brass);}
  .modal-note.error{color:#a54a3a;}
  body.modal-open{overflow:hidden;}

  /* submit button loading state, shared across all forms */
  .btn[disabled]{opacity:0.65; cursor:not-allowed; pointer-events:none;}
  .btn .btn-label{display:inline-flex; align-items:center; gap:8px;}
  .btn .spinner{
    width:13px; height:13px; border:2px solid rgba(255,255,255,0.35); border-top-color:currentColor;
    border-radius:50%; animation:spin .7s linear infinite; display:inline-block;
  }
  @keyframes spin{ to{transform:rotate(360deg);} }

  /* ---------- footer ---------- */
  /*==============================
Footer
==============================*/

.footer{

    background:#050b16;

    color:rgba(255,255,255,.75);

    padding:20px 0;

    text-align:center;

    font-size:12px;

    line-height:1.9;

}

.footer-rera{

    color:#fff;

    margin-bottom:18px;

    font-size:12px;

}

.footer-rera strong{

    color:#CDAB6E;

    font-weight:600;

}

.footer-disclaimer{

    max-width:1300px;

    margin:0 auto;

}

.footer-disclaimer p{

    margin-bottom:12px;

}

.footer-disclaimer strong{

    color:#CDAB6E;

}

.footer-links{

    margin-top:22px;

}

.footer-links a{

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

.footer-links a:hover{

    color:#CDAB6E;

}

.footer-links span{

    margin:0 12px;

    color:rgba(255,255,255,.35);

}

.footer-copy{

    margin-top:18px;

    font-size:11px;

    color:rgba(255,255,255,.55);

}

@media(max-width:768px){

.footer{

padding:20px 20px;

font-size:11px;

}

.footer-rera{

font-size:11px;

}

.footer-links{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:8px;

}

.footer-links span{

display:none;

}

}

  /* ---------- floating cta ---------- */
  

  /*=========================
Floating Action
=========================*/

.floating-action{

    position:fixed;

    right:20px;

    top:50%;

    transform:translateY(-50%);

    z-index:9999;

}

.floating-whatsapp i{

    font-size:30px;

    color:#fff;

}

/* Book Visit */

.visit-tab{

    position:absolute;

    right:-120px;

    top:50%;

    transform:translateY(-50%);

    background:#CDAB6E;

    color:#071c35;

    font-weight:700;

    padding:14px 22px;

    border-radius:0 50px 50px 0;

    text-decoration:none;

    white-space:nowrap;

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.2);

}

.visit-tab:hover{

    right:-130px;

}

/* Icons */

.floating-icons{

    width:72px;

    height:170px;

    background:#fff;

    border-radius:40px;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    align-items:center;

    padding:12px 0;

}

.icon{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    transition:.3s;

}

.call{

    background:#071c35;

}

.whatsapp{

    background:#25D366;

}

.icon svg{

    width:22px;

    height:22px;

}

.icon:hover{

    transform:scale(1.1);

}

/*=========================
Mobile
=========================*/

@media(max-width:768px){

.floating-action{

left:50%;

bottom:15px;

top:auto;

transform:translateX(-50%);

width:calc(100% - 24px);

max-width:420px;

}

.floating-icons{

width:100%;

height:70px;

padding:10px 14px;

border-radius:50px;

flex-direction:row;

}

.visit-tab{

position:absolute;

left:50%;

top:50%;

right:auto;

transform:translate(-50%,-50%);

padding:12px 24px;

border-radius:30px;

font-size:14px;

}

}

  @media screen and (max-width: 456px){
    .mono{
      font-size: 7px;
    }

    .hero p.lead{
          font-size: 12px;

    }

#mobile{
  display: none;
  }
}

.btn:hover{
color:white;
    background: #cba86a;
}

@media screen and (min-width: 456px){
  #deskhide{
    display: none;
  }
  #desktophid{
    display: none;
  }
}



  /*======================================
  COLLECTION
======================================*/
.collection-item{
    display:flex;
    flex-direction:column;
}

.collection-item p{
    flex:1;
}

.collection-btn{
    margin-top:35px;
    width:100%;
    justify-content:center;
}
.collection{
    background:#f8f6f2;
    padding:120px 0;
    position:relative;
}

.collection .head{
    max-width:760px;
    margin:20px auto;
    text-align:center;
}

.collection .head em{
    font-style:normal;
    color:var(--accent);
}

.collection .section-intro{
    max-width:720px;
    margin:0 auto 70px;
    text-align:center;
}

/*=========================
   Cards
==========================*/

.collection-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.collection-item{
    position:relative;
    padding:50px 38px;
    background:#fff;
    border:1px solid rgba(203,168,106,.18);
    transition:.45s ease;
    overflow:hidden;
}

.collection-item::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:0;
    background:var(--accent);
    transition:.45s;
}

.collection-item:hover{
    transform:translateY(-10px);
    box-shadow:0 28px 60px rgba(0,0,0,.08);
    border-color:rgba(203,168,106,.45);
}

.collection-item:hover::before{
    height:100%;
}

.collection-no{
    display:block;
    color:var(--accent);
    letter-spacing:3px;
    font-size:1.78rem;
    margin-bottom:20px;
    font-family: 'Fraunces';
}

.collection-item h3{
    margin-bottom:18px;
    font-size:40px;
    line-height: normal;
}

.collection-item p{
    margin:0;
    color:#666;
    font-size: 15px;
    line-height:normal;
}

/*=========================
 Featured Card
==========================*/

.collection-item.featured{
    border:1px solid var(--accent);
    transform:translateY(-18px);
}

.collection-item.featured:hover{
    transform:translateY(-26px);
}

.collection-tag{
    position:absolute;
    right:28px;
    top:28px;
    font-size:.72rem;
    letter-spacing:2px;
    color:var(--accent);
}

/*=========================
 Divider
==========================*/

.collection-divider{
    width:120px;
    height:1px;
    background:rgba(203,168,106,.4);
    margin:80px auto;
}

/*=========================
 Luxury Stats
==========================*/

.luxury-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    text-align:center;
}

.stat h3{
    margin:0;
    font-size:3rem;
    color:var(--accent);
    font-weight:500;
}

.stat span{
    display:block;
    margin-top:12px;
    color:#777;
    letter-spacing:2px;
    text-transform:uppercase;
    font-size:.82rem;
}

/*=========================
 CTA
==========================*/

.cta-center{
    display:flex;
    justify-content:center;
}

/*=========================
 Responsive
==========================*/

@media (max-width:992px){

    .collection-grid,
    .luxury-stats{
        grid-template-columns:1fr;
    }

    .collection-item.featured{
        transform:none;
    }

    .collection-item.featured:hover{
        transform:translateY(-10px);
    }

    .collection-divider{
        margin:60px auto;
    }

}





  /*==========================
Gallery
==========================*/

.gallery{

    padding:120px 0;

    background:#f8f6f2;

}

.gallery .head{

    text-align:center;

    max-width:820px;

    margin:20px auto;

}

.gallery .head em{

    font-style:normal;

    color:#CDAB6E;

}

.gallery .section-intro{

    text-align:center;

    max-width:720px;

    margin:0 auto 70px;

}

/*==========================
Grid
==========================*/

.gallery-masonry{

    display:grid;

    grid-template-columns:repeat(12,1fr);

    gap:25px;

}

/*==========================
Cards
==========================*/

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:18px;

    min-height:320px;

    grid-column:span 4;

}

.gallery-item.large{

    grid-column:span 8;

    min-height:620px;

}

.gallery-item.wide{

    grid-column:span 8;

    min-height:360px;

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s;

}

.gallery-overlay{

    position:absolute;

    inset:0;

    padding:35px;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    background:linear-gradient(

    transparent,

    rgba(0,0,0,.78)

    );

}

.gallery-overlay span{

    color:#CDAB6E;

    letter-spacing:3px;

    font-size:12px;

}

.gallery-overlay h3{

    color:white;

    margin-top:12px;

    font-size:28px;

    font-weight:500;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

/*==========================
Responsive
==========================*/

@media(max-width:991px){

.gallery-item,

.gallery-item.large,

.gallery-item.wide{

grid-column:span 12;

min-height:420px;

}

}

@media(max-width:576px){

.gallery{

padding:80px 0;

}

.gallery-item,

.gallery-item.large,

.gallery-item.wide{

min-height:300px;

border-radius:14px;

}

.gallery-overlay{

padding:25px;

}

.gallery-overlay h3{

font-size:22px;

}

}







  /*====================================================
                THE DIFFERENCE
====================================================*/

.difference{

    position:relative;

    padding:140px 0;

    overflow:hidden;

    color:#fff;

    background:
    linear-gradient(rgba(8,10,15,.70),
    rgba(8,10,15,.82)),
    url("exterior.jpg")
    center center/cover no-repeat;

    background-attachment:fixed;

}

/* Gold Glow */

.difference::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(circle at top right,
    rgba(205,171,110,.12),
    transparent 40%),
    radial-gradient(circle at bottom left,
    rgba(205,171,110,.06),
    transparent 45%);

}

/* Bottom Fade */

.difference::after{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    height:180px;

    background:
    linear-gradient(
    transparent,
    rgba(0,0,0,.35));

}

.difference .wrap{

    position:relative;

    z-index:2;

}

.difference .section-eyebrow{

    text-align:center;

}

.difference .head{

    text-align:center;

    max-width:900px;

    margin:20px auto;

}

.difference .head em{

    color:#CDAB6E;

    font-style:normal;

}

.difference .section-intro{

    max-width:760px;

    margin:0 auto 80px;

    text-align:center;

    color:rgba(255,255,255,.78);

}

/*==========================
GRID
===========================*/

.difference-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*==========================
CARD
===========================*/

.difference-card{

    position:relative;

    display:flex;

    flex-direction:column;

    padding:45px;

    background:rgba(255,255,255,.07);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.10);

    transition:.45s;

    overflow:hidden;

}

.difference-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:0;

    background:#CDAB6E;

    transition:.45s;

}

.difference-card:hover{

    transform:translateY(-12px);

    border-color:#CDAB6E;

}

.difference-card:hover::before{

    height:100%;

}

.difference-card.featured{

    border-color:#CDAB6E;

    transform:translateY(-15px);

}

.difference-card.featured:hover{

    transform:translateY(-22px);

}

.collection-tag{

    position:absolute;

    top:25px;

    right:25px;

    font-size:11px;

    letter-spacing:2px;

    color:#CDAB6E;

}

.number{

    color:#CDAB6E;

    letter-spacing:3px;

    margin-bottom:25px;

}

.difference-card h3{

    color:#fff;

    margin-bottom:15px;

}

.difference-card p{

    color:rgba(255,255,255,.75);

    line-height:1.9;

    flex:1;

}

.difference-btn{

    margin-top:35px;

    width:100%;

    justify-content:center;

}

/*==========================
FOOTER CTA
===========================*/

.difference-footer{

    text-align:center;

    margin-top:90px;

    padding-top:70px;

    border-top:1px solid rgba(255,255,255,.12);

}

.difference-footer span{

    color:#CDAB6E;

    letter-spacing:3px;

}

.difference-footer h3{

    max-width:780px;

    margin:25px auto 40px;

    font-size:34px;

    line-height:1.45;

    font-weight:400;

    color:#fff;

}

/*==========================
RESPONSIVE
===========================*/

@media(max-width:992px){

.difference{

background-attachment:scroll;

padding:90px 0;

}

.difference-grid{

grid-template-columns:1fr;

}

.difference-card.featured{

transform:none;

}

.difference-card.featured:hover{

transform:translateY(-10px);

}

.difference-footer h3{

font-size:28px;

}

}

@media(max-width:576px){

.difference{

padding:70px 0;

}

.difference-card{

padding:30px;

}

.difference-footer{

margin-top:60px;

padding-top:50px;

}

.difference-footer h3{

font-size:22px;

}

}