/* Loaded after page styles so their desktop rules cannot undo mobile layouts. */
.brand-display__short-name,
.mobile-project-cta {
  display: none;
}

/* Use a native phone link, separate from the legacy copy-number handler. */
.modal__call-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 11px;
  background: #2a2a2a;
  border: 1px solid rgba(245, 245, 245, 0.12);
  border-radius: 12px;
  color: var(--white);
  font-size: 1rem;
  font-weight: 500;
  transition: background 0.3s ease;
}
.modal__call-link:hover { background: #333; }

/* Clip translated inactive slides at their container, not at the page root. */
.testimonial-track { overflow: clip; }
.testimonials__grid > * { min-width: 0; }
.footer__brand .brand-display {
  max-width: 100%;
  white-space: normal;
}
.footer__brand .brand-display__name {
  min-width: 0;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.studio .section-label,
.journal .section-label,
.section-label,
.article-card__time,
.footer__col h4,
.footer__bottom {
  color: #b8b8b8;
}
.project-slide__index,
.project-slide__meta {
  color: var(--white);
  opacity: 1;
  text-shadow: 0 1px 4px #000;
}
@media (max-width: 760px) {
  .site-header,
  .site-header.is-stuck {
    min-height: 68px;
    padding-block: 12px;
    gap: 16px;
  }
  .site-header .brand-display {
    min-width: 0;
    max-width: calc(100% - 60px);
  }
  .site-header .brand-display__name { display: none; }
  .site-header .brand-display__short-name { display: inline; }
  .site-header .nav-toggle {
    position: static;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }
  .mobile-nav__close {
    top: 12px;
    width: 44px;
    height: 44px;
  }

  .scroll-progress {
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
    border-radius: 0;
    transform: none;
    background: none;
    backdrop-filter: none;
    pointer-events: none;
  }
  .scroll-progress__value { display: none; }
  .scroll-progress__track { width: 100%; height: 3px; border-radius: 0; }

  .faq__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .faq__intro,
  .faq__list { min-width: 0; }
  .faq__headline { max-width: 100%; }
  .faq-item__q { gap: 16px; }
  .faq-item__q > span:first-child { min-width: 0; overflow-wrap: break-word; }

  /* In-flow buttons leave all scrolling content and links unobstructed. */
  .floating-cta { display: none; }
  .mobile-project-cta {
    display: inline-flex;
    justify-content: center;
    min-height: 48px;
  }
  .hero__content > .mobile-project-cta {
    margin-top: 24px;
    background: var(--white);
    color: var(--black);
  }
  .cta__btn-anchor { height: auto; min-height: 50px; }

  .section-label,
  .article-card__time,
  .counter__label,
  .footer__col h4,
  .footer__bottom,
  .project-slide__index,
  .project-slide__meta {
    font-size: 13px;
    line-height: 1.5;
  }
  .counter__label { color: #b8b8b8; }
}

@media (max-width: 760px) { .studio__media { height: auto; } }

@media (max-width: 760px) { .studio__media { height: auto; } }
