
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden}
body{font-family:Arial,Helvetica,sans-serif;color:#071d43;background:#fff}
img,svg{max-width:100%}
a{text-decoration:none}

/* HEADER */
.site-header{
  width:100%;
  min-height:94px;
  background:#061d46;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(118px,32%) minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 12px;
}
.header-logo-wrap{min-width:0;display:flex;align-items:center;justify-content:flex-start}
.header-logo{display:block;width:100%;height:auto;max-height:80px;object-fit:contain}
.header-info{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:center;
  gap:8px;
  font-weight:800;
  color:#fff;
}
.header-info .phone,.hic{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#fff;
  font-size:clamp(10px,2.7vw,14px);
  line-height:1.15;
  text-align:center;
}
.header-info .phone span:last-child,.hic span:last-child{white-space:normal}
.phone-icon,.star{font-size:clamp(13px,3vw,17px);flex:0 0 auto}
.divider{width:1px;height:38px;background:#ffffff85}

/* HERO */
.hero{
  width:100%;
  position:relative;
  height:420px;
  overflow:hidden;
  background:#061d46;
}
.hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:57% center;
}
.hero-gradient{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,24,57,.97) 0%,rgba(3,24,57,.88) 26%,rgba(3,24,57,.52) 49%,rgba(3,24,57,.06) 77%);
}
.hero-copy{
  position:absolute;
  z-index:2;
  left:18px;
  top:47px;
  width:min(47%,340px);
  color:#fff;
}
.hero-copy h1{
  margin:0;
  font-size:clamp(29px,7.8vw,36px);
  line-height:1.05;
  letter-spacing:-.5px;
}
.blue-line{display:block;width:92px;height:4px;background:#1784e6;margin:20px 0}
.hero-copy p{
  margin:0;
  font-size:clamp(13px,3.7vw,16px);
  line-height:1.55;
}

/* TRUST */
.trust{
  width:100%;
  background:#061d46;
  color:#fff;
  padding:20px 12px 24px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
.trust-item{
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:start;
  gap:8px;
  padding:2px 9px;
  border-right:1px solid #ffffff73;
}
.trust-item:nth-child(3){border-right:0}
.round{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#1266ce;
  font-size:21px;
}
.trust-item b,.trust-item small{display:block}
.trust-item b{font-size:clamp(10px,2.8vw,13px);line-height:1.1}
.trust-item small{font-size:clamp(9px,2.45vw,11px);line-height:1.35;margin-top:6px}
.hero-actions{
  grid-column:1/-1;
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}
.hero-actions a,.estimate a{
  min-width:0;
  padding:15px 8px;
  text-align:center;
  color:#fff;
  font-weight:800;
  border:2px solid #fff;
  font-size:clamp(10px,2.8vw,13px);
}
.hero-actions .primary,.estimate a{background:#0e5fc6}

/* SERVICES */
.services{width:100%;padding:28px 12px 32px}
.section-kicker{
  display:flex;align-items:center;justify-content:center;gap:10px;
  color:#1766ba;font-weight:800;font-size:13px
}
.section-kicker span{width:48px;height:1px;background:#9bb6d4}
.services h2{text-align:center;font-size:clamp(28px,7.7vw,34px);margin:7px 0 22px}
.service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.service{
  min-width:0;
  border:1px solid #d5dce5;
  text-align:center;
  padding:16px 8px;
  min-height:180px;
}
.sicon{height:54px;display:flex;align-items:center;justify-content:center}
.sicon svg{width:47px;height:47px;fill:#061d46}
.service h3{font-size:14px;line-height:1.18;margin:9px 0;min-height:34px}
.service p{font-size:12px;line-height:1.45;margin:0;color:#152440}

/* LOWER SECTIONS */
.service-area{
  width:calc(100% - 24px);
  margin:0 12px 22px;
  background:#061d46;
  color:#fff;
  text-align:center;
  padding:23px 18px;
  border-radius:7px;
}
.service-area h2{margin:0 0 12px;font-size:20px}
.service-area p{font-size:13px;line-height:1.55;max-width:820px;margin:0 auto}
.values{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 10px;
  font-size:11px;
}
.estimate{
  width:100%;
  background:#071d43;
  color:#fff;
  padding:24px 16px;
  display:flex;
  flex-direction:column;
  text-align:center;
  gap:14px;
}
.estimate h2,.estimate p{margin:4px 0}
.estimate a{width:100%}
footer{
  width:100%;
  background:#041630;
  color:#fff;
  padding:18px 14px;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  text-align:center;
}
footer div{display:flex;flex-direction:column;gap:4px}
footer b{font-size:12px}
footer span{font-size:13px}

/* DESKTOP/TABLET */
@media(min-width:761px){
  .site-header{height:112px;grid-template-columns:290px 1fr;padding:7px 4%;gap:30px}
  .header-logo{max-height:94px}
  .header-info{display:flex;justify-content:flex-end;gap:28px;font-size:20px}
  .header-info .phone,.hic{font-size:20px;white-space:nowrap}
  .hero{height:455px}
  .hero-copy{left:4%;top:47px;width:39%;max-width:470px}
  .hero-copy h1{font-size:48px}
  .hero-copy p{font-size:19px}
  .trust{padding:22px 4% 28px}
  .trust-item{grid-template-columns:54px 1fr;gap:15px;padding:4px 22px}
  .round{width:54px;height:54px;font-size:28px}
  .trust-item b{font-size:17px}
  .trust-item small{font-size:13px}
  .hero-actions{gap:22px;margin-top:25px}
  .hero-actions a{font-size:16px}
  .services{padding:34px 4% 38px}
  .services h2{font-size:38px}
  .service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .service{min-height:205px;padding:20px 10px}
  .sicon{height:60px}.sicon svg{width:52px;height:52px}
  .service h3{font-size:15px}.service p{font-size:12px}
  .service-area{width:92%;margin:0 4% 28px;padding:30px}
  .service-area h2{font-size:25px}
  .values{grid-template-columns:repeat(4,minmax(0,1fr));font-size:13px}
  .estimate{padding:24px 4%;flex-direction:row;text-align:left;justify-content:space-between;align-items:center}
  .estimate a{width:auto;min-width:250px}
  footer{padding:18px 4%;grid-template-columns:repeat(3,1fr);gap:25px}
}


/* V6 mobile refinement: prevent trust-column collisions and match approved spacing */
@media(max-width:760px){
  .trust{
    padding:22px 12px 24px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:0;
  }
  .trust-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    gap:9px;
    padding:0 10px;
    min-height:175px;
    border-right:1px solid rgba(255,255,255,.65);
    overflow:hidden;
  }
  .trust-item:nth-child(3){border-right:0}
  .round{
    width:54px;
    height:54px;
    flex:0 0 54px;
    font-size:27px;
    margin:0 auto 2px;
  }
  .trust-item>div{
    width:100%;
    min-width:0;
  }
  .trust-item b{
    font-size:clamp(11px,3.1vw,14px);
    line-height:1.05;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .trust-item small{
    font-size:clamp(10px,2.65vw,12px);
    line-height:1.35;
    margin-top:9px;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .hero-actions{
    margin-top:18px;
    gap:14px;
  }
  .hero-actions a{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1.15;
    white-space:normal;
  }

  /* Cleaner header proportions on iPhone widths */
  .site-header{
    min-height:96px;
    grid-template-columns:minmax(120px,34%) minmax(0,1fr);
  }
  .header-logo{
    max-height:82px;
  }

  /* Better hero proportions to match approved screenshot */
  .hero{
    height:455px;
  }
  .hero-copy{
    top:50px;
    width:46%;
  }
  .hero-copy h1{
    font-size:clamp(30px,7.9vw,35px);
    line-height:1.04;
  }
  .hero-copy p{
    font-size:clamp(13px,3.55vw,16px);
  }

  /* Services remain clean two-column cards */
  .services{
    padding-top:30px;
  }
  .service-grid{
    align-items:stretch;
  }
  .service{
    min-height:190px;
  }
}

/* Extra safeguard for narrow phones */
@media(max-width:390px){
  .trust-item{
    padding-left:6px;
    padding-right:6px;
    min-height:182px;
  }
  .round{
    width:50px;
    height:50px;
    flex-basis:50px;
    font-size:24px;
  }
  .trust-item b{
    font-size:11px;
  }
  .trust-item small{
    font-size:9.5px;
  }
  .hero-actions{
    gap:10px;
  }
  .hero-actions a{
    font-size:10.5px;
    padding-left:6px;
    padding-right:6px;
  }
}


/* V7 header refinement */
@media(max-width:760px){
  .header-meta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(82px,.72fr);
    align-items:center;
    column-gap:12px;
    width:100%;
    min-width:0;
  }

  .header-phone{
    min-width:0;
    justify-content:center;
    white-space:nowrap;
  }

  .header-license{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    white-space:nowrap;
    text-align:center;
  }

  .header-license .star,
  .header-meta .star{
    flex:0 0 auto;
    margin:0;
  }

  .header-license span,
  .header-license strong{
    white-space:nowrap;
  }
}

@media(max-width:430px){
  .header-meta{
    column-gap:9px;
    grid-template-columns:minmax(0,1fr) auto minmax(74px,.68fr);
  }
  .header-license{
    gap:7px;
  }
}
