/* Final scale, speed and app-like polish */
html{scroll-padding-top:90px}.container{width:min(1120px,calc(100% - 40px))}body{font-size:14px}.noise{display:none}.site-header{padding-top:4px}.nav{height:74px;margin-top:8px;border-radius:22px}.brand{gap:13px}.nav .brand img,.footer .brand img{width:86px;height:64px;object-fit:contain;object-position:center;aspect-ratio:1/1;flex:0 0 auto}.brand strong{font-size:16px}.brand small{font-size:10px}.nav-list{gap:22px}.nav-list>li>a,.submenu-toggle{font-size:13px;padding:21px 0}.nav-cta{padding:10px 15px;font-size:12px}
.hero{height:790px;min-height:700px}.hero-inner{padding-top:105px}.hero-copy{max-width:630px;padding:38px 40px;border-radius:38px 14px 38px 38px}.hero h1{font-size:clamp(36px,4.1vw,54px);line-height:1.3;margin:17px 0 10px}.hero-lead{font-size:17px;line-height:1.9}.hero-actions{margin-top:18px}.btn{min-height:48px;padding:0 20px;font-size:13px}.hero-trust{margin-top:24px;padding-top:20px}.hero-trust strong{font-size:25px}.hero-card{width:280px;padding:20px;margin-bottom:65px}.hero-card>strong{font-size:15px}.hero-index{font-size:76px}.scroll-hint{bottom:18px}.marquee{padding:12px 0}.marquee span{font-size:12px}
.section{padding:88px 0}.section-head{margin-bottom:34px}.section-head h2,.about-copy h2,.contact-info h2{font-size:clamp(28px,3.2vw,42px);line-height:1.5}.section-head>p{font-size:13px;max-width:370px}.kicker{font-size:10px}.services{padding-top:105px}.services-grid{gap:16px}.service-card,.service-card.featured,.service-card:last-child{border-radius:30px}.service-image,.featured .service-image{height:205px;border-radius:23px}.featured .service-image{height:350px}.service-card:nth-child(even) .service-image{border-radius:23px}.service-body,.service-card:last-child .service-body{padding:17px 23px 23px}.service-body h3{font-size:18px}.service-body p{font-size:12px}.service-body>i{width:44px;height:44px;border-radius:14px}.about{border-radius:52px 52px 0 0}.about-grid{gap:68px}.about-visual>img{height:520px}.feature-list li{padding:12px;border-radius:17px}.process{border-radius:50px;margin-inline:12px}.steps{gap:12px}.steps article{padding:23px;border-radius:23px}.steps article>i{margin-bottom:30px}.steps h3{font-size:14px}.projects .project-grid{grid-template-rows:260px 260px;gap:15px}.project,.project.large{border-radius:28px}.quote{padding-bottom:70px}.quote-inner{padding:36px 44px;border-radius:30px}.blog-grid{gap:15px}.post{border-radius:25px}.post>a,.post:first-child>a{height:190px;border-radius:19px}.post h3{font-size:14px}.contact-card{border-radius:38px}.contact-info{padding:40px}.map-wrap{min-height:450px;border-radius:29px}.footer{border-radius:52px 52px 0 0;padding-top:65px}.app-dock{display:none}
/* Fast compositing: remove costly perpetual motion and excessive blur */
.hero-bg,.hero-grid,.hero-card,.about-visual:after,.site-atmosphere span{animation:none!important}.hero-bg{transform:none!important}.nav,.hero-copy,.hero-card,.mega-menu,.service-card{backdrop-filter:none}.reveal{transition-duration:.45s;transform:translateY(16px)}.service-card,.post,.project,.feature-list li,.btn{will-change:auto}.industrial-zone:before{opacity:.38}.service-card:hover,.post:hover{transform:translateY(-5px)}.service-card:hover .service-image img,.post:hover img{transform:scale(1.025)}.map-wrap:hover iframe{transform:none}
/* Small contextual imagery without heavy layers */
.services{background-image:radial-gradient(circle at 5% 15%,rgba(242,170,0,.13),transparent 20%),url('../images/logo.png');background-repeat:no-repeat;background-size:auto,120px;background-position:center,calc(100% - 5%) 8%;background-blend-mode:normal,multiply}.services:before{opacity:.18}.about-copy{position:relative}.about-copy:before{content:"";position:absolute;left:-35px;top:-35px;width:90px;height:90px;background:url('../images/favicon.png') center/contain no-repeat;opacity:.07;pointer-events:none}.blog{background-image:linear-gradient(rgba(245,247,251,.93),rgba(245,247,251,.93)),url('../images/blog-safety.webp');background-size:cover;background-position:center;background-attachment:scroll}
@media(max-width:980px){.container{width:min(760px,calc(100% - 28px))}.nav{height:68px}.nav .brand img{width:76px;height:58px}.hero{height:auto;min-height:820px}.hero-inner{padding-top:105px}.hero-copy{max-width:700px;padding:32px}.hero h1{font-size:42px}.section{padding:76px 0}.services{padding-top:92px}.featured .service-image{height:300px}.about-visual>img{height:480px}.projects .project-grid{grid-template-rows:240px 240px}.footer-grid{gap:35px}}
@media(max-width:640px){html{scroll-padding-top:76px}body{font-size:13px;padding-bottom:82px;background:#f3f6fb}.container{width:calc(100% - 20px)}.topbar{display:none}.site-header{position:absolute}.nav{height:64px;margin-top:8px;padding:0 10px;border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 10px 35px rgba(11,33,69,.12)}.nav .brand img{width:70px;height:54px}.brand strong{font-size:13px;color:var(--ink)}.brand small{color:var(--muted)}.menu-toggle{width:42px;height:42px}.hero{min-height:790px;border-radius:0 0 38px 38px}.hero-inner{padding-top:90px}.hero-copy{padding:25px 19px;border-radius:28px 10px 28px 28px;background:linear-gradient(145deg,rgba(7,29,59,.84),rgba(7,29,59,.57))}.hero h1{font-size:32px;line-height:1.45;margin-top:14px}.hero-lead{font-size:14px;line-height:1.9}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.btn{min-height:46px;padding:0 12px;font-size:11px}.hero-trust{gap:6px}.hero-trust strong{font-size:20px}.hero-trust span{font-size:9px}.marquee{margin:-18px 8px 0;border-radius:16px;transform:none}.section{padding:65px 0}.section-head{margin-bottom:25px}.section-head h2,.about-copy h2,.contact-info h2{font-size:27px;line-height:1.55}.section-head>p{font-size:11px}.services{padding-top:78px;background-size:auto,75px}.services-grid{display:flex;overflow-x:auto;gap:12px;padding:5px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.services-grid::-webkit-scrollbar{display:none}.service-card,.service-card.featured,.service-card:last-child{flex:0 0 86%;scroll-snap-align:center;border-radius:27px}.service-image,.featured .service-image{height:235px}.service-card:last-child .service-body{display:block}.about{border-radius:38px 38px 0 0}.about-grid{gap:50px}.about-visual>img{height:390px}.experience{font-size:10px}.feature-list{grid-template-columns:1fr 1fr;gap:8px}.feature-list li{padding:10px;align-items:center}.feature-list span{display:none}.feature-list i{width:38px;height:38px}.process{margin:0 6px;border-radius:36px}.steps{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;scrollbar-width:none}.steps article{flex:0 0 78%;scroll-snap-align:center;min-height:210px}.projects .project-grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory}.project,.project.large{flex:0 0 88%;min-height:350px;scroll-snap-align:center}.quote-inner{padding:27px 20px}.blog-grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory}.post,.post:first-child{flex:0 0 84%;scroll-snap-align:center}.contact-card{border-radius:30px;padding:8px}.contact-info{padding:27px 14px}.map-wrap{min-height:320px;border-radius:24px}.footer{border-radius:38px 38px 0 0}.float-whatsapp,.to-top{bottom:92px}.app-dock{position:fixed;z-index:200;right:8px;left:8px;bottom:8px;height:68px;padding:6px 7px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:rgba(255,255,255,.96);border:1px solid rgba(11,33,69,.08);border-radius:23px;box-shadow:0 14px 45px rgba(8,28,58,.2)}.app-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#738096;font-size:9px}.app-dock i{font-size:16px}.app-dock .dock-call{width:54px;height:54px;margin:-20px auto 0;border-radius:19px;background:linear-gradient(145deg,var(--amber),#e89a00);color:var(--ink);box-shadow:0 12px 28px rgba(216,143,0,.32)}.app-dock a:active{transform:scale(.94)}}
@media(prefers-reduced-motion:reduce){.reveal{transition:none}.marquee-track{animation:none}}
/* Exact square brand mark — prevent any logo distortion */
.brand img,.nav .brand img,.footer .brand img{width:72px!important;height:72px!important;min-width:72px;aspect-ratio:1/1!important;object-fit:contain!important;object-position:center!important;transform:none!important;border-radius:50%}
.nav{min-height:82px}
.footer .brand img{width:78px!important;height:78px!important}
@media(max-width:640px){.nav{min-height:68px}.brand img,.nav .brand img{width:58px!important;height:58px!important;min-width:58px}}
/* Natural logo proportions — never force its height */
.brand img,.nav .brand img{width:66px!important;height:auto!important;max-height:66px!important;min-width:0!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:0!important;display:block}
.footer .brand img{width:74px!important;height:auto!important;max-height:74px!important;aspect-ratio:auto!important}
@media(max-width:640px){.brand img,.nav .brand img{width:56px!important;height:auto!important;max-height:56px!important;min-width:0!important}}
/* Friendlier, more inviting hero message */
.hero-copy{overflow:hidden;position:relative}
.hero-copy:before{content:"";position:absolute;width:230px;height:230px;left:-110px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,46,.19),transparent 68%);pointer-events:none}
.hero h1{letter-spacing:-.025em;text-wrap:balance}
.hero h1 a{display:inline;background:linear-gradient(110deg,#fff 15%,#fff4cf 60%,#ffc82e 115%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 15px 45px rgba(0,0,0,.13)}
.hero h1 a:after{content:"";display:block;width:110px;height:8px;margin-top:14px;border-radius:99px;background:linear-gradient(90deg,var(--amber),rgba(255,200,46,0));box-shadow:0 4px 18px rgba(255,200,46,.24)}
.hero-lead{max-width:560px;margin-bottom:16px}
.hero-points{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.hero-points span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:99px;background:rgba(255,255,255,.075);color:#e9eff7;font-size:10px}
.hero-points i{color:var(--amber);font-size:10px}
.hero-actions{margin-top:0}
@media(max-width:640px){.hero h1{letter-spacing:-.015em}.hero h1 a:after{height:6px;width:82px}.hero-points{gap:6px;margin-bottom:18px}.hero-points span{padding:6px 9px;font-size:9px}.hero-copy:before{width:160px;height:160px}}

.scroll-hint,.marquee{display:none!important}
.services{padding-top:88px}
@media(max-width:640px){.services{padding-top:65px}}
/* Static dark service: jack supports and accessories */
.services-grid .service-card:last-child,
.services-grid .service-card:last-child:hover{transform:none!important;background:linear-gradient(120deg,var(--ink),#1b4c83)!important;box-shadow:0 20px 60px rgba(13,39,75,.09)!important;color:#fff!important}
.services-grid .service-card:last-child h3,
.services-grid .service-card:last-child p,
.services-grid .service-card:last-child .service-body>i{color:#fff!important}
.services-grid .service-card:last-child .service-body>i{background:rgba(255,255,255,.1)!important}
.services-grid .service-card:last-child>a,
.services-grid .service-card:last-child .service-body>a{color:var(--ink)!important}
/* Organic, friendly hero — remove the formal boxed feeling */
.hero-copy{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:34px 22px 34px 34px!important;overflow:visible!important}
.hero-copy:before{content:""!important;position:absolute!important;z-index:-1!important;right:-90px!important;top:-85px!important;width:620px!important;height:560px!important;border-radius:46% 54% 63% 37% / 42% 39% 61% 58%!important;background:radial-gradient(ellipse at 68% 45%,rgba(5,24,51,.91) 0,rgba(5,24,51,.68) 48%,rgba(5,24,51,0) 73%)!important;pointer-events:none!important}
.hero-copy:after{display:none!important}
.hero .eyebrow{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 9px 30px rgba(0,0,0,.12)!important}
.hero h1{max-width:620px;text-shadow:0 14px 44px rgba(0,0,0,.24)}
.hero h1 a:after{height:6px!important;width:96px!important;transform:rotate(-2deg);transform-origin:right}
.hero-lead{max-width:535px;color:#e1e8f2!important;text-shadow:0 5px 22px rgba(0,0,0,.26)}
.hero-points span{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 8px 22px rgba(0,0,0,.1);transition:transform .25s,background .25s}
.hero-points span:nth-child(2){transform:translateY(5px)}
.hero-points span:hover{transform:translateY(-3px);background:rgba(255,255,255,.18)!important}
.hero-card{border-radius:42px 42px 12px 42px!important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,248,225,.9))!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 25px 65px rgba(0,0,0,.2)!important;transform:rotate(-1.5deg)}
.hero-card:before{content:"";position:absolute;left:22px;top:-8px;width:54px;height:16px;border-radius:99px;background:var(--amber);opacity:.9}
.hero-card>strong{line-height:1.85}
.hero-card>a{border:0!important;background:rgba(11,33,69,.055);padding:11px;border-radius:18px}
@media(max-width:980px){.hero-copy{padding:28px 15px!important}.hero-copy:before{right:-70px!important;top:-45px!important;width:680px!important;height:610px!important}.hero-card{display:none}}
@media(max-width:640px){.hero-copy{padding:24px 12px!important}.hero-copy:before{right:-55px!important;top:-25px!important;width:420px!important;height:530px!important;background:radial-gradient(ellipse at 70% 43%,rgba(5,24,51,.93),rgba(5,24,51,.6) 58%,transparent 78%)!important}.hero-points span:nth-child(2){transform:none}.hero-points span:hover{transform:none}}

/* Logo: width only; intrinsic height */
.brand img,.nav .brand img,.footer .brand img{width:66px!important;height:auto!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important}
.footer .brand img{width:74px!important}
@media(max-width:640px){.brand img,.nav .brand img{width:56px!important;height:auto!important;max-height:none!important}}

/* Faster, responsive interactions — no slow-motion hover */
.btn,.service-card,.post,.project,.feature-list li,.nav-cta i,.socials a,.map-wrap iframe,.mega-menu,.mega-menu>a,.hero-points span,.service-image:after,.project:before,.project span:after,.to-top{transition-duration:.18s!important;transition-delay:0s!important;transition-timing-function:ease-out!important}
.service-image img,.post img,.project img{transition-duration:.24s!important;transition-delay:0s!important;transition-timing-function:ease-out!important}
.reveal{transition-duration:.28s!important;transition-delay:0s!important;transform:translateY(10px)}
.service-card:hover,.post:hover,.feature-list li:hover{transform:translateY(-3px)!important}
.service-card:hover .service-image img,.post:hover img,.project:hover img{transform:scale(1.012)!important}
.btn:hover{transform:translateY(-2px)!important}
.nav-cta:hover i,.service-body>a:hover i,.post div>a:hover i{transform:translateX(-2px)!important;transition-duration:.16s!important}
.project:hover:before{transform:none!important}.hero-points span:hover{transform:translateY(-1px)!important}
@media(max-width:980px){.service-card:hover,.post:hover,.feature-list li:hover,.btn:hover{transform:none!important}.service-card:hover .service-image img,.post:hover img,.project:hover img{transform:none!important}}
/* Hero buttons: immediate, crisp hover with no slow movement */
.hero-actions .btn{transform:none!important;transition:background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out!important}
.hero-actions .btn:hover,.hero-actions .btn:focus-visible{transform:none!important}
.hero-actions .btn-primary{background:var(--amber)!important;color:var(--ink)!important;box-shadow:0 10px 24px rgba(242,170,0,.22)!important}
.hero-actions .btn-primary:hover,.hero-actions .btn-primary:focus-visible{background:#fff!important;color:var(--ink)!important;box-shadow:0 8px 20px rgba(0,0,0,.16)!important}
.hero-actions .btn-ghost{background:rgba(255,255,255,.07)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important;box-shadow:none!important}
.hero-actions .btn-ghost:hover,.hero-actions .btn-ghost:focus-visible{background:var(--amber)!important;color:var(--ink)!important;border-color:var(--amber)!important;box-shadow:none!important}
.hero-actions .btn i{transform:none!important;transition:none!important}
/* Normal independent hover for each hero button */
.hero-actions .btn{cursor:pointer;transform:none!important}
.hero-actions .btn-primary:hover{background:#e5a000!important;color:var(--ink)!important;box-shadow:0 10px 24px rgba(229,160,0,.28)!important}
.hero-actions .btn-ghost:hover{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.62)!important;box-shadow:none!important}
.hero-actions .btn-primary:not(:hover){background:var(--amber)!important;color:var(--ink)!important}
.hero-actions .btn-ghost:not(:hover){background:rgba(255,255,255,.07)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important}
/* Performance pass: preserve design, remove expensive rendering */
.hero:after{display:none!important}
.hero-bg,.service-image img,.post img,.project img,.map-wrap iframe{filter:none!important}
.nav,.mega-menu,.hero-copy,.hero-card,.service-card,.zone-label{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hero-copy,.hero-card,.service-card,.post,.project,.contact-card,.quote-inner,.nav{box-shadow:0 12px 32px rgba(8,28,58,.12)!important}
.hero-card{animation:none!important}
.industrial-zone:before{display:none!important}
.services,.blog{background-image:none!important}
.reveal{transition:opacity .2s ease-out,transform .2s ease-out!important;transition-delay:0s!important;transform:translateY(6px)}
.reveal.visible{transform:none}
.service-image:after,.about-visual:after,.project:before,.steps article:after{display:none!important}
.service-card,.post,.project,.btn,.feature-list li,.nav-cta i,.socials a,.to-top{transition-duration:.14s!important}
.service-image img,.post img,.project img{transition:transform .18s ease-out!important}
@media(max-width:980px){.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-copy,.hero-card,.service-card,.post,.project,.contact-card,.quote-inner,.nav{box-shadow:0 8px 22px rgba(8,28,58,.1)!important}}

.zone-label{display:none!important}

/* Sticky navigation */
.site-header{position:fixed!important;top:0;right:0;left:0;z-index:1000;transition:background-color .16s ease-out,transform .16s ease-out!important}
.site-header .topbar{transition:max-height .16s ease-out,opacity .16s ease-out,padding .16s ease-out;overflow:hidden;max-height:42px}
.site-header.header-scrolled{background:rgba(245,247,251,.9);box-shadow:0 8px 24px rgba(8,28,58,.08)}
.site-header.header-scrolled .topbar{max-height:0;opacity:0}
.site-header.header-scrolled .nav{height:66px!important;min-height:66px!important;margin-top:7px;margin-bottom:7px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 8px 24px rgba(8,28,58,.1)!important}
.site-header.header-scrolled .nav .brand img{width:58px!important}
.site-header.header-scrolled .menu-toggle span{background:var(--ink)}
@media(max-width:640px){.site-header{position:fixed!important}.site-header .topbar{display:none}.site-header.header-scrolled .nav{height:60px!important;min-height:60px!important;margin-top:5px;margin-bottom:5px}.site-header.header-scrolled .nav .brand img{width:50px!important}}
/* Full-bleed footer */
.footer{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;position:relative;right:auto;left:auto}
.footer>.container,.footer .footer-grid,.footer .ap-footer-bottom{width:min(1120px,calc(100% - 40px))!important;max-width:1120px!important;margin-right:auto!important;margin-left:auto!important}
@media(max-width:640px){.footer>.container,.footer .footer-grid,.footer .ap-footer-bottom{width:calc(100% - 20px)!important}}
/* SEO brand headings */
.hero-subtitle{font-size:clamp(17px,1.45vw,21px)!important;font-weight:500;line-height:1.9;margin:0 0 16px!important;color:#e1e8f2!important;max-width:535px;text-shadow:0 5px 22px rgba(0,0,0,.26)}
.footer-brand-subtitle{font-size:12px!important;font-weight:500!important;color:var(--amber)!important;margin:4px 0 12px!important}
@media(max-width:640px){.hero-subtitle{font-size:14px!important;line-height:1.9}.footer-brand-subtitle{font-size:11px!important}}
/* Larger brand marks, intrinsic proportions preserved */
.brand img,.nav .brand img{width:82px!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important}
.footer .brand img{width:94px!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important}
.site-header.header-scrolled .nav .brand img{width:68px!important;height:auto!important}
@media(max-width:640px){.brand img,.nav .brand img{width:66px!important;height:auto!important}.footer .brand img{width:82px!important;height:auto!important}.site-header.header-scrolled .nav .brand img{width:58px!important;height:auto!important}}
/* Fill the featured service card — remove empty bottom space */
@media(min-width:981px){
  .services-grid .service-card.featured{display:flex!important;flex-direction:column;height:100%}
  .services-grid .service-card.featured .service-image{flex:1 1 auto;width:calc(100% - 24px);min-height:390px;height:auto!important}
  .services-grid .service-card.featured .service-body{flex:0 0 auto;width:100%}
}
/* Global responsive width fix — prevent RTL page drift */
html,body{width:100%;max-width:100%;overflow-x:clip!important}
body{position:relative}
.site-header,main,.footer,.hero,.section{width:100%;max-width:100%}
main{overflow-x:clip}
.container{width:min(1120px,calc(100% - 40px))!important;max-width:1120px!important;margin-right:auto!important;margin-left:auto!important;padding-right:0;padding-left:0}
.hero-inner,.about-grid,.services-grid,.project-grid,.blog-grid,.steps,.contact-card,.footer-grid{min-width:0;max-width:100%}
.hero-inner>*,.about-grid>*,.services-grid>*,.project-grid>*,.blog-grid>*,.steps>*,.contact-card>*,.footer-grid>*{min-width:0}
img,iframe{max-width:100%}
.hero-copy:before{max-width:calc(100vw - 10px)!important}
.about-copy:before{left:0!important}
.process{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin-right:auto!important;margin-left:auto!important}
.footer>.container,.footer .footer-grid,.footer .ap-footer-bottom{box-sizing:border-box}
@media(max-width:980px){
  .container{width:calc(100% - 28px)!important;max-width:760px!important}
  .services-grid,.project-grid,.blog-grid,.steps{max-width:100%;min-width:0}
  .hero-copy:before{right:-30px!important;width:calc(100vw - 10px)!important}
}
@media(max-width:640px){
  .container{width:calc(100% - 20px)!important;max-width:none!important}
  .process{width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important}
  .services-grid,.projects .project-grid,.blog-grid,.steps{width:100%!important;max-width:100%!important;box-sizing:border-box;overscroll-behavior-inline:contain}
  .service-card,.project,.post,.steps article{max-width:88vw}
  .hero-copy:before{right:-15px!important;width:calc(100vw - 20px)!important}
  .footer>.container,.footer .footer-grid,.footer .ap-footer-bottom{width:calc(100% - 20px)!important;max-width:none!important}
}
/* Softer curved visual language */
.hero{border-radius:0 0 72px 72px;overflow:hidden}
.hero:before{border-radius:0 0 72px 72px}
.services{margin-top:-1px;border-radius:64px 64px 0 0}
.service-card,.service-card.featured,.service-card:last-child{border-radius:36px}
.service-image,.featured .service-image,.service-card:nth-child(even) .service-image{border-radius:28px 72px 28px 28px}
.service-card:nth-child(even) .service-image{border-radius:72px 28px 28px 28px}
.about{border-radius:72px 72px 72px 18px;margin-bottom:28px}
.about-visual>img{border-radius:180px 42px 180px 42px}
.process{border-radius:70px 22px 70px 22px}
.steps article:first-child{border-radius:28px 58px 28px 28px}
.steps article:last-child{border-radius:58px 28px 28px 28px}
.projects{border-radius:72px 18px 72px 18px;margin:28px auto;width:calc(100% - 24px)}
.project,.project.large{border-radius:38px}
.project.large{border-radius:90px 38px 38px 38px}
.quote-inner{border-radius:58px 20px 58px 20px}
.post{border-radius:34px}
.post>a,.post:first-child>a{border-radius:27px 60px 27px 27px}
.contact-card{border-radius:60px 22px 60px 22px}
.map-wrap{border-radius:44px 18px 44px 18px}
.footer{border-radius:70px 70px 0 0!important}
.section-head h2{position:relative}
.section-head h2:after{content:"";display:block;width:52px;height:5px;margin-top:12px;border-radius:99px;background:linear-gradient(90deg,var(--amber),rgba(255,200,46,0))}
@media(max-width:980px){.hero{border-radius:0 0 50px 50px}.services{border-radius:48px 48px 0 0}.about{border-radius:52px 52px 52px 16px}.process{border-radius:52px 18px 52px 18px}.projects{border-radius:52px 16px 52px 16px}}
@media(max-width:640px){.hero{border-radius:0 0 36px 36px}.services{border-radius:34px 34px 0 0}.service-card,.service-card.featured,.service-card:last-child{border-radius:30px}.service-image,.featured .service-image,.service-card:nth-child(even) .service-image{border-radius:24px 52px 24px 24px}.about{border-radius:38px 38px 38px 12px;margin-bottom:16px}.about-visual>img{border-radius:110px 28px 110px 28px}.process{border-radius:38px 14px 38px 14px}.projects{width:calc(100% - 12px);border-radius:38px 12px 38px 12px;margin-block:16px}.project,.project.large{border-radius:30px}.quote-inner{border-radius:38px 14px 38px 14px}.contact-card{border-radius:40px 14px 40px 14px}.map-wrap{border-radius:30px 12px 30px 12px}.footer{border-radius:42px 42px 0 0!important}}
/* Structural signature shapes — unique to formwork and scaffolding */
.hero{border-radius:0 0 12% 38% / 0 0 8% 7%!important}
.hero:before{border-radius:0!important}.services{border-radius:0!important;margin-top:0}
.service-card,.service-card.featured,.service-card:last-child{border-radius:18px!important;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.service-card.featured{clip-path:none;border-radius:160px 20px 20px 20px!important}
.service-image,.featured .service-image,.service-card:nth-child(even) .service-image{border-radius:10px!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}
.featured .service-image{border-radius:140px 12px 12px 12px!important;clip-path:none}
.service-card:last-child{border-radius:18px!important;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px))}
.about{border-radius:0!important;margin-bottom:0;clip-path:polygon(0 0,92% 0,100% 9%,100% 100%,8% 100%,0 91%)}
.about-visual>img{border-radius:50% 50% 14px 14px!important;clip-path:none}
.process{border-radius:0!important;clip-path:polygon(0 0,96% 0,100% 11%,100% 100%,4% 100%,0 89%)}
.steps article,.steps article:first-child,.steps article:last-child{border-radius:14px!important;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.projects{border-radius:0!important;clip-path:none}
.project,.project.large{border-radius:12px!important;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%)}
.project.large{clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%)}
.quote-inner{border-radius:80px 12px 80px 12px!important}
.post{border-radius:14px!important;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.post>a,.post:first-child>a{border-radius:6px!important;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.contact-card{border-radius:14px!important;clip-path:polygon(0 0,calc(100% - 44px) 0,100% 44px,100% 100%,44px 100%,0 calc(100% - 44px))}
.map-wrap{border-radius:60% 12px 12px 12px!important}
.footer{border-radius:0!important;clip-path:polygon(0 34px,34px 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%);padding-top:85px}
.section-head h2:after{width:76px;height:8px;border-radius:0!important;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
@media(max-width:980px){.hero{border-radius:0 0 10% 25% / 0 0 5% 5%!important}.about,.process{clip-path:polygon(0 0,95% 0,100% 5%,100% 100%,5% 100%,0 95%)}.service-card.featured{border-radius:110px 18px 18px 18px!important}.featured .service-image{border-radius:95px 10px 10px 10px!important}}
@media(max-width:640px){.hero{border-radius:0 0 8% 18% / 0 0 3% 3%!important}.service-card,.service-card.featured,.service-card:last-child{border-radius:14px!important;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.featured .service-image{border-radius:70px 8px 8px 8px!important;clip-path:none}.about{clip-path:polygon(0 0,94% 0,100% 4%,100% 100%,6% 100%,0 96%)}.about-visual>img{border-radius:45% 45% 10px 10px!important}.process{clip-path:polygon(0 0,95% 0,100% 4%,100% 100%,5% 100%,0 96%)}.quote-inner{border-radius:48px 10px 48px 10px!important}.contact-card{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.map-wrap{border-radius:42% 8px 8px 8px!important}.footer{clip-path:polygon(0 20px,20px 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);padding-top:65px}}
/* Services featured card correction */
@media(min-width:981px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;align-items:stretch}
  .services-grid .service-card.featured{grid-column:auto!important;grid-row:auto!important;display:block!important;height:auto!important;border-radius:18px!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))!important}
  .services-grid .service-card.featured .service-image{width:auto!important;min-height:0!important;height:220px!important;flex:none!important;margin:12px!important;border-radius:10px!important;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)!important}
  .services-grid .service-card.featured .service-image img{width:100%;height:100%;object-fit:cover!important}
  .services-grid .service-card.featured .service-body{width:auto!important}
  .services-grid .service-card:last-child{grid-column:1/3!important}
}
@media(max-width:980px) and (min-width:641px){
  .services-grid .service-card.featured{border-radius:18px!important;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))!important}
  .services-grid .service-card.featured .service-image{height:230px!important;border-radius:10px!important;clip-path:none!important}
}
@media(max-width:640px){
  .services-grid .service-card.featured .service-image{height:220px!important;border-radius:8px!important;clip-path:none!important}
}
/* Compact modern desktop density */
@media(min-width:1100px){
  .container{width:min(1080px,calc(100% - 64px))!important;max-width:1080px!important}
  body{font-size:13px}
  .nav{height:68px!important;min-height:68px!important;max-width:1080px}
  .nav .brand img{width:72px!important}
  .brand strong{font-size:14px}.nav-list{gap:18px}.nav-list>li>a,.submenu-toggle{font-size:12px;padding-block:18px}.nav-cta{font-size:11px;padding:8px 13px}
  .hero{height:720px!important;min-height:660px!important}
  .hero-inner{padding-top:92px;gap:32px}
  .hero-copy{max-width:570px!important;padding:26px 18px 26px 28px!important}
  .hero h1{font-size:44px!important;line-height:1.3;margin-block:14px 8px}
  .hero-subtitle{font-size:17px!important;margin-bottom:12px!important}
  .eyebrow{font-size:10px;padding:6px 11px}.hero-points{margin-bottom:16px}.hero-points span{padding:5px 9px}
  .hero-actions .btn{min-height:44px;padding-inline:17px;font-size:12px}
  .hero-trust{margin-top:18px;padding-top:16px}.hero-trust strong{font-size:22px}.hero-card{width:250px;padding:17px;margin-bottom:48px}
  .section{padding:72px 0}.services{padding-top:74px}
  .section-head{margin-bottom:27px}.section-head h2,.about-copy h2,.contact-info h2{font-size:34px!important;line-height:1.45}.section-head>p{font-size:12px;max-width:330px}
  .services-grid{gap:13px!important}.service-card,.service-card.featured,.service-card:last-child{min-height:0}.service-image,.featured .service-image,.services-grid .service-card.featured .service-image{height:185px!important}.service-body,.service-card:last-child .service-body{padding:14px 19px 19px}.service-body>i{width:40px;height:40px}.service-body h3{font-size:16px;margin-block:7px 4px}.service-body p{font-size:11px;line-height:1.8;margin-bottom:10px}
  .about-grid{gap:52px}.about-visual>img{height:440px}.about-copy>p{font-size:12px}.feature-list{margin-block:20px;gap:8px}.feature-list li{padding:10px}.feature-list b{font-size:12px}.feature-list span{font-size:10px}
  .steps{gap:9px}.steps article{padding:19px}.steps article>i{width:46px;height:46px;margin-bottom:22px}.steps h3{font-size:13px}.steps p{font-size:10px}
  .projects .project-grid{grid-template-rows:220px 220px;gap:12px}.project span{right:20px;bottom:18px}.project b{font-size:15px}
  .quote-inner{padding:28px 36px}.quote h2{font-size:36px}
  .blog-grid{gap:12px}.post>a,.post:first-child>a{height:165px}.post>div{padding:10px 18px 20px}.post h3{font-size:13px}.post p{font-size:10px}
  .contact-info{padding:32px}.contact-card{gap:22px}.map-wrap{min-height:390px}.contact-lines{gap:10px;margin-top:20px}
  .footer{padding-top:58px}.footer-grid{max-width:1080px!important;gap:38px;padding-bottom:42px}.footer .brand img{width:82px!important}
}
/* Services layout redesign — balanced 12-column bento */
@media(min-width:981px){
  .services-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:auto auto!important;gap:14px!important;align-items:stretch}
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child{display:flex!important;flex-direction:column!important;height:100%!important;min-height:310px!important;border-radius:24px!important;clip-path:none!important}
  .services-grid .service-card:nth-child(1){grid-column:1/8!important;grid-row:1!important}
  .services-grid .service-card:nth-child(2){grid-column:8/13!important;grid-row:1!important}
  .services-grid .service-card:nth-child(3){grid-column:1/6!important;grid-row:2!important}
  .services-grid .service-card:nth-child(4){grid-column:6/13!important;grid-row:2!important}
  .services-grid .service-image,.services-grid .service-card.featured .service-image,.services-grid .service-card:nth-child(even) .service-image{width:calc(100% - 20px)!important;height:175px!important;min-height:175px!important;flex:0 0 175px!important;margin:10px!important;border-radius:18px!important;clip-path:none!important}
  .services-grid .service-card:nth-child(1) .service-image,.services-grid .service-card:nth-child(4) .service-image{height:190px!important;min-height:190px!important;flex-basis:190px!important}
  .services-grid .service-card .service-image img{width:100%;height:100%;object-fit:cover!important}
  .services-grid .service-body,.services-grid .service-card.featured .service-body{width:100%!important;flex:1 1 auto!important;padding:14px 20px 20px!important}
  .services-grid .service-card:last-child{min-height:310px!important;justify-content:center!important;background:linear-gradient(135deg,#0b2145,#17477e)!important}
  .services-grid .service-card:last-child .service-body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:30px!important;gap:5px!important}
  .services-grid .service-card:last-child .service-body>a{position:static!important;margin-top:12px!important;align-self:flex-start!important}
}
@media(max-width:980px) and (min-width:641px){
  .services-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:13px!important}
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child{grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column!important;min-height:300px!important;border-radius:22px!important;clip-path:none!important}
  .services-grid .service-image,.services-grid .service-card.featured .service-image{width:calc(100% - 20px)!important;height:180px!important;min-height:180px!important;margin:10px!important;border-radius:16px!important;clip-path:none!important}
  .services-grid .service-card:last-child .service-body{display:flex!important;flex-direction:column!important;justify-content:center!important;height:100%!important}
}
@media(max-width:640px){
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child{clip-path:none!important;border-radius:24px!important;min-height:0!important}
}

.services .section-head h2{max-width:560px;text-wrap:balance}.services .section-head h2 em{display:inline-block;padding:0 7px 2px;border-radius:9px;background:rgba(242,170,0,.13);color:#a96c00;font-style:normal}.services .section-head h2:after{display:none}

/* Remove all sharp cut corners; use soft asymmetric curves */
.service-card,.service-card.featured,.service-card:last-child,
.service-image,.featured .service-image,
.about,.process,.steps article,
.projects,.project,.project.large,
.post,.post>a,.post:first-child>a,
.contact-card,.map-wrap,.footer{clip-path:none!important}
.service-card,.service-card.featured,.service-card:last-child{border-radius:26px!important}
.service-image,.featured .service-image,.service-card:nth-child(even) .service-image{border-radius:20px!important}
.about{border-radius:48px 48px 18px 48px!important}
.about-visual>img{border-radius:34% 34% 24px 24px!important}
.process{border-radius:42px!important}
.steps article,.steps article:first-child,.steps article:last-child{border-radius:22px!important}
.projects{border-radius:38px!important}
.project,.project.large{border-radius:26px!important}
.quote-inner{border-radius:34px!important}
.post{border-radius:24px!important}
.post>a,.post:first-child>a{border-radius:18px!important}
.contact-card{border-radius:36px!important}
.map-wrap{border-radius:28px!important}
.footer{border-radius:42px 42px 0 0!important}
.section-head h2:after{clip-path:none!important;border-radius:99px!important}
@media(max-width:640px){
  .service-card,.service-card.featured,.service-card:last-child{border-radius:23px!important}
  .service-image,.featured .service-image{border-radius:17px!important}
  .about{border-radius:34px 34px 14px 34px!important}
  .process,.projects{border-radius:30px!important}
  .project,.project.large{border-radius:22px!important}
  .quote-inner{border-radius:27px!important}
  .contact-card{border-radius:28px!important}
  .map-wrap{border-radius:22px!important}
  .footer{border-radius:32px 32px 0 0!important}
}
/* Services: strict, orderly 2x2 grid */
@media(min-width:641px){
  .services-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,1fr)!important;gap:16px!important;align-items:stretch!important}
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child,
  .services-grid .service-card:nth-child(1),.services-grid .service-card:nth-child(2),.services-grid .service-card:nth-child(3),.services-grid .service-card:nth-child(4){grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column!important;height:100%!important;min-height:340px!important;border-radius:25px!important;clip-path:none!important}
  .services-grid .service-image,.services-grid .service-card.featured .service-image,.services-grid .service-card:nth-child(even) .service-image,.services-grid .service-card:nth-child(1) .service-image,.services-grid .service-card:nth-child(4) .service-image{display:block;width:calc(100% - 20px)!important;height:180px!important;min-height:180px!important;max-height:180px!important;flex:0 0 180px!important;margin:10px!important;border-radius:18px!important;clip-path:none!important}
  .services-grid .service-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .services-grid .service-body,.services-grid .service-card.featured .service-body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;min-height:140px!important;flex:1 1 auto!important;padding:14px 20px 20px!important}
  .services-grid .service-body h3{margin:7px 0 4px!important}
  .services-grid .service-body p{margin:0 0 12px!important}
  .services-grid .service-body>a{margin-top:auto!important}
  .services-grid .service-card:last-child{justify-content:stretch!important;background:linear-gradient(135deg,#0b2145,#17477e)!important}
  .services-grid .service-card:last-child:before{content:"";display:block!important;width:calc(100% - 20px);height:180px;min-height:180px;flex:0 0 180px;margin:10px;border-radius:18px;background:linear-gradient(135deg,rgba(255,200,46,.14),rgba(255,255,255,.04)),url('../images/logo.png') center/120px no-repeat}
  .services-grid .service-card:last-child .service-body{min-height:140px!important;justify-content:flex-start!important;padding:14px 20px 20px!important}
  .services-grid .service-card:last-child .service-body>a{margin-top:auto!important;align-self:flex-start!important}
}
@media(min-width:1100px){
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child{min-height:330px!important}
  .services-grid .service-image,.services-grid .service-card.featured .service-image,.services-grid .service-card:nth-child(even) .service-image,.services-grid .service-card:nth-child(1) .service-image,.services-grid .service-card:nth-child(4) .service-image{height:170px!important;min-height:170px!important;max-height:170px!important;flex-basis:170px!important}
  .services-grid .service-card:last-child:before{height:170px;min-height:170px;flex-basis:170px}
}
@media(max-width:640px){
  .services-grid{display:flex!important}
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child{min-height:360px!important}
  .services-grid .service-card:last-child:before{content:"";display:block;width:calc(100% - 20px);height:210px;min-height:210px;margin:10px;border-radius:17px;background:linear-gradient(135deg,rgba(255,200,46,.14),rgba(255,255,255,.04)),url('../images/logo.png') center/105px no-repeat}
}
/* Remove blank space below footer */
html,body{margin-bottom:0!important;padding-bottom:0!important}
.footer{margin-bottom:0!important}
.footer:last-child{padding-bottom:0}
@media(max-width:640px){
  body{padding-bottom:0!important}
  .footer{padding-bottom:0!important}
  .footer .ap-footer-bottom{margin-bottom:0!important}
}
/* Footer background echoes the hero image */
.footer{background-color:#071a36!important;background-image:linear-gradient(110deg,rgba(5,21,45,.97),rgba(7,29,60,.9)),url('../images/hero.webp')!important;background-size:cover!important;background-position:center 58%!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
.footer:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(3,14,31,.32),transparent 55%);z-index:0}
.footer>.container,.footer .footer-grid,.footer .ap-footer-bottom{position:relative;z-index:1}
/* Lightweight hero construction motion */
.hero-structure{position:absolute;z-index:3;left:4.5%;top:20%;width:300px;height:390px;pointer-events:none;opacity:.86;filter:drop-shadow(0 10px 25px rgba(0,0,0,.18))}
.hero-structure i{position:absolute;display:block;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,200,46,.92),rgba(255,255,255,.18));border-radius:99px;transform-origin:center;will-change:transform,opacity}
.hero-structure i:nth-child(1),.hero-structure i:nth-child(2),.hero-structure i:nth-child(3){top:12px;bottom:12px;width:3px;transform:scaleY(0);animation:buildVertical .7s cubic-bezier(.22,1,.36,1) forwards}
.hero-structure i:nth-child(1){left:26px;animation-delay:.2s}.hero-structure i:nth-child(2){left:148px;animation-delay:.36s}.hero-structure i:nth-child(3){right:26px;animation-delay:.52s}
.hero-structure i:nth-child(4),.hero-structure i:nth-child(5),.hero-structure i:nth-child(6){left:26px;right:26px;height:3px;transform:scaleX(0);animation:buildHorizontal .65s cubic-bezier(.22,1,.36,1) forwards}
.hero-structure i:nth-child(4){top:78px;animation-delay:.65s}.hero-structure i:nth-child(5){top:194px;animation-delay:.8s}.hero-structure i:nth-child(6){bottom:76px;animation-delay:.95s}
.hero-structure b{position:absolute;width:13px;height:13px;border:3px solid var(--amber);border-radius:50%;background:var(--ink);opacity:0;animation:jointIn .3s ease-out forwards,pulseJoint 2.4s 1.6s ease-in-out infinite}
.hero-structure b:nth-of-type(1){left:20px;top:72px;animation-delay:1.05s,1.6s}.hero-structure b:nth-of-type(2){left:142px;top:188px;animation-delay:1.17s,1.8s}.hero-structure b:nth-of-type(3){right:20px;bottom:70px;animation-delay:1.29s,2s}
.hero-structure span{position:absolute;right:44px;top:20px;width:2px;height:74px;background:linear-gradient(var(--amber),transparent);box-shadow:0 0 16px rgba(255,200,46,.65);animation:scanForm 3.2s 1.4s ease-in-out infinite}
.hero-structure:before,.hero-structure:after{content:"";position:absolute;left:28px;width:244px;height:2px;background:rgba(255,255,255,.32);transform-origin:left;opacity:0;animation:braceIn .6s 1.05s ease-out forwards}
.hero-structure:before{top:191px;transform:rotate(57deg) scaleX(0)}.hero-structure:after{top:192px;transform:rotate(-57deg) scaleX(0);transform-origin:right}
@keyframes buildVertical{to{transform:scaleY(1)}}@keyframes buildHorizontal{to{transform:scaleX(1)}}@keyframes jointIn{to{opacity:1;transform:scale(1)}}@keyframes pulseJoint{50%{box-shadow:0 0 0 8px rgba(255,200,46,0);border-color:#fff}}@keyframes scanForm{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(285px);opacity:1}}@keyframes braceIn{to{opacity:.7;transform:rotate(57deg) scaleX(1)}} 
.hero-structure:after{animation-name:braceInReverse}@keyframes braceInReverse{to{opacity:.7;transform:rotate(-57deg) scaleX(1)}}
@media(max-width:1100px){.hero-structure{left:2%;width:245px;height:330px;opacity:.58;transform:scale(.84);transform-origin:left center}}
@media(max-width:980px){.hero-structure{left:50%;top:17%;width:250px;height:300px;transform:translateX(-50%) scale(.72);opacity:.3}.hero-structure span{display:none}}
@media(max-width:640px){.hero-structure{top:13%;transform:translateX(-50%) scale(.55);opacity:.22}.hero-structure b{animation:jointIn .25s ease-out forwards}.hero-structure span,.hero-structure:before,.hero-structure:after{display:none}}
@media(prefers-reduced-motion:reduce){.hero-structure i,.hero-structure b,.hero-structure span,.hero-structure:before,.hero-structure:after{animation:none!important}.hero-structure{display:none}}
/* Floating controls: consultation left, back-to-top right */
.float-whatsapp{right:auto!important;left:22px!important;bottom:24px!important;min-height:54px;padding:9px 13px 9px 18px!important;border-radius:20px!important;font-size:12px!important;box-shadow:0 14px 34px rgba(20,169,93,.3)!important;animation:consultFloat 3s ease-in-out infinite;transform-origin:center}
.float-whatsapp i{font-size:31px!important}
.float-whatsapp:before{content:"";position:absolute;inset:-5px;border:1px solid rgba(39,212,119,.45);border-radius:24px;opacity:0;animation:consultRing 2.6s ease-out infinite;pointer-events:none}
.float-whatsapp:hover{animation-play-state:paused;transform:translateY(-3px)!important}
.to-top{left:auto!important;right:22px!important;bottom:28px!important;width:48px!important;height:48px!important;border-radius:17px!important;background:linear-gradient(145deg,var(--amber),#e89a00)!important;color:var(--ink)!important;box-shadow:0 12px 28px rgba(216,143,0,.27)!important}
.to-top i{font-size:16px}.to-top.show{transform:none!important}.to-top:hover{transform:translateY(-2px)!important}
@keyframes consultFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes consultRing{0%{opacity:0;transform:scale(.92)}25%{opacity:.65}100%{opacity:0;transform:scale(1.14)}}
@media(max-width:640px){.float-whatsapp{left:14px!important;right:auto!important;bottom:92px!important;width:55px;height:55px;min-height:55px;padding:0!important;justify-content:center;border-radius:19px!important}.float-whatsapp i{font-size:30px!important}.to-top{right:14px!important;left:auto!important;bottom:96px!important;width:46px!important;height:46px!important}}
@media(prefers-reduced-motion:reduce){.float-whatsapp,.float-whatsapp:before{animation:none!important}}
/* Keep the right-side back-to-top control always visible */
.to-top,.to-top.show{display:grid!important;place-items:center!important;opacity:1!important;visibility:visible!important;transform:none!important;z-index:190!important;cursor:pointer!important;right:22px!important;left:auto!important}
@media(max-width:640px){.to-top,.to-top.show{right:14px!important;left:auto!important;bottom:96px!important}}
/* Mobile app drawer navigation */
.mobile-menu-head{display:none}
@media(max-width:980px){
  .menu-toggle{display:grid!important;place-items:center;position:relative;width:46px!important;height:46px!important;padding:11px!important;border:1px solid rgba(11,33,69,.09)!important;border-radius:15px!important;background:linear-gradient(145deg,#fff,#edf2f8)!important;box-shadow:0 8px 20px rgba(9,31,64,.1);z-index:1201}
  .menu-toggle span{position:absolute;width:21px;height:2px!important;margin:0!important;border-radius:4px;background:var(--ink)!important;transition:transform .2s ease,opacity .15s ease,width .2s ease!important}
  .menu-toggle span:nth-child(1){transform:translateY(-7px);width:15px;right:11px}.menu-toggle span:nth-child(2){transform:none}.menu-toggle span:nth-child(3){transform:translateY(7px);width:12px;left:12px}
  .menu-toggle[aria-expanded=true]{background:var(--amber)!important;border-color:transparent!important;box-shadow:0 10px 25px rgba(216,143,0,.25)}
  .menu-toggle[aria-expanded=true] span:nth-child(1){width:21px;right:auto;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle[aria-expanded=true] span:nth-child(3){width:21px;left:auto;transform:rotate(-45deg)}
  .nav-panel{position:fixed!important;z-index:1200!important;inset:76px 10px 10px!important;width:auto!important;height:auto!important;max-height:calc(100dvh - 86px)!important;padding:0 14px 18px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;overflow-y:auto!important;overscroll-behavior:contain;background:linear-gradient(160deg,#fdfefe,#edf3fa)!important;color:var(--ink)!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:30px!important;box-shadow:0 28px 80px rgba(5,22,48,.28)!important;transform:translateY(35px) scale(.97)!important;transform-origin:top center;opacity:0!important;visibility:hidden!important;transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease,visibility .18s!important}
  .nav-panel.open{transform:none!important;opacity:1!important;visibility:visible!important}
  .mobile-menu-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:15px 4px 13px;background:linear-gradient(180deg,#fdfefe 78%,rgba(253,254,254,0));border-radius:30px 30px 0 0}
  .mobile-menu-head>div{display:flex;align-items:center;gap:10px}.mobile-menu-head img{width:48px;height:auto}.mobile-menu-head span{display:flex;flex-direction:column}.mobile-menu-head b{font-size:13px}.mobile-menu-head small{font-size:9px;color:var(--muted)}
  .mobile-menu-close{width:39px;height:39px;border:0;border-radius:13px;background:#e8eef6;color:var(--ink);display:grid;place-items:center;font-size:15px}
  .nav-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}
  .nav-list>li{border:0!important;background:#fff;border-radius:16px;box-shadow:0 5px 18px rgba(10,34,69,.055);overflow:hidden}
  .nav-list>li>a,.submenu-toggle{width:100%!important;min-height:51px;padding:12px 15px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;font-size:13px!important;font-weight:600!important;color:var(--ink)!important}
  .nav-list>li>a:before{font-family:'Font Awesome 5 Free';font-weight:900;width:30px;height:30px;border-radius:10px;background:#eef3f8;color:#49617d;display:grid;place-items:center;margin-left:10px;font-size:12px}
  .nav-list>li:nth-child(1)>a:before{content:'\f015'}.nav-list>li:nth-child(3)>a:before{content:'\f1ad'}.nav-list>li:nth-child(4)>a:before{content:'\f05a'}.nav-list>li:nth-child(5)>a:before{content:'\f1ea'}.nav-list>li:nth-child(6)>a:before{content:'\f095'}
  .nav-list>li>a:after{content:'\f053'!important;position:static!important;display:block!important;width:auto!important;height:auto!important;background:none!important;font-family:'Font Awesome 5 Free';font-weight:900;font-size:9px;color:#98a6b8;margin-right:auto}
  .submenu-toggle:before{content:'\f5fd';font-family:'Font Awesome 5 Free';font-weight:900;width:30px;height:30px;border-radius:10px;background:rgba(242,170,0,.15);color:#ac7200;display:grid;place-items:center;margin-left:10px;font-size:12px}
  .submenu-toggle i{margin-right:auto!important;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#f2f5f9}
  .mega-menu{position:static!important;width:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;max-height:0!important;padding:0 10px!important;margin:0!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;box-shadow:none!important;transition:max-height .22s ease,padding .22s ease!important}
  .has-mega.open .mega-menu{max-height:330px!important;padding:5px 10px 13px!important}
  .mega-menu>a{min-height:68px;padding:9px!important;gap:8px!important;flex-direction:column;align-items:flex-start!important;background:#f2f5f9!important;border-radius:13px!important;color:var(--ink)!important}
  .mega-menu>a>i{width:31px!important;height:31px!important;border-radius:10px!important;font-size:12px}.mega-menu b{font-size:10px}.mega-menu small{display:none}
  .nav-cta{min-height:52px;margin-top:3px;padding:9px 14px!important;border-radius:16px!important;background:linear-gradient(135deg,var(--amber),#e89a00)!important;color:var(--ink)!important;box-shadow:0 10px 25px rgba(216,143,0,.18);justify-content:space-between!important;font-size:12px!important}
  .nav-cta i{background:rgba(255,255,255,.65)!important}
  body.menu-open:before{content:"";position:fixed;z-index:999;inset:0;background:rgba(4,18,39,.48);backdrop-filter:blur(3px)}
  body.menu-open .app-dock{opacity:0;transform:translateY(90px);pointer-events:none}
}
@media(max-width:640px){
  .nav-panel{inset:72px 7px 78px!important;max-height:calc(100dvh - 150px)!important;border-radius:27px!important}
  .mega-menu{grid-template-columns:1fr 1fr!important}
  .app-dock{transition:opacity .18s ease,transform .22s ease!important}
}
@media(prefers-reduced-motion:reduce){.nav-panel,.menu-toggle span,.mega-menu,.app-dock{transition:none!important}}
/* Responsive QA hardening: 320px through ultrawide */
@supports not (overflow:clip){html,body,main{overflow-x:hidden!important}}
@media(min-width:1920px){.container{max-width:1120px!important}.hero-bg{object-position:center 48%}.hero-copy{max-width:600px!important}}
@media(min-width:981px) and (max-width:1099px){
  .container{width:calc(100% - 32px)!important;max-width:none!important}
  .nav{padding-inline:12px!important;gap:12px!important}.nav .brand img{width:64px!important}.brand strong{font-size:12px}.brand small{display:none}
  .nav-panel{gap:15px!important}.nav-list{gap:12px!important}.nav-list>li>a,.submenu-toggle{font-size:11px!important}.nav-cta{padding:8px 10px!important;gap:8px!important}
  .hero-copy{max-width:550px!important}.hero h1{font-size:40px!important}.hero-card{width:235px!important}
  .footer-grid{gap:24px!important}
}
@media(max-width:768px){
  .section-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important}
  .section-head>p{max-width:100%!important;margin:0}
  .about-grid,.contact-card{grid-template-columns:minmax(0,1fr)!important}
  .quote-inner{align-items:stretch!important}.quote-inner .btn{align-self:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr!important}.footer-brand,.footer-contact{grid-column:1/3!important}
}
@media(max-width:480px){
  .container{width:calc(100% - 16px)!important}
  .nav{margin-inline:0!important}.brand{gap:7px}.brand strong{font-size:11px}.brand small{font-size:8px}
  .hero{min-height:760px!important}.hero-copy{width:100%!important}.hero h1{font-size:29px!important;line-height:1.48}.hero-subtitle{font-size:13px!important}
  .hero-actions{grid-template-columns:1fr!important}.hero-actions .btn{width:100%!important}
  .hero-trust{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.hero-trust div{min-width:0}.hero-trust strong{font-size:18px!important}
  .section{padding-block:56px!important}.section-head h2,.about-copy h2,.contact-info h2{font-size:25px!important}
  .feature-list{grid-template-columns:1fr!important}.feature-list span{display:block!important}
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}.footer-brand,.footer-contact{grid-column:1!important}
  .footer .ap-footer-bottom{align-items:center!important;text-align:center}.footer-credit{justify-content:center;width:100%}.footer-copyright{text-align:center;width:100%}
  .contact-lines span{overflow-wrap:anywhere}.contact-lines>a{align-items:flex-start}
  .app-dock{right:5px!important;left:5px!important}.app-dock a{font-size:8px}.app-dock i{font-size:15px}
}
@media(max-width:360px){
  .nav .brand img{width:52px!important}.nav .brand span{max-width:118px}.menu-toggle{width:42px!important;height:42px!important}
  .hero h1{font-size:27px!important}.hero-points{gap:4px}.hero-points span{font-size:8px!important;padding:5px 7px!important}
  .hero-trust span{font-size:8px!important}.service-card,.service-card.featured,.service-card:last-child,.project,.post{flex-basis:92%!important;max-width:92vw!important}
  .mobile-menu-head b{font-size:11px}.mobile-menu-head img{width:42px}.nav-panel{inset-inline:5px!important;padding-inline:10px!important}
  .mega-menu{grid-template-columns:1fr!important}.has-mega.open .mega-menu{max-height:520px!important}
  .float-whatsapp{width:50px!important;height:50px!important;min-height:50px!important}.to-top{width:42px!important;height:42px!important}
}
@media(max-width:330px){
  .brand small{display:none}.nav .brand img{width:48px!important}.hero h1{font-size:25px!important}.hero-points span:nth-child(3){display:none}
  .app-dock span{font-size:7px}.app-dock .dock-call{width:48px;height:48px}
}
/* Mobile layout repair: full-width centered cards, no RTL carousel drift */
@media(max-width:640px){
  html,body,main{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .section,.hero,.footer{width:100%!important;max-width:100%!important;margin-right:0!important;margin-left:0!important}
  .container,.footer>.container,.footer .footer-grid,.footer .ap-footer-bottom{width:calc(100% - 20px)!important;max-width:none!important;margin-right:auto!important;margin-left:auto!important}
  .services-grid,.steps,.projects .project-grid,.blog-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;width:100%!important;max-width:100%!important;gap:14px!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important}
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child,
  .steps article,.project,.project.large,.post,.post:first-child{grid-column:1!important;grid-row:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important;flex-basis:auto!important;margin-right:0!important;margin-left:0!important;scroll-snap-align:none!important;box-sizing:border-box!important}
  .services-grid .service-card,.services-grid .service-card.featured,.services-grid .service-card:last-child{min-height:0!important}
  .services-grid .service-image,.services-grid .service-card.featured .service-image{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;margin:10px!important;height:220px!important;min-height:220px!important}
  .services-grid .service-card:last-child:before{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;margin:10px!important}
  .steps article{min-height:190px!important}.project,.project.large{min-height:330px!important}.post,.post:first-child{min-height:0!important}
  .post>a,.post:first-child>a{width:calc(100% - 20px)!important;margin:10px!important}
  .process,.projects{width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important;margin-right:auto!important;margin-left:auto!important}
  .about-grid,.contact-card,.footer-grid{width:100%!important;max-width:100%!important}
  .hero-inner{width:calc(100% - 20px)!important;margin-inline:auto!important}.hero-copy{width:100%!important;max-width:100%!important;margin-inline:0!important}
}
@media(max-width:360px){
  .container,.footer>.container,.footer .footer-grid,.footer .ap-footer-bottom,.hero-inner{width:calc(100% - 16px)!important}
  .service-card,.service-card.featured,.service-card:last-child,.project,.post{width:100%!important;max-width:100%!important;flex-basis:auto!important}
}
/* Comfortable navbar inner spacing */
.nav{height:82px!important;min-height:82px!important;padding:8px 22px!important;column-gap:24px!important}
.nav-panel{min-width:0}.nav-list{align-self:stretch}.nav-list>li{display:flex;align-items:center}.nav-list>li>a,.submenu-toggle{padding:17px 2px!important}
.site-header.header-scrolled .nav{height:72px!important;min-height:72px!important;padding:6px 20px!important}
@media(min-width:1100px){.nav{height:80px!important;min-height:80px!important;padding:7px 20px!important}.nav .brand img{width:72px!important}.site-header.header-scrolled .nav{height:70px!important;min-height:70px!important}}
@media(min-width:981px) and (max-width:1099px){.nav{height:76px!important;min-height:76px!important;padding:7px 16px!important;column-gap:14px!important}.nav-list>li>a,.submenu-toggle{padding:15px 1px!important}}
@media(max-width:980px){.nav{height:72px!important;min-height:72px!important;padding:7px 13px!important}.site-header.header-scrolled .nav{height:66px!important;min-height:66px!important;padding:5px 11px!important}}
@media(max-width:640px){.nav{height:68px!important;min-height:68px!important;padding:6px 10px!important;border-radius:20px!important}.site-header.header-scrolled .nav{height:62px!important;min-height:62px!important}}
/* Mobile full-screen app menu */
@media(max-width:640px){
  .nav-panel{position:fixed!important;z-index:1500!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0 16px calc(20px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:linear-gradient(165deg,#fdfefe 0%,#eef4fb 62%,#e8eff8 100%)!important;box-shadow:none!important;overflow-y:auto!important;transform:translateX(100%)!important;transform-origin:right center!important;opacity:1!important;visibility:hidden!important;transition:transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s!important}
  .nav-panel.open{transform:translateX(0)!important;visibility:visible!important;transition:transform .26s cubic-bezier(.22,1,.36,1),visibility 0s!important}
  .mobile-menu-head{top:0!important;margin:0 -16px 12px!important;padding:calc(14px + env(safe-area-inset-top)) 18px 14px!important;min-height:78px;background:rgba(253,254,254,.96)!important;border-bottom:1px solid rgba(11,33,69,.08);border-radius:0!important}
  .mobile-menu-head img{width:54px!important}.mobile-menu-head b{font-size:14px!important}.mobile-menu-head small{font-size:9px!important}
  .mobile-menu-close{width:44px!important;height:44px!important;border-radius:15px!important;background:var(--ink)!important;color:#fff!important;font-size:17px!important}
  .nav-panel .nav-list{gap:9px!important;padding-bottom:4px!important}
  .nav-panel .nav-list>li{border-radius:18px!important;box-shadow:0 6px 18px rgba(10,34,69,.055)!important}
  .nav-panel .nav-list>li>a,.nav-panel .submenu-toggle{min-height:56px!important;padding:12px 16px!important;font-size:13px!important}
  .nav-panel .mega-menu>a{min-height:72px!important}
  .nav-panel .nav-cta{min-height:56px!important;margin-top:7px!important;border-radius:18px!important}
  body.menu-open{overflow:hidden!important}
  body.menu-open:before{display:none!important}
  body.menu-open .site-header>.topbar,body.menu-open .site-header>.nav,body.menu-open .app-dock,body.menu-open .float-whatsapp,body.menu-open .to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:360px){
  .nav-panel{inset:0!important;padding-inline:12px!important}
  .mobile-menu-head{margin-inline:-12px!important;padding-inline:14px!important}
}
/* Mobile hero image visibility */
@media(max-width:640px){
  .hero-bg{object-position:42% center!important;opacity:1!important;filter:none!important}
  .hero:before{background:linear-gradient(0deg,rgba(4,18,39,.88) 0%,rgba(4,18,39,.52) 43%,rgba(4,18,39,.12) 78%,rgba(4,18,39,.2) 100%)!important}
  .hero-overlay{display:block!important;background:linear-gradient(90deg,rgba(5,20,43,.08),rgba(5,20,43,.22))!important}
  .hero-copy:before{right:-8px!important;top:2px!important;width:calc(100% + 16px)!important;height:calc(100% + 6px)!important;border-radius:26px!important;background:linear-gradient(135deg,rgba(5,24,51,.72),rgba(5,24,51,.3))!important}
  .hero-copy{isolation:isolate!important}
  .hero h1,.hero-subtitle,.hero-points,.hero-actions,.hero-trust,.hero .eyebrow{position:relative;z-index:2}
  .hero-structure{opacity:.12!important}
}
@media(max-width:380px){.hero-bg{object-position:39% center!important}.hero:before{background:linear-gradient(0deg,rgba(4,18,39,.9),rgba(4,18,39,.5) 48%,rgba(4,18,39,.1) 82%)!important}}
/* Fix full-screen menu disappearing with its parent nav */
@media(max-width:640px){
  body.menu-open .site-header>.nav{opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:transparent!important;box-shadow:none!important;border-color:transparent!important}
  body.menu-open .site-header>.nav>.brand,body.menu-open .site-header>.nav>.menu-toggle{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  body.menu-open .nav-panel{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important}
  body.menu-open .mobile-menu-head,body.menu-open .nav-list,body.menu-open .nav-cta{opacity:1!important;visibility:visible!important}
}
/* Refined mobile services accordion */
@media(max-width:640px){
.nav-list .has-mega{background:linear-gradient(145deg,#0d2b55,#174a80)!important;border-radius:20px!important;box-shadow:0 12px 28px rgba(8,31,65,.16)!important;overflow:hidden!important}
.nav-list .has-mega .submenu-toggle{min-height:62px!important;padding:11px 13px!important;color:#fff!important;background:transparent!important}
.nav-list .has-mega .submenu-toggle:before{width:38px!important;height:38px!important;margin-left:11px!important;border-radius:13px!important;background:rgba(255,200,46,.16)!important;color:var(--amber)!important;font-size:15px!important}
.nav-list .has-mega .submenu-toggle>i{width:34px!important;height:34px!important;margin-right:auto!important;border-radius:12px!important;background:rgba(255,255,255,.1)!important;color:#fff!important;font-size:11px!important;transition:transform .18s ease,background .18s ease!important}
.nav-list .has-mega.open .submenu-toggle>i{transform:rotate(180deg)!important;background:var(--amber)!important;color:var(--ink)!important}
.nav-list .has-mega .mega-menu{display:flex!important;flex-direction:column!important;gap:7px!important;max-height:0!important;margin:0 9px!important;padding:0!important;border-top:1px solid transparent!important;transition:max-height .24s ease,padding .2s ease,border-color .2s ease!important}
.nav-list .has-mega.open .mega-menu{max-height:460px!important;padding:10px 0 12px!important;border-top-color:rgba(255,255,255,.12)!important}
.nav-list .has-mega .mega-menu>a{min-height:58px!important;width:100%!important;padding:8px 10px!important;display:grid!important;grid-template-columns:38px 1fr 22px!important;grid-template-rows:auto auto!important;column-gap:10px!important;align-items:center!important;background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;color:#fff!important}
.nav-list .has-mega .mega-menu>a>i{grid-column:1!important;grid-row:1/3!important;width:36px!important;height:36px!important;border-radius:11px!important;background:rgba(255,200,46,.14)!important;color:var(--amber)!important;font-size:13px!important}
.nav-list .has-mega .mega-menu>a>span{grid-column:2!important;grid-row:1/3!important;display:flex!important;flex-direction:column!important;min-width:0!important}
.nav-list .has-mega .mega-menu b{font-size:11px!important;color:#fff!important;line-height:1.6!important}
.nav-list .has-mega .mega-menu small{display:block!important;font-size:8px!important;color:#aebfd2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.nav-list .has-mega .mega-menu>a:after{content:'›';grid-column:3;grid-row:1/3;font-size:18px;color:rgba(255,255,255,.5)}
.nav-list .has-mega .mega-menu>a:active{background:rgba(255,255,255,.14)!important}
}
@media(max-width:360px){.nav-list .has-mega .mega-menu>a{grid-template-columns:34px 1fr 18px!important;padding-inline:8px!important}.nav-list .has-mega .mega-menu>a>i{width:32px!important;height:32px!important}}
/* Bring the yellow construction motion to mobile */
@media(max-width:640px){
.hero-structure{display:block!important;left:50%!important;top:10%!important;width:250px!important;height:300px!important;opacity:.62!important;transform:translateX(-50%) scale(.62)!important;transform-origin:center top!important;filter:drop-shadow(0 7px 15px rgba(0,0,0,.15))!important}
.hero-structure i{display:block!important}
.hero-structure b{display:block!important;animation:jointIn .3s ease-out forwards,pulseJoint 2.8s 1.6s ease-in-out infinite!important}
.hero-structure span{display:block!important;width:2px!important;opacity:.8;animation:scanForm 3.6s 1.4s ease-in-out infinite!important}
.hero-structure:before,.hero-structure:after{display:block!important}
.hero-structure:before{animation:braceIn .6s 1.05s ease-out forwards!important}
.hero-structure:after{animation:braceInReverse .6s 1.05s ease-out forwards!important}
}
@media(max-width:380px){.hero-structure{top:9%!important;transform:translateX(-50%) scale(.54)!important;opacity:.56!important}}
@media(prefers-reduced-motion:reduce){.hero-structure{display:none!important}}
/* Mobile services accordion — match all other menu rows */
@media(max-width:640px){
.nav-list .has-mega,.nav-list .has-mega.open{background:#fff!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(10,34,69,.055)!important;overflow:hidden!important}
.nav-list .has-mega .submenu-toggle{min-height:56px!important;padding:12px 16px!important;color:var(--ink)!important;background:#fff!important;font-size:13px!important;font-weight:600!important}
.nav-list .has-mega .submenu-toggle:before{width:30px!important;height:30px!important;margin-left:10px!important;border-radius:10px!important;background:#eef3f8!important;color:#49617d!important;font-size:12px!important}
.nav-list .has-mega .submenu-toggle>i{width:auto!important;height:auto!important;margin-right:auto!important;border-radius:0!important;background:transparent!important;color:#98a6b8!important;font-size:9px!important;transform:none!important;transition:transform .18s ease!important}
.nav-list .has-mega.open .submenu-toggle>i{transform:rotate(180deg)!important;background:transparent!important;color:#98a6b8!important}
.nav-list .has-mega .mega-menu{display:flex!important;flex-direction:column!important;gap:0!important;width:auto!important;max-height:0!important;margin:0 10px!important;padding:0!important;border:0!important;border-top:1px solid transparent!important;border-radius:0!important;background:#f5f8fc!important;overflow:hidden!important;transition:max-height .22s ease,padding .18s ease,border-color .18s ease!important}
.nav-list .has-mega.open .mega-menu{max-height:360px!important;padding:7px!important;margin-bottom:10px!important;border-top-color:#e4eaf2!important;border-radius:14px!important}
.nav-list .has-mega .mega-menu>a{display:grid!important;grid-template-columns:34px minmax(0,1fr) 18px!important;grid-template-rows:auto!important;align-items:center!important;column-gap:9px!important;width:100%!important;min-height:48px!important;padding:7px 8px!important;background:transparent!important;border:0!important;border-bottom:1px solid #e5ebf3!important;border-radius:0!important;color:var(--ink)!important}
.nav-list .has-mega .mega-menu>a:last-child{border-bottom:0!important}
.nav-list .has-mega .mega-menu>a>i{grid-column:1!important;grid-row:1!important;width:32px!important;height:32px!important;border-radius:10px!important;background:#e8eef6!important;color:#526a86!important;font-size:11px!important}
.nav-list .has-mega .mega-menu>a>span{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;min-width:0!important}
.nav-list .has-mega .mega-menu b{font-size:10px!important;color:var(--ink)!important;line-height:1.5!important}
.nav-list .has-mega .mega-menu small{display:none!important}
.nav-list .has-mega .mega-menu>a:after{content:'‹'!important;grid-column:3!important;grid-row:1!important;font-size:15px!important;color:#9ba9ba!important}
.nav-list .has-mega .mega-menu>a:active{background:#eaf0f7!important;border-radius:10px!important}
}
@media(max-width:360px){.nav-list .has-mega .mega-menu>a{grid-template-columns:31px minmax(0,1fr) 16px!important;padding-inline:6px!important}.nav-list .has-mega .mega-menu>a>i{width:29px!important;height:29px!important}}
/* Definitive mobile services menu override */
@media(max-width:640px){
.nav-list>li.services-menu-item,.nav-list>li.services-menu-item.open{display:block!important;background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:18px!important;padding:0!important;box-shadow:0 6px 18px rgba(10,34,69,.055)!important}
.nav-list>li.services-menu-item>.submenu-toggle{display:flex!important;width:100%!important;min-height:56px!important;align-items:center!important;padding:12px 16px!important;background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:18px!important}
.nav-list>li.services-menu-item>.submenu-toggle:before{background:#eef3f8!important;color:#49617d!important}
.nav-list>li.services-menu-item>.submenu-toggle>i{display:block!important;margin-right:auto!important;padding:0!important;width:auto!important;height:auto!important;background:none!important;color:#98a6b8!important;box-shadow:none!important}
.nav-list>li.services-menu-item>.mega-menu{position:static!important;display:block!important;width:calc(100% - 20px)!important;max-width:none!important;max-height:0!important;margin:0 10px!important;padding:0 7px!important;background:#f4f7fb!important;border:0!important;border-radius:14px!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;transform:none!important}
.nav-list>li.services-menu-item.open>.mega-menu{max-height:330px!important;margin-bottom:10px!important;padding-top:6px!important;padding-bottom:6px!important}
.nav-list>li.services-menu-item>.mega-menu>a{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;min-height:48px!important;padding:7px 5px!important;margin:0!important;background:transparent!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid #e1e8f1!important;border-radius:0!important}
.nav-list>li.services-menu-item>.mega-menu>a:last-child{border-bottom:0!important}
.nav-list>li.services-menu-item>.mega-menu>a>i{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;margin-left:9px!important;background:#e7edf5!important;color:#506983!important;border-radius:10px!important}
.nav-list>li.services-menu-item>.mega-menu>a>span{display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important}
.nav-list>li.services-menu-item>.mega-menu>a b{font-size:10px!important;color:var(--ink)!important}
.nav-list>li.services-menu-item>.mega-menu>a small{display:none!important}
.nav-list>li.services-menu-item>.mega-menu>a:after{content:'‹'!important;display:block!important;margin-right:auto!important;color:#98a6b8!important;font-size:15px!important}
}
/* Align services chevron exactly like other menu arrows */
@media(max-width:640px){
.nav-list>li.services-menu-item>.submenu-toggle{position:relative!important;padding-left:44px!important}
.nav-list>li.services-menu-item>.submenu-toggle>i{position:absolute!important;left:17px!important;right:auto!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important}
.nav-list>li.services-menu-item.open>.submenu-toggle>i{transform:translateY(-50%) rotate(180deg)!important}
}
/* Keep services label on the right; only chevron stays left */
@media(max-width:640px){
.nav-list>li.services-menu-item>.submenu-toggle{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;direction:rtl!important;text-align:right!important;padding-right:16px!important;padding-left:44px!important}
.nav-list>li.services-menu-item>.submenu-toggle:before{position:static!important;flex:0 0 30px!important;margin-left:10px!important;margin-right:0!important}
.nav-list>li.services-menu-item>.submenu-toggle>i{position:absolute!important;left:17px!important;right:auto!important}
}

@media(max-width:640px){.nav-list>li.services-menu-item>.submenu-toggle>i{transform:translateY(-50%) rotate(0deg)!important}.nav-list>li.services-menu-item.open>.submenu-toggle>i{transform:translateY(-50%) rotate(-90deg)!important}}

/* Mobile CTA breathing room */
@media(max-width:640px){
.quote{padding-right:6px!important;padding-left:6px!important}
.quote-inner{padding:32px 24px 28px!important;gap:20px!important;border-radius:27px!important}
.quote-inner>div{width:100%!important}
.quote .kicker{margin-bottom:7px!important}
.quote h2{font-size:28px!important;line-height:1.55!important;margin:7px 0 9px!important}
.quote p{font-size:11px!important;line-height:1.9!important;margin:0!important}
.quote .btn{width:100%!important;min-height:48px!important;margin-top:2px!important}
}
@media(max-width:360px){.quote-inner{padding:27px 19px 24px!important}.quote h2{font-size:25px!important}}
/* Keep custom route button away from Google Maps controls */
.map-wrap>a{right:auto!important;left:18px!important;bottom:18px!important;z-index:5!important}
@media(max-width:640px){.map-wrap>a{left:12px!important;right:auto!important;bottom:12px!important;padding:9px 14px!important}}




/* Closed desktop mega-menu must not create document overflow below the footer. */
@media(min-width:981px){
  .has-mega:not(.open)>.mega-menu{display:none!important}
  .has-mega.open>.mega-menu{display:grid!important}
}
html,body{height:auto!important;min-height:0!important;margin-bottom:0!important;padding-bottom:0!important}
.footer{height:auto!important;min-height:0!important;margin-bottom:0!important;padding-bottom:0!important}

/* Keep the decorative about pseudo-element inside its own section. */
.about{position:relative!important;overflow:hidden!important}

/* Lightweight topic ambience: real project imagery, visually quiet and non-interactive. */
.services,.process,.blog{position:relative;isolation:isolate;overflow:hidden}
.services>.container,.process>.container,.blog>.container{position:relative;z-index:2}
.ambient-media{position:absolute;z-index:0;pointer-events:none;user-select:none;opacity:.095;filter:grayscale(.2) saturate(.7) contrast(1.08);transform:translate3d(0,0,0);animation:ambientDrift 13s ease-in-out infinite alternate}
.ambient-media:before,.ambient-media:after{content:"";position:absolute;z-index:2;pointer-events:none}
.ambient-media:before{inset:-16px;border:1px solid rgba(242,170,0,.32);border-radius:38% 62% 56% 44%/44% 38% 62% 56%}
.ambient-media:after{width:96px;height:3px;right:-40px;top:28%;border-radius:99px;background:linear-gradient(90deg,transparent,var(--amber),transparent);animation:ambientScan 5.5s ease-in-out infinite}
.ambient-media img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit;mask-image:radial-gradient(ellipse at center,#000 42%,rgba(0,0,0,.8) 58%,transparent 76%)}
.ambient-form{width:330px;height:250px;left:-105px;top:17%;border-radius:42% 58% 48% 52%/55% 38% 62% 45%;transform:rotate(-7deg)}
.ambient-scaffold{width:390px;height:300px;right:-135px;bottom:8%;border-radius:58% 42% 65% 35%/41% 54% 46% 59%;opacity:.085;animation-delay:-4s}
.ambient-equipment{width:300px;height:230px;left:-90px;bottom:4%;border-radius:48% 52% 37% 63%/58% 42% 58% 42%;animation-delay:-8s}
.services:after,.blog:after{content:"";position:absolute;z-index:0;pointer-events:none;width:260px;height:260px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(10,36,76,.08) 0 1px,transparent 1px 18px);opacity:.4}
.services:after{right:-130px;bottom:7%}.blog:after{right:-110px;top:12%}
@keyframes ambientDrift{0%{translate:0 0;rotate:-1deg}100%{translate:12px -10px;rotate:1.5deg}}
@keyframes ambientScan{0%,100%{transform:translateX(-18px);opacity:.25}50%{transform:translateX(70px);opacity:.75}}
@media(max-width:980px){.ambient-media{opacity:.07}.ambient-form{width:230px;height:180px;left:-95px;top:23%}.ambient-scaffold{width:260px;height:210px;right:-120px}.ambient-equipment{width:210px;height:170px;left:-90px}.services:after,.blog:after{width:190px;height:190px}}
@media(max-width:640px){.ambient-media{opacity:.055;animation-duration:16s}.ambient-media:before{inset:-9px}.ambient-media:after{display:none}.ambient-form{top:11%;left:-115px}.ambient-scaffold{right:-145px;bottom:3%}.ambient-equipment{left:-125px;bottom:1%}.services:after,.blog:after{opacity:.25}}
@media(prefers-reduced-motion:reduce){.ambient-media,.ambient-media:after{animation:none!important}}
/* Clearer footer project image while retaining text contrast. */
.footer{background-image:linear-gradient(110deg,rgba(5,21,45,.82),rgba(7,29,60,.68)),url('../images/hero.webp')!important;background-position:center 52%!important}
.footer:before{background:linear-gradient(0deg,rgba(3,14,31,.2),transparent 62%)!important}
@media(max-width:640px){.footer{background-image:linear-gradient(145deg,rgba(5,21,45,.84),rgba(7,29,60,.7)),url('../images/hero.webp')!important;background-position:43% center!important}}
/* Stronger footer image visibility. */
.footer{background-image:linear-gradient(110deg,rgba(5,21,45,.64),rgba(7,29,60,.48)),url('../images/hero.webp')!important;background-position:center 48%!important}
.footer:before{background:linear-gradient(0deg,rgba(3,14,31,.12),transparent 70%)!important}
.footer-grid,.ap-footer-bottom{position:relative;z-index:1;text-shadow:0 2px 10px rgba(0,8,22,.72)}
@media(max-width:640px){.footer{background-image:linear-gradient(145deg,rgba(5,21,45,.7),rgba(7,29,60,.53)),url('../images/hero.webp')!important;background-position:42% center!important}}
/* Services arrow: down on desktop; mobile keeps its left-side app layout. */
@media(min-width:981px){
  .nav-list>li.services-menu-item>.submenu-toggle>i.fas.fa-chevron-down{position:static!important;display:inline-block!important;width:auto!important;height:auto!important;margin-right:6px!important;margin-left:0!important;padding:0!important;background:transparent!important;color:currentColor!important;transform:rotate(0deg)!important;font-size:9px!important}
  .nav-list>li.services-menu-item.open>.submenu-toggle>i.fas.fa-chevron-down{transform:rotate(180deg)!important}
}
/* Balanced footer contrast: visible image, fully readable copy. */
.footer{background-image:linear-gradient(110deg,rgba(5,21,45,.79),rgba(7,29,60,.66)),url('../images/hero.webp')!important}
.footer:before{background:linear-gradient(0deg,rgba(3,14,31,.28),rgba(3,14,31,.05) 68%,transparent)!important}
.footer-grid,.ap-footer-bottom{text-shadow:0 2px 12px rgba(0,6,18,.88)!important}
@media(max-width:640px){.footer{background-image:linear-gradient(145deg,rgba(5,21,45,.83),rgba(7,29,60,.7)),url('../images/hero.webp')!important}}
/* The markup now uses a true down chevron on desktop; rotate only in mobile app menu. */
@media(max-width:980px){
  .nav-list>li.services-menu-item>.submenu-toggle>i.fa-chevron-down{transform:translateY(-50%) rotate(90deg)!important}
  .nav-list>li.services-menu-item.open>.submenu-toggle>i.fa-chevron-down{transform:translateY(-50%) rotate(180deg)!important}
}
/* High-contrast footer copy over the project photo. */
.footer,.footer p,.footer span,.footer small,.footer li,.footer li a,.footer-brand>p,.footer-contact span,.footer-contact p,.ap-footer-bottom,.footer-credit span,.footer-copyright{color:#fff!important;opacity:1!important}
.footer .brand small{color:#fff!important;opacity:.9!important}
.footer li a:hover,.footer-credit a:hover{color:var(--amber)!important}
/* Keep footer credits above the fixed mobile app dock. */
@media(max-width:640px){
  .footer .ap-footer-bottom{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;padding-top:20px!important;position:relative!important;z-index:2!important}
}
/* Comfortable mobile footer gutters. */
@media(max-width:640px){
  .footer .footer-grid,.footer .ap-footer-bottom{width:calc(100% - 36px)!important;max-width:none!important;margin-right:auto!important;margin-left:auto!important;padding-right:4px!important;padding-left:4px!important}
  .footer .ap-footer-bottom{padding-top:20px!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  .footer-brand,.footer-contact,.footer-grid>div{min-width:0!important}
}
/* Refined mobile footer items: compact glass cards over the project image. */
@media(max-width:640px){
  .footer{padding-top:34px!important}
  .footer .footer-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding-bottom:20px!important}
  .footer .footer-grid>div{padding:17px 15px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(5,24,52,.58),rgba(10,40,78,.38))!important;box-shadow:0 10px 28px rgba(0,8,24,.12)!important;backdrop-filter:blur(5px)!important}
  .footer .footer-brand,.footer .footer-contact{grid-column:1/-1!important}
  .footer .footer-brand{padding:18px!important}
  .footer .brand{gap:12px!important;align-items:center!important}
  .footer .brand img{width:72px!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important}
  .footer h3{margin-bottom:11px!important;font-size:13px!important}
  .footer ul{display:flex!important;flex-direction:column!important;gap:6px!important}
  .footer li{margin:0!important}
  .footer li a{display:flex!important;align-items:center!important;min-height:30px!important;padding:3px 0!important;font-size:11px!important}
  .footer-contact>a{display:inline-flex!important;margin-bottom:5px!important;font-size:18px!important}
  .footer .socials{gap:8px!important;margin-top:14px!important}
  .footer .socials a{width:40px!important;height:40px!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important}
  .footer .ap-footer-bottom{gap:7px!important;border-top-color:rgba(255,255,255,.14)!important}
  .footer-credit{width:100%!important;justify-content:space-between!important;padding:7px 10px!important;border-radius:10px!important;background:rgba(3,17,39,.28)!important}
  .footer-copyright{width:100%!important;padding-top:5px!important;text-align:center!important;font-size:9px!important}
}
@media(max-width:360px){
  .footer .footer-grid{grid-template-columns:1fr!important}
  .footer .footer-grid>div,.footer .footer-brand,.footer .footer-contact{grid-column:1!important}
}
/* Footer brand title sizing. */
.footer .brand strong{font-size:18px!important;line-height:1.55!important;font-weight:800!important;letter-spacing:-.015em!important}
@media(max-width:640px){.footer .brand strong{font-size:16px!important;line-height:1.65!important}}
/* Footer logo stands alone; brand copy remains below it. */
.footer .brand>span{display:none!important}
.footer .brand{display:inline-flex!important;gap:0!important}

/* Equal, orderly footer columns on desktop. */
@media(min-width:981px){
  .footer .footer-grid{display:grid!important;grid-template-columns:1.35fr .78fr .88fr .9fr!important;align-items:stretch!important;gap:16px!important;max-width:1120px!important}
  .footer .footer-grid>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;height:100%!important;min-height:286px!important;padding:23px 21px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(4,20,44,.42),rgba(11,43,82,.24))!important;box-shadow:0 12px 34px rgba(0,7,21,.1)!important;backdrop-filter:blur(3px)!important}
  .footer .footer-brand .brand{min-height:82px!important;align-items:center!important}
  .footer .footer-brand h2{margin-top:16px!important}
  .footer .footer-brand .socials{margin-top:auto!important;padding-top:14px!important}
  .footer .footer-contact p{margin-top:auto!important;margin-bottom:0!important}
  .footer .footer-grid h3{min-height:28px!important;margin-bottom:15px!important;display:flex!important;align-items:center!important}
  .footer .footer-grid ul{width:100%!important}
  .footer .footer-grid li{margin:5px 0!important}
  .footer .footer-grid li a{display:flex!important;align-items:center!important;min-height:27px!important}
}
/* Desktop footer columns stay aligned without card boxes. */
@media(min-width:981px){
  .footer .footer-grid>div{padding:8px 10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
}
/* Keep phone, working hours and address grouped together. */
@media(min-width:981px){.footer .footer-contact p{margin-top:14px!important;margin-bottom:0!important}}

/* Complete footer phone list. */
.footer-phones{display:grid;grid-template-columns:1fr 1fr;gap:6px 9px;width:100%;margin-bottom:8px;direction:ltr}
.footer-phones a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px 7px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(4,20,44,.26);color:var(--amber)!important;font-size:13px!important;font-weight:700;white-space:nowrap}
.footer-phones a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,200,46,.32)}
@media(max-width:640px){.footer-phones{gap:7px}.footer-phones a{min-height:38px;font-size:12px!important}}
@media(max-width:360px){.footer-phones{grid-template-columns:1fr}}
/* Visually balance equal-height desktop footer columns. */
@media(min-width:981px){
  .footer .footer-grid>div{min-height:313px!important}
  .footer .footer-grid>div:not(.footer-brand):not(.footer-contact) ul{display:grid!important;grid-template-rows:repeat(4,1fr)!important;flex:1 1 auto!important;align-content:stretch!important}
  .footer .footer-grid>div:not(.footer-brand):not(.footer-contact) li{display:flex!important;align-items:center!important;margin:0!important}
  .footer .footer-grid>div:not(.footer-brand):not(.footer-contact) li a{width:100%!important;min-height:36px!important}
  .footer .footer-contact{justify-content:flex-start!important}
  .footer .footer-contact p{margin-top:12px!important}
}
/* Align all desktop footer column headings on one baseline. */
@media(min-width:981px){
  .footer .footer-grid>div>h3,.footer .footer-contact>h3{display:flex!important;align-items:center!important;height:28px!important;min-height:28px!important;margin:0 0 15px!important;padding:0!important;line-height:28px!important}
  .footer .footer-contact{padding-top:8px!important}
}
/* Match the contact content start with the first links of adjacent columns. */
@media(min-width:981px){
  .footer .footer-contact>h3{align-self:stretch!important;text-align:right!important;justify-content:flex-start!important}
  .footer .footer-contact .footer-phones{margin-top:0!important}
  .footer .footer-grid>div:not(.footer-brand)>h3{width:100%!important}
  .footer .footer-grid>div:not(.footer-brand){align-content:start!important}
}
/* Clickable services eyebrow. */
.kicker-link{cursor:pointer;transition:color .18s ease,gap .18s ease}
.kicker-link i{font-size:9px;transition:transform .18s ease}
.kicker-link:hover{color:#c47f00!important;gap:11px}
.kicker-link:hover i{transform:translateX(-3px)}

/* Compact desktop footer link spacing. */
@media(min-width:981px){
  .footer .footer-grid{column-gap:12px!important}
  .footer .footer-grid>div{min-height:0!important;height:auto!important}
  .footer .footer-grid>div:not(.footer-brand):not(.footer-contact) ul{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-content:initial!important;flex:0 0 auto!important;gap:4px!important}
  .footer .footer-grid>div:not(.footer-brand):not(.footer-contact) li{display:block!important;margin:0!important}
  .footer .footer-grid>div:not(.footer-brand):not(.footer-contact) li a{min-height:27px!important;padding:2px 0!important}
  .footer .footer-grid>div>h3,.footer .footer-contact>h3{margin-bottom:10px!important}
}
/* Keep the three footer headings on one horizontal line on narrow desktops too. */
@media(min-width:900px) and (max-width:980px){
  .footer .footer-grid{display:grid!important;grid-template-columns:1.3fr .78fr .88fr .95fr!important;align-items:start!important;gap:12px!important;max-width:calc(100% - 36px)!important}
  .footer .footer-brand,.footer .footer-contact{grid-column:auto!important}
  .footer .footer-grid>div{padding:8px 7px!important;min-width:0!important}
}
@media(min-width:900px){
  .footer .footer-grid>div:not(.footer-brand)>h3{position:static!important;transform:none!important;display:flex!important;align-items:center!important;width:100%!important;height:28px!important;min-height:28px!important;margin:0 0 10px!important;padding:0!important;font-size:14px!important;line-height:28px!important;font-weight:700!important}
}
/* Single-line footer address on desktop. */
@media(min-width:900px){.footer .footer-address{white-space:nowrap!important;font-size:10px!important}}
@media(max-width:899px){.footer .footer-address{white-space:normal!important}}

/* Raise mobile footer credits above both floating buttons and bottom dock. */
@media(max-width:640px){
  .footer .ap-footer-bottom{padding-bottom:calc(158px + env(safe-area-inset-bottom))!important}
  .footer-copyright{position:relative!important;z-index:2!important}
}
/* Compact linked service categories above the services heading. */
.service-categories{display:flex;align-items:center;gap:7px;margin:0 0 17px;padding:0;overflow-x:auto;scrollbar-width:none;position:relative;z-index:3}
.service-categories::-webkit-scrollbar{display:none}
.service-categories a{flex:0 0 auto;min-height:36px;padding:6px 11px 6px 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(11,33,69,.08);border-radius:12px;background:rgba(255,255,255,.72);color:#334b68;font-size:10px;font-weight:700;box-shadow:0 5px 16px rgba(16,49,84,.045);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.service-categories a i{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#edf2f7;color:#b47700;font-size:10px}
.service-categories a:hover{transform:translateY(-2px);border-color:rgba(242,170,0,.32);background:#fff}
.services-grid .service-card{scroll-margin-top:105px}
@media(max-width:640px){.service-categories{width:calc(100% + 10px);margin:0 -5px 15px;padding:2px 5px 5px;gap:6px;scroll-snap-type:x proximity}.service-categories a{min-height:34px;padding:5px 9px;font-size:9px;border-radius:11px;scroll-snap-align:start}.service-categories a i{width:21px;height:21px}}
/* Larger, more expressive service category cards. */
.service-categories{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:25px!important;overflow:visible!important}
.service-categories a{position:relative;min-width:0!important;min-height:68px!important;padding:10px 12px!important;display:flex!important;align-items:center!important;gap:11px!important;overflow:hidden;border:1px solid rgba(11,33,69,.08)!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,244,250,.86))!important;color:#102d52!important;font-size:12px!important;font-weight:800!important;box-shadow:0 10px 28px rgba(18,54,94,.075)!important}
.service-categories a:after{content:"";position:absolute;width:62px;height:62px;left:-24px;bottom:-34px;border-radius:50%;background:rgba(242,170,0,.11);transition:transform .2s ease}
.service-categories a i{position:relative;z-index:1;flex:0 0 40px!important;width:40px!important;height:40px!important;border-radius:13px!important;background:linear-gradient(145deg,#123e72,#0b294f)!important;color:#ffc52f!important;font-size:15px!important;box-shadow:0 8px 18px rgba(8,34,67,.16)!important}
.service-categories a span{position:relative;z-index:1;white-space:nowrap}
.service-categories a:hover{transform:translateY(-3px)!important;border-color:rgba(242,170,0,.36)!important;box-shadow:0 15px 34px rgba(18,54,94,.12)!important}
.service-categories a:hover:after{transform:scale(1.35)}
.service-categories a:active{transform:translateY(-1px) scale(.985)!important}
@media(max-width:760px){.service-categories{display:flex!important;gap:9px!important;width:calc(100% + 10px)!important;margin:0 -5px 21px!important;padding:3px 5px 8px!important;overflow-x:auto!important}.service-categories a{flex:0 0 175px!important;min-height:62px!important;padding:9px 10px!important;border-radius:16px!important;font-size:11px!important;scroll-snap-align:start}.service-categories a i{flex-basis:37px!important;width:37px!important;height:37px!important;font-size:14px!important}}
/* Tablet menu visibility bridge between desktop and full mobile breakpoints. */
@media(min-width:641px) and (max-width:980px){
  .nav-panel.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important}
}
/* Fast tablet menu opening without delayed visibility. */
@media(min-width:641px) and (max-width:980px){.nav-panel{transition:transform .22s ease,opacity .18s ease,visibility 0s .22s!important}.nav-panel.open{transition:transform .22s ease,opacity .18s ease,visibility 0s 0s!important}}
