/* HPM Compliance homepage refinement — exact logo is supplied as an image asset only. */
:root{--hp-navy:#051829;--hp-navy2:#0a2c49;--hp-blue:#1687f8;--hp-sky:#72cbff;--hp-ink:#10283d;--hp-line:#dce7ee;--hp-soft:#f6f9fc}
.side-card:before{content:none!important;display:none!important}
.site-header-v12{top:32px!important}
.utility-bar{position:relative;z-index:60;background:#06192c;color:#d9e8f2;font-size:11px}
.utility-inner{height:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utility-inner a{color:#fff;font-weight:800}
.hp-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 25% 8%,rgba(22,135,248,.20),transparent 31%),linear-gradient(97deg,#041321 0%,#071e34 50%,#0b304e 100%);color:#fff}
.hp-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 63%,rgba(255,255,255,.018) 63% 63.2%,transparent 63.2%);pointer-events:none}
.hp-hero-grid{min-height:570px;display:grid;grid-template-columns:1.03fr .97fr;align-items:stretch}.hp-copy{padding:72px 45px 70px 0;position:relative;z-index:4}.hp-eyebrow{margin:0 0 17px;color:#79ceff;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.13em}.hp-copy h1{margin:0;max-width:700px;color:#fff;font-size:clamp(48px,5vw,70px);line-height:.98;letter-spacing:-3.1px}.hp-copy h1 span{background:linear-gradient(90deg,#1687f8,#72cbff);-webkit-background-clip:text;background-clip:text;color:transparent}.hp-lead{max-width:620px;margin:25px 0 0;color:#d7e4ed;font-size:16.5px;line-height:1.65}.hp-trust{display:grid;grid-template-columns:repeat(4,1fr);max-width:665px;margin:30px 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.11);gap:12px}.hp-trust div{display:flex;align-items:center;gap:9px;color:#f2f7fb;font-size:10.5px;font-weight:800;line-height:1.25}.hp-check{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border-radius:50%;border:1px solid #47adf4;background:rgba(22,135,248,.13);color:#73cbff}.hp-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.hp-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:5px;background:#1687f8;color:#fff;font-size:12px;font-weight:800;box-shadow:0 12px 28px rgba(0,105,220,.25)}.hp-call{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.20);border-radius:5px;background:rgba(255,255,255,.035);color:#fff;font-size:12px;font-weight:800}.hp-visual{position:relative;min-height:570px}.hp-industrial{position:absolute;inset:0 -11vw 0 0;overflow:hidden;background:linear-gradient(180deg,rgba(5,19,32,.04),rgba(0,10,18,.35)),radial-gradient(circle at 72% 25%,rgba(113,201,248,.23),transparent 19%),linear-gradient(145deg,#466777 0%,#21445a 36%,#0b293f 72%,#061a2a 100%)}.hp-industrial:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 72px,rgba(255,255,255,.035) 73px 75px),repeating-linear-gradient(0deg,transparent 0 92px,rgba(255,255,255,.025) 93px 95px)}.hp-ceiling{position:absolute;left:-4%;right:-3%;top:13%;height:25px;background:linear-gradient(#7b8e98,#36515f);transform:rotate(-4deg);box-shadow:0 13px 0 rgba(2,16,28,.28)}.hp-ring{position:absolute;border:19px solid rgba(162,187,199,.66);border-left-color:rgba(221,232,237,.76);border-bottom-color:rgba(80,107,121,.72);border-radius:50%;filter:drop-shadow(0 13px 16px rgba(0,0,0,.2))}.hp-ring.one{width:315px;height:315px;left:22px;top:83px}.hp-ring.two{width:190px;height:190px;left:88px;top:145px;border-width:14px;opacity:.76}.hp-duct{position:absolute;width:300px;height:175px;right:5%;top:50px;transform:skewY(-4deg);background:linear-gradient(145deg,#8a9ba4,#3b5666 60%,#243f50);border:1px solid rgba(235,246,250,.2);box-shadow:0 30px 55px rgba(0,0,0,.24)}.hp-duct:before,.hp-duct:after{content:"";position:absolute;background:rgba(230,243,248,.18)}.hp-duct:before{left:34%;top:0;bottom:0;width:2px;box-shadow:95px 0 0 rgba(230,243,248,.18)}.hp-duct:after{left:0;right:0;top:35%;height:2px;box-shadow:0 62px 0 rgba(230,243,248,.18)}.hp-inspection{position:absolute;right:8%;bottom:54px;width:250px;padding:18px;border:1px solid rgba(154,214,248,.42);border-radius:10px;background:linear-gradient(145deg,rgba(4,24,40,.94),rgba(7,43,70,.88));box-shadow:0 18px 50px rgba(0,0,0,.34);backdrop-filter:blur(9px);z-index:2}.hp-inspection small{display:block;color:#7bcfff;font-weight:800;letter-spacing:.12em;font-size:8px;margin-bottom:7px}.hp-inspection strong{display:block;font-size:15px;margin-bottom:11px}.hp-inspection div{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid rgba(255,255,255,.10);font-size:10px;color:#d0dde6}.hp-inspection b{color:#69c8ff}.hp-photo-caption{position:absolute;left:24px;bottom:29px;z-index:2}.hp-photo-caption span{display:block;color:#7ed0ff;font-size:8px;letter-spacing:.12em;font-weight:800}.hp-photo-caption b{display:block;margin-top:4px;font-size:14px}.hp-phone{position:absolute;right:-17px;bottom:-82px;width:220px;height:425px;border:7px solid #08131c;border-radius:29px;background:#071c33;box-shadow:0 22px 55px rgba(0,0,0,.44);transform:rotate(1.2deg);z-index:3;overflow:hidden}.hp-phone-screen{height:100%;padding:23px 16px;background:radial-gradient(circle at 80% 22%,rgba(23,137,248,.20),transparent 28%),#071c33}.hp-phone-logo{display:block;width:119px;height:auto;background:#fff;padding:4px 5px;border-radius:3px}.hp-phone-kicker{color:#75cbff;font-size:7px;font-weight:800;letter-spacing:.08em;line-height:1.4;margin:32px 0 9px}.hp-phone h3{color:#fff;font-size:25px;line-height:1.02;letter-spacing:-1.2px;margin:0}.hp-phone h3 span{color:#49b3f9}.hp-phone p{color:#b8cddd;font-size:8.5px;line-height:1.5}.hp-phone-cta{display:block;margin-top:15px;background:#1687f8;color:#fff;text-align:center;padding:10px 8px;border-radius:3px;font-size:8px;font-weight:800}.hp-phone-num{text-align:center;color:#d7e7f1;font-size:8px;margin-top:10px;font-weight:800}
.hp-services{padding:66px 0 42px;background:#fff}.hp-heading{text-align:center;max-width:770px;margin:0 auto 34px}.hp-heading .hp-eyebrow{color:#1687f8;margin-bottom:8px}.hp-heading h2{font-size:34px;letter-spacing:-1.2px;margin:0;color:#10283d}.hp-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hp-card{position:relative;display:flex;flex-direction:column;min-height:282px;padding:24px 20px 20px;border:1px solid #dce6ed;border-radius:8px;background:#fff!important;background-color:#fff!important;background-image:none!important;opacity:1;filter:none;mix-blend-mode:normal;-webkit-tap-highlight-color:transparent;text-align:center;transition:.2s}\n.hp-card:link,.hp-card:visited,.hp-card:focus,.hp-card:active{background:#fff!important;background-color:#fff!important;background-image:none!important}.hp-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#1687f8,#6ec8ff);opacity:0;transition:.2s}.hp-card:hover{transform:translateY(-4px);border-color:#b8d9ef;box-shadow:0 16px 34px rgba(8,40,63,.09)}.hp-card:hover:before{opacity:1}.hp-service-icon{width:62px;height:62px;margin:0 auto 12px;display:grid;place-items:center;border-radius:12px;border:1px solid #d9ebf7;background:linear-gradient(145deg,#f5faff,#e9f4fc);color:#1289f2}.hp-service-icon svg{width:31px;height:31px}.hp-status{align-self:center;margin:0 auto 10px;padding:5px 8px;border-radius:30px;font-size:7.5px;letter-spacing:.08em;line-height:1;font-weight:800}.hp-status.live{color:#08639d;background:#e6f6ff;border:1px solid #bee6fb}.hp-status.plan{color:#5a6570;background:#f1f4f6;border:1px solid #dde3e7}.hp-card h3{font-size:17px;line-height:1.25;margin:2px 0 9px;color:#10283d}.hp-card p{color:#657581;font-size:12.25px;line-height:1.55;margin:0 0 15px;flex:1}.hp-card .more{align-self:flex-start;color:#0876dd;font-size:9px;font-weight:800;letter-spacing:.04em}.hp-mid-cta{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:23px;padding:20px 25px;border-radius:7px;background:radial-gradient(circle at 82% 30%,rgba(32,137,224,.18),transparent 21%),linear-gradient(90deg,#06192d,#0a3152);color:#fff}.hp-mid-cta .tick{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(104,199,255,.45);border-radius:50%;color:#71caff}.hp-mid-cta strong{display:block;font-size:16px}.hp-mid-cta span{display:block;margin-top:3px;color:#bed0dc;font-size:11.5px}.hp-pathway{max-width:900px;margin:24px auto 0;padding:15px 18px;border:1px solid #dce8f0;background:#f7fbfe;border-radius:8px;display:flex;gap:14px;align-items:flex-start;color:#52616e;font-size:11.5px;line-height:1.55}.hp-pathway strong{color:#10283d;white-space:nowrap}
.hp-sectors{padding:42px 0 45px;background:linear-gradient(#fff,#f8fbfd)}.hp-sector-intro{text-align:center;margin:0 auto 22px;max-width:760px}.hp-sector-intro span{display:block;color:#1485e8;font-weight:800;font-size:9px;letter-spacing:.13em}.hp-sector-intro strong{display:block;margin-top:7px;color:#10283d;font-size:24px;letter-spacing:-.5px}.hp-sector-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #e4edf3;padding-top:24px}.hp-sector-grid div{min-height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-right:1px solid #e5edf2;text-align:center}.hp-sector-grid div:last-child{border-right:0}.hp-sector-grid i{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#eff7fc;color:#1687f8;font-style:normal;font-size:20px}.hp-sector-grid b{font-size:12px;color:#20384b}.hp-process{padding:0 0 44px;background:#fff}.hp-process-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dfe9ef;border-radius:9px;overflow:hidden;box-shadow:0 14px 38px rgba(7,35,57,.06)}.hp-step{padding:22px 24px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;align-items:center;border-right:1px solid #e4edf3;background:linear-gradient(180deg,#fff,#f9fcfe)}.hp-step:last-child{border-right:0}.hp-step em{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eaf6ff;color:#0876dd;font-style:normal;font-size:10px;font-weight:800}.hp-step strong{font-size:13px;color:#10283d}.hp-step span{font-size:10.5px;color:#6a7781}
.hp-feature{padding:0 0 38px;background:#f8fbfd}.hp-feature-grid{display:grid;grid-template-columns:1.05fr 1.35fr .82fr;min-height:270px;border:1px solid #e1eaf0;box-shadow:0 16px 44px rgba(7,35,57,.08)}.hp-why{padding:35px 31px;background:radial-gradient(circle at 15% 10%,rgba(23,137,248,.16),transparent 28%),#061a2f;color:#fff}.hp-why .hp-eyebrow{margin-bottom:17px}.hp-why ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.hp-why li{position:relative;padding-left:24px;color:#d7e5ef;font-size:12.5px}.hp-why li:before{content:"✓";position:absolute;left:0;color:#6fc9ff;font-weight:900}.hp-site-visual{position:relative;overflow:hidden;background:linear-gradient(135deg,#627c8b,#29495e 58%,#15354a)}.hp-site-visual:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,255,255,.055) 59px 60px),linear-gradient(0deg,rgba(4,19,32,.48),transparent 70%)}.hp-machine{position:absolute;left:11%;right:8%;bottom:27px;height:115px;border-radius:9px 18px 8px 8px;background:linear-gradient(150deg,#d7e0e4,#6d8795 55%,#415d6d);box-shadow:0 20px 30px rgba(0,0,0,.22)}.hp-machine:before{content:"";position:absolute;left:16%;top:-77px;width:46%;height:92px;background:linear-gradient(145deg,#90a5af,#4e6978);clip-path:polygon(5% 0,100% 18%,88% 100%,0 80%)}.hp-machine:after{content:"COMMERCIAL SITE";position:absolute;left:16px;bottom:15px;color:rgba(255,255,255,.8);font-size:8px;letter-spacing:.15em;font-weight:800}.hp-quote{padding:34px 28px;background:#fff}.hp-quote h3{font-size:22px;margin:0 0 10px;color:#10283d}.hp-quote p{font-size:12px;line-height:1.6;color:#667582}.hp-quote .hp-primary{width:100%;margin:8px 0 14px}.hp-quote small{display:block;color:#798792;font-size:9px}.hp-quote strong{display:block;color:#10283d;margin-top:4px;font-size:15px}
.hp-faq{padding:59px 0 72px;background:#fff}.hp-faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hp-faq details{border:1px solid #dce6ee;border-radius:10px;background:#fff;padding:0 20px;box-shadow:0 7px 24px rgba(7,27,47,.035)}.hp-faq summary{cursor:pointer;font-weight:800;padding:20px 0;list-style:none;font-size:13px}.hp-faq summary::-webkit-details-marker{display:none}.hp-faq summary:after{content:"+";float:right;color:#1687f8;font-size:20px}.hp-faq details[open] summary:after{content:"–"}.hp-faq details p{margin:0;padding:0 0 18px;color:#637482;font-size:12px;line-height:1.6}
@media(max-width:1040px){.hp-phone{display:none}.hp-service-grid{grid-template-columns:repeat(2,1fr)}.hp-sector-grid{grid-template-columns:repeat(3,1fr);row-gap:20px}.hp-sector-grid div:nth-child(3){border-right:0}.hp-feature-grid{grid-template-columns:1fr 1.2fr}.hp-quote{grid-column:1/-1}.hp-quote .hp-primary{width:auto}.hp-hero-grid{grid-template-columns:1fr}.hp-copy{padding-bottom:235px}.hp-visual{position:absolute;left:0;right:0;bottom:0;height:220px;min-height:0}.hp-industrial{inset:0}.hp-inspection{bottom:18px}}
@media(max-width:760px){.utility-inner{height:30px;font-size:9.5px}.site-header-v12{top:30px!important}.utility-inner span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.hp-copy{padding:46px 0 190px}.hp-copy h1{font-size:43px;letter-spacing:-2px}.hp-lead{font-size:14.5px}.hp-trust{grid-template-columns:1fr 1fr}.hp-inspection{display:none}.hp-ring.one{width:210px;height:210px;top:5px}.hp-ring.two{width:125px;height:125px;top:46px}.hp-duct{width:195px;height:115px;top:16px}.hp-service-grid{grid-template-columns:1fr}.hp-mid-cta{grid-template-columns:auto 1fr}.hp-mid-cta .hp-primary{grid-column:1/-1}.hp-pathway{display:block}.hp-pathway strong{display:block;margin-bottom:4px}.hp-sector-grid{grid-template-columns:repeat(2,1fr)}.hp-sector-grid div:nth-child(3){border-right:1px solid #e5edf2}.hp-sector-grid div:nth-child(even){border-right:0}.hp-process-grid{grid-template-columns:1fr}.hp-step{border-right:0;border-bottom:1px solid #e4edf3}.hp-step:last-child{border-bottom:0}.hp-feature-grid{grid-template-columns:1fr}.hp-quote{grid-column:auto}.hp-site-visual{min-height:230px}.hp-faq-grid{grid-template-columns:1fr}.hp-heading h2{font-size:29px}}

.hp-site-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.service-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}


/* OPTION 1 PHOTO HERO — approved September 2026 */
.hp-hero{
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(4,18,30,.97) 0%,rgba(4,18,30,.91) 48%,rgba(4,18,30,.60) 100%),
    url("assets/hpm-fire-damper-inspection.jpg") center 46%/cover no-repeat;
}
.hp-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(3,14,24,.06) 0%,rgba(3,14,24,.10) 58%,rgba(3,14,24,.38) 100%);
  pointer-events:none;
}
.hp-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:92px;
  z-index:0;
  background:linear-gradient(180deg,transparent,rgba(3,14,24,.52));
  pointer-events:none;
}
.hp-hero-grid{
  position:relative;
  z-index:1;
  display:block;
  min-height:610px;
}
.hp-copy{
  max-width:735px;
  padding:76px 0 78px;
}
.hp-visual{display:none}
.hp-trust{max-width:680px}
.hp-photo-caption{display:none}

@media(max-width:1040px){
  .hp-hero{
    background-position:center 44%;
  }
  .hp-hero-grid{
    min-height:610px;
    display:block;
  }
  .hp-copy{
    max-width:700px;
    padding:68px 0 76px;
  }
  .hp-visual{display:none}
}

@media(max-width:760px){
  .hp-hero{
    background:
      linear-gradient(180deg,rgba(4,18,30,.97) 0%,rgba(4,18,30,.90) 57%,rgba(4,18,30,.58) 100%),
      url("assets/hpm-fire-damper-inspection.jpg") center/cover no-repeat;
  }
  .hp-hero:after{
    height:118px;
    background:linear-gradient(180deg,transparent,rgba(3,14,24,.68));
  }
  .hp-hero-grid{
    width:min(100% - 48px,1200px);
    min-height:680px;
  }
  .hp-copy{
    max-width:none;
    padding:40px 0 108px;
  }
  .hp-copy h1{
    font-size:40px;
    line-height:1.02;
    letter-spacing:-1.8px;
  }
  .hp-lead{
    margin-top:17px;
    font-size:15px;
    line-height:1.55;
  }
  .hp-trust{
    gap:13px 15px;
    margin:24px 0 20px;
    padding-top:20px;
  }
  .hp-trust div{
    gap:8px;
    font-size:12px;
  }
  .hp-check{
    width:auto;
    height:auto;
    flex:0 0 auto;
    border:0;
    border-radius:0;
    background:none;
    font-size:16px;
  }
  .hp-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    flex-wrap:nowrap;
  }
  .hp-primary,.hp-call{
    min-height:52px;
    padding:0 10px;
    border-radius:8px;
    font-size:11.5px;
    white-space:nowrap;
  }
  .hp-call{
    background:rgba(3,17,28,.55);
    border-color:rgba(255,255,255,.28);
  }
}
