:root{--primary-blue:#0799d3;--dark-blue:#061725;--orange:#f6a900;--text-dark:#111827;--text-muted:#667085;--light-bg:#f7f9fb;--white:#fff;--border:#e5eaf0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:Inter,sans-serif;color:var(--text-dark);overflow-x:hidden;font-size:14px}a{text-decoration:none}.container{max-width:1210px}.topbar{background:#04131f;color:#fff;font-size:12px;padding:8px 0}.topbar i,.top-phone{color:var(--orange)}.top-social{display:flex;gap:20px;border-left:1px solid #34424c;padding-left:20px}.top-social a{color:#fff}.navbar{min-height:80px}.brand{display:flex;align-items:center;color:#101820;font-weight:800;line-height:1.05;font-size:17px}.brand:hover{color:#101820}.brand-mark{width:50px;height:50px;display:grid;place-items:center;border:6px solid var(--orange);border-radius:50%;margin-right:8px;color:var(--primary-blue);font-size:26px;position:relative}.brand-mark:after{content:"";position:absolute;inset:-10px;border:4px dashed var(--orange);border-radius:50%}.nav-link{font-weight:600;color:#111827!important;font-size:13px;margin:0 9px;padding:29px 0 22px!important}.nav-link.active{color:#087bb9!important;border-bottom:2px solid var(--primary-blue)}.btn{font-weight:700;border-radius:5px;padding:13px 25px;font-size:13px}.btn-brand{color:#fff;background:linear-gradient(135deg,#0799d3,#0868b4);box-shadow:0 6px 15px #037db53b}.btn-brand:hover{color:#fff;transform:translateY(-2px);background:#067db7}.btn-orange{background:linear-gradient(135deg,#ffbd19,#f79300);color:#071725}.hero{background:radial-gradient(circle at 70% 15%,#18374699,transparent 45%),linear-gradient(90deg,#031827f5 5%,#061725e3),url("../images/hero-electrician.jpg") center/cover;min-height:465px;color:white;padding:34px 0;position:relative;overflow:hidden}.hero h1{font-size:48px;font-weight:800;line-height:1.09;letter-spacing:-2px}.hero h1 span{color:#119cdd}.hero-copy p{font-size:16px;font-weight:600;margin:20px 0 25px}.btn-call{border:2px solid var(--orange);color:#fff;background:#071724}.btn-call:hover{background:var(--orange);color:#081522}.btn-call i,.hero-phone i{color:var(--orange);margin-right:8px}.hero-phone{display:block;color:var(--orange);font-size:23px;font-weight:800;margin:28px 0 0 90px}.hero-collage{height:390px;position:relative}.hero-collage img{position:absolute;object-fit:cover;border:2px solid #8c9baa;border-radius:8px;box-shadow:0 10px 30px #0007}.collage-main{width:44%;height:73%;left:0;top:0}.collage-top{width:48%;height:48%;right:0;top:5%}.collage-building{width:38%;height:48%;left:14%;bottom:0}.collage-ev{width:44%;height:31%;right:3%;bottom:0}.circuit{position:absolute;border:1px solid #0d7894;opacity:.35}.circuit-a{width:260px;height:90px;left:-40px;bottom:25px;border-radius:0 0 80px 0}.circuit-b{width:180px;height:60px;left:100px;top:45px;border-radius:0 60px 0 0}.section-pad{padding:55px 0}h2{font-size:29px;font-weight:800;letter-spacing:-.8px}.eyebrow{display:block;color:#0587cf;font-size:12px;font-weight:800;margin-bottom:8px}.about-img{width:100%;height:295px;border-radius:9px;object-fit:cover;object-position:center}.text-muted{font-size:13px!important;line-height:1.7}.cert-line{font-size:12px;font-weight:700;line-height:1.7}.stat-card{height:138px;border:1px solid var(--border);border-radius:11px;box-shadow:0 5px 20px #112b4212;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:.25s;background:#fff}.stat-card:hover,.service-card:hover,.industry-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #112b4224}.stat-card strong{font-size:31px;color:#087ab8}.stat-card i{font-size:31px;color:#078dd3}.stat-card span{font-size:12px;font-weight:700;margin-top:8px}.services{background:linear-gradient(180deg,#fff,var(--light-bg))}.service-card{height:120px;border:1px solid var(--border);border-radius:9px;box-shadow:0 4px 13px #112b4210;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.25s}.service-card i,.industry-card i{font-size:33px;color:#0877bb;text-shadow:6px 4px 0 #f6a90055}.service-card h3{font-size:12px;font-weight:700;line-height:1.3;margin-top:10px}.why{background:radial-gradient(circle at center,#0a273c,#041521);color:#fff}.why h2{font-size:25px}.why-card{height:170px;border:1px solid #1ba8e4;border-radius:10px;padding:20px 16px}.why-card.accent{border-color:#008dd3}.why-card.orange{border-color:#f29600}.why-card.gold{border-color:#f6c200}.why-card i{font-size:40px;color:#09a5df}.why-card.orange i,.why-card.gold i{color:var(--orange)}.why-card h3{font-size:14px;font-weight:700;margin:10px 0}.why-card p{font-size:11px;line-height:1.55;margin:0}.projects{background:#fff}.project-card{height:170px;border-radius:9px;overflow:hidden;position:relative;background:#00111d}.project-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#020b12e8)}.project-card img{width:100%;height:100%;object-fit:cover;transition:.35s}.project-card:hover img{transform:scale(1.05)}.project-card h3{position:absolute;z-index:1;bottom:10px;left:9px;right:7px;margin:0;text-align:left;color:#fff;font-size:11px;line-height:1.25;font-weight:700}.industry-card{min-height:95px;border:1px solid var(--border);border-radius:9px;box-shadow:0 3px 14px #112b4210;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;transition:.25s}.industry-card i{font-size:27px}.industry-card span{font-size:11px;font-weight:700}.process-track{border:1px solid #b9e6f5;border-radius:45px;padding:14px 35px;display:flex;align-items:center;justify-content:space-between;margin-top:20px}.process-step{min-width:85px;display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.process-step i{font-size:30px;color:#079bd5;text-shadow:5px 3px 0 #f5a90066}.arrow{color:#087abb;font-size:20px}.review-card{text-align:left;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 5px 18px #112b4214;padding:20px 24px;min-height:158px}.review-top{display:flex;align-items:center;gap:13px}.review-top span{color:#ff9c00;letter-spacing:2px}.google{font-size:25px;color:#4285f4}.review-card p{font-size:11px;line-height:1.5;margin:7px 0}.review-card strong,.review-card small{display:block;font-size:11px}.carousel-indicators{position:static;margin:8px}.carousel-indicators [data-bs-target]{background:#087fc0;width:7px;height:7px;border-radius:50%}footer{background:#041521;color:#fff;padding-top:20px}.cta{min-height:110px;border-radius:10px 10px 0 0;background:linear-gradient(90deg,#071f30,#08273a);padding:16px 145px 16px 35px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.cta h2{font-size:27px;margin:0}.cta p{font-size:13px;margin:5px 0 0}.cta-actions{display:flex;gap:18px}.cta img{position:absolute;right:0;bottom:0;height:105px;width:125px;object-fit:cover;object-position:top}.footer-main{padding:28px 18px}.footer-brand{color:#fff;font-size:14px;margin-bottom:15px}.footer-brand:hover{color:#fff}.footer-brand .brand-mark{width:42px;height:42px;font-size:20px}.footer-main p,.footer-main a{font-size:11px;line-height:1.55;color:#e1e8ed;display:block}.footer-main h3{font-size:14px;font-weight:700}.footer-main i{color:var(--orange);margin-right:6px}.socials{display:flex;gap:10px}.socials a{width:25px;height:25px;background:#182c39;border-radius:50%;display:grid;place-items:center}.socials i{color:#fff;margin:0}.map{width:100%;height:130px;object-fit:cover;border-radius:10px}.copyright{border-top:1px solid #2c3e49;padding:10px;display:flex;justify-content:space-between;font-size:10px;color:#cad4da}.copyright a{color:#cad4da}#backToTop{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border:0;border-radius:50%;background:var(--primary-blue);color:#fff;box-shadow:0 6px 18px #0003;display:none;z-index:10}
@media(max-width:991.98px){.navbar{min-height:70px}.navbar-collapse{padding:15px 0}.nav-link{padding:10px 0!important;margin:0}.nav-link.active{border:0}.navbar .btn{margin-top:10px}.hero{padding:55px 0}.hero h1{font-size:42px}.hero-collage{margin-top:10px}.about-img{height:360px}.why-card{height:180px}.cta{padding-right:30px;flex-wrap:wrap;gap:15px}.cta img{display:none}.cta-actions{flex-wrap:wrap}.footer-main{padding-inline:0}}
@media(max-width:767.98px){.topbar .container>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%}.top-social{display:none}.hero h1{font-size:36px}.hero-phone{margin-left:0}.hero-collage{height:340px}.process-track{border-radius:18px;flex-direction:column;align-items:stretch;padding:20px 35px}.process-step{flex-direction:row;align-items:center;text-align:left}.process-step i{width:45px}.process-track .arrow{transform:rotate(90deg);align-self:flex-start;margin-left:11px}.review-card{margin-bottom:12px}.cta{display:block;text-align:center}.cta-actions{justify-content:center;margin-top:15px}.copyright{flex-direction:column;gap:5px;text-align:center}}
@media(max-width:575.98px){body{font-size:13px}.topbar{font-size:9px}.top-phone{font-size:0}.top-phone i{font-size:13px}.brand{font-size:13px}.brand-mark{width:40px;height:40px;font-size:20px}.hero{text-align:center;min-height:0}.hero h1{font-size:31px;letter-spacing:-1px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-phone{font-size:20px}.hero-collage{height:280px}.collage-main{width:48%}.collage-top{width:49%}.collage-building{left:10%;width:42%}.collage-ev{width:45%}.section-pad{padding:40px 0}h2{font-size:23px}.about-img{height:285px}.service-card{height:110px}.project-card{height:210px}.cta h2{font-size:23px}.cta-actions{display:grid}.cta-actions .btn{width:100%}.footer-main{text-align:center}.footer-brand{justify-content:center}.socials{justify-content:center}.map{height:170px}}
@media(max-width:340px){.service-grid>.col-6{width:100%}.industry-grid>.col-6{width:100%}.hero h1{font-size:27px}.hero-collage{height:245px}}

/* Pre-footer call to action */
.cta-section{position:relative;padding:68px 0;background:linear-gradient(180deg,#fff 0%,#f3f8fb 100%);overflow:hidden}
.cta-section:before,.cta-section:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.cta-section:before{width:330px;height:330px;left:-190px;top:-170px;background:#0799d312}
.cta-section:after{width:260px;height:260px;right:-120px;bottom:-150px;background:#f6a90016}
.cta{min-height:190px;border:1px solid #17445f;border-radius:18px;background:linear-gradient(105deg,#061a2a 0%,#082b43 58%,#074d70 100%);padding:30px 245px 30px 40px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;position:relative;overflow:hidden;box-shadow:0 18px 45px #00000038}
.cta:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,#000,transparent 72%);pointer-events:none}
.cta-glow{position:absolute;width:280px;height:280px;right:105px;top:-140px;border-radius:50%;background:#0aa9e9;filter:blur(75px);opacity:.25}
.cta-copy{position:relative;z-index:2;max-width:590px}
.cta-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:9px;color:#83dbff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cta-kicker i{color:var(--orange)}
.cta h2{font-size:34px;line-height:1.1;letter-spacing:-1.2px;margin:0 0 9px;color:#fff}
.cta h2 span{color:#26b9f3}
.cta p{max-width:570px;color:#d1e0e9;font-size:13px;line-height:1.6;margin:0}
.cta-trust{display:flex;gap:20px;margin-top:14px;color:#fff;font-size:11px;font-weight:700}
.cta-trust i{color:var(--orange);margin-right:5px}
.cta-actions{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;min-width:185px}
.cta-actions .btn{display:flex;align-items:center;justify-content:space-between;min-height:50px;border:0;border-radius:8px;box-shadow:0 8px 22px #0004;transition:.25s}
.cta-actions .btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0005}
.cta-phone{display:flex;align-items:center;gap:10px;min-height:52px;padding:7px 11px;border:1px solid #ffffff38;border-radius:8px;background:#051825b8;color:#fff;transition:.25s}
.cta-phone:hover{border-color:var(--orange);background:#06131d;color:#fff;transform:translateY(-2px)}
.cta-phone-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#f6a9001f;color:var(--orange)}
.cta-phone small,.cta-phone strong{display:block;line-height:1.25}
.cta-phone small{color:#b9cbd6;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.cta-phone strong{font-size:13px}
.cta-photo{position:absolute;right:0;bottom:0;width:215px;height:100%;z-index:1}
.cta-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#07405f 0%,transparent 58%),linear-gradient(0deg,#06172580,transparent 60%)}
.cta-photo img{position:static;width:100%;height:100%;display:block;object-fit:cover;object-position:50% 15%}
@media(max-width:991.98px){.cta{padding:30px 35px;grid-template-columns:1fr auto}.cta-photo{display:none}.cta-glow{right:-60px}.cta-actions{min-width:180px}}
@media(max-width:767.98px){.cta{display:block;padding:30px;text-align:left}.cta-copy{max-width:none}.cta h2{font-size:30px}.cta-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}.cta-trust{flex-wrap:wrap}.cta-phone{justify-content:center}}
@media(max-width:575.98px){.cta-section{padding:42px 0}.cta{padding:26px 20px;border-radius:14px}.cta-kicker{font-size:9px}.cta h2{font-size:27px}.cta p{font-size:12px}.cta-actions{grid-template-columns:1fr}.cta-actions .btn,.cta-phone{width:100%}.cta-trust{gap:10px 16px}}

/* Readability improvements */
body{font-size:15px;line-height:1.65}
p{line-height:1.7}
.nav-link,.btn{font-size:14px}
.text-muted{font-size:15px!important;line-height:1.75;color:#536171!important}
.cert-line{font-size:14px;line-height:1.75}
.stat-card span,.service-card h3{font-size:13px;line-height:1.45}
.why-card{height:185px}
.why-card h3{font-size:15px}
.why-card p{font-size:13px;line-height:1.65;color:#e2edf3}
.project-card h3{font-size:12.5px;line-height:1.4}
.industry-card span,.process-step{font-size:12.5px}
.review-card{min-height:185px}
.review-card p{font-size:13px;line-height:1.7}
.review-card strong,.review-card small{font-size:12px}
.cta p{font-size:14px;line-height:1.7}
.cta-trust{font-size:12px}
.cta-phone strong{font-size:14px}
.footer-main p,.footer-main a{font-size:13px;line-height:1.7}
.footer-main h3{font-size:15px}
.copyright{font-size:12px;line-height:1.6}
@media(max-width:575.98px){body{font-size:15px}.cta p{font-size:14px}.footer-main p,.footer-main a{font-size:13px}.topbar{font-size:11px}}

/* Official brand logo */
.header-logo{display:block;width:225px;height:auto;max-height:64px;object-fit:contain}
.footer-brand{display:inline-flex;width:100%;max-width:255px;margin-bottom:18px;padding:9px 12px;background:#fff;border-radius:8px}
.footer-logo{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1199.98px){.header-logo{width:190px}}
@media(max-width:575.98px){.header-logo{width:180px;max-height:52px}.footer-brand{margin-inline:auto;max-width:245px}}

/* Plain CTA background */
.cta-section{background:#fff}
.cta-section:before,.cta-section:after,.cta:before,.cta-glow{display:none}
.cta{background:#071d2c;border-color:#17384c;box-shadow:0 12px 30px #071d2c24}
.cta-photo:before{display:none}
.cta-actions .btn-orange{background:var(--orange)}

/* Image-free CTA alignment */
.cta{min-height:auto;padding:38px 42px;grid-template-columns:minmax(0,1fr) 205px;gap:48px}
.cta-copy{max-width:680px}
.cta-actions{width:205px;min-width:205px;justify-self:end}
@media(max-width:767.98px){.cta{text-align:center;padding:34px 28px;grid-template-columns:1fr}.cta-copy{margin-inline:auto}.cta-trust{justify-content:center}.cta-actions{width:100%;min-width:0;justify-self:stretch}.cta-phone{justify-content:center}}
@media(max-width:575.98px){.cta{padding:28px 20px}.cta-actions{margin-top:20px}}

/* Larger, more readable footer */
footer{padding-top:34px}
.footer-main{padding:48px 18px 42px}
.footer-brand{max-width:285px;margin-bottom:24px;padding:12px 15px}
.footer-main h3{font-size:18px;line-height:1.3;margin-bottom:18px}
.footer-main p,.footer-main a{font-size:14px;line-height:1.75}
.footer-main a{margin-bottom:5px}
.footer-main p{margin-bottom:12px}
.socials{gap:12px;margin-top:18px}
.socials a{width:34px;height:34px;font-size:15px;margin-bottom:0}
.map{height:170px}
.copyright{padding:17px 10px;font-size:13px;line-height:1.65}
@media(max-width:991.98px){.footer-main{padding-top:40px;padding-bottom:36px}.map{height:190px}}
@media(max-width:575.98px){footer{padding-top:25px}.footer-main{padding-top:34px;padding-bottom:30px;row-gap:32px!important}.footer-brand{max-width:275px}.footer-main h3{font-size:18px}.footer-main p,.footer-main a{font-size:14px}.socials{margin-top:14px}.map{height:210px}.copyright{font-size:12px;padding-block:16px}}

/* Clear section separation */
.section-pad{padding:76px 0}
.about-section{background:#fff;border-bottom:1px solid #e2e9ef}
.services{background:#f3f7fa;border-bottom:1px solid #dfe8ee}
.why{padding-top:72px;padding-bottom:72px;border-top:4px solid #0b8fc9;border-bottom:4px solid #0b8fc9}
.projects{background:#fff;border-bottom:1px solid #dfe7ed}
.industries{background:#f2f6f9;border-bottom:1px solid #dce6ec}
.process{background:#fff}
.testimonials{background:#f3f7fa;border-top:1px solid #dce6ec;border-bottom:1px solid #dce6ec}
.testimonials-intro{max-width:680px;margin:10px auto 0;color:#5a6875}
.testimonials .review-card{background:#fff}
.cta-section{padding:72px 0;background:#eef3f6;border-top:1px solid #d9e4ea}
.about-section .container,.services .container,.projects .container,.industries .container,.process .container{position:relative}
@media(max-width:767.98px){.section-pad{padding:56px 0}.why{padding-top:56px;padding-bottom:56px}.cta-section{padding:52px 0}}
@media(max-width:575.98px){.section-pad{padding:48px 0}.why{padding-top:48px;padding-bottom:48px}.cta-section{padding:44px 0}}

/* Video hero banner */
.hero{min-height:650px;padding:72px 0;background:#061725;display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#031827f2 0%,#061725cf 48%,#06172599 100%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero>.container,.hero>.circuit{z-index:2}
.hero>.circuit{position:absolute}
@media(max-width:991.98px){.hero{min-height:720px;padding:72px 0}}
@media(max-width:575.98px){.hero{min-height:640px;padding:60px 0}.hero:before{background:#031827d9}}

/* Mobile-first readability and spacing */
@media(max-width:767.98px){
  body{font-size:16px;line-height:1.7}
  .container{padding-left:20px;padding-right:20px}
  .topbar{padding:10px 0;font-size:14px}
  .top-phone{font-size:14px;display:inline-flex;align-items:center;gap:5px}
  .top-phone i{font-size:16px}
  .navbar{min-height:68px}
  .navbar-toggler{padding:8px 10px}
  .navbar-toggler-icon{width:24px;height:24px}
  .nav-link{font-size:16px;padding:12px 4px!important}
  .navbar .btn{font-size:15px;padding:12px 20px}

  .hero{min-height:560px;padding:64px 0}
  .hero:before{background:linear-gradient(180deg,#031827ed,#031827dc)}
  .hero-copy{text-align:center}
  .hero h1{font-size:clamp(32px,9vw,42px);line-height:1.16;letter-spacing:-1px}
  .hero h1 br{display:none}
  .hero-copy p{font-size:17px;line-height:1.65;margin:20px auto 26px;max-width:440px}
  .hero-actions{justify-content:center}
  .hero-actions .btn{min-height:52px;font-size:16px;padding:14px 22px}
  .hero-phone{margin:24px 0 0;font-size:19px;text-align:center}
  .hero-collage{display:none}

  .section-pad{padding:52px 0}
  h2,.why h2{font-size:28px;line-height:1.25;letter-spacing:-.5px}
  .eyebrow{font-size:13px;letter-spacing:.06em;margin-bottom:10px}
  .text-muted{font-size:16px!important;line-height:1.8}
  .cert-line{font-size:15px}
  .about-img{height:300px}

  .stat-card{height:150px;padding:16px 10px}
  .stat-card strong,.stat-card i{font-size:36px}
  .stat-card span{font-size:14px;line-height:1.45}
  .service-card{height:145px;padding:16px 8px}
  .service-card i{font-size:40px}
  .service-card h3{font-size:15px;line-height:1.4;margin-top:12px}

  .why-card{height:auto;min-height:205px;padding:26px 22px;text-align:center}
  .why-card i{font-size:46px}
  .why-card h3{font-size:19px;margin:13px 0 9px}
  .why-card p{font-size:15px;line-height:1.7}

  .project-card{height:240px}
  .project-card h3{font-size:16px;line-height:1.45;padding:0 8px 8px}
  .industry-card{min-height:125px;padding:14px 8px}
  .industry-card i{font-size:36px}
  .industry-card span{font-size:14px;line-height:1.35}

  .process-track{padding:24px;border-radius:18px;gap:4px}
  .process-step{min-height:48px;font-size:16px;gap:12px}
  .process-step i{width:48px;font-size:34px;text-align:center}
  .process-track .arrow{font-size:22px;margin:0 0 0 14px}

  .review-card{min-height:auto;padding:24px;margin-bottom:14px}
  .google{font-size:29px}
  .review-top span{font-size:18px}
  .review-card p{font-size:15px;line-height:1.75;margin:12px 0}
  .review-card strong,.review-card small{font-size:14px}

  .cta{padding:32px 22px;text-align:center}
  .cta-kicker{font-size:12px;line-height:1.5}
  .cta h2{font-size:28px;line-height:1.22}
  .cta p{font-size:15px;line-height:1.75}
  .cta-trust{font-size:14px;justify-content:center}
  .cta-actions .btn,.cta-phone{min-height:54px;font-size:15px}
  .cta-phone small{font-size:10px}
  .cta-phone strong{font-size:15px}

  .footer-main{text-align:center}
  .footer-brand{margin-inline:auto}
  .footer-main h3{font-size:19px;margin-bottom:14px}
  .footer-main p,.footer-main a{font-size:15px;line-height:1.75}
  .socials{justify-content:center}
  .socials a{width:42px;height:42px;font-size:18px}
  .copyright{font-size:13px;gap:8px;padding:18px 10px}
  #backToTop{width:48px;height:48px;font-size:19px}
}

@media(max-width:390px){
  .container{padding-left:16px;padding-right:16px}
  .header-logo{width:150px;max-height:46px}
  .hero{min-height:540px;padding:54px 0}
  .hero h1{font-size:30px}
  .hero-copy p{font-size:16px}
  h2,.why h2{font-size:25px}
  .service-card h3{font-size:14px}
  .industry-card span{font-size:13px}
}

/* Quote request modal */
.quote-modal .modal-dialog{max-width:820px}
.quote-modal .modal-content{border:0;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px #03182766}
.quote-modal-head{position:relative;display:flex;justify-content:space-between;gap:24px;padding:30px 34px 26px;color:#fff;background:linear-gradient(125deg,#061725,#073a57)}
.quote-modal-head:after{content:"";position:absolute;width:210px;height:210px;right:-80px;top:-125px;border-radius:50%;background:#0799d333}
.quote-modal-head>div,.quote-modal-head .btn-close{position:relative;z-index:1}
.quote-modal-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:#8addff;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.quote-modal-kicker i{color:var(--orange);font-size:16px}
.quote-modal-head h2{color:#fff;font-size:30px;line-height:1.2;margin:0 0 7px}
.quote-modal-head p{max-width:610px;margin:0;color:#c8dbe5;font-size:14px;line-height:1.6}
.quote-modal-head .btn-close{flex:0 0 auto;margin:0;opacity:.85}
.quote-form .modal-body{padding:28px 34px}
.quote-form .form-label{margin-bottom:7px;color:#233547;font-size:13px;font-weight:700}
.quote-form .form-label span{color:#d9472b}
.quote-field{position:relative}
.quote-field>i{position:absolute;left:14px;top:50%;z-index:2;color:#0788c4;font-size:16px;transform:translateY(-50%);pointer-events:none}
.quote-field .form-control,.quote-field .form-select{padding-left:42px}
.quote-form .form-control,.quote-form .form-select{min-height:48px;border:1px solid #d9e3ea;border-radius:9px;color:#172b3b;font-size:14px;background-color:#f9fbfc}
.quote-form textarea.form-control{min-height:112px;padding:13px 15px;resize:vertical}
.quote-form .form-control:focus,.quote-form .form-select:focus{border-color:#0799d3;background:#fff;box-shadow:0 0 0 4px #0799d319}
.quote-form .form-control.is-invalid,.quote-form .form-select.is-invalid{border-color:#dc3545}
.quote-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.quote-status{display:none;margin-bottom:18px;padding:12px 14px;border-radius:9px;font-size:14px;font-weight:600}
.quote-status.is-success{display:block;color:#12613a;background:#e8f7ef;border:1px solid #bde8d0}
.quote-status.is-error{display:block;color:#8b2635;background:#fff0f2;border:1px solid #f3c5cc}
.quote-modal-footer{display:flex;justify-content:space-between;gap:22px;padding:20px 34px;border-top:1px solid #e8eef2;background:#f7fafb}
.quote-modal-footer p{max-width:420px;margin:0;color:#60707d;font-size:12px;line-height:1.55}
.quote-modal-footer p i{color:#168a54;margin-right:5px}
.quote-submit{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:225px;min-height:50px;border:0}
.quote-submit:disabled{opacity:.7;cursor:wait}

@media(max-width:767.98px){
  .quote-modal .modal-dialog{margin:12px}
  .quote-modal .modal-content{border-radius:16px}
  .quote-modal-head{padding:24px 22px 21px}
  .quote-modal-head h2{font-size:25px}
  .quote-modal-head p{font-size:14px}
  .quote-form .modal-body{padding:22px}
  .quote-form .form-label{font-size:14px}
  .quote-form .form-control,.quote-form .form-select{min-height:52px;font-size:16px}
  .quote-modal-footer{align-items:stretch;flex-direction:column;padding:19px 22px}
  .quote-modal-footer p{max-width:none}
  .quote-submit{width:100%;min-height:54px}
}

/* Responsive hardening for phones and the contact form */
html,body{max-width:100%;overflow-x:hidden}
img,video{max-width:100%}
.footer-main a{overflow-wrap:anywhere}

@media(max-width:767.98px){
  .container{width:100%;max-width:100%}
  .row{--bs-gutter-x:1.25rem}
  .navbar>.container{flex-wrap:wrap}
  .navbar-brand{max-width:calc(100% - 62px);margin-right:0}
  .header-logo{max-width:100%;height:auto}
  .navbar-collapse{width:100%}
  .navbar .quote-trigger{width:100%;margin:10px 0 4px!important}

  .hero{width:100%;min-height:520px}
  .hero-copy{width:100%}
  .hero h1{overflow-wrap:normal;word-break:normal}
  .hero-actions{width:100%}
  .hero-actions .btn{flex:1 1 100%;width:100%}

  .about-section .row>*,.footer-main>*{min-width:0}
  .about-img{width:100%;height:auto;max-height:320px;aspect-ratio:4/3}
  .service-grid,.industry-grid{margin-left:-.5rem;margin-right:-.5rem}
  .service-grid>*,.industry-grid>*{padding-left:.5rem;padding-right:.5rem}
  .process-track{width:100%;overflow:hidden}
  .cta{width:100%}
  .cta-trust{align-items:center}
  .cta-trust span{white-space:normal}

  .footer-main .col-6{width:100%}
  .footer-main a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}

  .quote-modal{padding:0!important}
  .quote-modal .modal-dialog{width:calc(100% - 20px);max-width:none;margin:10px auto}
  .quote-modal .modal-content{max-height:calc(100dvh - 20px)}
  .quote-modal-head{flex:0 0 auto}
  .quote-form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}
  .quote-form .modal-body{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .quote-form .row>*{min-width:0}
  .quote-form .form-control,.quote-form .form-select,.quote-form textarea.form-control{width:100%;max-width:100%}
  .quote-modal-footer{flex:0 0 auto}
}

@media(max-width:575.98px){
  .topbar .container{justify-content:center!important}
  .top-phone{font-size:13px}
  .navbar{position:sticky}
  .header-logo{width:148px;max-height:46px}
  .hero{min-height:500px;padding:48px 0}
  .hero h1{font-size:29px;line-height:1.18}
  .hero-copy p{font-size:15px;line-height:1.55}
  .section-pad{padding:42px 0}
  h2,.why h2{font-size:24px}

  .stat-card{height:140px}
  .service-card{height:138px}
  .why-card{min-height:0}
  .project-card{height:220px}

  .quote-modal .modal-dialog{width:100%;min-height:100dvh;margin:0}
  .quote-modal .modal-content{min-height:100dvh;max-height:100dvh;border-radius:0}
  .quote-modal-head{padding:20px 18px 17px}
  .quote-modal-head h2{font-size:23px;padding-right:6px}
  .quote-modal-head p{font-size:13px;line-height:1.5}
  .quote-modal-kicker{font-size:10px}
  .quote-form .modal-body{padding:18px}
  .quote-form .row{--bs-gutter-y:.85rem}
  .quote-form .form-control,.quote-form .form-select{min-height:50px}
  .quote-form textarea.form-control{min-height:105px}
  .quote-modal-footer{gap:12px;padding:14px 18px 16px}
  .quote-modal-footer p{font-size:11px;text-align:left}
  .quote-submit{min-width:0}
}

@media(max-width:360px){
  .container{padding-left:14px;padding-right:14px}
  .header-logo{width:138px}
  .hero h1{font-size:27px}
  .service-grid>.col-6,.industry-grid>.col-6{width:100%}
  .quote-modal-head h2{font-size:21px}
}

/* Keep the mobile quote form above sticky page elements and its backdrop */
.modal-backdrop{z-index:10040!important}
.quote-modal{z-index:10050!important;background:transparent!important}
.quote-modal .modal-dialog,.quote-modal .modal-content{position:relative;z-index:1}
.quote-modal .modal-content,.quote-form .modal-body,.quote-modal-footer{background-color:#fff}
.quote-modal-head{background:linear-gradient(125deg,#061725,#073a57)!important}
body.modal-open .topbar,body.modal-open .navbar,body.modal-open #backToTop{z-index:1!important}

@media(max-width:575.98px){
  .quote-modal{background:#fff!important}
  .quote-modal .modal-dialog{height:100dvh}
  .quote-modal .modal-content{height:100dvh;overflow:hidden}
  .quote-modal-head{position:relative;z-index:3}
  .quote-form .modal-body{position:relative;z-index:2}
  .quote-modal-footer{position:relative;z-index:3;box-shadow:0 -6px 18px #06172514}
}
