/* ===================================================================
   RESPONSIVE
   =================================================================== */

/* ---- large desktop / 4K polish ---- */
@media (min-width: 1800px){
  :root{ --container-max: 1560px; }
}

/* ---- 1280 and below: tighten editorial grids ---- */
@media (max-width: 1280px){
  .footer-top{ grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-col.hidden-lg{ display:none; }
}

/* ---- 1024: tablet landscape ---- */
@media (max-width: 1024px){
  .nav-links, .nav-cta{ display:none; }
  .nav-toggle{ display:flex; }
  .editorial, .editorial.reverse{ grid-template-columns: 1fr; }
  .editorial-media{ order:-1; }
  .editorial.reverse .editorial-media{ order:-1; }
  .process-list{ grid-template-columns: repeat(2,1fr); row-gap: var(--space-lg); }
  .grid--three{ grid-template-columns: 1fr 1fr; }
  .process-list::before{ display:none; }
  .portfolio-grid{ grid-template-columns: repeat(2,1fr); }
  .value-grid{ grid-template-columns: 1fr; }
  .form-grid{ grid-template-columns: 1fr; }
  .contact-layout{ grid-template-columns: 1fr; }
  .footer-top{ grid-template-columns: 1fr 1fr; row-gap: var(--space-lg); }
  .service-detail, .service-detail.reverse{ grid-template-columns: 1fr; }
  .service-detail-media, .service-detail.reverse .service-detail-media{ order:-1; }
  .industry-detail{ grid-template-columns: 1fr; }
  .industry-detail-media{ order:-1; }
  .kv-grid{ grid-template-columns: repeat(3,1fr); gap: var(--space-md); }
}

/* ---- 768: tablet portrait ---- */
@media (max-width: 768px){
  .section{ padding-block: var(--space-xl); }
  .section-head{ flex-direction:column; align-items:flex-start; gap: var(--space-sm); }
  .section-head p{ margin-left:0; }
  .service-row{ grid-template-columns: 50px 1fr auto; padding-block: 1.3rem; }
  .portfolio-grid{ grid-template-columns: 1fr 1fr; gap: var(--space-sm); }
  .footer-top{ grid-template-columns: 1fr; gap: var(--space-lg); padding-block: var(--space-xl) var(--space-lg); }
  .footer-bottom{ grid-template-columns: 1fr; justify-items:center; text-align:center; }
  .footer-bottom > span:first-child{ grid-column: 1; }
  .footer-social{ grid-column: 1; justify-self:center; }
  .cursor, .cursor-label{ display:none !important; }
  .kv-grid{ grid-template-columns: 1fr; gap: var(--space-md); }
  .hero-foot{ flex-direction:column; align-items:flex-start; }
}

/* ---- 480 and below: phones ---- */
@media (max-width: 480px){
  :root{ --space-2xl: 4rem; --space-xl: 2.75rem; }
  .hero{ padding-top: 6rem; }
  .hero-headline{ font-size: clamp(2.2rem, 11vw, 3rem); }
  .portfolio-grid{ grid-template-columns: 1fr; }
  .industry-card{ flex-basis: 78vw; }
  .process-list{ grid-template-columns: 1fr; }
  .grid--three{ grid-template-columns: 1fr; }
  .value-cell{ padding: var(--space-md); }
  .service-name{ font-size: 1.3rem; }
  .brand-word{ font-size: 0.92rem; }
  .btn{ padding: 0.85rem 1.3rem; font-size: 0.88rem; }
}

/* ---- 360: smallest supported ---- */
@media (max-width: 360px){
  :root{ --container-pad: 1rem; }
  .display-1{ font-size: 2.3rem; }
}

/* ---- touch devices: disable hover-only affordances ---- */
@media (hover: none){
  .cursor, .cursor-label, .service-preview{ display:none !important; }
  .service-row:hover{ padding-left:0; }
}
