/* Keep the final responsive rules after the layered desktop compositions. */
@media (max-width: 760px) {
  .tw-site { --orbit-gutter: clamp(18px, 5vw, 22px); }
  .tw-site .tw-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    width: 100%;
  }
  .tw-hero-grid > *, .tw-site main section > *, .tw-footer-top > * {
    min-width: 0;
  }
  .tw-site .tw-hero-copy { width: 100%; }
  .tw-site .tw-hero h1 {
    width: 100%; max-width: none;
    font-size: clamp(23px, 6.2vw, 29px);
    line-height: 1.2; letter-spacing: -.035em;
    overflow-wrap: break-word;
  }
  .tw-site .tw-hero .tw-display {
    width: 100%; max-width: none;
    font-size: clamp(42px, 11.5vw, 57px);
    line-height: 1.06; letter-spacing: -.055em;
    overflow-wrap: break-word;
  }
  .tw-site .tw-hero-ctas { align-items: stretch; gap: 20px; }
  .tw-site .tw-hero-ctas > a {
    max-width: 100%; white-space: normal; line-height: 1.5;
  }
  .tw-site .tw-hero-ctas svg { flex-shrink: 0; }
  .tw-site .af-hero.af-orbiting {
    width: 100%; height: auto; min-height: 0; margin: 0;
    padding-top: 25px;
  }
  .tw-site .af-orbiting .af-portrait-scene {
    position: relative; inset: auto; width: 100%; aspect-ratio: 4 / 5;
    transform: none; animation: none;
  }
  .tw-site .af-orbiting .af-portrait-figure {
    position: absolute; inset: 0; width: 100%; height: 100%;
    translate: none; transform: none; animation: none;
  }
  .tw-site .af-face { width: 100%; height: 100%; object-fit: contain; }
  .tw-site .af-orbiting .af-caption {
    top: 0; left: 0; right: 0; align-items: center; text-align: center;
  }
  .tw-site .af-caption span { font-size: 7px; line-height: 1.6; }
  .tw-site .af-orbiting .af-scroll {
    position: relative; inset: auto; width: 100%;
    justify-content: center; gap: 14px; padding: 8px 0 20px;
    font-size: 9px; line-height: 1.9; letter-spacing: .06em;
  }
  .af-scroll .cm-mouse { flex: 0 0 23px; }
  .tw-site .tw-eyebrow { white-space: normal; overflow-wrap: break-word; }
  .tw-site .tw-subpage-hero h1, .tw-site .pk-hero h1 {
    font-size: clamp(38px, 10.5vw, 50px); overflow-wrap: break-word;
  }
  .tw-site .v1-form-fields { grid-template-columns: minmax(0, 1fr); }
  .v1-form-fields > label, .v1-audience label > span { min-width: 0; }
  .tw-site .v1-form-fields input, .tw-site .v1-form-fields select,
  .tw-site .tw-intake textarea { font-size: 16px; max-width: 100%; }
  .tw-site .tw-footer-bottom { flex-wrap: wrap; gap: 16px; }
  .tw-site .pk-downloads { flex-wrap: wrap; }
  .tw-site .tw-top-form summary { flex-wrap: wrap; gap: 12px; }
}

/* Keep the approved three-line slogan balanced beside the portrait. */
.tw-site .tw-hero .tw-defense-display {
  font-size: clamp(40px, 4.25vw, 102px);
  line-height: 1.04;
  letter-spacing: -.055em;
}
@media (max-width: 760px) {
  .tw-site .tw-hero .tw-defense-display {
    font-size: clamp(32px, 8.7vw, 54px);
    line-height: 1.08;
  }
}
