/* Responsive refinements below the original hero. */
.section-content { min-width: 0; }
.about-copy p { max-width: 60ch; }
footer { align-items: center; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-links { max-width: 100%; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.work-card figcaption { padding: 9px 12px; background: #111e; border-radius: 2px; }
.motion-paused .projection-light-beam { animation-play-state: paused; }
.information-page .projection-light-beam { animation: none; }
.motion-paused .reveal-pending, .motion-paused .reveal-enter { opacity: 1; transform: none; animation: none; }
.inquiry-fields input, .inquiry-fields select { min-width: 0; min-height: 44px; }
@media (max-width: 700px) {
  .client-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: visible; }
  .client-logo { min-height: 130px; }
  .client-logo:last-child { grid-column: 1 / -1; }
  .client-logo:last-child img { max-width: 180px; }
}
@media (min-width: 360px) and (max-width: 900px) {
  .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .facts p { font-size: clamp(16px, 4.3vw, 18px); line-height: 1.35; }
}
@media (max-width: 600px) {
  .contact-label { flex-wrap: wrap; gap: 12px 20px; line-height: 1.5; }
  footer { gap: 8px 24px; padding-block: 20px; }
  .footer-links { flex-wrap: wrap; gap: 8px 24px; }
  .contact-link.inquiry-trigger, .email { min-height: 44px; display: inline-flex; align-items: center; }
  .email { margin-top: 8px; }
}
/* Balance the closing invitation across the available space. */
@media (min-width: 701px) and (max-width: 1100px) {
  .contact-main { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; padding-block: 60px 68px; }
  .contact-main h2 { font-size: clamp(42px, 5.4vw, 60px); }
  .contact-main > div { min-width: 0; }
  .contact-main p br { display: none; }
  footer > span:nth-child(2) { display: none; }
}
@media (max-width: 700px) {
  .contact-main { justify-items: center; gap: 28px; padding-block: 48px 52px; text-align: center; }
  .contact-main h2 { font-size: clamp(38px, 9.8vw, 62px); }
  .contact-main > div { align-items: center; text-align: center; }
  .contact-main > div .contact-link.inquiry-trigger,
  .contact-main > div .email { align-self: center; }
  .contact-main > div .contact-link.inquiry-trigger { text-align: center; }
  .contact-main p { max-width: 32ch; margin-bottom: 20px; }
  footer { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 10px; padding-block: 24px; text-align: center; }
  .footer-links { justify-content: center; flex-wrap: wrap; gap: 8px 24px; }
}
/* JavaScript adds this only to content below the hero. No layout animation. */
@media (prefers-reduced-motion: no-preference) {
  .reveal-pending { opacity: 0; transform: translateY(16px); }
  .reveal-enter { animation: section-arrive 800ms cubic-bezier(.22, 1, .36, 1) both; }
}
@keyframes section-arrive {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@media print {
  .reveal-pending, .reveal-enter { opacity: 1; transform: none; animation: none; }
}

/* Keep the wordmark glint decorative for assistive technology. */
.identity::after { content: none; }
.identity-glint { position: absolute; z-index: 1; inset: 0 auto auto 0; display: block; width: 100%; height: 100%; pointer-events: none; color: transparent; -webkit-text-fill-color: transparent; background: linear-gradient(108deg, transparent 41%, rgba(191, 237, 255, .42) 45%, rgba(255, 255, 244, .98) 49%, rgba(255, 224, 145, .9) 52%, rgba(215, 198, 255, .44) 57%, transparent 62%) 120% 0 / 220% 100% no-repeat; -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 0 4px rgba(255, 230, 165, .55)); opacity: 0; white-space: nowrap; }
.identity:hover .identity-glint, .identity:focus-visible .identity-glint { opacity: 1; animation: wordmark-glint 1.15s cubic-bezier(.18, .75, .22, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .identity:hover .identity-glint, .identity:focus-visible .identity-glint { animation: none; opacity: .58; background-position: 50% 0; }
}
