/* ==========================================================================
   RESPONSIVE — Tablet & Mobile Refinements
   Desktop-first source in style.css; this file narrows down.
   ========================================================================== */

/* ----- Large tablets / small desktops ----- */
@media (max-width: 1199.98px) {
  :root { --section-y: 110px; }
  .hero__float-card--1 { right: 3%; }
  .hero__float-card--2 { right: 4%; }
}

/* ----- Tablets ----- */
@media (max-width: 991.98px) {
  :root { --section-y: 90px; }

  .luxury-menu {
    background: var(--c-dark);
    margin-top: 18px;
    padding: 20px;
    border-radius: var(--radius-md);
    gap: 2px;
  }
  .luxury-menu .nav-link { padding: 12px 16px !important; }
  .luxury-menu .nav-item.ms-lg-3 { margin-top: 10px; }
  .luxury-btn--nav { display: inline-flex; width: 100%; justify-content: center; }

  .hero { min-height: 92vh; text-align: left; }
  .hero__content { padding-top: 130px; }
  .hero__float-card { display: none; }

  .hero__stats { flex-wrap: wrap; gap: 22px 30px; }
  .hero-stat__divider { display: none; }

  .about__media { padding: 20px 20px 60px 0; }
  .about__badge { padding: 16px 20px; }

  .process-step { text-align: center; }
  .process-step__marker { margin-left: auto; margin-right: auto; }

  .contact-form { padding: 32px; }

  .footer-bottom { justify-content: center; text-align: center; }
}

/* ----- Mobile ----- */
@media (max-width: 767.98px) {
  :root { --section-y: 72px; --radius-lg: 20px; }

  body { font-size: 15px; }

  .hero { min-height: 100vh; }
  .hero__content { padding-top: 110px; }
  .hero__title { font-size: clamp(2.1rem, 9vw, 2.8rem); }
  .hero__subtitle { font-size: 1rem; }
  .hero__cta { flex-direction: column; align-items: stretch; }
  .hero__cta .luxury-btn { justify-content: center; }
  .hero__scroll { display: none; }

  .section-title { font-size: 1.7rem; }

  .about__media { padding: 10px 0 70px 0; }
  .about__media-main { height: 320px; }
  .about__media-accent { width: 56%; height: 160px; }
  .about__badge { position: static; margin-top: -40px; margin-left: 16px; display: inline-flex; flex-direction: row; align-items: center; gap: 14px; }

  .service-card, .why-card { padding: 30px 24px; }

  .project-card__top { flex-direction: column; }

  .testimonial-card { padding: 30px 22px; }
  .testimonial-card p { font-size: 1.1rem; }

  .contact-form { padding: 26px; }

  .footer-newsletter { max-width: 100%; }

  .back-to-top { right: 16px; bottom: 16px; width: 42px; height: 42px; }
}

/* ----- Small phones ----- */
@media (max-width: 420px) {
  .hero__stats { gap: 18px 24px; }
  .hero-stat__value, .hero-stat__suffix { font-size: 1.6rem; }
  .luxury-brand { font-size: 1.2rem; }
}
