*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#172231;background:#fff;line-height:1.55}
a{color:inherit}
.nav{max-width:1180px;margin:auto;padding:14px 22px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;text-decoration:none;margin-right:auto}
.brand img{display:block;width:450px;height:150px;object-fit:contain;object-position:left center}
.nav nav{display:flex;gap:22px}
.nav nav a{text-decoration:none;font-weight:700;font-size:14px}
.nav nav a:hover{color:#0e5aa7}
.btn{display:inline-block;background:#0e5aa7;color:#fff;padding:15px 22px;border-radius:8px;text-decoration:none;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px #0e5aa72b}
.btn:focus-visible,a:focus-visible{outline:3px solid #f1a62d;outline-offset:3px}
.btn.small{padding:11px 16px}
.ghost{background:#fff;color:#0e5aa7;border:2px solid #0e5aa7}
.hero{max-width:1180px;margin:30px auto 0;padding:55px 22px 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.pill,.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:900;color:#0e5aa7}
.hero h1{font-size:58px;line-height:1.02;margin:16px 0 20px;letter-spacing:-2px}
.hero h1 em{font-style:normal;color:#d88b19}
.hero p{font-size:19px;color:#52606d}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.trust{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:700}
.heroImg{position:relative;overflow:hidden;border-radius:22px;box-shadow:0 24px 60px #17223122}
.heroImg>img{width:100%;height:510px;object-fit:cover;object-position:center 55%;border-radius:22px;box-shadow:0 24px 60px #17223122}
.hoursRibbon{display:flex;justify-content:center;align-items:center;gap:64px;padding:20px 24px;background:#0e5aa7;color:#fff;font-size:21px;line-height:1.35;text-align:center;box-shadow:inset 0 1px #ffffff26}
.hoursRibbon span{white-space:nowrap}
.hoursRibbon b{font-weight:900}
.pricing{background:#f3f6f8;padding:45px max(22px,calc((100% - 1136px)/2));display:grid;grid-template-columns:1fr auto 1.4fr;gap:35px;align-items:center}
.pricing h2{margin:5px 0;font-size:32px}
.price{display:flex;flex-direction:column;border-left:1px solid #cbd4dc;padding-left:30px}
.price strong{font-size:48px;color:#0e5aa7}
.price span{font-weight:700}
.section{padding:80px max(22px,calc((100% - 1136px)/2))}
.heading{max-width:760px;margin-bottom:34px}
.heading h2,.about h2,.mil h2,.cta h2{font-size:42px;line-height:1.08;margin:10px 0 15px}
.heading p{color:#5e6974}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards article{border:1px solid #dbe2e8;border-radius:14px;padding:24px}
.cards b{font-size:18px}
.cards p{color:#64717d}
.dark{background:#152434;color:#fff}
.dark .heading p{color:#c9d1d8}
.gold{color:#f1a62d}
.gallery{display:grid;gap:14px}
.gallery.three{grid-template-columns:repeat(3,1fr)}
.gallery img{width:100%;height:280px;object-fit:cover;border-radius:14px}
.areas{background:linear-gradient(180deg,#fff 0,#f5f8fb 100%)}
.areaGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.areaGrid article{background:#fff;border:1px solid #dbe2e8;border-radius:16px;padding:28px;box-shadow:0 12px 32px #1722310b}
.areaGrid h3{font-size:23px;margin:7px 0 10px}
.areaGrid p{color:#5e6974;margin:0}
.areaLabel{font-size:12px;letter-spacing:.12em;font-weight:900;color:#0e5aa7}
.tripNotice{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:20px;padding:20px 24px;border-left:5px solid #d88b19;background:#fff;border-radius:0 12px 12px 0}
.tripNotice strong{color:#7d4c05}
.tripNotice span{color:#52606d}
.reviews{background:#fff}
.proofGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}
.reviewCard{border:1px solid #dbe2e8;border-radius:18px;padding:32px;box-shadow:0 14px 38px #1722310d}
.proofLabel{font-size:12px;letter-spacing:.13em;font-weight:900;color:#0e5aa7}
.reviewCard h3{font-size:28px;line-height:1.12;margin:10px 0 12px}
.reviewCard p{color:#5e6974;margin:0 0 24px}
.stars{color:#f3a71a;font-size:31px;letter-spacing:.08em;margin:15px 0 8px}
.googleReview{background:linear-gradient(145deg,#f7fbff 0,#fff 75%);border-top:5px solid #0e5aa7}
.nextdoorReview{display:grid;grid-template-columns:235px 1fr;gap:28px;align-items:center;background:linear-gradient(145deg,#f2fff8 0,#fff 75%);border-top:5px solid #00a870}
.nextdoorReview img{width:100%;height:auto;display:block}
.nextdoorBtn{background:#008f5d}
.nextdoorBtn:hover{box-shadow:0 9px 22px #008f5d2b}
.testimonialHeading{margin:52px 0 22px}
.testimonialHeading h3{font-size:30px;line-height:1.15;margin:8px 0 6px}
.testimonialHeading p{color:#64717d;margin:0}
.testimonialSlider{max-width:820px;margin:0 auto}
.testimonialGrid{display:grid;grid-template-columns:1fr}
.testimonialGrid blockquote{grid-area:1/1;margin:0;padding:32px;border:1px solid #dbe2e8;border-radius:16px;background:#f8fafc;box-shadow:0 10px 28px #1722310a;opacity:0;visibility:hidden;transform:translateX(24px);transition:opacity .55s ease,transform .55s ease,visibility .55s}
.testimonialGrid blockquote.is-active{opacity:1;visibility:visible;transform:translateX(0)}
.testimonialGrid p{font-size:17px;color:#344250;margin:8px 0 18px}
.testimonialGrid cite{font-style:normal;font-weight:800;color:#172231}
.quoteStars{color:#f3a71a;letter-spacing:.08em;font-size:20px}
.testimonialDots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.testimonialDots button{width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#bac5ce;cursor:pointer;transition:transform .2s ease,background .2s ease}
.testimonialDots button.is-active{background:#0e5aa7;transform:scale(1.3)}
.testimonialDots button:focus-visible{outline:3px solid #f1a62d;outline-offset:3px}
.cards article,.areaGrid article,.reviewCard,.gallery img{transition:transform .3s ease,box-shadow .3s ease}
@media(hover:hover){.cards article:hover,.areaGrid article:hover,.reviewCard:hover{transform:translateY(-5px);box-shadow:0 18px 38px #17223116}.gallery img:hover{transform:scale(1.025)}}
.motion-ready .heroText>*{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.motion-ready.page-ready .heroText>*{opacity:1;transform:none}
.motion-ready.page-ready .heroText>*:nth-child(2){transition-delay:.1s}
.motion-ready.page-ready .heroText>*:nth-child(3){transition-delay:.2s}
.motion-ready.page-ready .heroText>*:nth-child(4){transition-delay:.3s}
.motion-ready.page-ready .heroText>*:nth-child(5){transition-delay:.4s}
.motion-ready .heroImg{opacity:0;transform:translateY(18px);transition:opacity .8s ease .2s,transform .8s ease .2s}
.motion-ready.page-ready .heroImg{opacity:1;transform:none}
.motion-ready.page-ready .heroImg>img{animation:heroZoom 10s ease-out .8s both}
.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s ease}
.motion-ready .reveal.in-view{opacity:1;transform:none}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.045)}}
.about{display:grid;grid-template-columns:1fr .8fr;gap:55px;align-items:center;background:#f5f7f9}
.about img{width:100%;height:380px;object-fit:cover;border-radius:18px}
.mil{padding:55px max(22px,calc((100% - 900px)/2));display:grid;grid-template-columns:220px 1fr;align-items:center;gap:40px}
.mil img{width:220px}
.cta{text-align:center;background:#0e5aa7;color:#fff;padding:70px 22px}
.center{justify-content:center}
.light{background:#fff;color:#0e5aa7}
.outlineLight{background:transparent;border:2px solid #fff}
.cta p{font-size:18px}
.cta h2{font-size:48px}
footer{text-align:center;padding:42px 22px;background:#101b27;color:#c8d0d8}
footer div{display:flex;justify-content:center;align-items:center;gap:10px;color:#fff}
footer img{width:min(360px,85vw);height:auto}
footer a{color:#fff}
.backToTop{position:fixed;right:20px;bottom:max(84px,calc(env(safe-area-inset-bottom) + 74px));z-index:60;display:flex;align-items:center;gap:8px;padding:13px 17px;border:1px solid #ffffff66;border-radius:999px;background:#0e5aa7;color:#fff;font:800 14px Arial,Helvetica,sans-serif;box-shadow:0 10px 30px #0b274b40;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .3s ease,transform .3s ease,background .2s ease}
.backToTop span{font-size:20px;line-height:.8}
.backToTop.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.backToTop:hover{background:#0a4a8b}
.backToTop:focus-visible{outline:3px solid #f1a62d;outline-offset:3px}
@media(max-width:800px){.nav nav{display:none}.brand img{width:275px;height:82px}.hero{grid-template-columns:1fr;padding-top:25px}.hero h1{font-size:43px}.heroImg>img{height:390px}.pricing{grid-template-columns:1fr}.price{border-left:0;padding-left:0}.cards,.gallery.three,.areaGrid{grid-template-columns:1fr 1fr}.proofGrid{grid-template-columns:1fr}.about{grid-template-columns:1fr}.mil{grid-template-columns:120px 1fr}.mil img{width:120px}}
@media(max-width:520px){.nav{gap:6px;padding:10px 12px 12px;flex-wrap:wrap;justify-content:center}.brand{flex:0 0 100%;margin-right:0;justify-content:center}.brand img{width:min(340px,94vw);height:112px}.btn.small{width:100%;font-size:14px;padding:12px 16px;text-align:center}.hero{gap:28px;margin-top:8px;padding-top:20px;padding-bottom:48px}.hero h1{font-size:37px}.heroImg>img{height:340px}.hoursRibbon{flex-direction:column;gap:4px;padding:17px 14px;font-size:18px}.hoursRibbon span{white-space:normal}.cards,.gallery.three,.areaGrid{grid-template-columns:1fr}.tripNotice{grid-template-columns:1fr;gap:4px}.reviewCard{padding:25px}.nextdoorReview{grid-template-columns:1fr;text-align:center}.nextdoorReview img{width:min(290px,100%);margin:auto}.testimonialHeading{margin-top:42px}.testimonialGrid blockquote{padding:22px}.actions .btn,.reviewCard .btn{width:100%;text-align:center}.trust{display:grid}.heading h2,.about h2,.mil h2{font-size:34px}.mil{grid-template-columns:1fr}.mil img{width:160px}.cta h2{font-size:38px}.backToTop{right:12px;bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px));padding:12px 14px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .heroText>*,.motion-ready .heroImg,.motion-ready .reveal{opacity:1!important;transform:none!important}}
