
:root{--blue:#0058bb;--black:#000000;--green:#409b03;--ink:#101828;--muted:#667085;--light:#f5f8fc;--line:#e4eaf2}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}
.font-display{font-family:Space Grotesk,Inter,sans-serif}
.text-blue{color:var(--blue)} .text-green{color:var(--green)}
.bg-blue{background:var(--blue)} .bg-green{background:var(--green)} .bg-blue\\/10{background:rgba(0,88,187,.10)} .bg-green\\/10{background:rgba(64,155,3,.10)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:999px;padding:.85rem 1.25rem;font-weight:700;transition:.25s;white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 25px rgba(0,88,187,.2)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,88,187,.28)}
.btn-dark{background:#111827;color:#fff}.btn-dark:hover{transform:translateY(-2px)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{transform:translateY(-2px)}
.btn-outline{border:1px solid #cbd5e1;color:#111827;background:#fff}.btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.nav-link{position:relative;color:#344054;font-weight:600}.nav-link:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--blue);transition:.25s}.nav-link:hover:after,.nav-link.active:after{width:100%}
.grid-pattern{background-image:linear-gradient(rgba(0,88,187,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,88,187,.055) 1px,transparent 1px);background-size:34px 34px}
.dot-pattern{background-image:radial-gradient(circle at 1px 1px,rgba(64,155,3,.14) 1.2px,transparent 1.5px);background-size:22px 22px}
.hero-glow{background:radial-gradient(circle at 85% 20%,rgba(64,155,3,.20),transparent 27%),radial-gradient(circle at 15% 85%,rgba(0,88,187,.15),transparent 28%),linear-gradient(135deg,#f7fbff,#fff)}
.pest-orb{position:absolute;border-radius:999px;filter:blur(1px);opacity:.7;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px rgba(16,24,40,.06)}
.card-hover{transition:.3s}.card-hover:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(16,24,40,.11);border-color:rgba(0,88,187,.2)}
.service-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(0,88,187,.09);color:var(--blue)}
.service-icon.green{background:rgba(64,155,3,.11);color:var(--green)}
.section-kicker{display:inline-flex;align-items:center;gap:.5rem;color:var(--blue);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}
.section-kicker:before{content:"";width:28px;height:2px;background:var(--green)}
.page-hero{background:linear-gradient(135deg,#f6faff 0%,#fff 55%,#f5faef 100%);position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-90px;top:-100px;width:320px;height:320px;border-radius:50%;background:rgba(64,155,3,.08)}
.logo-strip{display:flex;gap:1rem;animation:marquee 24s linear infinite}
.logo-strip:hover{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.client-logo{height:170px;min-width:170px;padding:0 5px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;color:#667085;letter-spacing:.04em}
.client-logo img{width: 100%;max-width: 100%;}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.faq-answer>div{overflow:hidden}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-plus{transform:rotate(45deg)}
.faq-plus{transition:.25s}
.service-bg{background:linear-gradient(135deg,#fff,#f7fbff);position:relative;overflow:hidden}.service-bg:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(0,88,187,.06);right:-100px;top:-80px}
.footer-pattern{background-color:#07101d;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px}
.form-input{width:100%;border:1px solid #d0d5dd;border-radius:14px;padding:.9rem 1rem;outline:none;transition:.2s;background:#fff}.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,88,187,.09)}
.sticky-call{position:fixed;right:20px;bottom:20px;z-index:50;box-shadow:0 12px 30px rgba(0,0,0,.2)}
@media(max-width:767px){.sticky-call{right:12px;bottom:12px}.btn{padding:.78rem 1.05rem}.client-logo{min-width:145px}.logo-strip{animation-duration:20s}}


/* Requested additions: video hero + service card photography */
.hero-video { min-height: 620px; background: #0b1220; }
.hero-video-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-video-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 48%, rgba(0,0,0,.28) 100%), linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,.05)); }
.service-card-image-wrap { width:100%; height:190px; border-radius:1.25rem; overflow:hidden; background:#f1f5f9; }
.service-card-image { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.card-hover:hover .service-card-image { transform:scale(1.045); }
@media (max-width: 767px) {
 .hero-video, .hero-video-media { min-height: 620px; }
 .service-card-image-wrap { height:180px; }
}

/* Pest-control pattern + hero system */
.pest-pattern{position:relative;overflow:hidden;background:#f7fbf5;background-image:linear-gradient(rgba(255,255,255,.76),rgba(255,255,255,.76)),url('pest-pattern.png');background-size:auto,520px auto;background-repeat:repeat;}
.pest-pattern > *{position:relative;z-index:1}
.hero-video{min-height:680px;background:#08111f;isolation:isolate}
.hero-video-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.hero-video-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,12,25,.86) 0%,rgba(4,12,25,.68) 44%,rgba(4,12,25,.38) 100%),linear-gradient(0deg,rgba(4,12,25,.55),rgba(4,12,25,.12))}
.hero-card{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.75);box-shadow:0 30px 80px rgba(0,0,0,.24);border-radius:30px}
.hero-card-icon{width:86px;height:86px;border-radius:999px;background:#060a1b;color:#fff;display:grid;place-items:center;box-shadow:0 15px 30px rgba(0,0,0,.18)}
.hero-step{background:#f7f9fc;border-radius:18px;padding:13px 8px;text-align:center}
.license-card{border:1px solid rgba(64,155,3,.5);border-radius:22px;background:#fff;box-shadow:0 15px 40px rgba(16,24,40,.05)}
.license-badge{width:70px;height:70px;border-radius:18px;background:rgba(0,88,187,.08);color:var(--blue);display:grid;place-items:center;font-size:1.8rem}
.license-modal{position:fixed;inset:0;z-index:100;background:rgba(2,8,23,.72);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}
.license-modal.hidden{display:none}
.license-document{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.license-document-header{background:linear-gradient(135deg,#f7fbff,#f6faef);border-bottom:1px solid #e5e7eb}
.license-document-body{background:#fff}
@media(max-width:767px){.hero-video{min-height:760px}.hero-card{border-radius:24px}.hero-card-icon{width:72px;height:72px}.pest-pattern{background-size:auto,360px auto}}
