* {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: "Avenir Next", Avenir, "Avenir LT Std", "Avenir LT Pro", "Nunito Sans", "Segoe UI", sans-serif;
      line-height: 1.5;
      color: #eef3ff;
      background: #0d1841;
      position: relative;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -2;
      background:
        radial-gradient(circle at 18% 18%, rgba(0, 0, 255, 0.16), transparent 30%),
        radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.06), transparent 26%),
        linear-gradient(180deg, #0d1841 0%, #122153 55%, #0a1231 100%);
    }

    body:not(.page-home)::before {
      background:
        radial-gradient(circle at 18% 18%, rgba(0, 0, 255, 0.08), transparent 30%),
        radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.75), transparent 28%),
        linear-gradient(180deg, #fbfcff 0%, #f1f4fa 52%, #e9eef6 100%);
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    header,
    main,
    footer {
      width: 100%;
    }

    .page {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    .background-electric-field {
      position: fixed;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      pointer-events: none;
      opacity: 1;
    }

    .container {
      max-width: 960px;
      margin: 0 auto;
      padding: 1.5rem;
    }

    body.page-pending .site-header-inner,
    body.page-pending main > section,
    body.page-pending .site-footer {
      opacity: 0;
      visibility: hidden;
    }

    body.page-ready .site-header-inner,
    body.page-ready main > section,
    body.page-ready .site-footer {
      visibility: visible;
    }

    h1,
    h2,
    h3 {
      margin-bottom: 1rem;
      font-weight: 600;
    }

    p {
      margin-bottom: 0.75rem;
    }

    ul {
      margin-left: 1.25rem;
      margin-bottom: 1rem;
    }

    .muted {
      color: rgba(226, 234, 255, 0.72);
      font-size: 0.9rem;
    }

    section {
      padding: 3rem 0;
      scroll-margin-top: 110px;
    }

    button {
      padding: 0.6rem 1.2rem;
      border: 1px solid #0000FF;
      background: #0000FF;
      color: #fff;
      font: inherit;
      cursor: pointer;
      transition: background 0.25s ease, border-color 0.25s ease;
    }

    button:hover {
      background: #0000FF;
      border-color: #0000FF;
    }

    input,
    select,
    textarea {
      width: 100%;
      padding: 0.45rem 0;
      border: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.32);
      font: inherit;
      font-size: 0.95rem;
      line-height: 1.4;
      background: transparent;
      color: #eef3ff;
      border-radius: 0;
      box-shadow: none;
      appearance: none;
      -webkit-appearance: none;
    }

    textarea {
      min-height: 90px;
      resize: vertical;
    }

    select {
      padding-right: 1.5rem;
      background-image: linear-gradient(45deg, transparent 50%, rgba(238, 243, 255, 0.78) 50%),
                        linear-gradient(135deg, rgba(238, 243, 255, 0.78) 50%, transparent 50%);
      background-position: calc(100% - 14px) calc(50% - 2px),
                           calc(100% - 9px) calc(50% - 2px);
      background-size: 5px 5px, 5px 5px;
      background-repeat: no-repeat;
    }

    input:focus,
    select:focus,
    textarea:focus {
      outline: none;
      border-bottom-color: #0000FF;
    }

    input::placeholder,
    textarea::placeholder {
      color: rgba(226, 234, 255, 0.6);
    }

    #report-fault input:focus,
    #report-fault select:focus,
    #report-fault textarea:focus {
      border-bottom-color: #d62828;
    }

    label {
      display: block;
      margin-bottom: 0.35rem;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: rgba(226, 234, 255, 0.72);
    }

    .button-row {
      margin-top: 1.25rem;
    }

    .two-column {
      display: flex;
      flex-wrap: wrap;
      gap: 2rem;
    }

    .two-column > div {
      flex: 1 1 260px;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.1rem 1.5rem;
    }

    .form-grid-full {
      grid-column: 1 / -1;
    }

    .minimal-form {
      max-width: 100%;
    }

    .form-honeypot {
      position: absolute;
      left: -10000px;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    .form-status {
      min-height: 1.4em;
      margin-top: 0.85rem;
      margin-bottom: 0;
      font-size: 0.9rem;
      font-weight: 600;
    }

    .form-status.is-success {
      color: #136f36;
    }

    .form-status.is-error {
      color: #b61f1f;
    }

    .cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.5rem;
    }

    .card {
      border-left: solid 3px #0000FF;
      padding: 1rem;
      background: rgba(255, 255, 255, 0.064);
      -webkit-backdrop-filter: blur(10px);
      color: #eef3ff;
      backdrop-filter: blur(10px);
      transition: box-shadow 0.25s ease, transform 0.25s ease;
    }

    .card:hover {
      box-shadow: 0 18px 48px -28px rgba(0, 0, 255, 0.7);
      transform: translateY(-3px);
    }

    .card h3 {
      margin-bottom: 0.5rem;
      font-size: 1rem;
      transition: color 0.25s ease;
    }

    .card:hover h3 {
      color: #0000FF;
    }

    .card--highlight {
      border-width: 3px;
      border-color: #0000FF;
      background: rgba(255, 255, 255, 0.072);
    }

    .card--highlight h3 {
      font-size: 1.2rem;
    }

    .card svg.lucide,
    .services-hero-content svg.lucide,
    .site-logo svg.lucide {
      display: block;
      width: 28px;
      height: 28px;
      color: #0000FF;
      margin-bottom: 0.75rem;
    }

    /* HEADER */
    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      background: transparent;
      color: #fff;
      border-bottom: none;
      backdrop-filter: none;
      box-shadow: none;
      pointer-events: none;
    }

    .site-header::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 8.75rem;
      background:
        linear-gradient(
          180deg,
          rgba(13, 24, 65, 1) 0%,
          rgba(13, 24, 65, 1) 32%,
          rgba(13, 24, 65, 0.92) 58%,
          rgba(13, 24, 65, 0.56) 78%,
          rgba(13, 24, 65, 0) 100%
        );
      pointer-events: none;
      z-index: 0;
    }

    .site-header-inner {
      max-width: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.5rem;
      padding: 1.25rem 2rem;
      pointer-events: auto;
      position: relative;
      z-index: 1;
    }

    body.page-ready .site-header-inner {
      animation: headerReveal 560ms cubic-bezier(.16, 1, .3, 1) 80ms both;
    }

    .header-controls {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-left: auto;
    }

    .site-logo {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      flex-shrink: 0;
    }

    .site-logo img {
      display: block;
      height: 48px;
      width: auto;
      max-width: 220px;
      object-fit: contain;
    }

    nav ul {
      display: flex;
      align-items: center;
      gap: 1rem;
      list-style: none;
      font-size: 0.95rem;
      margin: 0;
    }

    nav a {
      display: inline-flex;
      align-items: center;
      border-bottom: 1px solid transparent;
      color: rgba(255, 255, 255, 0.8);
      transition: border-color 0.25s ease, color 0.25s ease, background 0.25s ease;
    }

    nav a:hover {
      color: #fff;
      border-color: rgba(255, 255, 255, 0.72);
    }

    .nav-alert-link {
      color: #ff6b6b;
      font-weight: 700;
    }

    .nav-alert-link:hover {
      color: #ff6b6b;
      border-color: rgba(255, 107, 107, 0.8);
    }

    body:not(.page-home) {
      color: #1d2738;
      background: #f6f8fc;
    }

    body:not(.page-home) .site-header {
      color: #1d2738;
    }

    body:not(.page-home) .site-header::before {
      background:
        linear-gradient(
          180deg,
          rgba(251, 252, 255, 1) 0%,
          rgba(251, 252, 255, 1) 32%,
          rgba(246, 248, 252, 0.93) 58%,
          rgba(241, 244, 250, 0.58) 78%,
          rgba(241, 244, 250, 0) 100%
        );
    }

    body:not(.page-home) .site-logo img {
      filter: none;
    }

    body:not(.page-home) .menu-toggle,
    body:not(.page-home) .menu-close {
      color: #0000FF;
    }

    body:not(.page-home) .menu-toggle:hover,
    body:not(.page-home) .menu-close:hover {
      background: rgba(0, 0, 255, 0.08);
      color: #0000FF;
    }

    body:not(.page-home) nav a {
      color: rgba(29, 39, 56, 0.78);
    }

    body:not(.page-home) nav a:hover,
    body:not(.page-home) nav a.active,
    body:not(.page-home) nav a[aria-current="page"] {
      color: #0000FF;
      border-color: #0000FF;
    }

    body:not(.page-home) .nav-alert-link {
      color: #d62828;
    }

    body:not(.page-home) .nav-alert-link:hover,
    body:not(.page-home) .nav-alert-link.active,
    body:not(.page-home) .nav-alert-link[aria-current="page"] {
      color: #0000FF;
      border-color: #0000FF;
    }

    body.menu-open .site-header {
      pointer-events: auto;
      background: transparent;
      border-bottom: none;
      box-shadow: none;
      backdrop-filter: none;
    }

    .menu-toggle,
    .menu-close {
      display: none;
      align-items: center;
      justify-content: center;
      width: 2.75rem;
      height: 2.75rem;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: #fff;
      transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    }

    .menu-toggle:hover,
    .menu-close:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.78);
      color: #fff;
    }

    .menu-toggle,
    .menu-close,
    .menu-toggle:hover,
    .menu-close:hover {
      box-shadow: none;
    }

    .menu-toggle .lucide,
    .menu-close .lucide {
      width: 22px;
      height: 22px;
    }

    .menu-close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 2;
    }

    /* HERO */
    #hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      color: white;
      background: #0d1841;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      padding: 8rem 0 6rem;
      overflow: hidden;
    }

    #hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(
          90deg,
          rgba(0, 0, 0, 0.24) 0%,
          rgba(0, 0, 0, 0.16) 42%,
          rgba(0, 0, 0, 0.18) 100%
        );
      z-index: 0;
    }

    #hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 24% 46%, rgba(0, 0, 255, 0.18), transparent 34%),
        linear-gradient(to bottom, rgba(0,0,0,0.18), transparent 25%, rgba(0,0,0,0.22));
      z-index: 0;
      pointer-events: none;
    }

    #hero p.muted {
      color: rgba(255,255,255,0.85);
    }

    .hero-panel {
      position: relative;
      width: min(960px, calc(100% - 3rem));
      margin: 0 auto;
      z-index: 1;
      padding: 1.5rem;
      border-left: 3px solid #0000FF;
      background: rgba(255, 255, 255, 0.047);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      opacity: 0;
      transform: translateY(20px) scale(0.985);
      transform-origin: top left;
    }

    .hero-panel-inner {
      position: relative;
      z-index: 1;
    }

    .hero-panel .two-column {
      margin-bottom: 2rem;
    }

    .hero-panel h1,
    .hero-panel p,
    .hero-panel .cta-row,
    .hero-capabilities {
      opacity: 0;
      transform: translateY(16px);
    }

    body.page-ready .hero-panel {
      animation: glassPanelReveal 820ms cubic-bezier(.16, 1, .3, 1) 160ms both;
    }

    body.page-ready .hero-panel h1,
    body.page-ready .hero-panel p,
    body.page-ready .hero-panel .cta-row,
    body.page-ready .hero-capabilities {
      animation: contentReveal 650ms ease both;
    }

    body.page-ready .hero-panel h1 {
      animation-delay: 260ms;
    }

    body.page-ready .hero-panel p:nth-of-type(1) {
      animation-delay: 380ms;
    }

    body.page-ready .hero-panel p:nth-of-type(2) {
      animation-delay: 500ms;
    }

    body.page-ready .hero-panel .cta-row {
      animation-delay: 620ms;
    }

    .hero-capabilities {
      border: none;
      border-left: 3px solid #0000FF;
      padding-left: 1rem;
      background: transparent;
      color: white;
    }

    body.page-ready .hero-capabilities {
      animation-delay: 520ms;
    }

    .hero-capabilities h3 {
      color: white;
      margin-bottom: 0.5rem;
    }

    .hero-capabilities ul {
      color: rgba(255, 255, 255, 0.85);
    }

    .hero-capabilities li {
      margin-bottom: 0.35rem;
    }

    #hero .card {
      background: transparent;
      box-shadow: none;
    }

    .hero-card-row .card {
      opacity: 0;
      transform: translateY(18px) scaleY(0.96);
      transform-origin: top;
    }

    body.page-ready .hero-card-row .card {
      animation: cardUnfold 650ms cubic-bezier(.16, 1, .3, 1) both;
    }

    body.page-ready .hero-card-row .card:nth-child(1) {
      animation-delay: 760ms;
    }

    body.page-ready .hero-card-row .card:nth-child(2) {
      animation-delay: 880ms;
    }

    body.page-ready .hero-card-row .card:nth-child(3) {
      animation-delay: 1000ms;
    }

    #electric-field {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      opacity: 1;
    }

    @keyframes panelUnfold {
      from {
        opacity: 0;
        transform: perspective(900px) rotateX(-18deg) translateY(24px);
      }

      to {
        opacity: 1;
        transform: perspective(900px) rotateX(0) translateY(0);
      }
    }

    @keyframes panelPlane {
      from {
        opacity: 0;
        transform: scaleX(0.04) skewY(-3deg);
      }

      to {
        opacity: 1;
        transform: scaleX(1) skewY(0);
      }
    }

    @keyframes headerReveal {
      from {
        opacity: 0;
      }

      to {
        opacity: 1;
      }
    }

    @keyframes glassPanelReveal {
      from {
        opacity: 0;
        transform: translateY(20px) scale(0.985);
      }

      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    @keyframes contentReveal {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes cardUnfold {
      to {
        opacity: 1;
        transform: translateY(0) scaleY(1);
      }
    }

    @keyframes surfaceReveal {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    /* SERVICES */
    body:not(.page-home) main {
      padding-top: 5.75rem;
    }

    body:not(.page-home) section {
      position: relative;
      z-index: 1;
    }

    body:not(.page-home) #services > .container,
    body:not(.page-home) #contact > .container,
    body:not(.page-home) #careers > .container,
    body:not(.page-home) #locations > .locations-panel {
      background: rgba(255, 255, 255, 0.54);
      border-left: 3px solid #0000FF;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      color: #1d2738;
      opacity: 0;
      transform: translateY(20px) scale(0.985);
      transform-origin: top left;
    }

    body:not(.page-home) :is(
      #report-fault > .fault-panel,
      .about-right,
      .service-area-left
    ) {
      opacity: 0;
      transform: translateY(20px) scale(0.985);
      transform-origin: top left;
    }

    body.page-ready:not(.page-home) :is(
      #services > .container,
      #contact > .container,
      #careers > .container,
      #locations > .locations-panel,
      #report-fault > .fault-panel,
      .about-right,
      .service-area-left
    ) {
      animation: glassPanelReveal 780ms cubic-bezier(.16, 1, .3, 1) both;
    }

    body.page-ready:not(.page-home) :is(
      #services > .container,
      #contact > .container,
      #careers > .container,
      .about-right,
      #report-fault > .fault-panel
    ) {
      animation-delay: 180ms;
    }

    body.page-ready:not(.page-home) :is(
      #locations > .locations-panel,
      .service-area-left
    ) {
      animation-delay: 320ms;
    }

    body:not(.page-home) :is(.about-left, .service-area-right, .services-hero-image) {
      opacity: 0;
      transform: translateY(20px);
    }

    body.page-ready:not(.page-home) :is(.about-left, .service-area-right, .services-hero-image) {
      animation: surfaceReveal 700ms ease 220ms both;
    }

    body:not(.page-home) :is(
      #services > .container > h1,
      #services > .container > h2,
      #services > .container > p,
      #contact > .container > h2,
      #contact > .container .two-column,
      #careers > .container > h2,
      #careers > .container > p,
      #careers > .container > ul,
      #careers > .container .button-row,
      #locations > .locations-panel > h2,
      #locations > .locations-panel .cards,
      .about-right > h2,
      .about-right > h3,
      .about-right > p,
      .about-right .about-points,
      .service-area-left > h2,
      .service-area-left > p,
      #report-fault > .fault-panel > h2,
      #report-fault > .fault-panel .two-column
    ) {
      opacity: 0;
      transform: translateY(16px);
    }

    body.page-ready:not(.page-home) :is(
      #services > .container > h1,
      #services > .container > h2,
      #services > .container > p,
      #contact > .container > h2,
      #contact > .container .two-column,
      #careers > .container > h2,
      #careers > .container > p,
      #careers > .container > ul,
      #careers > .container .button-row,
      #locations > .locations-panel > h2,
      #locations > .locations-panel .cards,
      .about-right > h2,
      .about-right > h3,
      .about-right > p,
      .about-right .about-points,
      .service-area-left > h2,
      .service-area-left > p,
      #report-fault > .fault-panel > h2,
      #report-fault > .fault-panel .two-column
    ) {
      animation: contentReveal 650ms ease 430ms both;
    }

    body:not(.page-home) #locations > .locations-panel .cards {
      margin-top: 1rem;
    }

    body:not(.page-home) h1,
    body:not(.page-home) h2,
    body:not(.page-home) h3,
    body:not(.page-home) h4,
    body:not(.page-home) p,
    body:not(.page-home) li,
    body:not(.page-home) strong,
    body:not(.page-home) label,
    body:not(.page-home) .muted,
    body:not(.page-home) .services-hero-content,
    body:not(.page-home) .service-area-left,
    body:not(.page-home) .about-right,
    body:not(.page-home) .card {
      color: #1d2738;
    }

    body:not(.page-home) .muted {
      color: rgba(29, 39, 56, 0.68);
    }

    body:not(.page-home) input,
    body:not(.page-home) select,
    body:not(.page-home) textarea {
      color: #1d2738;
      border-bottom-color: rgba(29, 39, 56, 0.28);
    }

    body:not(.page-home) input::placeholder,
    body:not(.page-home) textarea::placeholder {
      color: rgba(29, 39, 56, 0.52);
    }

    body:not(.page-home) select {
      background-image: linear-gradient(45deg, transparent 50%, rgba(29, 39, 56, 0.68) 50%),
                        linear-gradient(135deg, rgba(29, 39, 56, 0.68) 50%, transparent 50%);
    }

    #services {
      background: transparent;
    }

    .services-hero-card {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      padding: 0;
      overflow: hidden;
      margin-bottom: 1rem;
    }

    .services-hero-image {
      flex: 1 1 40%;
      min-height: 220px;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }

    .services-hero-content {
      flex: 1 1 60%;
      padding: 1.5rem;
    }

    /* SERVICE AREA */
    #service-area {
      padding: 0;
    }

    .service-area-wrapper {
      display: flex;
      flex-direction: column;
      width: min(960px, calc(100% - 3rem));
      margin: 0 auto;
      overflow: hidden;
    }

    .service-area-left {
      flex: 0 0 auto;
      padding: 3rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: rgba(255, 255, 255, 0.54);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }

    .service-area-left ul {
  columns: 2;
  column-gap: 2rem;
  margin-top: 0.5rem;
}

