@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@900&family=Open+Sans:wght@400;600;700;800&display=swap');
:root{font-family:"Open Sans",Arial,Helvetica,sans-serif;color:#18304a;background:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}h1,h2,h3{font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1.13}p{line-height:1.65;color:#526173}a{color:inherit}.site-header{background:#12243c;color:white}.nav{max-width:1200px;margin:auto;padding:6px 24px;min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo img{display:block;width:96px;height:96px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.93rem}.nav-links a{text-decoration:none}.nav-links a:hover{text-decoration:underline}.nav-links .call{background:#d82729;color:#fff;padding:13px 18px;border-radius:5px}.wrap{max-width:1200px;margin:auto;padding-left:24px;padding-right:24px}.crumb{font-size:.9rem;color:#68798b;padding-top:21px}.crumb a{text-decoration:underline}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;padding-top:47px;padding-bottom:76px}.eyebrow{text-transform:uppercase;color:#d51e27;font-weight:900;letter-spacing:.14em;font-size:.86rem}.hero h1{font-size:clamp(2.7rem,5vw,4.65rem);color:#10264d;margin:16px 0 22px}.hero .lead{font-size:1.2rem;color:#394d61}.hero-image{min-height:520px;border-radius:25px;background:url('/katy-reference.png') calc(100% + 30px) 40%/auto 128% no-repeat;background-color:#edf2f7}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-block;padding:15px 21px;background:#df2229;color:#fff;border-radius:5px;text-decoration:none;font-weight:800}.button.secondary{background:#fff;border:1px solid #b9c6d4;color:#10264d}.quick{background:#f5f8fc}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:22px;padding-bottom:22px;font-weight:700;color:#173a66}.quick-grid span:before{content:'✓';color:#d51e27;margin-right:12px}.section{padding-top:78px;padding-bottom:82px}.section h2{font-size:clamp(2.1rem,3.8vw,3.2rem);margin:13px 0 18px}.section-intro{max-width:750px;font-size:1.08rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.service-card{border:1px solid #e2e8ef;border-radius:14px;padding:28px;background:#fff;box-shadow:0 10px 24px #1127470a}.service-card .mark{color:#d51e27;font-weight:900}.service-card h3{font-size:1.37rem;margin:22px 0 10px}.service-card p{margin:0}.tinted{background:#f7f9fc}.detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.detail-visual{min-height:370px;border-radius:26px;background:url('/katy-work-photo.png') center 62%/120% auto no-repeat;background-color:#e5edf5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.step{border-top:4px solid #d51e27;padding-top:19px}.step b{color:#d51e27}.step h3{font-size:1.25rem;margin:13px 0 8px}.areas{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}.areas a{background:#eef3f9;padding:13px 17px;text-decoration:none;border-radius:6px;font-weight:700}.areas a[aria-current=page]{background:#122c57;color:white}.faq{max-width:880px}.faq details{border-bottom:1px solid #dce4ec;padding:20px 0}.faq summary{font-weight:800;font-size:1.08rem;cursor:pointer}.faq details p{margin-bottom:0}.cta{background:#10264d;color:white;text-align:center;padding:73px 24px}.cta h2{font-size:clamp(2rem,4vw,3.1rem);margin:0 0 14px}.cta p{color:#dce5ef}.footer{background:#102035;color:#dce5ef}.footer-inner{max-width:1200px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer img{width:83px;height:83px}.footer a{color:white}@media(max-width:820px){.hero,.detail{grid-template-columns:1fr}.hero-image{min-height:440px;order:-1}.nav-links a:not(.call){display:none}.service-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}@media(max-width:590px){.nav{min-height:81px}.logo img{width:70px;height:70px}.nav-links .call{padding:10px;font-size:.78rem}.hero{padding-top:22px;gap:27px}.hero-image{min-height:350px;height:75vw}.hero h1{font-size:clamp(2.5rem,11vw,3.4rem)}.quick-grid,.service-grid,.steps{grid-template-columns:1fr}.quick-grid{gap:14px}.section{padding-top:61px;padding-bottom:65px}.detail-visual{min-height:260px}.service-card{padding:24px}}
/* Updated service-page heroes */
.city-hero{max-width:1500px;grid-template-columns:1.02fr .98fr;gap:25px;align-items:center;padding-top:33px;padding-bottom:65px}.city-hero .hero-copy{padding:12px 0}.city-hero h1{font-size:clamp(3rem,5.2vw,5.5rem);line-height:1.04;margin:25px 0 24px}.city-hero .lead{font-size:clamp(1.08rem,1.7vw,1.55rem);line-height:1.5;max-width:680px}.city-hero .hero-image{height:clamp(490px,45vw,735px);min-height:0;border-radius:24px;background-image:url('/hero-service-reference.png');background-size:auto 127%;background-position:right 70%;position:relative;overflow:hidden}.hero-badge{position:absolute;bottom:25px;right:20px;width:min(380px,68%);padding:17px 22px;border-radius:13px;background:#fff;box-shadow:0 10px 30px #10264d2b;color:#12243c}.hero-badge strong{display:block;font-size:1.04rem}.hero-badge small{display:block;color:#526173;line-height:1.4;margin-top:6px}.hero-buttons .button{font-size:.98rem;background:#d6222b;box-shadow:0 5px 15px #9d1c2d18}.hero-buttons .button span{font-size:1.5rem;line-height:.5;vertical-align:-.08em;margin-left:12px}.hero-buttons .button.secondary{background:#fff;border:1px solid #10264d;color:#10264d;box-shadow:none}.hero-strap{font-size:.98rem;letter-spacing:.005em;color:#45576d;margin:26px 0 35px}.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero-benefits>div{display:flex;align-items:center;gap:10px;border-right:1px solid #d6dfea;color:#142c51;font-size:.88rem;line-height:1.25}.hero-benefits>div:last-child{border-right:0}.benefit-glyph{font-size:2rem;color:#102e5b;line-height:1}@media(max-width:900px){.city-hero{grid-template-columns:1fr;gap:25px}.city-hero .hero-image{order:0;height:62vw;min-height:360px}.city-hero .hero-copy{padding:0}}@media(max-width:590px){.city-hero{padding-top:20px;padding-bottom:50px}.city-hero h1{font-size:clamp(2.65rem,10vw,3.7rem)}.city-hero .hero-image{height:78vw;min-height:290px;background-size:auto 127%}.hero-badge{display:none}.hero-benefits{gap:6px}.hero-benefits>div{font-size:.7rem;gap:5px}.benefit-glyph{font-size:1.3rem}.hero-buttons .button{width:100%;text-align:center}.hero-strap{font-size:.85rem}}

/* Shared navigation */
.site-nav{position:relative}.desktop-menu{display:flex;align-items:center;gap:23px;font-weight:700;font-size:.94rem}.desktop-menu>a,.desktop-menu summary{text-decoration:none;color:#fff;cursor:pointer}.desktop-menu>a:hover,.desktop-menu summary:hover{text-decoration:underline}.desktop-menu details{position:relative}.desktop-menu summary{list-style:none}.desktop-menu summary::-webkit-details-marker{display:none}.desktop-menu summary:after{content:'⌄';margin-left:7px}.desktop-menu .drop{position:absolute;top:calc(100% + 25px);left:-15px;width:220px;background:#fff;color:#12243c;box-shadow:0 13px 34px #08152933;border-radius:8px;padding:8px;display:grid;z-index:10}.desktop-menu .drop a{padding:11px 12px;text-decoration:none;border-radius:5px}.desktop-menu .drop a:hover{background:#eef3f9}.desktop-menu .nav-call{background:#d82729;color:white;padding:12px 16px;border-radius:5px;text-decoration:none}.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;color:white;font-weight:800;padding:11px;border:1px solid #75839a;border-radius:5px}.mobile-menu summary::-webkit-details-marker{display:none}.hamburger{display:inline-block;width:19px;height:14px;border-top:2px solid white;border-bottom:2px solid white;position:relative}.hamburger:after{content:'';position:absolute;left:0;right:0;top:5px;border-top:2px solid white}.mobile-panel{position:absolute;left:0;right:0;top:100%;background:#12243c;color:#fff;box-shadow:0 15px 25px #0715294d;padding:14px 24px 23px;z-index:20;display:grid;gap:4px}.mobile-panel>a,.mobile-panel .group-label{display:block;padding:11px 6px;text-decoration:none;font-weight:700}.mobile-panel .group-label{color:#ff7679;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;padding-top:18px;padding-bottom:5px}.mobile-panel .city-link{padding-left:19px;font-weight:500}.mobile-panel .menu-call{background:#d82729;border-radius:5px;text-align:center;margin-top:10px}@media(max-width:800px){.desktop-menu{display:none}.mobile-menu{display:block}}
.site-nav{max-width:1200px;margin:auto;padding:5px 24px;min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-logo img{display:block;width:96px;height:96px;object-fit:contain}@media(max-width:800px){.site-nav{min-height:82px}.site-logo img{width:72px;height:72px}}
.city-hero .hero-image,.detail-visual{background-size:cover;background-position:center}

/* Hover and focus feedback */
.button,.desktop-menu a,.desktop-menu summary,.mobile-panel a,.service-card,.areas a,.hero-image,.detail-visual,.form-submit{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,filter .22s ease}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f4a4a5;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.button:hover,.desktop-menu .nav-call:hover,.mobile-panel .menu-call:hover{background:#bb1b25;color:#fff;transform:translateY(-3px);box-shadow:0 9px 20px #ab202a3d;text-decoration:none}.button.secondary:hover{background:#eef3f9;color:#10264d;box-shadow:0 7px 17px #10264d1c}.desktop-menu>a:not(.nav-call):hover,.desktop-menu summary:hover{color:#ff8b8c;text-decoration:none}.desktop-menu .drop a:hover,.mobile-panel>a:not(.menu-call):hover{background:#254266;color:white;text-decoration:none}.service-card:hover{transform:translateY(-5px);box-shadow:0 17px 35px #152a4426}.areas a:hover{transform:translateY(-2px);background:#dce8f6;color:#10264d}.hero-image:hover,.detail-visual:hover{filter:saturate(1.08);box-shadow:0 16px 35px #10264d20}}
@media(prefers-reduced-motion:reduce){.button,.desktop-menu a,.desktop-menu summary,.mobile-panel a,.service-card,.areas a,.hero-image,.detail-visual,.form-submit{transition:none!important;transform:none!important}}

.footer .footer-inner{max-width:1200px;margin:auto;padding:34px 24px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(430px,1.4fr);gap:55px;align-items:start}.footer .footer-brand img{width:100px;height:100px;object-fit:contain}.footer .footer-brand p{margin:8px 0 12px;color:#dce5ef}.footer .footer-brand>a:last-child{font-weight:700}.footer .footer-menu{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:30px}.footer .footer-menu>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer .footer-menu h2{font-family:Montserrat,Arial,sans-serif;font-size:1.05rem;margin:8px 0 4px;color:#fff}.footer .footer-menu a{text-decoration:none;color:#dce5ef}.footer .footer-menu a:hover,.footer .footer-menu a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}@media(max-width:680px){.footer .footer-inner{grid-template-columns:1fr;gap:28px}.footer .footer-menu{gap:18px}}

.desktop-menu .drop{width:255px}.footer .footer-menu{grid-template-columns:repeat(3,minmax(140px,1fr))}@media(max-width:800px){.footer .footer-menu{grid-template-columns:repeat(2,minmax(140px,1fr))}}

.mobile-panel{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}.mobile-panel .service-link{padding-left:19px;font-weight:500}
