
:root{
  --navy:#082f5c;--navy2:#051f3e;--blue:#0d4b86;--green:#2e7d32;
  --ink:#162536;--muted:#607080;--line:#dce4e8;--soft:#f4f7f6;--white:#fff;
  --shadow:0 18px 50px rgba(11,37,61,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #edf1f3}
.nav-wrap{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.03em;color:var(--navy)}.brand-mark{width:40px;height:40px}.brand-mark svg{width:100%;height:100%}
.desktop-nav{display:flex;gap:26px;margin-left:auto;font-weight:700;font-size:.92rem}.desktop-nav a:hover,.text-link:hover,.text-btn:hover{color:var(--blue)}
.nav-actions{display:flex;align-items:center;gap:14px}.phone{font-weight:800;color:var(--navy)}.menu-btn{display:none;border:0;background:none;font-size:1.5rem}.mobile-menu{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--navy);color:#fff;padding:14px 20px;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);background:#0b3b70}.btn-small{padding:11px 15px;font-size:.88rem}.btn-green{background:var(--green);width:100%}.btn-green:hover{background:#25692a}
.hero{background:linear-gradient(135deg,#f4f7f5,#eaf1ee);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:650px}.hero-copy{padding:70px 48px 54px 0;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--green);font-size:.78rem;margin:0 0 12px}.hero h1,.section-heading h2,.about-grid h2,.offer-grid h2,.faq-grid h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;margin:0;color:var(--navy)}.lede{font-size:1.12rem;color:#40505e;max-width:620px;margin:22px 0 26px}
.lead-card{background:#fff;max-width:500px;padding:22px;border-radius:18px;box-shadow:var(--shadow);border:1px solid #e6ece9}.lead-card h2{margin:0 0 8px;color:var(--navy);font-size:1.15rem;text-align:center}.lead-card label,.full-form label,.modal-card label{font-size:.8rem;font-weight:800;color:#40505f;display:block;margin:7px 0 4px}.lead-card input,.full-form input,.full-form textarea,.modal-card input{width:100%;border:1px solid #ccd7dc;border-radius:10px;padding:13px 14px;background:#fff}.lead-card input:focus,.full-form input:focus,.full-form textarea:focus,.modal-card input:focus{outline:3px solid rgba(13,75,134,.12);border-color:var(--blue)}.form-note{font-size:.74rem;text-align:center;color:#788692;margin:8px 0 0}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:22px;font-size:.9rem;font-weight:700;color:#34495a}
.hero-photo{position:relative;min-height:650px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,247,245,.42),transparent 34%);z-index:1}.trust-badge{position:absolute;right:26px;bottom:26px;z-index:2;background:rgba(255,255,255,.94);padding:18px;border-radius:16px;width:260px;box-shadow:var(--shadow)}.trust-badge strong{display:block;color:var(--navy);font-size:1.1rem}.trust-badge span{font-size:.84rem;color:var(--muted)}
.proof-strip{border-bottom:1px solid #edf0f1;background:#fff}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.proof-grid>div{padding:26px;border-right:1px solid #edf0f1}.proof-grid>div:last-child{border-right:0}.proof-grid strong{display:block;color:var(--navy);font-size:1.05rem}.proof-grid span{display:block;color:var(--muted);font-size:.86rem;margin-top:5px}
.section{padding:82px 0}.section-heading{max-width:820px;margin-bottom:34px}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2,.about-grid h2,.offer-grid h2,.faq-grid h2{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.04}.section-heading p:last-child{color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(12,35,55,.07)}.project-copy{padding:18px}.project-copy h3{margin:0;color:var(--navy);font-size:1.22rem}.project-copy p{color:var(--muted);min-height:50px}.text-btn{border:0;background:none;padding:0;font-weight:800;color:var(--navy);cursor:pointer}
.compare{position:relative;height:250px;overflow:hidden;touch-action:none;background:#ddd}.compare-after,.compare-before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before-wrap{position:absolute;inset:0;width:50%;overflow:hidden}.compare-before{width:100%;height:100%;object-fit:cover;max-width:none}.compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.compare-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;border:2px solid #fff;background:var(--navy);color:#fff;font-weight:800;cursor:ew-resize}.tag{position:absolute;top:10px;background:rgba(8,47,92,.9);color:#fff;padding:5px 8px;border-radius:7px;font-size:.65rem;font-weight:800;text-transform:uppercase}.tag-before{left:10px}.tag-after{right:10px}
.process{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.light h2,.process .eyebrow{color:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step{text-align:center}.step>span{display:grid;place-items:center;margin:0 auto 14px;width:54px;height:54px;border-radius:50%;background:#fff;color:var(--navy);font-weight:900;font-size:1.2rem}.step h3{margin:0 0 7px}.step p{color:#d9e4ed;font-size:.9rem}
.about-home{background:var(--soft)}.about-grid,.offer-grid,.faq-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:start}.about-grid p{color:var(--muted)}.why-card{background:#fff;padding:30px;border-radius:20px;box-shadow:var(--shadow)}.why-card h3{margin-top:0;color:var(--navy)}.why-card li{margin:10px 0}.license{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;color:var(--muted);font-size:.85rem}.text-link{font-weight:800;color:var(--navy)}
.offer-section{background:#fff}.offer-grid>div:first-child p:last-child{font-size:1.1rem}.full-form{padding:28px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.full-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full-form textarea{resize:vertical}.full-form .btn{width:100%;margin-top:10px}.consent{display:flex!important;gap:10px;align-items:flex-start;margin:12px 0!important;font-weight:400!important}.consent input{width:18px!important;height:18px;margin-top:2px}.consent span{font-size:.76rem;color:var(--muted)}.form-status{margin-top:10px;font-size:.85rem}.form-status.success{color:#176b2c}.form-status.error{color:#a02a2a}
.faq{background:#f8faf9}.faq-grid{grid-template-columns:.55fr 1fr}.accordion details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px}.accordion summary{cursor:pointer;font-weight:800;color:var(--navy)}.accordion p{color:var(--muted)}
footer{background:var(--navy2);color:#fff;padding:56px 0 30px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:35px}.footer-grid>div{display:flex;flex-direction:column;gap:8px}.footer-grid p,.footer-grid a{color:#c9d7e4;font-size:.86rem}.footer-grid strong{margin-bottom:5px}.footer-brand{color:#fff}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;color:#9fb2c4;font-size:.72rem;display:flex;gap:30px;justify-content:space-between}.legal p{max-width:880px;margin:0}
.mobile-call{display:none}
.modal,.gallery-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open,.gallery-modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(3,19,36,.72)}.modal-card,.gallery-card{position:relative;z-index:1;background:#fff;border-radius:20px;padding:28px;width:min(520px,100%);max-height:90vh;overflow:auto;box-shadow:0 28px 80px rgba(0,0,0,.25)}.gallery-card{width:min(980px,100%)}.modal-card h2,.gallery-card h2{color:var(--navy);margin:0 0 12px}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:1.7rem;cursor:pointer}.gallery-content{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery-pair{border:1px solid var(--line);border-radius:14px;overflow:hidden}.gallery-pair .pair-label{padding:10px 12px;font-weight:800;color:var(--navy)}.gallery-pair .pair-images{display:grid;grid-template-columns:1fr 1fr}.gallery-pair img{width:100%;height:220px;object-fit:cover}
@media(max-width:980px){
  .desktop-nav,.nav-actions{display:none}.menu-btn{display:block;margin-left:auto}.mobile-menu.open{display:flex;flex-direction:column;padding:12px 20px 18px;background:#fff;border-top:1px solid var(--line);gap:12px}
  .hero-grid,.about-grid,.offer-grid,.faq-grid{grid-template-columns:1fr}.hero-copy{padding:54px 0 34px}.hero-photo{min-height:520px}.project-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.proof-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.legal{flex-direction:column}.gallery-content{grid-template-columns:1fr}
}
@media(max-width:640px){
  .shell{width:min(100% - 28px,1180px)}.site-header{position:sticky}.nav-wrap{height:68px}.brand{font-size:1.05rem}.brand-mark{width:34px;height:34px}
  .hero-grid{min-height:0}.hero-copy{padding-top:42px}.hero h1{font-size:2.75rem}.hero-photo{min-height:440px}.trust-badge{right:14px;bottom:14px;width:230px}
  .benefits{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr}.proof-grid>div{border-right:0;border-bottom:1px solid #edf0f1;padding:20px 0}.section{padding:62px 0}.compare{height:230px}
  .steps{grid-template-columns:1fr}.full-form .two{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.legal{padding-bottom:64px}.mobile-call{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line)}.mobile-call a{padding:14px;text-align:center;font-weight:800;color:var(--navy)}.mobile-call a:last-child{background:var(--navy);color:#fff}
  .gallery-pair .pair-images{grid-template-columns:1fr}.gallery-pair img{height:240px}
}

/* Bot honeypot: intentionally invisible to human visitors. */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Google Places address autocomplete dropdown */
.pac-container{
  z-index:10000!important;
  border-radius:10px;
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(11,37,61,.15);
  font-family:Arial,Helvetica,sans-serif;
  overflow:hidden;
}
.pac-item{
  padding:10px 12px;
  cursor:pointer;
  font-size:.9rem;
}
.pac-item:hover{background:#f4f7f6}
.pac-item-query{font-size:.9rem;color:var(--navy)}
