  :root{
    --navy:#3f4757;
    --navy-dark:#202630;
    --gold:#e4bb6e;
    --gold-dark:#b3893f;
    --cream:#f7f4ee;
    --text-dark:#2c2c2c;
    --text-muted:#6b6b6b;
    --text-light:#f5f1e8;
    --text-light-muted:rgba(245,241,232,0.75);
    --max-w:1200px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  body{
    font-family:'Mulish', sans-serif;
    color:var(--text-dark);
    line-height:1.6;
    background:#fff;
  }

  h1,h2,h3,h4{
    font-family:"DM Serif Display", serif;
    font-weight:400;
    line-height:1.3;
  }

  a{text-decoration:none;color:inherit;}
  img{display:block;max-width:100%;}

  .container{
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 32px;
  }

  .eyebrow{
    color:var(--gold-dark);
    font-size:18px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:14px;
  }

  .eyebrow.on-dark{color:var(--gold);}

  /* Buttons */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 28px;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    border-radius:2px;
    border:1px solid transparent;
    cursor:pointer;
    transition:all .2s ease;
    white-space:nowrap;
  }
  .btn-gold{
    background:var(--gold);
    color:var(--navy-dark);
  }
  .btn-gold:hover{background:var(--gold-dark);}
  .btn-outline-light{
    background:transparent;
    color:var(--text-light);
    border-color:var(--text-light);
  }
  .btn-outline-light:hover{background:var(--text-light);color:var(--navy);}
  .btn-outline-dark{
    background:transparent;
    color:var(--navy);
    border-color:var(--navy);
  }
  .btn-outline-dark:hover{background:var(--navy);color:var(--text-light);}
  .btn-dark{
    background:var(--navy);
    color:var(--text-light);
  }
  .btn-dark:hover{background:var(--navy-dark);}

  .link-arrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--navy);
    border-bottom:1px solid var(--navy);
    padding-bottom:4px;
    transition:gap .2s ease;
  }
  .link-arrow:hover{gap:16px;}
  .link-arrow.on-dark{color:var(--text-light);border-color:var(--text-light);}

  /* ===== HEADER ===== */
  header{
    background:var(--navy-dark);
    position:sticky;
    top:0;
    z-index:100;
  }
  .nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 32px;
    max-width:var(--max-w);
    margin:0 auto;
    gap:24px;
  }
  .logo{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .logo-badge{
    height:56px;
    width:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
  .header-logo{
    height:75%;
    width:auto;
    object-fit:contain;
    display:block;
  }
  .logo-text{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .logo-text .top{
    font-family:'Playfair Display', serif;
    color:var(--gold);
    font-size:25px;
    font-weight:600;
    letter-spacing:2px;
    line-height:1.15;
    text-align:center;
    white-space:nowrap;
  }
  .logo-text .sub{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--text-light-muted);
    font-size:11px;
    font-weight:600;
    letter-spacing:2.5px;
    line-height:1.4;
    text-transform:uppercase;
    white-space:nowrap;
    margin-top:1px;
  }
  .logo-text .sub::before,
  .logo-text .sub::after{
    content:"";
    flex:1 1 auto;
    min-width:10px;
    height:1px;
    background:var(--text-light-muted);
  }

  nav.main-nav{
    display:flex;
    align-items:center;
    gap:32px;
  }
  nav.main-nav a{
    color:var(--text-light-muted);
    font-size:17px;
    font-weight:600;
    transition:color .2s ease, transform .2s ease;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px;
    position:relative;
    padding:4px 2px;
  }
  nav.main-nav a:hover{color:var(--gold);transform:translateY(-2px) scale(1.08);}
  nav.main-nav a.active{color:var(--gold);font-weight:800;}
  nav.main-nav a.active::after{
    content:'';
    position:absolute;
    left:0;right:0;
    bottom:-8px;
    height:2px;
    background:var(--gold);
    border-radius:2px;
  }
  nav.main-nav a i{font-size:10px;}

  .nav-actions{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .nav-whatsapp{
    width:40px;height:40px;
    border:1px solid var(--gold);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--gold);
    font-size:18px;
    flex-shrink:0;
    transition:all .2s ease;
  }
  .nav-whatsapp:hover{background:var(--gold);color:var(--navy-dark);}

  .menu-toggle{
    display:none;
    background:none;
    border:none;
    color:var(--text-light);
    font-size:24px;
    cursor:pointer;
  }

  /* ===== HERO ===== */
  .hero{
  background:var(--navy);
  color:var(--text-light);
  position:relative;
  overflow:hidden;
}
.hero-wrap{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:48px;
  align-items:center;
  padding:0;
  max-width:var(--max-w);
  margin:0 auto;
  position:relative;
}
.hero-content{
  padding:48px 32px;
  position:relative;
  z-index:2;
}
.hero h1{
  font-size:48px;
  color:var(--text-light);
  margin-bottom:22px;
}
.hero h1 .accent{
  color:var(--gold);
  font-style:italic;
}
.hero p{
  color:var(--text-light-muted);
  font-size:16px;
  max-width:480px;
  margin-bottom:32px;
}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;}

.hero-image{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:60%;
  z-index:1;
}
.hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
}
.hero-image::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:60%;
  background:linear-gradient(to right, var(--navy) 0%, var(--navy) 15%, transparent 60%);
  z-index:2;
}
.hero-image::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:10%;
  background:linear-gradient(to left, var(--navy) 0%, transparent 100%);
  z-index:2;
}

  /* Hero about */
  .hero-about .hero-wrap {
    display: block;
    width: 100%;
  }
  .hero-about .hero-content {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
  }
  .hero-about .mission-box {
    max-width: 600px;
    margin: 20px auto 0;
    justify-content: center;
    text-align: center;
  }
  .hero-about .mission-text p {
    margin: 0 auto;
  }

  /* Feature strip */
  .feature-strip{
    background:var(--navy);
    border-top:1px solid rgba(245,241,232,0.1);
  }
  .feature-strip .container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    padding:32px 32px 48px;
  }
  .feature-item{
    display:flex;
    align-items:center;
    gap:16px;
    color:var(--text-light-muted);
    font-size:14px;
    font-weight:600;
    text-align: center;
  }
  .feature-item i{
    font-size:35px;
    color:var(--gold);
    flex-shrink:0;
  }

  /* ===== ABOUT / BOUTIQUE ===== */
  .about{
    background:var(--cream);
  }
  .about-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:64px;
    align-items:center;
    padding:88px 32px;
    max-width:var(--max-w);
    margin:0 auto;
  }
  .about-wrap > *{min-width:0;}
  .about-image {
    width: 460px;
    max-width: 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
    height: auto;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
  }

  .about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .about-content h2{
    font-size:36px;
    color:var(--navy);
    margin-bottom:20px;
  }
  .divider{
    width:60px;
    height:3px;
    background:var(--gold);
    margin-bottom:24px;
  }
  .about-content p{
    color:var(--text-muted);
    margin-bottom:18px;
    font-size:15px;
    max-width:460px;
  }
  .about-content .btn{margin-top:12px;}

  .area-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    min-width: 0;
  }

  .area-list li {
    background: var(--cream, #f5f0e6);
    color: var(--navy);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
  }

  /* ===== SERVICES ===== */
  .services{
    background:#fff;
    padding:88px 32px;
  }
  .section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 56px;
  }
  .section-head h2{
    font-size:36px;
    color:var(--navy);
  }
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    max-width:var(--max-w);
    margin:0 auto;
  }
  .service-card{
    background:var(--navy);
    color:var(--text-light);
    border-radius:4px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .service-card .service-img{
    height:170px;
    width:100%;
    object-fit:cover;
  }
  .service-body{
    padding:32px 28px 36px;
    display:flex;
    flex-direction:column;
    flex:1;
  }
  .service-icon{
    width:54px;height:54px;
    border-radius:50%;
    background:var(--gold);
    color:var(--navy-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:20px;
  }
  .service-body h3{
    font-size:24px;
    color:var(--text-light);
    margin-bottom:12px;
  }
  .service-body > p{
    color:var(--text-light-muted);
    font-size:15px;
    margin-bottom:20px;
  }
  .service-list{
    list-style:none;
    margin-bottom:28px;
    flex:1;
  }
  .service-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:15px;
    color:var(--text-light-muted);
    margin-bottom:10px;
  }
  .service-list li i{
    color:var(--gold);
    margin-top:3px;
    font-size:12px;
  }

  /* ===== STATS ===== */
  .stats{
    background:var(--navy);
    color:var(--text-light);
  }
  .stats-wrap{
    max-width:var(--max-w);
    margin:0 auto;
    padding:48px 32px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  .stat{
    display:flex;
    align-items:center;
    gap:18px;
  }
  .stat i{
    font-size:34px;
    color:var(--gold);
    flex-shrink:0;
  }
  .stat .num{
    font-family:'Playfair Display', serif;
    font-size:30px;
    line-height:1.1;
  }
  .stat .label{
    font-size:13px;
    color:var(--text-light-muted);
  }

  /* ===== TESTIMONIALS ===== */
  .testimonials{
    background:#fff;
    padding:88px 32px;
  }
  .testimonial-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:24px;
    max-width:var(--max-w);
    margin:0 auto 48px;
  }
  .testimonial-head h2{
    font-size:34px;
    color:var(--navy);
    max-width:520px;
  }
  .testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    max-width:var(--max-w);
    margin:0 auto;
  }
  .testimonial-card{
    border:1px solid #e8e4dc;
    border-radius:4px;
    padding:32px;
  }
  .testimonial-card .quote-icon{
    font-size:28px;
    color:var(--gold);
    margin-bottom:18px;
    font-family:Georgia, serif;
  }
  .testimonial-card p{
    color:var(--text-muted);
    font-size:15.5px;
    margin-bottom:24px;
    min-height:84px;
  }
  .testimonial-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-weight:700;
    font-size:14px;
    color:var(--navy);
  }
  .stars{color:var(--gold);font-size:13px;letter-spacing:2px;}

  /* ===== CTA BANNER ===== */
  .cta-banner{
    background:var(--navy);
  }
  .cta-wrap{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    align-items:center;
    max-width:var(--max-w);
    margin:0 auto;
  }
  .cta-image img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
  }
  .cta-content{
    padding:48px 56px;
    color:var(--text-light);
  }
  .cta-content h2{
    font-size:30px;
    margin-bottom:28px;
    max-width:480px;
  }
  .cta-buttons{display:flex;gap:16px;flex-wrap:wrap;}

  /* ===== FOOTER ===== */
  footer{
    background:var(--navy-dark);
    color:var(--text-light-muted);
    padding-top:64px;
  }
  .footer-wrap{
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 32px;
    display:grid;
    grid-template-columns:1.6fr 1fr 1fr 1.2fr;
    gap:40px;
    padding-bottom:48px;
  }
  .footer-col h4{
    color:var(--text-light);
    font-family:'Mulish', sans-serif;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:20px;
  }
  .footer-col p{font-size:15px;margin-bottom:18px;max-width:280px;}
  .footer-col ul{list-style:none;}
  .footer-col ul li{margin-bottom:10px;font-size:15px;}
  .footer-col ul li a:hover,
  .footer-col ul li .footer-link-btn:hover{color:var(--gold);}
  .footer-social{display:flex;gap:12px;}
  .footer-social a{
    width:34px;height:34px;
    border:1px solid rgba(245,241,232,0.25);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    color:var(--text-light);
    transition:all .2s ease;
  }
  .footer-col hr {
    border: none;
    border-top: 1px solid var(--gold);
    margin: 16px 0;
    opacity: 0.4;
  }
  .footer-col > div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
  }
  .footer-cert-logo {
    background: #eee;
    padding: 4px 8px;
    border-radius: 4px;
    height: 40px;
    width: auto;
    object-fit: contain;
  }

  .footer-social a:hover{background:var(--gold);color:var(--navy-dark);border-color:var(--gold);}
  .footer-contact li{
    display:flex;
    gap:12px;
    align-items:flex-start;
  }
  .footer-contact li i{color:var(--gold);margin-top:3px;width:16px;}
  .footer-logo{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:5px;
    margin-bottom:18px;
  }
  .footer-logo .logo-text{align-items:center;}
  .footer-logo .header-logo{height:100%;}
  .footer-logo .top{font-size:21px;}
  .footer-logo .sub{font-size:9px;}

  .footer-bottom{
    border-top:1px solid rgba(245,241,232,0.1);
    padding:22px 32px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    max-width:var(--max-w);
    margin:0 auto;
    font-size:13px;
  }
  .footer-bottom-links{display:flex;gap:24px;}

  /* ===== RESPONSIVE ===== */
  @media (max-width: 1024px){
    .hero-wrap{grid-template-columns:1fr;}
    .hero-image img{height:320px;}
    .feature-strip .container{grid-template-columns:repeat(2,1fr);}
    .about-wrap{grid-template-columns:minmax(0,1fr);gap:40px;padding:64px 32px;}
    .services-grid{grid-template-columns:1fr;}
    .stats-wrap{grid-template-columns:repeat(2,1fr);}
    .testimonial-grid{grid-template-columns:1fr;}
    .cta-wrap{grid-template-columns:1fr;}
    .cta-image img{height:220px;}
    .footer-wrap{grid-template-columns:1fr 1fr;}
  }

  @media (max-width: 800px){
    nav.main-nav{
      position:absolute;
      top:100%;
      left:0;right:0;
      background:var(--navy);
      flex-direction:column;
      align-items:flex-start;
      padding:16px 32px 24px;
      gap:18px;
      display:none;
    }
    nav.main-nav.open{display:flex;}
    .menu-toggle{display:block;}
    .nav-actions{display:none;}
    .hero h1{font-size:34px;}
    .feature-strip .container{grid-template-columns:1fr;}
    .footer-wrap{grid-template-columns:1fr;}
    .footer-bottom{flex-direction:column;text-align:center;}
  }

