:root{--black:#0a0c0f;--steel:#15191e;--steel2:#20262d;--white:#fff;--muted:#aab1b8;--blue:#1769e0;--blue2:#0d4faf;--wrap:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:"IBM Plex Sans",sans-serif;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:0}.wrap{width:min(var(--wrap),calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:1000;background:#fff;color:#000;padding:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(10,12,15,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px)}.nav{height:164px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{height:144px;width:auto}.nav-links{display:flex;gap:30px}.nav-links a{text-decoration:none;text-transform:uppercase;font-family:"IBM Plex Mono",monospace;font-size:.8rem;letter-spacing:.08em;color:#d5d9dd}.nav-links a:hover{color:#fff}.nav-actions{display:flex;align-items:center;gap:12px}.call-btn,.btn{border:0;cursor:pointer;background:var(--blue);color:#fff;text-decoration:none;font-family:"IBM Plex Mono",monospace;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:14px 20px;display:inline-flex;align-items:center;gap:8px}.btn:hover,.call-btn:hover{background:var(--blue2)}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.45)}.btn-outline:hover{background:rgba(255,255,255,.08)}.menu-toggle{display:none;background:none;color:#fff;border:0;font-size:1.7rem}.phone-dropdown{position:relative}.phone-panel{position:absolute;right:0;top:calc(100% + 10px);width:255px;background:var(--steel);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}.phone-dropdown.open .phone-panel{opacity:1;visibility:visible;transform:none}.phone-panel a{display:flex;justify-content:space-between;padding:13px 14px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08);font-size:.85rem}.phone-panel a:hover{background:var(--steel2)}.hero{min-height:650px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(5,7,9,.93) 0%,rgba(5,7,9,.72) 43%,rgba(5,7,9,.18) 78%),linear-gradient(0deg,rgba(5,7,9,.55),transparent 45%),url("https://images.pexels.com/photos/2199293/pexels-photo-2199293.jpeg?auto=compress&cs=tinysrgb&w=1800") center/cover no-repeat;border-bottom:5px solid var(--blue)}.hero-content{padding:90px 0}.eyebrow{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;color:#5ca0ff;letter-spacing:.14em;font-size:.78rem;margin-bottom:16px}.hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.96;max-width:12ch;text-shadow:0 4px 16px rgba(0,0,0,.55)}.hero h1 span{color:#2779ef}.hero p{max-width:590px;color:#d9dde2;font-size:1.12rem;margin:24px 0 0}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.stats{background:var(--steel2);border-bottom:1px solid rgba(255,255,255,.08)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat-grid article{padding:27px 24px;border-right:1px solid rgba(255,255,255,.1)}.stat-grid article:last-child{border-right:0}.stat-grid strong{display:block;font-family:"Oswald",sans-serif;font-size:1.9rem;text-transform:uppercase}.stat-grid span{font-family:"IBM Plex Mono",monospace;color:#5ca0ff;font-size:.72rem;text-transform:uppercase}section{padding:92px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about{position:relative;background:linear-gradient(90deg,rgba(5,7,9,.96) 0%,rgba(5,7,9,.82) 48%,rgba(5,7,9,.42) 100%),url("https://images.pexels.com/photos/7541360/pexels-photo-7541360.jpeg?auto=compress&cs=tinysrgb&w=1800") center/cover no-repeat;background-attachment:scroll}.about .section-copy{max-width:650px;padding:28px 0}.section-copy h2,.section-head h2,.contact h2{font-size:clamp(2rem,4vw,3.2rem)}.section-copy p,.contact p{color:var(--muted);font-size:1.02rem}.why{background:#e9ecef;color:#14171a}.why .eyebrow{color:var(--blue2)}.section-head{margin-bottom:42px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.feature-grid article{background:#fff;padding:26px;border-top:4px solid var(--blue)}.feature-grid span{font-family:"IBM Plex Mono",monospace;color:var(--blue)}.feature-grid h3{font-size:1.1rem;margin-top:8px}.feature-grid p{color:#545b63;font-size:.92rem}.locations{background:var(--black)}.location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.location-grid article{background:var(--steel);padding:26px;border:1px solid rgba(255,255,255,.08)}.location-grid h3{font-size:1.2rem}.location-grid address{font-style:normal;color:var(--muted);margin:10px 0}.location-grid a{display:block;text-decoration:none;color:#fff;margin-top:6px}.location-grid .directions{color:#5ca0ff;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;font-size:.75rem;margin-top:18px}.quote-band{padding:80px 0;background:linear-gradient(90deg,rgba(5,6,8,.9),rgba(5,6,8,.45)),url("https://images.pexels.com/photos/117831/pexels-photo-117831.jpeg?auto=compress&cs=tinysrgb&w=1800") center/cover no-repeat}.quote-band blockquote{margin:0;max-width:900px;font-family:"Oswald",sans-serif;font-size:clamp(1.6rem,3.5vw,2.6rem)}.quote-band cite{display:block;margin-top:18px;color:#cfd5da;font-style:normal}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-details a{color:#5ca0ff}.quote-form{background:var(--steel);padding:32px;border-left:4px solid var(--blue)}.quote-form label{display:block;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;font-size:.72rem;color:var(--muted);margin:0 0 7px}.quote-form input,.quote-form textarea{width:100%;background:var(--black);color:#fff;border:1px solid rgba(255,255,255,.16);padding:13px 14px;margin-bottom:18px;font:inherit}.quote-form input:focus,.quote-form textarea:focus{outline:2px solid var(--blue);border-color:var(--blue)}.quote-form .btn{width:100%;justify-content:center}.form-note{font-size:.78rem!important;margin-bottom:0}footer{background:#08090b;border-top:1px solid rgba(255,255,255,.1);padding:38px 0 20px}.footer-grid{display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center}.footer-grid img{width:200px}.footer-grid p{color:var(--muted);margin:.35rem 0 0}.footer-grid>div:last-child{display:grid;gap:6px}.footer-grid a{text-decoration:none;color:var(--muted)}.copyright{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);color:#7f878e;font-size:.8rem}@media(max-width:920px){.nav-links{position:fixed;top:164px;left:0;right:0;background:var(--black);padding:24px;display:none;flex-direction:column}.nav-links.open{display:flex}.menu-toggle{display:block}.call-btn span:last-child{display:none}.split,.contact-grid{grid-template-columns:1fr}.feature-grid,.location-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.brand img{height:100px}.nav{height:116px}.nav-links{top:116px}.hero{min-height:570px;background-position:62% center}.hero h1{font-size:3.15rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid article:nth-child(2){border-right:0}.feature-grid,.location-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
/* Desktop visibility and sizing corrections */
@media (min-width: 921px) {
  .nav { height: 230px; gap: 34px; }
  .brand { flex: 0 0 auto; }
  .brand img { height: 210px; width: auto; max-width: 330px; object-fit: contain; }
  .nav-links { gap: 40px; align-items: center; }
  .nav-links a { font-size: 1.6rem; line-height: 1.1; letter-spacing: .06em; white-space: nowrap; }
  .call-btn { font-size: 1.15rem; padding: 20px 24px; white-space: nowrap; }
  .footer-grid { grid-template-columns: 420px 1fr auto; }
  .footer-grid img { width: 400px; max-height: 310px; object-fit: contain; }
}

.about { position: relative; overflow: hidden; isolation: isolate; background: #0a0c0f; min-height: 610px; display: flex; align-items: center; }
.about-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; opacity: 1; }
.about-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5,7,9,.94) 0%, rgba(5,7,9,.78) 48%, rgba(5,7,9,.28) 100%); }
.about-content { position: relative; z-index: 1; width: 100%; }
.about .section-copy p { color: #e0e4e8; text-shadow: 0 2px 8px rgba(0,0,0,.6); }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-note.success { color: #8ee6a8; }
.form-note.error { color: #ff9c9c; }
.quote-form button:disabled { opacity: .65; cursor: wait; }

@media (max-width: 1180px) and (min-width: 921px) {
  .nav { height: 196px; gap: 18px; }
  .brand img { height: 176px; max-width: 260px; }
  .nav-links { gap: 22px; }
  .nav-links a { font-size: 1.25rem; }
  .call-btn { font-size: .95rem; padding: 17px 18px; }
}

/* Contact form styled after the clean Heavy Duty Software form */
.contact-card { border-left: 0; border-top: 4px solid var(--blue); box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.form-heading { text-align: center; margin-bottom: 28px; }
.form-heading h3 { font-size: 2rem; }
.form-heading p { margin: 6px 0 0; color: var(--muted); }
.form-row.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-group { min-width: 0; }
.quote-form .field-group label { font-size: .78rem; }
.quote-form input,
.quote-form textarea { border-radius: 2px; transition: border-color .2s, box-shadow .2s; }
.quote-form input:focus,
.quote-form textarea:focus { outline: none; box-shadow: 0 0 0 3px rgba(23,105,224,.2); }
.signup-option { display: flex !important; align-items: flex-start; gap: 10px; margin: 2px 0 22px !important; text-transform: none !important; letter-spacing: 0 !important; font-family: "IBM Plex Sans",sans-serif !important; font-size: .9rem !important; color: #d5d9dd !important; cursor: pointer; }
.signup-option input { width: 18px; height: 18px; flex: 0 0 auto; margin: 2px 0 0 !important; accent-color: var(--blue); }
.form-submit { min-height: 54px; font-size: 1rem; }
@media (max-width: 640px) { .form-row.two-column { grid-template-columns: 1fr; gap: 0; } .contact-card { padding: 24px; } }


/* About copy placed directly over the second background image */
.about-content { display: flex; align-items: center; min-height: 430px; }
.about-card { max-width: 680px; padding: 38px 42px !important; background: rgba(7,10,13,.78); border-left: 5px solid var(--blue); box-shadow: 0 22px 60px rgba(0,0,0,.38); backdrop-filter: blur(2px); }
.about-card h2 { margin-top: 10px; }
@media (max-width: 640px) { .about-card { padding: 28px 24px !important; } }


/* Final desktop corrections: force a visibly larger logo and true text-over-photo About section */
@media (min-width: 921px) {
  .site-header .nav {
    min-height: 250px;
    height: auto;
    padding: 16px 0;
  }
  .site-header .brand {
    display: block;
    width: 440px;
    min-width: 440px;
    line-height: 0;
  }
  .site-header .brand img {
    display: block;
    width: 440px !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
  }
}

.about {
  position: relative !important;
  min-height: 650px;
  padding: 0;
  overflow: hidden;
  isolation: auto;
  background: #0a0c0f;
}
.about-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
}
.about-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(5,7,9,.84) 0%, rgba(5,7,9,.56) 55%, rgba(5,7,9,.22) 100%);
}
.about-content {
  position: relative;
  z-index: 2;
  min-height: 650px;
  display: flex;
  align-items: center;
  padding-top: 72px;
  padding-bottom: 72px;
}
.about-card {
  position: relative;
  z-index: 3;
  width: min(680px, 100%);
  margin: 0;
  color: #fff;
  background: rgba(7,10,13,.72);
  border-left: 6px solid var(--blue);
  padding: 42px 46px !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.48);
  backdrop-filter: blur(3px);
}
.about-card p { color: #f1f4f7 !important; }

@media (max-width: 1180px) and (min-width: 921px) {
  .site-header .brand,
  .site-header .brand img {
    width: 360px !important;
    min-width: 360px;
  }
  .site-header .nav { min-height: 220px; }
}

@media (max-width: 640px) {
  .about, .about-content { min-height: 560px; }
  .about-content { padding-top: 48px; padding-bottom: 48px; }
  .about-card { padding: 28px 24px !important; }
}

/* Compact header: reduced to approximately half of the prior desktop size */
@media (min-width: 921px) {
  .site-header .nav {
    min-height: 125px;
    height: 125px;
    padding: 8px 0;
    gap: 20px;
  }
  .site-header .brand {
    width: 220px;
    min-width: 220px;
  }
  .site-header .brand img {
    width: 220px !important;
    height: auto !important;
  }
  .site-header .nav-links {
    gap: 20px;
  }
  .site-header .nav-links a {
    font-size: .8rem;
    letter-spacing: .06em;
  }
  .site-header .call-btn {
    font-size: .8rem;
    padding: 12px 16px;
  }
}

@media (max-width: 1180px) and (min-width: 921px) {
  .site-header .nav {
    min-height: 110px;
    height: 110px;
    gap: 14px;
  }
  .site-header .brand,
  .site-header .brand img {
    width: 180px !important;
    min-width: 180px;
  }
  .site-header .nav-links {
    gap: 14px;
  }
  .site-header .nav-links a {
    font-size: .72rem;
  }
  .site-header .call-btn {
    font-size: .72rem;
    padding: 10px 12px;
  }
}

/* Final header refinement: slimmer, non-sticky, larger menu, contained logo */
.site-header {
  position: relative !important;
  top: auto !important;
}

@media (min-width: 921px) {
  .site-header .nav {
    height: 104px !important;
    min-height: 104px !important;
    padding: 6px 0 !important;
    gap: 22px !important;
  }
  .site-header .brand {
    width: 170px !important;
    min-width: 170px !important;
    height: 92px !important;
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  .site-header .brand img {
    width: auto !important;
    height: 88px !important;
    max-width: 170px !important;
    max-height: 88px !important;
    object-fit: contain;
  }
  .site-header .nav-links {
    gap: 24px !important;
  }
  .site-header .nav-links a {
    font-size: 1rem !important;
    line-height: 1.15 !important;
    letter-spacing: .055em !important;
  }
  .site-header .call-btn {
    font-size: .9rem !important;
    padding: 12px 15px !important;
  }
}

@media (max-width: 1180px) and (min-width: 921px) {
  .site-header .nav {
    height: 96px !important;
    min-height: 96px !important;
    gap: 12px !important;
  }
  .site-header .brand {
    width: 145px !important;
    min-width: 145px !important;
    height: 84px !important;
  }
  .site-header .brand img {
    height: 80px !important;
    max-width: 145px !important;
    max-height: 80px !important;
  }
  .site-header .nav-links {
    gap: 13px !important;
  }
  .site-header .nav-links a {
    font-size: .86rem !important;
  }
  .site-header .call-btn {
    font-size: .76rem !important;
    padding: 10px 11px !important;
  }
}

/* Verified desktop header sizing — 2026-08-03 */
.site-header {
  position: relative !important;
  top: auto !important;
}

@media (min-width: 921px) {
  .site-header .nav {
    height: 86px !important;
    min-height: 86px !important;
    padding: 5px 0 !important;
    gap: 18px !important;
  }
  .site-header .brand {
    width: 160px !important;
    min-width: 160px !important;
    height: 76px !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
  }
  .site-header .brand img {
    display: block !important;
    width: 160px !important;
    height: 72px !important;
    max-width: 160px !important;
    max-height: 72px !important;
    object-fit: contain !important;
  }
  .site-header .nav-links {
    gap: 25px !important;
    align-items: center !important;
  }
  .site-header .nav-links a {
    font-size: 1.12rem !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    white-space: nowrap !important;
  }
  .site-header .call-btn {
    font-size: .84rem !important;
    padding: 10px 13px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1180px) and (min-width: 921px) {
  .site-header .nav {
    height: 82px !important;
    min-height: 82px !important;
    gap: 10px !important;
  }
  .site-header .brand {
    width: 138px !important;
    min-width: 138px !important;
    height: 72px !important;
  }
  .site-header .brand img {
    width: 138px !important;
    height: 68px !important;
    max-width: 138px !important;
    max-height: 68px !important;
  }
  .site-header .nav-links {
    gap: 14px !important;
  }
  .site-header .nav-links a {
    font-size: .98rem !important;
  }
  .site-header .call-btn {
    font-size: .72rem !important;
    padding: 9px 10px !important;
  }
}
