
  :root{
    --emerald:#124B4D;
    --emerald-deep:#0B3F42;
    --gold:#C8A45D;
    --gold-bright:#E3CB92;
    --ivory:#F7F5F0;
    --ivory-dim:#EDE9DF;
    --ink:#222222;
    --grey:#6B6B6B;
    --line:rgba(34,34,34,0.12);
    --serif:'Cormorant Garamond', serif;
    --sans:'Jost', sans-serif;
    --shine:linear-gradient(115deg, #9A7B3A 0%, #E3CB92 22%, #FBF1D6 40%, #C8A45D 55%, #9A7B3A 75%, #E3CB92 100%);
  }
  .gold-shine{
    background:var(--shine);
    background-size:220% auto;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation:shine-move 5s linear infinite;
  }
  @keyframes shine-move{0%{background-position:0% center;} 100%{background-position:220% center;}}
  .btn-shine{
    background:var(--shine); background-size:220% auto;
    color:var(--emerald-deep); font-weight:600;
    box-shadow:0 8px 22px rgba(200,164,93,0.35);
    animation:shine-move 6s linear infinite;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    background:var(--ivory);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
  }
  img{display:block; width:100%; height:100%; object-fit:cover;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1280px; margin:0 auto; padding:0 44px;}
  @media(max-width:760px){.wrap{padding:0 22px;}}
  ul{list-style:none;}

  /* ===== Top bar ===== */
  .topbar{background:var(--emerald-deep); color:var(--ivory-dim); font-size:12.5px;}
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; padding:8px 44px; letter-spacing:.3px;}
  .topbar a{opacity:.85;}
  .topbar a:hover{opacity:1;}
  .topbar .tb-right{display:flex; gap:22px;}
  @media(max-width:640px){.topbar .tb-right span:nth-child(2){display:none;}}

  /* ===== Header ===== */
  header{background:var(--emerald); position:sticky; top:0; z-index:60; box-shadow:0 1px 0 rgba(11,63,66,.10);}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0;}
  .brand{display:flex; align-items:center; gap:10px;}
  .brand-mark{
    width:38px; height:38px; border:1px solid var(--gold); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); color:var(--gold); font-size:18px; font-style:italic;
  }
  .brand-logo{width:auto; height:48px; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(11,63,66,0.55));}
  .foot-lockup{display:flex; align-items:center; gap:14px;}
  .foot-mark{height:74px; width:auto; object-fit:contain;}
  .foot-tag{font-size:10.5px; letter-spacing:2.4px; color:var(--gold); margin-top:4px;}
  .foot-logo{width:190px; height:auto; display:block; margin-bottom:6px;}
  .brand-name{font-family:var(--serif); font-size:23px; color:var(--ivory); letter-spacing:.3px;}
  .brand-name em{color:var(--gold); font-style:normal;}
  .navlinks{display:flex; gap:32px; font-size:14px; color:var(--ivory-dim);}
  .navlinks a{transition:color .2s; padding:6px 0;}
  .navlinks a:hover{color:var(--gold-bright);}
  .nav-phone{
    display:flex; align-items:center; gap:9px;
    border:1px solid rgba(247,243,233,0.3); border-radius:24px;
    padding:9px 18px; font-size:13.5px; color:var(--ivory); transition:border-color .2s, background .2s;
  }
  .nav-phone:hover{background:rgba(247,243,233,0.08); border-color:var(--gold);}
  .menu-btn{display:none; background:none; border:none; color:var(--ivory); font-size:24px;}
  @media(max-width:1100px){.navlinks{display:none;} .menu-btn{display:block;}}

  /* ===== Ticker ===== */
  .ticker-band{background:var(--gold); color:var(--emerald-deep); overflow:hidden; white-space:nowrap; font-size:13px; font-weight:500;}
  .ticker-track{display:inline-flex; gap:52px; padding:10px 0; animation:scroll-left 32s linear infinite;}
  .ticker-track span{display:inline-flex; align-items:center; gap:8px;}
  .ticker-track span::before{content:"◆"; font-size:9px; color:var(--emerald-deep);}
  @keyframes scroll-left{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* ===== Hero ===== */
  .hero{
    position:relative; min-height:640px; display:flex; align-items:center;
    background:var(--emerald-deep);
  }
  .hero-bg{position:absolute; inset:0;}
  .hero-bg img,.hero-bg video{width:100%; height:100%; object-fit:cover; display:block; filter:brightness(0.85) saturate(1.05);}
  .hero-bg::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(11,63,66,0.62) 0%, rgba(18,75,77,0.38) 45%, rgba(11,63,66,0.82) 100%);
  }
  .hero-bg video{object-position:center center; background:var(--emerald-deep);}
  @media(max-width:700px){
    .hero{min-height:560px;}
    .hero-bg video{object-position:72% center;}
    /* ===== Mobile header + menu ===== */
  header{position:sticky;}
  @media(max-width:1100px){
    .nav{position:relative; gap:12px;}
    .navlinks{
      display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0;
      background:var(--emerald); border-top:1px solid rgba(247,245,240,0.12); padding:6px 22px 14px;
      box-shadow:0 14px 26px rgba(11,63,66,0.35);
    }
    header.menu-open .navlinks{display:flex;}
    .navlinks a{padding:14px 0; border-bottom:1px solid rgba(247,245,240,0.08); font-size:15px;}
    .menu-btn{margin-left:2px;}
  }
  @media(max-width:700px){
    .topbar .wrap{padding:7px 22px; font-size:11.5px; justify-content:center;}
    .topbar .tb-right{display:none;}
    .brand-logo{height:38px;}
    .brand-name{font-size:19px; white-space:nowrap;}
    .brand{gap:8px; flex-shrink:0;}
    .wrap.nav{padding:12px 22px;}
    .nav-phone{margin-left:auto; padding:8px 12px; font-size:12px; white-space:nowrap;}
  }
  @media(max-width:430px){ .nav-phone .ph-num{display:none;} .nav-phone{width:38px; height:38px; padding:0; justify-content:center; font-size:15px;} }
  .hero .hero-content{padding:56px 22px 64px;}
    .hero-kicker{font-size:11.5px; letter-spacing:1.6px; margin-bottom:16px;}
    h1.hero-head{font-size:clamp(30px,8.4vw,40px);}
    .hero-search{margin-top:28px; padding:6px 6px 6px 18px;}
    .hero-search button{padding:11px 18px;}
    .hero-actions{margin-top:22px; gap:12px;}
    .btn-gold,.btn-outline{padding:13px 22px;}
  }
  .hero-content{position:relative; z-index:2; width:100%; text-align:center; padding:80px 0 56px;}
  .hero-kicker{color:var(--gold-bright); font-size:13.5px; letter-spacing:2.5px; font-weight:500; margin-bottom:20px;}
  h1.hero-head{
    font-family:var(--serif); color:var(--ivory); font-weight:600;
    font-size:clamp(34px,5.4vw,64px); line-height:1.12; max-width:900px; margin:0 auto;
  }
  h1.hero-head em{background:var(--shine); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine-move 5s linear infinite; font-style:italic;}
  .hero-search{
    max-width:640px; margin:40px auto 0; display:flex; align-items:center; gap:12px;
    background:rgba(247,243,233,0.1); border:1px solid rgba(247,243,233,0.35);
    border-radius:40px; padding:8px 8px 8px 24px; backdrop-filter:blur(6px);
  }
  .hero-search input{
    flex:1; background:none; border:none; outline:none; color:var(--ivory); font-family:var(--sans); font-size:15px;
  }
  .hero-search input::placeholder{color:rgba(247,243,233,0.6);}
  .hero-search button{
    background:var(--gold); color:var(--emerald-deep); border:none; border-radius:40px;
    padding:12px 26px; font-size:13.5px; font-weight:600; cursor:pointer; white-space:nowrap;
  }
  .hero-actions{display:flex; justify-content:center; gap:16px; margin-top:30px; flex-wrap:wrap;}
  .btn-gold{background:var(--shine); background-size:220% auto; animation:shine-move 6s linear infinite; color:var(--emerald-deep); padding:15px 30px; border-radius:2px; font-size:14px; font-weight:600; box-shadow:0 8px 22px rgba(200,164,93,0.32); transition:box-shadow .2s;}
  .btn-gold:hover{box-shadow:0 10px 28px rgba(200,164,93,0.5);}
  .btn-outline{border:1px solid rgba(247,243,233,0.5); color:var(--ivory); padding:15px 30px; border-radius:2px; font-size:14px; transition:border-color .2s;}
  .btn-outline:hover{border-color:var(--gold);}

  /* ===== Stat strip ===== */
  .stat-strip{
    position:relative; z-index:2; background:var(--ivory);
    display:grid; grid-template-columns:repeat(3,1fr);
    margin:0 44px; transform:translateY(38px); box-shadow:0 18px 46px rgba(11,63,66,0.18);
  }
  @media(max-width:760px){.stat-strip{grid-template-columns:1fr;} }
  @media(max-width:520px){.stat-strip{margin:0 16px;}}
  .stat{
    padding:26px 22px; display:flex; align-items:center; gap:14px; border-right:1px solid var(--line);
  }
  .stat:last-child{border-right:none;}
  .stat-icon{
    width:40px; height:40px; border-radius:50%; background:var(--ivory-dim);
    display:flex; align-items:center; justify-content:center; font-size:17px; color:var(--emerald); flex-shrink:0;
  }
  .stat b{font-family:var(--serif); font-size:24px; font-weight:600; display:block;}
  .stat span{font-size:12px; color:var(--grey);}

  /* ===== Trusted partners ===== */
  .partners{background:var(--ivory-dim); padding:110px 0 90px;}
  .partners-head{text-align:center; max-width:620px; margin:0 auto 54px;}
  .partners-kicker{font-size:12.5px; letter-spacing:2.5px; color:var(--gold); font-weight:600; margin-bottom:16px;}
  .partners-title{font-family:var(--serif); font-size:clamp(26px,3.2vw,38px); font-weight:600; color:var(--emerald); line-height:1.25;}
  .partners-title em{display:block; background:var(--shine); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine-move 5s linear infinite; font-style:italic; font-weight:500; margin-top:2px;}
  .partners-sub{font-size:14.5px; color:var(--grey); margin-top:18px; line-height:1.6;}
  .partner-strip{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .partner-track{
    display:flex; align-items:center; gap:24px; width:max-content;
    animation:partner-scroll 26s linear infinite;
  }
  .partner-strip:hover .partner-track{animation-play-state:paused;}
  @keyframes partner-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .partner-card{
    background:#fff; border-radius:6px; box-shadow:0 6px 20px rgba(27,25,17,0.06);
    width:180px; height:110px; display:flex; align-items:center; justify-content:center; padding:20px;
    transition:transform .25s, box-shadow .25s; flex-shrink:0;
  }
  .partner-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(27,25,17,0.12);}
  .partner-card img{width:auto; height:auto; max-width:100%; max-height:48px; object-fit:contain;}
  @media(max-width:640px){.partner-card{width:135px; height:90px; padding:14px;} .partner-card img{max-height:34px;}}

  /* ===== Section shared ===== */
  .section{padding:130px 0 100px;}
  .section.tight{padding:90px 0;}
  .sec-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:50px; gap:24px; flex-wrap:wrap;}
  .sec-kicker{font-size:12.5px; letter-spacing:2px; color:var(--gold); font-weight:600; margin-bottom:14px;}
  .sec-title{font-family:var(--serif); font-size:clamp(28px,3.4vw,42px); font-weight:600; max-width:560px; line-height:1.15;}
  .sec-note{font-size:14.5px; color:var(--grey); max-width:340px; line-height:1.65;}

  /* ===== Listings ===== */
  .listing-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:30px;}
  @media(max-width:640px){.listing-grid{grid-template-columns:1fr;}}
  .listing{background:#fff; box-shadow:0 10px 30px rgba(27,25,17,0.06); transition:transform .3s, box-shadow .3s;}
  .listing:hover{transform:translateY(-6px); box-shadow:0 20px 46px rgba(27,25,17,0.13);}
  .listing-img{position:relative; height:250px; overflow:hidden;}
  .listing-img img{transition:transform .5s;}
  .listing:hover .listing-img img{transform:scale(1.06);}
  .listing-badge{
    position:absolute; top:16px; left:16px; background:var(--emerald); color:var(--gold-bright);
    font-size:11.5px; font-weight:500; padding:6px 13px; letter-spacing:.3px;
  }
  .listing-rera{
    position:absolute; top:16px; right:16px; background:rgba(247,243,233,0.92); color:var(--emerald);
    font-size:11px; font-weight:600; padding:6px 11px;
  }
  .listing-body{padding:26px;}
  .listing-loc{font-size:12px; color:var(--gold); font-weight:600; letter-spacing:.3px;}
  .listing-name{font-family:var(--serif); font-size:23px; font-weight:600; margin-top:8px;}
  .listing-price{font-size:14.5px; color:var(--ink); margin-top:6px; font-weight:500;}
  .listing-price span{color:var(--grey); font-weight:400;}
  .listing-specs{display:flex; gap:16px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); font-size:12.5px; color:var(--grey);}
  .listing-specs b{color:var(--ink); font-weight:600;}
  .listing-thumbs{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:0 26px 26px;}
  .listing-thumbs div{height:64px; overflow:hidden; border-radius:2px;}
  .listing-more{display:flex; justify-content:center; margin-top:56px;}
  .listing-more a{
    border:1px solid var(--emerald); color:var(--emerald); padding:14px 32px; font-size:13.5px; border-radius:2px;
    transition:background .2s, color .2s;
  }
  .listing-more a:hover{background:var(--emerald); color:var(--ivory);}

  /* ===== Popular Cities ===== */
  .cities{background:var(--ivory);}
  .city-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  @media(max-width:900px){.city-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.city-grid{grid-template-columns:1fr;}}
  .city-card{
    display:block; position:relative; height:230px; border-radius:6px; overflow:hidden;
    box-shadow:0 10px 28px rgba(11,63,66,0.16); transition:transform .3s, box-shadow .3s;
  }
  .city-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(11,63,66,0.28);}
  .city-card img{transition:transform .5s;}
  .city-card:hover img{transform:scale(1.08);}
  .city-card::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(11,63,66,0) 40%, rgba(11,63,66,0.85) 100%);
  }
  .city-card .city-name{
    position:absolute; left:0; right:0; bottom:0; z-index:2; padding:20px;
    display:flex; justify-content:space-between; align-items:center;
  }
  .city-card .city-name span{font-family:var(--serif); font-size:21px; font-weight:600; color:#fff;}
  .city-card .city-name .arrow{
    width:30px; height:30px; border-radius:50%; background:var(--shine); background-size:220% auto;
    display:flex; align-items:center; justify-content:center; color:var(--emerald-deep); font-size:14px; flex-shrink:0;
    transition:transform .3s;
  }
  .city-card:hover .city-name .arrow{transform:translateX(4px);}

  /* ===== Featured split ===== */
  .featured{background:var(--emerald); color:var(--ivory);}
  .featured .sec-kicker{color:var(--gold-bright);}
  .feat-grid{display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch;}
  @media(max-width:900px){.feat-grid{grid-template-columns:1fr;}}
  .feat-img{min-height:460px; position:relative;}
  .feat-text{padding:60px; display:flex; flex-direction:column; justify-content:center;}
  @media(max-width:760px){.feat-text{padding:44px 26px;}}
  .feat-text h3{font-family:var(--serif); font-size:clamp(26px,3vw,36px); font-weight:600; line-height:1.2;}
  .feat-text p{font-size:15px; color:#CFE0D6; margin-top:20px; line-height:1.7; max-width:440px;}
  .feat-list{margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px;}
  .feat-list li{font-size:13.5px; color:var(--ivory-dim); display:flex; align-items:center; gap:9px;}
  .feat-list li::before{content:""; width:6px; height:6px; background:var(--gold); border-radius:50%; flex-shrink:0;}
  .feat-text .btn-gold{margin-top:34px; align-self:flex-start;}

  /* ===== Process ===== */
  .process{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media(max-width:900px){.process{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.process{grid-template-columns:1fr;}}
  .proc-item{background:var(--ivory); padding:36px 28px;}
  .proc-item .n{font-family:var(--serif); font-size:15px; color:var(--gold); font-weight:600; letter-spacing:1px;}
  .proc-item h4{font-family:var(--serif); font-size:21px; margin-top:14px; font-weight:600;}
  .proc-item p{font-size:13.5px; color:var(--grey); margin-top:10px; line-height:1.65;}

  /* ===== Testimonial ===== */
  .quote-block{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;}
  @media(max-width:860px){.quote-block{grid-template-columns:1fr; gap:32px;}}
  .quote-block figure{position:relative; height:440px; overflow:hidden;}
  blockquote{font-family:var(--serif); font-size:clamp(23px,2.6vw,32px); font-weight:500; line-height:1.42; font-style:italic; color:var(--ink);}
  .quote-attr{margin-top:26px; font-size:14px; color:var(--grey); font-style:normal;}
  .quote-attr b{color:var(--ink); font-weight:600; display:block; font-size:15px; margin-bottom:2px; font-style:normal;}
  .quote-stars{color:var(--gold); margin-bottom:20px; font-size:15px; letter-spacing:3px;}

  /* ===== CTA band ===== */
  .cta-band{background:var(--emerald-deep); padding:90px 0; text-align:center;}
  .cta-inner{display:flex; flex-direction:column; align-items:center; gap:22px;}
  .cta-eyebrow{font-family:var(--serif); font-size:clamp(24px,3vw,34px); font-weight:600; color:#fff;}
  .cta-eyebrow .amp{color:#8a8880;}
  .cta-inner h3{font-family:var(--serif); font-size:clamp(24px,3vw,36px); font-weight:600; max-width:560px; color:#fff;}
  .cta-sub{font-size:14.5px; color:#B9B7AE; max-width:480px; line-height:1.7;}
  .cta-actions{display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:6px;}
  .btn-whatsapp{border:1px solid rgba(200,164,93,0.5); color:var(--gold-bright); padding:15px 28px; border-radius:2px; font-size:14px; transition:border-color .2s, background .2s;}
  .btn-whatsapp:hover{background:rgba(200,164,93,0.08); border-color:var(--gold);}

  /* ===== Footer ===== */
  footer{background:var(--emerald-deep); color:var(--ivory-dim); padding:70px 0 26px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(247,243,233,0.12);}
  @media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
  .foot-brand{font-family:var(--serif); font-size:23px; color:var(--ivory);}
  .foot-brand em{color:var(--gold); font-style:normal;}
  .foot-about{font-size:13.5px; color:#9FAB9B; margin-top:16px; max-width:260px; line-height:1.65;}
  .foot-col h5{font-size:12.5px; letter-spacing:1.5px; color:var(--gold-bright); margin-bottom:18px; font-weight:600;}
  .foot-col a{display:block; font-size:14px; color:var(--ivory-dim); margin-bottom:12px; opacity:.9;}
  .foot-col a:hover{opacity:1; color:var(--gold-bright);}
  @media(max-width:760px){
    .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px 20px;}
    .foot-grid > div:first-child{grid-column:1 / -1;}
    .foot-grid > .foot-col:last-child{grid-column:1 / -1;}
    .foot-col a{overflow-wrap:anywhere;}
    .foot-bottom{flex-direction:column;}
  }
  .foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12px; color:#7C8A79; flex-wrap:wrap; gap:10px;}

  /* ===== Chat bubble ===== */
  .chat-fab{
    position:fixed; bottom:26px; right:26px; z-index:70;
    width:56px; height:56px; border-radius:50%; background:var(--emerald);
    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(11,63,66,0.35);
    border:2px solid var(--gold);
  }
  .chat-fab span{color:var(--gold-bright); font-size:22px;}
  .chat-bubble{
    position:fixed; bottom:92px; right:26px; z-index:70;
    background:#fff; color:var(--ink); padding:13px 18px; border-radius:14px 14px 2px 14px;
    font-size:13.5px; box-shadow:0 10px 26px rgba(27,25,17,0.16); max-width:210px;
  }
  @media(max-width:520px){.chat-bubble{right:16px;} .chat-fab{right:16px;}}
  html{scroll-padding-top:84px;}
  @media(max-width:700px){.chat-bubble{display:none;}}
  /* ===== Property calculator + lead form ===== */
  .calc{background:var(--ivory-dim);}
  .calc-card{
    display:grid; grid-template-columns:1.05fr 1fr; background:#fff; border-radius:18px; overflow:hidden;
    box-shadow:0 26px 60px rgba(11,63,66,0.18); border:1px solid var(--line);
  }
  @media(max-width:920px){.calc-card{grid-template-columns:1fr;}}
  .calc-left{padding:40px 40px 34px;}
  .calc-step{margin-bottom:28px;}
  .calc-step-title{display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:12px; font-weight:600; font-size:15px; color:var(--emerald-deep);}
  .calc-step-title small{font-size:12px; font-weight:400; color:var(--grey);}
  .req{color:#B3382C; font-style:normal;}
  .chip-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .chip-row{display:flex; flex-wrap:wrap; gap:10px;}
  .chip{position:relative; cursor:pointer; display:block;}
  .chip input{position:absolute; opacity:0; pointer-events:none;}
  .chip span{
    display:block; text-align:center; padding:13px 12px; font-size:14px; color:var(--ink);
    background:var(--ivory); border:1px solid var(--line); border-radius:10px; transition:all .2s;
  }
  .chip.sm span{padding:10px 16px; font-size:13.5px; border-radius:99px;}
  .chip:hover span{border-color:var(--emerald);}
  .chip input:checked + span{
    background:var(--emerald); color:#fff; border-color:var(--emerald);
    box-shadow:0 8px 18px rgba(18,75,77,0.28); font-weight:500;
  }
  .chip input:focus-visible + span{outline:2px solid var(--gold); outline-offset:2px;}
  .chip-row.invalid .chip span{border-color:#B3382C;}

  .budget-out{font-family:var(--serif); font-size:30px; font-weight:600; color:var(--emerald); line-height:1;}
  input[type=range]{
    -webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:99px; outline:none; margin:14px 0 4px;
    background:linear-gradient(90deg, var(--emerald) var(--pct,30%), #E2DDCF var(--pct,30%));
  }
  input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:var(--gold);
    border:4px solid var(--emerald); box-shadow:0 4px 10px rgba(11,63,66,0.35); cursor:pointer;
  }
  input[type=range]::-moz-range-thumb{
    width:20px; height:20px; border-radius:50%; background:var(--gold);
    border:4px solid var(--emerald); box-shadow:0 4px 10px rgba(11,63,66,0.35); cursor:pointer;
  }
  .ticks{position:relative; height:20px; margin:2px 13px 0;}
  .ticks span{position:absolute; top:0; transform:translateX(-50%); font-size:11.5px; color:var(--grey); white-space:nowrap;}
  .exact{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; font-size:12.5px; color:var(--grey);}
  .exact-box{display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--ivory); border-radius:8px; padding:6px 10px; color:var(--ink); font-size:14px;}
  .exact-box input{width:72px; border:none; background:transparent; font:inherit; font-weight:600; text-align:right; outline:none; color:var(--ink);}
  input[type=number]{-moz-appearance:textfield; appearance:textfield;}
  input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}

  .stepper{display:flex; align-items:stretch; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--ivory);}
  .stepper button{
    width:56px; border:none; background:#fff; font-size:24px; color:var(--emerald); cursor:pointer; transition:background .2s;
  }
  .stepper button:hover{background:var(--ivory-dim);}
  .stepper button:active{background:#E4DECE;}
  .stepper-mid{flex:1; display:flex; align-items:baseline; justify-content:center; gap:8px; padding:12px 8px; border-left:1px solid var(--line); border-right:1px solid var(--line);}
  .stepper-mid input{width:96px; border:none; background:transparent; text-align:right; outline:none; font-family:var(--serif); font-size:28px; font-weight:600; color:var(--ink);}
  .stepper-mid span{font-size:13px; color:var(--grey);}
  .mini{font-size:12px; color:var(--grey); margin-top:8px;}
  .bench{background:var(--ivory); border:1px solid var(--line); border-radius:10px; padding:14px 16px; font-size:13px; color:var(--grey); line-height:1.65;}
  .bench b{color:var(--emerald-deep);}

  .calc-right{
    background:linear-gradient(150deg, var(--emerald) 0%, var(--emerald-deep) 100%); color:#fff; padding:40px;
  }
  .est-kicker{font-size:12.5px; letter-spacing:2px; font-weight:600; color:var(--gold-bright); margin-bottom:18px;}
  .est-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .est{background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.15); border-radius:12px; padding:18px 16px; min-height:96px;}
  .est b{display:block; font-family:var(--serif); font-size:clamp(22px,2.3vw,28px); font-weight:600; line-height:1.15;
    background:var(--shine); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine-move 6s linear infinite;}
  .est span{display:block; margin-top:8px; font-size:11px; letter-spacing:1.1px; text-transform:uppercase; color:#C9DAD6;}
  .est.over b{background:none; -webkit-background-clip:initial; background-clip:initial; color:#FFBFA9; animation:none;}
  .est-foot{font-size:11.5px; color:#A9C2BE; margin-top:12px; line-height:1.55;}
  .est-foot.center{text-align:center; margin-top:10px;}
  .lead-title{font-family:var(--serif); font-size:24px; font-weight:600; margin:26px 0 14px;}
  .f-row{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px;}
  @media(max-width:560px){.f-row{grid-template-columns:1fr;} .calc-left,.calc-right{padding:28px 20px;} .chip-grid{grid-template-columns:1fr 1fr;}}
  .f input,.f select{
    width:100%; padding:14px 14px; font:inherit; font-size:14.5px; color:#fff;
    background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.24); border-radius:10px; outline:none; transition:border-color .2s, background .2s;
  }
  .f input::placeholder{color:rgba(255,255,255,0.58);}
  .f input:focus,.f select:focus{border-color:var(--gold-bright); background:rgba(255,255,255,0.12);}
  .f select option{color:#222; background:#fff;}
  .f input.invalid{border-color:#FFBFA9;}
  .field-err{font-size:12px; color:#B3382C; min-height:0; margin-top:6px;}
  .calc-right .field-err{color:#FFBFA9;}
  .field-err:empty{display:none;}
  .submit-btn{width:100%; margin-top:6px; padding:16px 20px; border:none; cursor:pointer; font-family:inherit; font-size:15px; border-radius:10px;}
  .submit-btn:disabled{opacity:.7; cursor:wait;}
  .form-err{margin-top:12px; font-size:13px; color:#FFBFA9; text-align:center;}
  .form-err:empty{display:none;}
  .lead-done{text-align:center; padding:34px 6px 10px;}
  .lead-done[hidden]{display:none;}
  .done-ico{width:64px; height:64px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:30px; color:var(--emerald-deep); background:var(--shine); background-size:220% auto;}
  .lead-done h3{font-family:var(--serif); font-size:28px; font-weight:600;}
  .lead-done p{margin-top:12px; font-size:14.5px; line-height:1.7; color:#D2E2DE;}
  .link-btn{margin-top:18px; background:none; border:none; color:var(--gold-bright); text-decoration:underline; cursor:pointer; font:inherit; font-size:14px;}
  /* ================= CNK content sections ================= */
  .blk{padding:96px 0;}
  .calc.section{padding:96px 0;}
  @media(max-width:700px){.blk,.calc.section{padding:64px 0;} .partners{padding:84px 0 56px;}}
  .center-head{text-align:center; margin-bottom:56px;}
  .center-head .sec-title{margin:0 auto; max-width:660px;}
  .h2-lg{font-family:var(--serif); font-size:clamp(30px,3.6vw,46px); font-weight:600; line-height:1.15; color:var(--emerald-deep); margin:14px 0 24px;}
  .btn-solid{display:inline-block; background:var(--emerald); color:#fff; padding:15px 30px; border-radius:2px; font-size:14px; font-weight:500; margin-top:14px; transition:background .2s, transform .2s;}
  .btn-solid:hover{background:var(--emerald-deep); transform:translateY(-2px);}
  .d-br{display:block;}

  /* hero copy */
  .hero-sub{max-width:720px; margin:24px auto 0; font-size:17px; line-height:1.7; color:rgba(247,245,240,.95);}
  .hero-sub strong{color:var(--gold-bright); font-weight:500;}
  .hero-sub2{max-width:660px; margin:14px auto 0; font-size:14.5px; line-height:1.75; color:rgba(247,245,240,.8);}
  .hero-sub2 strong{color:#fff; font-weight:500;}
  .hero-actions{margin-top:34px;}
  @media(max-width:700px){.hero-sub{font-size:15px; margin-top:18px;} .hero-sub2{font-size:13.5px;} .hero-actions{margin-top:26px;}}

  /* stat strip icons */
  .stat-icon svg{width:20px; height:20px; stroke:var(--emerald); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
  .stat b{font-size:26px;}

  /* about */
  .about{background:var(--ivory);}
  .about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center;}
  @media(max-width:920px){.about-grid{grid-template-columns:1fr; gap:40px;}}
  .about p{font-size:16px; line-height:1.85; color:#3b3b3b; margin-bottom:16px;}
  .about p.lead{font-size:19px; color:var(--ink); line-height:1.65;}
  .about p strong{color:var(--emerald); font-weight:600;}
  .about-panel{position:relative; border-radius:18px; padding:54px 30px 38px; text-align:center; color:#fff; overflow:hidden;
    background:radial-gradient(circle at 82% 6%, rgba(227,203,146,.24), transparent 52%), linear-gradient(155deg, var(--emerald) 0%, var(--emerald-deep) 100%);
    box-shadow:0 26px 60px rgba(11,63,66,.28);}
  .about-panel::before{content:""; position:absolute; inset:14px; border:1px solid rgba(200,164,93,.45); border-radius:12px; pointer-events:none;}
  .about-mark{width:58%; max-width:250px; height:auto; object-fit:contain; margin:0 auto 14px; filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));}
  .about-name{font-family:var(--serif); font-size:27px; font-weight:600; letter-spacing:.5px;}
  .about-name em{color:var(--gold); font-style:normal;}
  .about-tag{font-size:11px; letter-spacing:3px; color:var(--gold-bright); margin-top:8px;}
  .about-pills{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:28px;}
  .about-pills span{border:1px solid rgba(200,164,93,.5); border-radius:99px; padding:8px 15px; font-size:12.5px; color:#E8F0EE; background:rgba(255,255,255,.05);}

  /* why choose */
  .why{background:linear-gradient(180deg, var(--emerald-deep) 0%, #093538 100%); color:#fff;}
  .why .sec-kicker{color:var(--gold-bright);}
  .why .sec-title{color:#fff;}
  .why .sec-note{color:#C9DAD6; max-width:430px; font-size:15px;}
  .why .sec-note strong{color:var(--gold-bright); font-weight:500;}
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media(max-width:1100px){.why-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.why-grid{grid-template-columns:1fr;}}
  .why-card{position:relative; padding:30px 26px 32px; border-radius:14px; background:rgba(255,255,255,.045); border:1px solid rgba(200,164,93,.22); transition:transform .3s, border-color .3s, background .3s;}
  .why-card:hover{transform:translateY(-6px); border-color:rgba(227,203,146,.7); background:rgba(255,255,255,.075);}
  .why-card .no{position:absolute; top:22px; right:24px; font-family:var(--serif); font-style:italic; font-size:20px; color:rgba(227,203,146,.5);}
  .why-card svg{width:34px; height:34px; stroke:var(--gold-bright); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; margin-bottom:20px;}
  .why-card h3{font-family:var(--serif); font-size:21px; font-weight:600; line-height:1.25; margin-bottom:10px;}
  .why-card p{font-size:13.8px; line-height:1.7; color:#BFD3CF;}

  /* projects */
  .projects{background:var(--ivory);}
  .proj-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  @media(max-width:1100px){.proj-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.proj-grid{grid-template-columns:1fr;}}
  .proj{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 10px 26px rgba(11,63,66,.07); transition:transform .3s, box-shadow .3s;}
  .proj:hover{transform:translateY(-6px); box-shadow:0 22px 44px rgba(11,63,66,.16);}
  .proj-media{position:relative; height:220px; overflow:hidden; background-color:var(--emerald-deep); background-repeat:no-repeat;
    background-position:center bottom,0 0,0 0; background-size:100% auto,100% 100%,100% 100%;}
  .proj-media.res{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20300%20120%27%20preserveAspectRatio%3D%27xMidYMax%20slice%27%3E%3Cdefs%3E%3Cpattern%20id%3D%27w%27%20width%3D%278%27%20height%3D%2710%27%20patternUnits%3D%27userSpaceOnUse%27%3E%3Crect%20x%3D%272%27%20y%3D%273%27%20width%3D%273%27%20height%3D%274%27%20fill%3D%27%23E3CB92%27%20fill-opacity%3D%270.32%27/%3E%3C/pattern%3E%3C/defs%3E%3Crect%20x%3D%278%27%20y%3D%2752%27%20width%3D%2734%27%20height%3D%2768%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%2748%27%20y%3D%2724%27%20width%3D%2740%27%20height%3D%2796%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%2794%27%20y%3D%2762%27%20width%3D%2730%27%20height%3D%2758%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%27130%27%20y%3D%278%27%20width%3D%2744%27%20height%3D%27112%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%27180%27%20y%3D%2740%27%20width%3D%2736%27%20height%3D%2780%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%27222%27%20y%3D%2758%27%20width%3D%2728%27%20height%3D%2762%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%27256%27%20y%3D%2730%27%20width%3D%2736%27%20height%3D%2790%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%278%27%20y%3D%2752%27%20width%3D%2734%27%20height%3D%2768%27%20fill%3D%27url%28%23w%29%27/%3E%3Crect%20x%3D%2748%27%20y%3D%2724%27%20width%3D%2740%27%20height%3D%2796%27%20fill%3D%27url%28%23w%29%27/%3E%3Crect%20x%3D%2794%27%20y%3D%2762%27%20width%3D%2730%27%20height%3D%2758%27%20fill%3D%27url%28%23w%29%27/%3E%3Crect%20x%3D%27130%27%20y%3D%278%27%20width%3D%2744%27%20height%3D%27112%27%20fill%3D%27url%28%23w%29%27/%3E%3Crect%20x%3D%27180%27%20y%3D%2740%27%20width%3D%2736%27%20height%3D%2780%27%20fill%3D%27url%28%23w%29%27/%3E%3Crect%20x%3D%27222%27%20y%3D%2758%27%20width%3D%2728%27%20height%3D%2762%27%20fill%3D%27url%28%23w%29%27/%3E%3Crect%20x%3D%27256%27%20y%3D%2730%27%20width%3D%2736%27%20height%3D%2790%27%20fill%3D%27url%28%23w%29%27/%3E%3C/svg%3E"),radial-gradient(circle at 85% 12%, rgba(227,203,146,.30), transparent 55%),linear-gradient(160deg,#17595B 0%,#0B3F42 75%);}
  .proj-media.com{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20300%20120%27%20preserveAspectRatio%3D%27xMidYMax%20slice%27%3E%3Cdefs%3E%3Cpattern%20id%3D%27b%27%20width%3D%2712%27%20height%3D%279%27%20patternUnits%3D%27userSpaceOnUse%27%3E%3Crect%20x%3D%271%27%20y%3D%272%27%20width%3D%2710%27%20height%3D%273%27%20fill%3D%27%23E3CB92%27%20fill-opacity%3D%270.30%27/%3E%3C/pattern%3E%3C/defs%3E%3Crect%20x%3D%2714%27%20y%3D%2762%27%20width%3D%27120%27%20height%3D%2758%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%27142%27%20y%3D%2732%27%20width%3D%2766%27%20height%3D%2788%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%27216%27%20y%3D%2772%27%20width%3D%2774%27%20height%3D%2748%27%20fill%3D%27%23C8A45D%27%20fill-opacity%3D%270.13%27%20stroke%3D%27%23E3CB92%27%20stroke-opacity%3D%270.42%27%20stroke-width%3D%270.8%27/%3E%3Crect%20x%3D%2714%27%20y%3D%2762%27%20width%3D%27120%27%20height%3D%2758%27%20fill%3D%27url%28%23b%29%27/%3E%3Crect%20x%3D%27142%27%20y%3D%2732%27%20width%3D%2766%27%20height%3D%2788%27%20fill%3D%27url%28%23b%29%27/%3E%3Crect%20x%3D%27216%27%20y%3D%2772%27%20width%3D%2774%27%20height%3D%2748%27%20fill%3D%27url%28%23b%29%27/%3E%3C/svg%3E"),radial-gradient(circle at 85% 12%, rgba(227,203,146,.30), transparent 55%),linear-gradient(160deg,#17595B 0%,#0B3F42 75%);}
  .proj-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .proj-badge{position:absolute; top:14px; left:14px; z-index:2; background:rgba(11,63,66,.85); border:1px solid rgba(200,164,93,.55); color:var(--gold-bright); font-size:11px; letter-spacing:.8px; padding:5px 11px; border-radius:99px;}
  .proj-no{position:absolute; top:8px; right:16px; z-index:2; font-family:var(--serif); font-style:italic; font-size:44px; line-height:1; color:rgba(227,203,146,.55);}
  .proj-body{padding:24px 24px 24px; display:flex; flex-direction:column; flex:1;}
  .proj-body h3{font-family:var(--serif); font-size:22px; font-weight:600; line-height:1.2; color:var(--emerald-deep);}
  .proj-body p{font-size:14px; line-height:1.7; color:var(--grey); margin-top:10px; flex:1;}
  .proj-link{margin-top:18px; padding-top:16px; border-top:1px solid var(--line); font-size:13.5px; font-weight:500; color:var(--emerald); display:flex; justify-content:space-between; align-items:center;}
  .proj-link span{transition:transform .25s;}
  .proj:hover .proj-link span,.mkt:hover .proj-link span{transform:translateX(5px);}

  /* calculator header + extras */
  .calc .sec-note{max-width:430px;}
  .tag-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
  .tag-row span{border:1px solid rgba(18,75,77,.35); color:var(--emerald); border-radius:99px; padding:6px 14px; font-size:12.5px; font-weight:500; letter-spacing:.3px; background:#fff;}
  .proj-note{display:inline-flex; align-items:center; gap:8px; margin:-4px 0 14px; padding:7px 8px 7px 14px; border:1px solid rgba(227,203,146,.6); border-radius:99px; font-size:13px; color:#E8F0EE; background:rgba(255,255,255,.06);}
  .proj-note[hidden]{display:none;}
  .proj-note b{color:var(--gold-bright); font-weight:500;}
  .proj-note button{width:22px; height:22px; border-radius:50%; border:none; background:rgba(255,255,255,.14); color:#fff; cursor:pointer; font-size:14px; line-height:1;}

  /* markets */
  .markets{background:var(--ivory);}
  .mkt-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media(max-width:900px){.mkt-grid{grid-template-columns:1fr;}}
  .mkt{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 10px 26px rgba(11,63,66,.08); transition:transform .3s, box-shadow .3s;}
  .mkt:hover{transform:translateY(-6px); box-shadow:0 22px 44px rgba(11,63,66,.16);}
  .mkt-img{position:relative; height:220px; overflow:hidden;}
  .mkt-img img{transition:transform .6s;}
  .mkt:hover .mkt-img img{transform:scale(1.07);}
  .mkt-img::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,63,66,0) 42%, rgba(11,63,66,.88) 100%);}
  .mkt-img h3{position:absolute; left:22px; bottom:16px; z-index:2; color:#fff; font-family:var(--serif); font-size:28px; font-weight:600;}
  .mkt-body{padding:24px; display:flex; flex-direction:column; flex:1;}
  .mkt-body p{font-size:14.5px; line-height:1.75; color:var(--grey); flex:1;}

  /* journey */
  .journey{background:radial-gradient(circle at 50% 0%, #17595B 0%, var(--emerald-deep) 68%); color:#fff;}
  .journey .sec-kicker{color:var(--gold-bright);}
  .journey .sec-title{color:#fff;}
  .steps{list-style:none; display:grid; grid-template-columns:repeat(7,1fr);}
  .steps li{position:relative; padding:0 8px; text-align:center;}
  .steps li::after{content:""; position:absolute; top:29px; left:calc(50% + 34px); right:calc(-50% + 34px); height:1px; background:linear-gradient(90deg, rgba(227,203,146,.7), rgba(227,203,146,.25));}
  .steps li:last-child::after{display:none;}
  .step-dot{width:58px; height:58px; margin:0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:24px; font-weight:600; color:var(--gold-bright); border:1px solid rgba(227,203,146,.7); background:rgba(255,255,255,.05); box-shadow:0 0 0 6px rgba(255,255,255,.03);}
  .step-dot svg{width:26px; height:26px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  .step-label{display:block; margin-top:16px; font-size:14px; line-height:1.45; color:#E4EEEC;}
  .steps li.final .step-dot{background:var(--shine); background-size:220% auto; animation:shine-move 6s linear infinite; border-color:transparent; color:var(--emerald-deep); box-shadow:0 0 0 6px rgba(227,203,146,.12), 0 10px 26px rgba(200,164,93,.35);}
  .steps li.final .step-label{color:var(--gold-bright); font-weight:600; font-size:15px;}
  .journey-foot{text-align:center; margin-top:48px; font-family:var(--serif); font-size:clamp(20px,2.4vw,26px); font-style:italic; color:var(--gold-bright);}
  @media(max-width:1000px){
    .steps{grid-template-columns:1fr; max-width:420px; margin:0 auto;}
    .steps li{display:flex; align-items:center; gap:18px; padding:0 0 26px; text-align:left;}
    .steps li:last-child{padding-bottom:0;}
    .steps li::after{top:58px; bottom:0; left:28.5px; right:auto; width:1px; height:auto;}
    .steps li:last-child::after{display:none;}
    .step-dot{margin:0; flex-shrink:0;}
    .step-label{margin-top:0; font-size:15px;}
  }

  /* insights */
  .insights{background:var(--ivory-dim);}
  .ins-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
  @media(max-width:900px){.ins-grid{grid-template-columns:1fr; gap:36px;}}
  .insights p.body{font-size:16px; line-height:1.85; color:#3b3b3b;}
  .ins-quote{border-left:3px solid var(--gold); padding:4px 0 4px 20px; margin:24px 0 10px; font-family:var(--serif); font-size:22px; font-style:italic; line-height:1.5; color:var(--emerald-deep);}
  .ins-quote strong{font-weight:600;}
  .cat-label{font-size:12px; letter-spacing:2px; color:var(--gold); font-weight:600; margin-bottom:14px;}
  .cat-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  @media(max-width:520px){.cat-grid{grid-template-columns:1fr;}}
  .cat{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:22px 20px; background:#fff; border:1px solid var(--line); border-radius:12px; font-family:var(--serif); font-size:19px; font-weight:600; line-height:1.25; color:var(--emerald-deep); transition:border-color .25s, transform .25s, box-shadow .25s;}
  .cat:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:0 14px 28px rgba(11,63,66,.12);}
  .cat small{display:block; font-family:var(--sans); font-size:11px; font-weight:500; letter-spacing:1.2px; color:var(--gold); margin-bottom:4px;}
  .cat i{font-style:normal; color:var(--gold); font-size:18px;}

  /* final CTA */
  .cta-band{background:radial-gradient(circle at 50% 0%, #17595B 0%, var(--emerald-deep) 70%); border-bottom:1px solid rgba(200,164,93,.25);}
  .cta-final h2{font-family:var(--serif); font-size:clamp(28px,4.2vw,50px); font-weight:600; line-height:1.15; max-width:820px; color:#fff;}
  .cta-final .cta-tag{font-family:var(--serif); font-size:clamp(20px,2.5vw,28px); font-style:italic; font-weight:500; color:#E8F0EE; line-height:1.4;}
  .cta-final .cta-sub strong{color:var(--gold-bright); font-weight:500;}
  .cta-final .cta-sub{font-size:15.5px; max-width:560px;}
  .cta-lockup{display:flex; align-items:center; gap:14px; margin-top:10px;}
  .cta-lockup img{height:66px; width:auto; object-fit:contain;}
  .cta-lockup .nm{font-family:var(--serif); font-size:22px; letter-spacing:.8px; text-align:left; color:#fff;}
  .cta-lockup .nm em{color:var(--gold); font-style:normal;}
  .cta-lockup .tg{font-family:var(--sans); font-size:10.5px; letter-spacing:2.6px; color:var(--gold-bright); margin-top:4px;}

  /* floating helper */
  a.chat-bubble{display:block;}
  a.chat-fab{text-decoration:none;}
  @media(max-width:1100px){
    .nav-phone{margin-left:auto;}
  }

  /* header side padding on screens narrower than the 1280px container */
  @media(min-width:701px){.wrap.nav{padding-left:44px; padding-right:44px;}}

@media(max-width:700px){
  .hero{min-height:0;}
  .hero .hero-content{padding:44px 22px 48px;}
  .hero-kicker,.hero-sub2{display:none;}
  .hero-head{font-size:clamp(30px,8.6vw,38px);}
  .hero-sub{font-size:15px; margin-top:14px; line-height:1.6;}
  .hero-actions{margin-top:22px; flex-direction:column; align-items:center; gap:10px;}
  .hero-actions a{width:100%; max-width:300px; text-align:center; padding-top:13px; padding-bottom:13px;}
  a.chat-bubble{display:none;}
  a.chat-fab{width:48px; height:48px; bottom:18px; right:14px;}
}

  /* ===== Property Match calculator ===== */
  .pm{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:28px; align-items:start;}
  .pm-main{background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 26px 60px rgba(11,63,66,.14); padding:34px 38px 36px; min-width:0;}
  .pm-progress{margin-bottom:26px;}
  .pm-progress-top{display:flex; justify-content:space-between; gap:12px; font-size:13px; color:var(--grey); margin-bottom:10px;}
  .pm-progress-top span:first-child{font-weight:600; color:var(--emerald);}
  .pm-bar{height:6px; border-radius:99px; background:#E8E3D6; overflow:hidden;}
  .pm-bar i{display:block; height:100%; width:0; border-radius:99px; background:var(--shine); background-size:220% auto; transition:width .35s ease;}
  .pm-stage{min-height:300px;}
  .pm-q{font-family:var(--serif); font-size:clamp(24px,2.6vw,32px); font-weight:600; color:var(--emerald-deep); line-height:1.2; margin-bottom:20px;}
  .pm-sub-q{font-size:13.5px; color:var(--grey); margin:-10px 0 18px;}
  .pm-label{font-size:13.5px; font-weight:600; color:var(--emerald-deep); margin:22px 0 10px;}
  .pm-label small{font-weight:400; color:var(--grey);}
  .pm-chips{display:flex; flex-wrap:wrap; gap:10px;}
  .pm-chip{
    font:inherit; font-size:14.5px; color:var(--ink); background:var(--ivory); border:1px solid var(--line);
    border-radius:99px; padding:12px 20px; min-height:46px; cursor:pointer; transition:all .2s;
  }
  .pm-chip:hover{border-color:var(--emerald);}
  .pm-chip.on{background:var(--emerald); color:#fff; border-color:var(--emerald); box-shadow:0 8px 18px rgba(18,75,77,.25); font-weight:500;}
  .pm-chips.big .pm-chip{padding:14px 24px; font-size:15px;}
  .pm-chip:focus-visible,.pm-cat:focus-visible,.pm-back:focus-visible,.pm-edit:focus-visible,.pm-skip:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}

  .pm-cats{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .pm-cat{
    font:inherit; text-align:left; cursor:pointer; background:var(--ivory); border:1px solid var(--line); border-radius:14px;
    padding:20px 20px 18px; display:flex; flex-direction:column; gap:4px; transition:all .22s;
  }
  .pm-cat:hover{border-color:var(--emerald); transform:translateY(-2px);}
  .pm-cat-ico{width:42px; height:42px; border-radius:50%; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:8px; color:var(--emerald);}
  .pm-cat-ico svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .pm-cat b{font-family:var(--serif); font-size:20px; font-weight:600; color:var(--emerald-deep); line-height:1.2;}
  .pm-cat small{font-size:12.5px; color:var(--grey);}
  .pm-cat.on{background:var(--emerald); border-color:var(--gold); box-shadow:0 12px 26px rgba(18,75,77,.3);}
  .pm-cat.on b{color:#fff;} .pm-cat.on small{color:#CFE0DC;}
  .pm-cat.on .pm-cat-ico{background:var(--gold); border-color:var(--gold); color:var(--emerald-deep);}

  .pm-budget-out{font-family:var(--serif); font-size:clamp(38px,5vw,52px); font-weight:600; line-height:1; color:var(--emerald); margin-bottom:6px;}
  .pm-ticks{position:relative; height:22px; margin:4px 13px 0;}
  .pm-ticks span{position:absolute; top:0; font-size:11.5px; color:var(--grey); white-space:nowrap;}
  .pm-exact{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:20px; font-size:13px; color:var(--grey); flex-wrap:wrap;}
  .pm-exact-box{display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--ivory); border-radius:10px; padding:10px 14px; color:var(--ink); font-size:16px; font-weight:600;}
  .pm-exact-box input{width:150px; border:none; background:transparent; font:inherit; font-weight:600; outline:none; color:var(--ink);}
  .pm-exact-box:focus-within{border-color:var(--emerald);}

  .pm-nav{display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:30px; padding-top:22px; border-top:1px solid var(--line);}
  .pm-nav-right{display:flex; align-items:center; gap:18px;}
  .pm-back,.pm-skip,.pm-edit{background:none; border:none; font:inherit; font-size:14px; color:var(--emerald); cursor:pointer; padding:10px 4px;}
  .pm-skip,.pm-edit{text-decoration:underline;}
  .pm-next{border:none; cursor:pointer; font-family:inherit; font-size:15px; padding:15px 28px; border-radius:6px; min-height:48px;}
  .pm-hint{color:#B3382C; font-size:13px; margin-top:10px; text-align:right;}
  .pm-hint:empty{display:none;}

  /* result */
  .pm-result-head{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:20px;}
  .pm-kicker{font-size:12.5px; letter-spacing:2px; font-weight:600; color:var(--gold); margin-bottom:6px;}
  .pm-result-head h3{font-family:var(--serif); font-size:clamp(24px,2.8vw,32px); font-weight:600; color:var(--emerald-deep); line-height:1.2;}
  .pm-tiles{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .pm-tile{background:var(--ivory); border:1px solid var(--line); border-radius:12px; padding:16px 18px; min-width:0;}
  .pm-tile b{display:block; font-family:var(--serif); font-size:clamp(20px,2.2vw,26px); font-weight:600; color:var(--emerald); line-height:1.2; overflow-wrap:anywhere;}
  .pm-tile span{display:block; margin-top:6px; font-size:11px; letter-spacing:1.1px; text-transform:uppercase; color:var(--grey);}
  .pm-tile small{display:block; margin-top:3px; font-size:12px; color:var(--grey);}
  .pm-sub{font-family:var(--serif); font-size:clamp(22px,2.4vw,28px); font-weight:600; color:var(--emerald-deep); margin:38px 0 8px;}
  .pm-demo-note{font-size:12.5px; color:var(--grey); background:#FBF6E8; border:1px solid rgba(200,164,93,.45); border-radius:8px; padding:9px 12px; margin-bottom:18px;}
  .pm-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:16px;}
  .pm-card{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s;}
  .pm-card:hover{box-shadow:0 16px 34px rgba(11,63,66,.16); transform:translateY(-3px);}
  .pm-card-img{position:relative; height:150px; background:var(--emerald-deep);}
  .pm-card-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .pm-tag,.pm-match{position:absolute; top:10px; font-size:11px; font-weight:600; border-radius:99px; padding:4px 10px; z-index:2;}
  .pm-tag{left:10px; background:rgba(255,255,255,.92); color:var(--emerald-deep);}
  .pm-match{right:10px; background:var(--gold); color:var(--emerald-deep);}
  .pm-card-body{padding:16px 16px 18px; display:flex; flex-direction:column; flex:1;}
  .pm-card-body h5{font-family:var(--serif); font-size:20px; font-weight:600; color:var(--emerald-deep); line-height:1.25;}
  .pm-loc{font-size:13px; color:var(--grey); margin-top:4px;}
  .pm-spec{font-size:13px; color:var(--ink); margin-top:8px;}
  .pm-price{font-family:var(--serif); font-size:24px; font-weight:600; color:var(--emerald); margin-top:6px;}
  .pm-badges{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
  .pm-badges span{font-size:11.5px; border:1px solid rgba(18,75,77,.3); color:var(--emerald); border-radius:99px; padding:3px 10px;}
  .pm-card-body p{font-size:13px; line-height:1.6; color:var(--grey); margin-top:10px; flex:1;}
  .pm-view{margin-top:14px; font-size:14px; font-weight:500; color:var(--emerald); border-top:1px solid var(--line); padding-top:12px; display:flex; justify-content:space-between;}
  .pm-view:hover{color:var(--gold);}
  .pm-empty{grid-column:1/-1; background:var(--ivory); border:1px dashed rgba(18,75,77,.35); border-radius:12px; padding:22px; color:var(--emerald-deep);}
  .pm-empty p{font-size:14px; color:var(--grey); margin-top:6px; line-height:1.6;}

  .pm-form{margin-top:10px;}
  .pm-sub-form{margin-top:34px;}
  .pm-fields{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0 8px;}
  .pm-f label{display:block; font-size:13px; font-weight:500; color:var(--emerald-deep); margin-bottom:6px;}
  .pm-f input,.pm-f select{width:100%; padding:14px; font:inherit; font-size:15px; color:var(--ink); background:var(--ivory); border:1px solid var(--line); border-radius:10px; outline:none; min-height:48px;}
  .pm-f input:focus,.pm-f select:focus{border-color:var(--emerald); background:#fff;}
  .pm-f input.invalid{border-color:#B3382C;}
  .pm-privacy{font-size:12px; color:var(--grey); text-align:center; margin-top:12px;}
  .pm-form .lead-done p{color:var(--grey);}
  .pm-form .lead-done h3{color:var(--emerald-deep);}
  .pm-form .form-err{color:#B3382C;}

  /* side summary */
  .pm-side{position:sticky; top:112px; background:linear-gradient(150deg,var(--emerald) 0%,var(--emerald-deep) 100%); color:#fff; border-radius:18px; padding:30px 28px 26px; box-shadow:0 26px 60px rgba(11,63,66,.22);}
  .pm-side-kicker{font-size:12.5px; letter-spacing:2px; font-weight:600; color:var(--gold-bright); margin-bottom:16px;}
  .pm-side-budget b{display:block; font-family:var(--serif); font-size:clamp(34px,3.6vw,44px); font-weight:600; line-height:1.1; background:var(--shine); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine-move 6s linear infinite;}
  .pm-side-budget span{display:block; margin-top:4px; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:#C9DAD6;}
  .pm-rows{margin:20px 0 4px;}
  .pm-rows div{display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-top:1px solid rgba(255,255,255,.14);}
  .pm-rows dt{font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#C9DAD6; flex:none;}
  .pm-rows dd{margin:0; font-size:14.5px; font-weight:500; text-align:right; color:#fff; overflow-wrap:anywhere;}
  .pm-side .proj-note{margin-top:14px;}
  .pm-side-cta{width:100%; margin-top:18px; padding:15px 16px; border:none; border-radius:8px; font-family:inherit; font-size:14.5px; cursor:pointer; min-height:48px;}
  .pm-side-cta:disabled{background:rgba(255,255,255,.1); color:#BCD2CE; cursor:default; box-shadow:none; background-image:none; border:1px solid rgba(255,255,255,.18);}
  .pm-side-foot{font-size:11.5px; line-height:1.55; color:#A9C2BE; margin-top:12px; text-align:center;}

  @media(max-width:980px){
    .pm{grid-template-columns:1fr;}
    .pm-side{position:static;}
  }
  @media(max-width:700px){
    .pm-main{padding:24px 18px 26px; border-radius:14px;}
    .pm-cats{grid-template-columns:1fr 1fr; gap:10px;}
    .pm-cat{padding:16px 14px;} .pm-cat b{font-size:17px;}
    .pm-chip{padding:12px 16px; font-size:14px;}
    .pm-nav{flex-wrap:wrap;}
    .pm-nav-right{width:100%; justify-content:space-between; flex-direction:row-reverse;}
    .pm-next{flex:1; text-align:center;}
    .pm-tiles{grid-template-columns:1fr 1fr; gap:10px;} .pm-tile{padding:14px;}
    .pm-fields{grid-template-columns:1fr;}
    .pm-stage{min-height:260px;}
    .pm-exact-box input{width:120px;}
  }


  /* footer enquiry form */
  .foot-enq{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:48px; padding-bottom:48px; margin-bottom:48px; border-bottom:1px solid rgba(247,243,233,0.12); align-items:start;}
  .fe-kick{font-size:12px; letter-spacing:2px; color:var(--gold-bright); font-weight:600;}
  .foot-enq h3{font-family:var(--serif); font-size:30px; line-height:1.2; color:var(--ivory); font-weight:600; margin:10px 0 12px;}
  .foot-enq .fe-intro p{font-size:14.5px; line-height:1.7; color:#9FAB9B; max-width:380px;}
  .fe-form{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px;}
  .fe-full{grid-column:1 / -1;}
  .fe-f label{display:block; font-size:12.5px; letter-spacing:.4px; color:var(--ivory-dim); margin-bottom:6px;}
  .fe-f input,.fe-f textarea{width:100%; padding:13px 14px; font:inherit; font-size:15px; color:var(--ivory); background:rgba(247,243,233,0.07); border:1px solid rgba(247,243,233,0.22); border-radius:10px; outline:none; transition:border-color .2s, background .2s;}
  .fe-f textarea{min-height:92px; resize:vertical;}
  .fe-f input::placeholder,.fe-f textarea::placeholder{color:#7C8A79;}
  .fe-f input:focus,.fe-f textarea:focus{border-color:var(--gold-bright); background:rgba(247,243,233,0.12);}
  .fe-f input.invalid{border-color:#F0A79F;}
  .fe-f .err{font-size:12px; color:#F4B6AF; margin-top:5px;} .fe-f .err:empty{display:none;}
  .fe-form .btn-gold{border:none; cursor:pointer; font-family:inherit;}
  .fe-form .f-msg{font-size:13px; margin-top:10px;} .fe-form .f-msg.bad{color:#F4B6AF;}
  .fe-wrap .f-done{text-align:left; padding:6px 0;} .fe-wrap .f-done[hidden]{display:none;}
  .fe-wrap .f-done .tick{width:50px; height:50px; border-radius:50%; background:var(--gold); color:var(--emerald-deep); display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700; margin-bottom:14px;}
  .fe-wrap .f-done h4{font-family:var(--serif); font-size:26px; color:var(--ivory); font-weight:600;}
  .fe-wrap .f-done p{font-size:14.5px; color:#9FAB9B; margin-top:8px; line-height:1.7;}
  @media(max-width:860px){.foot-enq{grid-template-columns:1fr; gap:26px;}}
  @media(max-width:520px){.fe-form{grid-template-columns:1fr;} .foot-enq h3{font-size:26px;}}

/* blog link is hidden until the blog is switched on in the admin */
html:not(.blog-on) [data-blog-link]{display:none!important}
