/* Preserve desktop geometry; repair clipped navigation and fixed grids on small screens. */
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #660066; outline-offset: 4px; }
.site-header nav a { white-space: nowrap; }
section[id] { scroll-margin-top: 100px; }
@media (max-width: 900px) {
  .site-header { flex-wrap: wrap; gap: 18px !important; }
  .site-header nav { flex-wrap: wrap; gap: 18px !important; }
}
@media (max-width: 760px) {
  .site-header { padding: 18px 20px !important; }
  .site-header nav { width: 100%; gap: 16px !important; font-size: 10px !important; }
  .site > section:not([style*="padding: 0"]) { padding-left: 20px !important; padding-right: 20px !important; }
  .site > section > div[style*="padding: 44px 56px"],
  .site > section > div[style*="padding: 58px 56px"] { padding-left: 20px !important; padding-right: 20px !important; }
  .site > section:first-of-type { padding-top: 64px !important; padding-bottom: 40px !important; }
  .site > section:first-of-type > div:last-child { min-width: 0; max-width: 100% !important; }
  .site > section:first-of-type > div[style*="box-shadow"] { padding: 32px 24px !important; }
  .site h1 { font-size: clamp(30px, 7.7vw, 58px) !important; }
  .split-layout, .service-row { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
  .logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .home-ledger-row { grid-template-columns: 30px minmax(0, 1fr) 75px !important; gap: 12px !important; }
  .home-ledger-row > :nth-child(3) { grid-column: 2; grid-row: 2; }
  .home-ledger-row > :nth-child(4) { grid-column: 3; grid-row: 1; }
  .home-ledger-row > :nth-child(5) { grid-column: 3; grid-row: 2; }
  .home-ledger-row > :nth-child(2) { font-size: 19px !important; }
  .energy-ledger-row { grid-template-columns: 26px minmax(0, 1fr) 70px !important; gap: 12px !important; }
  .energy-ledger-row > :nth-child(3) { grid-column: 2; grid-row: 2; }
  .energy-ledger-row > :nth-child(4) { grid-column: 3; grid-row: 1; }
  .energy-ledger-row > :nth-child(2) { font-size: 21px !important; }
  #capability a { grid-template-columns: 30px minmax(0, 1fr) !important; gap: 12px !important; }
  #capability a > :last-child { grid-column: 2; }
  #divisions a { padding: 32px 24px !important; }
  #team > div:last-child > div { padding-left: 24px !important; padding-right: 24px !important; }
  #contact a { overflow-wrap: anywhere; }
  .site > footer { padding-left: 20px !important; padding-right: 20px !important; }
  section[id] { scroll-margin-top: 154px; }
}
@media (max-width: 360px) {
  .site h1 { font-size: 26px !important; }
}

.hover-1:hover, .hover-1:focus-visible {color: #1C1A19 !important;}
.hover-2:hover, .hover-2:focus-visible {background: #4C004C !important;}
.hover-3:hover, .hover-3:focus-visible {background: #D8D5CE !important; color: #1C1A19 !important;}
.hover-4:hover, .hover-4:focus-visible {color: #FFFFFF !important;}
.hover-5:hover, .hover-5:focus-visible {background: #F0E4F0 !important; color: #660066 !important;}
.hover-6:hover, .hover-6:focus-visible {background: rgba(255,255,255,0.1) !important; color: #FFFFFF !important;}
.hover-7:hover, .hover-7:focus-visible {background: #F4F2ED !important;}
.hover-8:hover, .hover-8:focus-visible {background: #4C004C !important; color: #FFFFFF !important;}
.hover-9:hover, .hover-9:focus-visible {background: #660066 !important; color: #FFFFFF !important;}
.hover-10:hover, .hover-10:focus-visible {background: #D8D5CE !important;}
.hover-11:hover, .hover-11:focus-visible {background: #E4E1DB !important;}
