  html { scroll-behavior: smooth; }

    /* ── Eyebrow decorator line ── */
    .eyebrow::before {
      content: '';
      display: inline-block;
      width: 24px;
      height: 2px;
      background: currentColor;
      vertical-align: middle;
      margin-right: 10px;
      flex-shrink: 0;
    }
    .hero-eyebrow::before {
      content: '';
      display: inline-block;
      width: 32px;
      height: 2px;
      background: #D0021B;
      vertical-align: middle;
      margin-right: 10px;
    }

    /* ── Nav link underline ── */
    .nav-link {
      border-bottom: 3px solid transparent;
      transition: border-color .2s, color .2s;
    }
    .nav-link:hover { border-bottom-color: #D0021B; color: #D0021B; }

    /* ── Back-to-top button ── */
    #back-to-top {
      position: fixed;
      bottom: 28px;
      left: 28px;
      z-index: 999;
      display: none;
      width: 44px;
      height: 44px;
      background: #D0021B;
      color: #fff;
      border: none;
      cursor: pointer;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      transition: background .2s, opacity .2s;
    }
    #back-to-top:hover { background: #b00018; }
    #back-to-top.visible { display: flex; }

    /* ── Hero logo ── */
    .hero-logo-img {
      width: calc(222px * 2.75);
      height: calc(28px * 2.75);
      max-width: 100%;
      margin-left: -10px;
      margin-bottom: .2rem;
    }

    /* ── Service card hover effects ── */
    .svc-img {
      transition: transform .5s ease, filter .5s ease;
      filter: brightness(.75) grayscale(.2);
    }
    .svc-card:hover .svc-img {
      transform: scale(1.06);
      filter: brightness(.55) grayscale(.4);
    }
    .svc-arrow {
      color: transparent;
      border-bottom: 1px solid transparent;
      transition: color .3s, border-color .3s;
    }
    .svc-card:hover .svc-arrow {
      color: #fff;
      border-bottom-color: rgba(255,255,255,.6);
    }
    .svc-red-bar {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 3px;
      background: #D0021B;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .35s ease;
    }
    .svc-card:hover .svc-red-bar { transform: scaleX(1); }

    /* ── Tag hover ── */
    .tag { transition: border-color .2s, color .2s; }
    .tag:hover { border-color: #D0021B; color: #D0021B; }

    /* ── Mobile: service grid aspect fix ── */
    @media (max-width: 1024px) {
      .svc-card { aspect-ratio: 4/3; }
    }
    @media (max-width: 540px) {
      .svc-card { aspect-ratio: 16/9; }
    }

    /* ── Back-to-top button ── */
    #back-to-top {
      position: fixed;
      bottom: 32px;
      right: 32px;
      z-index: 999;
      width: 44px;
      height: 44px;
      background: #D0021B;
      color: #fff;
      border: none;
      cursor: pointer;
      display: none;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      transition: background .2s, opacity .2s;
      opacity: 0;
    }
    #back-to-top.visible {
      display: flex;
      opacity: 1;
    }
    #back-to-top:hover { background: #b00018; }