    @font-face {
      font-family: "Inter";
      font-style: normal;
      font-weight: 300 800;
      font-display: swap;
      src: url("./fonts/inter-latin.woff2") format("woff2");
    }

    @font-face {
      font-family: "Montserrat";
      font-style: normal;
      font-weight: 700 900;
      font-display: swap;
      src: url("./fonts/montserrat-latin.woff2") format("woff2");
    }

    :root {
      --navy-950: #050b18;
      --navy-900: #08142c;
      --navy-850: #0c1a35;
      --navy-800: #10213f;
      --navy-700: #173558;
      --blue-600: #173558;
      --sky-400: #facc15;
      --yellow-400: #facc15;
      --yellow-500: #eab308;
      --green-500: #16a36f;
      --red-600: #dc2626;
      --ink: #0f172a;
      --muted: #625f58;
      --line: #ded8ca;
      --surface: #fffdf9;
      --surface-soft: #f8f6fb;
      --radius-sm: .85rem;
      --radius: 1.1rem;
      --radius-lg: 1.45rem;
      --shadow-sm: 0 4px 18px rgba(15, 23, 42, .08);
      --shadow: 0 16px 40px rgba(5, 11, 24, .16);
      --page: min(100% - 2rem, 70rem);
      --header-height: 4rem;
      --visual-viewport-top: 0px;
      --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-heading: "Montserrat", "Inter", ui-sans-serif, system-ui, sans-serif;
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: calc(var(--header-height) + 1rem);
      background: var(--navy-950);
    }

    body {
      margin: 0;
      padding-top: var(--header-height);
      padding-bottom: 0;
      overflow-x: clip;
      color: var(--ink);
      background: var(--surface-soft);
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.55;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    img {
      display: block;
      max-width: 100%;
    }

    button,
    a {
      -webkit-tap-highlight-color: transparent;
    }

    button {
      font: inherit;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    :focus-visible {
      outline: 3px solid var(--sky-400);
      outline-offset: 3px;
    }

    .skip-link {
      position: fixed;
      top: .5rem;
      left: .5rem;
      z-index: 1000;
      padding: .75rem 1rem;
      border-radius: .7rem;
      color: var(--navy-950);
      background: var(--yellow-400);
      font-weight: 800;
      transform: translateY(-150%);
    }

    .skip-link:focus {
      transform: translateY(0);
    }

    .container {
      width: var(--page);
      margin-inline: auto;
    }

    .icon {
      width: 1.45rem;
      height: 1.45rem;
      flex: 0 0 auto;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .icon-lg {
      width: 1.8rem;
      height: 1.8rem;
    }

    .site-header {
      position: fixed;
      top: var(--visual-viewport-top);
      right: 0;
      left: 0;
      z-index: 100;
      height: var(--header-height);
      min-height: var(--header-height);
      max-height: var(--header-height);
      overflow: visible;
      color: white;
      background: var(--navy-900);
      border-bottom: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 6px 20px rgba(0,0,0,.18);
    }

    .nav-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: var(--header-height);
      min-height: var(--header-height);
      max-height: var(--header-height);
    }

    .brand {
      font-family: var(--font-heading);
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: .025em;
      text-transform: uppercase;
    }

    .brand span {
      color: var(--yellow-400);
    }

    .menu-toggle {
      display: inline-grid;
      width: 2.75rem;
      height: 2.75rem;
      place-items: center;
      color: var(--yellow-400);
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: .75rem;
      cursor: pointer;
    }

    .desktop-nav {
      display: none;
    }

    .mobile-menu {
      position: fixed;
      top: calc(var(--header-height) + var(--visual-viewport-top));
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 90;
      overflow-y: auto;
      padding: .85rem 1rem calc(1rem + env(safe-area-inset-bottom));
      background: rgba(5, 11, 24, .72);
      backdrop-filter: blur(8px);
      touch-action: pan-y;
      -webkit-overflow-scrolling: touch;
    }

    .mobile-menu[hidden] {
      display: none;
    }

    .mobile-menu-card {
      display: grid;
      gap: .3rem;
      max-width: 30rem;
      margin-inline: auto;
      padding: .8rem;
      color: white;
      background: rgba(8, 20, 44, .99);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow);
    }

    .mobile-menu-card > a {
      display: block;
      padding: .82rem 1rem;
      border-radius: .75rem;
      color: #cbd5e1;
      font-size: .8rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-align: center;
      text-transform: uppercase;
    }

    .mobile-menu-card > a:active,
    .mobile-menu-card > a:hover {
      color: var(--yellow-400);
      background: rgba(56, 189, 248, .08);
    }

    .hero {
      position: relative;
      isolation: isolate;
      padding: 2rem 0 2.2rem;
      color: white;
      background-color: var(--navy-900);
      background-image:
        linear-gradient(180deg, rgba(5,11,24,.72), rgba(8,20,44,.94)),
        url("https://soyelectricista.ar/tablero-electrico-protecciones-y-cableado.webp");
      background-position: center;
      background-size: cover;
    }

    .hero-inner {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      margin: 0 0 .85rem;
      padding: .45rem .7rem;
      color: #dcecff;
      background: rgba(20, 47, 82, .82);
      border: 1px solid rgba(125, 211, 252, .25);
      border-radius: 999px;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .hero h1 {
      font-family: var(--font-heading);
      max-width: 52rem;
      margin: 0;
      font-size: clamp(2rem, 9.3vw, 3rem);
      font-weight: 800;
      letter-spacing: -.035em;
      line-height: 1.04;
      text-wrap: balance;
      text-shadow: 0 3px 18px rgba(0,0,0,.35);
    }

    .hero h1 strong {
      color: var(--yellow-400);
      text-transform: uppercase;
    }

    .hero-lead {
      max-width: 35rem;
      margin: 1rem auto 0;
      color: #d5dce8;
      font-size: clamp(.98rem, 4.2vw, 1.08rem);
      line-height: 1.55;
      text-wrap: balance;
    }

    .hero-actions {
      display: grid;
      width: 100%;
      max-width: 30rem;
      gap: .7rem;
      margin-top: 1.35rem;
    }

    .button {
      display: inline-flex;
      min-height: 3.25rem;
      align-items: center;
      justify-content: center;
      gap: .55rem;
      padding: .85rem 1rem;
      border: 1px solid transparent;
      border-radius: .9rem;
      font-size: .88rem;
      font-weight: 700;
      letter-spacing: .035em;
      line-height: 1.1;
      text-align: center;
      text-transform: uppercase;
      cursor: pointer;
      transition: transform .15s ease, filter .15s ease, background-color .15s ease;
    }

    .button:active {
      transform: translateY(1px) scale(.99);
    }

    .button-call {
      color: var(--navy-950);
      background: var(--yellow-400);
      box-shadow: 0 10px 28px rgba(250, 204, 21, .2);
    }

    .button-chat {
      color: white;
      background: var(--green-500);
      box-shadow: 0 10px 28px rgba(22, 163, 111, .18);
    }

    .button-ghost {
      color: white;
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.16);
    }

.coverage {
  display: grid;
  place-items: center;
  color: #334155;
  background: #e8f0f6;
  border-block: 1px solid #b8cddd;
  text-align: center;
}

.coverage p {
  width: var(--page);
  margin: 0 auto;
  padding: .9rem 0;
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}

.coverage strong {
  color: #08142c;
  font-weight: 800;
}

    .section {
      padding: 3.7rem 0;
    }

    .section-light {
      background-color: white;
      background-image:
        linear-gradient(#f1f4f8 1px, transparent 1px),
        linear-gradient(90deg, #f1f4f8 1px, transparent 1px);
      background-size: 22px 22px;
    }

    .section-soft {
      background: var(--surface-soft);
    }

    .section-dark {
      color: white;
      background-color: var(--navy-900);
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size: 22px 22px;
    }

    .section-heading {
      max-width: 42rem;
      margin: 0 auto 1.8rem;
      text-align: center;
    }

    .section-heading h2 {
      font-family: var(--font-heading);
      margin: 0;
      font-size: clamp(1.75rem, 7.4vw, 1.875rem);
      font-weight: 800;
      letter-spacing: -.025em;
      line-height: 1.08;
      text-transform: uppercase;
      text-wrap: balance;
    }

    .section-heading h2::after {
      display: block;
      width: 3.5rem;
      height: .24rem;
      margin: .9rem auto 0;
      background: var(--yellow-400);
      border-radius: 999px;
      content: "";
    }

    .section-heading p {
      margin: .9rem auto 0;
      color: var(--muted);
      font-size: .9rem;
      line-height: 1.55;
    }

    .section-dark .section-heading p {
      color: #b9c4d4;
    }

    .services {
      display: grid;
      gap: .8rem;
    }

    .services-section {
      padding-block: 3rem;
    }

    .services-section .section-heading {
      margin-bottom: 1.35rem;
    }

    .service-card {
      display: grid;
      grid-template-columns: 3.2rem 1fr;
      overflow: hidden;
      background: #fff;
      border: 1px solid #dbe3ed;
      border-radius: var(--radius-sm);
      box-shadow: var(--shadow-sm);
    }

    .service-card.is-urgent {
      border-color: #fecaca;
      background: #fffafa;
    }

    .service-card.is-safety {
      border-color: #fde68a;
      background: #fffdf2;
    }

    .service-icon {
      display: grid;
      min-height: 100%;
      place-items: center;
      color: white;
      background: var(--blue-600);
    }

    .is-urgent .service-icon {
      background: var(--red-600);
    }

    .is-safety .service-icon {
      color: var(--navy-950);
      background: var(--yellow-400);
    }

    .service-copy {
      padding: .85rem .9rem;
      text-align: center;
    }

    .service-label {
      display: block;
      margin-bottom: .18rem;
      color: #294a6d;
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .is-urgent .service-label {
      color: #b91c1c;
    }

    .is-safety .service-label {
      color: #715a16;
    }

    .service-card h3 {
      margin: 0;
      font-size: .96rem;
      line-height: 1.25;
    }

    .service-card p {
      margin: .35rem 0 0;
      color: var(--muted);
      font-size: .81rem;
      line-height: 1.45;
    }

    @media (max-width: 47.99rem) {
      .service-card {
        position: relative;
        display: block;
        min-width: 0;
        padding-top: 2.75rem;
      }

      .service-card::before {
        position: absolute;
        z-index: 0;
        inset: 0 0 auto;
        height: 2.75rem;
        background: linear-gradient(110deg, var(--blue-600), var(--navy-800));
        border-radius: calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0 0;
        content: "";
      }

      .service-card.is-urgent::before {
        background: linear-gradient(110deg, var(--red-600), #b91c1c);
      }

      .service-card.is-safety::before {
        background: linear-gradient(110deg, var(--yellow-400), var(--yellow-500));
      }

      .service-card .service-icon {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 3rem;
        height: 2.75rem;
        min-height: 0;
        color: white;
        background: transparent;
      }

      .service-card.is-safety .service-icon {
        color: var(--navy-950);
        background: transparent;
      }

      .service-card .service-icon .icon-lg {
        width: 1.3rem;
        height: 1.3rem;
      }

      .service-card .service-copy {
        padding: .85rem .75rem .9rem;
      }

      .service-card .service-label {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        left: 0;
        display: flex;
        height: 2.75rem;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 .35rem;
        color: white;
        font-size: .7rem;
        font-weight: 800;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
      }

      .service-card.is-urgent .service-label {
        color: white;
      }

      .service-card.is-safety .service-label {
        color: var(--navy-950);
      }

      .service-card h3 {
        font-size: .86rem;
        line-height: 1.23;
      }

      .service-card p {
        margin-top: .35rem;
        font-size: .76rem;
        line-height: 1.4;
      }
    }

    @media (min-width: 22rem) and (max-width: 47.99rem) {
      .services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
      }
    }

    .proof {
      color: white;
      background: linear-gradient(145deg, #263241 0%, #1e2936 55%, #18212d 100%);
      box-shadow: inset 0 .35rem 0 var(--yellow-400);
    }

    .proof .section-heading p {
      color: #e7e2d8;
      font-weight: 500;
    }

    .experience-years {
      color: var(--yellow-400);
    }

    .proof-grid {
      display: grid;
      gap: .75rem;
    }

    .proof-card {
      display: grid;
      grid-template-columns: 2.7rem 1fr;
      align-items: center;
      gap: .8rem;
      padding: 1rem;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius);
    }

    .proof-card .proof-icon {
      display: grid;
      width: 2.7rem;
      height: 2.7rem;
      place-items: center;
      color: var(--yellow-400);
      background: rgba(250,204,21,.14);
      border: 1px solid rgba(250,204,21,.22);
      border-radius: .75rem;
    }

    .proof-card strong {
      display: block;
      font-size: .9rem;
    }

    .proof-card span {
      display: block;
      margin-top: .15rem;
      color: #b9c4d4;
      font-size: .76rem;
    }

    .experience-summary {
      max-width: 42rem;
      margin: 0 auto 1.8rem;
      padding: 1.2rem;
      color: #1e2936;
      background: #f8f6f1;
      border: 1px solid #d8cba7;
      border-radius: var(--radius-lg);
      box-shadow: 0 14px 34px rgba(5,11,24,.24);
    }

    .experience-summary p {
      margin: 0;
      font-size: .9rem;
      line-height: 1.65;
    }

    .gallery-track {
      display: flex;
      gap: .9rem;
      margin-inline: calc((100vw - var(--page)) / -2);
      padding: 0 max(1rem, calc((100vw - var(--page)) / 2)) .8rem;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      overscroll-behavior-inline: contain;
      touch-action: pan-x pan-y;
      -webkit-overflow-scrolling: touch;
      cursor: grab;
    }

    .gallery-track.is-dragging {
      scroll-snap-type: none;
      cursor: grabbing;
      user-select: none;
    }

    #trabajos {
      overflow-x: clip;
    }

    .gallery-track::-webkit-scrollbar {
      display: none;
    }

    .gallery-card {
      position: relative;
      flex: 0 0 82%;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      padding: 0;
      background: #cbd5e1;
      border: 0;
      border-radius: var(--radius);
      box-shadow: var(--shadow-sm);
      cursor: pointer;
      scroll-snap-align: center;
    }

    .gallery-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -webkit-user-drag: none;
      user-select: none;
    }

    .gallery-card span {
      position: absolute;
      inset: auto 0 0;
      padding: 2.6rem 1rem .9rem;
      color: white;
      background: linear-gradient(transparent, rgba(0,0,0,.86));
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.35;
      text-align: left;
      text-transform: uppercase;
    }

    .gallery-status {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .55rem;
      min-height: 2rem;
      margin-top: .65rem;
      color: var(--muted);
      font-size: .78rem;
      font-weight: 750;
    }

    .gallery-status::before {
      width: 2.25rem;
      height: .22rem;
      background: var(--yellow-400);
      border-radius: 999px;
      content: "";
    }

    .tools-grid {
      display: grid;
      align-items: stretch;
      gap: .8rem;
    }

    .tool-card {
      display: flex;
      min-height: 24rem;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 1.25rem;
      text-align: center;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius);
    }

    .tool-photo {
      display: grid;
      width: 100%;
      max-width: 19rem;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      margin: 0 0 1rem;
      place-items: center;
      background: white;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: .9rem;
      box-shadow: 0 12px 28px rgba(0,0,0,.18);
    }

    .tool-photo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }

    .tool-card h3 {
      margin: 0;
      font-size: 1rem;
      line-height: 1.3;
      text-wrap: balance;
    }

    .tool-card p {
      max-width: 21rem;
      margin: .45rem 0 0;
      color: #b9c4d4;
      font-size: .82rem;
      line-height: 1.55;
      text-wrap: balance;
    }

    .verification-section {
      position: relative;
      overflow: hidden;
      color: white;
      background:
        radial-gradient(circle at 100% 0, rgba(250,204,21,.12), transparent 36rem),
        linear-gradient(145deg, #263241 0%, #1e2936 55%, #0c1a35 100%);
    }

    .verification-section::before {
      position: absolute;
      inset: 0;
      opacity: .2;
      background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
      background-size: 24px 24px;
      content: "";
      pointer-events: none;
    }

    .verification-shell {
      position: relative;
      z-index: 1;
    }

    .verification-heading {
      max-width: 44rem;
      margin-inline: auto;
      text-align: center;
    }

    .verification-kicker {
      display: inline-flex;
      align-items: center;
      min-height: 2rem;
      padding: .4rem .8rem;
      color: var(--navy-950);
      background: var(--yellow-400);
      border-radius: 999px;
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .verification-heading h2 {
      margin: .9rem 0 0;
      font-family: var(--font-heading);
      font-size: clamp(1.75rem, 7.4vw, 2.2rem);
      font-weight: 800;
      letter-spacing: -.025em;
      line-height: 1.08;
      text-transform: uppercase;
      text-wrap: balance;
    }

    .verification-heading > p {
      max-width: 39rem;
      margin: .9rem auto 0;
      color: #d2cec4;
      font-size: .9rem;
      line-height: 1.6;
    }

    .verification-content {
      max-width: 58rem;
      margin: 1.6rem auto 0;
      padding: 1rem;
      background: rgba(5,11,24,.55);
      border: 1px solid rgba(250,204,21,.26);
      border-radius: var(--radius-lg);
      box-shadow: 0 18px 44px rgba(5,11,24,.24);
      backdrop-filter: blur(8px);
    }

    .verification-content h3 {
      margin: 0 0 .8rem;
      color: #f8f6f1;
      font-size: 1rem;
      text-align: center;
    }

    .verification-context {
      max-width: 45rem;
      margin: 0 auto 1rem;
      color: #d2cec4;
      font-size: .84rem;
      line-height: 1.55;
      text-align: center;
    }

    .verification-list {
      display: grid;
      gap: .6rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .verification-list li {
      position: relative;
      display: flex;
      align-items: center;
      min-height: 3.15rem;
      padding: .78rem .8rem .78rem 2.55rem;
      color: #f2efe8;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: .8rem;
      font-size: .82rem;
      line-height: 1.45;
    }

    .verification-list li::before {
      position: absolute;
      top: 50%;
      left: .82rem;
      transform: translateY(-50%);
      display: grid;
      width: 1.25rem;
      height: 1.25rem;
      place-items: center;
      color: var(--navy-950);
      background: var(--yellow-400);
      border-radius: 50%;
      content: "✓";
      font-size: .78rem;
      font-weight: 900;
      line-height: 1;
    }

    .verification-notice {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: .8rem;
      max-width: 58rem;
      margin: .85rem auto 0;
      padding: 1rem;
      color: #282211;
      background: linear-gradient(135deg, #fef3a5, #facc15);
      border: 1px solid #eab308;
      border-radius: var(--radius);
      box-shadow: 0 12px 26px rgba(5,11,24,.2);
    }

    .verification-notice .icon {
      margin-top: .05rem;
    }

    .verification-notice p {
      margin: 0;
      font-size: .8rem;
      line-height: 1.5;
    }

    .verification-notice strong {
      font-weight: 900;
    }

    .faq-list {
      display: grid;
      gap: .7rem;
      max-width: 48rem;
      margin-inline: auto;
    }

    .faq-list details {
      overflow: hidden;
      background: white;
      border: 1px solid var(--line);
      border-radius: .9rem;
      box-shadow: var(--shadow-sm);
    }

    .faq-list details[open] {
      border-color: #7dd3fc;
      box-shadow: 0 8px 24px rgba(14, 116, 144, .12);
    }

    .faq-list summary {
      position: relative;
      padding: 1rem 3rem 1rem 1rem;
      font-size: .9rem;
      font-weight: 800;
      list-style: none;
      cursor: pointer;
    }

    .faq-list summary::-webkit-details-marker {
      display: none;
    }

    .faq-list summary::after {
      position: absolute;
      top: 50%;
      right: 1rem;
      width: .6rem;
      height: .6rem;
      border-right: 2px solid #64748b;
      border-bottom: 2px solid #64748b;
      content: "";
      transform: translateY(-70%) rotate(45deg);
      transition: transform .18s ease;
    }

    .faq-list details[open] summary::after {
      transform: translateY(-25%) rotate(225deg);
    }

    .faq-answer {
      padding: 0 1rem 1rem;
      color: var(--muted);
      font-size: .84rem;
    }

    .faq-answer p {
      margin: 0;
      padding-top: .85rem;
      border-top: 1px solid #edf1f5;
    }

    #preguntas {
      color: #0f172a;
      background: #f6f8fb;
    }

    #preguntas .section-heading p,
    #preguntas .faq-answer {
      color: #5c6678;
    }

    #preguntas .faq-list details {
      color: #0f172a;
      background: #fff;
      border-color: #dbe3ed;
    }

    #preguntas .faq-list details[open] {
      border-color: #7dd3fc;
    }

    .site-footer {
      padding: 3.4rem 0 2rem;
      color: #aab5c5;
      background: var(--navy-900);
      text-align: center;
    }

    .footer-brand {
      margin: 0;
      color: white;
      font-family: var(--font-heading);
      font-size: 1.05rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .footer-copy {
      max-width: 32rem;
      margin: .8rem auto 0;
      font-size: .8rem;
    }

    .footer-contact {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      margin-top: 1rem;
      color: #80d7ff;
      font-weight: 800;
    }

    .footer-hours {
      display: grid;
      gap: .55rem;
      max-width: 22rem;
      margin: 1.5rem auto 0;
    }

    .footer-hours span {
      display: flex;
      min-height: 2.8rem;
      align-items: center;
      justify-content: center;
      gap: .5rem;
      padding: .65rem;
      background: rgba(255,255,255,.035);
      border: 1px solid rgba(255,255,255,.07);
      border-radius: .8rem;
      font-size: .75rem;
      font-weight: 750;
    }

    .footer-hours span:not(.urgent) {
      color: var(--navy-900);
      background: var(--yellow-400);
      border-color: var(--yellow-500);
      box-shadow: 0 8px 20px rgba(250,204,21,.14);
    }

    .footer-hours .urgent {
      color: white;
      border-color: #b91c1c;
      background: var(--red-600);
      box-shadow: 0 8px 20px rgba(220,38,38,.18);
    }

    .footer-areas {
      margin: 2rem auto 0;
      padding-top: 1.5rem;
      color: #778397;
      border-top: 1px solid rgba(255,255,255,.07);
      font-size: .65rem;
      line-height: 1.55;
      text-transform: uppercase;
    }

    .copyright {
      margin: .7rem 0 0;
      color: #657186;
      font-size: .64rem;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .whatsapp-fab {
      position: fixed;
      right: 1rem;
      bottom: calc(1rem + env(safe-area-inset-bottom));
      z-index: 120;
      display: grid;
      width: 3.35rem;
      height: 3.35rem;
      place-items: center;
      padding: 0;
      opacity: 0;
      pointer-events: none;
      color: white;
      background: #16a765;
      border: 1px solid rgba(255,255,255,.3);
      border-radius: 50%;
      box-shadow: 0 10px 25px rgba(5, 11, 24, .28);
      cursor: pointer;
      transform: translateY(.7rem) scale(.92);
      transition: transform .2s ease, opacity .2s ease, background-color .2s ease;
    }

    .whatsapp-fab.is-visible {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
    }

    .whatsapp-fab:hover {
      background: #128653;
    }

    .whatsapp-fab:focus-visible {
      outline: 3px solid white;
      outline-offset: 3px;
    }

    .whatsapp-fab .icon {
      width: 1.55rem;
      height: 1.55rem;
    }

    .menu-open .whatsapp-fab {
      opacity: 0;
      pointer-events: none;
    }

    .lightbox {
      width: min(100% - 1rem, 58rem);
      max-width: none;
      padding: 0;
      color: white;
      background: transparent;
      border: 0;
    }

    .lightbox::backdrop {
      background: rgba(0, 0, 0, .94);
    }

    .lightbox-shell {
      position: relative;
      display: grid;
      gap: .85rem;
      padding: 2.8rem .5rem .5rem;
    }

    .lightbox-image {
      width: 100%;
      max-height: 78vh;
      object-fit: contain;
      border-radius: .9rem;
    }

    .lightbox-caption {
      margin: 0;
      font-size: .8rem;
      font-weight: 800;
      text-align: center;
      text-transform: uppercase;
    }

    .lightbox-close,
    .lightbox-nav {
      display: grid;
      place-items: center;
      color: white;
      background: rgba(8,20,44,.85);
      border: 1px solid rgba(255,255,255,.18);
      cursor: pointer;
    }

    .lightbox-close {
      position: absolute;
      top: 0;
      right: .5rem;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 999px;
    }

    .lightbox-nav {
      position: absolute;
      top: 50%;
      width: 2.65rem;
      height: 2.65rem;
      border-radius: 999px;
      transform: translateY(-50%);
    }

    .lightbox-prev {
      left: .75rem;
    }

    .lightbox-next {
      right: .75rem;
    }

    @media (max-width: 47.99rem) {
      .site-header {
        box-shadow: 0 3px 12px rgba(0,0,0,.14);
      }

      .service-card,
      .gallery-card,
      .faq-list details {
        box-shadow: 0 2px 8px rgba(15,23,42,.06);
      }

      .experience-summary,
      .tool-photo {
        box-shadow: 0 6px 16px rgba(5,11,24,.15);
      }

      .verification-content {
        background: #222c38;
        border-color: rgba(250,204,21,.2);
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }

      .verification-section {
        background: #18212d;
      }

      .verification-section::before {
        display: none;
      }

      .verification-list li {
        background: #263241;
        border-color: #3c4858;
      }

      .verification-notice {
        background: #facc15;
        box-shadow: none;
      }
    }

    @media (min-width: 36rem) {
      .hero-actions {
        grid-template-columns: 1fr 1fr;
      }

      .proof-grid,
      .tools-grid {
        grid-template-columns: repeat(3, 1fr);
      }

      .proof-card {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
      }
    }

    @media (min-width: 48rem) {
      body {
        padding-bottom: 0;
      }

      .menu-toggle,
      .mobile-menu,
      .whatsapp-fab {
        display: none !important;
      }

      .desktop-nav {
        display: flex;
        align-items: center;
        gap: 1.7rem;
        color: #cbd5e1;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
      }

      .desktop-nav a:hover {
        color: var(--yellow-400);
      }

      .hero {
        min-height: 42rem;
        padding-top: 3rem;
      }

      .hero-inner {
        min-height: 33rem;
      }

      .services {
        grid-template-columns: repeat(2, 1fr);
      }

      .verification-content {
        padding: 1.25rem;
      }

      .verification-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .gallery-card {
        flex-basis: 22rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
      }
    }
