/* Legible utility copy and comfortable controls, after the original theme. */
[hidden] { display: none !important; }
.eyebrow, .hero-index, .hero-bottom, .sleeve-label, .deck-caption,
.hero-motion-control > span, .card-badge, .card-count, .duration,
.footer-bottom, .panel-note, .project-gallery figcaption, .project-pagination small { font-size: 12px; }
.hero-motion-control button, .service-options span, .service-options strong { font-size: 12px; }
.hero-motion-control button, .language-switch button, .nav-toggle { min-height: 44px; }
.language-switch button { min-width: 44px; }
.service-options span { min-height: 44px; align-items: center; justify-content: center; }
.service-options { grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)); }
.deck-controls button { min-width: 32px; min-height: 44px; }
.deck-dots { flex-wrap: wrap; }
.deck-caption { gap: 16px; line-height: 1.5; }
.deck-caption > span { max-width: 145px; }
.artwork-stage img { touch-action: pan-y pinch-zoom; }
.artwork-project-meta { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 10px; font-size: 12px; }
.artwork-project-meta a { color: var(--accent); padding-block: 10px; }
.design-panel-copy p { font-size: 14px; line-height: 1.65; }
.artwork-card a { -webkit-tap-highlight-color: #b527ff33; }
@media (max-width: 767px) {
  .hero-index, .hero-bottom { flex-wrap: wrap; gap: 16px; }
  .footer-bottom { row-gap: 18px; line-height: 1.6; }
  .poster-wall-caption { font-size: 11px; letter-spacing: .02em; }
  .service-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-section input, .contact-section textarea { font-size: 16px; }
  .project-pagination { gap: 16px; }
  .project-pagination a { min-width: 0; overflow-wrap: anywhere; }
}

.artwork-card figcaption [data-source-copy] { color: var(--paper); }

/* Services disclosure uses the same navigation on desktop and touch screens. */
.nav-services { position: relative; }
.services-toggle {
  display: flex; align-items: center; gap: 8px; min-height: 44px;
  padding: 6px 0; background: none; color: var(--muted); font: inherit;
}
.services-toggle:hover, .services-toggle[aria-expanded="true"],
.has-current-service .services-toggle { color: var(--paper); }
.services-chevron { display: inline-block; transition: transform .18s ease; }
.services-toggle[aria-expanded="true"] .services-chevron { transform: rotate(180deg); }
.services-menu {
  position: absolute; top: 100%; left: -18px; z-index: 65;
  width: 230px; padding: 8px; background: var(--ink);
  border: 1px solid var(--line); box-shadow: 0 14px 32px #0005;
}
.services-menu a {
  display: flex; align-items: center; min-height: 44px; padding: 10px 12px;
  color: var(--muted); font-size: 13px; white-space: nowrap;
}
.services-menu a:hover, .services-menu a:focus-visible,
.services-menu a[aria-current] { background: #a78bfa1a; color: var(--paper); }
.services-menu a:last-child { border-top: 1px solid var(--line); margin-top: 6px; }
@media (max-width: 680px) {
  .site-nav { max-height: calc(100svh - 80px); overflow-y: auto; }
  .services-toggle { width: 100%; justify-content: space-between; padding: 8px 0; }
  .services-menu {
    position: static; width: 100%; padding: 4px 0 4px 14px;
    border: 0; border-left: 1px solid var(--line); box-shadow: none;
  }
  .services-menu a { font-size: 16px; }
}