.service-area-left li {
  break-inside: avoid;
}

    .service-area-right {
      flex: 0 0 auto;
    }

    .service-area-map-shell {
      position: relative;
    }

    .service-area-right img {
      display: block;
      width: 100%;
      height: auto;
    }

    .service-area-network {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }

    /* STATS */
    #stats {
      background: transparent;
    }

    /* ABOUT */
    #about {
      padding: 0;
    }

    .about-wrapper {
      display: flex;
      width: min(960px, calc(100% - 3rem));
      margin: 0 auto;
      min-height: 480px;
      overflow: hidden;
    }

    .about-left {
      flex: 1 1 50%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }

    .about-right {
      flex: 1 1 50%;
      padding: 3rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: rgba(255, 255, 255, 0.54);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }

    .about-right h2 {
      margin-bottom: 0.5rem;
    }

    .about-right h3 {
      margin-bottom: 1rem;
    }

    .about-points {
      margin-top: 1.5rem;
      display: grid;
      gap: 1.5rem;
    }

    .about-point {
      border-left: 3px solid #0000FF;
      padding-left: 1rem;
    }

    .about-point h4 {
      margin-bottom: 0.5rem;
    }

    /* CAREERS */
    #careers {
      background: transparent;
      color: #1d2738;
      border-bottom: none;
    }

    #careers h2,
    #careers p,
    #careers ul,
    #careers li,
    #careers strong {
      color: #1d2738;
    }

    #careers .muted {
      color: rgba(29, 39, 56, 0.68);
    }

    #careers a {
      color: #1d2738;
      text-decoration: underline;
    }

    /* LOCATIONS */
    #locations {
      background: transparent;
    }

    /* CONTACT */
    #contact {
      background: transparent;
    }

    /* REPORT FAULT */
    #report-fault {
      background: transparent;
    }

    .fault-panel {
      border-left: 4px solid #d62828;
      background: rgba(255, 255, 255, 0.61);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      color: #1d2738;
      padding: 1.5rem;
    }

    .fault-panel h2 {
      color: #d62828;
    }

    .fault-intro {
      color: #8f1f1f;
      font-weight: 500;
    }

    .fault-submit {
      background: #d62828;
      border-color: #d62828;
    }

    .fault-submit:hover {
      background: #b61f1f;
      border-color: #b61f1f;
    }

    /* FOOTER */
    .site-footer {
      background: transparent;
      color: rgba(29, 39, 56, 0.72);
      margin-top: auto;
    }

    body.page-ready .site-footer {
      animation: surfaceReveal 520ms ease 520ms both;
    }

    body.page-home .site-footer {
      color: rgba(255, 255, 255, 0.72);
    }

    .site-footer .container {
      width: min(960px, calc(100% - 3rem));
      margin: 0 auto;
      padding: 1.5rem 0;
    }

    .site-footer p {
      font-size: 0.85rem;
      margin-bottom: 0.25rem;
    }

    /* RESPONSIVE */
    @media (max-width: 768px) {
      .about-wrapper,
      .service-area-wrapper,
      .services-hero-card {
        flex-direction: column;
      }

      .about-left,
      .about-right,
      .service-area-left,
      .service-area-right {
        width: calc(100% - 3rem);
        margin-inline: 1.5rem;
      }

      .about-left,
      .service-area-right {
        min-height: 40vh;
      }

      .services-hero-image,
      .services-hero-content {
        flex: 1 1 100%;
      }

      body:not(.page-home) #services > .container,
      body:not(.page-home) #contact > .container,
      body:not(.page-home) #careers > .container,
      body:not(.page-home) #locations > .locations-panel,
      body.page-report-fault #report-fault > .fault-panel {
        width: calc(100% - 3rem);
        margin-inline: auto;
      }

      .site-header-inner {
        align-items: center;
        gap: 0.75rem;
        padding: 0.85rem 1rem;
      }

      .header-controls {
        margin-left: 0;
      }

      .menu-toggle {
        display: inline-flex;
      }

      .site-nav {
        position: fixed;
        inset: 0;
        z-index: 1200;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 5rem 1.5rem 2rem;
        background: rgba(13, 24, 65, 0.985);
        color: #fff;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateY(-0.5rem);
        transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
      }

      body:not(.page-home) .site-nav {
        background: rgba(245, 248, 253, 0.985);
        color: #1d2738;
      }

      body.menu-open .site-nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
      }

      body.menu-open {
        overflow: hidden;
      }

      body.menu-open .site-header-inner > :not(.site-nav) {
        visibility: hidden;
      }

      .site-nav ul {
        width: 100%;
        max-width: 20rem;
        margin: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0.35rem;
        font-size: 1.2rem;
      }

      .site-nav li {
        width: 100%;
      }

      .site-nav a {
        width: 100%;
        min-height: 3rem;
        padding: 0.4rem 0;
        justify-content: flex-start;
        color: #fff;
        opacity: 0.9;
      }

      .site-nav a.nav-alert-link {
        justify-content: flex-start;
        margin-top: 0;
        color: #ff6b6b;
        opacity: 1;
      }

      .site-nav .menu-close {
        display: inline-flex;
      }

      .site-nav a:hover,
      .site-nav a.active,
      .site-nav a[aria-current="page"] {
        color: #0000FF;
        border-color: #0000FF;
        opacity: 1;
      }

      .site-nav a.nav-alert-link:hover,
      .site-nav a.nav-alert-link.active,
      .site-nav a.nav-alert-link[aria-current="page"] {
        color: #0000FF;
        border-color: #0000FF;
      }

      .site-nav .menu-close {
        color: #fff;
        border-color: rgba(255, 255, 255, 0.38);
      }

      .site-nav .menu-close:hover {
        background: rgba(255, 255, 255, 0.12);
      }

      body:not(.page-home) .site-nav a {
        color: rgba(29, 39, 56, 0.86);
      }

      body:not(.page-home) .site-nav a:hover,
      body:not(.page-home) .site-nav a.active,
      body:not(.page-home) .site-nav a[aria-current="page"] {
        color: #0000FF;
        border-color: #0000FF;
      }

      body:not(.page-home) .site-nav a.nav-alert-link,
      body:not(.page-home) .site-nav a.nav-alert-link:hover,
      body:not(.page-home) .site-nav a.nav-alert-link.active,
      body:not(.page-home) .site-nav a.nav-alert-link[aria-current="page"] {
        color: #0000FF;
        border-color: #0000FF;
      }

      body:not(.page-home) .site-nav .menu-close {
        color: #1d2738;
        border-color: rgba(29, 39, 56, 0.22);
      }

      body:not(.page-home) .site-nav .menu-close:hover {
        background: rgba(29, 39, 56, 0.08);
        border-color: rgba(29, 39, 56, 0.4);
      }

      .service-area-left ul {
        columns: 1;
      }
    }

    @media (max-width: 640px) {
      section {
        padding: 2rem 0;
      }

      .form-grid {
        grid-template-columns: 1fr;
      }

      .site-logo img {
        height: 40px;
      }
    }
  

    /* MULTI-PAGE ADDITIONS */
    body.page-home .nav-home,
    body.page-services .nav-services,
    body.page-about .nav-about,
    body.page-careers .nav-careers,
    body.page-contact .nav-contact {
      color: #0000FF;
      border-color: #0000FF;
      font-weight: 600;
      opacity: 1;
    }

    body.page-report-fault .nav-alert-link {
      color: #0000FF;
      border-color: #0000FF;
      font-weight: 700;
    }

    .cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1.25rem;
    }

    .button-link {
      display: inline-flex;
      align-items: center;
      padding: 0.6rem 1.2rem;
      border: 1px solid #0000FF;
      background: #0000FF;
      color: #fff;
      transition: background 0.25s ease, border-color 0.25s ease;
    }

    .button-link:hover {
      background: #0000FF;
      border-color: #0000FF;
    }

    .button-link.secondary {
      background: transparent;
      color: #eef3ff;
      border-color: rgba(255, 255, 255, 0.72);
    }

    .button-link.secondary:hover {
      background: rgba(255, 255, 255, 0.12);
    }

    .language-switcher {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      padding: 0.2rem;
      border: 1px solid rgba(255, 255, 255, 0.45);
      border-radius: 999px;
      background: rgba(13, 24, 65, 0.28);
      flex-shrink: 0;
    }

    .language-switcher button {
      min-width: 2.25rem;
      padding: 0.35rem 0.55rem;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: #fff;
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      transition: background 0.2s ease, color 0.2s ease;
    }

    .language-switcher button:hover,
    .language-switcher button.is-active {
      background: #fff;
      color: #0000FF;
    }

    body:not(.page-home) .language-switcher {
      border-color: rgba(29, 39, 56, 0.14);
      background: rgba(255, 255, 255, 0.68);
    }

    body:not(.page-home) .language-switcher button {
      color: #1d2738;
    }

    body:not(.page-home) .language-switcher button:hover,
    body:not(.page-home) .language-switcher button.is-active {
      background: #0000FF;
      color: #fff;
    }

/* MULTI-PAGE NAVIGATION */
nav a.active,
nav a[aria-current="page"] {
  color: #0000FF;
  border-color: #0000FF;
}

body:not(.page-home) nav a.active,
body:not(.page-home) nav a[aria-current="page"] {
  color: #0000FF;
  border-color: #0000FF;
}

nav a.nav-alert-link.active,
nav a.nav-alert-link[aria-current="page"] {
  color: #0000FF;
  border-color: #0000FF;
}

body:not(.page-home) nav a.nav-alert-link.active,
body:not(.page-home) nav a.nav-alert-link[aria-current="page"] {
  color: #0000FF;
  border-color: #0000FF;
}
