/* Ajustes exclusivos para tabletas y teléfonos. La versión de escritorio no cambia. */
@media (max-width: 820px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  section,
  footer,
  .shell,
  .shell-wide,
  .hero-copy,
  .manifesto-grid > *,
  .section-head > *,
  .contact-grid > *,
  .confidence > *,
  .objective-list article > *,
  .capability-grid article,
  .project-grid article,
  .process-track article,
  .footer-grid > * {
    min-width: 0;
    max-width: 100%;
  }

  .hero-content {
    min-height: auto;
    padding-top: 72px;
    padding-bottom: 64px;
  }

  .hero h1 {
    max-width: 100%;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero h1 br {
    display: initial;
  }

  .hero-intro {
    max-width: 100%;
  }

  .metrics-bar {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-stat,
  .metrics-outcome {
    min-width: 0;
  }

  .section-head,
  .manifesto-grid,
  .contact-grid {
    width: 100%;
  }

  .section-head h2,
  .manifesto h2,
  .confidence h2,
  .contact h2 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .capability-grid,
  .project-grid,
  .process-track {
    width: 100%;
    min-width: 0;
  }

  .capability-grid article {
    width: auto;
    min-width: 0;
  }

  .capability-grid h3,
  .project-grid h3,
  .objective-list h3,
  .process-track h3 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 560px) {
  .shell,
  .shell-wide {
    width: calc(100% - 32px);
  }

  .header {
    min-height: 82px;
    gap: 14px;
  }

  .logo-card {
    width: 100px;
    height: 74px;
    padding: 7px 11px;
  }

  .mobile-menu summary {
    min-height: 44px;
    padding: 11px 14px;
  }

  .mobile-menu nav {
    width: min(230px, calc(100vw - 32px));
  }

  .hero-content {
    padding-top: 58px;
    padding-bottom: 52px;
  }

  .blueprint-measure {
    display: none;
  }

  .hero h1 {
    font-size: clamp(43px, 12.7vw, 52px);
    line-height: 0.93;
    letter-spacing: -0.028em;
  }

  .hero h1 br {
    display: initial;
  }

  .hero-intro {
    margin-top: 24px;
    font-size: 15px;
    line-height: 1.6;
  }

  .hero-actions {
    gap: 12px;
    margin-top: 26px;
  }

  .yellow-button,
  .ghost-button {
    min-height: 54px;
    padding-inline: 20px;
    font-size: 15px;
  }

  .ghost-button span {
    margin-left: auto;
  }

  .metrics-bar {
    gap: 20px 10px;
    padding: 24px 14px;
  }

  .hero-stat strong {
    font-size: 44px;
  }

  .hero-stat span {
    font-size: 14px;
  }

  .metrics-outcome {
    gap: 14px;
  }

  .metrics-outcome p {
    font-size: 16px;
    line-height: 1.25;
  }

  .section-pad {
    padding-block: 74px;
  }

  .manifesto-grid,
  .section-head,
  .contact-grid {
    gap: 34px;
  }

  .manifesto h2,
  .section-head h2,
  .contact h2 {
    font-size: clamp(34px, 9.2vw, 38px);
    line-height: 0.97;
    letter-spacing: -0.025em;
  }

  .manifesto-copy > p,
  .section-head > p,
  .contact-grid > div:last-child > p {
    font-size: 15px;
    line-height: 1.65;
  }

  .objective-list {
    margin-top: 45px;
  }

  .objective-list article {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 25px 0;
  }

  .objective-id {
    font-size: 25px;
  }

  .objective-list h3 {
    font-size: clamp(27px, 8.2vw, 31px);
    line-height: 1.05;
  }

  .objective-list article > p {
    font-size: 13px;
    line-height: 1.55;
  }

  .capability-grid {
    margin-top: 48px;
  }

  .capability-grid article {
    min-height: 0;
    padding: 30px 22px 32px;
  }

  .capability-symbol {
    margin: 12px 0 42px;
  }

  .capability-grid h3 {
    min-height: 0;
    margin-top: 10px;
    font-size: clamp(26px, 7.6vw, 29px);
  }

  .project-grid {
    gap: 36px;
    margin-top: 48px;
  }

  .project-image {
    height: 300px;
  }

  .project-grid h3 {
    font-size: 28px;
  }

  .process-track {
    gap: 45px;
    margin-top: 58px;
  }

  .process-track h3 {
    font-size: 30px;
  }

  .confidence-photo {
    min-height: 330px;
  }

  .confidence-copy {
    padding: 66px 16px;
  }

  .confidence-copy h2 {
    font-size: clamp(36px, 10.4vw, 42px);
    line-height: 0.98;
  }

  .confidence-copy ul {
    margin-top: 42px;
  }

  .confidence-copy li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 6px;
  }

  .contact-phone {
    max-width: 100%;
    text-align: center;
  }

  .footer-grid {
    gap: 36px;
    padding-bottom: 48px;
  }

  .footer-bottom {
    align-items: flex-start;
    line-height: 1.5;
  }
}

@media (max-width: 370px) {
  .shell,
  .shell-wide {
    width: calc(100% - 24px);
  }

  .hero h1 {
    font-size: 41px;
  }

  .manifesto h2,
  .section-head h2,
  .contact h2,
  .confidence-copy h2 {
    font-size: 33px;
  }

  .capability-grid h3 {
    font-size: 26px;
  }

  .yellow-button,
  .ghost-button {
    padding-inline: 16px;
    font-size: 14px;
  }
}

@media (max-width: 340px) {
  .shell,
  .shell-wide {
    width: calc(100% - 20px);
  }

  .eyebrow,
  .section-code {
    letter-spacing: 0.18em;
  }

  .hero h1 {
    font-size: 37px;
  }

  .manifesto h2,
  .section-head h2,
  .contact h2,
  .confidence-copy h2 {
    font-size: 28px;
  }

  .capability-grid h3,
  .objective-list h3,
  .process-track h3 {
    font-size: 23px;
  }
}
