/* Scoped reference-inspired hero. The existing ambient background is preserved. */
#home.hero-redesign { position: relative; z-index: 10; isolation: isolate; max-width: 1280px; margin-inline: auto; padding: clamp(2rem, 4vw, 3.5rem) 24px 2rem; }
#home.hero-redesign > .hero-layout-v2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 2rem; align-items: center; }
#home.hero-redesign .hero-copy-v2 { min-width: 0; padding: 0; max-width: none; margin: 0; }
.hero-location-v2 { font-size: .75rem; font-weight: 500; color: #475569; margin: 0 0 1.2rem; }
.hero-location-v2 span { color: #64748b; }
#home.hero-redesign h1 { font-size: clamp(2.5rem, 4.15vw, 3.6rem) !important; line-height: 1.07 !important; letter-spacing: -.045em !important; font-weight: 600; color: #0f172a; margin: 0; text-wrap: balance; }
#home.hero-redesign h1 span { display: inline; color: #2563eb; margin: 0; }
#home.hero-redesign .hero-description-v2 { max-width: 40ch; margin: 1rem 0 1.3rem; color: #475569; font-size: 1rem; line-height: 1.65; text-wrap: pretty; }
.hero-services-v2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem .6rem; }
.hero-services-v2 a { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; padding: .65rem .5rem; border-radius: .9rem; min-width: 0; color: #0f172a; background: transparent; }
.hero-services-v2 a:hover, .hero-services-v2 a:focus-visible { background: transparent; }
.hero-services-v2 img { transition: filter 180ms ease; }
.hero-services-v2 a:hover img, .hero-services-v2 a:focus-visible img { filter: drop-shadow(0 0 4px rgba(37,99,235,.3)); }
.hero-services-v2 img { box-sizing: content-box; padding: .6rem; width: 24px; height: 24px; background: rgba(239,246,255,.9); border-radius: 50%; margin-bottom: .3rem; }
.hero-services-v2 strong { font-size: .78rem; font-weight: 600; line-height: 1.35; }
.hero-services-v2 span { font-size: .73rem; color: #64748b; line-height: 1.4; }
.hero-actions-v2 { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.hero-actions-v2 a { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .5rem 1rem; border-radius: 999px; font-size: .8125rem; font-weight: 500; white-space: nowrap; flex: 0 0 auto; transition: transform 180ms ease, box-shadow 180ms ease; }
.hero-actions-v2 a:hover { transform: translateY(-2px); }
.hero-primary-v2 { color: #fff; background: #2563eb; border: 1px solid #1d4ed8; box-shadow: 0 8px 20px -12px rgba(37,99,235,.6); }
.hero-primary-v2 img { filter: brightness(0) invert(1); }
.hero-secondary-v2 { color: #1d4ed8; background: rgba(255,255,255,.7); border: 1px solid #bfdbfe; }
.hero-equipment-v2 { min-width: 0; margin: 0; }
.hero-equipment-image-v2 { display: block; width: 100%; height: auto; object-fit: contain; }
.hero-equipment-v2 figcaption { margin: 1.25rem 0 0; display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem; color: #64748b; font-size: .75rem; }
.hero-equipment-v2 figcaption strong { font-weight: 500; color: #334155; }
#home.hero-redesign > .hero-values-v2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0; margin-top: 2rem; padding: 1.2rem 0; border-top: 1px solid rgba(203,213,225,.65); align-items: center; }
.hero-values-v2 > div { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: .35rem 1rem; color: #475569; font-size: .75rem; line-height: 1.5; border-right: 1px solid #dbeafe; }
#home.hero-redesign > .hero-values-v2 > div:last-child { padding: .35rem 1rem; border-right: 0; }.hero-values-v2 strong { font-weight: 500; color: #0f172a; }.hero-values-v2 img { flex: 0 0 24px; }
.mobile-nav-links-v2 { display: none; }
header .desktop-nav-links-v2 { display: flex !important; gap: clamp(.5rem, 1.6vw, 1.75rem); }
header .nav-ctas-v2 > a { white-space: nowrap; flex-shrink: 0; min-height: 36px; padding: .45rem .85rem; font-size: .75rem; }
@media (min-width: 768px) and (max-width: 1099px) {
  header .desktop-nav-links-v2 { gap: .65rem; font-size: .6875rem; }
  header .header-logo { width: 38px; height: 38px; }
  header .nav-ctas-v2 > a:first-child { display: none !important; }
}
@media (max-width: 767px) {
  #home.hero-redesign > .hero-values-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem .5rem; }
  #home.hero-redesign > .hero-values-v2 > div { border: 0; justify-content: center; padding: .4rem; min-width: 0; }
  #home.hero-redesign > .hero-values-v2 > div:last-child { padding: .4rem; }
  #home.hero-redesign .hero-copy-v2 { text-align: center; }
  #home.hero-redesign .hero-description-v2 { margin-inline: auto; }
  #home.hero-redesign .hero-services-v2 a { align-items: center; text-align: center; }
  #home.hero-redesign .hero-actions-v2 { justify-content: center; }
  header .desktop-nav-links-v2 { display: none !important; }
  header > nav > div > .relative { justify-content: flex-start; gap: .6rem; }
  header .mobile-nav-links-v2 { display: flex; align-items: center; gap: .3rem; margin-left: 0; margin-right: 0; }
  header .nav-ctas-v2 { margin-left: auto; }
  .mobile-nav-links-v2 a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .4rem .65rem; color: #475569; font-size: .8rem; border-radius: 999px; }
  .mobile-nav-links-v2 a:hover { background: transparent; color: #1d4ed8; }
  header .nav-ctas-v2 > a:first-child { display: none !important; }
}
@media (max-width: 900px) {
  #home.hero-redesign > .hero-layout-v2 { grid-template-columns: 1fr !important; gap: 1.75rem; }
  #home.hero-redesign .hero-copy-v2 { max-width: 650px; margin-inline: auto; width: 100%; }
  #home.hero-redesign h1 { font-size: clamp(2.5rem, 6vw, 3.5rem) !important; }
  .hero-equipment-v2 { max-width: 650px; margin-inline: auto; width: 100%; }
}
@media (max-width: 599px) {
  header > nav { padding-inline: 16px; }
  header > nav > div { padding: 8px 10px; }
  header .header-logo { width: 38px; height: 38px; }
  header .mobile-nav-links-v2 { gap: 0; margin-right: 0; }
  header .mobile-nav-links-v2 a { font-size: .75rem; padding-inline: .45rem; }
  header .nav-ctas-v2 > a:last-child { min-height: 36px; font-size: .75rem; padding: .45rem .65rem; }
  #home.hero-redesign { padding: 2rem 20px 1.5rem; }
  #home.hero-redesign h1 { font-size: clamp(2.1rem, 8.8vw, 3rem) !important; }
  #home.hero-redesign .hero-description-v2 { font-size: .95rem; margin-bottom: 1rem; }
  .hero-services-v2 { gap: .5rem; }.hero-services-v2 a { padding-inline: 0; }.hero-services-v2 strong { font-size: .72rem; }.hero-services-v2 span { font-size: .68rem; }.hero-services-v2 img { padding: .5rem; }
  .hero-actions-v2 { flex-wrap: wrap; gap: .6rem; }.hero-actions-v2 a { padding-inline: .9rem; flex: 0 0 auto; font-size: .8rem; }
  #home.hero-redesign > .hero-values-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 1rem; margin-top: 1.5rem; }
  .hero-values-v2 > div { justify-content: flex-start; padding-inline: .5rem; }.hero-values-v2 > div:nth-child(2) { border-right: 0; }
}
/* Avoid translucent-navbar compositor spill over the label on touch layouts. */
@media (max-width: 1100px), (hover: none) {
  header > nav > div { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: rgba(248,250,252,.94); isolation: isolate; }
}
@media (prefers-reduced-motion: reduce) { .hero-services-v2 a, .hero-actions-v2 a { transition: none; transform: none !important; } }
