@media (max-width: 1120px) {
  .tvk-header-inner { grid-template-columns: auto auto 1fr; }
  .tvk-menu-toggle { display: block; justify-self: end; grid-column: 3; grid-row: 1; }
  .tvk-header-cta { display: none; }
  .tvk-primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: 10px 20px 22px; border-top: 1px solid #292929; background: var(--tvk-black); }
  .tvk-primary-nav.is-open { display: block; }
  .tvk-nav-list, .tvk-primary-nav ul { display: block; }
  .tvk-primary-nav a { padding: 11px 0; }
  .tvk-primary-nav .sub-menu { position: static; display: block; padding: 0 0 0 18px; border: 0; box-shadow: none; }
  .tvk-lawyer-grid { grid-template-columns: repeat(3, 1fr); }
  .tvk-directory-grid { grid-template-columns: repeat(2, 1fr); }
  .tvk-profile { grid-template-columns: 32% 1fr; }
  .tvk-profile-contact { grid-column: 2; }
}

@media (max-width: 820px) {
  .tvk-container { width: min(calc(100% - 30px), var(--tvk-container)); }
  .tvk-hero, .tvk-hero-inner { min-height: 640px; }
  .tvk-hero { background-position: 66% center; }
  .tvk-hero::after { background: linear-gradient(90deg, rgba(5,6,6,.98), rgba(5,6,6,.78)); }
  .tvk-hero-trust { grid-template-columns: 1fr 1fr; gap: 20px 0; }
  .tvk-hero-trust li:nth-child(3) { padding-left: 0; border-left: 0; }
  .tvk-law-grid, .tvk-article-list, .tvk-document-list { grid-template-columns: 1fr; }
  .tvk-benefits { grid-template-columns: 1fr 1fr; }
  .tvk-lc-form { grid-template-columns: 1fr !important; }
  .tvk-lc-form .tvk-lc-field { grid-column: 1 !important; grid-row: auto !important; }
  .tvk-directory-layout { grid-template-columns: 1fr; }
  .tvk-directory-filter { position: static; }
  .tvk-footer-grid { grid-template-columns: 1fr 1fr; }
  .tvk-final-cta-inner { grid-template-columns: auto 1fr; }
  .tvk-final-cta .tvk-button { grid-column: 2; justify-self: start; }
}

@media (max-width: 620px) {
  :root { --tvk-site-header-height: 76px; --tvk-site-logo-height: 56px; }
  .tvk-header-inner { min-height: var(--tvk-site-header-height); }
  .tvk-brand-logo { width: auto; height: var(--tvk-site-logo-height); }
}

@media (max-width: 590px) {
  body.tvk-site { font-size: 15px; }
  .tvk-header-inner { min-height: var(--tvk-site-header-height); }
  .tvk-brand { min-width: 0; }
  .tvk-brand-logo { width: auto; height: var(--tvk-site-logo-height); }
  .tvk-hero, .tvk-hero-inner { min-height: 620px; }
  .tvk-hero-inner { padding-block: 52px 35px; }
  .tvk-hero-copy p { font-size: 16px; }
  .tvk-hero-trust { margin-top: 40px; }
  .tvk-hero-trust li { padding-inline: 14px; }
  .tvk-page-hero { min-height: 280px; padding-block: 28px 50px; }
  .tvk-page-hero::after { opacity: .5; }
  .tvk-heading-row, .tvk-map-toolbar, .tvk-results-head { display: block; }
  .tvk-heading-row .tvk-text-link { display: inline-block; margin-top: 14px; }
  .tvk-law-card { grid-template-columns: 42px 1fr auto; min-height: 92px; padding: 15px; }
  .tvk-law-card-copy strong { font-size: 16px; }
  .tvk-benefits, .tvk-lawyer-grid, .tvk-directory-grid { grid-template-columns: 1fr; }
  .tvk-lawyer-card { display: grid; grid-template-columns: 112px 1fr; }
  .tvk-lawyer-photo { height: 100%; aspect-ratio: auto; }
  .tvk-lawyer-photo > span { font-size: 44px; }
  .tvk-consultation-shell { padding: 20px 15px; border-radius: var(--tvk-radius-md); }
  .tvk-map-toolbar .tvk-button { width: 100%; margin-top: 14px; }
  .tvk-map { min-height: 330px; }
  .tvk-radius { flex-wrap: wrap; }
  .tvk-profile { grid-template-columns: 1fr; }
  .tvk-profile-photo { max-height: 480px; }
  .tvk-profile-contact { grid-column: 1; }
  .tvk-professional-data { grid-template-columns: 1fr; }
  .tvk-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .tvk-footer-bottom { display: block; }
  .tvk-footer-bottom ul { display: block; }
  .tvk-final-cta-inner { grid-template-columns: 1fr; text-align: center; }
  .tvk-final-cta-icon, .tvk-final-cta .tvk-button { grid-column: 1; justify-self: center; }
  .tvk-pseo-article .lpm-related-materials__grid { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
