/* Inspection Services dropdown, plus the footer credit line.
   Mobile (<900px): sub-links always shown, indented under the parent.
   Desktop: shown on hover or keyboard focus; Escape closes it. */

.nav .nav__sub { margin: 0; padding: 0 0 0 18px; }
.nav .nav__sub a { font-weight: 400; color: var(--gray); }
.nav .nav__sub a:hover { color: var(--navy); }

@media (min-width: 900px) {
  .nav__item--has-sub { position: relative; }
  .nav__item--has-sub > a::after {
    content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: translateY(-3px) rotate(45deg);
  }

  .nav .nav__sub {
    display: block; position: absolute; z-index: 60;
    top: calc(100% + 10px); left: -18px; min-width: 250px;
    padding: 8px 0; background: var(--paper);
    border: 1px solid var(--line); border-top: 3px solid var(--navy);
    border-radius: var(--radius); box-shadow: var(--shadow);
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
  }
  /* Invisible bridge so the menu doesn't close while the pointer crosses the gap */
  .nav .nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }

  .nav__item--has-sub:hover > .nav__sub,
  .nav__item--has-sub:focus-within > .nav__sub {
    opacity: 1; visibility: visible; transform: none; transition-delay: 0s;
  }
  .nav__item--has-sub.is-closed > .nav__sub { opacity: 0; visibility: hidden; }

  .nav .nav__sub a {
    padding: 10px 20px; font-size: .95rem; font-weight: 600; color: var(--ink); white-space: nowrap;
  }
  .nav .nav__sub a:hover, .nav .nav__sub a:focus-visible { background: var(--navy-tint); color: var(--navy); }
}

@media (prefers-reduced-motion: reduce) { .nav .nav__sub { transition: none; } }

/* Footer: copyright left, studio credit right (stacks on narrow screens) */
.footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; }