/* ============================================================
   ABOUT PAGE — additional components
   ============================================================ */

/* ----- About hero (extends .hero) ----- */
.mission-box{
  display:flex;
  gap:20px;
  align-items:flex-start;
  margin-top:8px;
}
.mission-text .mission-label{
  color:var(--gold);
  font-weight:800;
  font-size:15px;
  margin-bottom:8px;
  font-family:"DM Serif Display", serif;
}
.mission-text p{
  color:var(--text-light-muted);
  font-size:15px;
  font-style:italic;
  max-width:420px;
  margin:0;
}



/* ----- Core values ----- */
.core-values{
  background:var(--cream);
  padding:88px 32px;
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
  max-width:var(--max-w);
  margin:0 auto;
}
.value-card{
  background:#fff;
  border:1px solid #ece7dc;
  border-radius:6px;
  padding:36px 22px;
  text-align:center;
}
.value-icon{
  width:62px;height:62px;
  border-radius:50%;
  background:#fbf2e3;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
  color:var(--gold-dark);
  font-size:24px;
}
.value-card h3{
  font-size:18px;
  color:var(--navy);
  margin-bottom:10px;
}
.value-card p{
  font-size:14.5px;
  color:var(--text-muted);
}

/* ----- Approach section (text left / image right) ----- */
.approach{
  background:#fff;
}
.approach-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  padding:88px 32px;
  max-width:var(--max-w);
  margin:0 auto;
}
.approach-content h2{
  font-size:32px;
  color:var(--navy);
  margin-bottom:20px;
}
.approach-content p{
  color:var(--text-muted);
  font-size:15px;
  margin-bottom:16px;
  max-width:480px;
}
.approach-content p.lead-strong{
  color:var(--navy);
  font-weight:700;
}
.approach-image img{
  border-radius:4px;
  width:100%;
  height:300px;
  object-fit:cover;
}
.check-list{
  list-style:none;
  margin:16px 0 20px;
}
.check-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:15px;
  color:var(--text-muted);
  margin-bottom:9px;
}
.check-list li i{
  color:var(--gold-dark);
  margin-top:4px;
  font-size:12px;
}

