/* Mobile-specific presentation tuning */
@media screen and (max-width: 940px) {
  body::before,
  body::after {
    display: none;
  }

  .hero {
    min-height: auto;
    padding: 6.2rem 4% 3rem;
  }

  h1 {
    font-size: 2.05rem;
    line-height: 1.14;
  }

  .subtitle {
    font-size: 1.02rem;
    line-height: 1.62;
  }

  .section {
    padding: 3.6rem 4%;
  }

  .h2 {
    font-size: 1.72rem;
    line-height: 1.2;
  }

  .p {
    font-size: 1rem;
    line-height: 1.62;
    margin-bottom: 2.15rem;
  }

  .card {
    padding: 1.25rem;
  }

  .card h3 {
    font-size: 1.05rem;
  }

  .cta {
    width: 100%;
  }

  .cta .btn {
    width: 100%;
    justify-content: center;
  }

  .callout {
    padding: 1.45rem 1.1rem;
    border-radius: 14px;
  }

  .callout h3 {
    font-size: 1.32rem;
  }

  .module-board {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .module-head,
  .module-row {
    min-width: 760px;
  }

  .module-board::after {
    content: "Swipe to view all columns";
    position: sticky;
    left: 10px;
    bottom: 10px;
    display: inline-block;
    margin: 8px 0 2px;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #1d4ed8;
    background: #e8f0ff;
    border: 1px solid rgba(37,99,235,0.22);
  }

  .phase {
    padding: 1.2rem;
  }

  .footer {
    padding: 2.3rem 4%;
  }
}
