/*
 * Production responsive layer.
 * Desktop is intentionally frozen: only <= 1023px rules are allowed.
 */

@media (max-width: 767px) {
  :root {
    --ib-mobile-page-pad: 16px;
    --ib-mobile-section-y: 42px;
    --ib-mobile-title-xl: clamp(1.45rem, 7.2vw, 1.9rem);
    --ib-mobile-title-lg: clamp(1.28rem, 6.2vw, 1.62rem);
    --ib-mobile-title-md: clamp(1.08rem, 5vw, 1.28rem);
    --ib-mobile-body: 0.92rem;
    --ib-mobile-small: 0.78rem;
  }

  html,
  body {
    overflow-x: hidden;
  }

  #page {
    overflow-x: hidden;
  }

  main,
  .site-main {
    font-size: var(--ib-mobile-body);
    line-height: 1.52;
  }

  main section,
  .site-main section {
    scroll-margin-top: 84px;
  }

  main h1,
  .site-main h1,
  main .text-5xl,
  main .text-6xl,
  main .text-7xl {
    font-size: var(--ib-mobile-title-xl) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  main h2,
  .site-main h2,
  main .text-4xl {
    font-size: var(--ib-mobile-title-lg) !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  main h3,
  .site-main h3,
  main .text-2xl,
  main .text-3xl {
    font-size: var(--ib-mobile-title-md) !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }

  main p,
  .site-main p,
  main li {
    font-size: var(--ib-mobile-body);
    line-height: 1.52;
  }

  main .text-xl,
  main .text-lg {
    font-size: 0.98rem !important;
    line-height: 1.48 !important;
  }

  main .text-sm {
    font-size: 0.78rem !important;
    line-height: 1.42 !important;
  }

  main .tracking-\[0\.2em\],
  main .tracking-\[0\.18em\],
  main .tracking-\[0\.16em\],
  main .tracking-widest,
  .ib-home .section-tag,
  .ib-home .service-tag,
  .ib-home .execution-phase,
  .ib-home .city-task-tag {
    letter-spacing: 0.08em !important;
  }

  main .py-24,
  main .py-28,
  main .py-32,
  main .py-36 {
    padding-top: var(--ib-mobile-section-y) !important;
    padding-bottom: var(--ib-mobile-section-y) !important;
  }

  main .pt-24,
  main .pt-28,
  main .pt-32,
  main .pt-36 {
    padding-top: calc(var(--ib-mobile-section-y) + 20px) !important;
  }

  main .pb-24,
  main .pb-28,
  main .pb-32,
  main .pb-36 {
    padding-bottom: var(--ib-mobile-section-y) !important;
  }

  main .gap-10,
  main .gap-12,
  main .gap-14,
  main .gap-16 {
    gap: 1rem !important;
  }

  main .rounded-3xl {
    border-radius: 1rem !important;
  }

  main .p-8,
  main .p-10,
  main .p-12 {
    padding: 1rem !important;
  }

  main .px-8,
  main .px-10,
  main .px-12 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  main .max-w-7xl,
  main .max-w-6xl,
  main .max-w-5xl,
  main .max-w-4xl {
    padding-left: var(--ib-mobile-page-pad);
    padding-right: var(--ib-mobile-page-pad);
  }

  main a[class*="bg-"],
  main button[class*="bg-"],
  .ib-home .btn {
    min-height: 44px;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
    padding: 0.72rem 1rem !important;
  }

  header nav {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  #mobile-menu {
    max-height: calc(100vh - 74px);
    overflow-y: auto;
    overflow-x: hidden;
  }

  #mobile-menu a {
    white-space: normal;
    word-break: break-word;
  }

  footer .max-w-7xl {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  footer nav[aria-label="Legal navigation"] {
    gap: 0.65rem;
  }

  footer nav[aria-label="Legal navigation"] a {
    line-height: 1.35;
    text-align: center;
  }

  .ib-home .ib-container {
    padding-left: var(--ib-mobile-page-pad);
    padding-right: var(--ib-mobile-page-pad);
  }

  .ib-home .hero-inner {
    padding: 70px 0 54px;
  }

  .ib-home .hero-grid {
    gap: 24px;
  }

  .ib-home .hero-title {
    font-size: clamp(1.32rem, 6.2vw, 1.52rem) !important;
    max-width: calc(100vw - 48px);
    white-space: normal;
  }

  .ib-home .hero-title-line {
    display: block;
    white-space: nowrap;
  }

  .ib-home .hero-lead {
    font-size: 0.94rem !important;
    line-height: 1.35 !important;
    max-width: 100%;
    white-space: normal !important;
  }

  .ib-home .hero-lead-route {
    display: none;
  }

  .ib-home .hero-copy {
    font-size: 1rem;
    max-width: 100%;
  }

  .ib-home .hero-subtitle {
    white-space: normal;
  }

  .ib-home .hero-actions {
    width: 100%;
  }

  .ib-home .hero-actions .btn {
    width: auto;
  }

  .ib-home .hero-subtitle {
    font-size: 0.98rem !important;
    line-height: 1.28 !important;
  }

  .ib-home .strategy-language-bar {
    border-radius: 16px;
    padding: 18px 14px;
  }

  .ib-home .metric-unified-item {
    padding: 18px 14px;
  }

  .ib-home .metric-unified-value {
    font-size: 1.35rem !important;
  }

  .ib-home .metric-unified-label {
    font-size: 0.64rem;
    letter-spacing: 0.08em;
  }

  .ib-home .metric-strip,
  .ib-home .impact-strip {
    gap: 12px;
  }

  .ib-home .bento-grid,
  .ib-home .execution-grid,
  .ib-home .why-grid {
    gap: 12px;
  }

  .ib-home .why-card,
  .ib-home .service-card,
  .ib-home .execution-card {
    border-radius: 14px;
    min-height: 0;
    padding: 16px;
  }

  .ib-home .service-title,
  .ib-home .why-title,
  .ib-home .execution-title,
  .ib-home .offer-ai-title {
    font-size: var(--ib-mobile-title-md) !important;
  }

  .ib-home .service-copy,
  .ib-home .why-copy,
  .ib-home .execution-copy {
    font-size: 0.86rem;
  }

  .ib-home .offer-ai-panel {
    border-radius: 14px;
    padding: 14px;
  }

  .ib-home .city-item {
    flex-basis: min(84vw, 296px);
  }

  .ib-home .city-item img {
    height: 176px;
  }

  .ib-home .city-caption p {
    font-size: 1.08rem !important;
  }

  .ib-home .cta-title {
    font-size: 1.45rem !important;
  }

  .ib-home .cta-copy {
    font-size: 0.9rem;
  }

  #smart-scroll-trigger {
    display: none;
  }

  body.page-template-template-market-research-v2 #hero-section > div {
    padding-top: 5.25rem;
    padding-bottom: 1.25rem;
    gap: 1.5rem;
  }

  body.page-template-template-market-research-v2 #hero-section h1,
  body.page-template-template-service main > div:first-of-type h1,
  body.page-template-template-ai-service #primary.ai-shell h1,
  body.page-template-template-trade-fairs main > section:first-child h1,
  body.page-template-template-international-service main h1 {
    font-size: var(--ib-mobile-title-xl) !important;
    line-height: 1.12 !important;
  }

  body.page-template-template-market-research-v2 .audience-compact {
    padding: 0.95rem;
  }

  body.page-template-template-market-research-v2 .audience-compact li {
    padding-left: 2.1rem;
  }

  body.page-template-template-market-research-v2 .mr-cta-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 0.75rem;
  }

  body.page-template-template-market-research-v2 .mr-cta-card > .flex.items-start,
  body.page-template-template-market-research-v2 .mr-cta-card > .cta-button,
  body.page-template-template-market-research-v2 .mr-cta-card > .cta-badges {
    grid-column: 1 / 2;
  }

  body.page-template-template-market-research-v2 .mr-cta-card > .cta-button {
    justify-self: stretch;
  }

  body.page-template-template-market-research-v2 .mr-cta-card > .cta-button svg {
    margin-left: auto;
    margin-right: auto;
  }

  body.page-template-template-market-research-v2 .how-we-work-card h3 {
    font-size: 1.45rem;
  }

  body.page-template-template-market-research-v2 .how-we-work-card h4 {
    font-size: 1rem;
  }

  body.page-template-template-market-research-v2 #mr-work-slider {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    gap: 1rem;
  }

  body.page-template-template-market-research-v2 #mr-work-slider > * {
    width: min(84vw, 320px);
    flex: 0 0 auto;
  }

  body.page-template-template-market-research-v2 #quote-form {
    gap: 1.5rem;
  }

  body.page-template-template-market-research-v2 section.relative.h-\[400px\] {
    height: 280px;
  }

  body.page-template-template-service main > div:first-of-type {
    padding-top: 4.25rem !important;
    padding-bottom: 2.25rem !important;
    gap: 1.25rem !important;
  }

  body.page-template-template-service main > div:first-of-type h1 {
    font-size: clamp(1.45rem, 6.8vw, 1.78rem) !important;
    line-height: 1.12 !important;
    margin-bottom: 0.75rem !important;
  }

  body.page-template-template-service main > div:first-of-type .prose {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
  }

  body.page-template-template-service main > div:first-of-type .prose p {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1rem !important;
  }

  body.page-template-template-service main > div:first-of-type .prose h2 {
    font-size: 1.16rem !important;
    line-height: 1.18 !important;
    margin-bottom: 1rem !important;
  }

  body.page-template-template-service main > div:first-of-type .prose h3 {
    font-size: 0.96rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.35rem !important;
  }

  body.page-template-template-service main > div:first-of-type .bg-slate-50 {
    padding: 1rem !important;
    border-radius: 1rem !important;
  }

  body.page-template-template-service #work-prev,
  body.page-template-template-service #work-next {
    display: none;
  }

  body.page-template-template-service #work-slider {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    gap: 1rem;
  }

  body.page-template-template-service #work-slider > a {
    width: min(86vw, 320px);
    flex: 0 0 auto;
  }

  body.page-template-template-service #quote-form {
    gap: 1.5rem;
  }

  body.page-template-template-trade-fairs main > section:first-child h1 {
    white-space: normal !important;
    font-size: var(--ib-mobile-title-xl) !important;
  }

  body.page-template-template-trade-fairs #intro-parallax {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }

  body.page-template-template-trade-fairs .tf-rich-intro p:last-child {
    white-space: normal;
  }

  body.page-template-template-trade-fairs #tf2-project-strip {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    gap: 0.75rem;
  }

  body.page-template-template-trade-fairs #tf2-project-viewer {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  body.page-template-template-trade-fairs #tf2-project-viewer > div {
    grid-column: auto !important;
  }

  body.page-template-template-trade-fairs #tf2-title {
    font-size: 1.45rem;
    line-height: 1.2;
  }

  body.page-template-template-trade-fairs #experience-section .tf-exp-shell {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.page-template-template-international-service #spreadsheet-section .overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.page-template-template-international-service #spreadsheet-section table {
    min-width: 900px;
  }

  body.page-template-template-international-service #map-section .h-\[420px\] {
    height: 320px;
  }

  body.page-template-template-international-service #map-section .ps-map-node {
    font-size: 0.62rem;
    padding: 0.22rem 0.45rem;
  }

  body.page-template-template-international-service #business-model .phase-grid {
    grid-template-columns: 1fr;
  }

  body.page-template-template-international-service #business-model .phase-card {
    padding: 1.25rem;
  }

  body.page-template-template-international-service #business-model h3 {
    font-size: 1.45rem;
  }

  body.page-template-template-ai-service #primary.ai-shell > section > div {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.page-template-template-ai-service #primary.ai-shell h1 {
    font-size: var(--ib-mobile-title-xl) !important;
    line-height: 1.1;
  }

  body.page-template-template-ai-service #ai-scroll-indicator {
    bottom: 12px;
    max-width: calc(100vw - 1.5rem);
    transform: translateX(-50%) scale(0.92);
  }

  body.page-template-template-ai-service #ai-scroll-indicator .ai-progress-track {
    width: 86px;
  }

  body.page-template-page-contact main > section:first-child {
    padding-top: 5.25rem;
    padding-bottom: 1.75rem;
  }

  body.page-template-page-contact main > section:nth-of-type(2) {
    gap: 1.75rem;
  }

  body.page-template-page-about .site-main section .max-w-7xl,
  body.page-template-page-about .site-main section .max-w-6xl {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .ib-home .hero-title {
    font-size: clamp(1.22rem, 5.8vw, 1.44rem) !important;
    line-height: 1.12 !important;
  }

  .ib-home .hero-title-line {
    max-width: calc(100vw - 48px);
    overflow: visible !important;
    white-space: nowrap;
  }

  .ib-home .section-title {
    font-size: clamp(1.28rem, 6vw, 1.55rem) !important;
    line-height: 1.16 !important;
  }

  .ib-home .metric-unified-item {
    padding: 14px 12px !important;
  }

  .ib-home .metric-unified-value {
    font-size: 1.28rem !important;
  }

  .ib-home .metric-unified-label {
    font-size: 0.6rem !important;
    letter-spacing: 0.07em !important;
    margin-top: 7px !important;
  }

  .ib-home .why-card,
  .ib-home .service-card,
  .ib-home .execution-card {
    padding: 16px !important;
  }

  .ib-home .why-title,
  .ib-home .service-title,
  .ib-home .execution-title {
    font-size: 1.1rem !important;
    line-height: 1.16 !important;
  }

  .ib-home .why-copy,
  .ib-home .service-copy,
  .ib-home .execution-copy {
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
  }

  .ib-home .service-arrow {
    font-size: 0.78rem !important;
    margin-top: 0.75rem !important;
  }

  .ib-home .offer-ai-panel {
    padding: 12px !important;
  }

  .ib-home .offer-ai-head {
    margin-bottom: 12px !important;
  }

  .ib-home .offer-ai-title {
    font-size: 1rem !important;
    line-height: 1.15 !important;
  }

  .ib-home .why-icon {
    height: 38px !important;
    width: 38px !important;
  }

  .ib-home .why-tag {
    font-size: 0.64rem !important;
    padding: 3px 8px !important;
  }

  .ib-home .city-item {
    flex-basis: min(76vw, 240px) !important;
  }

  .ib-home .city-item img {
    height: 166px !important;
  }

  .ib-home .execution-line-wrap {
    display: none !important;
  }

  .ib-home .cta-actions .btn {
    flex: 0 0 auto !important;
    min-height: 50px !important;
    padding: 13px 16px !important;
    width: 100% !important;
  }

  .ib-home .cta-title {
    font-size: 1.18rem !important;
    line-height: 1.16 !important;
  }

  body.page-template-template-asia-market-entry .asia-eu-hero,
  body.page-template-template-asia-market-entry #asia-eu-examples,
  body.page-template-template-asia-market-entry .asia-dark-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  body.page-template-template-asia-market-entry .asia-soft-card,
  body.page-template-template-asia-market-entry .asia-card,
  body.page-template-template-asia-market-entry .asia-example,
  body.page-template-template-asia-market-entry .asia-before,
  body.page-template-template-asia-market-entry .asia-after,
  body.page-template-template-asia-market-entry .asia-link-card,
  body.page-template-template-asia-market-entry .asia-dark-final {
    border-radius: 1rem !important;
    padding: 1rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser {
    border-radius: 0.9rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-top {
    padding: 0.55rem 0.65rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-url,
  body.page-template-template-asia-market-entry .asia-browser-slot-copy,
  body.page-template-template-asia-market-entry .asia-browser-badge {
    font-size: 0.62rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-shot {
    height: 180px !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-canvas {
    min-height: 178px !important;
    padding: 0.7rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-hero-block,
  body.page-template-template-asia-market-entry .asia-browser-side-note {
    min-height: 0 !important;
    height: 3.4rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-kpis span {
    height: 2.2rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-grid span,
  body.page-template-template-asia-market-entry .asia-browser-panels span {
    height: 3.2rem !important;
  }

  body.page-template-template-asia-market-entry .asia-browser-badge {
    left: 0.7rem !important;
    bottom: 0.7rem !important;
    max-width: calc(100% - 1.4rem);
    white-space: normal;
  }

  body.page-template-template-asia-market-entry .asia-btn-primary,
  body.page-template-template-asia-market-entry .asia-btn-secondary,
  body.page-template-template-ai-automation .ai-auto-cta-amber,
  body.page-template-template-ai-adoption .ai-adoption-btn-primary,
  body.page-template-template-ai-adoption .ai-adoption-btn-amber {
    min-height: 46px !important;
    padding: 0.75rem 1rem !important;
    width: auto !important;
    max-width: 100% !important;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
  }

  body.page-template-template-market-research-v2 .how-we-work-card,
  body.page-template-template-market-research-v2 #mr-work-slider > *,
  body.page-template-template-service #work-slider > a {
    border-radius: 1rem !important;
  }

  body.page-template-template-market-research-v2 #mr-work-slider img,
  body.page-template-template-service #work-slider img {
    max-height: 190px;
  }

  body.page-template-template-market-research-v2 #mr-work-slider h4,
  body.page-template-template-service #work-slider h4 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }

  body.page-template-template-market-research-v2 #mr-work-slider p,
  body.page-template-template-service #work-slider p {
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
  }

  body.page-template-template-service .prose h2 {
    font-size: 1.28rem !important;
    line-height: 1.16 !important;
  }

  body.page-template-template-service .prose h3 {
    font-size: 1.08rem !important;
    line-height: 1.18 !important;
  }

  body.page-template-template-international-service .ps-route-card,
  body.page-template-template-international-service #business-model .phase-card {
    padding: 1rem !important;
  }

  body.page-template-template-international-service #spreadsheet-section .overflow-x-auto {
    box-shadow: inset -22px 0 20px -24px rgba(15, 23, 42, 0.5);
  }

  body.page-template-template-ai-automation main h1,
  body.page-template-template-ai-adoption main h1 {
    font-size: clamp(1.38rem, 6.6vw, 1.72rem) !important;
    line-height: 1.12 !important;
  }

  body.page-template-template-ai-automation .ai-automation-hero-grid,
  body.page-template-template-ai-adoption .ai-adoption-hero-grid {
    gap: 1.25rem !important;
    padding-top: 4.75rem !important;
    padding-bottom: 2.5rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-panel,
  body.page-template-template-ai-adoption .ai-adoption-panel,
  body.page-template-template-ai-automation .ai-automation-preview-shell,
  body.page-template-template-ai-adoption .ai-adoption-preview-shell {
    border-radius: 1rem !important;
    padding: 1rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-flow {
    gap: 0.85rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-flow-step {
    margin-left: 0 !important;
    padding-left: 0.85rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-flow-step:not(:first-child)::before {
    left: 0 !important;
    width: 0.55rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-node,
  body.page-template-template-ai-adoption .ai-adoption-matrix-card,
  body.page-template-template-ai-adoption .ai-adoption-tool-card,
  body.page-template-template-ai-adoption .ai-adoption-card-dark {
    border-radius: 0.9rem !important;
    padding: 0.9rem !important;
  }

  body.page-template-template-ai-automation .ai-auto-case-acc summary {
    gap: 0.55rem !important;
    padding: 0.9rem 1rem !important;
  }

  body.page-template-template-ai-automation .ai-auto-case-acc-title {
    flex-basis: 100%;
    font-size: 0.98rem !important;
    min-width: 0 !important;
  }

  body.page-template-template-ai-automation .ai-auto-case-acc-saving,
  body.page-template-template-ai-automation .ai-auto-case-tag {
    font-size: 0.64rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-dialog,
  body.page-template-template-ai-adoption .ai-adoption-dialog,
  body.page-template-template-ai-service .ai-modal__dialog {
    border-radius: 1rem !important;
    padding: 1rem !important;
  }

  body.page-template-template-ai-automation .ai-automation-dialog h3,
  body.page-template-template-ai-adoption .ai-adoption-dialog h3,
  body.page-template-template-ai-service .ai-modal__dialog h3 {
    font-size: 1.25rem !important;
    line-height: 1.15 !important;
  }

  body.page-template-template-legal .pt-24 {
    padding-top: 4.75rem !important;
  }

  body.page-template-template-legal .bg-slate-50.border-b {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  body.page-template-template-legal h1 {
    font-size: clamp(1.6rem, 7vw, 1.9rem) !important;
    line-height: 1.12 !important;
    margin-bottom: 1rem !important;
  }

  body.page-template-template-legal main,
  body.page-template-template-legal .prose {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  body.page-template-template-legal .prose h2 {
    font-size: 1.28rem !important;
    line-height: 1.18 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.75rem !important;
  }

  body.page-template-template-legal .prose p,
  body.page-template-template-legal .prose li {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
    margin-bottom: 1rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  html,
  body {
    overflow-x: hidden;
  }

  #page {
    overflow-x: hidden;
  }

  header nav {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  #mobile-menu a {
    white-space: normal;
    word-break: break-word;
  }

  .ib-home .hero-inner {
    padding: 104px 0 84px;
  }

  .ib-home .hero-grid {
    gap: 34px;
  }

  .ib-home .hero-title {
    max-width: 100%;
    font-size: clamp(1.32rem, 6.2vw, 1.52rem);
  }

  .ib-home .hero-lead {
    max-width: 88%;
    white-space: normal !important;
  }

  .ib-home .metric-strip,
  .ib-home .impact-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ib-home .bento-grid,
  .ib-home .execution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ib-home .city-item {
    flex-basis: min(46vw, 330px);
  }

  body.page-template-template-market-research-v2 #hero-section > div {
    padding-top: 7.75rem;
    gap: 1.75rem;
  }

  body.page-template-template-market-research-v2 .mr-cta-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body.page-template-template-market-research-v2 .mr-cta-card > .flex.items-start,
  body.page-template-template-market-research-v2 .mr-cta-card > .cta-button,
  body.page-template-template-market-research-v2 .mr-cta-card > .cta-badges {
    grid-column: 1 / 2;
  }

  body.page-template-template-market-research-v2 #mr-work-slider {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.page-template-template-market-research-v2 #mr-work-slider > * {
    width: min(46vw, 340px);
    flex: 0 0 auto;
  }

  body.page-template-template-service main > div:first-of-type {
    padding-top: 7.5rem;
    gap: 1.75rem;
  }

  body.page-template-template-service #work-slider {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.page-template-template-service #work-slider > a {
    width: min(44vw, 340px);
    flex: 0 0 auto;
  }

  body.page-template-template-trade-fairs main > section:first-child h1 {
    white-space: normal !important;
  }

  body.page-template-template-trade-fairs #intro-parallax {
    padding-top: 4.5rem;
    padding-bottom: 3.5rem;
  }

  body.page-template-template-trade-fairs .tf-rich-intro p:last-child {
    white-space: normal;
  }

  body.page-template-template-trade-fairs #tf2-project-viewer {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  body.page-template-template-trade-fairs #tf2-project-viewer > div {
    grid-column: auto !important;
  }

  body.page-template-template-international-service #spreadsheet-section .overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.page-template-template-international-service #spreadsheet-section table {
    min-width: 980px;
  }

  body.page-template-template-international-service #map-section .h-\[420px\] {
    height: 360px;
  }

  body.page-template-template-international-service #business-model .phase-grid {
    grid-template-columns: 1fr;
  }

  body.page-template-template-ai-service #primary.ai-shell h1 {
    font-size: clamp(2.35rem, 6vw, 3.5rem);
    line-height: 1.12;
  }

  body.page-template-template-ai-service #ai-scroll-indicator {
    bottom: 14px;
    transform: translateX(-50%) scale(0.95);
  }

  body.page-template-page-contact main > section:first-child {
    padding-top: 7.5rem;
  }
}
