/* Mobile reference matching, scoped to PRO and excluding portfolio. */
@media (max-width: 809px) {
  .pro-home .pro-hero { min-height: 85vh; min-height: 85svh; margin: 0; padding: 110px 18px 110px; border-radius: 0; display: flex; flex-direction: column; justify-content: center; }
  .pro-home .pro-trust { width: 100%; max-width: 360px; margin-bottom: 20px; }
  .pro-home .pro-hero h1 { font-size: clamp(28px, 6.8vw, 40px); line-height: 1.22; }
  .pro-home .pro-hero p { font-size: 15.5px; line-height: 1.62; margin: 20px auto 36px; max-width: 94%; }
  .pro-home .pro-trust span { flex: 1; min-width: 0; line-height: 1.2; }
  .pro-home .pro-trust img { flex: 0 0 33px; width: 33px; height: 36px; }
  .pro-home .pro-hero-actions { gap: 16px; }
  .pro-home .pro-pill { flex-shrink: 1; min-width: 0; padding-left: 14px; font-size: 13px; white-space: nowrap; }
  .pro-home .pro-hero-actions { flex-direction: row; flex-wrap: nowrap; justify-content: center; gap: 10px; }
  .pro-home .pro-section:not(#pro-projects) { margin-top: 0; }
  .pro-home .pro-section:not(#pro-projects) .pro-heading { padding-inline: 20px; gap: 5px; margin-bottom: 40px; text-align: center; align-items: center; }
  .pro-home .pro-section:not(#pro-projects) .pro-heading h2 { font-size: 30px; line-height: 1.1; }
  .pro-home .pro-section:not(#pro-projects) .pro-badge,.pro-home .pro-contact-copy .pro-badge { font-size: 15px; gap: 7px; padding: 2px 10px 2px 2px; }
  .pro-home .pro-statistics h2 { margin-bottom: 40px; }
  .pro-home .pro-stat-grid { grid-template-columns: repeat(2,1fr); gap: 12px; text-align: center; align-items: stretch; }
  .pro-home .pro-stat-grid article { display: flex; }
  .pro-home .pro-stat-card { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 18px 12px; }
  .pro-home .pro-number { justify-content: center; font-size: 44px; margin-bottom: 0; }
  .pro-home .pro-number .pro-stat-symbol { font-size: 30px; }
  .pro-home .pro-stat-grid h3 { font-size: 18px; line-height: 1.4; }
  .pro-home .pro-stat-grid p { max-width: none; margin: 0; padding: 10px; line-height: 1.5; }
  .pro-home .pro-brand-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
  .pro-home .pro-brand-grid>div { flex: 0 0 calc((100% - 18px) / 4); height: 64px; border-radius: 12px; padding: 6px; }
  .pro-home .pro-brand-grid img { max-width: 85%; max-height: 38px; width: auto; height: auto; object-fit: contain; }
  /* Mobile Stacking Cards Animation for Services Section */
  .pro-home .pro-service-cards {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative;
    padding-bottom: 48px;
  }
  .pro-home .pro-service-card {
    position: -webkit-sticky;
    position: sticky;
    top: 72px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 28px;
    box-shadow: 0 -12px 30px -4px rgba(15, 23, 42, 0.1), 0 8px 20px -4px rgba(15, 23, 42, 0.04);
    transform-origin: center top;
    will-change: transform, filter;
    transition: transform 0.12s cubic-bezier(0.16, 1, 0.3, 1), filter 0.12s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .pro-home .pro-service-card:nth-child(1) { z-index: 1; }
  .pro-home .pro-service-card:nth-child(2) { z-index: 2; }
  .pro-home .pro-service-card:nth-child(3) { z-index: 3; }
  .pro-home .pro-service-card:nth-child(4) { z-index: 4; }
  .pro-home .pro-service-card:nth-child(5) { z-index: 5; }
  .pro-home .pro-service-card:nth-child(6) { z-index: 6; }
  .pro-home .pro-service-copy { padding: 22px 20px; margin-bottom: 24px; }
  .pro-home .pro-service-copy h3 { font-size: 22px; line-height: 30px; }
  .pro-home .pro-service-copy p { font-size: 15px; line-height: 1.5; }
  .pro-home .pro-service-tags { gap: 10px; margin-top: 24px; }
  .pro-home .pro-service-detail { min-height: 74px; font-size: 20px; }

  @media (max-height: 700px) {
    .pro-home .pro-service-card { top: 60px; }
    .pro-home .pro-service-copy { padding: 16px; margin-bottom: 16px; }
    .pro-home .pro-service-tags { margin-top: 16px; gap: 8px; }
    .pro-home .pro-service-detail { min-height: 62px; font-size: 18px; }
  }
  .pro-home .pro-about-copy p { font-size: 17px; line-height: 26px; margin-top: 14px; }
  .pro-home .pro-about-values { grid-template-columns: 1fr; gap: 14px; margin: 30px 0 44px; }
  .pro-home .pro-value-card { padding: 24px 20px; }
  .pro-home .pro-person-photo img { height: 320px; }
  .pro-home .pro-person-copy { padding: 16px 6px 6px; }
  .pro-home .pro-person-meta h3 { font-size: 20px; line-height: 28px; }
  .pro-home .pro-person-meta p { font-size: 14px; line-height: 20px; }
  .pro-home .pro-team-grid { grid-template-columns: 1fr; gap: 20px; }
  .pro-home .pro-join { min-height: 320px; padding: 28px 22px; }
  /* Mobile Stacking Cards Animation for Process Section */
  .pro-home .pro-process-deck {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative;
    padding-bottom: 48px;
    height: auto;
  }
  .pro-home .pro-step,
  .pro-home .pro-step.pro-selected {
    position: -webkit-sticky;
    position: sticky;
    top: 72px;
    min-height: 0;
    padding: 30px;
    gap: 28px;
    background: #f8fafc;
    color: var(--pro-ink);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 28px;
    box-shadow: 0 -12px 30px -4px rgba(15, 23, 42, 0.1), 0 8px 20px -4px rgba(15, 23, 42, 0.04);
    transform-origin: center top;
    will-change: transform, filter;
    transition: transform 0.12s cubic-bezier(0.16, 1, 0.3, 1), filter 0.12s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .pro-home .pro-step:nth-child(1) { z-index: 1; }
  .pro-home .pro-step:nth-child(2) { z-index: 2; }
  .pro-home .pro-step:nth-child(3) { z-index: 3; }
  .pro-home .pro-step:nth-child(4) { z-index: 4; }
  .pro-home .pro-step>button { padding: 0; color: var(--pro-ink); cursor: default; opacity: 1; }
  .pro-home .pro-step>button>span { font-size: 104px; line-height: 1; }
  .pro-home .pro-step-copy { padding: 0; gap: 20px; }
  .pro-home .pro-step-copy h3 { font-size: 26px; line-height: 1.2; }
  .pro-home .pro-step-copy p { margin-top: 0; font-size: 18px; line-height: 25px; }

  @media (max-height: 700px) {
    .pro-home .pro-step,
    .pro-home .pro-step.pro-selected {
      top: 60px;
      padding: 24px 20px;
      gap: 20px;
    }
    .pro-home .pro-step>button>span { font-size: 80px; }
    .pro-home .pro-step-copy h3 { font-size: 22px; }
    .pro-home .pro-step-copy p { font-size: 16px; line-height: 22px; }
  }
  .pro-home .pro-benefits .pro-heading h2 { text-wrap: balance; }
  .pro-home .pro-benefit-track article { flex-basis: 88%; min-width: 260px; padding: 28px 24px 20px; min-height: 450px; }
  .pro-home .pro-benefit-copy h3 { font-size: 18px; }
  .pro-home .pro-benefit-copy p { font-size: 14px; line-height: 22px; }
  .pro-home .pro-benefit-img-wrap { height: 210px; }
  .pro-home .pro-benefit-track img { max-height: 200px; }
  .pro-home .pro-carousel-controls { justify-content: center; margin: 20px 0 24px; gap: 12px; }
  .pro-home .pro-quote-bubble { padding: 30px 20px 40px; gap: 20px; }
  .pro-home .pro-quote-mark { flex-basis: 36px; }
  .pro-home .pro-quote blockquote { font-size: 15px; line-height: 22.5px; }
  .pro-home .pro-quote-grid { row-gap: 30px; }
  .pro-home .pro-quote strong { font-size: 18px; }
  .pro-home .pro-video-grid { margin-top: 60px; gap: 20px; }
  .pro-home .pro-plan-overview { min-height: 0; }
  .pro-home .pro-price { font-size: 33px; line-height: 1; }
  .pro-home .pro-price-row { flex-wrap: wrap; row-gap: 16px; margin-top: 24px; }
  .pro-home .pro-plan-overview>p { font-size: 17px; line-height: 1.4; margin-top: 20px; padding-top: 30px; }
  .pro-home .pro-plan-features ul { font-size: 15px; line-height: 1.5; gap: 10px; }
  .pro-home .pro-plan-features .pro-black-link { justify-content: center; }
  .pro-home .pro-faq-intro { padding-inline: 20px; text-align: center; align-items: center; gap: 5px; }
  .pro-home .pro-faq-layout > * { width: 100%; min-width: 0; }
  .pro-home .pro-faq-intro>p { font-size: 15px; line-height: 1.5; margin-top: 12px; }
  .pro-home .pro-questions details { padding: 20px; }
  .pro-home .pro-questions summary { line-height: 1.4; }
  .pro-header {
    top: 16px;
    padding-inline: 20px;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: none;
  }
  .pro-header.pro-scrolled {
    top: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-inline: 20px;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
    color: #0f172a;
  }
  .pro-scrolled .pro-logo {
    color: #0f172a;
  }
  .pro-home #pro-contact { padding: 44px 16px 56px; }
  .pro-home .pro-contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .pro-home .pro-contact-copy h2 { font-size: 26px; line-height: 1.2; }
  .pro-home .pro-contact-copy p { font-size: 14.5px; line-height: 1.5; color: #64748b; }
  .pro-home .pro-map-card { margin-top: 14px; border-radius: 16px; overflow: hidden; border: 1px solid rgba(15, 23, 42, 0.08); }
  .pro-home .pro-map-frame { height: 200px; }
  .pro-home .pro-contact-copy,
  .pro-home .pro-contact-ways-card { position: static; }
  .pro-home .pro-contact-ways-card { padding: 16px 12px; border-radius: 18px; gap: 10px; }
  .pro-home .pro-ways-header { padding: 6px 4px 10px; }
  .pro-home .pro-ways-header h3 { font-size: 18px; margin-bottom: 4px; }
  .pro-home .pro-ways-header p { font-size: 13.5px; }
  .pro-home .pro-ways-list { gap: 4px; }
  .pro-home .pro-way-item { padding: 12px 10px; gap: 12px; border-radius: 12px; }
  .pro-home .pro-way-icon { width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0; }
  .pro-home .pro-way-icon svg { width: 18px; height: 18px; }
  .pro-home .pro-way-content { flex: 1; min-width: 0; overflow: hidden; }
  .pro-home .pro-way-meta { font-size: 10.5px; flex-wrap: wrap; gap: 6px; }
  .pro-home .pro-way-value { font-size: 13.5px; line-height: 1.35; word-break: break-word; overflow-wrap: break-word; white-space: normal; }
  .pro-home .pro-way-sub { font-size: 11px; line-height: 1.35; }
  .pro-home .pro-way-action { flex-shrink: 0; align-self: center; }
  .pro-home .pro-way-action span { display: none; }
  .pro-home .pro-way-action svg { width: 26px; height: 26px; padding: 6px; }
  /* Mobile Footer Accordion & Layout — shared by home and interior PRO pages. */
  .pro-header.pro-header-footer-visible {
    transform: translateY(calc(-100% - 24px));
    opacity: 0;
    pointer-events: none;
  }
  .pro-page .pro-footer-inner {
    padding: 44px 20px 24px;
  }
  .pro-page .pro-footer .pro-watermark {
    width: 100%;
    left: 0;
    transform: none;
    overflow: hidden;
    white-space: nowrap;
    text-align: center;
    font-size: 128px;
  }
  .pro-page .pro-footer-brand-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 24px;
  }
  .pro-page .pro-footer-logo-img {
    width: 132px;
  }
  .pro-page .pro-footer-desc {
    font-size: 14.5px;
  }
  .pro-page .pro-footer-nav-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 28px;
  }
  .pro-page .pro-footer-accordion {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .pro-page .pro-footer-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 4px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    cursor: pointer;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
  }
  .pro-page .pro-accordion-icon {
    display: block;
    stroke: #94a3b8;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), stroke 0.2s;
  }
  .pro-page .pro-footer-accordion[open] .pro-accordion-icon {
    transform: rotate(180deg);
    stroke: #EE1B2D;
  }
  .pro-page .pro-footer-links {
    padding: 0 4px 18px;
    gap: 12px;
  }
  .pro-page .pro-footer-reach {
    padding-top: 26px;
  }
  .pro-page .pro-reach-title {
    font-size: 17px;
    text-transform: none;
    letter-spacing: normal;
    margin-bottom: 14px;
  }
  .pro-page .pro-reach-items {
    font-size: 14px;
    line-height: 1.6;
  }
  .pro-page .pro-google-trust-badge {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin-top: 18px;
  }
  .pro-page .pro-footer-socials-row {
    padding: 22px 0;
    margin-bottom: 18px;
  }
  .pro-page .pro-footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 12px;
    font-size: 13px;
  }
  .pro-page .pro-footer-legal-inline {
    display: flex;
    justify-content: center;
    gap: 16px;
  }
  .pro-page .pro-floating-whatsapp {
    bottom: 16px;
    right: 16px;
    gap: 0;
    z-index: 40;
  }
  body.pro-footer-visible .pro-floating-whatsapp {
    transform: translateY(18px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .pro-page .pro-whatsapp-pill {
    display: none !important;
  }
  .pro-page .pro-whatsapp-btn {
    width: 44px;
    height: 44px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
  }
  .pro-page .pro-whatsapp-btn svg {
    width: 24px;
    height: 24px;
  }
  .pro-home .pro-reviews .pro-heading { margin-bottom: 32px; }
  .pro-home .pro-story-faces { padding: 0 4px; }
  .pro-home .pro-masonry { column-count: 1; column-gap: 16px; }
  .pro-home .pro-masonry-item { margin-bottom: 16px; }
  .pro-home .pro-masonry-image { margin-bottom: 16px; }
  .pro-home .pro-greview { padding: 20px; gap: 12px; }
  .pro-home .pro-greview-avatar { width: 44px; height: 44px; }
  .pro-home .pro-greview-text { font-size: 14px; line-height: 1.55; }
  .pro-home .pro-masonry-hidden { display: none; }
  .pro-home .pro-masonry.pro-reviews-expanded .pro-masonry-hidden { display: block; }
  .pro-home .pro-reviews-more { display: flex; }

  /* FAQ: show first 5 on mobile, reveal the rest */
  .pro-home .pro-questions .pro-faq-hidden { display: none; }
  .pro-home .pro-questions.pro-faq-expanded .pro-faq-hidden { display: block; }
  .pro-home .pro-questions-more { display: flex; justify-content: center; margin-top: 20px; }

  /* Blog: show first 3 on mobile, reveal the rest */
  .pro-home .pro-latest-posts-grid .pro-post-hidden { display: none; }
  .pro-home .pro-latest-posts-grid.pro-posts-expanded .pro-post-hidden { display: flex; }
  .pro-home .pro-posts-more { display: flex; justify-content: center; margin-top: 20px; }
}


/* ─────────────────────────────────────────────────────────────────────────
   Services hub (.svx) — responsive
   ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .svx-body { grid-template-columns: 1fr; gap: 0; }
  .svx-index { display: none; }
  .svx-cta-card { grid-template-columns: 1fr; gap: 24px; padding: 48px; }
}

@media (max-width: 809px) {
  .pro-services-page .pro-page-main { padding-top: 0; }
  .svx-wrap { padding-inline: 20px; }
  .svx-hero { padding: 116px 0 48px; }
  .svx-crumbs ol { margin-bottom: 24px; }
  .svx-title { font-size: clamp(38px, 10.5vw, 56px); }
  .svx-hero-foot { grid-template-columns: 1fr; gap: 24px; margin-top: 36px; padding-top: 22px; }
  .svx-lead { font-size: 15.5px; }
  .svx-hero-foot .svx-btn { width: 100%; }
  .svx-service { padding: 56px 0; }
  .svx-service-title { font-size: clamp(28px, 7.6vw, 36px); }
  .svx-outcome { font-size: 15.5px; }
  .svx-items { margin-top: 28px; column-gap: 24px; }
  .svx-items li { font-size: 14.5px; padding: 13px 0; }
  .svx-more { padding: 11px 20px; border-radius: 22px; line-height: 1.35; }
  .svx-cta { padding: 16px 0 64px; }
  .svx-cta-card { padding: 32px 24px; border-radius: 22px; }
  .svx-cta-copy .svx-btn { width: 100%; }
  .pro-services-page .pro-whatsapp-pill { display: none; }
}

@media (max-width: 420px) {
  .svx-items { grid-template-columns: 1fr; }
}

/* Service detail pages (.sdx) */
@media (max-width: 1024px) {
  .sdx-split, .sdx-related { grid-template-columns: minmax(0, 1fr); gap: 32px; width: 100%; max-width: 100%; min-width: 0; }
  .sdx-split > *, .sdx-related > * { min-width: 0; max-width: 100%; }
  .sdx-side { position: static; width: 100%; max-width: 100%; }
  .sdx-h2 { max-width: 20ch; }
  .sdx-steps { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  .sdx-process { padding: 48px; }
  .sdx-related { gap: 16px; }
}

@media (max-width: 809px) {
  .sdx-title { font-size: clamp(36px, 9.6vw, 52px); }
  .sdx-section { padding: 64px 0; }
  .sdx-h2 { font-size: clamp(28px, 7.6vw, 36px); }
  .sdx-included { grid-template-columns: 1fr; row-gap: 32px; }
  .sdx-inc h3 { font-size: 19px; }
  .sdx-process { padding: 32px 24px; border-radius: 22px; }
  .sdx-steps { grid-auto-flow: row; grid-template-columns: 1fr; gap: 28px; }
  .sdx-steps-wrap { margin-top: 32px; }
  .sdx-why li { padding: 22px 0; }
  .sdx-faq summary { padding: 22px 0; }
  .sdx-faq summary h3 { font-size: 17px; }
  .sdx-faq p { padding-right: 0; font-size: 15px; }
  .sdx-cta { padding-bottom: 64px; }
  .sdx-related { margin-top: 40px; }
  .sdx-page .pro-whatsapp-pill { display: none; }
}


/* ─────────────────────────────────────────────────────────────────────────
   Individual service pages (isp-*) — responsive
   ───────────────────────────────────────────────────────────────────────── */

/* Tablet ≤1024px */
@media (max-width: 1024px) {
  .isp-hero-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-bottom: 56px;
  }
  .isp-hero-copy { padding-top: 36px; }

  .isp-steps { grid-template-columns: repeat(2, 1fr); }
  /* Second row gets its own top rule; reset left dividers per row of 2 */
  .isp-step:nth-child(odd) { padding-left: 0; border-left: 0; }
  .isp-step:nth-child(odd)::before { left: 0; }
  .isp-step:nth-child(n+3) { border-top: 1px solid #e3e9f1; margin-top: 2px; padding-top: 30px; }
  .isp-step:nth-child(n+3)::before { top: -1px; }

  .isp-benefit-grid { grid-template-columns: repeat(2, 1fr); }

  .isp-faq-layout { grid-template-columns: 1fr; gap: 36px; }
  .isp-faq-sticky { position: static; }
}

/* Mobile ≤809px */
@media (max-width: 809px) {
  .isp-page .pro-page-main { padding-top: 0; }

  /* Hero */
  .isp-hero-inner { padding-top: 88px; }
  .isp-hero .pro-wrap { padding-inline: 18px; }

  .isp-hero-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-bottom: 40px;
  }

  .isp-hero-copy {
    padding-top: 24px;
    gap: 18px;
  }

  .isp-breadcrumb { font-size: 11px; flex-wrap: wrap; }

  .isp-eyebrow { font-size: 11px; }

  .isp-hero-copy h1 {
    font-size: clamp(26px, 7.5vw, 38px);
    padding-left: 14px;
    border-left-width: 2px;
  }

  .isp-hero-lead { font-size: 14px; max-width: none; }

  /* Actions: primary full-width, outline below */
  .isp-hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .isp-btn-primary {
    width: 100%;
    justify-content: space-between;
  }
  .isp-btn-outline {
    width: 100%;
    justify-content: center;
  }

  /* Feature card */
  .isp-hero-card-head { padding: 18px 18px 15px; }
  .isp-feature { grid-template-columns: 20px 34px 1fr; padding: 13px 18px; gap: 11px; }
  .isp-feature-num { font-size: 10.5px; }
  .isp-feature-icon { width: 34px; height: 34px; }
  .isp-feature-name { font-size: 13px; }
  .isp-feature-desc { font-size: 11.5px; }

  /* Includes strip */
  .isp-includes-inner {
    padding: 24px 18px;
    gap: 14px;
    flex-direction: column;
    align-items: flex-start;
  }
  .isp-tags li { font-size: 12px; padding: 5px 11px; }

  /* Section heads */
  .isp-section-head {
    margin-bottom: 32px;
    gap: 10px;
  }
  .isp-section-head p { font-size: 14px; }

  /* Process: single column, stacked spine */
  .isp-steps { grid-template-columns: 1fr; border-top: 0; }
  .isp-step,
  .isp-step:not(:first-child) {
    padding: 22px 0 22px 18px;
    border-left: 2px solid #e3e9f1;
    gap: 10px;
  }
  .isp-step::before,
  .isp-step:not(:first-child)::before { top: 0; left: -2px; width: 2px; height: 34px; }
  .isp-step-num { font-size: 30px; }
  .isp-step h3 { font-size: 16.5px; }
  .isp-step p { font-size: 13px; }

  /* Benefits: single column */
  .isp-benefit-grid { grid-template-columns: 1fr; gap: 12px; }
  .isp-benefit { padding: 24px 20px; border-radius: 14px; }
  .isp-benefit-icon { width: 38px; height: 38px; }
  .isp-benefit h3 { font-size: 15.5px; }
  .isp-benefit p { font-size: 13.5px; }

  /* FAQ */
  .isp-faq-layout { grid-template-columns: 1fr; gap: 28px; }
  .isp-faq-sticky { position: static; gap: 12px; }
  .isp-faq-item summary { font-size: 14.5px; padding: 16px 16px; gap: 12px; }
  .isp-faq-answer { padding: 0 16px 16px; font-size: 13.5px; }

  /* CTA */
  .isp-cta-section { padding: 48px 18px 56px; }
  .isp-cta-panel {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 32px 24px;
    border-radius: 20px;
  }
  .isp-cta-panel h2 { font-size: 26px; }
  .isp-cta-btn { width: 100%; justify-content: space-between; }

  /* Hide floating whatsapp pill (matches services page) */
  .isp-page .pro-whatsapp-pill { display: none; }
}


/* Contact form fields (con-*) — responsive */
@media (max-width: 809px) {
  .con-field-row { grid-template-columns: 1fr; gap: 18px; }
  .con-field input,
  .con-field textarea,
  .con-field select { font-size: 16px; } /* 16px avoids iOS zoom-on-focus */
}

/* Careers, contact, blog (pg-*, blg-*) — responsive */
@media (max-width: 1024px) {
  .pg-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 56px; }
  .pg-direct { position: static; }
  .blg-topics { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .blg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-post-layout { grid-template-columns: minmax(0, 1fr); gap: 48px; width: 100%; max-width: 100%; min-width: 0; }
  .pg-post-body { width: 100%; max-width: 100%; min-width: 0; }
  .pg-post-aside { position: static; width: 100%; max-width: 100%; min-width: 0; }
}

@media (max-width: 809px) {
  .pg-role { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 26px 0; }
  .pg-role-apply { width: 100%; }
  .pg-form-card { padding: 28px 20px; border-radius: 22px; }
  .pg-submit { width: 100%; }
  .blg-body { padding: 56px 0 64px; }
  .blg-latest { margin: 44px 0 28px; }
  .blg-grid { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  .blg-news-row { flex-direction: column; }
  .blg-news-row .svx-btn { width: 100%; }
  .pg-post-layout { padding-top: 36px; padding-bottom: 56px; grid-template-columns: minmax(0, 1fr); width: 100%; max-width: 100%; min-width: 0; }
  .pg-post-body { font-size: 16px; width: 100%; max-width: 100%; min-width: 0; }
}

/* Local SEO landing (pg-local) — responsive */
@media (max-width: 809px) {
  .pg-proof { grid-template-columns: 1fr; }
  .pg-proof li { padding: 20px 0; }
  .pg-service { padding: 26px 0; }
  .pg-local-cta { gap: 14px; }
  .pg-local-cta .svx-btn { width: 100%; }
  .pg-local-call { min-height: 44px; }
}

/* Locations hub (pg-locations) — responsive */
@media (max-width: 809px) {
  .loc-groups { gap: 40px; }
  .loc-links a { font-size: 16px; padding: 16px 0; }
  .loc-links a:hover { padding-left: 0; }
  .loc-link-arrow { width: 32px; height: 32px; }
}

/* Responsive tables on mobile only */
@media (max-width: 809px) {
  .pro-table-wrap, .sdx-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 20px 0 !important;
  }
  .pro-table, .sdx-table, table {
    min-width: 500px;
    width: 100%;
  }
  .pro-table th, .sdx-table th, table th,
  .pro-table td, .sdx-table td, table td {
    padding: 11px 14px;
    font-size: 13.5px;
  }
}
