/*
Theme Name: CQM Engineering - Fully Editable Elementor
Theme URI: https://example.com/
Author: OpenAI
Description: CQM Engineering construction website. Visual content is built with native Elementor containers and widgets for full drag-and-drop editing.
Version: 6.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: cqm-engineering
*/

:root {
  --cqm-navy:#062d48;
  --cqm-navy-2:#0b3c5d;
  --cqm-blue:#0b84d8;
  --cqm-cyan:#55c7e7;
  --cqm-ink:#0a2137;
  --cqm-text:#526477;
  --cqm-soft:#f4f8fb;
  --cqm-line:#dce6ed;
  --cqm-white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--cqm-ink);font-family:Arial,Helvetica,sans-serif;background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
body.admin-bar .cqm-topbar{margin-top:0}
.cqm-wrap{width:min(1180px,calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important}
.cqm-section{width:100%!important}
.cqm-kicker .elementor-heading-title,.cqm-eyebrow .elementor-heading-title{font-size:12px!important;line-height:1.2!important;letter-spacing:2px!important;text-transform:uppercase!important;color:var(--cqm-blue)!important;font-weight:800!important}
.cqm-title .elementor-heading-title{font-size:46px!important;line-height:1.02!important;letter-spacing:-1.5px!important;color:var(--cqm-ink)!important;font-weight:800!important}
.cqm-body,.cqm-body p{font-size:16px!important;line-height:1.72!important;color:var(--cqm-text)!important;margin:0}
.cqm-btn .elementor-button{background:var(--cqm-blue)!important;color:#fff!important;border-radius:2px!important;padding:15px 23px!important;font-weight:700!important;border:1px solid var(--cqm-blue)!important}
.cqm-btn-outline .elementor-button{background:transparent!important;color:inherit!important;border:1px solid currentColor!important;border-radius:2px!important;padding:15px 23px!important;font-weight:700!important}

/* top/header */
.cqm-topbar{background:var(--cqm-navy)!important;color:#c6e2f2!important;min-height:35px!important}
.cqm-topbar-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;min-height:35px!important}
.cqm-topbar-text,.cqm-topbar-text p{font-size:12px!important;color:#c6e2f2!important;margin:0!important}
.cqm-header{background:#fff!important;border-bottom:1px solid #edf2f5!important;position:relative;z-index:40}
.cqm-header-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;min-height:78px!important;gap:32px!important}
.cqm-logo{width:130px!important;max-width:130px!important}
.cqm-logo img{width:100%!important}
.cqm-desktop-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:2px!important;margin-left:auto!important}
.cqm-nav-link .elementor-button{background:transparent!important;color:var(--cqm-ink)!important;padding:28px 12px 25px!important;border-radius:0!important;font-size:14px!important;font-weight:700!important;border:0!important;border-bottom:2px solid transparent!important}
.cqm-nav-link.is-active .elementor-button,.cqm-nav-link .elementor-button:hover{color:var(--cqm-blue)!important;border-bottom-color:var(--cqm-blue)!important}
.cqm-search-trigger .elementor-button{background:transparent!important;color:var(--cqm-ink)!important;padding:20px 8px!important;font-size:24px!important;border:0!important}
.cqm-menu-toggle{display:none!important}
.cqm-mobile-nav{display:none!important}

/* hero */
.cqm-hero{background:linear-gradient(95deg,#062d48 0%,#123e58 48%,#d2b390 100%)!important;overflow:hidden!important;position:relative!important}
.cqm-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,45,72,.08),rgba(6,45,72,0));pointer-events:none}
.cqm-hero-grid{display:grid!important;grid-template-columns:1.05fr .95fr!important;align-items:stretch!important;min-height:565px!important;position:relative;z-index:2}
.cqm-hero-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;padding:72px 20px 72px 0!important;gap:17px!important}
.cqm-hero .cqm-kicker .elementor-heading-title{color:#6be0f5!important}
.cqm-hero-title .elementor-heading-title{font-size:64px!important;line-height:.98!important;color:#fff!important;font-weight:800!important;letter-spacing:-2px!important;max-width:590px!important}
.cqm-hero-text,.cqm-hero-text p{font-size:17px!important;line-height:1.6!important;color:#fff!important;max-width:610px!important;margin:0!important}
.cqm-hero-actions{display:flex!important;flex-direction:row!important;gap:12px!important;margin-top:8px!important}
.cqm-hero .cqm-btn-outline .elementor-button{color:#fff!important}
.cqm-hero-trust{display:flex!important;flex-direction:row!important;gap:24px!important;margin-top:18px!important;flex-wrap:wrap!important}
.cqm-trust-item,.cqm-trust-item p{color:#e6f3fb!important;font-size:12px!important;margin:0!important}
.cqm-hero-visual{display:flex!important;align-items:flex-end!important;justify-content:center!important;position:relative!important;overflow:hidden!important}
.cqm-hero-image{width:100%!important;align-self:flex-end!important}
.cqm-hero-image img{width:100%!important;display:block!important;max-height:530px!important;object-fit:contain!important;object-position:center bottom!important}

/* general sections */
.cqm-section-pad{padding:80px 0!important}
.cqm-section-soft{background:var(--cqm-soft)!important}
.cqm-intro-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:64px!important;align-items:center!important}
.cqm-about-visual{position:relative!important;min-height:430px!important;display:flex!important;align-items:center!important}
.cqm-about-image{width:100%!important}
.cqm-about-image img{width:100%!important;min-height:390px!important;object-fit:cover!important;border-radius:2px!important}
.cqm-intro-copy{display:flex!important;flex-direction:column!important;gap:16px!important;align-items:flex-start!important}
.cqm-stats{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:1px!important;background:var(--cqm-line)!important;width:100%!important;margin:8px 0 8px!important}
.cqm-stat{background:#fff!important;padding:23px!important;display:flex!important;flex-direction:column!important;gap:4px!important}
.cqm-stat-number .elementor-heading-title{font-size:30px!important;color:var(--cqm-navy)!important;font-weight:800!important}
.cqm-stat-label,.cqm-stat-label p{font-size:12px!important;color:var(--cqm-text)!important;margin:0!important}
.cqm-section-head{display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;gap:30px!important;margin-bottom:32px!important}
.cqm-head-copy{display:flex!important;flex-direction:column!important;gap:10px!important;max-width:720px!important}
.cqm-service-layout{display:grid!important;grid-template-columns:.7fr 1.3fr!important;gap:20px!important;align-items:stretch!important}
.cqm-service-image img{width:100%!important;height:100%!important;min-height:300px!important;object-fit:cover!important}
.cqm-service-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1px!important;background:#dbe5ec!important}
.cqm-service-card{background:#fff!important;padding:30px 25px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;min-height:300px!important;transition:.2s ease!important}
.cqm-service-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(9,45,70,.08);z-index:2}
.cqm-service-icon .elementor-heading-title{font-size:32px!important;color:var(--cqm-blue)!important}
.cqm-card-title .elementor-heading-title{font-size:20px!important;line-height:1.2!important;color:var(--cqm-ink)!important;font-weight:800!important}
.cqm-card-text,.cqm-card-text p{font-size:14px!important;line-height:1.55!important;color:var(--cqm-text)!important;margin:0!important}
.cqm-text-link .elementor-button{background:transparent!important;color:var(--cqm-blue)!important;padding:6px 0!important;border:0!important;font-size:13px!important;font-weight:800!important}

/* projects custom widget */
.cqm-projects-widget{width:100%}
.cqm-project-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 25px;flex-wrap:wrap}
.cqm-project-filters{display:flex;gap:8px;flex-wrap:wrap}
.cqm-filter-btn{border:1px solid #d8e3ea;background:#fff;padding:9px 13px;font-size:12px;font-weight:700;color:var(--cqm-ink);cursor:pointer;border-radius:2px}
.cqm-filter-btn.active,.cqm-filter-btn:hover{background:var(--cqm-blue);color:#fff;border-color:var(--cqm-blue)}
.cqm-project-search{border:1px solid #d8e3ea;background:#fff;padding:10px 13px;min-width:220px;font-size:13px}
.cqm-project-grid{display:grid;grid-template-columns:repeat(var(--cqm-project-cols,3),1fr);gap:18px}
.cqm-project-card{position:relative;min-height:270px;overflow:hidden;background:#0b2d43;display:flex;align-items:flex-end;color:#fff}
.cqm-project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.3s ease}
.cqm-project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(2,31,52,.9) 100%)}
.cqm-project-card:hover img{transform:scale(1.04)}
.cqm-project-meta{position:relative;z-index:2;padding:22px;width:100%}
.cqm-project-cat{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#72daf4;margin-bottom:5px}
.cqm-project-title{font-size:20px;font-weight:800;margin:0;color:#fff}
.cqm-project-card.is-hidden{display:none}

/* why */
.cqm-why{background:var(--cqm-navy)!important;color:#fff!important}
.cqm-why-grid{display:grid!important;grid-template-columns:.8fr 1.2fr!important;gap:70px!important;align-items:center!important}
.cqm-why .cqm-title .elementor-heading-title,.cqm-why .cqm-body,.cqm-why .cqm-body p{color:#fff!important}
.cqm-why-list{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
.cqm-value-card{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:6px!important}
.cqm-value-title .elementor-heading-title{font-size:16px!important;color:#fff!important;font-weight:800!important}
.cqm-value-text,.cqm-value-text p{font-size:12px!important;line-height:1.5!important;color:#cce0ed!important;margin:0!important}

/* logos */
.cqm-logo-band{border-top:1px solid var(--cqm-line)!important;border-bottom:1px solid var(--cqm-line)!important;padding:35px 0!important}
.cqm-logo-row{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:10px!important;align-items:center!important}
.cqm-client-box{background:#fff!important;border:1px solid #e1e9ee!important;padding:24px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:78px!important}
.cqm-client-name .elementor-heading-title{font-size:13px!important;letter-spacing:.7px!important;color:#8594a0!important;font-weight:800!important;text-align:center!important}

/* CTA/footer */
.cqm-cta{background:linear-gradient(90deg,#183f5b,#0d2f49)!important;color:#fff!important;padding:35px 0!important}
.cqm-cta-inner{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:20px!important}
.cqm-cta-title .elementor-heading-title{font-size:29px!important;color:#fff!important;font-weight:800!important}
.cqm-cta-text,.cqm-cta-text p{color:#d2e5f0!important;margin:0!important;font-size:14px!important}
.cqm-footer{background:#062d48!important;color:#fff!important;padding:50px 0 20px!important}
.cqm-footer-grid{display:grid!important;grid-template-columns:1.4fr .8fr .8fr 1fr!important;gap:55px!important}
.cqm-footer-logo{width:125px!important}
.cqm-footer-text,.cqm-footer-text p{font-size:13px!important;line-height:1.65!important;color:#c2dbe9!important;margin:0!important}
.cqm-footer-heading .elementor-heading-title{font-size:13px!important;text-transform:uppercase!important;letter-spacing:1.4px!important;color:#fff!important;font-weight:800!important}
.cqm-footer-link .elementor-button{display:block!important;background:transparent!important;color:#d0e3ee!important;padding:4px 0!important;border:0!important;text-align:left!important;font-size:13px!important}
.cqm-footer-bottom{border-top:1px solid rgba(255,255,255,.12)!important;margin-top:35px!important;padding-top:18px!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;gap:20px!important}
.cqm-footer-small,.cqm-footer-small p{font-size:11px!important;color:#b8d0dd!important;margin:0!important}

/* internal */
.cqm-page-hero{background:linear-gradient(110deg,#062d48,#174e6c)!important;padding:78px 0!important;color:#fff!important}
.cqm-page-hero-inner{display:flex!important;flex-direction:column!important;gap:12px!important;align-items:flex-start!important}
.cqm-page-title .elementor-heading-title{font-size:54px!important;line-height:1!important;color:#fff!important;font-weight:800!important}
.cqm-page-lead,.cqm-page-lead p{font-size:17px!important;line-height:1.6!important;color:#d9eaf3!important;max-width:720px!important;margin:0!important}
.cqm-two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:60px!important;align-items:center!important}
.cqm-three-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important}
.cqm-info-card{border:1px solid var(--cqm-line)!important;background:#fff!important;padding:28px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.cqm-contact-grid{display:grid!important;grid-template-columns:.75fr 1.25fr!important;gap:55px!important;align-items:start!important}
.cqm-map-widget{min-height:380px!important}
.cqm-map-widget iframe{min-height:380px!important}
.cqm-career-panel{background:var(--cqm-soft)!important;border-left:4px solid var(--cqm-blue)!important;padding:35px!important;display:flex!important;flex-direction:column!important;gap:16px!important}

/* search overlay */
.cqm-search-overlay{position:fixed;inset:0;background:rgba(4,26,42,.94);z-index:999999;display:none;align-items:center;justify-content:center;padding:30px}
.cqm-search-overlay.is-open{display:flex}
.cqm-search-box{width:min(760px,100%);position:relative}
.cqm-search-box input{width:100%;font-size:26px;padding:18px 55px 18px 18px;background:#fff;border:0;border-radius:2px;color:#0a2137}
.cqm-search-box button{position:absolute;right:8px;top:8px;bottom:8px;width:48px;background:var(--cqm-blue);color:#fff;border:0;font-size:20px;cursor:pointer}
.cqm-search-close{position:absolute;right:24px;top:24px;background:transparent;border:0;color:#fff;font-size:38px;cursor:pointer}

/* search results */
.cqm-search-page{width:min(1100px,calc(100% - 48px));margin:60px auto 90px}
.cqm-search-result{padding:25px 0;border-bottom:1px solid var(--cqm-line)}
.cqm-search-result h2{margin:0 0 8px;font-size:24px}.cqm-search-result p{color:var(--cqm-text)}

@media(max-width:1024px){
  .cqm-hero-title .elementor-heading-title{font-size:52px!important}
  .cqm-hero-grid{grid-template-columns:1fr 1fr!important;min-height:520px!important}
  .cqm-service-layout{grid-template-columns:1fr!important}.cqm-service-image{display:none!important}
  .cqm-footer-grid{grid-template-columns:1.2fr 1fr 1fr!important}.cqm-footer-grid>.elementor-element:last-child{grid-column:1/-1}
}
@media(max-width:767px){
  .cqm-wrap{width:min(100% - 30px,1180px)!important}
  .cqm-topbar-inner{justify-content:center!important}.cqm-topbar-inner>.elementor-element:last-child{display:none!important}
  .cqm-header-inner{min-height:68px!important}.cqm-desktop-nav{display:none!important}.cqm-menu-toggle{display:block!important;margin-left:auto!important}
  .cqm-menu-toggle .elementor-button{background:transparent!important;color:var(--cqm-ink)!important;font-size:25px!important;padding:12px!important}
  .cqm-mobile-nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:#fff!important;border-top:1px solid #e6edf2!important;padding:16px 20px!important;display:none!important;flex-direction:column!important;align-items:stretch!important;box-shadow:0 16px 30px rgba(0,0,0,.08)!important}
  .cqm-mobile-nav.is-open{display:flex!important}.cqm-mobile-nav .cqm-nav-link .elementor-button{padding:11px 2px!important;width:100%!important;text-align:left!important;border:0!important}
  .cqm-hero-grid{grid-template-columns:1fr!important;min-height:auto!important}.cqm-hero-copy{padding:64px 0 25px!important}.cqm-hero-visual{min-height:310px!important}
  .cqm-hero-title .elementor-heading-title{font-size:46px!important}.cqm-hero-actions{flex-wrap:wrap!important}.cqm-hero-trust{gap:12px!important}
  .cqm-section-pad{padding:58px 0!important}.cqm-intro-grid,.cqm-two-col,.cqm-contact-grid,.cqm-why-grid{grid-template-columns:1fr!important;gap:35px!important}
  .cqm-title .elementor-heading-title{font-size:36px!important}.cqm-page-title .elementor-heading-title{font-size:42px!important}
  .cqm-service-grid,.cqm-three-grid{grid-template-columns:1fr!important}.cqm-service-card{min-height:auto!important}
  .cqm-section-head,.cqm-cta-inner{align-items:flex-start!important;flex-direction:column!important}.cqm-project-grid{grid-template-columns:1fr!important}.cqm-project-search{width:100%!important}
  .cqm-why-list{grid-template-columns:1fr!important}.cqm-logo-row{grid-template-columns:repeat(2,1fr)!important}
  .cqm-footer-grid{grid-template-columns:1fr!important;gap:28px!important}.cqm-footer-grid>.elementor-element:last-child{grid-column:auto}.cqm-footer-bottom{flex-direction:column!important}
}
