*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#102646;background:#fff;font-family:Arial,sans-serif}a{color:inherit}header{max-width:1240px;margin:auto;padding:16px 6%;display:flex;align-items:center;justify-content:space-between}header img{width:88px;height:88px;object-fit:contain}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:bold}.btn{display:inline-flex;justify-content:center;align-items:center;padding:17px 25px;background:#d52635;color:#fff;text-decoration:none;border-radius:6px;font-weight:700;border:1px solid transparent}.outline{background:#fff;border-color:#154fc0;color:#154fc0}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:#1554c5}.hero{background:#f1f6fc;padding:55px 6% 0}.hero-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.hero h1{font-size:clamp(38px,5vw,65px);line-height:1.07;letter-spacing:-2px;margin:18px 0}.hero p{font-size:18px;line-height:1.7;color:#4e6077}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.hero figure{margin:0;align-self:end}.hero img{width:100%;display:block;border-radius:18px 18px 0 0;min-height:370px;object-fit:cover}.photo-caption{background:#164fbc;color:white;padding:15px 20px;font-size:13px}.trust{background:#102646;color:white;display:flex;justify-content:center;gap:60px;padding:20px;font-size:13px}.section{max-width:1220px;margin:auto;padding:80px 6%}h2{font-size:36px;letter-spacing:-1px;margin:12px 0 22px}p{line-height:1.7}.intro{max-width:620px;color:#53647b}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.card{border:1px solid #dce4ef;padding:28px;border-radius:10px;text-decoration:none;transition:.2s}.card:hover{border-color:#1554c5;transform:translateY(-3px)}.num{color:#1554c5;font-size:13px;font-weight:bold}h3{font-size:21px;margin:22px 0 10px}.card p{font-size:14px;color:#53647b}.split{background:#f2f6fc}.split .section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.steps{border-top:1px solid #d5dfed;padding:18px 0;display:flex;gap:20px}.steps b{color:#1554c5}.areas{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.areas a{border:1px solid #cedbeb;border-radius:50px;padding:12px 20px;text-decoration:none}.cta{background:#164fbc;color:white;border-radius:15px;padding:45px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{margin-top:0}.cta p{margin-bottom:0}footer{background:#102646;color:#d6dfed;padding:45px 6%;font-size:13px}footer .foot{max-width:1080px;margin:auto;display:flex;justify-content:space-between;gap:35px}footer strong{font-size:20px;color:white}footer a{display:inline-block;margin:5px 10px 5px 0}.sticky{display:none}.menu{display:none;background:none;border:0;font-size:26px;color:#102646}details{border-bottom:1px solid #dce4ef;padding:20px 0}summary{font-weight:bold;cursor:pointer} @media(max-width:700px){header{padding:7px 6%}header img{width:67px;height:73px}.menu{display:block}nav{display:none;position:absolute;top:87px;background:white;left:0;right:0;padding:25px;z-index:3;box-shadow:0 8px 12px #10264615}nav.open{display:flex;flex-direction:column;align-items:start}.hero{padding:32px 6% 0}.hero-inner{grid-template-columns:1fr;gap:12px}.hero h1{font-size:41px;letter-spacing:-1.4px}.hero p{font-size:16px}.hero img{min-height:0;border-radius:10px 10px 0 0}.hero .actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px}.trust{gap:12px;justify-content:space-around;padding:17px 8px;font-size:10px}.section{padding:49px 6%}h2{font-size:30px}.grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:19px 15px}h3{font-size:18px}.card p{font-size:13px}.split .section{grid-template-columns:1fr;gap:25px}.cta{padding:28px;display:block}.cta .btn{margin-top:20px;width:100%}footer{padding-bottom:100px}footer .foot{display:block}.sticky{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:white;padding:9px;gap:8px;box-shadow:0 -3px 20px #10264620;z-index:5}.sticky .btn{padding:15px;font-size:14px}.areas{gap:9px}.areas a{font-size:14px}}
/* Refined editorial layout */
body{font-family:Arial,Helvetica,sans-serif}header{max-width:1360px}.hero{background:linear-gradient(115deg,#edf3fc,#fff);padding-top:62px}.hero-inner{max-width:1200px;gap:65px}.hero h1{font-size:clamp(46px,5.6vw,78px);line-height:1.01;letter-spacing:-3px}.hero h1 em{font-style:normal;color:#1554c5}.hero p{max-width:490px}.hero figure{position:relative}.hero img{border-radius:140px 14px 0 0;min-height:430px;object-position:center}.photo-caption{background:#1554c5;padding:20px;font-size:14px}.trust{letter-spacing:1px;padding:23px}.section{max-width:1320px;padding-top:90px;padding-bottom:90px}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';display:block;width:22px;height:3px;background:#d52635}.card{border-radius:12px;background:linear-gradient(135deg,#fff,#f5f8fd);border:1px solid #d9e3f2;min-height:210px}.card:hover{box-shadow:0 12px 24px #12345b10}.card h3{margin-top:30px}.split{background:#102646;color:white}.split .eyebrow,.split .steps b{color:#87bcff}.split .steps{border-color:#ffffff26}.split a{color:#a6caff}.split .section{gap:90px}h2{font-size:clamp(30px,3vw,42px)}.area-toolbar{margin:30px 0 16px;max-width:480px}.area-toolbar label{display:block;font-size:13px;font-weight:bold;margin-bottom:9px}.area-toolbar input{width:100%;padding:16px 18px;border:1px solid #cbd8ec;border-radius:7px;font:inherit;background:#f5f8fd;color:#102646}.area-toolbar p{font-size:12px;color:#53647b;min-height:18px;margin:7px 0}.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.areas a{border-radius:8px;display:flex;justify-content:space-between;padding:17px 20px;background:#fff}.areas a[hidden]{display:none}.areas a:hover{background:#eff5ff;border-color:#1554c5}.areas span{color:#1554c5}.area-note{margin-top:25px;color:#53647b;font-size:14px;max-width:730px}.cta{background:linear-gradient(110deg,#164fbc,#102f70);padding:55px}.city-intro{display:grid;grid-template-columns:1.3fr 1fr;column-gap:70px}.city-intro .eyebrow,.city-intro h2{grid-column:1/-1}.city-check{padding:25px;border-left:3px solid #d52635;background:#f1f6fc}.city-check p{font-size:14px}.service-detail{background:#f5f8fd;border-bottom:1px solid #dce4ef}.service-detail li{padding:10px 0;font-size:18px}.service-detail p{max-width:700px}.btn{transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #1d91e6;outline-offset:4px}@media(max-width:700px){.hero{padding-top:30px}.hero-inner{gap:20px}.hero h1{font-size:52px;letter-spacing:-2px}.hero img{border-radius:65px 10px 0 0;min-height:0}.section{padding-top:54px;padding-bottom:54px}.trust{letter-spacing:0;font-size:10px;gap:10px}.card{min-height:205px;padding:20px 16px}.card .num{font-size:10px;letter-spacing:.2px}.card h3{margin-top:25px}.areas{grid-template-columns:1fr 1fr;gap:9px}.areas a{padding:15px;font-size:14px}.split .section{gap:28px}.city-intro{display:block}.city-check{margin-top:23px}.cta{padding:29px}.service-detail li{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
button.btn{font:inherit;font-weight:700;cursor:pointer}#booking-status{font-size:14px;background:#fff;padding:14px;color:#102646}
.mobile-title{display:none}@media(max-width:700px){.home .hero{padding:0;background:white}.home .hero-inner{display:flex;flex-direction:column;gap:0}.home .hero figure{order:-1;width:100%;align-self:stretch}.home .hero img{width:100%;height:auto;min-height:0;aspect-ratio:709/437;object-fit:contain;border-radius:0}.home .photo-caption{padding:10px 6%;font-size:12px}.home .hero-inner>div{padding:23px 6% 18px;width:100%}.home .hero .eyebrow{font-size:10px;letter-spacing:1.1px}.home .desktop-title{display:none}.home .mobile-title{display:block}.home .hero h1{font-size:34px;line-height:1.12;letter-spacing:-1px;margin:14px 0}.home .hero p{font-size:14px;line-height:1.55;margin:12px 0}.home .hero .actions{grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 12px}.home .hero .actions .btn{font-size:13px;padding:15px 8px}.home header{padding:5px 6%}.home header img{height:65px;width:60px}.home nav{top:75px}}
@media(max-width:700px){.home .hero h1{font-size:30px}}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-heading h2{margin-bottom:12px}.section-heading .btn{white-space:nowrap}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.review-card{border:1px solid #dde5ef;border-radius:12px;background:white;padding:25px;display:flex;flex-direction:column;box-shadow:0 7px 20px #10264605}.review-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.google-word{font-weight:bold;color:#355a96;font-size:14px}.review-stars{color:#b17a00;letter-spacing:1px;font-size:17px}.review-card blockquote{font-size:15px;line-height:1.75;margin:24px 0;flex:1}.review-author{font-weight:bold;font-size:14px;margin:0}.review-source{font-size:11px;color:#627087;margin:5px 0 0}.customer-reviews{padding-top:65px}.project-section{background:#eef4fc}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:32px 0}.project-photo{padding:0;border:0;border-radius:12px;overflow:hidden;text-align:left;background:white;color:#102646;font:inherit;cursor:zoom-in;box-shadow:0 7px 18px #10264608}.project-photo img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .3s}.project-photo:hover img{transform:scale(1.025)}.project-photo span{display:flex;justify-content:space-between;padding:20px 16px;font-size:14px;font-weight:bold}.project-photo b{color:#1554c5}.project-cta{display:inline-block;margin-top:10px;font-size:15px;font-weight:bold}#photo-viewer{max-width:min(94vw,1000px);max-height:94vh;background:#fff;border:0;border-radius:12px;padding:45px 20px 16px;color:#102646}#photo-viewer::backdrop{background:#061b35df}#photo-full{display:block;max-height:73vh;max-width:100%;margin:auto;object-fit:contain}#photo-caption{font-size:14px;text-align:center;margin:15px 0 0}.photo-close{position:absolute;right:12px;top:4px;font-size:34px;background:none;border:0;cursor:pointer;color:#102646}nav{gap:20px}@media(max-width:1000px){.review-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:flex-start}}@media(max-width:700px){.section-heading{display:block}.section-heading .btn{margin-top:12px}.review-grid{grid-template-columns:1fr;gap:13px}.review-card{padding:24px}.review-card blockquote{margin:16px 0}.project-grid{gap:12px}.project-photo img{height:210px}.project-photo span{font-size:12px;padding:15px 12px}.project-section .section{padding-top:48px;padding-bottom:48px}.customer-reviews{padding-top:48px}.home .hero img{aspect-ratio:auto}.project-cta{line-height:1.6}}
.breadcrumbs{max-width:1200px;margin:0 auto;padding:16px 6%;font-size:12px;color:#53647b}.breadcrumbs a{color:#1554c5}.city-service-links{grid-column:1/-1;margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}.city-service-links h3{flex-basis:100%}.city-service-links a{padding:13px 16px;border:1px solid #d6e1ef;border-radius:7px;font-size:14px;text-decoration:none;color:#1554c5;background:#f6f9fd}.skip-link{position:absolute;top:-80px;left:15px;background:#fff;color:#102646;padding:15px;z-index:100}.skip-link:focus{top:10px}.service-detail .intro{max-width:800px}@media(max-width:700px){.city-service-links{display:flex}.city-service-links a{width:100%;line-height:1.6}.breadcrumbs{font-size:11px;padding-top:12px;padding-bottom:12px}}
/* Faro mobile design: real crew, blue service actions, accessible booking links. */
.faro-area-strip{background:#0757c9;color:#fff;text-align:center;padding:9px 18px;font-size:12px;font-weight:700;letter-spacing:1.4px}.faro-area-strip span{padding:0 9px}
.faro-hero{padding:30px 6% 0;max-width:1360px;margin:auto}.faro-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.faro-hero h1{font-size:clamp(40px,4.5vw,65px);line-height:1.08;letter-spacing:-2px;margin:12px 0 18px}.faro-kicker{font-size:12px;letter-spacing:1.6px;font-weight:bold;color:#0757c9}.faro-lead{font-size:20px;color:#4e6077;max-width:540px}.faro-actions{display:flex;gap:12px;margin:24px 0 8px}.faro-actions .btn{background:#0757c9;gap:9px}.faro-actions .outline{background:white;color:#08366e;border:1.5px solid #08366e}.faro-actions svg{width:23px;height:23px;flex:none}.faro-price-note{font-size:12px;color:#53647b}.faro-hero figure{margin:0}.faro-hero figure img{display:block;width:100%;height:auto;border-radius:15px}.faro-license{margin:20px 0 0;padding:12px 16px;text-align:center;border-radius:9px;background:#103d79;color:white;font-size:14px;font-weight:700;letter-spacing:.4px}.faro-license span{padding:0 9px}.faro-mobile-services{display:none}
@media(max-width:700px){
.home header{padding:6px 6%;position:relative}.home header img{width:75px;height:80px}.home nav{top:92px}.home .faro-area-strip{font-size:11px;padding:7px 12px;letter-spacing:1px}.home .faro-area-strip span{padding:0 5px}
.faro-hero{padding:4px 4% 0}.faro-hero-inner{display:flex;flex-direction:column;gap:12px}.faro-hero-copy{width:100%;text-align:center}.faro-kicker{display:none}.faro-hero h1{font-size:clamp(25px,6vw,36px);line-height:1.12;letter-spacing:-.8px;margin:2px 0 7px}.faro-lead{font-size:16px;line-height:1.35;margin:0 auto;max-width:460px}.faro-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 0}.faro-actions .btn{padding:12px 7px;font-size:16px;border-radius:9px;min-height:47px;white-space:nowrap}.faro-actions svg{width:22px;height:22px}.faro-price-note{font-size:10px;margin:7px 0 0;line-height:1.4}.faro-hero figure{width:100%}.faro-hero figure img{border-radius:12px;width:100%;height:auto}.faro-license{font-size:12px;letter-spacing:.2px;margin:9px 0 0;padding:8px 6px}.faro-license span{padding:0 4px}
.faro-mobile-services{display:block;padding:15px 4% 8px}.faro-mobile-services>h2{text-align:center;font-size:27px;letter-spacing:-.7px;margin:0 0 12px}.faro-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.faro-quick-grid a{display:flex;align-items:center;gap:10px;text-decoration:none;border:1px solid #d0d9e4;border-radius:10px;padding:12px 9px;min-height:58px;font-size:14px;font-weight:bold;background:linear-gradient(120deg,#fff,#f8fbff)}.faro-quick-grid svg{width:31px;height:31px;color:#0860b9;flex:none}.faro-promise{background:#e1f3fc;border-radius:12px;padding:17px 14px;display:flex;gap:14px;align-items:center;margin:13px 0 10px}.faro-promise>svg{width:40px;height:48px;color:#0987ce;flex:none}.faro-promise>div{border-left:2px solid #149fd8;padding-left:14px}.faro-promise h2{font-size:21px;line-height:1.12;margin:0 0 5px;letter-spacing:-.5px}.faro-promise p{font-size:13px;line-height:1.4;margin:0}.faro-area-pills{display:flex;gap:10px;justify-content:space-between}.faro-area-pills a{background:#103d79;border-radius:30px;padding:7px 10px;display:flex;justify-content:center;align-items:center;gap:5px;text-decoration:none;font-weight:bold;color:#fff;font-size:12px;flex:1}.faro-area-pills svg{width:15px;height:15px;flex:none}
.sticky{background:#102f5b;padding:9px 4% calc(9px + env(safe-area-inset-bottom));gap:9px}.sticky .btn{background:#0757c9;border-radius:9px;min-height:48px;padding:12px 8px}.sticky .outline{background:white;color:#103d79;border-color:#fff}footer{padding-bottom:125px}.home #services{padding-top:35px}
}
@media(max-width:350px){.faro-quick-grid a{font-size:12px;gap:6px}.faro-actions .btn{font-size:14px}.faro-promise h2{font-size:19px}}

.faro-project-line{font-size:14px;font-weight:bold;color:#174477;line-height:1.7}.faro-project-line span{padding:0 5px;color:#0757c9}.faro-project-details h2{scroll-margin-top:20px}.faro-project-details p{max-width:800px}@media(max-width:700px){.home .faro-area-strip{font-size:9px;letter-spacing:.6px}.faro-project-line{font-size:12px;line-height:1.65;margin:8px 0 0}.faro-project-line span{padding:0 2px}.faro-quick-grid .faro-project-card:last-child{grid-column:1/-1;justify-content:center}.faro-area-pills{flex-wrap:wrap}.faro-area-pills a:last-child{flex-basis:100%}.faro-project-details h2{font-size:27px}}

footer .footer-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin:26px auto 0;padding-top:20px;border-top:1px solid #ffffff30;position:static;background:none}footer .footer-pages a{font-size:13px;color:inherit}@media(max-width:700px){footer .footer-pages{display:flex;position:static;flex-direction:row;gap:12px 18px;padding:18px 0 0}}

@media(max-width:700px){header img,.home header img{width:75px;height:80px}nav,.home nav{top:90px}}
