/* Phones and tablets for Company, Contact us, Partner program, Resources and News & blog (25 Sep 2026 audit). Loaded last
   by each of those pages; every rule is scoped to its page's own classes and sits in a width query, so desktop is untouched. */

/* ---------- Company ---------- */
@media (max-width: 900px) {
  .co-advisors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .co-jump .co-in { scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); }
  .co-jump .co-in::-webkit-scrollbar { display: none; }
}
@media (max-width: 640px) {
  /* team: every person as a compact row (photo left, name and title right); the biography panel carries the rest */
  .co-team-grid .co-person-top, .co-advisors .co-person-top { display: flex; align-items: center; gap: 16px; height: auto; min-height: 0; padding: 18px 18px 0; background: #fff; }
  .co-team-grid .co-person-top img, .co-advisors .co-person-top img { flex: none; width: 84px; height: 84px; max-height: none; border-radius: 50%; }
  .co-team-grid .co-person-title, .co-advisors .co-person-title { padding: 0; }
  .co-person-title h4 { font-size: 18px; }
  .co-person-body { padding: 14px 18px 16px; }
  .co-person .co-tags { display: none; }
  .co-person button { min-height: 44px; }
  .co-advisors { grid-template-columns: 1fr; }
  /* biography panel: no second copy of the card, controls beside the name, opened in full view below the bars */
  .co-profile { scroll-margin-top: calc(var(--co-header) + var(--co-jump) + 12px); }
  .co-profile-photo, .co-advisors .co-profile-photo, .co-profile-head p, .co .co-profile .co-tags { display: none; }
  .co-profile-head { flex-direction: row; align-items: center; }
  .co-profile-head h4 { font-size: 22px; }
  /* the summit picture sits above the heading, not behind it */
  .co .ci-heading { padding-top: 230px; }
  .co-story-date { display: none; }
  .co-evidence ol { grid-template-columns: 1fr; }
  .co-evidence-top { font-size: 10px; }
  /* client quotes: one row to swipe instead of seven stacked */
  .co-testimonials { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
  .co-testimonials > * { scroll-snap-align: start; }
  .co-logo-grid, .co-government .co-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .co-logo { min-height: 72px; padding: 12px; }
  .co-logo img { height: 44px; }
  .co-actions .co-button, .co-apply-go .co-button { width: 100%; justify-content: center; }
  .co-text-link, .ci-link { display: inline-flex; align-items: center; min-height: 44px; }
  .co-vehicle dd a[href^="tel"] { white-space: nowrap; }
}

/* ---------- Contact us ---------- */
@media (max-width: 1000px) and (min-width: 701px) {
  .ct-route > a:not(.ct-route-go) { font-size: 13px; overflow-wrap: normal; word-break: keep-all; }
}
@media (max-width: 700px) {
  .ct-route.urgent { order: -1; }
  .ct-hero-line, .ct-route > a:not(.ct-route-go), .ct-route-go { min-height: 44px; }
  .pga-form select { font-size: 14px; }
}

/* ---------- Resources ---------- */
@media (max-width: 1100px) {
  .rs-hero-in { grid-template-columns: minmax(0, 1fr); }
  .rs-talks { grid-template-columns: 1fr; }
  .rs-tabs { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); }
}
@media (max-width: 700px) {
  .rs .rs-hero h1 { font-size: clamp(34px, 9.4vw, 44px); overflow-wrap: break-word; }
  /* presentation cards: the slide on top at its own ratio, then the title and the buttons (the cover used to fill the card) */
  .rs-talk-cover { width: auto; height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .rs-talk-cover img { object-fit: cover; object-position: top; }
  .rs-src, .rs-crumb a { display: inline-flex; align-items: center; min-height: 40px; }
  /* PDF preview (desktop): the title on its own row, buttons below */
  .rs-vbar { flex-wrap: wrap; }
  .rs-vic { display: none; }
  .rs-vbar > div { flex: 1 1 calc(100% - 60px); }
}

/* ---------- Partner program ---------- */
@media (max-width: 1000px) {
  .pgo-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .pgh-ctas .pg-btn { flex: 1 1 100%; justify-content: center; }
  .pgh-pts { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .pgo-grid > :last-child:nth-child(odd) { grid-column: auto; }
}
