*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:#fff;color:#000;min-width:320px}a{text-decoration:none;color:inherit}img{display:block}ul{list-style:none}
#site-header{background:#fff;position:sticky;top:0;z-index:9999;width:100%;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.hdr-top{max-width:980px;margin:0 auto;padding:16px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;position:relative}
.hdr-logo{cursor:pointer;display:flex;flex-direction:column;gap:2px}.hdr-logo-name{font-size:28px;font-weight:700;line-height:1.15;color:#000}.hdr-logo-tag{font-size:13px;color:#000;line-height:1.4}
.hdr-right{display:flex;flex-direction:column;align-items:flex-end;padding-top:50px}.hdr-free{font-size:11px;font-weight:900;line-height:1.05;letter-spacing:.04em;color:#d60000;border:2px solid #d60000;padding:5px 8px;border-radius:6px;background:#fff;transform:rotate(-15deg);transform-origin:right top;box-shadow:0 2px 4px rgba(0,0,0,.12);display:inline-block;text-align:center;position:absolute;right:24px;top:16px;margin:0}.hdr-phone{font-size:14px;line-height:1.6}.hdr-phone a:hover{text-decoration:underline}
.hdr-nav{border-top:1px solid #e8e8e8;margin-top:10px}.hdr-nav ul{max-width:980px;margin:0 auto;padding:0 14px;display:flex}.hdr-nav ul li a{display:block;padding:13px 15px 10px;font-size:14px;font-weight:400;color:#000;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:border-color .15s}.hdr-nav ul li a:hover,.hdr-nav ul li a.active{border-bottom-color:#000}
.breadcrumb{max-width:980px;margin:0 auto;padding:10px 24px 0;font-size:13px;color:#666}
.breadcrumb a{color:#666;cursor:pointer}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:#999}
.home-hero{width:100%;background:#fff;overflow:hidden;line-height:0;text-align:center}.home-hero img{width:100%;max-width:980px;height:459px;object-fit:cover;margin:0 auto}
.home-services{max-width:980px;margin:0 auto;padding:50px 40px 44px;text-align:center}.home-services h1{font-size:20px;font-weight:700;margin-bottom:20px;line-height:1.3}.home-services h1 a{cursor:pointer}.home-services h1 a:hover{text-decoration:underline}.home-services p{font-size:15px;line-height:1.9;color:#000;max-width:760px;margin:0 auto 12px}
.local-seo{max-width:980px;margin:0 auto;padding:0 40px 44px;text-align:center}.local-seo h2{font-size:20px;font-weight:700;margin-bottom:14px;line-height:1.35}.local-seo p{font-size:15px;line-height:1.9;max-width:760px;margin:0 auto 12px}
.home-cta{background:#F7F7F7;border-top:1px solid #e8e8e8;padding:50px 24px;text-align:center}.home-cta h2{font-size:20px;font-weight:700;margin-bottom:8px;line-height:1.35}.home-cta h3{font-size:15px;font-weight:400;margin-bottom:18px;line-height:1.4}.home-cta .cta-link{font-size:22px;font-weight:400;color:#000}.home-cta .cta-link:hover{text-decoration:underline}
.svc-intro{max-width:980px;margin:0 auto;padding:40px 40px 0;text-align:center}.svc-intro h1{font-size:28px;font-weight:700;margin-bottom:18px}.svc-intro p{font-size:15px;line-height:1.9;max-width:700px;margin:0 auto 22px}.btn-touch{display:inline-block;padding:9px 26px;border:2px solid #000;font-size:14px;font-weight:700;color:#000;background:#fff;cursor:pointer;letter-spacing:.03em;transition:background .15s,color .15s;margin-bottom:8px}.btn-touch:hover{background:#000;color:#fff}
.svc-item{max-width:980px;margin:0 auto;padding:0 40px 44px}.svc-item h2{font-size:20px;font-weight:700;margin-bottom:20px;line-height:1.35}.svc-row{display:flex;gap:28px;align-items:flex-start}.svc-row.flip{flex-direction:row-reverse}.svc-img{flex-shrink:0;line-height:0}.svc-text p{font-size:15px;line-height:1.9;margin-bottom:10px}
.review-card{border:1px solid #e0e0e0;padding:20px;margin:0 0 18px;background:#fff} .review-note{ font-size:14px; color:#444; line-height:1.7; margin-bottom:22px;}
.clickable-review{ display:block; color:#000; text-decoration:none;}
.clickable-review:hover{ border-color:#000; box-shadow:0 2px 10px rgba(0,0,0,.08);}
.review-topline{ display:flex; align-items:center; gap:12px; margin-bottom:12px;}
.review-avatar{ width:42px; height:42px; border-radius:50%; border:1px solid #d0d0d0; background:#f7f7f7; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;}
.review-name{ font-size:15px; font-weight:700; line-height:1.3;}
.review-meta{ font-size:12px; color:#555; line-height:1.4;}
.review-stars span{ font-size:13px; font-weight:400; color:#555;}
.review-actions{ margin-top:14px; font-size:13px; font-weight:700; text-decoration:underline;}
.google-review-card{ background:#fbfbfb;}
.review-stars{font-size:16px;font-weight:700;margin-bottom:8px;letter-spacing:.03em}.review-source{font-size:13px;color:#555;margin-top:8px}
.proj-banner{width:100%;background:#fff;line-height:0;text-align:center}.proj-banner img{width:980px;max-width:100%;height:352px;object-fit:cover;margin:0 auto}.proj-wrap{max-width:980px;margin:0 auto;padding:44px 40px 60px}.proj-wrap>h1{font-size:28px;font-weight:700;margin-bottom:36px}.proj-entry{margin-bottom:44px}.proj-entry h2{font-size:20px;font-weight:700;margin-bottom:12px;line-height:1.35}.proj-entry p{font-size:15px;line-height:1.9;margin-bottom:14px}.proj-entry img{width:358px;height:212px;object-fit:cover}
.contact-wrap,.book-wrap{max-width:980px;margin:0 auto;padding:44px 40px 60px}.contact-wrap h1,.book-wrap h1{font-size:28px;font-weight:700;margin-bottom:20px}.contact-info,.book-wrap>p{font-size:15px;line-height:1.9;margin-bottom:4px}.contact-info a:hover{text-decoration:underline}
.wix-form{margin-top:28px;max-width:480px}.wix-form .field{margin-bottom:14px}.wix-form label{display:block;font-size:14px;color:#000;margin-bottom:5px}.wix-form input[type=text],.wix-form input[type=email],.wix-form textarea{width:100%;padding:9px 11px;border:1px solid #919191;background:#fff;font-size:14px;font-family:inherit;color:#000;border-radius:0;outline:none;transition:border-color .15s;-webkit-appearance:none}.wix-form input:focus,.wix-form textarea:focus{border-color:#000}.wix-form textarea{height:120px;resize:vertical}.wix-form .submit-btn{display:inline-block;padding:9px 28px;border:2px solid #000;background:#fff;font-size:14px;font-weight:700;font-family:inherit;color:#000;cursor:pointer;letter-spacing:.03em;transition:background .15s,color .15s}.wix-form .submit-btn:hover{background:#000;color:#fff}
#site-footer{background:#fff;border-top:1px solid #e8e8e8;padding:36px 24px 28px}.ftr-inner{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.ftr-logo{display:flex;justify-content:center;}.ftr-phone{font-size:15px;line-height:1.6}.ftr-phone a:hover{text-decoration:underline}.ftr-copy{font-size:13px;color:#000}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} .google-rating-summary{ border:1px solid #e0e0e0; background:#fff; padding:26px 24px; margin:0 0 26px; text-align:left;}
.rating-row{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:18px;}
.rating-number{ font-size:52px; font-weight:400; line-height:1;}
.rating-stars-large{ font-size:28px; letter-spacing:.03em; color:#fbbc04; line-height:1;}
.rating-label{ font-size:14px; color:#555; margin-top:6px;}
.ai-review-summary{ border-top:1px solid #eeeeee; padding-top:18px;}
.ai-review-summary h2{ font-size:20px; margin:0 0 12px;}
.ai-review-summary p{ font-size:15px; line-height:1.9; margin-bottom:10px;}
.summary-points{ list-style:disc; margin:8px 0 0 24px;}
.summary-points li{ font-size:15px; line-height:1.8; margin-bottom:4px;} .book-form{ margin-top:28px; max-width:560px;}
.book-form .field{ margin-bottom:14px;}
.book-form label{ display:block; font-size:14px; color:#000; margin-bottom:5px;}
.book-form input[type=text],
.book-form input[type=email],
.book-form input[type=tel],
.book-form input[type=date],
.book-form input[type=time],
.book-form select,
.book-form textarea{ width:100%; padding:9px 11px; border:1px solid #919191; background:#fff; font-size:14px; font-family:inherit; color:#000; border-radius:0; outline:none; transition:border-color .15s; -webkit-appearance:none;}
.book-form input:focus,
.book-form select:focus,
.book-form textarea:focus{ border-color:#000;}
.book-form textarea{ height:120px; resize:vertical;}
.book-form .submit-btn{ display:inline-block; padding:9px 28px; border:2px solid #000; background:#fff; font-size:14px; font-weight:700; font-family:inherit; color:#000; cursor:pointer; letter-spacing:.03em; transition:background .15s,color .15s;}
.book-form .submit-btn:hover{ background:#000; color:#fff;}
.form-note{ font-size:13px; line-height:1.7; color:#555; margin-top:12px;}
.required-note{ font-size:13px; color:#555; margin-bottom:18px;} .areas-list{ max-width:760px; margin:18px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px 18px; text-align:left; list-style:none;}
.areas-list li{ font-size:15px; line-height:1.6; border-bottom:1px solid #eeeeee; padding-bottom:4px;}
@media(max-width:720px){ .areas-list{grid-template-columns:repeat(2,1fr)}
} @media(max-width:720px){.hdr-top{flex-direction:row;align-items:center;padding:16px 20px 10px;position:relative;justify-content:space-between}.hdr-right{align-items:flex-end;padding-top:42px}.hdr-nav ul{flex-wrap:wrap}.hdr-nav ul li a{padding:10px 10px 8px;font-size:13px}.home-hero img,.proj-banner img{height:auto}.hdr-logo img{max-width:180px!important;width:auto!important}.hdr-free{right:20px;top:15px}.svc-row,.svc-row.flip{flex-direction:column}.svc-img img{width:100%!important;height:auto!important}.proj-entry img{width:100%;height:auto}.home-services,.local-seo,.svc-intro,.svc-item,.qa-wrap,.proj-wrap,.contact-wrap,.book-wrap{padding-left:20px;padding-right:20px}}
.hdr-logo img{max-width:240px !important;height:auto;display:block;}

/* Q&A Navigation Styles */
.qa-nav-container {
  background: #fdfdfd;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 40px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.qa-nav-title {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin-bottom: 16px;
  border-bottom: 2px solid #000;
  padding-bottom: 8px;
}
.qa-questions-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.qa-nav-btn {
  display: block;
  text-align: left;
  background: #fff;
  border: 1px solid #dcdcdc;
  color: #000;
  padding: 12px 16px;
  font-size: 14px;
  font-family: inherit;
  font-weight: 500;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.2s ease;
  width: 100%;
}
.qa-nav-btn:hover {
  background: #000;
  color: #fff;
  border-color: #000;
  padding-left: 20px;
}
.qa-item {
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 28px;
  margin-bottom: 28px;
  scroll-margin-top: 120px; /* Offset to keep question visible below sticky header */
}
.qa-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.qa-item h2 {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  margin-bottom: 12px;
  line-height: 1.35;
}
.qa-item p {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}

/* Floating Back to Top Button */
#scroll-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 999;
  background: #000;
  color: #fff;
  border: 2px solid #000;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.18);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
#scroll-top.show {
  opacity: 1;
  visibility: visible;
}
#scroll-top:hover {
  background: #fff;
  color: #000;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}