/* =============================================================
   responsive.css - breakpoint coverage 320 -> 1920
   Mobile-first refinements layered on top of the fluid base.
   ============================================================= */

@media (min-width: 1440px) {
  :root { --section: clamp(7rem, 12vw, 12rem); }
}

/* <= 1180px : tablet landscape */
@media (max-width: 1180px) {
  .hero__meta .lead { grid-column: span 8; }
  .hero__meta .stat-row { grid-column: 1 / -1; justify-content: flex-start; margin-top: 1.5rem; }
  .sec-head__title { grid-column: span 12; }
  .sec-head__aside { grid-column: 1 / -1; margin-top: 1rem; }
  .offer__big { grid-column: span 12; }
  .offer__txt { grid-column: 1 / -1; }
  .about-grid .visual { grid-column: span 12; position: relative; top: 0; max-width: 460px; }
  .about-grid .body { grid-column: 1 / -1; }
  .contact-grid .info, .contact-grid .formwrap { grid-column: 1 / -1; }
  .footer__brand { grid-column: span 12; }
  .footer__col { grid-column: span 4; }
}

/* <= 900px : tablet portrait */
@media (max-width: 900px) {
  .nav { display: none; }
  .burger { display: block; }
  .proj__row { grid-template-columns: 3rem 1fr auto; }
  .proj__tags { display: none; }
  .work { grid-column: span 6; }
  .work.is-offset { margin-top: 0; }
  .stats { grid-template-columns: repeat(2,1fr); row-gap: 2.75rem; }
  .pillar { grid-template-columns: 1fr; gap: 0.85rem; }
}

/* <= 760px : large phone */
@media (max-width: 760px) {
  :root { --section: clamp(4rem, 14vw, 6rem); }
  .hero__layer { padding-block: clamp(6rem, 13vh, 8rem) clamp(2rem, 5vh, 3.5rem); }
  .hero__title { max-width: none; }
  .hero__meta { grid-template-columns: 1fr; }
  .hero__meta .stat-row { gap: 2rem; }
  .work-grid { grid-template-columns: 1fr; }
  .work, .work.is-wide { grid-column: 1 / -1; }
  .work.is-wide .work__media { aspect-ratio: 4/3; }
  .service { grid-template-columns: auto 1fr; }
  .service__desc { display: none; }
  .proj__year { display: none; }
  .footer__col { grid-column: span 6; }
  .menu__meta { flex-direction: column; gap: 0.6rem; }
}

/* <= 520px : phone */
@media (max-width: 520px) {
  :root { --gutter: 1.25rem; }
  .hero__title { font-size: clamp(3rem, 17vw, 5.5rem); }
  .hero__top { flex-direction: column; }
  .sec-head { margin-bottom: 2.5rem; }
  .service__name { font-size: clamp(1.5rem, 8vw, 2.3rem); }
  .proj__name { font-size: clamp(1.6rem, 9vw, 2.6rem); }
  .footer__col { grid-column: span 6; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 0.6rem; }
  .btn { width: 100%; justify-content: center; }
  .cta__mail { font-size: 0.7rem; }
}

/* <= 380px : small phone */
@media (max-width: 380px) {
  .hero__title { font-size: clamp(2.6rem, 16vw, 4rem); }
  .metric .num { font-size: 1.8rem; }
  .menu a { font-size: 2rem; }
}

/* Landscape short screens */
@media (max-height: 560px) and (orientation: landscape) {
  .hero { min-height: 620px; }
}

/* Touch: kill custom cursor + hover-only reveals */
@media (hover: none) {
  .service__reveal, .proj__media { display: none !important; }
}

/* Print */
@media print {
  .header, .loader, .cursor, .cursor-follow, .to-top, .hero__bg, .bp-grid, .sq-cursor, .monolith-stage { display: none !important; }
  body { background: #fff; color: #000; }
}
