:root{
    --emerald-950:#062821;
    --emerald-900:#0b3d2e;
    --emerald-800:#124c3a;
    --emerald-700:#1a6349;
    --gold-500:#c9a227;
    --gold-400:#dab94a;
    --ivory-50:#fbf8f2;
    --ivory-100:#f3ede0;
    --charcoal-900:#181613;
    --charcoal-600:#4b463f;
    --brick-600:#a8462f;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Manrope', sans-serif;
    background:var(--ivory-50);
    color:var(--charcoal-900);
    overflow-x:hidden;
  }
  .font-display{font-family:'Playfair Display', serif;}
  .font-bn{font-family:'Hind Siliguri', sans-serif;}

  ::selection{background:var(--gold-500);color:var(--emerald-950);}

  a{text-decoration:none;}

  .container-xl{max-width:1240px;}

  /* ---------- Utility ---------- */
  .text-gold{color:var(--gold-500)!important;}
  .text-emerald{color:var(--emerald-900)!important;}
  .bg-emerald{background:var(--emerald-900)!important;}
  .bg-ivory{background:var(--ivory-50)!important;}
  .bg-ivory-100{background:var(--ivory-100)!important;}
  .eyebrow{
    font-family:'Manrope',sans-serif;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-size:.72rem;
    font-weight:700;
    color:var(--gold-500);
  }
  .divider-gold{
    width:52px;height:3px;background:var(--gold-500);border-radius:2px;
  }

  .btn-gold{
    background:var(--gold-500);
    border:1px solid var(--gold-500);
    color:var(--emerald-950);
    font-weight:700;
    letter-spacing:.02em;
    padding:.78rem 1.9rem;
    border-radius:2px;
    transition:.25s ease;
  }
  .btn-gold:hover{background:var(--gold-400);border-color:var(--gold-400);color:var(--emerald-950);}

  .btn-outline-ivory{
    border:1px solid rgba(251,248,242,.55);
    color:var(--ivory-50);
    font-weight:600;
    padding:.78rem 1.9rem;
    border-radius:2px;
    transition:.25s ease;
  }
  .btn-outline-ivory:hover{background:rgba(251,248,242,.1);color:#fff;border-color:#fff;}

  .btn-outline-emerald{
    border:1px solid var(--emerald-900);
    color:var(--emerald-900);
    font-weight:600;
    padding:.7rem 1.6rem;
    border-radius:2px;
    transition:.25s ease;
  }
  .btn-outline-emerald:hover{background:var(--emerald-900);color:#fff;}

  /* ---------- Navbar ---------- */
  .navbar-iqi{
    background:rgba(6,40,33,.92);
    backdrop-filter:blur(10px);
    padding:.85rem 0;
    transition:.3s ease;
  }
  .navbar-iqi .nav-link{
    color:rgba(251,248,242,.85);
    font-weight:600;
    font-size:.92rem;
    margin:0 .65rem;
  }
  .navbar-iqi .nav-link:hover{color:var(--gold-400);}
  .brand-mark{
    display:flex;align-items:center;gap:.55rem;
    font-family:'Playfair Display',serif;
    font-weight:700;font-size:1.3rem;color:#fff;
  }
  .brand-mark .mark{
    width:36px;height:36px;border:1.5px solid var(--gold-500);
    display:flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',serif;font-weight:700;color:var(--gold-500);
    transform:rotate(45deg);
  }
  .brand-mark .mark span{transform:rotate(-45deg);}
  .brand-sub{font-size:.62rem;letter-spacing:.2em;color:var(--gold-400);text-transform:uppercase;display:block;margin-top:-2px;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    background:
      linear-gradient(180deg, rgba(6,40,33,.55) 0%, rgba(6,40,33,.55) 45%, rgba(6,40,33,.92) 100%),
      url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
  }
  .hero::after{
    content:"";
    position:absolute;inset:0;
    background:radial-gradient(circle at 15% 20%, rgba(201,162,39,.12), transparent 40%);
    pointer-events:none;
  }
  .hero-headline{
    font-family:'Playfair Display', serif;
    font-weight:700;
    color:#fff;
    font-size:clamp(2.4rem, 5vw, 4.1rem);
    line-height:1.12;
  }
  .hero-bn{
    font-family:'Hind Siliguri', sans-serif;
    font-weight:600;
    color:var(--gold-400);
    font-size:clamp(1.6rem, 3vw, 2.5rem);
    display:block;
    margin-bottom:.4rem;
  }
  .hero-lede{
    color:rgba(251,248,242,.85);
    font-size:1.08rem;
    max-width:540px;
  }

  /* search card */
  .search-card{
    background:rgba(251,248,242,.97);
    border-radius:6px;
    padding:1.6rem;
    box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
  }
  .nav-pills-iqi .nav-link{
    color:var(--charcoal-600);
    font-weight:700;
    border-radius:0;
    padding:.55rem 1.3rem;
    font-size:.88rem;
    border-bottom:2px solid transparent;
  }
  .nav-pills-iqi .nav-link.active{
    background:transparent;
    color:var(--emerald-900);
    border-bottom:2px solid var(--gold-500);
  }
  .search-card .form-control, .search-card .form-select{
    border-radius:2px;
    border:1px solid #e2dccb;
    padding:.65rem .8rem;
    font-size:.92rem;
  }
  .search-card .form-control:focus, .search-card .form-select:focus{
    border-color:var(--gold-500);
    box-shadow:0 0 0 .15rem rgba(201,162,39,.18);
  }

  /* stat strip */
  .stat-strip{
    background:var(--emerald-950);
    border-top:1px solid rgba(201,162,39,.25);
  }
  .stat-num{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:2.1rem;
    color:var(--gold-500);
  }
  .stat-label{
    color:rgba(251,248,242,.7);
    font-size:.8rem;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  /* ---------- Section heads ---------- */
  .section-pad{padding:5.5rem 0;}
  .section-title{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:clamp(1.9rem, 3vw, 2.7rem);
    color:var(--emerald-950);
  }

  /* ---------- Property cards ---------- */
  .property-card{
    background:#fff;
    border-radius:4px;
    overflow:hidden;
    box-shadow:0 10px 30px -18px rgba(11,61,46,.35);
    transition:transform .3s ease, box-shadow .3s ease;
    height:100%;
  }
  .property-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(11,61,46,.45);}
  .property-media{position:relative;height:230px;overflow:hidden;}
  .property-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
  .property-card:hover .property-media img{transform:scale(1.08);}
  .property-tag{
    position:absolute;top:14px;left:14px;
    background:var(--emerald-900);
    color:var(--gold-400);
    font-size:.7rem;font-weight:700;letter-spacing:.08em;
    padding:.32rem .75rem;border-radius:2px;text-transform:uppercase;
  }
  .property-price{
    position:absolute;bottom:0;left:0;right:0;
    background:linear-gradient(0deg, rgba(6,40,33,.88), transparent);
    color:#fff;padding:1.4rem .9rem .6rem;
    font-family:'Playfair Display',serif;font-weight:700;font-size:1.25rem;
  }
  .property-body{padding:1.2rem 1.3rem 1.4rem;}
  .property-body h3{font-size:1.05rem;font-weight:700;color:var(--emerald-950);}
  .property-loc{color:var(--charcoal-600);font-size:.86rem;}
  .property-meta{
    border-top:1px dashed #e2dccb;
    margin-top:.9rem;padding-top:.8rem;
    font-size:.83rem;color:var(--charcoal-600);
    display:flex;gap:1.1rem;
  }
  .property-meta i{color:var(--gold-500);margin-right:.3rem;}

  /* ---------- Services ---------- */
  .service-card{
    padding:2.1rem 1.7rem;
    border:1px solid #e6e0d0;
    background:#fff;
    height:100%;
    transition:.3s ease;
    border-radius:4px;
  }
  .service-card:hover{border-color:var(--gold-500);box-shadow:0 18px 34px -22px rgba(11,61,46,.35);}
  .service-icon{
    width:52px;height:52px;
    border:1px solid var(--gold-500);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:var(--emerald-900);font-size:1.3rem;
    margin-bottom:1.1rem;
  }

  /* ---------- Global network ---------- */
  .network-section{
    background:var(--emerald-900);
    color:var(--ivory-50);
    position:relative;
    overflow:hidden;
  }
  .network-section::before{
    content:"";position:absolute;right:-120px;top:-120px;
    width:420px;height:420px;border:1px solid rgba(201,162,39,.25);border-radius:50%;
  }
  .network-section::after{
    content:"";position:absolute;right:-40px;bottom:-160px;
    width:320px;height:320px;border:1px solid rgba(201,162,39,.18);border-radius:50%;
  }
  .network-stat{border-left:2px solid var(--gold-500);padding-left:1rem;}
  .network-stat .num{font-family:'Playfair Display',serif;font-weight:700;font-size:2.3rem;color:#fff;}
  .network-stat .lbl{color:rgba(251,248,242,.65);font-size:.82rem;}

  /* ---------- Testimonials ---------- */
  .testi-card{
    background:#fff;
    border-radius:4px;
    padding:2rem 1.8rem;
    border-left:3px solid var(--gold-500);
    height:100%;
  }
  .testi-stars i{color:var(--gold-500);font-size:.85rem;}
  .testi-avatar{
    width:44px;height:44px;border-radius:50%;
    background:var(--emerald-900);color:var(--gold-400);
    display:flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',serif;font-weight:700;
  }

  /* ---------- CTA ---------- */
  .cta-band{
    background:
      linear-gradient(120deg, rgba(6,40,33,.93), rgba(11,61,46,.88)),
      url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1600&q=80') center/cover;
    color:#fff;
    border-radius:6px;
    padding:3.4rem 2.4rem;
  }

  /* ---------- Footer ---------- */
  footer{background:var(--emerald-950);color:rgba(251,248,242,.75);}
  footer h6{color:var(--gold-400);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700;margin-bottom:1.1rem;}
  footer a{color:rgba(251,248,242,.7);}
  footer a:hover{color:var(--gold-400);}
  .footer-bottom{border-top:1px solid rgba(251,248,242,.12);}
  .social-ring{
    width:36px;height:36px;border:1px solid rgba(251,248,242,.3);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:#fff;transition:.25s;
  }
  .social-ring:hover{border-color:var(--gold-500);color:var(--gold-500);}

  /* ---------- misc ---------- */
  .agent-badge{
    display:inline-flex;align-items:center;gap:.5rem;
    background:rgba(251,248,242,.08);
    border:1px solid rgba(251,248,242,.25);
    color:#fff;padding:.4rem .9rem;border-radius:30px;font-size:.78rem;
  }

  [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
  [data-reveal].in{opacity:1;transform:none;}

  @media (max-width:767px){
    .section-pad{padding:3.5rem 0;}
  }

/* ================= Shared: card link wrapper ================= */
.property-card-link{color:inherit;display:block;}
.property-card-link:hover{color:inherit;}

/* ================= Breadcrumb / page header ================= */
.page-header{
  background:
    linear-gradient(180deg, rgba(6,40,33,.72) 0%, rgba(6,40,33,.88) 100%),
    url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
  padding:9.5rem 0 3.2rem;
  color:#fff;
}
.page-header h1{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:clamp(2rem, 3.4vw, 2.9rem);
}
.breadcrumb-iqi{font-size:.85rem;}
.breadcrumb-iqi a{color:rgba(251,248,242,.75);}
.breadcrumb-iqi a:hover{color:var(--gold-400);}
.breadcrumb-iqi .sep{color:rgba(251,248,242,.4);margin:0 .4rem;}
.breadcrumb-iqi .current{color:var(--gold-400);}

/* ================= Listing page: filter sidebar ================= */
.filter-card{
  background:#fff;
  border:1px solid #e6e0d0;
  border-radius:4px;
  padding:1.6rem;
}
.filter-card h6{
  font-family:'Manrope',sans-serif;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--emerald-900);
  margin-bottom:.9rem;
}
.filter-card hr{border-color:#e6e0d0;margin:1.3rem 0;}
.filter-card .form-label{font-size:.85rem;font-weight:600;color:var(--charcoal-600);}
.filter-card .form-control, .filter-card .form-select{
  border-radius:2px;border:1px solid #e2dccb;font-size:.9rem;
}
.filter-card .form-control:focus, .filter-card .form-select:focus{
  border-color:var(--gold-500);box-shadow:0 0 0 .15rem rgba(201,162,39,.18);
}
.type-pill{
  display:inline-flex;align-items:center;gap:.4rem;
  border:1px solid #e2dccb;border-radius:30px;
  padding:.4rem .95rem;font-size:.82rem;font-weight:600;
  color:var(--charcoal-600);cursor:pointer;transition:.2s;
}
.type-pill input{display:none;}
.type-pill:has(input:checked){
  background:var(--emerald-900);color:#fff;border-color:var(--emerald-900);
}

.results-bar{
  border-bottom:1px solid #e6e0d0;
  padding-bottom:1rem;
}
.sort-select{
  border-radius:2px;border:1px solid #e2dccb;font-size:.88rem;
  padding:.5rem .8rem;min-width:190px;
}

/* view toggle */
.view-toggle .btn{
  border:1px solid #e2dccb;color:var(--charcoal-600);
  padding:.42rem .7rem;
}
.view-toggle .btn.active{background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;}

/* list-view card */
.property-card.list-mode{
  display:flex;flex-direction:row;
}
.property-card.list-mode .property-media{width:280px;height:auto;flex:0 0 280px;}
.property-card.list-mode .property-body{flex:1;}

/* pagination */
.pagination-iqi{gap:.4rem;}
.pagination-iqi .page-link{
  border:1px solid #e2dccb;color:var(--emerald-900);
  border-radius:2px;font-weight:600;font-size:.88rem;
}
.pagination-iqi .page-item.active .page-link{
  background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;
}
.pagination-iqi .page-link:hover{background:var(--ivory-100);color:var(--emerald-900);}

/* ================= Property details page ================= */
.gallery-main{
  border-radius:6px;overflow:hidden;height:460px;position:relative;
}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:.6rem;}
.gallery-thumbs img{
  width:100%;height:90px;object-fit:cover;border-radius:4px;cursor:pointer;
  border:2px solid transparent;transition:.2s;
}
.gallery-thumbs img.active, .gallery-thumbs img:hover{border-color:var(--gold-500);}

.detail-price{
  font-family:'Playfair Display',serif;font-weight:700;
  font-size:2.1rem;color:var(--emerald-950);
}
.detail-badges .badge-tag{
  background:var(--emerald-900);color:var(--gold-400);
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  font-size:.72rem;padding:.4rem .8rem;border-radius:2px;
}
.detail-facts{
  border-top:1px solid #e6e0d0;border-bottom:1px solid #e6e0d0;
  padding:1.2rem 0;margin:1.4rem 0;
}
.detail-fact{text-align:center;}
.detail-fact i{font-size:1.4rem;color:var(--gold-500);}
.detail-fact .val{font-weight:700;color:var(--emerald-950);display:block;margin-top:.35rem;}
.detail-fact .lbl{font-size:.78rem;color:var(--charcoal-600);}

.amenity-item{
  display:flex;align-items:center;gap:.6rem;
  padding:.6rem 0;font-size:.92rem;color:var(--charcoal-600);
}
.amenity-item i{color:var(--gold-500);font-size:1rem;}

.agent-card{
  background:#fff;border:1px solid #e6e0d0;border-radius:4px;
  padding:1.6rem;position:sticky;top:100px;
}
.agent-photo{
  width:70px;height:70px;border-radius:50%;object-fit:cover;
  border:2px solid var(--gold-500);
}
.map-frame{
  border-radius:4px;overflow:hidden;height:280px;border:1px solid #e6e0d0;
}
.map-frame iframe{width:100%;height:100%;border:0;}

.detail-tabs .nav-link{
  color:var(--charcoal-600);font-weight:700;border:0;border-bottom:2px solid transparent;
  border-radius:0;padding:.7rem 1.1rem;font-size:.9rem;
}
.detail-tabs .nav-link.active{color:var(--emerald-900);border-bottom-color:var(--gold-500);background:transparent;}

/* ================= Auth pages (Login / Register) ================= */
.auth-shell{min-height:100vh;display:flex;}
.auth-visual{
  flex:1 1 46%;
  background:
    linear-gradient(160deg, rgba(6,40,33,.88), rgba(11,61,46,.82)),
    url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=80') center/cover;
  color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:3rem;
  position:relative;
}
.auth-visual::before{
  content:"";position:absolute;left:-100px;bottom:-100px;
  width:320px;height:320px;border:1px solid rgba(201,162,39,.25);border-radius:50%;
}
.auth-form-side{
  flex:1 1 54%;
  display:flex;align-items:center;justify-content:center;
  padding:3rem 1.5rem;
  background:var(--ivory-50);
}
.auth-card{width:100%;max-width:430px;}
.auth-tabs{border-bottom:1px solid #e6e0d0;margin-bottom:1.8rem;}
.auth-tabs .nav-link{
  color:var(--charcoal-600);font-weight:700;border:0;border-bottom:2px solid transparent;
  border-radius:0;padding:.75rem 0;margin-right:1.8rem;font-size:.95rem;
}
.auth-tabs .nav-link.active{color:var(--emerald-900);border-bottom-color:var(--gold-500);background:transparent;}
.auth-card .form-label{font-size:.85rem;font-weight:600;color:var(--charcoal-600);}
.auth-card .form-control{
  border-radius:2px;border:1px solid #e2dccb;padding:.7rem .9rem;font-size:.92rem;
}
.auth-card .form-control:focus{border-color:var(--gold-500);box-shadow:0 0 0 .15rem rgba(201,162,39,.18);}
.input-icon-group{position:relative;}
.input-icon-group i{
  position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--charcoal-600);opacity:.6;
}
.input-icon-group .form-control{padding-left:2.4rem;}
.divider-or{display:flex;align-items:center;gap:.8rem;color:var(--charcoal-600);font-size:.8rem;margin:1.4rem 0;}
.divider-or::before, .divider-or::after{content:"";flex:1;height:1px;background:#e2dccb;}
.btn-social{
  border:1px solid #e2dccb;background:#fff;color:var(--charcoal-900);
  border-radius:2px;padding:.65rem;font-weight:600;font-size:.86rem;
}
.btn-social:hover{border-color:var(--gold-500);}
.auth-benefit{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:1.1rem;}
.auth-benefit i{color:var(--gold-400);font-size:1.05rem;margin-top:.15rem;}

/* ================= List Your Property page ================= */
.stepper{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.step-dot{
  display:flex;align-items:center;gap:.6rem;font-size:.82rem;font-weight:700;color:var(--charcoal-600);
}
.step-dot .circle{
  width:30px;height:30px;border-radius:50%;border:1.5px solid #d8d0ba;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--charcoal-600);
}
.step-dot.active .circle{background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;}
.step-dot.active{color:var(--emerald-950);}
.step-line{width:44px;height:1px;background:#d8d0ba;}

.form-section-card{
  background:#fff;border:1px solid #e6e0d0;border-radius:4px;padding:2rem;
}
.form-section-card h5{
  font-family:'Playfair Display',serif;font-weight:700;color:var(--emerald-950);margin-bottom:1.4rem;
}
.form-section-card .form-label{font-size:.85rem;font-weight:600;color:var(--charcoal-600);}
.form-section-card .form-control, .form-section-card .form-select, .form-section-card textarea{
  border-radius:2px;border:1px solid #e2dccb;font-size:.9rem;
}
.form-section-card .form-control:focus, .form-section-card .form-select:focus, .form-section-card textarea:focus{
  border-color:var(--gold-500);box-shadow:0 0 0 .15rem rgba(201,162,39,.18);
}
.purpose-toggle .btn-check:checked + label{
  background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;
}
.purpose-toggle label{
  border:1px solid #e2dccb;border-radius:2px;padding:.6rem 1.6rem;font-weight:700;color:var(--charcoal-600);
}
.upload-zone{
  border:1.5px dashed #d8d0ba;border-radius:4px;padding:2.4rem 1.5rem;text-align:center;
  color:var(--charcoal-600);cursor:pointer;transition:.2s;background:var(--ivory-100);
}
.upload-zone:hover{border-color:var(--gold-500);background:#fff;}
.upload-zone i{font-size:2rem;color:var(--gold-500);}
.thumb-preview{
  width:100%;height:90px;object-fit:cover;border-radius:4px;border:1px solid #e6e0d0;
}
.amenity-check{
  border:1px solid #e2dccb;border-radius:2px;padding:.6rem .9rem;font-size:.88rem;
  display:flex;align-items:center;gap:.5rem;color:var(--charcoal-600);cursor:pointer;
}
.amenity-check:has(input:checked){border-color:var(--gold-500);background:var(--ivory-100);color:var(--emerald-950);}

.login-gate{
  max-width:460px;margin:6rem auto;text-align:center;
  background:#fff;border:1px solid #e6e0d0;border-radius:4px;padding:3rem 2rem;
}
.login-gate .icon{
  width:64px;height:64px;border-radius:50%;background:var(--ivory-100);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;
  font-size:1.6rem;color:var(--emerald-900);
}

/* ================= Nav dropdown (Tools) ================= */
.dropdown-menu-iqi{
  background:#fff;border:1px solid #e6e0d0;border-radius:4px;
  padding:.5rem;margin-top:.6rem!important;
  box-shadow:0 20px 40px -18px rgba(6,40,33,.35);
}
.dropdown-menu-iqi .dropdown-item{
  color:var(--charcoal-900);font-weight:600;font-size:.9rem;
  border-radius:3px;padding:.65rem .9rem;
}
.dropdown-menu-iqi .dropdown-item i{color:var(--gold-500);}
.dropdown-menu-iqi .dropdown-item:hover, .dropdown-menu-iqi .dropdown-item:focus{
  background:var(--ivory-100);color:var(--emerald-950);
}
.navbar-iqi .dropdown-toggle::after{vertical-align:.15em;}

/* ================= Calculator pages (shared) ================= */
.calc-shell{
  background:#fff;border:1px solid #e6e0d0;border-radius:6px;
  padding:2.2rem;box-shadow:0 18px 40px -26px rgba(11,61,46,.35);
}
.calc-shell h5{
  font-family:'Playfair Display',serif;font-weight:700;color:var(--emerald-950);
}
.calc-shell .form-label{font-size:.85rem;font-weight:600;color:var(--charcoal-600);}
.calc-shell .form-control, .calc-shell .form-select{
  border-radius:2px;border:1px solid #e2dccb;padding:.65rem .85rem;font-size:.92rem;
}
.calc-shell .form-control:focus, .calc-shell .form-select:focus{
  border-color:var(--gold-500);box-shadow:0 0 0 .15rem rgba(201,162,39,.18);
}
.calc-range{accent-color:var(--gold-500);}
.calc-result-card{
  background:linear-gradient(160deg, var(--emerald-950), var(--emerald-800));
  color:#fff;border-radius:6px;padding:2rem;position:sticky;top:100px;
}
.calc-result-card .eyebrow{color:var(--gold-400);}
.calc-big-num{
  font-family:'Playfair Display',serif;font-weight:700;
  font-size:2.4rem;color:#fff;line-height:1.1;
}
.calc-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:.7rem 0;border-bottom:1px solid rgba(251,248,242,.14);
  font-size:.9rem;
}
.calc-row:last-child{border-bottom:0;}
.calc-row .lbl{color:rgba(251,248,242,.7);}
.calc-row .val{font-weight:700;color:#fff;}
.calc-donut{
  width:150px;height:150px;border-radius:50%;margin:0 auto 1.4rem;
  display:flex;align-items:center;justify-content:center;position:relative;
}
.calc-donut .hole{
  position:absolute;width:100px;height:100px;border-radius:50%;
  background:var(--emerald-950);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
}
.calc-donut .hole .pct{font-family:'Playfair Display',serif;font-weight:700;font-size:1.15rem;color:#fff;}
.calc-donut .hole .lbl{font-size:.62rem;color:rgba(251,248,242,.65);text-transform:uppercase;letter-spacing:.06em;}
.calc-legend{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:rgba(251,248,242,.8);}
.calc-legend .dot{width:10px;height:10px;border-radius:2px;flex:0 0 auto;}
.calc-table{width:100%;font-size:.86rem;}
.calc-table th{
  text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;
  color:var(--charcoal-600);font-weight:700;border-bottom:1px solid #e6e0d0;padding:.6rem .5rem;
}
.calc-table td{padding:.55rem .5rem;border-bottom:1px solid #f0ebdd;color:var(--charcoal-900);}
.calc-table tr:last-child td{border-bottom:0;}
.calc-tier{
  border:1px solid #e2dccb;border-radius:4px;padding:1.1rem;cursor:pointer;
  transition:.2s;height:100%;
}
.calc-tier:hover{border-color:var(--gold-500);}
.calc-tier input{display:none;}
.calc-tier:has(input:checked){
  border-color:var(--gold-500);background:var(--ivory-100);
  box-shadow:0 0 0 .15rem rgba(201,162,39,.18);
}
.calc-tier .rate{font-family:'Playfair Display',serif;font-weight:700;color:var(--emerald-950);font-size:1.1rem;}
.calc-note{
  background:var(--ivory-100);border-left:3px solid var(--gold-500);
  padding:.9rem 1.1rem;font-size:.85rem;color:var(--charcoal-600);border-radius:0 4px 4px 0;
}

/* ================= Blog ================= */
.blog-card{
  background:#fff;border-radius:4px;overflow:hidden;height:100%;
  box-shadow:0 10px 30px -18px rgba(11,61,46,.35);
  transition:transform .3s ease, box-shadow .3s ease;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(11,61,46,.45);}
.blog-media{height:200px;overflow:hidden;position:relative;}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.blog-card:hover .blog-media img{transform:scale(1.08);}
.blog-cat{
  position:absolute;top:14px;left:14px;background:var(--gold-500);color:var(--emerald-950);
  font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:2px;
}
.blog-body{padding:1.4rem 1.4rem 1.6rem;}
.blog-meta{font-size:.78rem;color:var(--charcoal-600);display:flex;gap:1rem;margin-bottom:.6rem;}
.blog-meta i{color:var(--gold-500);margin-right:.25rem;}
.blog-body h3{font-size:1.08rem;font-weight:700;color:var(--emerald-950);line-height:1.35;}
.blog-body p{font-size:.88rem;color:var(--charcoal-600);}
.blog-readmore{font-size:.82rem;font-weight:700;color:var(--emerald-900);}
.blog-readmore i{transition:.2s;}
.blog-card:hover .blog-readmore i{transform:translateX(4px);}
.blog-filter-pill{
  border:1px solid #e2dccb;border-radius:30px;padding:.45rem 1.1rem;
  font-size:.85rem;font-weight:600;color:var(--charcoal-600);background:#fff;
}
.blog-filter-pill.active, .blog-filter-pill:hover{
  background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;
}
.blog-featured{
  background:#fff;border-radius:6px;overflow:hidden;
  box-shadow:0 18px 40px -26px rgba(11,61,46,.35);
}
.blog-featured img{width:100%;height:100%;object-fit:cover;min-height:280px;}
.sidebar-card{
  background:#fff;border:1px solid #e6e0d0;border-radius:4px;padding:1.5rem;
}
.sidebar-card h6{
  font-family:'Manrope',sans-serif;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;font-size:.78rem;color:var(--emerald-900);margin-bottom:1.1rem;
}
.sidebar-post{display:flex;gap:.8rem;margin-bottom:1rem;}
.sidebar-post img{width:64px;height:64px;object-fit:cover;border-radius:4px;flex:0 0 64px;}
.sidebar-post h6{font-size:.85rem;font-weight:700;color:var(--emerald-950);margin:0 0 .3rem;text-transform:none;letter-spacing:0;}
.sidebar-post span{font-size:.75rem;color:var(--charcoal-600);}
.sidebar-tag{
  display:inline-block;border:1px solid #e2dccb;border-radius:30px;
  padding:.35rem .85rem;font-size:.78rem;color:var(--charcoal-600);margin:0 .35rem .5rem 0;
}
.sidebar-tag:hover{background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;}
.article-body{font-size:1.02rem;line-height:1.85;color:var(--charcoal-900);}
.article-body h2{
  font-family:'Playfair Display',serif;font-weight:700;color:var(--emerald-950);
  font-size:1.5rem;margin:2rem 0 1rem;
}
.article-body p{margin-bottom:1.2rem;}
.article-body ul{margin-bottom:1.2rem;}
.article-body blockquote{
  border-left:3px solid var(--gold-500);padding:.4rem 0 .4rem 1.3rem;
  font-family:'Playfair Display',serif;font-style:italic;color:var(--emerald-900);
  font-size:1.15rem;margin:1.6rem 0;
}
.share-ring{
  width:38px;height:38px;border-radius:50%;border:1px solid #e2dccb;
  display:flex;align-items:center;justify-content:center;color:var(--charcoal-600);transition:.2s;
}
.share-ring:hover{background:var(--emerald-900);border-color:var(--emerald-900);color:#fff;}

/* ================= About page ================= */
.about-hero{
  background:
    linear-gradient(180deg, rgba(6,40,33,.72) 0%, rgba(6,40,33,.9) 100%),
    url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
  padding:9.5rem 0 4rem;color:#fff;
}
.value-card{
  padding:2rem 1.6rem;border:1px solid #e6e0d0;background:#fff;border-radius:4px;height:100%;transition:.3s;
}
.value-card:hover{border-color:var(--gold-500);box-shadow:0 18px 34px -22px rgba(11,61,46,.35);}
.timeline{position:relative;padding-left:2.4rem;}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:1px;background:#e2dccb;}
.timeline-item{position:relative;padding-bottom:2rem;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{
  content:"";position:absolute;left:-2.4rem;top:4px;width:19px;height:19px;border-radius:50%;
  background:var(--ivory-50);border:3px solid var(--gold-500);
}
.timeline-item .yr{font-family:'Playfair Display',serif;font-weight:700;color:var(--gold-500);font-size:1.05rem;}
.team-card{text-align:center;}
.team-photo{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;margin-bottom:1rem;
}
.team-card h6{font-weight:700;color:var(--emerald-950);margin-bottom:.15rem;}
.team-card span{font-size:.82rem;color:var(--charcoal-600);}
.about-stat{text-align:center;padding:1.2rem 0;}
.about-stat .num{font-family:'Playfair Display',serif;font-weight:700;font-size:2.4rem;color:var(--gold-500);}
.about-stat .lbl{font-size:.8rem;color:rgba(251,248,242,.7);letter-spacing:.05em;text-transform:uppercase;}
