/* Shared mobile rhythm, with desktop layouts retained. */
body .ac-entry .ac-entry-wrap > h2 { margin: 12px 0 28px; line-height: 1.15; }
body .ac-entry .ac-entry-cards article h3 { margin: 0 0 12px; line-height: 1.25; }
body .ac-entry .ac-entry-cards article p { margin: 0 0 20px; }
body .ac-entry .ac-entry-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; }

/* Native scrolling works with touch, keyboard, reduced motion and no JS. */
.ch-logo-carousel { width: var(--ch-content-width); margin: 24px auto 40px; color: #fff; }
.ch-logo-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #777 #111; }
.ch-logo-track { display: flex; align-items: center; gap: 24px; list-style: none; padding: 0; margin: 0; }
.ch-logo-track li { flex: 0 0 calc((100% - 120px) / 6); min-width: 0; scroll-snap-align: start; }
.ch-logo-track img { display: block; width: 100%; height: 100px; object-fit: contain; }
.ch-logo-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; }
.ch-logo-controls[hidden] { display: none; }
.ch-logo-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #888; border-radius: 50%; background: transparent; color: #fff; font: 22px/1 Roboto, Arial, sans-serif; cursor: pointer; }
.ch-logo-controls button:disabled { opacity: .35; cursor: default; }
.ch-logo-controls button:hover:not(:disabled) { background: #c1ff57; color: #000; border-color: #c1ff57; }
.ch-logo-count { min-width: 52px; text-align: center; font-size: 16px; font-variant-numeric: tabular-nums; }
.ch-logo-carousel :is(button, .ch-logo-viewport):focus-visible { outline: 3px solid #c1ff57; outline-offset: 4px; }
.ch-logo-carousel:has(.ch-logo-controls:not([hidden])) .ch-logo-viewport { scrollbar-width: none; }
.ch-logo-carousel:has(.ch-logo-controls:not([hidden])) .ch-logo-viewport::-webkit-scrollbar { display: none; }
@media (max-width: 991px) {
  .ch-logo-track li { flex-basis: calc((100% - 72px) / 4); }
}
@media (max-width: 767px) {
  body.ch-home-preview .home-main > .header-banner .banner-left { padding: 48px 20px 56px; width: 100%; }
  body.ch-home-preview .home-main > .header-banner .banner-buttons { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
  body.ch-home-preview .home-main > .header-banner .banner-buttons a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin: 0; padding: 12px 16px; line-height: 1.3; }
  body.ch-home-preview .home-main .ch-home-offers { margin: 0 !important; padding: 56px 0 48px; }
  body.ch-home-preview .homepage-headline .headline-services,
  body.ch-home-preview .ch-home-products .headline-services,
  body.ch-home-preview .resources .headline-services { text-align: left; }
  body.ch-home-preview .headline-text { font-size: 32px; line-height: 1.15; margin: 12px 0 20px; }
  body.ch-home-preview .headline-text br { display: none; }
  body.ch-home-preview .headline-help { margin: 0 0 28px; }
  body.ch-home-preview .ch-home-offers .articles { gap: 24px; }
  body.ch-home-preview .ch-home-offers .articles-content { padding: 24px; }
  body.ch-home-preview .ch-home-team-service .articles-content { gap: 24px; }
  body.ch-home-preview .ch-home-team-action { padding: 20px 0 0; }
  body.ch-home-preview .ch-home-team-action ul { display: grid; gap: 12px; margin: 0 0 20px; }
  body.ch-home-preview .ch-home-team-action li { display: flex; align-items: center; gap: 12px; padding: 0; border: 0; background: transparent; font-size: 18px; line-height: 1.5; }
  body.ch-home-preview .ch-home-team-action li::before { content: ''; width: 6px; height: 6px; flex: none; border-radius: 50%; background: #518500; }
  body.ch-home-preview .ch-home-team-action .article-more { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; }
  body.ch-home-preview .ch-home-expertise { margin: 24px 0 0; text-align: left; }
  body.ch-home-preview .our-customers { margin-top: 0; padding-top: 40px; padding-bottom: 0; }
  body.ch-home-preview .our-customers > .container > .customers-title { text-align: left; font-size: 14px; letter-spacing: .06em; line-height: 1.5; margin: 0; }
  .ch-logo-carousel { margin-block: 20px 40px; }
  .ch-logo-track { gap: 16px; }
  .ch-logo-track li { flex-basis: calc((100% - 16px) / 2); }
  .ch-logo-track img { height: 88px; }
  .ch-logo-controls { margin-top: 16px; }
  body.ch-home-preview .ch-home-audiences { margin-block: 48px; }
  body.ch-home-preview .ch-home-audience-grid { gap: 20px; }
  body.ch-home-preview .ch-home-ai-proof { margin-block: 48px; padding-block: 0; gap: 24px; }
  body.ch-home-preview .ch-home-assessment { margin-block: 48px; gap: 24px; }
  body.ch-home-preview .company.homepage-headline { padding-block: 48px; }
  body.ch-home-preview .company.homepage-headline > :is(.headline-category, .headline-text, .company-btns) { width: var(--ch-content-width); margin-inline: auto; text-align: left; }
  body.ch-home-preview .company.homepage-headline .company-btns { margin-top: 24px; }

  /* Flatten only the mobile visual flow; retain the desktop portrait columns. */
  body.ch-home-preview .company .cloudHold,
  body .ch-team-company-hero .companyCloud .cloudHold { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 16px; width: var(--ch-content-width); max-width: none; height: auto; padding: 0; margin: 32px auto 0; position: static; }
  body.ch-home-preview .company .cloudColumn,
  body .ch-team-company-hero .companyCloud .cloudColumn { display: contents; }
  body.ch-home-preview .company .cloudElement,
  body .ch-team-company-hero .companyCloud .cloudElement { flex: 0 0 calc((100% - 32px) / 3); width: auto; min-width: 0; margin: 0; padding: 0; position: static; transform: none; }
  body.ch-home-preview .company .cloudImage,
  body .ch-team-company-hero .companyCloud .cloudImage { width: 100%; height: auto; aspect-ratio: 1; margin: 0; box-shadow: none; }
  body.ch-home-preview .company .cloudImage img,
  body .ch-team-company-hero .companyCloud .cloudImage img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; object-position: center top; }
  body .ch-team-company-hero .companyCloud .cloudHold { width: 100%; margin: 0; }
  body .companyCloud { padding-block: 28px 40px; }

  body.ch-home-preview .ch-home-products { margin-block: 0 48px; padding-block: 0; }
  body.ch-home-preview .resources { padding-block: 48px; }
  body.ch-home-preview .homepagePanel { position: relative; inset: auto; height: auto; width: 100% !important; margin: 40px 0 0 !important; padding: 28px 24px !important; border-radius: 12px; background: #c1ff57 !important; }
  body.ch-home-preview .homepagePanel::before,
  body.ch-home-preview .homepagePanel::after { display: none; }
  body.ch-home-preview .homepagePanel .generalPanelContent { position: static; transform: none; width: 100%; padding: 0; text-align: left; }
  body.ch-home-preview .homepagePanel h2 { margin: 0 0 24px; color: #000; font-size: 28px; line-height: 1.2; }
  body.ch-home-preview .homepagePanel .panelBtn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; background: #000; border-color: #000; color: #fff; font-size: 16px; }
  body.ch-home-preview .home-main { padding-bottom: 48px; }
  body.ch-home-preview .chn-footer { padding-top: 48px !important; }
  body .ac-entry { padding-block: 48px; }
  body .ac-entry .ac-entry-wrap > h2 { font-size: 32px; }
  body .ac-entry .ac-entry-cards { gap: 20px; }
  body .ac-entry .ac-entry-cards article { padding: 24px; }
  body .ac-entry .ac-entry-cards article h3 { font-size: 24px; }
}
