/* Shared mobile finishing: consistent type and centered closing sections. */
@media (max-width: 900px) {
  #mainMenu.menu > a:not(.btn) {
    justify-content: center !important;
    text-align: center !important;
    font-size: 19px !important;
    letter-spacing: normal !important;
  }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body, button, input, textarea, select { font-family: Helvetica, Arial, sans-serif !important; font-stretch: normal; }
  .cta-feature-main, #contacto .cta-feature-main,
  .signage-final-copy, .digital-final-copy,
  .studio-v2 .studio-final-copy {
    align-items: center !important;
    text-align: center !important;
  }
  #contacto .cta-feature-main h2, .signage-final-copy h2,
  .digital-final-copy h2, .studio-v2 .studio-final-copy h2 {
    max-width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  .footer h4::after { left: 50% !important; transform: translateX(-50%) !important; }
  .footer .contact-line {
    display: grid !important;
    grid-template-columns: 24px minmax(0, auto) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .footer .contact-line .icon {
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
  }
  .footer .contact-line .icon svg { display: block !important; width: 23px !important; height: 23px !important; }
  .footer .contact-line a { text-align: left !important; min-width: 0 !important; }
  .footer .contact-line a {
    display: flex !important;
    align-items: center !important;
    min-height: 24px !important;
    line-height: 24px !important;
  }
}
@media (max-width: 650px) {
  #contacto .cta-feature-main h2,
  .signage-final-copy h2,
  .digital-final-copy h2,
  .studio-v2 .studio-final-copy h2 {
    font-family: Helvetica, Arial, sans-serif !important;
    font-stretch: normal !important;
    font-weight: 700 !important;
    font-kerning: normal;
    letter-spacing: normal !important;
  }
  #contacto .cta-feature-main h2 span,
  .signage-final-copy h2 span,
  .digital-final-copy h2 span,
  .studio-v2 .studio-final-copy h2 span { letter-spacing: inherit !important; font-family: inherit !important; font-stretch: inherit !important; }
  .digital-final-copy h2 {
    font-size: min(8.8vw, 48px) !important;
    letter-spacing: -.028em !important;
  }
  .digital-final-copy h2 span { display: block; white-space: nowrap; }
  :root { --m-gutter: 20px; --mobile-gutter: 20px; }
  .mobile-toggle::before, .mobile-toggle::after, .mobile-toggle span {
    left: auto !important;
    right: 0 !important;
  }
  #contacto .cta-feature-process > p { text-align: center !important; }
  /* Mobile titles previously inherited several negative tracking overrides. */
  .hero-copy-full h1, .web-page-v2 .web-hero h1,
  .signage-page.signage-proposal .web-hero h1,
  .studio-v2 .studio-hero h1, .contact-page .contact-hero h1,
  .case-hero h1 {
    font-family: Helvetica, Arial, sans-serif !important;
    font-stretch: normal !important;
    font-size: min(8.8vw, calc(17vw - 29.6px), 56px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.012em !important;
    font-kerning: normal;
  }
  .hero-copy-full h1 { font-weight: 700 !important; }
  .hero-title-mobile .hero-line { white-space: nowrap !important; text-wrap: nowrap !important; }
  .web-design-page .web-hero h1 .hero-keep-together { white-space: nowrap; }
  .home-studio-services .studio-service-copy > a { position: relative; top: -9px; }
  .home-studio-services .studio-service h3 { letter-spacing: normal !important; }
  .web-hero-sketch, .signage-hero-sketch, .studio-hero-panel { display: none !important; }
  .studio-v2 .studio-hero-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .web-page-v2 .web-project-controls,
  .signage-carousel-controls { display: flex !important; justify-content: flex-end !important; align-items: center !important; gap: 9px !important; }
  .web-page-v2 .project-carousel,
  .signage-carousel-section .signage-carousel {
    width: 100% !important;
    margin-left: 0 !important;
    scroll-snap-type: x mandatory !important;
  }
  .web-page-v2 .project-track,
  .signage-carousel-track { gap: 0 !important; }
  .web-page-v2 .project-track,
  .signage-carousel-track { gap: 14px !important; }
  .web-page-v2 .project-card,
  .signage-carousel-card {
    width: 100% !important;
    flex: 0 0 100% !important;
    scroll-snap-align: start !important;
  }
  .signage-carousel-visual::after {
    height: 55% !important;
    background: linear-gradient(180deg, rgba(29,34,84,0), rgba(29,34,84,.8) 35%, #1d2254 100%) !important;
  }
  .signage-carousel-card img { transition: none !important; }
  .signage-carousel-card:not(.biosecurity-card) .signage-carousel-visual:hover img {
    filter: grayscale(1) contrast(.95) !important;
    transform: none !important;
  }
  .signage-carousel-card.biosecurity-card .signage-carousel-visual:hover img {
    filter: grayscale(1) contrast(.95) !important;
    transform: scale(1.5) !important;
  }
  .signage-carousel-controls button:hover { transform: none !important; }
  .signage-carousel-card .signage-carousel-caption,
  .signage-carousel-card .signage-carousel-caption * { color: #fff !important; }
  .web-page-v2 .project-card-copy,
  .web-page-v2 .project-card-copy * { color: #fff !important; }
  .web-page-v2 .project-card-copy .project-description { min-height: 0 !important; }
  .studio-v2 .studio-profile .studio-quote { display: none !important; }
  .web-page-v2 .project-visual.web-mockup::before {
    background: linear-gradient(180deg, rgba(29,34,84,0) 0%, rgba(29,34,84,0) 56%, rgba(29,34,84,.78) 78%, #1d2254 100%) !important;
  }
  .signage-final-eyebrow, .digital-final-eyebrow,
  .studio-v2 .studio-final-eyebrow { text-align: center !important; }
  .web-page-v2 .web-project-controls > span,
  .signage-carousel-controls .signage-carousel-hint { margin-right: 7px !important; font-size: 11px !important; white-space: nowrap; }
  .web-page-v2 .web-project-controls button,
  .signage-carousel-controls button { position: relative; width: 54px !important; height: 54px !important; flex: 0 0 54px; font-size: 0 !important; display: grid !important; place-items: center !important; }
  .web-page-v2 .web-project-controls button::before,
  .signage-carousel-controls button::before {
    content: ""; position: absolute; top: 50%; left: calc(50% + 4px);
    width: 12px; height: 12px; border-top: 2px solid currentColor; border-right: 2px solid currentColor;
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }
  .web-page-v2 .web-project-controls button::after,
  .signage-carousel-controls button::after {
    content: ""; position: absolute; top: 50%; left: 50%; width: 22px; height: 2px;
    background: currentColor; transform: translate(-50%, -50%);
  }
  .web-page-v2 .web-project-controls button:first-of-type::before,
  .signage-carousel-controls button:first-of-type::before {
    left: calc(50% - 4px); transform: translate(-50%, -50%) rotate(-135deg) !important;
  }
}
/* Lower the contact-card symbols slightly without disturbing their centering. */
.contact-page .contact-paths .contact-card-top { padding-top: 12px; }
@media (max-width: 650px) {
  .contact-page .contact-paths .contact-card {
    aspect-ratio: auto;
    min-height: 0;
    padding: 18px 20px 22px !important;
  }
  .contact-page .contact-paths .contact-card-top { margin-bottom: 4px; }
  .contact-page .contact-card-secondary h2 strong { display: block; }
}
