/* Internal pages mobile optimization. Loaded only outside index.html. */
body.internal-mobile-page {
  --im-page-x: clamp(18px, 5vw, 40px);
  --im-card-radius: 24px;
}

body.internal-mobile-page *,
body.internal-mobile-page *::before,
body.internal-mobile-page *::after {
  box-sizing: border-box;
}

body.internal-mobile-page {
  overflow-x: clip;
}

body.internal-mobile-page img,
body.internal-mobile-page video,
body.internal-mobile-page iframe {
  max-width: 100%;
}

.im-mobile-cta {
  display: none;
}

.im-show-more {
  display: none;
}

@media (max-width: 768px) {
  body.internal-mobile-page {
    overflow-x: hidden;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  body.internal-mobile-page .nav {
    width: 100%;
    max-width: 100vw;
  }

  body.internal-mobile-page .cta-float-left {
    transform: scale(.9);
    transform-origin: left bottom;
  }

  body.internal-mobile-page .contact-pill {
    right: 10px;
    transform: scale(.88);
    transform-origin: right center;
  }

  body.internal-mobile-page main {
    overflow: clip;
  }

  body.internal-mobile-page section {
    max-width: 100vw;
  }

  body.internal-mobile-page h1,
  body.internal-mobile-page h2,
  body.internal-mobile-page h3 {
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  body.internal-mobile-page h1,
  body.internal-mobile-page .about-hero__title,
  body.internal-mobile-page .event-hero h1,
  body.internal-mobile-page .btl-hub-hero h1,
  body.internal-mobile-page .projects-hero h1,
  body.internal-mobile-page .projects-showcase__hero h1,
  body.internal-mobile-page .contacts-hero h1,
  body.internal-mobile-page .careers-hero h1,
  body.internal-mobile-page .project-hero__title,
  body.internal-mobile-page .service-hero__title {
    font-size: clamp(32px, 10.8vw, 42px) !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }

  body.projects-showcase-page .projects-showcase__hero h1 {
    font-size: clamp(36px, 10.6vw, 52px) !important;
    line-height: .94 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.internal-mobile-page h2,
  body.internal-mobile-page .about-section__intro h2,
  body.internal-mobile-page .about-section__head h2,
  body.internal-mobile-page .event-section__head h2,
  body.internal-mobile-page .btl-hub-section__head h2,
  body.internal-mobile-page .btl-hub-split h2,
  body.internal-mobile-page .btl-hub-summary h2,
  body.internal-mobile-page .projects-showcase__head h2,
  body.internal-mobile-page .projects-filter__head h2,
  body.internal-mobile-page .contacts-section__head h2,
  body.internal-mobile-page .careers-section__head h2,
  body.internal-mobile-page .project-section__title,
  body.internal-mobile-page .service-section__title {
    font-size: clamp(28px, 8.4vw, 36px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
  }

  body.internal-mobile-page h3 {
    font-size: clamp(18px, 5.4vw, 23px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
  }

  body.internal-mobile-page p,
  body.internal-mobile-page li,
  body.internal-mobile-page a,
  body.internal-mobile-page label,
  body.internal-mobile-page input,
  body.internal-mobile-page textarea,
  body.internal-mobile-page select,
  body.internal-mobile-page button {
    font-size: max(16px, 1rem);
  }

  body.internal-mobile-page p,
  body.internal-mobile-page li {
    line-height: 1.55;
  }

  body.internal-mobile-page [class*="__lead"],
  body.internal-mobile-page [class*="__text"],
  body.internal-mobile-page [class*="__copy"],
  body.internal-mobile-page [class*="__body"],
  body.internal-mobile-page .btl-hub-copy,
  body.internal-mobile-page .project-summary__narrative {
    max-width: 100%;
  }

  body.internal-mobile-page .about-hero,
  body.internal-mobile-page .event-hero,
  body.internal-mobile-page .btl-hub-hero,
  body.internal-mobile-page .projects-hero,
  body.internal-mobile-page .projects-showcase__hero,
  body.internal-mobile-page .contacts-hero,
  body.internal-mobile-page .careers-hero,
  body.internal-mobile-page .project-hero,
  body.internal-mobile-page .service-hero {
    min-height: auto !important;
    padding: 104px var(--im-page-x) 54px !important;
  }

  body.internal-mobile-page .about-hero__inner,
  body.internal-mobile-page .event-hero__inner,
  body.internal-mobile-page .btl-hub-hero__inner,
  body.internal-mobile-page .projects-hero__inner,
  body.internal-mobile-page .projects-showcase__heroInner,
  body.internal-mobile-page .contacts-hero__inner,
  body.internal-mobile-page .careers-hero__inner,
  body.internal-mobile-page .project-hero__grid,
  body.internal-mobile-page .service-hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
  }

  body.internal-mobile-page .about-hero__lead,
  body.internal-mobile-page .event-hero__lead,
  body.internal-mobile-page .btl-hub-hero__lead,
  body.internal-mobile-page .projects-hero__lead,
  body.internal-mobile-page .projects-showcase__lead,
  body.internal-mobile-page .contacts-hero__lead,
  body.internal-mobile-page .careers-hero__lead,
  body.internal-mobile-page .project-hero__lead,
  body.internal-mobile-page .service-hero__lead {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  body.internal-mobile-page .about-hero__panel,
  body.internal-mobile-page .event-hero__panel,
  body.internal-mobile-page .btl-hub-hero__module,
  body.internal-mobile-page .projects-hero__visual,
  body.internal-mobile-page .projects-showcase__signal,
  body.internal-mobile-page .contacts-hero__panel,
  body.internal-mobile-page .careers-hero__panel,
  body.internal-mobile-page .service-hero__visual {
    min-height: 160px !important;
    max-height: 260px !important;
    overflow: hidden !important;
    opacity: .9;
  }

  body.internal-mobile-page .about-hero__actions,
  body.internal-mobile-page .event-hero__actions,
  body.internal-mobile-page .btl-hub-actions,
  body.internal-mobile-page .projects-hero__actions,
  body.internal-mobile-page .projects-showcase__actions,
  body.internal-mobile-page .contacts-hero__actions,
  body.internal-mobile-page .careers-hero__actions,
  body.internal-mobile-page .project-hero__actions,
  body.internal-mobile-page .service-hero__actions,
  body.internal-mobile-page .project-cta__actions,
  body.internal-mobile-page .event-hero__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.internal-mobile-page .about-btn,
  body.internal-mobile-page .event-btn,
  body.internal-mobile-page .btl-hub-btn,
  body.internal-mobile-page .projects-btn,
  body.internal-mobile-page .projects-showcase__btn,
  body.internal-mobile-page .contacts-btn,
  body.internal-mobile-page .careers-btn,
  body.internal-mobile-page .project-btn,
  body.internal-mobile-page .service-btn,
  body.internal-mobile-page .contacts-quick-form__submit,
  body.internal-mobile-page .msf__submit {
    min-height: 48px !important;
    width: 100%;
    justify-content: center;
    border-radius: 999px;
  }

  body.internal-mobile-page .about-section,
  body.internal-mobile-page .event-section,
  body.internal-mobile-page .btl-hub-section,
  body.internal-mobile-page .projects-section,
  body.internal-mobile-page .projects-showcase,
  body.internal-mobile-page .projects-filter,
  body.internal-mobile-page .projects-cases,
  body.internal-mobile-page .projects-case-section,
  body.internal-mobile-page .projects-form-section,
  body.internal-mobile-page .projects-faq,
  body.internal-mobile-page .contacts-section,
  body.internal-mobile-page .careers-section,
  body.internal-mobile-page .project-section,
  body.internal-mobile-page .service-section {
    padding: 58px var(--im-page-x) !important;
  }

  body.internal-mobile-page .about-section__inner,
  body.internal-mobile-page .event-section__inner,
  body.internal-mobile-page .btl-hub-shell,
  body.internal-mobile-page .projects-shell,
  body.internal-mobile-page .projects-filter__inner,
  body.internal-mobile-page .projects-showcase__inner,
  body.internal-mobile-page .projects-case-section__inner,
  body.internal-mobile-page .contacts-section__inner,
  body.internal-mobile-page .careers-section__inner,
  body.internal-mobile-page .project-shell,
  body.internal-mobile-page .service-shell {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.internal-mobile-page .about-section__intro,
  body.internal-mobile-page .about-section__head,
  body.internal-mobile-page .event-section__head,
  body.internal-mobile-page .btl-hub-section__head,
  body.internal-mobile-page .projects-showcase__head,
  body.internal-mobile-page .contacts-section__head,
  body.internal-mobile-page .careers-section__head,
  body.internal-mobile-page .faq-home__head,
  body.internal-mobile-page .service-section__head {
    margin-bottom: 24px !important;
  }

  body.internal-mobile-page .about-card-grid,
  body.internal-mobile-page .about-city-grid,
  body.internal-mobile-page .about-metric-grid,
  body.internal-mobile-page .event-card-grid,
  body.internal-mobile-page .event-format-grid,
  body.internal-mobile-page .btl-hub-card-grid,
  body.internal-mobile-page .btl-hub-service-grid,
  body.internal-mobile-page .btl-hub-case-grid,
  body.internal-mobile-page .btl-hub-number-grid,
  body.internal-mobile-page .projects-grid,
  body.internal-mobile-page .projects-case-grid,
  body.internal-mobile-page .projects-cases__grid,
  body.internal-mobile-page .projects-case-list,
  body.internal-mobile-page .contacts-office-grid,
  body.internal-mobile-page .contacts-card-grid,
  body.internal-mobile-page .contacts-channel-grid,
  body.internal-mobile-page .contacts-map-grid,
  body.internal-mobile-page .contacts-req-grid,
  body.internal-mobile-page .contacts-scenarios-grid,
  body.internal-mobile-page .careers-card-grid,
  body.internal-mobile-page .careers-role-grid,
  body.internal-mobile-page .careers-direction-grid,
  body.internal-mobile-page .careers-trait-grid,
  body.internal-mobile-page .careers-geo-grid,
  body.internal-mobile-page .project-summary__layout,
  body.internal-mobile-page .project-summary__grid,
  body.internal-mobile-page .project-news__grid,
  body.internal-mobile-page .project-services__grid,
  body.internal-mobile-page .service-card-grid,
  body.internal-mobile-page .service-related__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.internal-mobile-page .about-card,
  body.internal-mobile-page .event-card,
  body.internal-mobile-page .event-format-card,
  body.internal-mobile-page .btl-hub-card,
  body.internal-mobile-page .btl-hub-case,
  body.internal-mobile-page .projects-card,
  body.internal-mobile-page .projects-case,
  body.internal-mobile-page .projects-case-card,
  body.internal-mobile-page .contacts-card,
  body.internal-mobile-page .contacts-office,
  body.internal-mobile-page .contacts-channel,
  body.internal-mobile-page .contacts-map-card,
  body.internal-mobile-page .contacts-req-card,
  body.internal-mobile-page .contacts-scenario,
  body.internal-mobile-page .careers-card,
  body.internal-mobile-page .careers-role,
  body.internal-mobile-page .careers-direction-card,
  body.internal-mobile-page .careers-trait-card,
  body.internal-mobile-page .careers-geo-card,
  body.internal-mobile-page .project-summary__row,
  body.internal-mobile-page .project-news__card,
  body.internal-mobile-page .project-services__chip,
  body.internal-mobile-page .service-card,
  body.internal-mobile-page .service-related__card {
    min-height: auto !important;
    padding: 20px !important;
    border-radius: var(--im-card-radius) !important;
  }

  body.internal-mobile-page .btl-hub-tabs,
  body.internal-mobile-page .projects-filters,
  body.internal-mobile-page .projects-filter-list,
  body.internal-mobile-page .projects-filter__chips,
  body.internal-mobile-page .event-tabs,
  body.internal-mobile-page .service-tabs,
  body.internal-mobile-page .event-tag-list {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 0 0 12px !important;
    margin-left: calc(var(--im-page-x) * -1) !important;
    margin-right: calc(var(--im-page-x) * -1) !important;
    padding-left: var(--im-page-x) !important;
    padding-right: var(--im-page-x) !important;
  }

  body.internal-mobile-page .btl-hub-tab,
  body.internal-mobile-page .projects-filter__chip,
  body.internal-mobile-page .event-tag,
  body.internal-mobile-page .service-chip,
  body.internal-mobile-page .project-services__chip {
    flex: 0 0 auto;
    min-height: 44px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  body.internal-mobile-page .im-hidden-mobile {
    display: none !important;
  }

  body.internal-mobile-page .im-show-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 16px;
    padding: 0 18px;
    width: 100%;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body.internal-mobile-page .im-mobile-cta {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
  }

  body.internal-mobile-page .im-mobile-cta a,
  body.internal-mobile-page .im-mobile-cta button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: 100%;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid currentColor;
    color: inherit;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .08em;
  }

  body.internal-mobile-page .im-faq-item {
    min-height: auto !important;
    padding: 0 !important;
    overflow: hidden;
  }

  body.internal-mobile-page .im-faq-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-height: 56px;
    padding: 18px 20px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    font-weight: 650;
    line-height: 1.2;
  }

  body.internal-mobile-page .im-faq-button::after {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform .24s ease;
  }

  body.internal-mobile-page .im-faq-item.is-open .im-faq-button::after {
    transform: rotate(225deg);
  }

  body.internal-mobile-page .im-faq-panel {
    display: none;
    padding: 0 20px 20px;
  }

  body.internal-mobile-page .im-faq-item.is-open .im-faq-panel {
    display: block;
  }

  body.internal-mobile-page .im-faq-panel p {
    margin: 0;
  }

  body.internal-mobile-page .contacts-quick-form__fields,
  body.internal-mobile-page .msf__grid,
  body.internal-mobile-page .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.internal-mobile-page input,
  body.internal-mobile-page textarea,
  body.internal-mobile-page select {
    min-height: 50px !important;
  }

  body.internal-mobile-page .contacts-quick-form__legal,
  body.internal-mobile-page .msf__legal {
    gap: 10px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.internal-mobile-page iframe,
  body.internal-mobile-page .contacts-map,
  body.internal-mobile-page .contacts-office__map {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 220px !important;
    max-height: 320px !important;
    border-radius: 22px !important;
  }

  body.internal-mobile-page .project-player,
  body.internal-mobile-page .project-player__stage {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 24px !important;
  }

  body.internal-mobile-page .project-hero__grid {
    min-height: auto !important;
    align-items: start !important;
    align-content: start !important;
  }

  body.internal-mobile-page .project-hero__copy {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body.internal-mobile-page .project-gallery,
  body.internal-mobile-page .project-gallery__scene {
    max-width: 100% !important;
    min-height: 320px !important;
  }

  body.internal-mobile-page .sticky-footer {
    height: auto !important;
    min-height: auto !important;
    clip-path: none !important;
  }

  body.internal-mobile-page .sticky-footer__fixed,
  body.internal-mobile-page .sticky-footer__sticky {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
  }

  body.internal-mobile-page .sticky-footer__inner {
    min-height: auto !important;
    padding: 44px var(--im-page-x) 34px !important;
  }

  body.internal-mobile-page .sticky-footer__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.internal-mobile-page .sticky-footer__brand {
    max-width: 100% !important;
  }

  body.internal-mobile-page .sticky-footer__group {
    padding: 0 !important;
    border-top: 1px solid rgba(255,255,255,.16);
  }

  body.internal-mobile-page .im-footer-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
  }

  body.internal-mobile-page .im-footer-toggle::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform .24s ease;
  }

  body.internal-mobile-page .sticky-footer__group.is-open .im-footer-toggle::after {
    transform: rotate(225deg);
  }

  body.internal-mobile-page .im-footer-panel {
    display: none;
    padding: 2px 0 18px;
  }

  body.internal-mobile-page .sticky-footer__group.is-open .im-footer-panel {
    display: block;
  }

  body.internal-mobile-page .sticky-footer__group h2,
  body.internal-mobile-page .sticky-footer__group h3,
  body.internal-mobile-page .sticky-footer__group > ul,
  body.internal-mobile-page .sticky-footer__group > details {
    margin-top: 0 !important;
  }

  body.internal-mobile-page .sticky-footer__bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    text-align: left !important;
  }

  body.internal-mobile-page .projects-case-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  body.internal-mobile-page .projects-case-card__tags span:nth-child(n+4) {
    display: none;
  }

  body.internal-mobile-page .projects-case-card__description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.internal-mobile-page.project-case-page .project-hero__title {
    font-size: var(--project-type-hero-size, clamp(25px, 7.1vw, 36px)) !important;
    line-height: var(--project-type-hero-line, 1) !important;
    letter-spacing: var(--project-type-hero-track, 0.035em) !important;
  }

  body.internal-mobile-page.project-case-page .project-section__title,
  body.internal-mobile-page.project-case-page .contact__title,
  body.internal-mobile-page.project-case-page .faq-home__title,
  body.internal-mobile-page.project-case-page .project-news__title {
    font-size: var(--project-type-title-size, clamp(30px, 10vw, 44px)) !important;
    line-height: var(--project-type-title-line, 1.02) !important;
    letter-spacing: var(--project-type-title-track, 0.035em) !important;
  }

  body.internal-mobile-page.project-case-page .project-related__title,
  body.internal-mobile-page.project-case-page .project-news__card h3,
  body.internal-mobile-page.project-case-page .faq-home__item h3 {
    font-size: var(--project-type-card-title-size, 15px) !important;
    line-height: var(--project-type-card-title-line, 1.24) !important;
    letter-spacing: var(--project-type-card-title-track, 0.01em) !important;
  }
}

@media (max-width: 430px) {
  body.internal-mobile-page {
    --im-page-x: 18px;
  }

  body.internal-mobile-page .about-hero__panel,
  body.internal-mobile-page .event-hero__panel,
  body.internal-mobile-page .btl-hub-hero__module,
  body.internal-mobile-page .projects-hero__visual,
  body.internal-mobile-page .contacts-hero__panel,
  body.internal-mobile-page .careers-hero__panel,
  body.internal-mobile-page .service-hero__visual {
    display: none !important;
  }

  body.internal-mobile-page .cookie-banner {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
  }
}

/* 2026-06-15: compact mobile rhythm for project pages. */
@media (max-width: 768px) {
  body.internal-mobile-page.project-case-page {
    --project-type-hero-size: clamp(25px, 7vw, 34px);
    --project-type-title-size: clamp(25px, 7.4vw, 34px);
    --project-type-title-line: 1.06;
    --project-type-title-track: 0.022em;
    --project-type-body-size: 13.5px;
    --project-mobile-section-y: clamp(34px, 9vw, 48px);
  }

  body.internal-mobile-page.project-case-page .project-section {
    padding: var(--project-mobile-section-y) var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .project-section__title,
  body.internal-mobile-page.project-case-page .contact__title,
  body.internal-mobile-page.project-case-page .faq-home__title,
  body.internal-mobile-page.project-case-page .project-news__title {
    max-width: 100% !important;
    font-size: var(--project-type-title-size) !important;
    line-height: var(--project-type-title-line) !important;
    letter-spacing: var(--project-type-title-track) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.internal-mobile-page.project-case-page .project-eyebrow,
  body.internal-mobile-page.project-case-page .faq-home__kicker,
  body.internal-mobile-page.project-case-page .project-news__kicker {
    margin-bottom: 10px !important;
  }

  body.internal-mobile-page.project-case-page .project-hero {
    min-height: 100svh !important;
    padding: 84px var(--im-page-x) 18px !important;
  }

  body.internal-mobile-page.project-case-page .project-hero__grid {
    min-height: calc(100svh - 102px) !important;
    align-items: end !important;
    align-content: end !important;
    gap: 0 !important;
  }

  body.internal-mobile-page.project-case-page .project-hero__copy {
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px !important;
    margin: 0 !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.34) 72%, transparent 100%) !important;
  }

  body.internal-mobile-page.project-case-page .project-hero__lead,
  body.internal-mobile-page.project-case-page .project-hero__meta {
    display: none !important;
  }

  body.internal-mobile-page.project-case-page .project-hero__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 4px !important;
  }

  body.internal-mobile-page.project-case-page .project-hero__actions .project-btn {
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 8px !important;
    letter-spacing: 0.11em !important;
    white-space: normal !important;
    text-align: center;
  }

  body.internal-mobile-page.project-case-page .project-summary {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__layout {
    gap: 14px !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__statement {
    padding: 18px !important;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 36px rgba(17, 17, 17, 0.055);
  }

  body.internal-mobile-page.project-case-page .project-summary__narrative {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__paragraph {
    display: none !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__paragraph:nth-child(-n + 2) {
    display: block !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__paragraph + .project-summary__paragraph {
    margin-top: 0.72em !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    margin: 0 calc(var(--im-page-x) * -1) !important;
    padding: 0 var(--im-page-x) 8px !important;
    scrollbar-width: none;
  }

  body.internal-mobile-page.project-case-page .project-summary__grid::-webkit-scrollbar {
    display: none;
  }

  body.internal-mobile-page.project-case-page .project-summary__row {
    flex: 0 0 min(70vw, 246px) !important;
    min-height: 0 !important;
    padding: 12px 13px !important;
    border: 1px solid rgba(17, 17, 17, 0.08) !important;
    border-radius: 16px !important;
    background: rgba(17, 17, 17, 0.025);
    scroll-snap-align: start;
  }

  body.internal-mobile-page.project-case-page .project-summary__label {
    margin-bottom: 6px !important;
    font-size: 8px !important;
    line-height: 1 !important;
  }

  body.internal-mobile-page.project-case-page .project-summary__value {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }

  body.internal-mobile-page.project-case-page #projectVideo .project-player {
    margin-top: 18px !important;
    border-radius: 20px !important;
  }

  body.internal-mobile-page.project-case-page .project-player__controls {
    padding: 10px 12px 12px !important;
  }

  body.internal-mobile-page.project-case-page #projectGalleryWrap {
    padding-top: 36px !important;
    padding-bottom: 38px !important;
  }

  body.internal-mobile-page.project-case-page .project-gallery {
    --gallery-radius: min(96vw, 390px);
    --gallery-card-w: min(34vw, 138px);
    --gallery-card-h: min(48vw, 192px);
    min-height: min(88vw, 350px) !important;
    margin-top: 18px !important;
  }

  body.internal-mobile-page.project-case-page .project-gallery__scene {
    min-height: min(84vw, 330px) !important;
  }

  body.internal-mobile-page.project-case-page .project-cta {
    padding: 0 var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .project-cta__inner {
    gap: 12px !important;
    padding: 28px 0 !important;
  }

  body.internal-mobile-page.project-case-page .project-cta .project-section__title {
    max-width: 100% !important;
    font-size: clamp(29px, 8.8vw, 40px) !important;
    line-height: 1.08 !important;
  }

  body.internal-mobile-page.project-case-page .project-cta__text {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0 !important;
    font-size: 13px !important;
    line-height: 1.48 !important;
  }

  body.internal-mobile-page.project-case-page .project-cta__actions {
    gap: 8px !important;
    margin-top: 2px !important;
  }

  body.internal-mobile-page.project-case-page .project-cta .project-btn {
    min-height: 44px !important;
  }

  body.internal-mobile-page.project-case-page .project-services__chips {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    margin: 18px calc(var(--im-page-x) * -1) 0 !important;
    padding: 0 var(--im-page-x) 10px !important;
    scrollbar-width: none;
  }

  body.internal-mobile-page.project-case-page .project-services__chips::-webkit-scrollbar {
    display: none;
  }

  body.internal-mobile-page.project-case-page .project-services__chip {
    flex: 0 0 min(72vw, 270px) !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 11px 14px 12px !important;
    border-radius: 16px !important;
    scroll-snap-align: start;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }

  body.internal-mobile-page.project-case-page .project-related-section {
    padding-top: 38px !important;
    padding-bottom: 40px !important;
  }

  body.internal-mobile-page.project-case-page .project-related__grid,
  body.internal-mobile-page.project-case-page .project-news__grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    margin-left: calc(var(--im-page-x) * -1) !important;
    margin-right: calc(var(--im-page-x) * -1) !important;
    padding-left: var(--im-page-x) !important;
    padding-right: var(--im-page-x) !important;
    scrollbar-width: none;
  }

  body.internal-mobile-page.project-case-page .project-related__grid::-webkit-scrollbar,
  body.internal-mobile-page.project-case-page .project-news__grid::-webkit-scrollbar {
    display: none;
  }

  body.internal-mobile-page.project-case-page .project-related__card {
    flex-basis: min(76vw, 300px) !important;
  }

  body.internal-mobile-page.project-case-page .project-related__cardMedia {
    aspect-ratio: 1.18 / 1 !important;
  }

  body.internal-mobile-page.project-case-page .project-related__body {
    padding: 14px !important;
  }

  body.internal-mobile-page.project-case-page .contact {
    padding: 44px var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .contact__head {
    margin-bottom: 18px !important;
  }

  body.internal-mobile-page.project-case-page .contact__sub {
    margin-top: 10px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
  }

  body.internal-mobile-page.project-case-page .msf__card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  body.internal-mobile-page.project-case-page .msf__docsNotice,
  body.internal-mobile-page.project-case-page .msf__hint,
  body.internal-mobile-page.project-case-page .msf-legal__text {
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  body.internal-mobile-page.project-case-page .project-faq {
    padding: 42px var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .project-faq .faq-home__inner {
    width: 100% !important;
  }

  body.internal-mobile-page.project-case-page .project-faq .faq-home__head {
    margin-bottom: 18px !important;
  }

  body.internal-mobile-page.project-case-page .project-faq .faq-home__grid {
    gap: 10px !important;
  }

  body.internal-mobile-page.project-case-page .project-faq .faq-home__item {
    padding: 16px !important;
    border-radius: 18px !important;
  }

  body.internal-mobile-page.project-case-page .project-faq .faq-home__item h3 {
    font-size: 14px !important;
    line-height: 1.24 !important;
  }

  body.internal-mobile-page.project-case-page .project-faq .faq-home__item p {
    margin-top: 8px !important;
    font-size: 12.5px !important;
    line-height: 1.42 !important;
  }

  body.internal-mobile-page.project-case-page .project-news {
    padding: 42px 0 !important;
  }

  body.internal-mobile-page.project-case-page .project-news__inner {
    width: 100% !important;
    padding: 0 var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .project-news__head {
    margin-bottom: 18px !important;
  }

  body.internal-mobile-page.project-case-page .project-news__card {
    flex-basis: min(78vw, 310px) !important;
  }

  body.internal-mobile-page.project-case-page .project-news__media {
    height: 168px !important;
  }

  body.internal-mobile-page.project-case-page .project-news__body {
    padding: 14px !important;
  }

  body.internal-mobile-page.project-case-page .project-news__summary {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }
}

/* 2026-06-15: compact project form CTA after moving the MSF form into the CTA section. */
@media (max-width: 768px) {
  body.internal-mobile-page.project-case-page #contact.project-cta--form.contact {
    padding: 42px var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .project-cta-form__panel {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }

  body.internal-mobile-page.project-case-page .project-cta-form__panel::before {
    right: -0.16em;
    bottom: -0.18em;
    font-size: clamp(68px, 25vw, 112px);
  }

  body.internal-mobile-page.project-case-page .project-cta-form__copy {
    min-height: 0 !important;
  }

  body.internal-mobile-page.project-case-page #contact.project-cta--form #projectFinalCtaTitleMain.project-section__title {
    font-size: clamp(30px, 9.6vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: 0.035em !important;
  }

  body.internal-mobile-page.project-case-page #contact.project-cta--form .project-cta__text {
    -webkit-line-clamp: 4;
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.46 !important;
  }

  body.internal-mobile-page.project-case-page .project-cta-form__form .msf__card {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  body.internal-mobile-page.project-case-page.project-modal-open #contact.project-cta--form {
    padding: 0 !important;
  }

  body.internal-mobile-page.project-case-page.project-modal-open #contact.project-cta--form .project-cta-form__form {
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
  }

  body.internal-mobile-page.project-case-page.project-modal-open #contact.project-cta--form .msf {
    width: min(576px, calc(100vw - 28px)) !important;
  }

  body.internal-mobile-page.project-case-page.project-modal-open #contact.project-cta--form .msf__card {
    max-height: calc(100svh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  @supports (height: 100dvh) {
    body.internal-mobile-page.project-case-page.project-modal-open #contact.project-cta--form .msf__card {
      max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    }
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq.faq-home {
    padding: 42px var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__inner {
    width: 100% !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__head {
    margin-bottom: 18px !important;
    text-align: center !important;
  }

  body.internal-mobile-page.project-case-page #projectFaqTitle.faq-home__title {
    font-size: clamp(22px, 7vw, 30px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.18em !important;
  }
}

/* 2026-06-16: mobile layout for the project form copied from event pages. */
@media (max-width: 768px) {
  body.internal-mobile-page.project-case-page .project-event-form.event-landing__cta {
    padding: 42px var(--im-page-x) !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__ctaPanel {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__sectionKicker {
    margin-bottom: 12px !important;
    font-size: 10px !important;
    letter-spacing: .2em !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__sectionKicker::before {
    width: 28px !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__ctaTitle {
    font-size: clamp(30px, 9.6vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__ctaText {
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.46 !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__formWrap .msf__card {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  body.internal-mobile-page.project-case-page.project-modal-open .project-event-form .event-landing__formWrap .msf {
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
  }

  body.internal-mobile-page.project-case-page.project-modal-open .project-event-form .event-landing__formWrap .msf__card {
    width: min(576px, calc(100vw - 28px)) !important;
    max-height: calc(100svh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  @supports (height: 100dvh) {
    body.internal-mobile-page.project-case-page.project-modal-open .project-event-form .event-landing__formWrap .msf__card {
      max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    }
  }
}

/* 2026-06-22: canonical mobile project form and homepage-style FAQ rhythm. */
@media (max-width: 768px) {
  body.internal-mobile-page.project-case-page #projectFaq.project-faq.faq-home {
    padding: 56px var(--im-page-x, 14px) !important;
    background: #fff !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__inner {
    width: 100% !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__head {
    margin: 0 0 24px !important;
    text-align: center !important;
  }

  body.internal-mobile-page.project-case-page #projectFaqTitle.faq-home__title {
    font-size: clamp(34px, 12vw, 50px) !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__item {
    padding: 20px !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, .04) !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__item h3 {
    font-size: 19px !important;
    line-height: 1.14 !important;
    letter-spacing: -.03em !important;
    text-transform: none !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__item p {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.56 !important;
    letter-spacing: -.01em !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form.event-landing__cta {
    padding: 48px var(--im-page-x, 14px) !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__ctaPanel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 18px !important;
    border-radius: 26px !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__ctaTitle {
    max-width: 10ch !important;
    font-size: clamp(34px, 12vw, 52px) !important;
    line-height: 1.02 !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__ctaText {
    margin-top: 14px !important;
    font-size: 15px !important;
    line-height: 1.46 !important;
  }

  body.internal-mobile-page.project-case-page .project-event-form .event-landing__formWrap.contact,
  body.internal-mobile-page.project-case-page .project-event-form .event-landing__formWrap .msf,
  body.internal-mobile-page.project-case-page .project-event-form .event-landing__formWrap .msf__card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* 2026-06-22: final mobile pass for project related cards and service chips. */
@media (max-width: 768px) {
  body.internal-mobile-page.project-case-page .project-services__chips {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.internal-mobile-page.project-case-page .project-services__chip {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 12px 12px 13px !important;
    border-radius: 15px !important;
    font-size: 10px !important;
    line-height: 1.24 !important;
    letter-spacing: .075em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto;
  }

  body.internal-mobile-page.project-case-page .project-services__chip::after {
    left: 12px !important;
    right: 12px !important;
    bottom: 8px !important;
    width: auto !important;
  }

  body.internal-mobile-page.project-case-page .project-related-section {
    overflow: hidden !important;
  }

  body.internal-mobile-page.project-case-page .project-related__grid {
    gap: 14px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 2px 16px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-padding-left: 2px;
  }

  body.internal-mobile-page.project-case-page .project-related__card {
    flex: 0 0 min(82vw, 318px) !important;
    width: min(82vw, 318px) !important;
    min-width: min(82vw, 318px) !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }

  body.internal-mobile-page.project-case-page .project-related__cardMedia {
    aspect-ratio: 16 / 11 !important;
    min-height: 0 !important;
  }

  body.internal-mobile-page.project-case-page .project-related__body {
    min-height: 128px !important;
    padding: 15px !important;
  }

  body.internal-mobile-page.project-case-page .project-related__title {
    font-size: 17px !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

@media (max-width: 370px) {
  body.internal-mobile-page.project-case-page .project-services__chips {
    grid-template-columns: 1fr !important;
  }

  body.internal-mobile-page.project-case-page .project-related__card {
    flex-basis: min(86vw, 306px) !important;
    width: min(86vw, 306px) !important;
    min-width: min(86vw, 306px) !important;
  }
}

/* 2026-06-25: compact CTA, canonical FAQ and upload button placement on internal pages. */
@media (max-width: 768px) {
  body.internal-mobile-page.project-case-page .project-missing-cta,
  body.service-detail-page .service-missing-cta {
    padding: 34px 0 !important;
  }

  body.internal-mobile-page.project-case-page .project-missing-cta__inner,
  body.service-detail-page .service-missing-cta__inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }

  body.internal-mobile-page.project-case-page .project-missing-cta__inner h2,
  body.service-detail-page .service-missing-cta__inner h2,
  body.internal-mobile-page.project-case-page .project-missing-cta__inner p:not(.project-eyebrow),
  body.service-detail-page .service-missing-cta__inner p:not(.project-eyebrow),
  body.internal-mobile-page.project-case-page .project-missing-cta__button,
  body.service-detail-page .service-missing-cta__button {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.internal-mobile-page.project-case-page .project-missing-cta__inner h2,
  body.service-detail-page .service-missing-cta__inner h2 {
    max-width: 10ch !important;
    font-size: clamp(32px, 10vw, 46px) !important;
    line-height: .98 !important;
  }

  body.internal-mobile-page.project-case-page .project-missing-cta__button,
  body.service-detail-page .service-missing-cta__button {
    width: 100% !important;
    min-height: 50px !important;
  }

  body.internal-mobile-page.project-case-page #contact .msf__docsTop,
  body.service-detail-page #contact .msf__docsTop {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
    gap: 12px !important;
  }

  body.internal-mobile-page.project-case-page #contact .msf__attachBtn,
  body.service-detail-page #contact .msf__attachBtn {
    justify-self: start !important;
    width: auto !important;
    max-width: 100% !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq.faq-home,
  body.service-detail-page #faq.faq-home {
    padding: 56px 0 !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__inner,
  body.service-detail-page #faq.faq-home .faq-home__inner {
    width: calc(100% - 28px) !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__grid,
  body.service-detail-page #faq.faq-home .faq-home__grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__item,
  body.service-detail-page #faq.faq-home .faq-home__item {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__item h3,
  body.service-detail-page #faq.faq-home .faq-home__item h3 {
    font-size: 18px !important;
  }

  body.internal-mobile-page.project-case-page #projectFaq.project-faq .faq-home__item p,
  body.service-detail-page #faq.faq-home .faq-home__item p {
    font-size: 14px !important;
  }
}

/* 2026-06-25: service detail compact mobile blocks and clean FAQ after internal layer. */
@media (max-width: 560px) {
  body.internal-mobile-page.service-detail-page .service-hero {
    --service-mobile-hero-top: clamp(76px, 10vh, 92px);
    --service-mobile-hero-bottom: max(36px, env(safe-area-inset-bottom));
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding: var(--service-mobile-hero-top) var(--im-page-x) var(--service-mobile-hero-bottom) !important;
    display: grid !important;
    align-items: stretch !important;
    align-content: stretch !important;
    overflow: hidden !important;
  }

  @supports (height: 100svh) {
    body.internal-mobile-page.service-detail-page .service-hero {
      --service-mobile-hero-top: clamp(76px, 10svh, 92px);
      height: 100svh !important;
      min-height: 100svh !important;
      max-height: 100svh !important;
    }
  }

  @supports (height: 100dvh) {
    body.internal-mobile-page.service-detail-page .service-hero {
      height: 100dvh !important;
      min-height: 100dvh !important;
      max-height: 100dvh !important;
    }
  }

  body.internal-mobile-page.service-detail-page .service-hero__inner,
  body.internal-mobile-page.service-detail-page .service-hero__grid {
    align-self: stretch !important;
    align-content: stretch !important;
    align-items: stretch !important;
    gap: 0 !important;
    height: calc(100vh - var(--service-mobile-hero-top) - var(--service-mobile-hero-bottom)) !important;
    min-height: 0 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__inner {
    display: block !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
  }

  @supports (height: 100svh) {
    body.internal-mobile-page.service-detail-page .service-hero__inner,
    body.internal-mobile-page.service-detail-page .service-hero__grid {
      height: calc(100svh - var(--service-mobile-hero-top) - var(--service-mobile-hero-bottom)) !important;
    }
  }

  @supports (height: 100dvh) {
    body.internal-mobile-page.service-detail-page .service-hero__inner,
    body.internal-mobile-page.service-detail-page .service-hero__grid {
      height: calc(100dvh - var(--service-mobile-hero-top) - var(--service-mobile-hero-bottom)) !important;
    }
  }

  body.internal-mobile-page.service-detail-page .service-hero__copy {
    align-self: stretch !important;
    display: contents !important;
    height: 100% !important;
    min-height: 0 !important;
    transform: none !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero .project-breadcrumbs {
    order: 1 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__title {
    order: 2 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__lead {
    order: 3 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero .project-breadcrumbs {
    margin-bottom: 12px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .18em !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__title {
    max-width: 10ch !important;
    font-size: clamp(31px, 9.6vw, 40px) !important;
    line-height: .94 !important;
    letter-spacing: -.02em !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__lead {
    max-width: 100% !important;
    margin-top: 14px !important;
    font-size: clamp(14px, 4.2vw, 17px) !important;
    line-height: 1.34 !important;
    font-weight: 300 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__actions {
    order: 5 !important;
    margin-top: auto !important;
    padding-top: 24px !important;
    gap: 0 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__actions .project-btn--ghost {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__actions .project-btn--accent {
    min-height: 50px !important;
    width: 100% !important;
    border: 1px solid #fff !important;
    background: #fff !important;
    color: #050505 !important;
    box-shadow: 0 18px 46px rgba(255, 255, 255, .12) !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__visual {
    order: 4 !important;
    display: block !important;
    align-self: start !important;
    justify-self: end !important;
    width: min(68vw, 250px) !important;
    min-height: 0 !important;
    height: clamp(118px, 20svh, 162px) !important;
    max-height: none !important;
    margin: clamp(16px, 2.4svh, 24px) 0 0 auto !important;
    aspect-ratio: auto !important;
    border-radius: 22px !important;
    opacity: 1 !important;
    box-shadow: 0 22px 64px rgba(0, 0, 0, .42) !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__visual figcaption {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__reveal {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__media img {
    object-position: center top !important;
    opacity: .5 !important;
  }

  body.internal-mobile-page.service-detail-page .im-mobile-cta__button {
    border-color: currentColor !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: var(--display-font, Inter, "Helvetica Neue", Arial, sans-serif) !important;
    font-size: 10px !important;
    font-weight: 760 !important;
    letter-spacing: .16em !important;
  }

  body.internal-mobile-page.service-detail-page [data-theme="dark"] .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-gallery .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-formats .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-cases .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-news .im-mobile-cta__button {
    border-color: rgba(255, 255, 255, .72) !important;
    background: #fff !important;
    color: #050505 !important;
  }

  body.internal-mobile-page.service-detail-page [data-theme="light"] .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-intro .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-process .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page .service-related .im-mobile-cta__button,
  body.internal-mobile-page.service-detail-page #faq .im-mobile-cta__button {
    border-color: #050505 !important;
    background: #050505 !important;
    color: #fff !important;
  }

  body.internal-mobile-page.service-detail-page .service-card-grid,
  body.internal-mobile-page.service-detail-page .service-format-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.internal-mobile-page.service-detail-page .service-card,
  body.internal-mobile-page.service-detail-page .service-format-card {
    min-height: 104px !important;
    padding: 13px !important;
    border-radius: 16px !important;
  }

  body.internal-mobile-page.service-detail-page .service-card h3,
  body.internal-mobile-page.service-detail-page .service-format-card h3 {
    font-size: 13px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.025em !important;
  }

  body.internal-mobile-page.service-detail-page .service-format-card p {
    font-size: 11px !important;
    line-height: 1.32 !important;
  }

  body.internal-mobile-page.service-detail-page #faq.faq-home .faq-home__grid {
    gap: 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
  }

  body.internal-mobile-page.service-detail-page #faq.faq-home .faq-home__item {
    padding: 20px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.internal-mobile-page.service-detail-page #faq.faq-home.service-faq--canonical .faq-home__grid {
    gap: 10px !important;
    border-top: 0 !important;
  }

  body.internal-mobile-page.service-detail-page #faq.faq-home.service-faq--canonical .faq-home__item {
    padding: 18px !important;
    border: 1px solid rgba(8, 8, 8, .08) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .04) !important;
  }

  body.internal-mobile-page.service-detail-page #faq.faq-home.service-faq--canonical .faq-home__item h3 {
    font-size: 15px !important;
    line-height: 1.22 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }

  body.internal-mobile-page.service-detail-page #faq.faq-home.service-faq--canonical .faq-home__item p {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    width: calc(100vw - var(--im-page-x, 20px)) !important;
    margin-right: calc(var(--im-page-x, 20px) * -1) !important;
    padding: 0 var(--im-page-x, 20px) 16px 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__grid::-webkit-scrollbar {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__card {
    flex: 0 0 min(82vw, 320px) !important;
    width: min(82vw, 320px) !important;
    min-width: min(82vw, 320px) !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__media {
    aspect-ratio: 16 / 10 !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__body {
    padding: 18px !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__summary {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

@media (max-width: 900px) {
  body.internal-mobile-page.service-detail-page footer.sticky-footer {
    --footer-h: 92vh;
    height: var(--footer-h) !important;
    min-height: var(--footer-h) !important;
    overflow: hidden !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__fixed {
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: var(--footer-h) !important;
    min-height: var(--footer-h) !important;
    pointer-events: none !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__sticky {
    position: sticky !important;
    inset: auto !important;
    top: calc(100vh - var(--footer-h)) !important;
    width: 100% !important;
    height: var(--footer-h) !important;
    min-height: var(--footer-h) !important;
    max-height: var(--footer-h) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__inner {
    min-height: var(--footer-h) !important;
    gap: 36px !important;
    padding: clamp(42px, 8vh, 64px) 22px max(22px, env(safe-area-inset-bottom)) !important;
    touch-action: pan-y !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__beam {
    top: -470px !important;
    left: -240px !important;
    opacity: .58 !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__beam--three {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 22px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__brand {
    grid-column: 1 / -1 !important;
    width: min(100%, 520px) !important;
    max-width: 100% !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__mark {
    width: 174px !important;
    margin-bottom: 24px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__text {
    max-width: 360px !important;
    font-size: 14px !important;
    line-height: 1.66 !important;
    letter-spacing: .035em !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer .social {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group {
    padding: 0 !important;
    border-top: 0 !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group h2 {
    margin: 0 0 16px !important;
    font-size: 14px !important;
    letter-spacing: .04em !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group ul {
    display: grid !important;
    gap: 9px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group a {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__bottom {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
    text-align: left !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer .footer-note {
    max-width: 100% !important;
    text-align: left !important;
  }
}

@media (max-width: 900px) and (hover: none) and (pointer: coarse) {
  @supports (height: 100svh) {
    body.internal-mobile-page.service-detail-page footer.sticky-footer {
      --footer-h: 92svh !important;
    }

    body.internal-mobile-page.service-detail-page .sticky-footer__fixed,
    body.internal-mobile-page.service-detail-page .sticky-footer__sticky {
      height: var(--footer-h) !important;
      min-height: var(--footer-h) !important;
      max-height: var(--footer-h) !important;
    }
  }
}

@media (max-width: 900px) {
  @supports (height: 100dvh) {
    body.internal-mobile-page.service-detail-page footer.sticky-footer {
      --footer-h: 92dvh;
    }

    body.internal-mobile-page.service-detail-page .sticky-footer__sticky {
      top: calc(100dvh - var(--footer-h)) !important;
    }
  }
}

@media (max-width: 560px) {
  body.internal-mobile-page.service-detail-page .sticky-footer__inner {
    padding: 42px 18px 22px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group:nth-child(n + 4) {
    padding-top: 4px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group--services .sticky-footer__all-services {
    grid-template-columns: 1fr !important;
    width: min(340px, calc(100vw - 36px)) !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer__group a {
    font-size: 14px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer .footer-socials {
    gap: 10px !important;
  }

  body.internal-mobile-page.service-detail-page .sticky-footer .social {
    width: 44px !important;
    height: 44px !important;
  }
}

/* 2026-06-25: BTL service FAQ stays line-based on mobile, without card plaques. */
@media (max-width: 560px) {
  body.internal-mobile-page.service-detail-page.btl-service-page #faq.faq-home.service-faq--canonical .faq-home__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.internal-mobile-page.service-detail-page.btl-service-page #faq.faq-home.service-faq--canonical .faq-home__item {
    padding: 18px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.internal-mobile-page.service-detail-page.btl-service-page #projectNews.service-news .project-news__actions {
    display: flex !important;
    justify-content: stretch !important;
    margin-top: 22px !important;
  }

  body.internal-mobile-page.service-detail-page.btl-service-page #projectNews.service-news .project-news__hub {
    width: 100% !important;
  }
}


/* 2026-06-26: canonical mobile service hero, menu, cta and materials layout. */
@media (max-width: 768px) {
  body.internal-mobile-page.service-detail-page .service-hero {
    --service-mobile-hero-top: clamp(112px, 14svh, 138px) !important;
  }

  body.internal-mobile-page.service-detail-page :is(
    .service-hero__title,
    .project-section__title,
    .service-format-card h3,
    .service-card h3,
    .project-news__title,
    .faq-home__item h3
  ) {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__title {
    max-width: min(100%, 12.6ch) !important;
    font-size: clamp(28px, 8.2vw, 34px) !important;
    line-height: .96 !important;
    letter-spacing: -.025em !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__lead {
    max-width: 100% !important;
    margin-top: 14px !important;
    font-size: clamp(13px, 3.85vw, 16px) !important;
    line-height: 1.36 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__actions {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__visual {
    width: min(88vw, 360px) !important;
    height: clamp(190px, 32svh, 270px) !important;
    margin: clamp(28px, 5svh, 46px) auto 0 !important;
    border-radius: 24px !important;
  }

  body.internal-mobile-page.service-detail-page .service-hero__visual img {
    object-fit: cover !important;
    object-position: center !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu {
    width: min(78vw, 340px) !important;
    padding: 88px 22px 28px !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu ul {
    gap: 8px !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu li {
    margin: 6px 0 !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu a,
  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu-services__trigger {
    min-height: 34px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    letter-spacing: .16em !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu-services__list {
    margin-top: 8px !important;
    padding-left: 12px !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu-services__list li {
    margin: 6px 0 !important;
  }

  body.internal-mobile-page.service-detail-page #siteNav .mobile-menu-services__list a {
    min-height: 28px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  body.internal-mobile-page.service-detail-page .service-process .im-mobile-cta,
  body.internal-mobile-page.service-detail-page .service-gallery .im-mobile-cta {
    display: none !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__head {
    display: contents !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__hub,
  body.internal-mobile-page.service-detail-page.btl-service-page #projectNews.service-news .project-news__hub {
    order: 5 !important;
    align-self: center !important;
    justify-self: center !important;
    width: auto !important;
    min-height: 38px !important;
    margin: 24px auto 0 !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__grid {
    order: 4 !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__kicker {
    order: 1 !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__title {
    order: 2 !important;
  }

  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__lead,
  body.internal-mobile-page.service-detail-page #projectNews.service-news .project-news__lines {
    order: 3 !important;
  }
}

/* 2026-06-26: canonical mobile FAQ and clean header CTA on the projects listing. */
@media (max-width: 1024px) {
  body.projects-showcase-page #navEstimateBtn.nav-estimate {
    display: none !important;
  }
}

@media (max-width: 768px) {
  body.projects-showcase-page #faq.faq-home {
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #080808 !important;
    padding: 64px 0 !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__inner {
    width: min(100% - 32px, 520px) !important;
    margin: 0 auto !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__head {
    margin: 0 0 26px !important;
    text-align: center !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__kicker {
    margin: 0 0 10px !important;
    color: rgba(0, 0, 0, .42) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__title {
    margin: 0 !important;
    color: #080808 !important;
    font-size: clamp(34px, 11vw, 46px) !important;
    font-weight: 900 !important;
    line-height: .94 !important;
    letter-spacing: var(--section-title-tracking) !important;
    text-transform: uppercase !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__item {
    width: 100% !important;
    min-width: 0 !important;
    padding: 20px !important;
    border: 1px solid rgba(0, 0, 0, .08) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .86) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .04) !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__item h3 {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #080808 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    box-decoration-break: initial !important;
    -webkit-box-decoration-break: initial !important;
  }

  body.projects-showcase-page #faq.faq-home .faq-home__item p {
    margin: 0 !important;
    color: rgba(0, 0, 0, .66) !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
    letter-spacing: normal !important;
  }
}

/* 2026-06-26: compact projects listing mobile hero and remove duplicated mobile CTAs. */
body.projects-showcase-page .im-show-more,
body.projects-showcase-page .im-mobile-cta {
  display: none !important;
}

@media (max-width: 768px) {
  body.projects-showcase-page .projects-showcase {
    overflow-x: hidden !important;
  }

  body.projects-showcase-page .projects-showcase__hero {
    display: flex !important;
    align-items: center !important;
    min-height: 100svh !important;
    padding: 92px 0 42px !important;
  }

  body.projects-showcase-page .projects-showcase__heroInner {
    width: min(calc(100% - 40px), 430px) !important;
    gap: 22px !important;
  }

  body.projects-showcase-page .projects-showcase__heroCopy {
    min-width: 0 !important;
  }

  body.projects-showcase-page .projects-showcase__hero h1 {
    max-width: 100% !important;
    font-size: clamp(31px, 8.8vw, 39px) !important;
    line-height: .94 !important;
    letter-spacing: -.075em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
  }

  body.projects-showcase-page .projects-showcase__lead {
    max-width: 100% !important;
    margin-top: 22px !important;
    font-size: clamp(15px, 4.15vw, 17px) !important;
    line-height: 1.42 !important;
  }

  body.projects-showcase-page .projects-showcase__actions {
    width: 100% !important;
    gap: 10px !important;
    margin-top: 24px !important;
  }

  body.projects-showcase-page .projects-showcase__btn {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    letter-spacing: .13em !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.projects-showcase-page .projects-showcase__cities {
    margin-top: 22px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: .26em !important;
  }

  body.projects-showcase-page .projects-filter__head h2 {
    max-width: 100% !important;
    font-size: clamp(31px, 8.8vw, 40px) !important;
    line-height: .96 !important;
    letter-spacing: -.065em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.projects-showcase-page .projects-cta .projects-showcase__actions {
    display: none !important;
  }
}

/* 2026-07-05: keep mobile section subtitles in the same type system. */
body.internal-mobile-page :where(
  .resources-command-lead,
  .globe-intro__hint,
  .about-offices__lead,
  .offices-cards__lead,
  .services-format__lead,
  .agency-globe__lead,
  .reviews__lead,
  .content-page__lead,
  .flow-about__lead,
  .flow-about__lead--text,
  .about-section__intro > p:not(.about-kicker),
  .contacts-offices__lead,
  .contacts-section__head > p:not(.contacts-kicker),
  .careers-values__lead,
  .projects-showcase__lead,
  .projects-filter__lead,
  .project-section__lead,
  .project-services__lead,
  .project-news__lead,
  .project-proof__subtitle,
  .service-section-lead,
  .event-service-orbit__lead,
  .event-services-catalog__lead,
  .event-control__lead,
  .event-intake__lead,
  .event-directions__lead,
  .event-why__introText,
  .location-section__lead,
  .cro-conversion__lead
){
  display:block !important;
  max-width:calc(100vw - 34px) !important;
  margin:16px auto 0 !important;
  color:currentColor !important;
  opacity:.56 !important;
  font-family:var(--body-font, Inter, "Helvetica Neue", Arial, sans-serif) !important;
  font-size:clamp(18px,5.7vw,28px) !important;
  font-weight:360 !important;
  line-height:1.38 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  text-wrap:balance !important;
}
