/* a11y.css — primitives the template had none of. */

a:focus-visible,
button:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--base-300);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100010;
  padding: 0.75em 1.25em;
  background: var(--base-300);
  color: var(--base-500);
  font-family: "DM Mono", monospace;
  font-size: 0.8rem;
  text-transform: uppercase;
  text-decoration: none;
  transform: translateY(-120%);
  transition: transform 0.2s;
}

.skip-link:focus { transform: translateY(0); }

.vh {
  position: absolute;
  width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

.menu-panel-nav ul,
.about-services-grid,
.featured-cards-container,
.chronicles-slides,
.transmit-card-container,
.catalog-fallback { list-style: none; }

/* Display scale, decoupled from the heading level: several titles here are
   the smaller half of a two-line lockup, not a section of their own. */
.dsp {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: -3%;
  text-transform: uppercase;
}

.dsp-1 { font-size: clamp(5rem, 10vw, 10rem); }

.icon { width: 1em; height: 1em; display: block; }

/* Selection was off document-wide; only the moving chrome needs it. */
.preloader,
.transition-overlay,
.showreel-marquee,
.catalog-canvas { user-select: none; }

/* The catalog looks static until you move the pointer, so it says so —
   clear of the status row along the bottom edge. */
.catalog-hint {
  position: absolute;
  bottom: 4rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  opacity: 0.45;
  text-align: center;
  pointer-events: none;
}

.footer-newsletter-note { margin-top: 0.75rem; }
