/* Viper Home Services | production-ready static SEO site */
:root{--navy:#071c51;--navy-dark:#06152e;--navy-soft:#112c68;--red:#df0713;--red-dark:#c50913;--ink:#142238;--slate:#526477;--line:#dde5ee;--paper:#f5f8fc;--white:#fff;--radius:18px;--shadow:0 20px 60px rgba(9,27,63,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:#fff;color:var(--ink)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(2.45rem,4.8vw,4.85rem)}h2{font-size:clamp(2rem,3.4vw,3rem)}h3{font-size:1.27rem}p{color:var(--slate)}ul{padding-left:1.4rem}li+li{margin-top:.36rem}.wrap{max-width:1210px;padding:0 24px;margin:auto}.skip{position:absolute;top:-100px;left:12px;background:#fff;color:var(--navy);padding:10px;z-index:99}.skip:focus{top:10px}.eyebrow{color:var(--red);font-size:.8rem;letter-spacing:.135em;text-transform:uppercase;font-weight:850}.pill{display:inline-flex;gap:8px;align-items:center;font-size:.85rem;border:1px solid #cedbe9;border-radius:100px;padding:6px 12px;background:#fff;font-weight:700;color:#3a4c65}.pill::before{content:'•';color:var(--red);font-size:18px}.site-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:94px;display:flex;align-items:center;gap:16px}.brand{display:block;flex:0 0 auto;width:225px}.brand img{display:block;width:100%;height:auto}.nav{margin-left:auto;display:flex;align-items:center;gap:19px}.nav a{font-weight:750;color:var(--navy);font-size:.91rem}.nav a:hover,.nav a[aria-current="page"]{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;font-weight:800;font-size:.98rem;min-height:48px;padding:11px 19px;text-align:center;line-height:1.25;transition:transform .15s,background .15s,color .15s}.btn:hover{transform:translateY(-1px)}.btn-red{color:#fff;background:var(--red)}.btn-red:hover{background:var(--red-dark)}.btn-light{color:var(--navy);background:#fff;border-color:#d8e2ec}.btn-dark{color:#fff;background:var(--navy)}.header-call{min-height:42px;padding:9px 12px;font-size:.87rem;white-space:nowrap}.mobile-nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 12px;font-size:20px;color:var(--navy)}.mobile-menu{display:none;border-top:1px solid var(--line);padding:10px 24px 16px}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-weight:750;color:var(--navy)}
.hero{background:linear-gradient(126deg,#f3f7fc 0%,#fff 45%,#f3f7fc 100%);position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:auto -8% -42% auto;width:680px;height:680px;border:86px solid rgba(5,30,93,.035);border-radius:50%;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.07fr .93fr;gap:64px;align-items:center;padding:98px 0 92px}.hero h1{color:var(--navy-dark);margin:20px 0 22px}.hero h1 em{font-style:normal;color:var(--red)}.hero p{font-size:1.12rem;line-height:1.68;max-width:640px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;font-size:.91rem;font-weight:700;color:#345275}.hero-meta span:before{content:'✓';color:var(--red);margin-right:8px}.hero-board{padding:35px;background:var(--navy-dark);border-radius:24px;color:white;box-shadow:var(--shadow);position:relative;isolation:isolate}.hero-board:after{content:'';position:absolute;z-index:-1;width:205px;height:205px;right:-28px;top:-25px;border:37px solid rgba(255,255,255,.035);border-radius:100%}.hero-board .eyebrow{color:#ff6d78}.hero-board h2{font-size:1.8rem;color:#fff;margin:11px 0 18px}.hero-board p{color:#c5d3e5;font-size:.94rem}.quick-links{display:grid;gap:8px}.quick-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(255,255,255,.08);padding:13px 14px;border:1px solid rgba(255,255,255,.11);border-radius:9px;color:white;font-weight:750;font-size:.96rem}.quick-links a:hover{background:rgba(255,255,255,.16)}.quick-links span{color:#ff8690}.trust-strip{background:var(--navy);color:white}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:25px 20px;border-right:1px solid rgba(255,255,255,.13)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:1rem}.trust-item small{color:#b7c4db}.section{padding:88px 0}.section.muted{background:var(--paper)}.section-heading{max-width:760px;margin-bottom:35px}.section-heading h2{color:var(--navy-dark);margin-top:12px;margin-bottom:12px}.section-heading p{font-size:1.07rem}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{display:flex;flex-direction:column;padding:29px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 14px rgba(8,28,71,.035);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,28,71,.1)}.service-card .mini{color:var(--red);font-size:.77rem;font-weight:900;letter-spacing:.1em}.service-card h3{color:var(--navy);margin:13px 0}.service-card p{font-size:.94rem;flex:1}.service-card a{color:var(--red);font-weight:850;margin-top:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.check-panel{background:#fff;border:1px solid var(--line);padding:30px;border-radius:20px;box-shadow:0 12px 24px rgba(8,28,71,.06)}.check-panel li::marker{color:var(--red)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}.step{padding:25px;background:#fff;border:1px solid var(--line);border-radius:15px}.step .num{display:inline-grid;place-items:center;background:var(--navy);color:#fff;width:36px;height:36px;border-radius:9px;font-weight:900;margin-bottom:17px}.step h3{color:var(--navy)}.step p{font-size:.94rem;margin-bottom:0}.cta-banner{background:linear-gradient(105deg,#06152f,#0c2b66);color:#fff}.cta-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:46px;padding-bottom:46px}.cta-banner h2{color:white;margin:0 0 8px}.cta-banner p{color:#bccce3;margin-bottom:0}.cta-banner .btn{white-space:nowrap}.site-footer{background:#051020;color:white}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px;padding-top:55px;padding-bottom:45px}.footer-logo{max-width:220px;background:white;padding:10px;border-radius:12px;display:block}.site-footer h3{color:white;font-size:1rem;margin:3px 0 18px}.site-footer p,.site-footer a,.footer-bottom{color:#b4c1d4;font-size:.9rem}.footer-list{list-style:none;margin:0;padding:0}.footer-list li{margin-bottom:8px}.footer-list a:hover{color:white}.footer-bottom{border-top:1px solid #20314c;padding:15px 0}.footer-bottom .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px}.mobile-action-bar{display:none}.page-hero{background:linear-gradient(110deg,#071d4b,#0b2965);padding:74px 0 76px;color:#fff;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:370px;height:370px;border:67px solid rgba(255,255,255,.045);border-radius:50%;right:-150px;top:-130px}.breadcrumb{font-size:.81rem;color:#c6d6ec;margin-bottom:23px}.breadcrumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}.page-hero h1{max-width:850px;font-size:clamp(2.55rem,4.2vw,4.1rem);color:white}.page-hero .lead{max-width:780px;color:#d4e0ef;font-size:1.1rem}.page-content{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:50px;align-items:start}.content-body h2{color:var(--navy);margin:24px 0 20px}.content-body h2:first-child{margin-top:0}.content-body p{font-size:1.03rem}.content-body .check-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0;list-style:none}.content-body .check-list li{background:#f2f6fb;padding:14px 16px;border-left:3px solid var(--red);font-weight:720;color:#263b55;border-radius:4px}.content-body .check-list li:before{content:'✓';color:var(--red);margin-right:10px}.side-card{position:sticky;top:112px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:25px}.side-card h3{color:var(--navy);margin-bottom:10px}.side-card .btn{display:flex;margin-top:10px}.side-card small{display:block;color:var(--slate);margin-top:15px}.process-list{display:grid;gap:14px}.process-item{display:grid;grid-template-columns:48px 1fr;gap:14px;background:#fff;border:1px solid var(--line);padding:20px;border-radius:13px}.process-item b{background:var(--navy);color:#fff;border-radius:8px;width:38px;height:38px;display:grid;place-items:center}.process-item h3{margin-bottom:8px;color:var(--navy)}.process-item p{margin-bottom:0}.faqs{margin-top:25px}.faqs details{padding:19px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px}.faqs summary{font-weight:820;color:var(--navy);cursor:pointer}.faqs details p{margin:12px 0 0;font-size:.96rem}.inline-card{padding:25px;background:#f6f9fd;border:1px solid var(--line);border-radius:16px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}.contact-points{display:grid;gap:12px;margin-top:24px}.contact-point{padding:19px;background:#f6f9fd;border:1px solid var(--line);border-radius:12px}.contact-point strong{display:block;color:var(--navy);font-size:1.1rem}.contact-point small{display:block;color:var(--slate);text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;font-weight:850}.contact-form{border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);background:#fff}.contact-form h2{font-size:1.65rem;color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{font-weight:750;font-size:.88rem;display:block;margin-bottom:13px;color:var(--navy)}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;border:1px solid #bfcbdb;border-radius:9px;padding:12px;color:var(--ink);background:white;margin-top:6px;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:3px solid #e9eff8;border-color:var(--navy)}.note{font-size:.82rem;color:#5d6d83}.note strong{color:var(--navy)}
@media(max-width:1110px){.brand{width:190px}.nav{gap:12px}.nav a{font-size:.83rem}.header-call{font-size:.81rem;padding:9px 10px}.hero-grid{gap:30px}}
@media(max-width:890px){.header-inner{height:77px}.brand{width:175px}.nav,.header-call{display:none}.mobile-nav-toggle{display:block}.mobile-menu.open{display:block}.hero-grid,.split,.contact-grid{grid-template-columns:1fr;gap:34px}.hero-grid{padding:64px 0}.hero-board{max-width:680px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-content{grid-template-columns:1fr}.side-card{position:static;max-width:520px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}}
@media(max-width:600px){.wrap{padding:0 18px}.section{padding:58px 0}.hero-grid{padding:54px 0}.hero h1{font-size:2.55rem}.hero p{font-size:1rem}.hero-actions .btn{width:100%}.hero-board{padding:24px}.trust-grid,.service-grid,.steps,.footer-grid,.form-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding:18px}.trust-item:last-child{border-bottom:0}.cta-banner .wrap{flex-direction:column;align-items:flex-start}.cta-banner .btn{width:100%}.footer-grid{padding-top:44px}.footer-bottom .wrap{flex-direction:column;align-items:flex-start}.content-body .check-list{grid-template-columns:1fr}.page-hero{padding:58px 0}.mobile-action-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;bottom:0;right:0;z-index:85;background:white;border-top:1px solid var(--line);box-shadow:0 -5px 24px rgba(0,0,0,.12)}.mobile-action-bar a{text-align:center;padding:15px 8px;font-weight:900;color:white;background:var(--red)}.mobile-action-bar a:last-child{background:var(--navy)}body{padding-bottom:58px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Email action is accessible across the site while Call and Text stay primary. */
.btn-email{background:#fff;color:var(--navy);border-color:#a7b8cc;box-shadow:inset 0 0 0 1px rgba(7,28,81,.02)}
.btn-email:hover{border-color:var(--navy);background:#f5f8fc}
.cta-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.cta-banner .cta-actions .btn{white-space:nowrap}
.cta-banner .btn-email-dark{background:transparent;border-color:#7e91ad;color:white}
.cta-banner .btn-email-dark:hover{background:rgba(255,255,255,.10);border-color:#fff}
.hero-actions .btn-email{font-size:.92rem;font-weight:730}
.form-email-note{font-size:.9rem;text-align:center;margin:12px 0 0;color:#526477}
.form-email-note a{color:var(--navy);font-weight:750;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-point a[href^="mailto:"]{overflow-wrap:anywhere}
.footer-grid a[href^="mailto:"]{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1110px){.cta-banner .wrap{gap:18px}.cta-actions{justify-content:flex-start}.cta-banner .btn{font-size:.87rem;padding:10px 12px}}
@media(max-width:890px){.cta-banner .wrap{flex-direction:column;align-items:flex-start}.cta-actions{justify-content:flex-start}}
@media(max-width:600px){.cta-actions,.cta-actions .btn{width:100%}.cta-banner .btn{font-size:.98rem;padding:12px 16px}.hero-actions .btn-email{width:100%}}

#services { scroll-margin-top: 105px; }
