/* mobile.css — responsive overrides for all screen sizes */

/* ── GLOBAL ── */
@media (max-width: 768px) {
  body { cursor: auto !important; }
  .cursor, .cursor-ring { display: none !important; }
  .page-section { padding: 3.5rem 1.25rem; }
  .btn-primary, .btn-outline, .btn-inv { width: 100%; justify-content: center; padding: 1rem 1.5rem; font-size: 0.85rem; }
  .marquee-item { font-size: 0.75rem; padding: 0 1.2rem; }
}

/* ── HEADER ── */
@media (max-width: 768px) {
  .header-inner { padding: 0 1.25rem; height: 60px; }
  .header-nav, .header-cta { display: none !important; }
  .hamburger { display: flex !important; }
  .logo-text { font-size: 1.1rem; }
  .logo-sub { display: none; }
  body { padding-top: 60px !important; }
  .mobile-menu { top: 60px; padding: 2rem 1.25rem; }
  .mobile-nav-item { font-size: 2rem; padding: 0.9rem 0; }
  .theme-toggle { padding: 0.2rem 0.4rem; gap: 0.3rem; }
  .toggle-icon { font-size: 0.65rem; width: 16px; height: 16px; }
  .toggle-track { width: 26px; height: 15px; }
  .toggle-thumb { width: 9px; height: 9px; top: 3px; left: 3px; }
  .toggle-track.dark .toggle-thumb { transform: translateX(11px); }
}

/* ── HOME ── */
@media (max-width: 768px) {
  .hero { padding: 3rem 1.25rem 3rem !important; }
  .hero-bg-text { font-size: 28vw !important; }
  .hero-headline { font-size: clamp(44px, 13vw, 72px) !important; margin-bottom: 2rem; }
  .hero-headline .italic-line { font-size: 0.42em; }
  .hero-bottom { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .hero-desc { max-width: 100%; }
  .hero-actions { width: 100%; align-items: flex-start; }
  .services-grid { grid-template-columns: 1fr !important; }
  .service-card { border-right: none !important; padding: 2rem 1.25rem; }
  .about-strip { grid-template-columns: 1fr !important; }
  .about-left { padding: 3rem 1.25rem !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; }
  .about-right { padding: 3rem 1.25rem !important; }
  .about-big { font-size: clamp(36px, 10vw, 52px) !important; }
  .stats-row { grid-template-columns: 1fr 1fr !important; }
  .stat-num { font-size: 2.5rem; }
  .process-item { grid-template-columns: 44px 1fr auto !important; gap: 0.75rem; }
  .process-name { font-size: 1.4rem !important; }
  .insta-cta { flex-direction: column !important; padding: 3rem 1.25rem !important; gap: 2rem; }
  .insta-headline { font-size: clamp(44px, 13vw, 72px) !important; }
  .insta-right-col { max-width: 100% !important; }
}

/* ── SERVICES PAGE ── */
@media (max-width: 768px) {
  .page-hero { padding: 3.5rem 1.25rem 2.5rem !important; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .page-hero-title { font-size: clamp(48px, 14vw, 80px) !important; }
  .page-hero-right { max-width: 100% !important; }
  .services-full { grid-template-columns: 1fr !important; }
  .service-full-card { border-right: none !important; padding: 2rem 1.25rem; }
  .why-grid { grid-template-columns: 1fr !important; }
  .why-card { border-right: none !important; }
  .cta-band { flex-direction: column !important; padding: 3rem 1.25rem !important; }
  .cta-band-title { font-size: clamp(36px, 11vw, 56px) !important; }
}

/* ── TEAM PAGE ── */
@media (max-width: 768px) {
  .team-grid { grid-template-columns: 1fr 1fr !important; }
  .team-card { padding: 1.75rem 1.25rem; border-right: none !important; }
  .team-card::after { font-size: 5rem !important; }
  .team-name { font-size: 1.15rem; }
  .team-spacer { display: none !important; }
  .collective { grid-template-columns: 1fr !important; padding: 3rem 1.25rem !important; }
  .collective-title { font-size: clamp(36px, 11vw, 56px) !important; }
}
@media (max-width: 420px) {
  .team-grid { grid-template-columns: 1fr !important; }
}

/* ── CONTACT PAGE ── */
@media (max-width: 768px) {
  .contact-layout { grid-template-columns: 1fr !important; min-height: auto !important; }
  .contact-left { position: relative !important; top: 0 !important; height: auto !important; padding: 3.5rem 1.25rem !important; }
  .cl-title { font-size: clamp(44px, 13vw, 72px) !important; }
  .contact-right { padding: 3rem 1.25rem !important; border-left: none !important; border-top: 1px solid var(--border-light); }
  .form-row { grid-template-columns: 1fr !important; }
  .form-submit { flex-direction: column-reverse; align-items: flex-start; }
}