/* ----- Why choose ----- */
.why-choose{
  background:var(--cream);
  padding:88px 32px;
}
.why-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:36px;
  max-width:var(--max-w);
  margin:0 auto;
}
.why-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.why-icon{
  width:54px;height:54px;
  border-radius:50%;
  background:var(--navy);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  flex-shrink:0;
}
.why-item h3{
  font-family:'Mulish', sans-serif;
  font-weight:800;
  font-size:15px;
  color:var(--navy);
  margin-bottom:8px;
  line-height:1.3;
}
.why-item p{
  font-size:14.5px;
  color:var(--text-muted);
}

/* ----- Area ----- */
.area-choose{
  background:var(--cream);
  padding:88px 32px;
}
.area-grid{
  display: flex;
  justify-content: center;
  max-width:var(--max-w);
  width:100%;
  margin:0 auto;
}
.area-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  width:100%;
  max-width:800px;
}
.area-content{
  flex:1;
  min-width:0;
}
.area-icon{
  width:54px;height:54px;
  border-radius:50%;
  background:var(--navy);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  flex-shrink:0;
}

/* ----- Bottom CTA bar ----- */
.bottom-cta{
  background:var(--navy);
  padding:32px;
}
.bottom-cta-wrap{
  max-width:var(--max-w);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.bottom-cta-left{
  display:flex;
  gap:20px;
  align-items:center;
}
.bottom-cta-icon{
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(245,241,232,0.08);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  flex-shrink:0;
}
.bottom-cta-left h3{
  color:var(--text-light);
  font-size:19px;
  margin-bottom:4px;
}
.bottom-cta-left p{
  color:var(--text-light-muted);
  font-size:15px;
}
.bottom-cta-buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

/* ----- About page responsive ----- */
@media (max-width: 1024px){
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .approach-wrap{grid-template-columns:1fr;gap:40px;padding:64px 32px;}
  .approach-image{order:-1;}
  .approach-image img{height:320px;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .area-list{grid-template-columns:repeat(3,1fr);}
}

@media (max-width: 800px){
  .values-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .bottom-cta-wrap{flex-direction:column;align-items:flex-start;text-align:left;}
  .area-item{flex-direction:column;}
  .area-list{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   ENQUIRY / VALUATION FORM
   ============================================================ */
.enquiry-section{
  background:#f9f8f5;
  padding:64px 32px 88px;
}
.enquiry-success{
  max-width:600px;
  margin:0 auto 24px;
  background:#f0f7ee;
  border:1px solid #bfe3ae;
  color:#2f6b1f;
  border-radius:8px;
  padding:18px 22px;
  font-size:15px;
  display:none;
  align-items:center;
  gap:12px;
}
.enquiry-success.show{display:flex;}
.enquiry-success i{font-size:20px;color:#3f9124;flex-shrink:0;}
.enquiry-form-wrap{
  max-width:600px;
  margin:0 auto;
  background:#fff;
  border-radius:8px;
  box-shadow:0 8px 40px rgba(27,42,69,0.12);
  padding:40px 36px;
}
.form-group{margin-bottom:20px;}
.form-group:last-of-type{margin-bottom:0;}
.form-group label{
  display:block;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:8px;
}
.form-group label .required{color:var(--gold-dark);margin-left:2px;}
.form-group input,
.form-group textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid #ddd6c7;
  border-radius:4px;
  font-family:'Mulish', sans-serif;
  font-size:15px;
  color:var(--text-dark);
  background:#fdfcfa;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(228,187,110,0.25);
}
.form-group textarea{resize:vertical;min-height:110px;}
.hp-field{position:absolute;left:-9999px;top:-9999px;}
.enquiry-submit{
  width:100%;
  justify-content:center;
  border:none;
  cursor:pointer;
  font-family:'Mulish', sans-serif;
  margin-top:8px;
}
.enquiry-note{
  font-size:13px;
  color:var(--text-muted);
  text-align:center;
  margin-top:18px;
}

/* ============================================================
   LEGAL PAGES (Privacy Policy / Terms / GDPR)
   ============================================================ */
.legal-hero{
  background:var(--navy);
  color:var(--text-light);
  padding:56px 32px;
  text-align:center;
}
.legal-hero h1{font-size:40px;color:var(--text-light);margin-bottom:8px;}
.legal-hero p{color:var(--text-light-muted);font-size:15px;}

.legal-section{
  background:#fff;
  padding:64px 32px 88px;
}
.legal-content{
  max-width:760px;
  margin:0 auto;
}
.legal-content .updated-note{
  color:var(--text-muted);
  font-size:13px;
  font-style:italic;
  margin-bottom:32px;
}
.legal-content h2{
  font-size:24px;
  color:var(--navy);
  margin-top:36px;
  margin-bottom:12px;
}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{
  color:var(--text-muted);
  font-size:15px;
  margin-bottom:14px;
  line-height:1.7;
}
.legal-content ul{
  margin:0 0 14px 20px;
  color:var(--text-muted);
  font-size:15px;
  line-height:1.7;
}
.legal-content ul li{margin-bottom:6px;}
.legal-content a{color:var(--gold-dark);text-decoration:underline;}

/* ============================================================
   SERVICES / PRICING PAGE — additional components
   ============================================================ */

/* ----- Pricing Hero ----- */
.pricing-hero{
  background:var(--navy);
  color:var(--text-light);
  padding:60px 32px 52px;
}
.pricing-hero-wrap{
  max-width:var(--max-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}
.pricing-hero h1{
  font-size:48px;
  color:var(--text-light);
  margin-bottom:0;
}
.pricing-hero h1 .accent{color:var(--gold);font-style:italic;}
.pricing-hero-wrap p{
  color:var(--text-light-muted);
  font-size:15px;
  margin-bottom:20px;
}
.pricing-hero-wrap .tagline{
  font-family:"DM Serif Display", serif;
  font-style:italic;
  color:var(--gold);
  font-size:20px;
  margin-top:14px;
}
.pricing-hero-badges{
  margin-top:32px;
}
.pricing-hero-badges-label{
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.pricing-hero-badges-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
 
/* ----- Pricing Cards section ----- */
.pricing-section{
  background:#f9f8f5;
  padding:72px 32px;
}
.pricing-cards{
  display:grid;
  grid-template-columns:1fr 1fr 1.08fr;
  gap:28px;
  max-width:var(--max-w);
  margin:0 auto;
  align-items:stretch;
}
 
/* badge on card */
.card-badge{
  text-align:center;
  background:var(--gold);
  color:var(--navy-dark);
  font-size:14px;
  font-weight:800;
  letter-spacing:2.5px;
  text-transform:uppercase;
  padding:14px 16px;
}
.card-badge.invisible{visibility:hidden;}

/* individual cards */
.pc{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 8px 40px rgba(27,42,69,0.12);
  transition:transform .25s ease, box-shadow .25s ease;
  scroll-margin-top:96px;
}
.pc:hover{
  transform:translateY(-10px) scale(1.03);
  box-shadow:0 24px 55px rgba(27,42,69,0.25);
  z-index:5;
}
.pc.featured{
  background:var(--navy);
  color:var(--text-light);
  position:relative;
  z-index:2;
  box-shadow:0 0 0 6px var(--gold),0 8px 40px rgba(27,42,69,0.12);
}
.pc.featured:hover{
  box-shadow:0 0 0 6px var(--gold),0 24px 55px rgba(27,42,69,0.25);
}
.pc-inner{
  padding:32px 28px 36px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.pc-icon{
  width:64px;height:64px;
  border-radius:50%;
  background:#f0ece2;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-dark);
  font-size:26px;
  margin:0 auto 20px;
}
.pc.featured .pc-icon{background:rgba(201,169,97,0.15);color:var(--gold);}
.pc h3{
  font-size:17px;
  font-weight:800;
  font-family:'Mulish',sans-serif;
  letter-spacing:1.5px;
  text-transform:uppercase;
  text-align:center;
  margin-bottom:10px;
}
.pc.featured h3{color:var(--text-light);}
.pc-subtitle{
  font-size:14.5px;
  color:var(--text-muted);
  text-align:center;
  margin-bottom:28px;
  min-height:52px;
}
.pc.featured .pc-subtitle{color:var(--text-light-muted);}
.pc-price{
  text-align:center;
  margin-bottom:6px;
}
.pc-price .from{
  font-size:13px;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:1px;
  display:block;
  margin-bottom:2px;
}
.pc.featured .pc-price .from{color:var(--text-light-muted);}
.pc-price .amount{
  font-family:'Playfair Display', serif;
  font-size:52px;
  font-weight:500;
  color:var(--navy);
  line-height:1;
}
.pc.featured .pc-price .amount{color:var(--text-light);}
.pc-price .amount.amount-sm{font-size:38px;font-weight:400;}
.pc-price .period{
  font-size:15px;
  color:var(--text-muted);
  display:block;
  margin-top:4px;
}
.pc.featured .pc-price .period{color:var(--text-light-muted);}
.pc-no-vat{
  text-align:center;
  color:var(--gold-dark);
  font-weight:800;
  font-size:13px;
  margin-bottom:20px;
}
.pc.featured .pc-no-vat{color:var(--gold);}
.pc-includes-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:14px;
}
.pc.featured .pc-includes-label{color:var(--text-light-muted);}
.pc-features{
  list-style:none;
  margin-bottom:28px;
  flex:1;
}
.pc-features li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14.5px;
  color:var(--text-muted);
  margin-bottom:10px;
  line-height:1.4;
}
.pc.featured .pc-features li{color:var(--text-light-muted);}
.pc-features li i{
  color:var(--gold-dark);
  margin-top:3px;
  font-size:12px;
  flex-shrink:0;
}
.pc.featured .pc-features li i{color:var(--gold);}
.pc-footer-note{
  background:#f7f4ee;
  border-radius:4px;
  padding:14px 16px;
  font-size:14px;
  color:var(--navy);
  font-style:italic;
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:auto;
}
.pc.featured .pc-footer-note{background:rgba(201,169,97,0.12);color:var(--text-light);}
.pc-footer-note i{color:var(--gold-dark);margin-top:2px;flex-shrink:0;}
.pc.featured .pc-footer-note i{color:var(--gold);}
.pc-cta{
  display:block;
  text-align:center;
  margin-top:20px;
  padding:14px 24px;
  border-radius:4px;
  font-size:13px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  text-decoration:none;
  background:var(--navy);
  color:#fff;
  transition:background .2s ease;
}
.pc-cta:hover{background:var(--navy-dark);}
.pc.featured .pc-cta{background:var(--gold);color:var(--navy-dark);}
.pc.featured .pc-cta:hover{background:#dcc17f;}
.pc-disclaimer{
  font-size:11px;
  color:var(--text-muted);
  padding:12px 28px;
  border-top:1px solid #ece7dc;
}
.pc.featured .pc-disclaimer{color:var(--text-light-muted);border-top-color:rgba(245,241,232,0.15);}
 
/* ----- Optional Services & Compliance split ----- */
.extras-section{
  background:#fff;
  padding:72px 32px;
}
.extras-wrap{
  max-width:var(--max-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}
.extras-col h2{
  font-size:26px;
  color:var(--navy);
  margin-bottom:6px;
}
.extras-col .sub-desc{
  color:var(--text-muted);
  font-size:15px;
  margin-bottom:28px;
}
 
/* optional services table */
.optional-table{width:100%;border-collapse:collapse;}
.optional-table thead tr{border-bottom:2px solid var(--navy);}
.optional-table thead th{
  font-size:12px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--navy);
  padding:0 0 12px;
  text-align:left;
}
.optional-table thead th.price-col{text-align:right;color:var(--gold-dark);}
.optional-table tbody tr{border-bottom:1px solid #ece7dc;}
.optional-table tbody td{
  padding:14px 0;
  font-size:15px;
  vertical-align:top;
}
.optional-table tbody td.price-col{
  text-align:right;
  font-weight:700;
  color:var(--navy);
  white-space:nowrap;
}
.optional-table .row-icon{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:8px;
}
.optional-table .row-icon:last-child{margin-bottom:0;}
.optional-table .row-icon.row-icon-sub{margin-left:30px;}
.optional-table .row-icon i{
  color:var(--gold-dark);
  font-size:16px;
  margin-top:2px;
  width:18px;
}
.optional-table .row-label{color:var(--text-muted);}
.optional-table .row-label em{
  font-size:0.88em;
  color:var(--text-muted);
  opacity:0.75;
}
 
/* compliance grid */
.compliance-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:12px;
}
.compliance-item{
  text-align:center;
  background:#f9f8f5;
  border-radius:6px;
  padding:20px 10px;
}
.compliance-item i{
  font-size:26px;
  color:var(--gold-dark);
  display:block;
  margin-bottom:10px;
}
.compliance-item span{
  font-size:13px;
  color:var(--navy);
  font-weight:700;
  line-height:1.3;
  display:block;
}
.compliance-note{
  font-size:14px;
  color:var(--text-muted);
  font-style:italic;
  margin-top:4px;
}
 
/* ----- Landlord Journey ----- */
.journey{
  background:var(--navy);
  padding:72px 32px;
}
.journey .section-head{margin-bottom:52px;}
.journey .section-head h2{color:var(--text-light);}
.journey .section-head h2 .accent{color:var(--gold);font-style:italic;}
.journey-steps{
  max-width:var(--max-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  position:relative;
}
/* connector line */
.journey-steps::before{
  content:'';
  position:absolute;
  top:28px;
  left:calc(100%/12);
  right:calc(100%/12);
  height:2px;
  background:var(--gold);
  opacity:0.35;
  z-index:0;
}
.journey-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:0 10px;
  position:relative;
  z-index:1;
}
.step-number{
  width:54px;height:54px;
  border-radius:50%;
  background:var(--gold);
  color:var(--navy-dark);
  font-size:17px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  flex-shrink:0;
}
.step-icon{
  font-size:30px;
  color:var(--gold);
  margin-bottom:14px;
}
.journey-step h4{
  font-family:'Mulish', sans-serif;
  font-size:14px;
  font-weight:800;
  color:var(--text-light);
  margin-bottom:8px;
  line-height:1.3;
}
.journey-step p{
  font-size:13.5px;
  color:var(--text-light-muted);
  line-height:1.5;
}
 
/* ----- Compliance / Stay Compliant ----- */
.compliance-section{
  background:#f9f8f5;
  padding:72px 32px;
}
.compliance-section-wrap{
  max-width:var(--max-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:64px;
  align-items:start;
}
.compliance-left h2{
  font-size:34px;
  color:var(--navy);
  margin-bottom:14px;
}
.compliance-left > p{
  color:var(--text-muted);
  font-size:15.5px;
  margin-bottom:28px;
}
.compliance-right h3{
  font-family:'Mulish', sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:14px;
}
.compliance-right > p{
  color:var(--text-muted);
  font-size:15px;
  margin-bottom:18px;
}
.compliance-right .intro-note{
  font-weight:700;
  color:var(--navy);
  font-size:15px;
  margin-bottom:14px;
}
.cert-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 24px;
  list-style:none;
  margin-bottom:0;
}
.cert-list li{
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-size:14.5px;
  color:var(--text-muted);
  line-height:1.4;
}
.cert-list li i{
  color:var(--gold-dark);
  margin-top:1px;
  font-size:16px;
  width:20px;
  text-align:center;
  flex-shrink:0;
}
 
/* compliance footer bar */
.compliance-footer-bar{
  max-width:var(--max-w);
  margin:32px auto 0;
  background:var(--navy);
  border-radius:6px;
  padding:22px 28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.compliance-footer-bar p{
  color:var(--text-light);
  font-size:15px;
  display:flex;
  gap:12px;
  align-items:center;
}
.compliance-footer-bar p i{color:var(--gold);font-size:20px;flex-shrink:0;}
 
/* ----- Pricing page responsive ----- */
@media (max-width:1024px){
  .pricing-hero-wrap{grid-template-columns:1fr;gap:36px;}
  .pricing-cards{grid-template-columns:1fr;}
  .pc.featured{box-shadow:0 0 0 4px var(--gold),0 8px 40px rgba(27,42,69,0.12);}
  .extras-wrap{grid-template-columns:1fr;gap:48px;}
  .compliance-grid{grid-template-columns:repeat(2,1fr);}
  .journey-steps{grid-template-columns:repeat(3,1fr);gap:36px;}
  .journey-steps::before{display:none;}
  .compliance-section-wrap{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:800px){
  .pricing-hero h1{font-size:34px;}
  .compliance-grid{grid-template-columns:repeat(2,1fr);}
  .journey-steps{grid-template-columns:repeat(2,1fr);}
  .cert-list{grid-template-columns:1fr;}
  .compliance-footer-bar{flex-direction:column;align-items:flex-start;}
}

/* ===== COOKIE CONSENT BANNER ===== */
#cookie-consent-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:999;
  background:var(--navy-dark);
  border-top:1px solid var(--gold);
  padding:20px 32px;
  transform:translateY(100%);
  transition:transform .3s ease;
}
#cookie-consent-banner.visible{transform:translateY(0);}
.cookie-consent-inner{
  max-width:var(--max-w);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cookie-consent-inner p{
  color:var(--text-light-muted);
  font-size:14px;
  margin:0;
}
.cookie-consent-inner a{color:var(--gold);text-decoration:underline;}
.cookie-consent-actions{
  display:flex;
  gap:12px;
  flex-shrink:0;
}
#cookie-reject-btn{background:transparent;color:var(--text-light);border-color:var(--text-light);}
#cookie-reject-btn:hover{background:var(--text-light);color:var(--navy-dark);}
.footer-link-btn{
  background:none;
  border:none;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
@media (max-width:800px){
  .cookie-consent-inner{flex-direction:column;align-items:flex-start;gap:16px;}
  .cookie-consent-actions{width:100%;}
  .cookie-consent-actions .btn{flex:1;justify-content:center;}
}
