
:root{--yellow:#ffd11b;--black:#050705;--green:#0b3e1f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#e9ece8;font-family:Arial,Helvetica,sans-serif;color:#111;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:auto}
.page-shell{width:1024px;max-width:100%;margin:0 auto;background:#fff;box-shadow:0 0 28px #0002}
.site-header{width:100%;background:#050705;color:#fff;position:sticky;top:0;z-index:1000}
.nav-row{height:78px;display:flex;align-items:center;padding:0 24px;gap:20px}
.brand{margin-right:auto;line-height:.75;flex:0 0 auto}
.brand strong{display:block;color:var(--yellow);font-size:27px;font-weight:1000;letter-spacing:-1px}
.brand span{display:block;color:#fff;font-size:11px;font-weight:900;margin-top:7px}
.main-nav{display:flex;align-self:stretch;gap:18px;min-width:0}
.main-nav a{display:flex;align-items:center;color:#fff;text-transform:uppercase;font-size:10px;font-weight:900;white-space:nowrap;border-bottom:3px solid transparent}
.main-nav a:first-child,.main-nav a:hover,.main-nav a:focus{color:var(--yellow);border-color:var(--yellow)}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.phone{font-size:13px;font-weight:900;white-space:nowrap}
.estimate-top{background:var(--yellow);color:#111;padding:10px 11px;border-radius:4px;font-size:9px;font-weight:1000;white-space:nowrap}
section{scroll-margin-top:88px}
.art-section{width:100%;margin:0;padding:0;border:0}
.art-section img{width:100%;margin:0;border:0}
.service-areas{width:100%;background:linear-gradient(90deg,#073318,#0d4c25);color:#fff}
.service-area-inner{min-height:190px;padding:28px 42px;display:grid;grid-template-columns:1.05fr .85fr 1.35fr;gap:26px;align-items:center}
.script{font-family:Georgia,serif;font-style:italic;font-size:26px}
.service-area-title h2{margin:0;color:var(--yellow);font-size:34px}
.counties{display:grid;gap:9px;font-size:13px}
.cities{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;font-size:12px}
.cities span:before{content:"●";color:var(--yellow);margin-right:6px}
.contact-section{width:100%;background:#0b3b1d;padding:0}
.contact-grid{width:100%;display:grid;grid-template-columns:50% 50%;gap:0;align-items:stretch}
.contact-art{background:#082c16;overflow:hidden}
.contact-art img{width:100%;height:100%;object-fit:cover;object-position:left center}
.estimate-form{background:#fff;color:#111;padding:24px 26px;min-height:100%}
.estimate-form h2{margin:0 0 18px;color:#215e20;font-size:25px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.estimate-form label{display:block;font-size:10px;font-weight:800;margin-bottom:10px}
.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;padding:11px;border:1px solid #cfd5cf;border-radius:3px;font:inherit;font-size:13px;margin-top:5px;background:#fff}
.estimate-form textarea{resize:vertical}
.estimate-form button{width:100%;border:0;background:var(--yellow);color:#111;padding:14px;border-radius:3px;font-size:13px;font-weight:1000;cursor:pointer}
.estimate-form small{display:block;text-align:center;color:#666;font-size:9px;margin-top:7px}
.honeypot{position:absolute!important;left:-9999px!important}
.site-footer{width:100%;background:#050a06;color:#fff;padding:22px 28px 10px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .7fr;gap:22px}
.footer-brand strong{display:block;color:var(--yellow);font-size:22px;line-height:.8}
.footer-brand span{display:block;font-size:10px;margin-top:7px}
.footer-grid h3{font-size:11px;margin:0 0 8px}
.footer-grid a,.footer-grid span{display:block;color:#ddd;font-size:10px;margin:5px 0}
.copyright{border-top:1px solid #ffffff22;margin-top:14px;padding-top:9px;font-size:8px;color:#aaa}
.mobile-call{display:none}

@media(max-width:860px){
  body{background:#fff;padding-bottom:58px}
  .page-shell{width:100%;box-shadow:none}
  .nav-row{height:auto;min-height:92px;padding:8px 12px 0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand action" "nav nav";gap:4px 8px}
  .brand{grid-area:brand;margin:0}
  .brand strong{font-size:18px}.brand span{font-size:9px;margin-top:5px}
  .header-actions{grid-area:action}.phone{display:none}.estimate-top{font-size:8px;padding:7px 9px}
  .main-nav{grid-area:nav;display:flex;gap:0;overflow-x:auto;height:38px;scrollbar-width:none}
  .main-nav::-webkit-scrollbar{display:none}
  .main-nav a{flex:0 0 auto;padding:0 11px;font-size:9px}
  section{scroll-margin-top:100px}
  .service-area-inner{grid-template-columns:1fr;text-align:center;padding:28px 18px;gap:16px}
  .cities{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .contact-art img{height:auto;object-fit:contain}
  .estimate-form{padding:18px 16px}
  .form-grid{grid-template-columns:1fr}
  .estimate-form input,.estimate-form select,.estimate-form textarea{font-size:16px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
  .mobile-call{display:flex;position:fixed;left:12px;right:12px;bottom:7px;height:44px;background:var(--yellow);color:#111;border-radius:999px;align-items:center;justify-content:center;font-weight:900;font-size:16px;z-index:1200;box-shadow:0 4px 14px #0004}
}

/* CONTACT SECTION PROPORTION FIX — desktop only */
@media(min-width:861px){
  .contact-section{
    background:#083818;
    padding:0;
  }

  .contact-grid{
    width:100%;
    display:grid;
    grid-template-columns:50% 50%;
    gap:0;
    align-items:stretch;
    min-height:285px;
  }

  .contact-art{
    background:#063216;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    min-height:285px;
  }

  .contact-art img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center center;
    margin:0;
  }

  .estimate-form{
    min-height:285px;
    padding:18px 22px 14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .estimate-form h2{
    font-size:23px;
    line-height:1.05;
    margin:0 0 12px;
  }

  .form-grid{
    gap:7px 10px;
  }

  .estimate-form label{
    margin-bottom:6px;
  }

  .estimate-form input,
  .estimate-form select{
    padding:8px 9px;
    margin-top:4px;
  }

  .estimate-form textarea{
    min-height:62px;
    max-height:78px;
    padding:8px 9px;
    margin-top:4px;
  }

  .estimate-form button{
    padding:11px;
    margin-top:2px;
  }

  .estimate-form small{
    margin-top:5px;
  }
}
