/* Dedicated, cache-safe mobile layer. Desktop presentation remains unchanged. */
@media screen and (max-width: 960px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    position: relative;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  main,
  .site-header,
  .topbar,
  .hero,
  .page-hero,
  .article-hero,
  .section,
  .credibility,
  .statement,
  .practice-section,
  .portrait-section,
  .coordinates,
  .insights-section,
  .contact-band,
  .site-footer {
    min-width: 0;
    max-width: 100%;
  }

  .hero > *,
  .hero-grid > *,
  .page-hero-grid > *,
  .section-head > *,
  .bio-grid > *,
  .spine > *,
  .proof-layout > *,
  .program-flow > *,
  .thesis > *,
  .contact-grid > *,
  .media-feature > *,
  .media-row > *,
  .continuous-heading > *,
  .commitment-grid > *,
  .portrait-section > *,
  .practice-row > *,
  .article-row > *,
  .footer-top > *,
  .footer-nav > *,
  .article-shell > *,
  .proof-item > *,
  .form,
  .field {
    min-width: 0;
  }

  img,
  svg,
  video,
  canvas,
  iframe,
  input,
  select,
  textarea {
    max-width: 100%;
  }

  .topbar .nav-cta,
  .nav-actions .nav-cta {
    display: none;
  }

  .page-hero-grid,
  .section-head,
  .bio-grid,
  .spine,
  .proof-layout,
  .program-flow,
  .thesis,
  .contact-grid,
  .media-feature,
  .continuous-heading,
  .footer-top {
    grid-template-columns: minmax(0, 1fr);
  }

  .article-shell {
    grid-template-columns: minmax(0, 760px);
  }

  .footer-col a,
  .footer-col span,
  .footer-bottom span,
  .article-body,
  .references {
    overflow-wrap: anywhere;
  }
}

@media screen and (max-width: 760px) {
  .topbar {
    gap: 10px;
    padding-right: 5%;
    padding-left: 5%;
  }

  .topbar .wordmark,
  .topbar .brand,
  .menu-button,
  .top-actions,
  .nav-actions,
  .lang-toggle {
    flex-shrink: 0;
  }

  .menu-button {
    margin-right: 0;
  }

  .topbar .top-actions .lang-toggle a,
  .nav-actions .lang-toggle a {
    width: 32px;
    min-width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .hero,
  .portrait-section,
  .territories {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-copy,
  .portrait-copy,
  .practice-content,
  .article-row > div {
    min-width: 0;
    max-width: 100%;
  }

  .overline,
  .hero-buttons,
  .hero-index,
  .hero-actions {
    flex-wrap: wrap;
  }

  .status-dot {
    flex: 0 0 auto;
  }

  .credibility {
    grid-template-columns: minmax(0, 1fr);
  }

  .credibility .marquee {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .practice-row {
    grid-template-columns: 34px minmax(0, 1fr) 24px;
    gap: 10px;
  }

  .practice-meta {
    display: none;
  }

  .article-row {
    grid-template-columns: 34px minmax(0, 1fr) 24px;
    gap: 8px;
  }

  .statement h2,
  .section-intro h2,
  .portrait-copy h2,
  .coordinates h2,
  .insights-heading h2,
  .contact-band h2,
  .page-hero .h1,
  .contact-grid .h1,
  .form-success .h1,
  .article-hero .h1,
  .section .h2,
  .article-body h2 {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .page-hero .h1,
  .contact-grid .h1,
  .form-success .h1,
  .article-hero .h1 {
    font-size: clamp(2.7rem, 11.5vw, 4.1rem);
  }

  .section .h2,
  .section-head .h2,
  .spine-intro .h2,
  .proof-side .h2,
  .bio-grid > .h2 {
    font-size: clamp(2.15rem, 9vw, 3.15rem);
  }

  .proof-item,
  .media-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .proof-item {
    gap: 8px;
  }

  .media-row > div:nth-child(3),
  .media-row .go {
    grid-column: 1;
  }

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

  .field input,
  .field textarea,
  .field select,
  .btn,
  .button {
    min-width: 0;
    max-width: 100%;
  }

  .btn,
  .button {
    white-space: normal;
  }
}

@media screen and (max-width: 480px) {
  .topbar {
    gap: 7px;
  }

  .topbar .wordmark {
    font-size: 0.76rem;
    letter-spacing: 0.1em;
  }

  .menu-button,
  .menu-toggle {
    padding-right: 5px;
    padding-left: 5px;
  }

  .top-actions {
    gap: 4px;
  }

  .nav {
    grid-template-columns: minmax(0, max-content) minmax(0, 1fr) max-content;
    gap: 5px;
  }

  .practice-row {
    grid-template-columns: 29px minmax(0, 1fr) 20px;
    gap: 8px;
  }

  .article-row {
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    gap: 7px;
  }

  .practice-content h3 {
    font-size: clamp(1.16rem, 5.5vw, 1.6rem);
  }

  .footer-nav,
  .commitment-grid,
  .audience-grid,
  .roles,
  .metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-band h2 {
    font-size: clamp(2.55rem, 11vw, 3.6rem);
  }

  .contact-grid .h1,
  .form-success .h1,
  .article-hero .h1 {
    font-size: clamp(2.55rem, 10.9vw, 3.5rem);
  }
}

@media screen and (max-width: 360px) {
  :root {
    --pad: 17px;
  }

  .topbar {
    padding-right: 4%;
    padding-left: 4%;
  }

  .brand,
  .topbar .wordmark {
    font-size: 0.71rem;
    letter-spacing: 0.085em;
  }

  .lang-toggle {
    gap: 1px;
  }

  .topbar .top-actions .lang-toggle a,
  .nav-actions .lang-toggle a {
    width: 29px;
    min-width: 29px;
    height: 29px;
    flex-basis: 29px;
  }

  .hero h1.headline-refined {
    font-size: clamp(31px, 9.8vw, 36px);
  }

  .page-hero .h1,
  .contact-grid .h1,
  .form-success .h1,
  .article-hero .h1 {
    font-size: clamp(2.35rem, 10.8vw, 3.15rem);
  }
}
