
/* Tablet / small desktop */
@media (max-width: 960px){
  .interface-grid{grid-template-columns:repeat(2,1fr);}
  .design-grid{grid-template-columns:1fr;}
}

/* Tablet */
@media (max-width: 860px){
  .hero-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
  .profile-photo{max-width:280px; margin:0 auto;}
  .pricing-grid{grid-template-columns:1fr;}
}

/* Nav collapses */
@media (max-width: 720px){
  nav ul{
    position:fixed; top:60px; left:0; right:0; flex-direction:column; gap:0;
    background:var(--bg-soft); border-bottom:1px solid var(--card-border);
    max-height:0; overflow:hidden; transition:max-height .25s ease;
  }
  nav ul.open{max-height:320px;}
  nav ul li{width:100%;}
  nav ul li a{display:block; padding:16px 32px; border-bottom:1px solid rgba(255,255,255,0.05);}
  .nav-toggle{display:block;}
}

/* Small tablet */
@media (max-width: 640px){
  .two-col{grid-template-columns:1fr;}
  .interface-grid{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
}

/* New components responsive */
@media (max-width: 860px){
  .availability-grid{grid-template-columns:1fr;}
  .mini-two-col{grid-template-columns:1fr;}
  .check-list{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .avail-cta{flex-direction:column; align-items:flex-start;}
  .hero-stack{gap:10px;}
}

/* Mobile */
@media (max-width: 500px){
  section{padding:64px 0;}
  .wrap{padding:0 20px;}
  .contact-box{grid-template-columns:1fr; padding:32px 24px;}
  .triad{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;}
  .cta-row, .btn-row{flex-direction:column; align-items:stretch;}
  .cta-row .btn, .btn-row .btn{justify-content:center;}
}
