/* ==========================================================================
   AdWise Marketing — responsive rules
   Breakpoints follow the source design:
   1439 / 1239 / 980 / 899 / 760 / 620 / 480 / 380
   ========================================================================== */

/* ---------- 1439px — hide the header phone number ---------- */
@media (max-width: 1439px) {
  .aw-nav__phone { display: none; }
}

/* ---------- 1239px — drop the wordmark, tighten nav ---------- */
@media (max-width: 1239px) {
  .aw-header__wordmark { display: none; }
  .aw-nav { gap: 18px; }
}

/* ---------- 1024px — soften vertical rhythm ---------- */
@media (max-width: 1024px) {
  :root { --gutter: 28px; }
  .aw-section-pad,
  .aw-section-pad--lg { padding-block: 84px; }
  .aw-quote { padding: 34px 30px; }
  .aw-form-card { padding: 32px 28px; }
}

/* ---------- 980px — collapse the multi-column layouts ---------- */
@media (max-width: 980px) {
  .aw-hero { min-height: 0; }
  .aw-hero__grid { grid-template-columns: minmax(0, 1fr); padding-block: 56px 88px; }
  .aw-hero__art { display: none; }
  .aw-hero__scroll { display: none; }

  .aw-services,
  .aw-faq,
  .aw-contact { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .aw-services__intro p { max-width: none; }

  .aw-sticky { position: static; }

  .aw-grid-3,
  .aw-plans { grid-template-columns: minmax(0, 1fr); }
  .aw-badges,
  .aw-grid-4,
  .aw-counters,
  .aw-pillars__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .aw-pillars__grid { padding: 16px 0; }
  .aw-pillar { padding: 26px 18px; border-left: none; border-top: 1px solid var(--border); }
  .aw-pillar:nth-child(-n+2) { border-top: none; }
  .aw-pillar:nth-child(2n) { border-left: 1px solid var(--border); }

  .aw-counters { gap: 32px 24px; }

  .aw-dock { display: none; }
  .aw-mobilebar { display: block; }
  .aw-footer { padding-bottom: 56px; }
}

/* ---------- 899px — mobile navigation ---------- */
@media (max-width: 899px) {
  .aw-nav__link,
  .aw-nav__cta { display: none; }
  .aw-burger { display: flex; }
  .aw-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 760px — swipeable testimonials, flatter service rows ---------- */
@media (max-width: 760px) {
  .aw-quotes__viewport {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .aw-quotes__track { transform: none !important; }
  .aw-quote { flex: 0 0 88%; scroll-snap-align: start; }
  .aw-quotes__nav { display: none; }

  .aw-service__body { padding-left: 0; grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .aw-service.is-open .aw-service__panel { max-height: 520px; }

  .aw-audit { grid-template-columns: minmax(0, 1fr); max-height: 88vh; }
  .aw-audit__aside { padding: 28px 24px; gap: 22px; }
  .aw-audit__main { padding: 28px 24px 32px; }

  .aw-careers { padding-block: 56px; gap: 28px; }
  .aw-careers__left { gap: 18px; }
}

/* ---------- 620px — single column, tighter gutters ---------- */
@media (max-width: 620px) {
  :root { --gutter: 20px; }

  .aw-section-pad,
  .aw-section-pad--lg { padding-block: 64px; }
  .aw-section-pad--sm { padding-block: 48px; }

  .aw-badges,
  .aw-grid-4,
  .aw-counters,
  .aw-pillars__grid { grid-template-columns: minmax(0, 1fr); }

  .aw-pillar { border-left: none !important; border-top: 1px solid var(--border); }
  .aw-pillar:first-child { border-top: none; }

  .aw-counters { margin-top: 48px; gap: 28px; }
  .aw-form-grid { grid-template-columns: minmax(0, 1fr); }
  .aw-form-card { padding: 26px 20px; }
  .aw-quote { flex-basis: 90%; padding: 28px 24px; }

  .aw-hero__actions .aw-btn { width: 100%; }
  .aw-hero__kicker span:last-child { white-space: normal; }
  .aw-hero__copy { font-size: var(--fs-lg); }

  .aw-service { padding: 22px 4px; }
  .aw-service__head { gap: 14px; }
  .aw-service__icon { width: 26px; }
  .aw-service__icon svg { width: 24px; height: 24px; }

  .aw-work__head,
  .aw-insights__head { gap: 20px; }

  .aw-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 56px 32px; }
  .aw-footer__base { padding-block: 22px 32px; }

  .aw-plan,
  .aw-plan--featured { padding: 28px 22px 30px; }

  .aw-quotes__head { margin-bottom: 28px; }
  .aw-careers__left::before { height: 48px; }
}

/* ---------- 480px ---------- */
@media (max-width: 480px) {
  .aw-marquee__item { width: 150px; height: 84px; }
  .aw-contact__quick .aw-btn { width: 100%; }
  .aw-lightbox { padding: 18px; }
}

/* ---------- 380px — smallest phones ---------- */
@media (max-width: 380px) {
  :root { --gutter: 14px; --header-h: 64px; }
  .aw-header__mark { height: 28px; }
  .aw-nav { gap: 10px; }
  .aw-hero__title { font-size: clamp(28px, 9vw, 40px); }
  .aw-filter { padding: 8px 14px; }
}

/* ---------- Landscape phones: keep the hero from swallowing the fold ---------- */
@media (max-height: 620px) and (min-width: 981px) {
  .aw-hero { min-height: 0; }
  .aw-hero__grid { padding-block: 56px 72px; }
}
