/* ============================================
   Responsive — NV-style mobile
   ============================================ */

@media (min-width: 640px) {
  .nav__cta { display: inline-flex; }
}

@media (max-width: 1024px) {
  .statement__grid,
  .about__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .statement__content,
  .about__content {
    text-align: center;
  }

  .statement__desc,
  .about__desc,
  .section-head__title {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .about__badge {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .section-y {
    padding: 56px 0;
  }

  .section-container {
    padding: 0 18px;
  }

  .section-head {
    margin-bottom: 36px;
  }

  .nav__links { display: none; }

  .nav__menu-btn { display: flex; }

  .hero {
    min-height: auto;
  }

  .hero__inner {
    padding-top: 24px;
    padding-bottom: 32px;
  }

  .hero__title {
    font-size: clamp(34px, 9vw, 48px);
  }

  .hero__title-sub {
    font-size: clamp(22px, 5.5vw, 32px);
    margin-top: 12px;
  }

  .hero__desc {
    margin-top: 20px;
  }

  .hero__actions {
    margin-top: 24px;
  }

  .hero__status {
    margin-top: 24px;
  }

  .hero__phones {
    margin-top: 28px;
  }

  .hero__actions,
  .cta__actions {
    flex-direction: column;
    align-items: center;
  }

  .phone-showcase--hero .phone-showcase__device {
    width: clamp(260px, 78vw, 340px);
  }

  .phone-showcase--statement .phone-showcase__device {
    width: clamp(240px, 72vw, 320px);
  }

  .statement__grid {
    gap: 28px;
  }

  .statement__title {
    margin-top: 14px;
  }

  .statement__desc {
    margin-top: 18px;
  }

  .about__grid {
    gap: 28px;
  }

  .about__title {
    margin-top: 14px;
  }

  .about__desc {
    margin-top: 18px;
  }

  .about__badge {
    margin-top: 22px;
  }

  .about__photos {
    max-width: 280px;
  }

  .work__container {
    z-index: 2;
  }

  .project-row__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .project-row__summary {
    font-size: 15px;
    max-width: none;
  }

  .project-row__more {
    align-self: flex-start;
    width: 100%;
    max-width: 140px;
  }

  .project-modal__inner {
    padding: 72px 18px 32px;
  }

  .btn-primary,
  .btn-ghost {
    width: 100%;
    max-width: 300px;
  }

  .building__grid {
    grid-template-columns: 1fr;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer {
    padding: 44px 0 32px;
  }

  .section-head__title {
    font-size: clamp(30px, 8vw, 44px);
  }

  .statement__title,
  .about__title {
    font-size: clamp(30px, 8vw, 44px);
  }

  .cta__title {
    font-size: clamp(36px, 10vw, 56px);
  }

  .cta__desc {
    margin-top: 20px;
  }

  .cta__actions {
    margin-top: 28px;
  }
}

@media (max-width: 430px) {
  :root { --nav-height: 64px; }

  .section-y {
    padding: 52px 0;
  }

  .nav__logo-mark {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .nav__logo-text { font-size: 16px; }

  .hero__inner {
    padding-top: 20px;
    padding-bottom: 28px;
  }

  .hero__phones {
    margin-top: 24px;
  }

  .phone-showcase--hero .phone-showcase__device {
    width: clamp(270px, 82vw, 360px);
  }

  .phone-showcase--statement .phone-showcase__device {
    width: clamp(250px, 76vw, 340px);
  }

  .hero__desc,
  .statement__desc,
  .about__desc,
  .section-head__desc,
  .cta__desc {
    font-size: 15px;
  }

  .project-row__title {
    font-size: 20px;
    word-break: break-word;
  }

  .project-row__more {
    max-width: none;
  }

  .scroll-top {
    bottom: 16px;
    right: 16px;
  }
}

@media (max-width: 320px) {
  .hero__title { font-size: 32px; }
  .hero__title-sub { font-size: 20px; }
  .mobile-menu__link { font-size: 24px; }

  .phone-showcase--hero .phone-showcase__device {
    width: 88vw;
  }

  .phone-showcase--statement .phone-showcase__device {
    width: 84vw;
  }
}

@media (min-width: 1920px) {
  :root { --container: 1320px; }
}

@media (hover: none) and (pointer: coarse) {
  .project-row:hover { transform: none; }
}
