/* ============ Site-wide responsive adjustments ============
   Desktop defaults stay as-designed. These rules only tighten
   spacing, type, and fixed grids for tablet / mobile. */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  overflow-x:clip;
}

/* —— Ready CTA tablet: body + button align with title text —— */
@media (max-width:1085px){
  .rqs-ready-cta__copy{
    margin-left:calc(56px + var(--space-6));
    max-width:380px;
    flex:1 1 100%;
  }
  .rqs-ready-cta__inner > .btn{
    margin-left:calc(56px + var(--space-6));
  }
}

/* —— Tablet —— */
@media (max-width:980px){
  :root{
    --gutter:20px;
    --section-y:72px;
    --section-y-tight:48px;
    --band-y:36px;
    --space-12:72px;
    --space-11:64px;
    --space-10:48px;
    --size-5xl:42px;
    --size-4xl:34px;
    --size-3xl:28px;
  }

  html{ scroll-padding-top:110px; }

  .heading--xl{ font-size:var(--size-5xl); }
  .heading--lg{ font-size:var(--size-4xl); }
  .heading--md{ font-size:var(--size-3xl); }

  .article-card{ scroll-margin-top:110px; }

  .rqs-grid-cards--audience{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rqs-grid-cards--problem{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rqs-grid-pathway{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  /* Feature band: 4 → 2 columns */
  .feature-band__row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:0;
    row-gap:var(--space-6);
  }
  .feature-band__item{
    padding:var(--space-2) var(--space-5);
  }
  .feature-band__item:not(:nth-child(4n+1)){
    border-left:none;
  }
  .feature-band__item:nth-child(even){
    border-left:1px solid var(--line-on-dark);
  }

  /* Track-record stats: 4 → 2 columns */
  .stat-block{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .stat-block__item:not(:nth-child(4n+1)){
    border-left:none;
  }
  .stat-block__item:nth-child(even){
    border-left:var(--border-hairline);
  }

  .btn{
    white-space:normal;
  }

  /* About: partner tiles 3 → 2 */
  .rqs-about-partners{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* —— Mobile —— */
@media (max-width:640px){
  :root{
    --gutter:16px;
    --section-y:56px;
    --section-y-tight:40px;
    --band-y:32px;
    --card-pad:20px;
    --space-12:56px;
    --space-11:48px;
    --space-10:40px;
    --space-9:36px;
    --size-5xl:34px;
    --size-4xl:28px;
    --size-3xl:24px;
    --size-2xl:22px;
  }

  html{ scroll-padding-top:90px; }

  .rqs-grid-cards--audience{
    grid-template-columns:minmax(0,1fr);
  }
  .rqs-grid-cards--problem{
    grid-template-columns:minmax(0,1fr);
  }
  .rqs-grid-pathway{
    grid-template-columns:minmax(0,1fr);
  }

  /* Feature band: single column */
  .feature-band__row{
    grid-template-columns:minmax(0,1fr) !important;
    column-gap:0;
    row-gap:var(--space-5);
  }
  .feature-band__item{
    padding:var(--space-5) 0;
  }
  .feature-band__item:nth-child(even),
  .feature-band__item:not(:nth-child(4n+1)){
    border-left:none;
  }

  /* Stats: 2 columns still works; keep side space from vertical rules */
  .stat-block__item{
    padding:var(--space-5) var(--space-6);
  }
  .stat-block__value{
    font-size:var(--size-2xl);
  }

  /* Testimonials stack cleanly */
  .testimonial{
    flex-direction:column;
    gap:var(--space-5);
  }
  .testimonial__avatar{
    width:64px;
    height:64px;
  }
  .testimonial p{
    max-width:none;
  }

  /* Ready CTA: stack content, drop desktop/tablet offsets */
  .rqs-ready-cta__inner{
    flex-direction:column;
    align-items:flex-start !important;
  }
  .rqs-ready-cta__copy{
    margin-left:0 !important;
    max-width:none !important;
  }
  .rqs-ready-cta__inner > .btn{
    margin-left:0;
  }

  .article-card{ scroll-margin-top:90px; }

  /* Avoid oversized CTA buttons overflowing narrow screens */
  .btn--lg{
    height:auto;
    min-height:48px;
    padding:var(--space-3) var(--space-6);
  }

  /* About: stack partner tiles and tighten member cards */
  .rqs-about-partners{
    grid-template-columns:minmax(0,1fr);
  }
  .rqs-about-member{
    flex-direction:column;
  }
  .rqs-about-member__photo{
    width:140px;
    height:140px;
  }
  .rqs-about-network{
    padding:var(--space-6) var(--space-5);
  }

  /* Partners: CTA copy fills width when wrapped */
  .rqs-partners-cta__copy{
    margin-left:0;
    max-width:none;
  }
  .rqs-partner-card__top{
    flex-wrap:wrap;
  }

  /* Contact: single-column already via auto-fit; tighten aside spacing */
  .rqs-contact-layout{
    gap:var(--space-8);
  }
}

/* —— Small phones —— */
@media (max-width:400px){
  .stat-block{
    grid-template-columns:minmax(0,1fr) !important;
  }
  .stat-block__item:nth-child(even),
  .stat-block__item:not(:nth-child(4n+1)){
    border-left:none;
  }
  .stat-block__item + .stat-block__item{
    border-top:var(--border-hairline);
  }
}

/* —— Hero CTAs: full-width buttons on narrow phones only —— */
@media (max-width:393px){
  .rqs-section--hero .rqs-row-actions .btn{
    width:100%;
  }
}
