:root{
    --navy:#244369;
    --navy-dark:#1A3251;
    --navy-deep:#12253E;
    --green:#6FAE33;
    --green-dark:#4F8A22;
    --teal:#1F7A78;
    --paper:#F6F9F4;
    --white:#FFFFFF;
    --gray:#5C6B7A;
    --line:rgba(36,67,105,0.13);
    /* text tints used on navy backgrounds */
    --on-navy:#DCE7F2;
    --on-navy-muted:#B9CCE0;
    --on-navy-dim:#8FA9C4;
    --rule-on-navy:rgba(255,255,255,0.16);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
    color:var(--navy);background:var(--white);
    line-height:1.6;letter-spacing:-0.009em;
  }
  h1,h2,h3,h4{font-family:'Outfit',-apple-system,'Segoe UI',Helvetica,sans-serif;font-weight:700;line-height:1.14;letter-spacing:-0.022em;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  ul{list-style:none;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 22px;}

  /* brand swirl motif used as ambient background art */
  .motif{position:absolute;pointer-events:none;opacity:0.055;}

  .utility{background:var(--navy-deep);color:#D6E4F0;font-size:12.5px;padding:8px 0;text-align:center;}
  .utility .wrap{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .utility span{display:inline;}
  .utility .sep{opacity:0.45;margin:0 10px;}
  .utility b{color:var(--green);font-weight:700;}

  header.site{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;box-shadow:0 1px 10px rgba(0,0,0,0.05);}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;gap:16px;}
  .logo-img{height:42px;width:auto;}
  .hdr-right{display:flex;align-items:center;gap:16px;}
  .hdr-phone{text-align:right;line-height:1.15;}
  .hdr-phone small{display:block;font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:0.07em;}
  .hdr-phone a{font-family:'Outfit',sans-serif;font-weight:700;font-size:22px;letter-spacing:-0.02em;color:var(--navy);}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:var(--green);color:#fff;font-weight:600;font-size:15px;letter-spacing:-0.005em;
    padding:13px 24px;border-radius:6px;border:none;cursor:pointer;
    transition:background .15s ease,transform .15s ease;font-family:'Inter',sans-serif;}
  .btn:hover{background:var(--green-dark);transform:translateY(-1px);}
  .btn.outline{background:transparent;border:2px solid rgba(255,255,255,0.7);color:#fff;}
  .btn.outline:hover{background:#fff;color:var(--navy);border-color:#fff;}
  .btn.lg{font-size:17px;padding:16px 30px;}
  .btn.block{width:100%;}
  .offer-terms{font-size:12px;color:#A9BFD6;margin-top:14px;line-height:1.5;max-width:430px;}
  .offer-terms.light{color:#93AAC4;margin-top:16px;}
  .hdr-btn{font-size:14px;padding:10px 18px;line-height:1;white-space:nowrap;align-self:center;}

  /* ===== HERO — no photo, brand gradient + swirl motif ===== */
  .hero{position:relative;overflow:hidden;
    background:
      radial-gradient(ellipse at 78% 30%, rgba(31,122,120,0.55) 0%, transparent 58%),
      radial-gradient(ellipse at 12% 90%, rgba(111,174,51,0.28) 0%, transparent 55%),
      linear-gradient(150deg, var(--navy-deep) 0%, var(--navy) 55%, #1B3A5C 100%);
  }
  .hero .motif{right:-140px;top:-90px;width:640px;opacity:0.07;z-index:2;}

  /* ===== HERO PHOTO ===== */
  .hero-photo{position:absolute;inset:0;z-index:0;
    background-image:url('assets/hero-truck.jpg');
    background-size:cover;background-position:center bottom;}
  /* Navy gradient: heavy on the left so the headline reads, lighter on the
     right so the truck and the tented house show through. */
  .hero-photo::after{content:"";position:absolute;inset:0;
    background:linear-gradient(100deg,
      rgba(18,37,62,0.94) 0%,
      rgba(18,37,62,0.85) 36%,
      rgba(26,50,81,0.58) 68%,
      rgba(31,122,120,0.40) 100%);}
  @media(max-width:920px){
    .hero-photo{background-position:center bottom;}
    .hero-photo::after{background:linear-gradient(180deg,
      rgba(18,37,62,0.90) 0%, rgba(18,37,62,0.82) 55%, rgba(26,50,81,0.75) 100%);}
  }
  .hero .wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:64px;
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:46px;align-items:center;}
  .rating-pill{display:inline-flex;align-items:center;gap:9px;
    background:rgba(255,255,255,0.11);border:1px solid rgba(255,255,255,0.24);
    color:#fff;padding:7px 15px;border-radius:30px;font-size:13.5px;}
  .rating-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green);}
  .hero h1{color:#fff;font-size:clamp(33px,4.6vw,52px);margin:18px 0 16px;letter-spacing:-0.03em;}
  .hero h1 em{font-style:normal;color:var(--green);}
  .hero .lede{color:#DCE7F2;font-size:18.5px;max-width:50ch;margin-bottom:28px;}
  .hero-ctas{display:flex;gap:13px;flex-wrap:wrap;}

  .hero-form{background:#fff;color:var(--navy);border-radius:12px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,0.3);}
  .hero-form h3,.hero-form h4{color:var(--navy);}
  .badge-strip{background:var(--green);color:#fff;font-weight:700;font-size:13px;letter-spacing:0.05em;
    text-align:center;padding:9px;border-radius:6px;text-transform:uppercase;margin-bottom:16px;}
  .hero-form h3{font-size:25px;margin-bottom:4px;}
  .hero-form .sub{font-size:13.5px;color:var(--gray);margin-bottom:18px;}
  .field{margin-bottom:11px;}
  .field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;
    padding:12px 13px;font-size:15px;font-family:inherit;background:var(--paper);color:var(--navy);}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--green);border-color:transparent;}
  .field textarea{resize:vertical;min-height:66px;}
  .form-note{font-size:11.5px;color:var(--gray);text-align:center;margin-top:11px;}
  .form-success{display:none;text-align:center;padding:20px 0;}
  .form-success .check{width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px;}
  .form-success h4{font-size:22px;margin-bottom:6px;}
  .form-success p{font-size:14px;color:var(--gray);}

  /* trust bar */
  .trustbar{background:var(--navy);color:#fff;padding:24px 0;}
  .trustbar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .tb{display:flex;gap:12px;align-items:flex-start;}
  .tb svg{flex:none;margin-top:3px;}
  .tb b{display:block;font-size:14.5px;}
  .tb span{font-size:12.5px;color:#B9CCE0;}

  section{padding:74px 0;position:relative;overflow:hidden;}
  .sec-alt{background:var(--paper);}
  .sec-navy{background:var(--navy-deep);color:#fff;}
  .eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--green);margin-bottom:10px;}
  .sec-head{max-width:700px;margin-bottom:44px;}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .sec-head h2{font-size:clamp(27px,3.5vw,38px);}
  .sec-head p{color:var(--gray);margin-top:13px;font-size:16.5px;}
  .sec-navy .sec-head p,.sec-navy .sec-head h2{color:#fff;}
  .sec-navy .sec-head p{color:#B9CCE0;}
  .rule{width:60px;height:3px;background:var(--green);margin:16px 0 0;}
  .sec-head.center .rule{margin-left:auto;margin-right:auto;}

  /* ===== SERVICES — icon panels instead of photos ===== */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .svc{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
  .svc:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(36,67,105,0.12);border-color:rgba(111,174,51,0.5);}
  .svc-icon{
    height:138px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(36,67,105,0.045), rgba(111,174,51,0.10));
    border-bottom:1px solid var(--line);position:relative;
  }
  .svc-icon svg{transition:transform .18s ease;}
  .svc:hover .svc-icon svg{transform:scale(1.06);}
  .svc-icon::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--green);opacity:0;transition:opacity .16s ease;}
  .svc:hover .svc-icon::after{opacity:1;}
  .svc-body{padding:22px;}
  .svc h3{font-size:21px;margin-bottom:7px;}
  .svc p{font-size:14.5px;color:var(--gray);margin-bottom:13px;}
  .svc .tags{display:flex;gap:7px;flex-wrap:wrap;}
  .svc .tags span{background:var(--paper);border:1px solid var(--line);font-size:11.5px;
    font-weight:600;padding:4px 10px;border-radius:20px;color:var(--navy);}

  /* ===== WHY US — seal + list, no photo ===== */
  .why-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:52px;align-items:center;}
  .seal-panel{
    background:linear-gradient(150deg,var(--navy) 0%,var(--navy-deep) 100%);
    border-radius:16px;padding:44px 34px;text-align:center;color:#fff;position:relative;overflow:hidden;
  }
  .seal-panel .motif{left:-70px;bottom:-70px;width:280px;opacity:0.10;}
  .seal{
    width:150px;height:150px;border-radius:50%;background:var(--green);color:#fff;
    border:7px solid rgba(255,255,255,0.16);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    margin:0 auto 22px;font-family:'Outfit',sans-serif;font-weight:700;line-height:1;position:relative;z-index:2;
  }
  .seal .big{font-size:38px;letter-spacing:-0.03em;}
  .seal .sm{font-size:10.5px;letter-spacing:0.06em;font-family:'Inter',sans-serif;font-weight:700;margin-top:5px;}
  .seal-panel h3{font-size:24px;margin-bottom:10px;position:relative;z-index:2;}
  .seal-panel p{font-size:14.5px;color:#C4D6E8;position:relative;z-index:2;}
  .check-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;align-items:flex-start;}
  .check-list li:last-child{border-bottom:none;}
  .check-list svg{flex:none;margin-top:4px;}

  /* ===== NUMBERED STATEMENT PANELS (replaces photo splits) ===== */
  .prob-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:start;}
  .prob p{font-size:16px;color:var(--gray);margin-bottom:16px;}
  .prob strong{color:var(--navy);}
  .guarantee{background:var(--navy);color:#fff;border-radius:14px;padding:32px;border-left:6px solid var(--green);}
  .guarantee h3{font-size:24px;margin-bottom:10px;}
  .guarantee p{color:#C9DAEA;font-size:15px;margin-bottom:20px;}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
  .step .n{width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;
    display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;
    font-weight:700;font-size:24px;margin-bottom:16px;}
  .step h3{font-size:21px;margin-bottom:8px;color:#fff;}
  .step p{font-size:15px;color:#B9CCE0;}

  /* areas */
  .area-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
  .area-grid li{background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px 22px;
    text-align:center;font-size:14.5px;font-weight:600;}
  .map-ph{margin-top:26px;border-radius:12px;overflow:hidden;border:1px solid var(--line);
    box-shadow:0 4px 18px rgba(36,67,105,0.08);line-height:0;}
  .map-ph iframe{width:100%;height:400px;border:0;display:block;}

  /* final CTA */
  .cta .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:46px;align-items:center;position:relative;z-index:2;}
  .cta .motif{left:-120px;top:-80px;width:480px;opacity:0.06;}
  .cta h2{font-size:clamp(30px,4vw,42px);color:#fff;}
  .cta p{color:#C9DAEA;margin-top:14px;font-size:16.5px;}
  .cta ul{margin-top:20px;}
  .cta ul li{display:flex;gap:10px;padding:7px 0;font-size:15px;color:#DCE7F2;}
  .cta .phone-big{font-family:'Outfit',sans-serif;font-weight:700;font-size:40px;
    letter-spacing:-0.03em;color:var(--green);display:inline-block;margin-top:18px;line-height:1;}

  footer{background:var(--navy-dark);color:#C9DAEA;padding:52px 0 24px;font-size:14px;}
  .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;margin-bottom:38px;}
  footer h4{font-size:13.5px;text-transform:uppercase;letter-spacing:0.09em;color:var(--green);
    margin-bottom:14px;font-family:'Inter',sans-serif;font-weight:700;}
  footer li{padding:5px 0;}
  footer .fblurb{font-size:13.5px;color:#A9BFD4;margin:16px 0;max-width:36ch;line-height:1.6;}
  .foot-contact{font-family:'Outfit',sans-serif;font-weight:700;font-size:26px;color:#fff;letter-spacing:-0.02em;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.13);padding-top:20px;font-size:12.5px;
    color:#8FA7BF;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  .sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;
    background:var(--navy-deep);padding:9px;gap:9px;box-shadow:0 -3px 16px rgba(0,0,0,0.24);}
  .sticky-bar .btn{flex:1;font-size:15px;padding:13px 8px;}

  @media(max-width:920px){
    .hero .wrap,.why-wrap,.prob-grid,.cta .wrap{grid-template-columns:1fr;}
    .svc-grid,.steps{grid-template-columns:1fr;}
    .trustbar .wrap{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .hdr-phone small{display:none;}
    .hdr-phone a{font-size:20px;}
    .sticky-bar{display:flex;}
    body{padding-bottom:70px;}
    section{padding:54px 0;}
    .hero .motif{display:none;}
  }
  @media(max-width:560px){
    .trustbar .wrap,.foot-grid{grid-template-columns:1fr;}
    .logo-img{height:34px;}
    .hero-form{padding:22px;}
    .map-ph iframe{height:300px;}
  }