*{box-sizing:border-box}body{margin:0;font-family:"Open Sans",Arial,sans-serif;color:#232a30;line-height:1.6;background:#fff}a{color:#182333}img{max-width:100%;height:auto}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.top{background:#182333;color:#fff;font-size:14px}.top .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 20px}.top a{color:#fda12b;font-weight:700;text-decoration:none}
header{background:#fff;border-bottom:3px solid #fda12b;position:sticky;top:0;z-index:9}header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 20px}
.logo{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:24px;text-decoration:none;color:#182333}.logo{display:flex;align-items:center;gap:8px}.logo img{border-radius:4px}.logo .lt span{color:#fda12b}nav a{margin:0 9px;text-decoration:none;font-weight:600;font-size:15px}nav a:hover{color:#fda12b}
.btn{display:inline-block;background:#fda12b;color:#182333;font-weight:800;padding:12px 24px;border-radius:4px;text-decoration:none;border:0;cursor:pointer;font-size:16px;margin:4px}.btn.alt{background:#182333;color:#fff}.btn:hover{filter:brightness(.95)}
.hero{background:linear-gradient(rgba(24,35,51,.72),rgba(24,35,51,.72)),url(/img/hero.jpg) center/cover;color:#fff;text-align:center;padding:90px 0}.hero h1{font-family:Montserrat,Arial,sans-serif;font-size:44px;margin:0 0 10px;line-height:1.15}.hero p{font-size:20px}
.eyebrow{color:#fda12b;font-weight:800;text-transform:uppercase;letter-spacing:2px}section{padding:56px 0}.alt-bg{background:#eceff7}.dark{background:#232a30;color:#fff}.dark a{color:#fda12b}.dark a.btn{color:#182333}.dark a.btn.alt{color:#fff}
h2{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:1.2;color:inherit}h3{font-family:Montserrat,Arial,sans-serif;font-size:21px}.center{text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.card{background:#fff;border-top:4px solid #fda12b;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.08);color:#232a30}
.towns{columns:4 160px;list-style:none;padding:0}.towns li{padding:3px 0}ul.check{list-style:none;padding:0}ul.check li:before{content:"\2714  ";color:#fda12b}
form{background:#fff;padding:24px;border-radius:6px;max-width:560px;margin:0 auto;color:#232a30}label{display:block;font-weight:700;margin-top:10px}input,textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font:inherit}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.gal img{aspect-ratio:4/3;object-fit:cover;width:100%}blockquote{margin:0;font-style:italic}
footer{background:#182333;color:#ddd;padding:40px 0 20px;font-size:15px}footer a{color:#fda12b}.crumbs{font-size:14px;padding:10px 0}.sent{background:#d4f5d4;padding:12px;text-align:center;display:none}
.fab{position:fixed;bottom:14px;right:14px;display:flex;gap:6px;z-index:10}.hero.hf{text-align:left;padding:50px 0}.hero.hf .wrap{display:flex;gap:36px;align-items:center}.hero.hf .htxt{flex:1.2}.fcard{flex:1;background:#fff;color:#182333;border-radius:10px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.fcard h2{margin:0 0 6px;font-size:24px}.fcard p{font-size:15px;margin:0 0 8px}.fcard label{display:block;font-weight:600;font-size:14px;margin-top:6px}.fcard input,.fcard textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid #bbb;border-radius:6px;font:inherit}.fcard textarea{height:70px}@media(max-width:700px){.hero.hf{padding:22px 0}.hero.hf .wrap{display:block}.hero.hf .htxt p{font-size:16px;margin:6px 0}.hero.hf .htxt p:nth-of-type(2){display:none}.fcard{margin-top:16px;padding:16px}.hero h1{font-size:32px}nav a{margin:0 5px;font-size:14px}}.btn{max-width:100%;box-sizing:border-box}footer a{overflow-wrap:anywhere}.htxt,.fcard{min-width:0}.fcard form{max-width:100%;padding:0}#estimate{scroll-margin-top:130px}@media(max-width:700px){#estimate{scroll-margin-top:240px}}.btnrow{display:flex;gap:10px;flex-wrap:nowrap;justify-content:flex-start;margin:10px 0}.btnrow.c{justify-content:center}.btnrow .btn,.fab .btn{flex:1 1 0;max-width:220px;white-space:nowrap;margin:0;text-align:center}.fab{gap:8px}.fab .btn{min-width:84px;padding:10px 14px}.dark .btnrow .btn.alt{background:#fff;color:#182333}@media(max-width:700px){.htxt .btnrow{justify-content:center;width:100%}.htxt .btnrow .btn{max-width:none;padding:11px 12px;font-size:15px}}