:root{
    --maroon:#921A17;
    --maroon-dark:#6E1310;
    --charcoal:#1C1C1C;
    --steel:#5A5A5A;
    --bg:#FAF9F7;
    --white:#FFFFFF;
    --line:#E4E1DB;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Source Sans 3', sans-serif;
    color:var(--charcoal);
    background:var(--bg);
    line-height:1.55;
  }
  h1,h2,h3,.display{
    font-family:'Archivo', sans-serif;
    font-weight:900;
    letter-spacing:-0.01em;
    line-height:1.05;
    color:var(--charcoal);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

  /* Top utility bar */
  .utility-bar{
    background:var(--charcoal);
    color:#D8D5CF;
    font-size:0.85rem;
  }
  .utility-bar .wrap{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:8px;padding-bottom:8px;
  }
  .utility-bar a{color:var(--white);}

  /* Header */
  header{
    background:var(--white);
    border-bottom:3px solid var(--maroon);
    position:sticky;top:0;z-index:50;
  }
  header .wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:14px;padding-bottom:14px;
  }
  .brand{display:flex;align-items:center;gap:14px;}
  .brand img{height:58px;width:auto;}
  .brand-text{display:flex;flex-direction:column;line-height:1.15;}
  .brand-text .name{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.15rem;}
  .brand-text .tag{font-size:0.78rem;color:var(--steel);}

  nav{display:flex;align-items:center;gap:28px;}
  nav a{font-weight:600;font-size:0.95rem;}
  nav a:hover{color:var(--maroon);}

  .call-cta{
    background:var(--maroon);
    color:var(--white);
    padding:11px 20px;
    font-weight:700;
    font-size:0.95rem;
    border:2px solid var(--maroon);
    display:inline-flex;align-items:center;gap:6px;
    white-space:nowrap;
  }
  .call-cta:hover{background:var(--maroon-dark);border-color:var(--maroon-dark);}
  .call-cta .num{font-family:'Archivo',sans-serif;}

  /* Hero */
  .hero{
    background:var(--charcoal);
    color:var(--white);
    position:relative;
    overflow:hidden;
    border-bottom:6px solid var(--maroon);
  }
  .hero .wrap{
    padding-top:88px;padding-bottom:88px;
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;
  }
  .hero .eyebrow{
    color:#C97D7A;
    font-weight:600;
    font-size:0.95rem;
    margin-bottom:14px;
  }
  .hero h1{
    font-size:3.1rem;
    color:var(--white);
    margin-bottom:20px;
  }
  .hero h1 span{color:#C97D7A;}
  .hero p{
    font-size:1.1rem;
    color:#C9C6C0;
    max-width:46ch;
    margin-bottom:30px;
  }
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--maroon);color:var(--white);
    padding:15px 26px;font-weight:700;border:2px solid var(--maroon);
    font-size:1rem;
  }
  .btn-primary:hover{background:var(--maroon-dark);border-color:var(--maroon-dark);}
  .btn-secondary{
    background:transparent;color:var(--white);
    padding:15px 26px;font-weight:700;border:2px solid #56504a;
    font-size:1rem;
  }
  .btn-secondary:hover{border-color:var(--white);}

  .hero-panel{
    background:#242220;
    border:1px solid #3a3632;
    padding:32px;
  }
  .hero-panel .badge-title{
    font-family:'Archivo',sans-serif;font-weight:700;
    color:var(--white);font-size:1rem;margin-bottom:18px;
    padding-bottom:14px;border-bottom:1px solid #3a3632;
  }
  .hero-panel ul{list-style:none;}
  .hero-panel li{
    display:flex;gap:12px;align-items:flex-start;
    color:#C9C6C0;font-size:0.95rem;margin-bottom:14px;
  }
  .hero-panel li:last-child{margin-bottom:0;}
  .hero-panel .mark{color:#C97D7A;font-weight:900;font-family:'Archivo',sans-serif;}

  /* Trust strip */
  .trust-strip{
    background:var(--white);
    border-bottom:1px solid var(--line);
  }
  .trust-strip .wrap{
    display:grid;grid-template-columns:repeat(4,1fr);
    padding-top:26px;padding-bottom:26px;gap:20px;
  }
  .trust-item{text-align:center;}
  .trust-item .num{
    font-family:'Archivo',sans-serif;font-weight:900;font-size:1.6rem;color:var(--maroon);
  }
  .trust-item .lbl{font-size:0.85rem;color:var(--steel);margin-top:2px;}

  /* Section base */
  section{padding-top:80px;padding-bottom:80px;}
  .section-head{max-width:640px;margin-bottom:44px;}
  .section-head .kicker{color:var(--maroon);font-weight:700;font-size:0.95rem;margin-bottom:10px;}
  .section-head h2{font-size:2.2rem;}
  .section-head p{color:var(--steel);margin-top:14px;font-size:1.05rem;}

  /* Services */
  .services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);
  }
  .service-card{
    background:var(--white);padding:32px;
  }
  .service-card h3{font-size:1.15rem;margin-bottom:10px;}
  .service-card p{color:var(--steel);font-size:0.95rem;}
  .service-card .idx{
    font-family:'Archivo',sans-serif;color:var(--maroon);font-weight:900;
    font-size:0.85rem;margin-bottom:14px;display:block;
  }

  /* Why us / split */
  .split{
    background:var(--white);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .split .wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  }
  .split-copy .kicker{color:var(--maroon);font-weight:700;font-size:0.95rem;margin-bottom:10px;}
  .split-copy h2{font-size:2rem;margin-bottom:18px;}
  .split-copy p{color:var(--steel);margin-bottom:24px;}
  .reasons{list-style:none;}
  .reasons li{
    display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line);
  }
  .reasons li:last-child{border-bottom:1px solid var(--line);}
  .reasons .n{
    font-family:'Archivo',sans-serif;font-weight:900;color:var(--maroon);
    font-size:1.1rem;min-width:28px;
  }
  .reasons h4{font-size:1rem;margin-bottom:4px;}
  .reasons span.d{color:var(--steel);font-size:0.92rem;}

  .split-panel{
    background:var(--charcoal);color:var(--white);padding:40px;
  }
  .split-panel .quote-mark{font-family:'Archivo',sans-serif;font-size:3rem;color:var(--maroon);line-height:1;margin-bottom:12px;}
  .split-panel p.q{font-size:1.15rem;color:#E4E1DB;margin-bottom:18px;}
  .split-panel .who{font-weight:700;font-size:0.95rem;}
  .split-panel .role{color:#9C9890;font-size:0.85rem;}

  .testimonial-track{position:relative;overflow:hidden;}
  .testimonial-slides{display:flex;transition:transform 0.7s cubic-bezier(0.65,0,0.35,1);}
  .testimonial-slide{flex:0 0 100%;min-width:100%;box-sizing:border-box;padding-right:4px;}
  .testimonial-dots{display:flex;gap:8px;margin-top:24px;}
  .testimonial-dots .dot{
    width:8px;height:8px;border-radius:50%;border:none;
    background:#4A4642;cursor:pointer;padding:0;
    transition:background 0.3s ease;
  }
  .testimonial-dots .dot.active{background:var(--maroon);}

  /* Service area */
  .area{
    background:var(--maroon);color:var(--white);
  }
  .area .wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  }
  .area h2{color:var(--white);font-size:2rem;margin-bottom:16px;}
  .area p{color:#E9C6C4;margin-bottom:20px;max-width:44ch;}
  .area-towns{
    display:flex;flex-wrap:wrap;gap:10px;
  }
  .area-towns span{
    border:1px solid rgba(255,255,255,0.35);
    padding:8px 14px;font-size:0.9rem;font-weight:600;
  }
  .area .btn-secondary{border-color:rgba(255,255,255,0.5);}

  /* Final CTA */
  .cta-final{background:var(--bg);}
  .cta-box{
    background:var(--charcoal);color:var(--white);
    padding:56px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;
    border-left:6px solid var(--maroon);
  }
  .cta-box h2{color:var(--white);font-size:1.9rem;margin-bottom:8px;}
  .cta-box p{color:#C9C6C0;}

  /* Footer */
  footer{background:var(--charcoal);color:#C9C6C0;padding-top:56px;padding-bottom:28px;}
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
    padding-bottom:36px;border-bottom:1px solid #35322e;margin-bottom:24px;
  }
  .footer-grid h5{color:var(--white);font-family:'Archivo',sans-serif;font-size:0.95rem;margin-bottom:16px;}
  .footer-grid ul{list-style:none;}
  .footer-grid li{margin-bottom:10px;font-size:0.92rem;}
  .footer-grid li a:hover{color:var(--white);}
  .footer-brand img{height:44px;margin-bottom:14px;}
  .footer-brand p{font-size:0.9rem;max-width:32ch;color:#9C9890;}
  .footer-bottom{
    display:flex;justify-content:space-between;font-size:0.82rem;color:#8A8680;flex-wrap:wrap;gap:8px;
  }

  @media (max-width:860px){
    nav{display:none;}
    .hero .wrap{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px;}
    .hero h1{font-size:2.2rem;}
    .trust-strip .wrap{grid-template-columns:repeat(2,1fr);}
    .services-grid{grid-template-columns:1fr;}
    .split .wrap{grid-template-columns:1fr;gap:36px;}
    .area .wrap{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .cta-box{flex-direction:column;align-items:flex-start;padding:36px;}
  }

  @media (max-width:480px){
    .brand{gap:10px;}
    .brand img{height:40px;}
    .brand-text .tag{display:none;}
    .brand-text .name{font-size:0.92rem;}
    .call-cta{
      flex-direction:column;align-items:center;gap:1px;
      padding:8px 14px;font-size:0.72rem;
    }
    .call-cta .dot{display:none;}
    .call-cta .num{font-size:0.85rem;}
    .utility-bar .wrap{flex-direction:column;gap:2px;align-items:flex-start;font-size:0.75rem;}
  }
