@media (max-width: 1199px) {
  .primary-nav {
    gap: 20px;
    min-height: 78px;
  }

  .brand-link img {
    height: auto;
    width: 184px;
  }

  .primary-menu {
    gap: 18px;
  }

  .main-links {
    gap: 4px;
    justify-content: flex-end;
  }

  .nav-link {
    font-size: 0.92rem;
    padding: 0.48rem 0.62rem !important;
  }

  .header-actions .btn {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  .header-actions .btn-link-soft {
    min-width: 44px;
    padding-left: 0;
    padding-right: 0;
  }

  .header-actions .btn-link-soft span {
    display: none;
  }

  h1 {
    font-size: 3.2rem;
  }

  .plans-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .feature-grid,
  .steps-grid,
  .differentiator-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .conversion-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .primary-nav {
    flex-wrap: wrap;
    gap: 12px;
    min-height: 72px;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .primary-menu {
    background: #ffffff;
    border: 1px solid rgba(15, 61, 70, 0.1);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    display: none;
    flex-basis: 100%;
    flex-direction: column;
    margin-top: 14px;
    order: 3;
    padding: 18px;
    width: 100%;
  }

  .header-actions .btn-link-soft span {
    display: inline;
  }

  .primary-menu.is-open {
    display: flex;
  }

  .main-links,
  .header-actions {
    align-items: stretch;
    display: grid;
    width: 100%;
  }

  .main-links {
    gap: 4px;
  }

  .main-links .nav-link {
    justify-content: flex-start;
    padding: 0.78rem 0.9rem !important;
  }

  .navbar-collapse {
    background: #ffffff;
    border: 1px solid rgba(15, 61, 70, 0.1);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    margin-top: 14px;
    padding: 18px;
  }

  .header-actions {
    align-items: stretch;
    display: grid;
  }

  .hero-grid,
  .hero-home-content,
  .split-layout,
  .profile-hero-grid,
  .profile-layout,
  .directory-layout,
  .contact-layout,
  .two-paths,
  .location-panel,
  .free-registration-strip,
  .journey-grid {
    grid-template-columns: 1fr;
  }

  .desktop-filters {
    display: none;
  }

  .profile-sidebar {
    position: static;
  }

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

  .search-shell {
    border-radius: var(--radius-md);
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .search-shell select {
    border-left: 0;
    border-top: 1px solid var(--color-line);
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  h1 {
    font-size: 2.45rem;
  }

  h2 {
    font-size: 1.9rem;
  }

  .section {
    padding: 64px 0;
  }

  .hero,
  .page-hero {
    padding: 58px 0;
  }

  .hero-home {
    min-height: auto;
    padding: 72px 0 92px;
  }

  .hero-office-card {
    max-width: 420px;
  }

  .brand-link img {
    width: 168px;
  }

  .hero-copy p,
  .page-hero p {
    font-size: 1rem;
  }

  .hero-actions,
  .card-actions,
  .cta-actions,
  .footer-bottom,
  .results-toolbar,
  .toolbar-actions,
  .sort-control {
    align-items: stretch;
    flex-direction: column;
  }

  .sort-control .form-select {
    min-width: 100%;
  }

  .audience-grid,
  .professional-grid,
  .specialty-grid,
  .plans-grid,
  .plans-grid.compact,
  .branches-grid,
  .office-info-grid,
  .differentiator-grid {
    grid-template-columns: 1fr;
  }

  .professional-card,
  .branch-card,
  .service-card {
    grid-template-columns: 1fr;
  }

  .professional-card {
    padding: 22px;
  }

  .professional-card-main {
    align-items: flex-start;
    gap: 18px;
  }

  .professional-card .professional-photo {
    aspect-ratio: 1 / 1;
    height: 104px;
    width: 104px;
  }

  .professional-card-media {
    flex-basis: 104px;
  }

  .professional-card-side {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
  }

  .price-hint,
  .availability-hint {
    text-align: left;
  }

  .card-actions {
    grid-template-columns: 1fr;
  }

  .profile-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-heading h1 {
    font-size: 2.35rem;
  }

  .profile-photo {
    height: 148px;
    width: 148px;
  }

  .how-hero-visual img,
  .office-hero-image {
    border-radius: var(--radius-md);
  }

  .conversion-panel {
    border-radius: var(--radius-md);
    padding: 28px;
  }

  .service-meta {
    justify-items: start;
  }

  .cta-inner {
    align-items: stretch;
    flex-direction: column;
  }

  .mobile-sticky-cta {
    background: rgba(255, 255, 255, 0.94);
    border-top: 1px solid var(--color-line);
    bottom: 0;
    display: block;
    left: 0;
    padding: 12px 16px;
    position: fixed;
    right: 0;
    z-index: 900;
  }

  .mobile-sticky-cta .btn {
    width: 100%;
  }

  body.has-mobile-sticky-cta {
    padding-bottom: 72px;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: 2.05rem;
  }

  .audience-card,
  .specialty-card,
  .feature-card,
  .step-card,
  .plan-card,
  .branch-card,
  .pricing-note,
  .detail-panel,
  .contact-card,
  .contact-form,
  .profile-summary-card,
  .pro-panel,
  .booking-card {
    padding: 20px;
  }

  .trust-row span {
    width: 100%;
  }

  .professional-card-main {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }

  .professional-card-side {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }

  .price-hint,
  .availability-hint {
    text-align: center;
  }
}
